双目立体匹配中的核线约束[极线约束]
Posted 李迎松~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双目立体匹配中的核线约束[极线约束]相关的知识,希望对你有一定的参考价值。
双目立体匹配在寻找同名点的过程中,若没有任何先验约束,则对左影像每个像素,需要在右影像全图空间中进行搜索,这种暴力搜索方法不仅效率非常低,而且很容易由于各种因素(如弱纹理、重复纹理等)搜索到错误的对应点,而利用核线几何约束则是减小搜索范围,提高匹配效率且降低错误匹配的一种有效方法。在摄影测量中,核线是核平面与两张影像的交线,核平面是物方点与两个相机中心共同所在的平面,而核线约束描述的是物方点在两张影像上的投影像点一定在同一个核平面上,进而可以推导出,左影像上每个像素点在右影像上的同名点一定在该像点所在核平面与右影像的交线(即核线)上。核线约束将原先二维的搜索空间缩小至一维的核线空间,大大的减小了搜索范围,是提高匹配效率的十分有效的约束。核线约束的描述如图1所示。
图1 核线约束示意图
从图1还可以看到,在左影像中同一个核面相交的核线上所有像素都对应右影像上同一条核线,形成以核线为单位的对应关系,如果能够找出所有的对应核线对,那么匹配将变得更加方便,双目立体视觉中通过核线纠正来完成这一步骤,通过标定好的相机参数,将影像投影至与基线平行的平面上,让两个相机的主光轴相互平行,使得核平面与两张影像的交线位于同一个扫描行,这样同一核线对位于两张影像的同一行,即同名点对的行号一定相等,只存在列号的差异。图2为核线纠正的示意图。
图2 核线纠正示意图
核线纠正之后的图像同名点只存在列号的差异,这种差异就称为视差(严谨来说是列方向视差,因为行方向视差通过纠正消除,所以对于核线像对,视差就指列方向视差),具体来说,视差等于同名点在左影像上的列号减去在右影像上的列号。在核线纠正后,相机坐标系的X轴与基线平行,Z轴与像平面垂直,如图3所示,
图3 深度与视差
通过三角形POlOr和Ppp’相似可以得到
式1 深度与视差
进而推导出
式2 深度与视差2
式2中,f为相机焦距(或主距),d为视差。式2描述的是深度与视差之间的关系。在双目立体匹配中视差图和深度图都可以作为匹配的结果,视差图总保存每个像素的视差值,是立体匹配算法中最常用的输出方式。图4是航空影像与近景影像的双目立体核线像对及视差图示意图,图中航空影像视差图为立体匹配算法所得,近景影像视差图为真实视差图。
图4 航空影像与近景影像的视差图示意图
恒叨立码之立体匹配 SGM
理论恒叨系列
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI))
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(2)匹配代价计算之Census变换
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(3)代价聚合(Cost Aggregation)
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(4)视差计算、视差优化
码上教学系列
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(1)框架与类设计
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(2)代价计算
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(3)代价聚合
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(4)代价聚合2
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(5)视差优化
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(6)视差填充
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(7)弱纹理优化
恒叨立码之立体匹配 -- PatchMatch PatchMatch
理论恒叨系列
【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (1)Slanted support windows倾斜支持窗模型
【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (2)基于PatchMatch的视差估计
【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (3)后处理(一致性检查与视差填充)
以上是关于双目立体匹配中的核线约束[极线约束]的主要内容,如果未能解决你的问题,请参考以下文章