极线几何(Epipolar Geometry)
一张很不错的图来解释极线:
两个成像平面l、l’,o和o’是对应的相机位置,e和e’是两相机连线在成像平面上的交点。
左边l上的点x对应3D空间里ox射线上某一点,由于ox射线在右边l’上的投影对应e’x’射线(是射线不是线段),因此点x一定能匹配上e’x’上的一点。
对于l面上的点x来说,e’x’就是它在l’上的极线。反之亦然,在l’上的点x’也会对应l上的一条线。
对于两个有夹角的像面而言,不同极线非平行,交汇于点e’,e’可能在成像平面中也可能不在:
比如上图这两个花瓶,e就在图像外
平行相机的情况
对于两个(or多个)平行相机(平行像面),或者一段平行移动视频中的两帧(or多帧),就变成了下图的情况:
再来一张图:
这种情况下,极点e无穷远,极线变成了平行线。做点匹配的时候,一般都需要先想办法把图像校正对齐一下,让极线水平,然后再沿极线搜索匹配点。
EPI (极线平面图像,Epipolar Plane Images)
终于到正题了,写这篇的主要原因是一开始没弄明白EPI怎么来的。平常看到的EPI图一般是这样的:
【翻译一下】: 在图像平面Π上,每个相机位置(s∗,t∗)产生场景的不同针孔视角。通过固定图像平面中具有常量y∗的水平线和常量相机坐标t∗,可以在(x,s)坐标中获得一个极线平面图像(EPI)。由于s坐标和x坐标之间具有线性对应关系,场景中的点P在EPI中被投影到一条直线上。
有点看不懂,那么从直观上怎么理解呢?
看这个图:
图里的t对应上一节<平行相机的情况>里面第二张图的t,即视频中不同的(连续的)帧,或者说不同的(相邻的)平行相机,上图这个长方体就是把不同相机的图像沿t的方向叠起来。
可以看到,这个长方体的水平横截面(顶面)就是EPI,对于任一张EPI图像,每一行对应一个相机的一条极线,行数对应相机数量,EPI的一堆斜线就是点在不同相机上的位置的叠加,斜率越小则表示物体在像平面上的位置变化越大。很容易理解,在相机移动的过程中,离相机越近的物体在像平面上的位置变化越大。由此我们就可以得到一条极线上各点的相对深度。
另外有一个很有意思的补充点,上面这个长方体的侧面是由所有相机的最边缘一列拼接而成的,这些边缘列组成了另一张图(暂且称之为边缘扩展图,该图其实是原图的一部分),可以一定程度上表示相机的移动情况,同样如果按侧面的方向做截面,也会得到不同位置的边缘扩展图。
图片来源:学校讲义 & youTube视频
本篇原创,转载请引用,有错误欢迎指出,问题可以留言~