【问题标题】:Lane tracking with a camera: how to get distance from camera to the lane?使用摄像头进行车道跟踪:如何获得从摄像头到车道的距离?
【发布时间】:2021-02-18 14:32:35
【问题描述】:

我正在做最后一年的项目,即使用摄像头进行车道跟踪。现在最具挑战性的任务是如何测量摄像头(实际搭载摄像头的汽车)与车道之间的距离。

虽然车道很容易识别(霍夫线变换),但我找不到测量距离的方法。

鉴于有一种方法可以根据对象的像素宽度来测量到相机前方对象的距离,但它在这里不起作用,因为线的最近点在相机中是盲点。

【问题讨论】:

    标签: opencv image-processing computer-vision edge-detection hough-transform


    【解决方案1】:

    你想要的是直接用单目相机推断深度图。 你可以参考我的回答here https://stackoverflow.com/a/64687551/11530294


    通常,我们需要从世界不同位置进行光度测量,以形成对世界的几何理解(也称为深度图)。对于单个图像,无法测量几何,但可以通过先前的理解推断深度。

    一种方法是使用基于深度学习的方法来直接推断深度。通常,基于深度学习的方法都是基于python的,所以如果你只熟悉python,那么这就是你应该选择的方法。如果图像足够小,我认为 实时 性能是可能的。使用 CAFFE、TF、TORCH 等的此类工作有很多。您可以在 git hub 上搜索更多选项。我这里贴的是我最近用的那个

    参考: 戈达尔、克莱门特等人。 “深入研究自我监督的单目深度估计。” IEEE 计算机视觉国际会议论文集。 2019.

    源码:https://github.com/nianticlabs/monodepth2

    另一种方式是使用一个大的 FOV 视频来实现一个基于相机的 SLAM。这个有很多限制,比如需要好的特征、大 FOV、慢动作等。你可以找到很多这样的工作,比如 DTAM、LSDSLAM、DSO 等。还有一些来自 HKUST 或 ETH 的其他软件包可以做到给定位置的映射(例如,如果您有 GPS/指南针),一些著名的名称是 REMODE+SVO open_quadtree_mapping 等。

    基于单个摄像头的 SLAM 的一个典型示例是 LSDSLAM。这是一个实时 SLAM。

    这个是基于 ROS-C++ 实现的,我记得他们确实发布了深度图像。并且可以编写python节点直接订阅深度或者全局优化点云,投影到任意视角的深度图上。

    参考:Engel、Jakob、Thomas Schöps 和 Daniel Cremers。 “LSD-SLAM:大规模直接单目 SLAM。”欧洲计算机视觉会议。 Springer, Cham,2014 年。

    源代码:https://github.com/tum-vision/lsd_slam

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多