有没有办法在python/opencv中从单摄像机视频生成实时深度图?

2024-06-01 09:50:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将单个图像转换为它的depthmap,但我找不到任何有用的教程或文档

我想使用opencv,但是如果你知道一种使用tensorflow获得深度贴图的方法,我很乐意听到

有很多立体视觉教程,但我想让它更便宜,因为它是一个项目,以帮助盲人

我目前正在使用esp32 cam逐帧流式传输,并使用opencv在python上接收图像


Tags: 项目方法文档图像tensorflow流式教程视觉
1条回答
网友
1楼 · 发布于 2024-06-01 09:50:02

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

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

enter image description here

参考: 挖掘自我监督单目深度估计〉,《IEEE国际计算机视觉会议论文集》。2019.

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

另一种方法是使用大视场视频进行基于单摄像机的SLAM。这一个有各种限制,如需要良好的功能、大视场、慢动作等。你可以找到许多这方面的工作,如DTAM、LSDSLAM、DSO等。科大或ETH还有一些其他软件包,它们根据给定的位置进行地图绘制(例如,如果你有GPS/指南针),一些著名的名字是REMODE+SVO开放四叉树映射等

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

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

enter image description here

参考文献:恩格尔、雅各布、托马斯·舍普斯和丹尼尔·克雷默斯。“LSD-SLAM:大规模直接单目SLAM”,《欧洲计算机视觉会议》。斯普林格,湛,2014年

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

相关问题 更多 >