我想创建一个管内部的3D重建。大多数3D重建从物体周围的不同角度捕获许多图片。然而,在我的项目中,我有单眼视觉,一个只能前进的相机。我想将此视频从一台摄像机转换为周围环境的3D模型。模型不需要是颜色或非常精确 - 网格模型就足够了。目前,我使用的是VisualSfM,这是一个很棒的工具。
我的设置: 我卷了一个瑜伽垫,形成一个长长的暗管。接下来,我将一个网络摄像头和一个手电筒连在一根棍子的一端。我将这个组件移动到我的管的一端并记录20秒的视频,慢慢地将相机/手电筒单元推入管中。然后我使用Matlab将视频分割成图像帧以获得大约200张图片。我将这些图片上传到Visual SfM并使用成对序列匹配并继续进行稀疏然后密集的重建。
目前,我使用的是VisualSfM,这是一个很棒的工具。问题在于,由于灯随着相机移动,每个帧具有相同的照明并且看起来相同。 VisualSfM知道相机正在移动(如图所示),但堆叠点云使其看起来像2D。我希望它能形成一个空心圆柱体。
有没有人有关于如何解决这个问题的想法?我是否需要更改VisualSfM中的任何参数?如果是这样的话?
如果你可以使用OpenCV来做,我也愿意接受这方面的建议。