-
相机标定是视觉测量的基本工作,需预先建立物方世界坐标与像方平面坐标之间的几何模型,利用特征点对求解模型参数[1]。常用视觉测量相机包括面阵相机和线阵相机,面阵相机标定的研究已经比较成熟[2],但线阵相机通常仅对一维空间成像,所以面阵相机的标定方法无法直接采用,且关于线阵相机内参数标定的研究文献相对较少[3−4]。
目前线阵相机内参数的标定方法一般从设计标靶、参数标定模型、解算方法入手[5],总体可分为静态标定和动态标定两类,标定目标包括2D和3D两种。静态标定方面,Horaud等人最早开展关于线阵相机标定的研究,根据线阵相机的静态成像模型提出了一种基于交比不变性的标定方法。该方法计算相对简单,但其参数标定精度受移动平台的位移精度影响,且未顾及镜头非线性畸变的影响[6]。为了避免使用高精度的移动平台,Luna的方法使用了3D标定物,但该方法对3D标定物的制造精度要求较高,特征线数量有限且提取困难[7]。Li等人借鉴了张正友的面阵相机标定方法,克服了上述问题,但需要额外的面阵相机进行辅助标定,且标定精度取决于面阵相机的标定精度和测量精度,这使得标定过程更加复杂[8]。Song等人设计了一种基于八卦图形的三维标定物,理论上提高了标定精度,但该标定物需要高额成本以保证制造精度,且特征提取过程较为复杂[9]。Liao等人设计了一款3D空心条纹标定物,虽解决了偏心误差的问题,但标定物制造难度大、特征点数量少,仅限实验环境下使用[10]。关于动态标定的研究,Draréni等人首先提出了一种基于二维靶标面的动态标定方法,该方法特征点提取方便且标定精度较高,但该方法计算复杂度较高,并要求标定物在特定的方向上运动[11]。Hui等人先后提出了使用2D标定物和3D标定物的标定方法,不仅考虑了镜头畸变的影响而且解除了相机只能在特定方向移动的限制,但需建立复杂的动态标定模型,难以满足现场环境下标定[12−13]。表1对不同标定方法进行了统计和对比[5]。总体上,3D标定物制作难度和成本比2D标定物更高,但标定操作的复杂度更低;动态标定比静态标定的方法复杂,但高复杂性的算法往往可以换取较低的重投影误差。此外,为获得高精度的标定结果,可增加特征点数量,且标定模型应顾及镜头畸变的影响[5]。
Method Dimension of the
calibration objectAuxiliary equipment Algorithm difficulty RMSE of
reprojection errorMaximum reprojection
errorContains lens
distortionHoraud[6] 2D Platform Low NA N.a. No Luna[7] 3D No Medium NA 0.71 No Li[8] 3D No Medium 0.348 1.58 Yes Sun[14] 2D Area-array camera High 0.150 NA No Song[9] 3D No High 0.223 N.a. No Yao[15] 2D No High 0.460 NA No Niu[16] 3D No Medium 0.160-0.360 NA No Su[17] 3D No Medium 0.377 1.76 Yes Liao[10] 3D No Medium 0.120-0.310 NA No Hui[12] 3D Platform High 0.310 NA Yes Hui[13] 3D Area-array camera High 0.220 0.36 Yes Wang[18] 2D Laser Low 0.37 0.48 No Table 1. Performance comparison of different calibration methods
现有方法均需在实验环境下完成线阵相机内参数标定,对已投入运行的集成设备中线阵相机很难完成内参数的定期检校。针对以上问题和实际需要,提出一种基于2.5D标定扇的线阵相机标定方法。首先,受中国传统折扇的启发,设计一款2.5D的简易标定扇,解决特征点数量少和易丢失的问题;其次,在此基础上构建不受线阵相机运动方向严格限制的参数标定模型,可解算出相机与靶面不平行、不垂直的小角度误差,并顾及了镜头畸变参数;然后,利用特征点对建立标定方程组,将模型线性化方程的解作为参数初值,再基于改进Levenberg-Marquardt (L-M)算法加速优化标定参数的求解过程。
-
标定物设计的合理性与观测值$ \left\{ {y,Y} \right\} $的获取精度直接影响参数标定结果的精度。$ Y $依据标定扇设计原理获得,无计算误差引入,而$ y $的误差来源于特征中心提取误差,是随机误差;同时,需探究标定扇骨面与靶面间旋转角$ \theta $的合理范围。为此,在Windows平台下利用编程软件仿真线阵相机标定数据,并分析相关因素对标定结果的影响。仿真实验中相机内外参数见表2。
Parameter Value Parameter Value y0/pixel 2048 $ f $/pixel 25/0.007 $ a $ −1e−4 $ b $ 1e−10 $ \alpha $/(°) 0 $ \varphi $/(°) 0 $ {D_x} $/mm 1000 $ {D_y} $/mm 300 Table 2. The internal and external parameters of the camera in the simulation experiment
为测试像点误差量级与扇骨面相对于靶面的旋转角$ \theta $对标定结果的影响,现设计仿真实验如下。首先,令$ \theta $=0,利用相机的成像模型和内外参数生成50个成像特征点坐标和对应的像点坐标;而后,改变$ \theta $的同时向像点坐标加入不同量级的随机误差,其中,旋转角$ \theta $以1°为增量从0°增加到20°,而对每个$ \theta $,像点坐标$ y $加入正态分布的误差$ N(0,{\sigma ^2}) $,方差$ \sigma $以0.01 pixel为增量从0 pixel增加到2 pixel,由此改变像点误差;对于每一组$ \theta $和$ \sigma $,进行1000次独立仿真实验,图5给出了基于文中标定方法解算相机内参数$ f $和$ {y_0} $的期望、方差以及绝对误差平均值,可以看出:
1)随着$ y $误差等级的增加,$ f $的绝对误差逐渐变大,期望变化的幅度和方差均增大,即像点误差越大,$ f $越敏感;
2)当$ y $的误差在0~0.6 pixel时,随着$ \theta $的增大,$ f $无明显变化;而$ y $误差继续增大时,增大$ \theta $,$ f $的绝对误差、期望、方差也随之增加;
3)当$ \theta $在0°~10°时,增大$ y $的误差对$ {y_0} $的影响不明显;继续增大$ \theta $时,$ y $误差的增大会导致$ {y_0} $的绝对误差、期望、方差急剧增加,标定结果也越不稳定。
值得说明的是,目前亚像素高精度定位算法的定位精度小于0.2 pixel,因此实验中特征提取误差对参数解算精度影响较小。此外,标定扇选用$ \theta \in [ - {10^ \circ },{10^ \circ }] $的扇骨面有利于得到精确、稳定的参数解,这是由于随着$ \theta $增大,相同像素误差$ \Delta y $所引起的数据误差$ \Delta Y $增大,从而引起特征点对$ y,Y $的精度下降,致使方程组解的稳定性降低,如图6所示。此外,在参数解算过程中,标定方程的高度奇异性也可能是标定误差被放大的原因。
-
实验选用武汉汉宁轨道公司研发的钢轨测量模块中的线阵相机完成内参数标定,相机有效像元4096个,像元尺寸7 μm,镜头焦距为25 mm,相机视场明亮,光照强度均匀。图7(a)中,相机模块于导轨上匀速运动(速度为6 mm/s),距离编码器以0.2 mm/次的频率向相机发送触发采集的信号,使单个像素的分辨率小于特征圆的半径,以确保采集标靶图像中的特征圆有效。相机沿导轨运动方向采集标定扇的二维图像如图7(b)所示,其中有13列像点,每列代表单根扇骨的特征圆。运用亚像素高精度定位算法处理图像,得到各特征点的像点坐标$ y $,根据提出的标定方法完成相机标定,得到每根扇骨的参数解算结果。利用第7组数据解算的线阵相机内参数见表3。
Parameter Value Parameter Value y0/pixel 2055.35 $ f $/pixel 3571.62 $ a $ 3.01e−5 $ b $ −1.67e−8 $ \alpha $/(°) 2.80 $ \varphi $/(°) 1.32 $ {D_x} $/mm 1449.50 $ {D_y} $/mm 58.68 Table 3. Parameter calibration results of the 7th fan bone
扇骨面与靶面的旋转角$ \theta $在0°~±10°范围内时参数解算结果较稳定。图8所示为各扇骨解得的像主点坐标$ {y_0} $与焦距$ f $。其中,由第4~10根扇骨解算的相机内参数结果具有一致性,且各扇骨的$ \theta \in \left[ { - {{10}^ \circ },{{10}^ \circ }} \right] $。当扇骨面与靶面的夹角$ \left| \theta \right| > {10^ \circ } $时,参数解算结果不稳定,如第1、2、3、11、12、13扇骨,像主点和焦距的解算结果分别浮动约5 pixel和25 μm,且有随着$ \theta $增大而浮动范围增加的趋势,这与图5所得结论保持一致。
Figure 8. The results of 13 fan bones solving $ {y_0} $ and $ f $. (a) The result of $ {y_0} $; (b) The result of $ f $
采用上述标定方法获得的稳定解可作为集成模块中线阵相机的准确内参数。为验证模型参数的正确性,将每根扇骨标定出的相机参数代入公式(4),将标定特征点重投影到像面,原像点与重投影点之差记为重投影误差$ {\rho _c} $。第4~10根扇骨共156个特征点,用单根扇骨上12个特征点解算相机参数,将其他特征点作为检验点,计算重投影误差以验证参数的标定精度。表4给出了每根扇骨所得重投影误差的最大值、最小值、均方根误差,图9统计了所有特征点重投影误差$ {\rho _c} $的分布占比,其中89%特征点的重投影误差小于0.20 pixel,最大误差优于0.28 pixel,单根扇骨上特征点重投影误差的RMSE为0.086~0.129 pixel。需要说明的是,采集10次标定扇图像完成相机内参数求解与精度验证,其中重投影误差的平均RMSE为0.11 pixel,标准差为0.01 pixel,参数标定结果精度高且一致性好,相较于文献[18](重投影精度为0.37 pixel),重投影精度提高了69.7%。
Number Max/pixel Min/pixel RMSE/pixel 4 0.157 0.002 0.086 5 0.241 0.003 0.120 6 0.184 0.026 0.104 7 0.262 0.008 0.122 8 0.224 0.027 0.124 9 0.194 0.011 0.102 10 0.276 0.002 0.129 Table 4. Analysis of reprojection error
另外,基于改进的L-M算法在不影响内参数标定精度的同时可有效提高计算效率。分别利用标准L-M算法和改进L-M算法优化第4~10根扇骨的参数初值,表5对比了两种优化方法的迭代次数和重投影误差的RMSE。相比于前者,改进的L-M算法将迭代次数减少约50%,而参数标定结果无明显差异。
Number Standard L-M Improved L-M Times RMSE/pixel Times RMSE/pixel 4 18 0.086 10 0.086 5 21 0.122 12 0.120 6 15 0.105 7 0.104 7 16 0.126 8 0.122 8 18 0.125 11 0.124 9 19 0.102 8 0.102 10 22 0.131 14 0.129 Table 5. Comparison of parameter optimization methods
Internal parameter calibration method of line-scan camera based on 2.5D calibration fan
doi: 10.3788/IRLA20230670
- Received Date: 2023-12-01
- Rev Recd Date: 2024-01-30
- Publish Date: 2024-04-25
-
Key words:
- line-scan camera /
- internal parameters /
- calibration /
- reprojection /
- nonlinear equations
Abstract: