CV算法:立体照片(Stereo)

参考资料:
Lecture 08: Introduction to Stereo
Lecture 09: Stereo Algorithms

  • 立体视觉

通过多个摄像头同时拍出来的照片算出深度

  • 投影(眼镜/摄像头是怎么拍照的)

CV算法:立体照片(Stereo)_第1张图片
  • 为什么需要多个摄像头(眼睛)

CV算法:立体照片(Stereo)_第2张图片

CV算法:立体照片(Stereo)_第3张图片

CV算法:立体照片(Stereo)_第4张图片
  • 视差

不同深度的点显示起来不同,近的点显示起来比较大


CV算法:立体照片(Stereo)_第5张图片

  • 简单的深度视觉系统

两个摄像头只是在x轴方向有了偏差


CV算法:立体照片(Stereo)_第6张图片

计算得到点(X,Y,Z)在左摄像头的照片的坐标


CV算法:立体照片(Stereo)_第7张图片

trick:摄像头右移后拍照得到点坐标,相当于左摄像头对点左移后的拍照得到的坐标,后面只要计算点(X-Tx, Y, Z)在左摄像头照片的坐标即可。
CV算法:立体照片(Stereo)_第8张图片

CV算法:立体照片(Stereo)_第9张图片

现在我们得到左右摄像头各自的图像,可以计算同一个点在两幅图片中的差距,然后可以得到深度信息。


CV算法:立体照片(Stereo)_第10张图片

显示中的点在图片中移动距离越大,说明该点越近。
CV算法:立体照片(Stereo)_第11张图片

CV算法:立体照片(Stereo)_第12张图片
  • 例子

CV算法:立体照片(Stereo)_第13张图片
  • 算法

确定左右图对应点(用前面介绍过的SSD或者NCC),然后计算x坐标的差距,深度跟这个距离成反比。


CV算法:立体照片(Stereo)_第14张图片

idea:SSD或者NCC实际上可以在左图确定的点后加上一定范围查找就可以,不同查找整幅图片。ppt说的比较理想,因为两个摄像头是平行的,所以两个对应的点理论上应该是在同一条直线上的。


CV算法:立体照片(Stereo)_第15张图片

CV算法:立体照片(Stereo)_第16张图片

  • 实际计算结果

  1. 由于镜头左右的原因,边缘有些点是没有匹配的。
  2. 还是镜头的原因,遮挡了一些。


    CV算法:立体照片(Stereo)_第17张图片

    CV算法:立体照片(Stereo)_第18张图片

计算的时候,块太大平滑,但是细节不好。


CV算法:立体照片(Stereo)_第19张图片
  • 强制同一条线的点对应的也是另外一条线

幻灯片后面主要是针对更好地对对齐和遮挡进行优化,可能读论文更加明白一些,看不明白,暂时先这样吧。

你可能感兴趣的:(CV算法:立体照片(Stereo))