单目摄像机线性模型可靠性分析与研究

2019-04-26 01:43贾星伟殷晨晖隋国荣
光学仪器 2019年1期
关键词:针孔畸变摄像机

贾星伟,殷晨晖,隋国荣

(上海理工大学 光电信息与计算机工程学院,上海 200093)

引 言

工程测量学作为一门古老的学科,集光学、电子学、传感器、图像、制造及计算机等技术为一体,应用于人类生活、生产和科研等各个领域[1]。经济社会的进步促进了测量技术的发展,同时对测量技术提出了更高的要求。20世纪80年代以来,现代工业生产利用计算机视觉进行的非接触式测量成为一种新兴的测量技术[2]。计算机视觉的主要任务是根据二维图像信息获得实际三维场景中物体的空间位置、形状等几何信息[3],从而进行物体识别与重建等。其关键是对该系统建模,找到图像与物体的映射关系,精准的视觉测量建立在精确的映射关系的基础之上[4-5]。

摄像机成像系统是较为复杂的光学系统。摄像机模型是光学几何关系的简化,最简单的模型为针孔模型[6],是一种理想的近似模型,由三维空间到平面的中心投影变换所给出[3]。其他如Martins等[7]提出的双平面摄像机模型,不要求光线必须经过光心,可利用任一图像点计算出两标定平面上的对应点,进而确定产生该图像点的光线。针孔线性模型由射影几何得来,自摄影测量学兴起时一直沿用至今[8],计算机视觉在工业自动化检测、遥感图像分析、医学图像处理等领域越来越广泛的应用[9-11]普遍使用针孔模型作为理论基础。航空摄像机获取遥感图像实现目标定位,根据直线透视投影不变性,在针孔成像模型的基础上进行几何畸变自动校正[12],能够准确校正图像变形,在2500 m高空作业时均方根误差约为2 m。在大视场的双目视觉测量系统中,由单目针孔模型结合两台摄像机的成像原理,构建系统模型参数,利用空间平行线及垂直线求解约束方程,实现系统的标定,避免了对标定物的依赖,平均标定误差为0.51%[13]。进行大型工件三维尺寸检测时,采用全线性标定方法,使用多个CCD摄像机(多于60个),并假设成像模型为针孔模型且不考虑畸变,对白车身(测量范围为6 m左右)进行测量,误差优于0.05 mm[14]。高精度的摄像机标定过程中,首先结合理想的针孔模型及透镜畸变模型建立实际的摄像机模型,考虑图像中心畸变小的问题,利用中心区域数据初步计算部分参数,再代入综合模型逼近精确解,此方法重复性好,平均像素误差仅为0.114 9 pixel[15]。

根据前述国内外文献分析,可见大部分光学系统都采用了针孔模型进行分析。但缺乏相关文献对针孔模型进行建模分析、设计并进行实验研究以获得相应的实验结果,从而支撑将针孔模型用于摄像机光学系统的观点。为此,本文分析、构建传统摄像机线性模型;根据成像规律,设计新模板的视觉测量实验,通过改变系统待测模板的线段长度,并利用21组数据拟合成像的线性结果,观察分析摄像机成像能达到的线性度;在20个不同位置进行重复性实验,进一步分析了该方法中针孔线性模型的实用性。实验通过提取多组待测物的特征,直接进行图像及实际线段的测量比较,分析摄像机线性模型测量精度。实验结果显示实际针孔模型可以实现相对测量误差不超过1%,在该模型下重复测量误差最大不超过0.3 mm量级,测量精度不低于0.1 mm,为计算机视觉中摄像机线性针孔模型的使用提供了重要的参考。

1 数学模型分析

1.1 基本成像模型

三维物体通过透镜映射到成像面上,其中的变换关系可以由成像模型来描述。通常计算机视觉中广泛使用针孔模型[3],它是简化的光学成像线性模型,在数学上可以表示为三维空间到二维平面的中心投影。空间中任何一点P与光心O的连线交图像于一点p,则p为P在图像中的投影位置,如图1所示。

图1 摄像机基本成像模型Fig. 1 Basic imaging model of camera

下面描述针孔模型数学建立过程[16],实现二维图像点与三维空间的转换。如图2所示,在图像上定义直角坐标系u、v为图像像素坐标系,它以像素为单位,表示像点位于图像上的行数与列数。为了用物理单位表示像点在图像中的位置,需要建立图像物理坐标系,光轴交图像平面于o点,以o点为原点,x轴和y轴分别平行于u、v,构成以物理单位(如mm)表示的图像坐标系。

图像物理坐标转化为像素坐标,有

图2 图像坐标系Fig. 2 Image coordinate system

式中:dx,dy分别是CCD上u轴和v轴的尺寸因子;(u0, v0)是图像中心点的坐标。将其表示为矩阵形式:

以光心O为原点,xc轴平行于x轴,yc轴平行于y轴,O、xc、yc构成摄像机坐标系。图像物理坐标系转化为摄像机坐标系:

式中:f为摄像机镜头的焦距。可表示为矩阵形式:

由于物体和摄像机可以摆放在任意位置,需要在环境中选择一个基准坐标系,用来描述摄像机以及空间中任意物体的位置,这个基准坐标系可以人为定义,称之为世界坐标系。为了将世界坐标系中的点P转换到摄像机坐标系中,引入旋转矩阵R和平移向量t进行两坐标系的转换。

式中:R是3×3的旋转矩阵,3个列向量均为单位向量,并相互正交;t是3×1的平移矩阵。

综上,摄像机模型可简写为

1.2 非线性畸变校正

实际上,由于光学系统中镜头失真、镜头组的设计与组装误差造成像点位置偏移,针孔模型并不能完美地表达像点的真实位置[19-20]。线性模型描述的像点位置与实际像点的关系可以表示为

式中:δx、δy是像点在x、y方向的偏移量,与图像点在图像中的位置有关。理论上镜头同时存在径向畸变和切向畸变,如图3所示。

图3 畸变模型Fig. 3 Distortion model

光线在远离透镜中心的地方比靠近中心的地方折射率更大,造成了视野总光轴中心区域的放大率不同于边缘区域的放大率。透镜不平行于图像平面且透镜组各个透镜光轴不重合。由于摄像机工艺的发展,一般切向畸变比较小,主要考虑径向畸变的修正量。同轴透镜的径向畸变量关于光轴严格对称,故

2 实验结果与分析

2.1 实验过程

为了验证针孔相机模型的可靠性和适用范围,自行设计模板进行标定实验,比较模板线段的实测长度与经过相机成像后测得的长度。实验结果表明,在一定的物距范围内,经过成像后的模板线段仍然具有很好的线性度,针孔模型可以适用。物距越小,标准误差越大。这表明物距越小,对应的光学像差越大。

实验的基本步骤如图4所示。首先设计和制作待测模板,然后使用摄像机对多张模板依次进行拍摄,应用图像处理的方法记录模板各个位置处线段的长度。利用摄像机采集到的每张模板不同位置线段的成像数据,分析针孔模型的适用范围和可靠性。设计的模板如图5所示。

图4 实验过程Fig. 4 Experimental procedure

首先设计并制作21张待测模板,每个待测模板是使用Visio软件绘制的21条长度渐变的平行线段,将其存入PowerPoint。以放映幻灯片的方式切换模板,不仅可以全屏显示模板,而且可以减小更换模板带来的误差。镜头的光学像差是不可避免的,图像不同位置处的光学像差不同。实验为了观察摄像机光学系统在不同物距和不同视场的成像线性度,需要分别比较两种成像效果,即多张模板图像中同一位置处的线段成像效果和单张模板图像中不同位置处的线段成像效果。为了让线段尽可能充满整个成像传感器,且避免线段排布紧密导致检测受到干扰,需选择合适的平行间距及线段长度。第一张模板中线段长度从上到下由90 mm依次递减3.6 mm,至18 mm,其中每两条线段间隔2 mm;第二张模板中两两线段间距不变,只是将最下面一条线段移到最上面的位置,上面的20条线段依次往下调整一格位置,以此类推,设计21个标定模板,使得每个位置都有相同的21组不同数据。

图5 待测模板Fig. 5 Template for testing

系统实验平台的基本思路如图6所示,在该图基础上选用MV-VEM200SM型号的黑白摄像机,分辨率为1 600 pixel×1 200 pixel。镜头为M3Z1228C-MP工业镜头。防震台的一端放置摄像机,电子屏幕固定于一维导轨上。定义模板平面在世界坐标系中z=0,将三维空间中线段的测量转换为平面线段测量,不需要计算三维坐标,减少计算量。利用精度为0.01 mm的游标卡尺进行目标点在世界坐标系下的测量,记录显示屏上每条线段的实际长度。

图6 实验系统平台Fig. 6 Experiment platform

实验首先要调整电子屏与摄像机平面平行,并且摄像机光心通过电子屏中心,在模板平面距离摄像机光心18~38 cm的条件下进行,每个位置拍摄21张模板图像,轻触显示屏更换模板,

这样可以减小实验误差。用电位移平台使模板每次移动1 cm,并且保证焦距不变,同样拍摄21张模板照片。拍摄20组模板照片,在Visual Studio 2015和OpenCV 3.3下编写亚像素级角点检测程序,获得图像模板上每条线段像素个数(单位:pixel)。

2.2 实验结果与分析

第一组实验将电子屏固定在距离摄像机光心18 cm处的位置,拍摄21张标定模板,然后使用亚像素级角点检测方法,提取每个模板中最中间的第11条线段所占的像素个数,结果如表1所示。假设经过成像后线段的像素长度为y,模板线段实际长度为x,函数拟合结果如图7所示。经过函数拟合,可以看出实验系统成像效果满足线性关系 y =0.070 8x−0.547,每个像素代表固定的实际长度。

由图7可以看出,实验中间线段经过摄像机成像后的像素长度具有优秀的线性拟合效果,也就是说摄像机在这种情况下满足小孔成像。此线性模型参数及统计量如表2所示,线性回归方程为y=p1x+p2,其中y代表实际长度(单位:mm),x代表像素长度(单位:pixel),系数p1表示一个像素对应的实际长度,p2为常数项,表示系统误差如平台搭建产生的误差等。从表2可以得出,检验直线方程拟合程度的可决系数R2=0.999 97,其值越接近1,说明此方程的拟合程度越好。标准误差项表示实际值与拟合估计值的总体偏差,用来衡量回归方程的代表性,其值越小代表拟合效果越好。标准误差计算公式为

表1 第 11 条线段测量结果Tab. 1 Measurement results of Line 11

图7 第 11 条线段测量结果Fig. 7 Measurement results of Line 11

表2 线性模型参数及统计量表Tab. 2 Linear model parameters and statistics

式中:n为样本数;m为变量数;Se为剩余平方和。

由表2可以看出,标准误差S较小,说明此线性模型假设合理,能够很好地解释图像线段与物方实际线段的关系。用此线性模型随机测量不同位置的几条线段的数据,取上(第1条线)、中(第11条线)、下(第21条线)3个位置的线段测量数据。实验结果表明,绝对误差不超过0.26 mm,相对误差不超过0.28%,实验结果如表3所示。

表3 模型测量结果Tab. 3 Measurement results of model

为了进一步比较、确定模板中间还是边缘的光学像差会影响成像的线性度,采用同样的方法研究物距30 cm处模板中其他位置的线段,得到的标准误差随线段位置的变化如图8所示。由图8可以进一步得出,成像线性度主要受边缘图像的畸变影响,中间部分的线段标准误差小,说明中间部分畸变较小,边缘部分的线段标准误差大,说明边缘部分畸变较大。进一步可以得出视场越大,畸变越大。

在实际测量中,难免会产生误差。误差包括拍摄时光照不均、手动测量误差、图像特征提取误差等,实验中此线性模型测量的相对误差不超过0.28%,非常接近真实值,说明其可信度很高且具有实用价值,但其绝对误差达到0.26 mm级别,可见在测量精度要求较高的场合下需要进一步改进。

图8 标准误差比较Fig. 8 Comparison of the standard error

在电子屏幕距离摄像机平面18~38 cm处进行重复实验,选择每组物距下的第8张图片进行数据分析,部分测量结果如表4所示。其中标准误差为各距离下对实验数据进行线性拟合后的结果,同时利用拟合的线性模型对模板中上、中、下3个位置的线段(第1条,第11条,第21条)长度进行预测,与实际值对比后计算其相对误差。

表4 不同距离下模型测量结果Tab. 4 Measurement results of model at different distances

模型标准误差随物距的变化如图9所示,可以推测,摄像机系统成像的线性程度与物距有一定关系。且物距越小,标准误差越大,说明线性模型的拟合程度相对较差,也就是对应的光学像差大,图像畸变大。此线性模型在远距离时测量结果更加稳定,然而随着物距的增大,可能会应用大焦距去拍摄远距离物体,此时带来的结果就是牺牲图像画质,误差也会相对增加。因此在实际应用中,应平衡各因素的影响,选择焦距合适的镜头,选择最佳的物距。

图9 物距与标准误差的关系Fig. 9 Relationship between object distance and standard error

3 结 论

视觉测量以摄像机模型为基础完成后续测量任务,复杂的摄像机系统是否可以看作线性模型有待考证。本文通过搭建单目视觉系统进行了重复性测量实验,20组实验结果表明在该实验条件下摄像机成像的线性度高,使用摄像机基本模型——线性模型进行计算机视觉任务是有效可行的。实验方法中使用多组线段构成的模板组,其特征提取过程简便且提取结果精度高。实验不仅为针孔线性模型的使用提供了依据,同时由于实验方法避免了复杂的模型运算,计算简单,在本实验条件下线性模型测量的相对误差不超过1%,近距离测量时测量误差不超过0.3 mm,因此在有特定精度要求的应用场合可直接用于平面测量。

猜你喜欢
针孔畸变摄像机
一起来探案
汽车电泳漆膜的缩孔与针孔
在Lightroom中校正镜头与透视畸变
针孔问题该如何处理
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
决战前夜
如何消除和缓解“摄像机恐惧症”
辐射诱导染色体畸变的快速FISH方法的建立
《癌变·畸变·突变》2014年第26卷索引