分享

多视角几何6-相机矩阵的计算-径向扭曲

 SLAM之路 2022-04-24
6.4 径向扭曲
前文章节中均假设,线性模型是图像成像过程的准确模型。因此,世界点、图像点、光心是共线的,3D直线成像后仍为直线等等。对于真实透镜(非针孔相机),这种假设不再成立。最主要的偏差在于径向扭曲。实际中,这种误差会随透镜焦距减小而影响增大,如图所示。
这种扭曲的修正办法是,修正图像测量使其转为满足完美线性相机作用下的测量。那么相机被有效地转为线性装置。这个过程如图所示。这种修正必须在投影过程中正确的位置进行。根据(5.2),透镜扭曲发生在世界到图像平面初始投影过程中。因此,标定矩阵(6.6)体现出图像中仿射坐标的选择,它把图像平面中物理位置转为像素坐标。
我们定义在理想针孔相机投影下点的图像坐标是(,),以焦距的单位测量。因此,对于点X,根据(6.5)我们有,
其中Xcam是相机坐标系下3D点坐标,它与世界坐标系的关系有(6.6)确定。真实投影点与理想点相差径向位移。因此,径向扭曲可以建模为,(6.7)
其中,
(,)是理想图像位置;
(xd,yd)是真实图像位置,即在径向扭曲后;
是到径向扭曲中心的距离
L()是扭曲系数,它仅是半径的函数;
扭曲修正.在像素坐标下,修正可写为,
其中(x,y)是测量坐标,(,)是修正坐标,(xc,yc)是径向扭曲中心,r2=(x-xc)2+(y-yc)2。注:如果长宽比不是1,那么计算r时必须对它修正是必要的。通过这种修正,坐标(,)通过线性射影变换与3D世界点坐标产生关联。
扭曲函数和中心的选择.函数L(r)仅定义在r为正值和L(0)=1的情况下。任意函数L(r)的近似可根据泰勒展开得到,L(r)=1+k1r+k2r2+k3r3+......。径向修正的系数{k1k2k3,......,xc,yc}视为相机内参的一部分。主点通常用作径向修正的中心尽管可能不是完全重合。这种修正,与相机标定矩阵一起,确定了从图像点到相机坐标系的射线的映射。
计算扭曲函数.函数L(r)可通过最小化一个基于映射的线性偏差的损失函数来计算。例如算法7.1通过最小化标定物体的图像几何误差估计P。扭曲函数是成像过程的一部分,把参数ki和P一起在几何误差的最小化迭代中计算。类似地,当估计标定表格与它的图像间单应时计算扭曲函数。
通常比较普遍且简单的方法时,通过要求直线的图像是直线来确定L(r)。损失函数定义在通过L(r)修正后正确映射的图像直线上。这种损失在扭曲函数整个参数ki和径向扭曲中心上迭代最小化。这对城市景物图像上是一种实用方法,因为通常会有大量直线可以使用。由于场景可提供给标定对象,因此无需要求特定标定对象,是其优势。
例6.3 径向修正. 通过最小化基于直线图像的直线度损失函数计算图中图像的函数L(r)。图像是640×480像素,修正参数和中心计算为k1=0.103698,k2=0.0487908,k3=0.00116849,k4=0.000841614,xc=321.87,yc=241.18像素,其中像素由图像一半大小的像素的平均归一化。图像外围矫正达30个像素。如图所示。
在径向扭曲的矫正中,通常不需要实际地对图像进行形变插补。测量可以在原图像中进行,例如特征角的位置,而是只须把测量按(6.7)映射。关于特征应该在什么地方测量的问题没有一个肯定答案。形变插补图像会使噪声模型失真而且有可能引入混频效应。因为这个原因,通常首先在未插补的图像上进行特征检测。但是,特征群组合,例如链接边界点行程直线元素,最好在插补后进行,因为原图的线性度阈值很可能会过大。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多