我们知道图像测试卡是用于检测摄像头性能参数的,在检测时需要配套使用的软件去进行软件分析,在所有的摄像头测试分析软件中,最有名的莫过于Imatest软件了,这款软件是全英文界面,所以对于一些用户使用起来不是很友好,国内相似的有iqstest软件,这款软件测试各种摄像头的性能参数教程已经有很多相关的页面进行了教程式的应用介绍,使用起来也是很方便。但是对Imatest软件本站还是没有多少涉及,所以接下来就为大家介绍下imatest软件校正畸变。
对Imatest软件有足够的使用经验人士都知道,在Imatest软件分析数据结果,我们可以使用有一些数据用于校正图像畸变的。即你得到了Imatest的这些参数就可以纠正畸变,从而减少它们对图像造成的影响。这种过程在相机中通常是通过ISP完成的,即从原始传感器数据RAW转换成一幅合适的图片。所以理论上,我们今天所讲的这种方式是切实可用的,那么现在我们就开始介绍从Imatest中提取径向畸变的测量数据,从而可以将它们用于校正相机的畸变。
使用Imatest进行畸变校正
首先我们需要先了解什么是径向几何失真和Imatest软件中的畸变系数。对于几何失真,是用来描述图像的扭曲形状与相机真正遵循一个简单的针孔相机模型成像情况进行对比。最明显的效果是场景中的直线弯曲成图像中的曲线,它有着部分畸变。注意,我们不是在这里谈论透视失真。虽然我们不希望镜头存在几何失真,但有时候我们也会因为特殊需要的艺术效果而去选择曲线镜头,或使用广角镜头时忽略畸变。然而,大多数用户对每天看到的图片的畸变程度,主观接受的程度是有限的,所以畸变可以存在,但不能无限制的存在。例如特征化的几何失真是许多场景所需要的,比如在三维空间中定位一个点,对于计算机或交多张图像拼接在一起的VR应用等等,都需要准确的校正。这种几何失真几乎总是由于镜头的设计和结构带来的,它通常被建模为(1)纯径向和(2)径向对称。
纯径向畸变意味着无论在像场中的哪一个点,唯一决定畸变的因素是,它离图像的中心有多远。注意,为了更容易理解,我们假设图像的中心就是系统的光学中心。假设图像的几何失真是径向以降低问题的复杂性。因为无需考虑二维图像的两个维度(x和y表示在每个像素的位置),我们只需要确定一个维度(半径方向的位移)。通过Imatest软件中使用的SFRPlus模块,Checkboard模块,或Dot Pattern模块,Imatest软件可以从一幅拍摄过的测试卡图片来测量相机系统的径向失真。
Imatest软件可以返回两种不同类型径向畸变的描述。这两种畸变都是用多项式近似的失真函数描述的,但这两个多项式代表不同的东西。在许多情况下,它们在功能上是相同的,并且可以从一种形式转换为另一种形式。同理,在此我们忽略了Imatest提供和标注的tan/arctan逼近值。我们作如下定义:
rd是一个点的畸变半径,也就是它到图像中心的距离
ru是一个点未畸变的半径,在未畸变的图像中它到图像中心的距离
函数rd=f(ru)被称为正向变换因为它采用了一个未畸变的半径值,并把它转 化为一个畸变的半径。也就是说,它适用于镜头发生畸变的点。
函数ru=f−1(rd)被称为反向变换,是为了与正向变换进行对比,它校正了镜 头的畸变值
P(⋅)表示一个多项式函数
SFRplus模块和Checkboard模块会返回描述纠正畸变的反向变换后的畸变系数,ru=f-1(rd),下方为Rescharts模块的分析结果:
Imatest畸变分析结果
Dot Pattern模块返回一个不同参数的径向畸变的多项式的系数,称为局部几何失真(LGD)。以下是基于ISO 17850和CPIQ标准给出的测试结果。
基于CPIQ的畸变分析结果
LGD被定义为相对于真实误差的径向误差,为百分比。LGD=100*(rd-ru)/ru,通过将LGD考虑为一个相对畸变图像半径的多项式函数,P(rd),我们可以重新安排这个方程式的两边产生更有用的方程,有理多项式的畸变校正反向变换形式。因此,点状图结果可以向SFRplus/Checkboard那样用同样的方法。
ru=rd/(P(rd)/100+1)=f-1(rd)
通过再采样畸变校正
图像传感器的像素阵列基本上是一个规则间隔的网格光照取样。当光落在上面的模式时,光线就已经被镜头扭曲了,所以当传感器定期地对光进行采样时,这些光就不是有效的光照样本了。所以为了能够得到相应的有效样本,可以采用以下方法:
创建一个无失真、规则、有间隔的网格。在每一个“虚拟传感器”像素的位置,重新进行采样图像数据,并且在该图像中这个位置,传感器像素已经进行了失真预测。由于畸变图像被用网格重新采样,所以它会经历了相同的畸变,但采样结果会再次有规律的展现间隔,有效地消除失真。每个上层的网格线的交点代表了我们生成的像素位置在未畸变图像中。我们在此已经通过减少了“像素”来增加易读性。图像的下部代表畸变图像,当网格被扭曲后,采样网格覆盖在其上。上面的规则间隔的阵列位置将被用从下方畸变图像的不规则采样数据填充,如本文第一张图所示的扭曲的网格交点位置。如此我们就可以通过imatest软件对畸变进行校正,虽然当中有一些理论上的假设条件,但根据经验来说,这种校准畸变的方式是有效的。