摘" 要: 在实际工业应用中,线阵相机在被测物体运动速度快、拍摄视场范围广以及精度要求高的场景下比面阵相机更具优势,并且将二维图像数据与三维点云数据相结合能使信息量更丰富,能更好地还原真实场景。为提高在工业应用场景下的双模态数据的结合精度,提出一种动态双模态线阵相机的联合标定方法,该方法能实现简便快捷的2D线扫相机与3D线扫相机之间的联合标定。实验结果表明,该算法能以较小计算量实现高精度双模态双线扫相机的联合标定。
关键词: 线阵相机; 联合标定; 双模态数据; 畸变校正; 二维图像; 三维点云
中图分类号: TN98⁃34; TH74" " " " " " " " " " " " 文献标识码: A" " " " " " " " " " 文章编号: 1004⁃373X(2024)05⁃0148⁃07
Joint calibration method for dynamic bimodal line array cameras
WANG Ling, LI Jinlong, LUO Lin, GAO Xiaorong
(School of Physical Science and Technology, Southwest Jiaotong University, Chengdu 610031, China)
Abstract: In view of the actual industrial applications, line array cameras have more advantages than area⁃array cameras in the scenes of fast motion of the objects under test, wide shooting field of view and high accuracy requirements. In addition, the combination of 2D image data and 3D point cloud data can make the information richer and restore the real scene better. Therefore, a joint calibration method for dynamic bimodal line array cameras is proposed to improve the accuracy of the combination of bimodal data in industrial application scenarios. This method can realize simple and fast joint calibration between 2D line scan camera and 3D line scan camera. The experimental results show that the proposed algorithm can realize the joint calibration of high⁃precision bimodal dual⁃line⁃scan cameras with a small amount of computation.
Keywords: line array camera; joint calibration; bimodal data; aberration correction; 2D image; 3D point cloud
0" 引" 言
相机标定是机器视觉中的重要步骤,联合标定更是目标检测等计算机视觉领域中的关键问题之一。对不同模态的数据进行联合标定,利用计算机对多模态数据进行综合处理从而执行目标检测,能使获取的数据形式更丰富[1]。在某些被测物体运动速度快、拍摄视场范围大以及精度要求高的工业场景中,线阵相机的各项指标相较于面阵相机更具优势[2]。但线阵相机的标定原理较复杂,其相关研究内容相对面阵相机较少,且目前绝大多数有关线阵相机标定的理论研究都着眼于单线阵相机,或是二维双线阵相机的标定,主要用于提高精度以达到后续三维重建中图像匹配的要求。
随着现代工业技术的发展,二维数据与三维数据的融合技术能更充分地结合颜色数据以及几何信息,在实际场景中应用非常广泛。对于相机拍摄得到的数据而言,相机之间的标定精度很大程度上决定了最终拍摄到的图像数据与三维数据能实现的融合精度[3],所以实现相机之间的高精度联合标定很有必要。
国内外对不同模态数据的相机间联合标定进行了很多尝试。针对双模态相机之间的联合标定而言,目前大多数的研究着眼于相机与激光雷达之间的标定。文献[4]在2010年提出了一种利用全向相机系统对三维激光扫描仪进行外部校准的方法。文献[5]利用棋盘格的边缘检测对相机以及三维激光雷达进行了外参标定。文献[6]通过拟合三维点云中棋盘的4个角,将两相机之间的标定转换为三维到二维的匹配问题,也就是未校准透视n点(Uncalibrated Perspective⁃n⁃Point, UPnP)算法完成联合标定。文献[7]采用普通的盒子,分别从图像以及点云中提取盒子角点,建立点到点的约束关系完成标定。文献[8]提出采用一种同时提取球体中心的标定方法实现联合标定。上述方法在多模态的联合标定内容上已经取得了很好的成效,但是仍然存在一些不足,如标定过程中需要人工手动操作对某些特征点进行筛选,自动化程度不够,标定步骤较为复杂,且上述多模态联合标定针对的是面阵2D相机获取的图像与三维点云数据之间的校准,在适用线阵2D的工业检测场景下,灵活度不够高。
针对该问题,本文设计了一种由Apriltag[9]二维码组合而成的三维标定靶标,并提出了一种针对线阵2D相机与线阵3D相机的标定方法,通过搭建2Damp;3D视觉模组来实现动态双模态线阵相机的高精度联合标定。该方法不需要制作精密复杂的标定板,也不需要高精度移动平台,且实施方便、操作性强,为工业双模态线阵相机的采集应用场景提供了一种有效方法。
1" 基本原理
1.1" 线阵2D相机成像原理
线阵2D相机的成像几何模型可以由面阵相机的成像过程推导而来,其成像模型可以看作是世界坐标系、相机坐标系、图像坐标系以及像素坐标系之间的转换关系[10]。面阵相机在成像过程中的坐标系如图1所示。
图1中:[p]点的像素坐标点[(u,v)]与其对应世界坐标系物点[P(Xw,Yw,Zw)]之间的变换关系可以表达为式(1):
[Zcuv1=fx0u000fyv0000" 10R3×3T3×101×311×1XwYwZw1=m11m12m13m14m21m22m23m24m31m32m33m34XwYwZw1] (1)
式中:([Xw,Yw,Zw])表示世界坐标系下的[P]点坐标;[R]表示世界坐标系与相机坐标系之间的旋转矩阵;[T]是世界坐标系与相机坐标系之间的平移向量,统称为相机外参;[fx=fdx],[fy=fdy],[f]为该相机的焦距;[u0]、[v0]称为相机内参;3×4矩阵[m11~m34]表示相机成像矩阵。公式(1)可以概述为面阵相机的成像几何模型。
线阵相机相对于面阵相机来说,捕获图像的传感器只有一行或者几行,相当于公式(1)中的[v]行可简化为0,得到简化后的表达式(2):
[Zcu01=fx0u000fy000010R3×3T3×101×311×1XwYwZw1=m11m12m13m14m21m22m23m24m31m32m33m34XwYwZw1] (2)
公式(2)就是典型的线阵2D相机的成像几何模型,其中[fy≠0]不需要标定。
1.2" 线阵3D相机成像原理
本文采用的西克Ranger相机,是一种基于激光线扫原理的线扫3D相机,其扫描成像系统如图2所示。
激光线扫3D相机主要采用激光三角法[11]来获得待测物深度信息,激光发生器发射激光到被测物体表面,形成激光条纹,由相机对图像进行采集,通过连续移动将分别采集到的图像通过处理器对激光条纹的中心线进行提取,提取出中心线坐标数据,再转换成含有深度信息的三维点云数据。
激光三角法主要分为直射式和斜射式,本实验中采用的线扫3D相机主要基于直射式激光三角法,其原理如图3所示。
将相机靶面上的成像点到基准点之间的距离表示为[z'],被测物体表面到基准面之间的高度差为[z],其关系式为:
[z=l×z'×sinβd×sinα-z'×sin (α+β)] (3)
式中:[α]表示入射到基准面的激光线与其反射光线的夹角;[β]表示相机靶面与从基准面反射到相机中的激光线之间的夹角;[l]、[d]分别代表成像物距和像距。
西客Ranger相机内部集成了从扫描的剖面生成对应3D数据的算法,能够直接输出高精度的3D数据。
1.3" 线阵2D与线阵3D相机联合标定原理
不论是面阵相机还是线阵相机,由于镜头的制作装配等流程不会是百分百理想的,也就是从世界坐标系物点[P]到其对应[p]点之间不能视作完全理想化的投影过程,真实的[p'(x',y')]点相对于理想成像点[p]之间是存在误差的。由于本文针对线阵相机进行畸变校正,而线阵相机仅存在一行或几行成像单元,所以只考虑[x]轴方向的畸变,将[p(x,y)]与[p'(x',y')]之间的位置关系表达为:
[x'=x+δxx,y] (4)
式中[δx]表示[x]轴方向上的镜头畸变量。
非线性镜头畸变[12]主要存在三种类型:径向畸变、离心畸变以及薄棱镜畸变。径向畸变主要是由镜头中各透镜存在的曲面误差导致的;离心畸变主要由镜头光轴和相机光轴之间不同轴而导致;薄棱镜畸变则主要由镜头加工装配安装等问题引起。文献[13]指出,镜头畸变建模时可以舍弃高阶分量,有时考虑过多高阶分量反而会造成测量结果的不稳定。因此,将线阵相机的畸变模型简化为:
[x'=xd+k1+k2xd+k3x2d+k4x3d] (5)
式中:[k1]、[k2]、[k3]、[k4]代表畸变校正系数;[xd]=[xf]=[XcZc]。公式(5)中的畸变校正可以对线阵相机拍摄图像中的每一个像素点进行计算,且只考虑[x]轴方向上的畸变校正,最终可以根据公式(5)算出二维图像每一个像素列的标定值完成畸变校正。而在实验中设置的线扫相机拍摄图像的像素列的个数应当与畸变校正数据值的个数相一致。
本实验采用的线扫3D相机是Ranger相机,对于输出的三维点云数据以及强度图是自动标定完成的,所以两台相机中只针对线阵2D相机完成上述图像去畸变操作。
本实验以公式(2)为出发点设计联合标定实验方案,公式(2)表示线阵相机标定中世界坐标系的物点对应像素坐标系中的像素点之间的转换关系。通过搭建由线阵2D相机以及线阵3D相机组合而成的2Damp;3D视觉模组,两个相机的行方向在搭建时采用机械对齐,将公式(2)转换为更为简洁的单维度标定法[14],从而极大地减少该算法计算量。用于联合标定中,世界坐标系的物点由线阵3D相机输出的被测物真实点云值替代,像素坐标系中的像素点则直接对应线阵2D相机拍摄得到的二维图像像素点。使用该2Damp;3D视觉模组对靶标进行扫描采集,分别提取特征点对应像素坐标以及真实世界坐标,通过多组对应特征点对解析得到两相机之间的转换关系式。
首先是针对联合标定中靶标的设计,相机的标定精度与合适靶标的选择息息相关。考虑到标定对于特征点对提取的准确性要求,本实验选取了二维码AprilTag作为靶标图案,AprilTag是由密歇根大学的APRIL机器人实验室提出的。官方对AprilTag的描述是视觉基准系统(Visual Fiducial System)[15],其应用领域包括AR、机器人、相机校正等,本实验标定采用的系列为tag36h11。由于要解析二维图像特征点像素坐标与世界坐标之间的对应关系,特征点在三维空间中的深度信息参与公式计算,所以本文采用的是三维立体靶标。于是设计出一种由多组二维码图案相结合的三维立体靶标,将tag36h11系列中不同序列二维码图案打印下来,粘贴在H形的长杆两侧,中间的连接杆空出以方便移动靶标时进行抓取,每张二维码平面与H形长杆平面形成30°左右的夹角,不同二维码之间相互平行,使得在相机以二维码平面平行于相机移动扫描时,能在H形长杆两侧形成前后的空间距离差,也就是靶标图案所呈现出来的3D状。相较于平面维度的靶标,立体形态的靶标结构能够增加一个维度的约束,有效提高了标定的稳定性[16]。
线阵2D相机与线阵3D相机之间的联合标定流程如图4所示。
待设置好两个相机的采集帧率后,以适当的移动速度移动靶标,使线阵2D相机与线阵3D相机都能同时采集到H形靶标两侧相对完整的二维码图案,以此作为联合标定的数据。线阵2D相机分辨率设置为4 096×2 000,利用公式(5)计算出每一个像素列的标定值,对应4 096个2D线阵去畸变校正数据。
线扫3D相机扫描靶标除了能够采集到被测物点云数据,还能输出对应强度图数据。由于上述2Damp;3D视觉模组的两个相机行方向在搭建时就采用了机械对齐的光学搭建形式,其扫描的[Yw]以及[v]值在联合标定中并不重要,因此能减少一个维度在标定中的限制。对式(2)进行简化,得到化简后的联合标定转换关系式,见式(6):
[Zcu1=m′11m′12m′13m′21m′22m′23XwZw1] (6)
将式(6)展开可得:
[Zc×u=m′11×Xw+m′12×Zw+m′13Zc=m′21×Xw+m′22×Zw+m′23] (7)
对式(7)进行化简,即:
[u=m′11×Xw+m′12×Zw+m′13m′21×Xw+m′22×Zw+m′23] (8)
又因为三维点云无法直观体现出靶标的纹理图案信息,所以本实验通过处理强度图来反推特征点的三维点云坐标,从强度图中找出各个特征角点的像素坐标后,代入点云数据中相对应的[Xw]与[Zw],输出各个特征点相对应的三维物理坐标[(Xw,Zw)]值。最后利用最小二乘法求解公式(6)中的转换矩阵,完成线阵2D相机与线阵3D相机之间的联合标定。
2" 实验结果及分析
2.1" 实验数据分析
首先由线阵2D相机采集靶标得到的二维图像以及二维畸变矫正图像数据,如图5、图6所示。
由线阵3D相机采集得到的三维数据的强度图如图7所示。
该强度图对应的点云数据如图8所示。
二维图像的分辨率为4 096×2 000,强度图的分辨率为2 560×2 000。
该线阵3D相机拍摄到的强度图需要先进行水平的镜像反转,才能从中检测到相应二维码序列以及在强度图上对应特征角点的像素坐标。而后同时输入畸变矫正后的二维图像以及镜像翻转后的强度图进行特征点提取,首先筛选出两张图像都能检测到的二维码,对比各个二维码的序列号,序列号相同的特征角点同时输出,一一对应。分别检测到的二维码序号以及角点如图9、图10所示。
二维图检测到的特征点数据可直接代入公式(8)计算,但是强度图检测到的特征点是针对强度图像素坐标而言的,需代入由3D线阵相机拍摄输出的点云数据反推出各个特征点对应的[Xw]、[Zw]值。由于在利用强度图找二维码角点时进行了镜像翻转处理,所以在求真实三维[(Xw,Zw)]坐标时需要处理强度图镜像翻转带来的影响。计算所得部分[u]、[Xw]、[Zw]数据如表1所示,其中检测到的特征点对共计44组。
得到检测特征点对应的[u]、[Xw]、[Zw]值,将公式(8)变换为[u=m11m23x+m12m23z+m13m23-m21m23xu-m22m23zu],通过最小二乘法求解,得到2D线阵相机与线阵3D相机之间的转换矩阵,也称几何模型[m11m23m12m23m13m23m21m23m22m231]的值。计算结果如表2所示。
2.2" 验证实验及分析
上述实验已经完成了线阵2D相机和线阵3D相机之间的多模态联合标定,得到了两相机之间的转换矩阵,但该计算结果可靠与否还需要由更多组数据进行验证。本实验的验证方法是:采用另外一组同样类型的数据对强度图进行镜像翻转,识别其中的特征角点,推出对应特征角点的三维空间[Xw]、[Zw]值,将找到的特征点的[Xw]、[Zw]值代入公式(8),得到“重投影”后的像素值[u],相当于采用重投影误差对实验所得的转换矩阵进行精度评估。验证实验第一组数据如表3所示。
第一组验证数据重投影后最大像素误差约为4.7个像素。
验证实验第一组数据重投影后在相应去畸变后二维靶标图上的特征点数据如图11所示。
图上并非所有的二维码角点都存在红点标注,原因是由于存在反光等噪声对实拍数据的影响,并非所有的二维码图标都能同时被相应图像和强度图检测出来。
验证实验第二组数据如表4所示。
第二组验证数据重投影后最大像素误差约为4.3个像素。
验证实验第二组数据重投影后在相应去畸变后二维靶标图上的特征点数据如图12所示。
以上两组不同的验证数据组都分别包含了60组特征点对。
从验证实验结果可知,采用本实验对线阵2D相机以及线阵3D相机所做的联合标定实验,反映在两组验证数据组的结果上,最大误差不超过4.7个像素值。
从主观上对该联合标定的质量进行判断,根据两组验证实验的数据图像来看,重投影后的特征角点观察上几乎都处于对应的正确二维码角点位置。从客观上评价,本实验采用了另外两组同类型数据对实验所得的联合标定转换矩阵进行重投影验证,用三维点云数据得到的世界坐标系下的特征角点对应[Xw]、[Zw]值,通过转换矩阵投影到线阵2D相机所得的二维图像上,比较投影点和真实点之间的像素差,得到像素误差,由验证实验结果可知,最大像素误差不超过4.7个像素值。验证了本文线阵2D相机与线阵3D相机联合标定算法的有效性,能够实现双模态双线阵相机之间的高精度标定。同时,采用便捷的靶标,无需借助精密的移动平台,仅需手动以合适的角度进行数据采集就能实现高精度的联合标定,能够满足如采集各型动车组车顶、车侧、车底(走行部)高品质二维和三维图像等工业场景的实际应用要求,具有可观的应用前景。
3" 结" 论
线阵2D相机作为图像信息采集传感器,具有采集频率高、拍摄视场范围广等优点,能克服传统面阵相机帧幅率受限、难以达到应用现场测量需求的缺点。线扫3D相机能获取待测物体的三维点云以及强度图信息,具有丰富的空间信息,但是分辨率低,且缺少真实的色彩纹理信息。因此,采用一种联合标定算法,将线阵2D相机拍摄到的二维图像与线扫3D相机获得的点云数据进行联合标定,得到两相机之间的转换关系,就能够保留两种数据模式的优势,丰富数据的信息量,从而提高后续应用的整体性能。
本文在总结了单线阵相机以及多线阵相机现有标定算法的基础上,提出了一种动态双模态线阵相机的联合标定方法。通过线阵2D相机与线阵3D相机某一方向机械对齐的光学布局搭建形式,组成了2Damp;3D视觉模组,完成了图像模态与三维点云数据模态数据之间的高质量、高精度联合标定,使得两相机于运动垂直方向的偏差在4.7个像素以内,取得了良好的实验测试效果。为后续2Damp;3D视觉模组在实际工业中的高品质二维和三维图像的采集应用奠定了基础。
注:本文通讯作者为李金龙。
参考文献
[1] 韩义波,杨新锋,滕书华,等.激光与红外融合目标检测[J].红外与激光工程,2018,47(8):204⁃210.
[2] 王艳,袁峰,姜宏,等.基于三线阵CCD空间目标的高精度位姿解算[J].光学学报,2018,38(5):207⁃215.
[3] 张佳,唐义,卞子煜,等.三维点云与可见光图像融合方法及可视化[J].激光与光电子学进展,2023,60(6):416⁃422.
[4] PANDEY G, MCBRIDE J, SAVARESE S, et al. Extrinsic calibration of a 3D laser scanner and an omnidirectional camera [J]. IFAC proceedings volumes, 2010, 43(16): 336⁃341.
[5] ZHOU L, LI Z, KAESS M. Automatic extrinsic calibration of a camera and a 3D LiDAR using line and plane correspondences [C]// 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). New York: IEEE, 2018: 5562⁃5569.
[6] WANG W, SAKURADA K, KAWAGUCHI N. Reflectance intensity assisted automatic and accurate extrinsic calibration of 3D LiDAR and panoramic camera using a printed chessboard [J]. Remote sensing, 2017, 9(8): 851.
[7] PUSZTAI Z, EICHHARDT I, HAJDER L. Accurate calibration of Multi⁃LiDAR⁃Multi⁃Camera systems [J]. Sensors, 2018, 18(7): 2139.
[8] TÓTH T, PUSZTAI Z, HAJDER L. Automatic LiDAR⁃camera calibration of extrinsic parameters using a spherical target [C]// 2020 IEEE International Conference on Robotics and Automation (ICRA). New York: IEEE, 2020: 8580⁃8586.
[9] TANG D Q, HU T J, SHEN L C, et al. AprilTag array⁃aided extrinsic calibration of camera⁃laser multi⁃sensor system [J]. Robotics and biomimetics, 2016, 3: 59.
[10] 王国珲,钱克矛.线阵相机标定方法综述[J].光学学报,2020,40(1):181⁃193.
[11] 刘源,沈小燕,陈爱军,等.基于线激光三角法的圆孔尺寸测量研究[J].应用激光,2020,40(2):308⁃314.
[12] WANG J H, SHI F H, ZHANG J, et al. A new calibration model of camera lens distortion [J]. Pattern recognition, 2007, 41(2): 607⁃615.
[13] TSAI R. A versatile camera calibration technique for high⁃accuracy 3D machine vision metrology using off⁃the⁃shelf TV cameras and lenses [J]. IEEE journal on robotics and automation, 1987, 3(4): 323⁃344.
[14] 刘怀广,王迪,杨金堂,等.锂电池涂布在线测量中的线阵相机标定方法[J].激光与光电子学进展,2019,56(11):184⁃189.
[15] MUHAMMAD S A, SALMAN A, KARSTEN B, et al. Analysis and improvements in AprilTag based state estimation [J]. Sensors (Basel, Switzerland), 2019, 19(24): 5480.
[16] 王庆,谭镕轩,冯悠扬,等.基于三维标定板的相机⁃激光雷达联合标定方法[J].中国惯性技术学报,2023,31(1):100⁃106.