通常,我们需要一个光度测定从世界的不同位置进行测量以形成几何的对世界的理解(又名深度图)。对于单个图像,无法测量几何形状,但可以从先前的理解中推断出深度。
One way要使单个图像发挥作用,就是使用基于深度学习的方法来直接推断深度。通常,基于深度学习的方法都是基于Python的,所以如果你只熟悉python,那么这就是您应该采用的方法。如果图像足够小,我认为这是可能的realtime表现。使用 CAFFE、TF、TORCH 等的此类工作有很多。您可以在 git hub 上搜索更多选项。我在这里发布的是我最近使用的
参考:
戈达尔、克莱门特等人。 “深入研究自监督单目深度估计。” IEEE 计算机视觉国际会议论文集。 2019.
源代码:https://github.com/nianticlabs/monodepth2 https://github.com/nianticlabs/monodepth2
另一种方法就是使用大FOV视频进行基于单相机的SLAM。这个有各种限制,例如需要良好的功能、大视场、慢动作等。您可以找到许多这样的工作,例如 DTAM、LSDSLAM、DSO 等。还有一些来自 HKUST 或 ETH 的其他软件包可以完成这些工作给定位置的映射(例如,如果您有 GPS/指南针),一些著名的名称是 REMODE+SVO open_quadtree_mapping 等。
基于单摄像头的 SLAM 的一个典型示例是 LSDSLAM。它是一个realtime SLAM.
这个是基于ROS-C++实现的,我记得他们确实发布了深度图。你可以写一个python节点直接订阅深度或者全局优化的点云并将其投影成任意视角的深度图。
参考文献:Engel、Jakob、Thomas Schöps 和 Daniel Cremers。 “LSD-SLAM:大规模直接单目 SLAM。”欧洲计算机视觉会议。施普林格,查姆,2014。
源代码:https://github.com/tum-vision/lsd_slam https://github.com/tum-vision/lsd_slam