深度相机之双目成像
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
文章导读
本文通过介绍双目立体视觉的成像过程,带大家了解双目视觉如何从两个不同视角的成像平面中恢复出物体三维几何信息,重建周围景物的三维形状与位置。
在说双目视觉之前,我们先聊一下单目成像过程,最简单的单目成像是基于小孔成像的原理,三维空间中的点经过透视投影过程映射到图像平面上,如此一来在透视线上的空间点都落在像平面上的同一点处,所以普遍认为单目相机缺乏深度信息无法测距。(这里仅从成像原理出发,当然现实中借助外界约束有很多单目测距的方法)
而双目相机利用视差原理从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差来恢复出物体三维几何信息。
双目的核心在于建立两个图像中特征之间的对应关系,将三维空间中同一目标点在不同视图的成像点关联起来,然后计算它们之间的差别,最后通过视差和距离的几何关系得到深度图。
双目立体视觉的具体步骤如下:
对双目相机进行标定得到内外参数和单应性矩阵
通过内参做畸变校正并用单应矩阵将两张图片转换到同一平面
对校正后的两张图片根据极线约束进行像素配准
根据配准结构计算每个像素的深度从而获得深度图
输入左右两个视角的自行车图像:
输出自行车的深度图信息:
到底什么是视差、极点、极线、极平面、极线约束等等?
在谈到双目成像时,首先出现的一个概念就是视差,网上有人用过一个很简单的形式来描述视差,即将人眼想象成双目相机,竖起一根手指放在前方作为目标,分别闭上左眼或右眼去观察目标,我们发现目标在不同成像平面中的位置移动了,这个像素位置的差异值就是视差。
在上面这张图中,左右两幅图分别表示左右相机的成像平面,假设一个目标在左视图的成像点落在第二列蓝色区域,在右视图的成像点落在第五列蓝色区域,视差值即为3。
这里小伙伴会问为什么在计算视差值的时候,目标在左右视图中的匹配点所在行相同呢?
其实在计算视差图之前,存在一个重要的操作即图像校正:包括畸变校正和立体校正两个过程。图像的畸变校正我们都很熟悉了,有兴趣的童鞋可以翻翻小编之前的文章,有一篇线性相机模型中进行了描述。通过张正友标定法计算出相机的4个内参fx,fy,cx,cy和5个畸变系数k1,k2,k3,p1,p2,进一步解决相机的枕形畸变和桶形畸变。
立体校正的过程是利用两颗相机之间的外参即旋转平移矩阵以及透视投影矩阵,对两幅图像进行极线校正,将图象平面重投影到平行于光心线的公共平面上,如下图所示,将原始的灰色像平面纠正到黄色位置。
接下来我们从下图解释一下极点、极线、极平面的概念,假设空间一点P投影到左视图像平面上,成像点PL;投影到右视图像平面上,成像点PR。两个相机光心的连线CL-CR与像平面的交点eL和eR称为极点。物点P与左右相机光心CL、CR组成的平面称为极平面。而极平面与相机的像平面交线称为极线。
上图中还有一个规律,我们发现不同距离处的三维空间点P,P1,P2,P3投影到左视图成像点PL上,在右视图搜索相对应的匹配点时,它们均落在红色直线上(极线)。所以当我们做左右视图的匹配时,是否可以利用这一规律呢?
在图像匹配的过程中,如何找到两幅图像的对应关系?
最直接的做法就是逐点匹配,但是从一副图像中逐个像素点的搜索,不仅耗时巨大而且匹配精度不高。为了降低匹配的难度,提供匹配的速度和精度,通常会增加一些约束条件,比如极线约束、相似性约束、左右一致性约束等。其中极线约束最为常见,它是指三维空间中一点P,当投影到左视图P’位置后,必然能在右视图的极线上匹配到该点。该约束将二维空间中的逐点搜索降维到一维直线上的搜索,减少了算法耗时并提高匹配精度。
我们先来看一种理想的情况,左右相机内参相同且像平面共面,如下图所示:
在这种情况下,做图像特征匹配时,只需要将左视图中的像素点,沿着水平方向在右视图的极线上搜索对应点即可。
但是实际情况下左右相机内参不同且像平面不共面,如下图所示:
上文中提到的立体校正就是应用在此处,为了使同一特征点位于左右相机两张图像水平方向的同一条直线上。也就是把实际情况下非共面行对齐的两幅图像校正成共面行对齐。
那么极线和视差是否存在某种关系呢?
假设左右两个相机的焦距相同,极线和光轴均平行。左右视角同时看到两个目标P1和P2,其中XR1和XT1分别是P1点落在左右两幅图中的位置,即P1在左右相机的视差为|XR1-XT1|;XR2和XT2分别是P2点落在左右两幅图中的位置,即P2在左右相机的视差为|XR2-XT2|。所以移动三维空间中的一点P,其在左右相机中的位置也会发生变化,从而视差发生变化。如下图所示:
根据三角形相似性原理可以得到Z=b * f / d,Z表示目标的距离,b是基线,f是焦距,d是视差,可以看出视差与三维空间上的点到投影中心平面的距离成反比:距离像平面越近的目标,视差越大;距离像平面越远的目标,视差越小。
双目视觉的本质就是两幅图像特征匹配的过程,虽然技术成熟度很高,但是在哪些情况下仍然存在挑战呢?
物体边缘处的估计
纹理信息单调的场景
缺乏纹理的物体
光照角度强度不同
雨雪天气场景下
夜晚或昏暗场景
在室内场景会遇到白墙,房顶,玻璃等纹理信息单一或缺乏的情况导致图像匹配失败;在室外场景会遇到进出隧道的光照变化,昏暗街道的匹配失败等问题。
来源:CV研习社
本文仅做学术分享,如有侵权,请联系删文。