日期
01/04
2023
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

立体视觉从不同相机视图中的图像得出某个点的世界位置!
收藏
2023-01-04 10:41:40来源: 中国机器视觉网

在现代工业自动化生产过程中,计算机视觉正成为提高生产效率和检查产品质量的关键技术之一,例如机器零件的自动检测,智能机器人控制,生产线的自动监控等。在国防和航空航天领域,计算机视觉还具有更重要的意义,例如自动跟踪和识别运动目标,自动驾驶汽车导航以及太空机器人的视觉控制。

计算机视觉研究的目的是使计算机具有通过二维图像信息识别三维环境信息的能力。这种功能不仅使机器能够感知三维环境中对象的几何信息(例如形状,位置,姿势运动等),而且还可以进一步描述,存储,识别和理解它们,计算机视觉具有开发了一套独立的计算理论和算法。立体视觉的相关内容,即使用多个摄像机视图来获取有关视图深度的信息。使用立体视觉,可以从不同相机视图中的图像得出某个点的世界位置。

立体视觉

双目立体视觉是机器视觉的重要形式。它基于视差原理,并使用成像设备从不同位置获取被测物体的两个图像。

微信图片_20230104102845.png

密集立体视觉拍摄左右两个输入图像,这些图像经过移位和匹配以生成每个像素的深度

结合两个位置获得的图像并观察它们之间的差异,以便获得清晰的深度感,建立特征之间的对应关系,并将同一空间中的相同物理点映射到不同图像中的图像点。这种差异称为视差图。

对极几何

对极几何是相机在两个不同位置生成的两个图像与拍摄位置和生成的图像之间的特殊几何关系。基本几何模型如下所示:

微信图片_20230104102856.png

相机由相机中心C,C'及其各自的成像平面表示。对于任意空间中的点X,两个图像平面上的点分别为x,x'。

微信图片_20230104102900.png

点x向后投射到空间中的三维射线中,该三维射线由相机中心和x确定。将该光线投射到第二个图像平面上,以获得称为对极线的直线l' 。显然突出部X“的X必须是L”。我们也可以绘制连接两个照相机中心位置的线。该线与像平面相交的点称为极点。因为在立体摄像机的情况下,我们有两个摄像机,因此有一个线和两个像平面,所以我们有两个子极。

考虑不经过空间中任何两个摄像机的中心的平面π,并且穿过第一个摄像机的中心C和x的光线在X处与平面π相交,然后将该点投影到点上。第二个图像x',此过程是平面π的平移。

微信图片_20230104102904.png

实际上,所有点xi和对应点x'i的投影在第一张图像上的投影实际上都是等效的,因为它们在投影上都等效于共面点Xi的集合,因此存在2D映射H,每个xi都映射到x'一世 。

推导基本矩阵和基本矩阵

从相机成像的几何描述中,我们可以理解以下公式:

微信图片_20230104131900.png

其中K是相机内部参数,R和t是第一相机的相机坐标系中第二相机的外部参数,Pw是第一相机的坐标系中的点坐标。Z是从空间点到相机光学中心的距离。我们首先定义相机的标准化坐标,如下所示

微信图片_20230104131902.jpg

引入以上定义可以获得:

微信图片_20230104102913.png

同时具有t的外部乘积:

微信图片_20230104102916.png

在两侧同时将x_2乘以左侧:

微信图片_20230104105039.png

在上面的公式中,由于等式t ^ x_2的左侧是垂直于t和x_2的向量,所以x_2的内积将为0,因此上面的公式实际上可以表示为以下形式:

微信图片_20230104102932.png

替换x_1和x_2并重新插入p_ {uv1}和p_ {uv2}得到:

微信图片_20230104102935.png

其中,中间项是基本矩阵,其满足以下条件:

微信图片_20230104102938.png

基本矩阵是基本矩阵的一部分,仅与外部参数有关,也就是说,删除摄像机内部参数,您可以得到:

微信图片_20230104102942.png

基本矩阵的自由度包括三个平移和旋转自由度,加上等价的比例,因此基本矩阵的自由度为5。

因此,至少我们可以使用5对点来求解基本矩阵。但是,由于它们的许多固有属性都是非线性的,因此使用最少的点数求解会比较麻烦,因此通常只考虑比例的等价性,然后使用8对点求解。这也称为八点法。

考虑一对匹配点及其像素坐标。根据极地约束,有:

微信图片_20230104131922.png

展开上面的矩阵并以向量的形式编写它:

微信图片_20230104131925.png

此时,上述极限约束方程可写为:

微信图片_20230104131928.png

将八个点的对极约束放在一起可以得到一个方程组:

微信图片_20230104131930.png

基本矩阵或基本矩阵可以通过求解方程组来求解。

完成上述工作,求解了基本矩阵E之后,可以通过SVD分解获得以下方程式:

微信图片_20230104102958.png

其中U和V是正交矩阵,中间的X是奇异值矩阵。根据E的内在性质,我们通过SVD分解知道,对于任何E,都有两个可能的R和t对应于它。

微信图片_20230104131935.png

其中:

微信图片_20230104131938.jpg

立体声矫正

由于未对准和不同的特性,两个立体摄像机的图像都必须扭曲为极线对齐的新图像。这些新图像称为对证图像。整个过程称为“校正”,然后将图像平面扭曲到共面平行平面上。

微信图片_20230104131940.png

使用校正过程,我们希望使左右摄像机变形,以使图像共面并且内在函数相同。使用单应性,我们可以使用原始图像coodinates来表达这一点:

微信图片_20230104131943.png

因此,现在我们可以提出一个问题:如何获得K ^和R ^。一些好的选择是:

微信图片_20230104131946.png

其中,

微信图片_20230104131949.png

其中rL_3是左摄像机R_L的旋转矩阵的第三列。

视差图

摄像机成像模型如下图所示:

微信图片_20230104131951.png

其中,P是空间点,f是焦距,Cr,Cl是左右摄像机的光学中心。从下图可以看出,左右摄像机的光轴是平行的。Ul和Ur是左图像和右图像平面上两个成像点之间距图像左边缘的距离。

如果已校准两个摄像机,则极线平行,并且两个光轴的方向也平行。

微信图片_20230104131954.png

那么视差与物体深度之间的关系如下:

微信图片_20230104131957.png

由此我们可以得出:

微信图片_20230104131959.png

根据该公式,b和f为常数,Z与ul-ur成反比,即深度越小,视差越大,并且物体的视差越大。这就是为什么视差图中较近的对象更暗的原因。

基本原理是,给定图像上的某个点,在像素附近选择一个子窗口,并根据一定的相似性判断依据,在另一图像的区域中,选择最接近该子窗口的图像。-窗口。

匹配成本的计算是针对左图像和右图像的每个像素。可以认为一个功能

微信图片_20230104132003.png

定义了用于处理左右图像中匹配像素的方法,其中d = ul-ur是我们定义的最小视差范围:

微信图片_20230104132005.png

如果对每个像素都这样做,可以得到最终的视差图,但是最终的视差图的效果很差。点之间的匹配容易受到噪声的影响,因此需要在点周围建立一个窗口进行比较像素块,这绝对是更可靠的。

只要包含足够的纹理,此方法就可以很好地工作。如果纹理不足,则两者之间的相似性差异不会有太大差异,并且无法识别出单个匹配点。但是,这是一个解决方案。只要没有足够的纹理,我们就可以扩大直到有纹理。

(文章来源于网络,如有侵权,请联系删文)