实验要求:
- 从理论角度,分析以窗口代价计算视差的原理
- 实现NCC 视差匹配方法,即给定左右两张视图,根据NCC计算视差图
- 分析不同窗口值对匹配结果的影响,重点考查那些点(或者哪些类型的点)在不同窗口大小下的匹配精度影响
文章目录
1. 实验原理
立体视觉( StereoVision)是一个多视图成像的特殊例子。人之所以可以看到世界是得益于我们的视觉系统。我们要想让机器人跟人一样可以分辨物体,那我们需要给机器人的不仅是1.能够识别物体的系统,且这种系统要2.能够判断出障碍物距离有多远。
立体视觉通过将图像扭曲到公共的平面上,使外极线位于图像行上,最后任何立体照相机设置都能得到矫正(我们通常构建立体平台来产生经过矫正的图像对)。
1.1 立体图像
立体视觉,即使用两台只有水平(向一侧)偏移的照相机观测同一场景。当照相机的位置如上设置,两幅图像具有相同的图像平面,图像的行是垂直对齐的,那么称图像对是经过矫正的。该设置在机器人学中很常见,常被称为立体平台。
假设两幅图像经过了矫正,那么对应点的寻找限制在图像的同一行上。一旦找到对应点,由于深度是和偏移成正比的,那么深度(Z 坐标)可以直接由水平偏移来计算,
其中,f 是经过矫正图像的焦距,b 是两个照相机中心之间的距离,xl 和 xr 是左右两幅图像中对应点的 x 坐标。分开照相机中心的距离称为基线。
立体重建(致密深度重建)就是恢复深度图(视差图),图像中每个像素的深度(视差)都需要计算出来。
1.2 计算视差图
在基于归一化互相关的立体重建算法(NCC)中,会对于每