![45f0a2b85b6375ab766f3133ff23adb3.png](https://img-blog.csdnimg.cn/img_convert/45f0a2b85b6375ab766f3133ff23adb3.png)
单幅图像中的像素,只能提供物体与相机程序屏幕的角度及物体采集到的亮度,而无法提供物体的距离(Range)。在稠密重建中,需要知道每一个像素点(或)大部分像素点的距离。
大致解决方案:
- 使用单目相机,通过移动相机之后进行三角化测量像素的距离。
- 使用双目相机,利用左右目的视差计算像素的距离(多目原理相同)。
- 使用RGB-D相机直接获得像素距离。
前两种方式称为立体视觉(Stereo Vision),其中移动单目的又称为移动视角的立体视觉(Moving View Stereo)。
单目和双目对深度的获取局限:(费力不讨好)
- 需要花费大量的计算,最好得到一些不怎么可靠的深度估计。
RGB-D局限:
- 量程、应用范围和光照的限制。
相比单目、双目的结果,使用RGB-D进行稠密重建往往是更常见的选择。而单目和双目的优势:目前RGB-D还无法很好应用的室外、大场景场合中,仍能通过立体视觉估计深度信息。
单目的稠密估计
在给定相机轨迹的基础上,如何根据一段视觉的视频序列来估计某幅图像的深度。不考虑SLAM,先来考虑略为简单的建图问题。
假定有一段视频序列,通过视觉里程计前端估计得到了每一帧对应的轨迹。以第一幅图像为参考帧,计算参考帧中每一个像素的深度。
特征点计算深度的方式:
- 对图像提取特征,根据描述子计算了特征之间的匹配。通过特征,对某一空间点进行跟踪,知道它在各个图像之间的位置。
- 由于无法仅用一张图像确定特征点的位置,必须通过不同视角下的观测估计它的深度,原理即三角测量。
在稠密深度图估计中,无法把每个像素都当作特征点计算描述子。稠密深度估计中,匹配就称为很重要的一环:如何确定第一幅图的某个像素出现在其他图里的位置呢?这需要用到极线搜索和块匹配技术。然后,知道了某个像素在各个图中的位置,就能像特征点那样,利用三角测量确定它的深度。不过,要使用很多次三角测量让深度估计收敛,而不仅是一次。我们希望深度估计能够随着测量的增加从一个非常不确定的量,逐渐收敛到一个稳定值。这就是深度滤波器技术。
极线搜索与块匹配
不同视角下观测同一个点产生的几何关系。
![c3623af397ffab7d60063c61dcc9507d.png](https://img-blog.csdnimg.cn/img_convert/c3623af397ffab7d60063c61dcc9507d.png)
左边的相机观测到了某个像素