双目立体视觉测量是一种非接触、实时、高精度的三维测量技术,在非接触测量、机器人导航、在线监测等领域得到了广泛的应用[1-4]。利用视觉方案对不同尺寸的目标进行非接触的高精度测量是光学工程领域的研究方向之一。摄像机的光学参数标定在光学测量和计算机视觉等许多应用中都起着重要的作用。
光学标定的任务是确定图像点的二维坐标与物体的三维世界坐标之间的关系。摄像机标定方法主要有:传统标定方法[5]、自标定方法[6]和主动视觉标定方法[7]。双目图像采集类型分为3类:双摄像机模型[8]、单摄像机动态模型[9]、单摄像机镜像模型[10]。
通常,双目立体视觉系统需要通过采集不同角度的图像才能进行标定,然而,在现实中很难找到内参完全一样的两个摄像机,摄像机的内参数不同将影响系统的测量精度。2019年,Chai等[11]提出了一种单摄像机镜像双目视觉系统的标定方法,但该方法标定精度会受到景深变化的影响。2019年,殷晨晖等[9]使用单摄像机和高精度的电动平移台构建了三维视觉系统,减少了相机内参不同对标定精度的影响。
双目立体视觉测量系统的关键指标是精度,而光学标定的精度对测量系统的精度影响最大。2001年,张正友提出了一种灵活的标定方法[5],所有参数的最终值是经过非线性优化后得到的,其目的是最小化平均重投影误差。这些标定算法是通过一个超定线性方程组来估计一个初始的封闭解,主要区别在于对初始解的估计和非线性优化过程。通常,目标是最小化像素坐标的误差。例如,经典方法中广泛使用均值重投影误差[12],它表示的是真实图像坐标与根据标定结果计算得到的重投影图像坐标之间的误差。目前双目标定的优化方法几乎都是基于二维图像平面进行的,而实际的视觉测量是在三维世界坐标系中进行,优化和测量之间不同的参考坐标可能会导致标定精度下降。
2014年,Cui等[13]提出了双目视觉系统的精确标定方法,该方法在三维世界坐标系下,通过最小化重建点与真值之间的误差,并结合极线约束对参数进行优化。2015年,Jia等[14]提出了一种基于主动视觉和垂直度补偿的内参校正方法。该方法消除了摄像机运动不垂直对标定精度的影响。2016年,Poulin-Girard等[15]研究了不同标定条件对重构质量的影响,结果表明,平均重投影误差不应该总是被用来评估标定过程的性能,低质量的特征检测并不一定导致高平均重建误差。2018年,Gai等[16]提出一种基于重构误差的标定方法,在耦合程度较小的情况下,计算了摄像机之间的相对位置关系,计算出精确的三维坐标,利用重建结果的平均误差对参数进行评估和优化。Liu等[17]致力于减小三维重建特征点与真值之间的误差,基于重投影误差、共线约束等多种约束提出了一种高精度、鲁棒性强的双目摄像机标定方法。
本文构建了一种基于单摄像机的平行双目视觉系统。通过控制高精度位移平台移动单摄像机,从而实现立体视觉;计算左、右摄像机位的初始参数,引入质心坐标法计算两摄像机间的旋转平移矩阵;利用三角剖分重构标定点的三维坐标,计算重构坐标与真值间的重构误差;通过最小化重构误差来优化标定参数。与传统方法相比,本方法在精度和鲁棒性上得到了明显提高。
1 系统原理与结构 1.1 摄像机成像模型摄像机的成像透镜将三维点投影到二维像平面上,这种投影可以用摄像机模型的图像变换来描述。采用常用的针孔模型对摄像机进行建模[5],世界坐标系上的物点
| $ \left\{\begin{array}{c}{s}_{l}\left(\begin{array}{c}{\boldsymbol{p}}_{\bf{l}}\\ 1\end{array}\right)={\boldsymbol{A}}_{\bf{l}}\left({\boldsymbol{R}}_{\bf{l}}|{\boldsymbol{T}}_{\bf{l}}\right)\left(\begin{array}{c}{\boldsymbol{P}}_{\bf{w}}\\ 1\end{array}\right)\\ {s}_{r}\left(\begin{array}{c}{\boldsymbol{p}}_{\bf{r}}\\ 1\end{array}\right)={\boldsymbol{A}}_{\bf{r}}\left({\boldsymbol{R}}_{\bf{r}}|{{\boldsymbol{T}}}_{{\bf{r}}}\right)\left(\begin{array}{c}{\boldsymbol{P}}_{\bf{w}}\\ 1\end{array}\right)\end{array}\right. $ | (1) |
式中:
| $ \left\{\begin{array}{c}{\boldsymbol{A}}_{\bf{l}}=\left[\begin{array}{ccc}\begin{array}{c}{f}_{x{\rm{l}}}\end{array}& 0& {u}_{0{\rm{l}}}\\ 0& {f}_{y{\rm{l}}}& {v}_{0{\rm{l}}}\\ 0& 0& 1\end{array}\right]\\ {\boldsymbol{A}}_{\bf{r}}=\left[\begin{array}{ccc}\begin{array}{c}{f}_{x{\rm{r}}}\end{array}& 0& {u}_{0{\rm{r}}}\\ 0& {f}_{y{\rm{r}}}& {v}_{0{\rm{r}}}\\ 0& 0& 1\end{array}\right]\end{array}\right. $ | (2) |
式中:
由于相机透镜自身特殊的球形形状以及相机装配误差、制造上的缺陷,导致相机产生畸变误差。使用畸变模型来处理透镜的畸变效应,只考虑径向畸变的前两项,则关系如下:
| $\left\{\begin{array}{c}{{{\boldsymbol{p}}}_{{\bf{l}}}}^{d}=\left[1+{k}_{1l}{{r}_{l}}^{2}+{k}_{2l}{{r}_{l}}^{4}\right]{{\boldsymbol{p}}}_{{\bf{l}}}\\ {{\boldsymbol{p}}_{\bf{r}}}^{d}=\left[1+{k}_{1r}{{r}_{r}}^{2}+{k}_{2r}{{r}_{r}}^{4}\right]{\boldsymbol{p}}_{\bf{r}}\end{array}\right. $ | (3) |
式中:
两个摄像机可以用常用的针孔模型进行建模,对于三维世界坐标系中的物点
| $\left\{\begin{array}{c} {{\boldsymbol{P}}_{{\bf{cl}}}} = {{\boldsymbol{R}}_{\bf{l}}}{{\boldsymbol{P}}_{\bf{w}}} + {{\boldsymbol{T}}_{\bf{l}}},\;\\ {{\boldsymbol{P}}_{{\bf{cr}}}} = {{\boldsymbol{R}}_{\bf{r}}}{{\boldsymbol{P}}_{\bf{w}}} + {{\boldsymbol{T}}_{\bf{r}}} \end{array}\right.$ | (4) |
式中,旋转矩阵
| $ {\boldsymbol{P}}_{{\bf{c}}{\bf{r}}}={\boldsymbol{R}}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}+{\boldsymbol{T}} $ | (5) |
式中:
| $ \left\{\begin{array}{c}{s}_{l}\left(\begin{array}{c}{\boldsymbol{p}}_{\bf{l}}\\ 1\end{array}\right)={\boldsymbol{A}}_{\bf{l}}\left({\boldsymbol{I}}|{\bf{0}}\right)\left(\begin{array}{c}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}\\ 1\end{array}\right)\\ {s}_{r}\left(\begin{array}{c}{\boldsymbol{p}}_{\bf{r}}\\ 1\end{array}\right)={\boldsymbol{A}}_{\bf{r}}\left({\boldsymbol{R}}|{\boldsymbol{T}}\right)\left(\begin{array}{c}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}\\ 1\end{array}\right)\end{array}\right. $ | (6) |
式中:
通过张氏标定法[5]计算出两个相机的初始参数,建立两摄像机重投影误差之和的目标函数,该目标函数表达式如下:
| $ {f}_{1}=\sum\nolimits_{i=1}^{m}\sum\nolimits_{j=1}^{n}\left({||{\boldsymbol{p}}_{\bf{l}}^{ij}-{\widehat{{\boldsymbol{p}}}}_{{\bf{l}}}^{ij}||}^{2}+{||{\boldsymbol{p}}_{\bf{r}}^{ij}-{\widehat{\boldsymbol{p}}}_{\bf{r}}^{ij}||}^{2}\right) $ | (7) |
式中:m为标定板上有m个特征点;n为左、右摄像机在n个不同的位置获得的n对标定板图像;
| $ {\boldsymbol{P}}_{{\bf{c}}{\bf{r}}}^{ij}={\boldsymbol{R}}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}^{ij}+{\boldsymbol{T}} $ | (8) |
根据式(8),建立两摄像机之间位置关系的目标函数,其表达式如下:
| $ {f}_{2}=\sum\nolimits_{i=1}^{m}\sum\nolimits_{j=1}^{n}||{\boldsymbol{R}}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}^{ij}+{\boldsymbol{T}}-{\boldsymbol{P}}_{{\bf{c}}{\bf{r}}}^{ij}|| $ | (9) |
通过最小化式(9)所示的目标函数可以估计
由于目标函数有6个变量,并且在优化过程中很容易得到局部极小值,因此,涉及的计算过程很复杂。为了简化计算过程,本文提出了一种基于质心的计算方法。
1.3 基于质心的双目标定模型首先分别计算左、右相机所有特征点对应的质心,然后将坐标系的原点平移到质心。
| $\left\{ \begin{array}{l} {\overline {\boldsymbol{P}}}_{{\bf{c}}{\bf{l}}}=\dfrac{1}{m}\dfrac{1}{n}\displaystyle\sum\nolimits_{j=1}^{n}\displaystyle\sum\nolimits_{i=1}^{m}{\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}^{ij}\\ {\overline {\boldsymbol{P}}}_{{\bf{c}}{\bf{r}}}=\dfrac{1}{m}\dfrac{1}{n}\displaystyle\sum\nolimits_{j=1}^{n}\displaystyle\sum\nolimits_{i=1}^{m}{\boldsymbol{P}}_{{\bf{c}}{\bf{r}}}^{ij} \end{array} \right.$ | (10) |
将每个坐标系的原点转换成相应的质心,此时新的坐标可以转换为
| $\left\{ \begin{array}{l} {\widetilde {\boldsymbol{P}}}_{{\bf{c}}{\bf{l}}}^{ij}={\boldsymbol{P}}_{{\bf{c}}{\bf{l}}}^{ij}-{\overline {\boldsymbol{P}}}_{{\bf{c}}{\bf{l}}}\\ {\widetilde {\boldsymbol{P}}}_{{\bf{c}}{\bf{r}}}^{ij}={\boldsymbol{P}}_{{\bf{c}}{\bf{r}}}^{ij}-{\overline {\boldsymbol{P}}}_{{\bf{c}}{\bf{r}}} \end{array} \right.$ | (11) |
此时,各像点之间的关系如下:
| $ {\widetilde {{\boldsymbol{P}}}}_{{\bf{cl}}}^{ij}={\boldsymbol{R}}{\widetilde {{\boldsymbol{P}}}}_{{\bf{cr}}}^{ij} $ | (12) |
目标函数可以简化为如下:
| $ f\left({\boldsymbol{R}}\right)=\sum\nolimits_{i=1}^{m}\sum\nolimits_{j=1}^{n}||{\boldsymbol{R}}{\widetilde {{\boldsymbol{P}}}}_{{\bf{cr}}}^{ij}-{\widetilde {{\boldsymbol{P}}}}_{{\bf{cl}}}^{ij}|| $ | (13) |
旋转矩阵R可以通过最小化目标函数
| $ {\boldsymbol{T}}={\overline {{\boldsymbol{P}}}}_{{\bf{cr}}}-{\boldsymbol{R}}{\overline {{\boldsymbol{P}}}}_{{\bf{cl}}} $ | (14) |
得到平移矩阵
得到左、右两个图像坐标系统中的图像坐标后,需要得到三维重建的特征点。为此,利用最优三角剖分法[18],对图像坐标
| $ {\widehat{\boldsymbol{P}}}_{\bf{w}}^{ij}={\left({\boldsymbol{R}}_{\bf{l}}^{j}\right)}^{-1}\left({\widehat{\boldsymbol{P}}}_{{\bf{c}}{\bf{l}}}^{ij}-{\boldsymbol{T}}_{\bf{l}}^{j}\right) $ | (15) |
由此,通过
| $ \begin{split} & f\left({E}_{3{\rm{D}}}\right)={\rm{min}}\sum\nolimits_{i=1}^{m}\sum\nolimits_{j=1}^{n}||{\boldsymbol{P}}_{\bf{w}}^{ij}-\\ &{ {\widehat{\boldsymbol{P}}}_{\bf{w}}^{ij}\left({\boldsymbol{A}}_{\bf{l}},{\boldsymbol{A}}_{\bf{r}},{k}_{1l},{k}_{2l},{k}_{1r},{k}_{2r},{\boldsymbol{R}}_{\bf{l}}^{j},{\boldsymbol{T}}_{\bf{l}}^{j},{\boldsymbol{R}},{\boldsymbol{T}}\right)||}^{2} \end{split} $ | (16) |
将重构误差最小化,得到所有参数的最终值。为了更直观地表示标定方法的有效性,对三维重构误差进行了研究。利用平均重构误差
| $ {E}_{w}=\frac{1}{m}\frac{1}{n}\sum\nolimits_{i=1}^{n}\sum\nolimits_{j=1}^{m}\sqrt{{||{\boldsymbol{P}}_{\bf{w}}^{ij}-{\widehat{\boldsymbol{P}}}_{\bf{w}}^{ij}||}^{2}} $ | (17) |
式中,
对图像坐标
|
图 1 单目摄像机实现双目立体视觉 Figure 1 Monocular camera to achieve binocular stereo vision |
为了验证本文方法的有效性,建立了一个由单目摄像机和一维电控位移台组成的双摄像机系统。本文使用的摄像机分辨率为1600×1200,变焦范围为12 ~36 mm,像元尺寸为4.4 µm×4.4 µm,使用的标定板外形尺寸为400 mm×300 mm×5 mm,棋盘格尺寸为30 mm×30 mm,高精密一维电控位移台的分辨率为3.125 µm(8细分下),实验装置如图2所示。在图2中,位置1为左机位,位置2为右机位,分别表示同一水平线上单目摄像机的不同位置。利用一维电控位移台,使单目摄像机在左机位与右机位间移动,从而实现双目系统。
|
图 2 实验装置 Figure 2 Experimental equipment |
实验步骤如下:
(1)将单目摄像机固定于一维电控位移台上,在12 ~36 mm焦距范围内随机选取一组焦距值,保持标定板位置不动。一维电控位移台的往返步数设置为20000步,平移的理论距离为62.500 mm。
(2)在左、右机位分别采集左、右位置的标定板图像。改变标定板位姿,再采集左、右位置的标定板图像,得到左、右位置下各20对标定板图像,其中14对作为训练数据进行标定,另外6对用于测试。
(3)利用张氏标定法分别计算左、右相机的初始参数,并用质心距离增量矩阵计算出旋转矩阵R和平移矩阵T。
(4)重构标定点的三维坐标,利用平均重构误差建立优化目标函数,得到最终的校准结果。
2.2 实验结果相机的内参数和外参数的计算结果如表1、表2和表3所示,表中方法1是指文献[8]的方法,2D是指二维 优化方法,3D是指三维优化方法。表1和表2表示了用不同方法得到的内参和畸变系数,可以看出,不同的标定技术对这些参数的影响不大,因为这些参数取决于单台相机的成像传感器或光学透镜的特性。表3表示了用不同方法得到的外参,表中rx、ry、rz是旋转矩阵R的3个分量,tx、ty、tz是平移矩阵T的3个分量。从表3可以看出,不同技术得到的结构参数之间的差异更明显。结构参数在非线性优化过程中起着更为重要的作用,是影响标定结果的主要因素。
|
|
表 1 左相机内参数和畸变系数的比较 Table 1 Comparison of left camera internal parameters and distortion coefficients |
|
|
表 2 右相机内参数和畸变系数的比较 Table 2 Comparison of right camera internal parameters and distortion coefficients |
|
|
表 3 相机外参数的比较 Table 3 Comparison of external camera parameters |
对不同方法计算得到的参数进行三维物点重构,并用散点图直观地画出每个重构后的物点与其真值的误差分布图。图3是不同方法重构误差散点图,可以看出,经过优化和重构后,物点与其真值的误差明显减小。对不同方法获得的标定结果进行平均重构误差的计算,计算结果如表4所示。以
|
图 3 不同方法重构误差散点图 Figure 3 Reconstruction of error scatter graph by different methods |
|
|
表 4 平均重构误差统计 Table 4 Average reconstruction error statistics |
为了进一步验证标定算法的鲁棒性,在图像的角点坐标上加入均值为0、标准差为0~1像素的高斯噪声,每个噪声级为0.2。通过对每个噪声级进行25次的独立试验,得到平均结果,如图4所示。与传统的二维优化方法相比,在标定精度方面,本文提出的三维优化方法显然占优势。
|
图 4 平移矩阵和重构误差结果对比 Figure 4 Comparison of translation matrix and reconstruction error results |
对用于测试的特征点进行三维重构,得到三维重建结果,如图5所示,图中Position1~6表示6个不同位姿的标定板测试图上的所有特征点进行重构后的分布图。为进一步说明优化后的标定方法的有效性,利用得到的标定结果,对得到的图像进行立体畸变校正、极线对齐、立体匹配,最后得到视差图对应的三维空间位置。根据三维空间位置与二维像素点及视差的对应关系,对目标物体进行测量。图6是用3种方法得到的最终视差图,可以看出,3D优化后的视差图的特征轮廓最清晰。
|
图 5 测试数据的所有特征点重构图 Figure 5 Reconstruction of all feature points of the test data |
|
图 6 不同方法对应的立体匹配结果图 Figure 6 Stereo matching results of different methods |
对3种方法得到的视差图提取特征点,对实际尺寸为30 mm×30 mm的方格进行测量,每种方法各进行10次测试,得到的测试结果如表5所示。从测量结果的平均值和标准差统计中可以看出,3D方法使测量误差从0.1123 mm减小到0.0191 mm,标准差从0.1838减小到0.1275,说明测量结果更加精确,波动更小。
|
|
表 5 实物重构测量结果统计 Table 5 Statistics of physical reconstruction measurement results |
本文采用单摄像机和一维电控位移台实现了双摄像机系统。通过计算左、右摄像机位的初始参数,并引入质心坐标法计算两摄像机间的旋转平移矩阵。利用三角剖分重构标定点的三维坐标,计算重构坐标与真值间的重构误差。通过最小化重构误差来优化标定参数的方法。与传统方法相比,该误差直接反映了三维重构的效率,在精度和鲁棒性上得到了明显提高。研究结果表明,基于三维重构的标定误差能更加直观地提升后续三维重构的准确度,而基于单摄像机的立体视觉系统可以保证左右摄像机参数一致性。由于机械结构的限制,本方法目前还不适用于机器人导航、自动驾驶等一些实时性要求较高的任务。但是,在变焦标定领域有较广泛的应用,可为光学非接触式三维测量提供参考。
| [1] | LI Y E, CHENG Z B, YANG C, et al. Application of binocular stereo vision in radioactive source image reconstruction and multimodal imaging fusion[J]. IEEE Transactions on Nuclear Science, 2020, 67(11): 2454–2462. DOI:10.1109/TNS.2020.3022103 |
| [2] | YE J, XIA G S, LIU F, et al. 3D reconstruction of line-structured light based on binocular vision calibration rotary axis[J]. Applied Optics, 2020, 59(27): 8272–8278. DOI:10.1364/AO.403356 |
| [3] | 程子怡, 卢荣胜, 毛翠丽. 光亮表面双目立体视觉三维形貌测量方法[J]. 激光与光电子学进展, 2020, 57(7): 071202. |
| [4] | ZHOU Z L, YANG C N, CHEN B J, et al. Effective and efficient image copy detection with resistance to arbitrary rotation[J]. IEICE Transactions on Information and Systems, 2016, E99.D(6): 1531–1540. DOI:10.1587/transinf.2015EDP7341 |
| [5] | ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330–1334. DOI:10.1109/34.888718 |
| [6] | MAYBANK S J, FAUGERAS O D. A theory of self-calibration of a moving camera[J]. International Journal of Computer Vision, 1992, 8(2): 123–151. DOI:10.1007/BF00127171 |
| [7] | DE MA S. A self-calibration technique for active vision systems[J]. IEEE Transactions on Robotics and Automation, 1996, 12(1): 114–120. DOI:10.1109/70.481755 |
| [8] | 邹朋朋, 张滋黎, 王平, 等. 基于共线向量与平面单应性的双目相机标定方法[J]. 光学学报, 2017, 37(11): 1115006. |
| [9] | 殷晨晖, 褚鑫磊, 杨珊, 等. 单摄像机立体视觉测量系统的高精度变焦标定技术[J]. 光学技术, 2019, 45(6): 668–676. |
| [10] | CHAI X H, ZHOU F Q, CHEN X. Epipolar constraint of single-camera mirror binocular stereo vision systems[J]. Optical Engineering, 2017, 56(8): 084103. |
| [11] | CHAI X H, GAO F, HU Y. Mirror binocular calibration method based on sole principal point[J]. Optical Engineering, 2019, 58(9): 094109. |
| [12] | HEIKKILA J. Geometric camera calibration using circular control points[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(10): 1066–1077. DOI:10.1109/34.879788 |
| [13] | CUI Y, ZHOU F Q, WANG Y X, et al. Precise calibration of binocular vision system used for vision measurement[J]. Optics Express, 2014, 22(8): 9134–9149. DOI:10.1364/OE.22.009134 |
| [14] | JIA Z Y, YANG J H, LIU W, et al. Improved camera calibration method based on perpendicularity compensation for binocular stereo vision measurement system[J]. Optics Express, 2015, 23(12): 15205–15223. DOI:10.1364/OE.23.015205 |
| [15] | POULIN-GIRARD A S, THIBAULT S, LAURENDEAU D. Influence of camera calibration conditions on the accuracy of 3D reconstruction[J]. Optics Express, 2016, 24(3): 2678–2686. DOI:10.1364/OE.24.002678 |
| [16] | GAI S Y, DA F P, DAI X Q. A novel dual-camera calibration method for 3D optical measurement[J]. Optics and Lasers in Engineering, 2018, 104: 126–134. DOI:10.1016/j.optlaseng.2017.09.025 |
| [17] | LIU X, LIU Z Y, DUAN G F, et al. Precise and robust binocular camera calibration based on multiple constraints[J]. Applied Optics, 2018, 57(18): 5130–5140. DOI:10.1364/AO.57.005130 |
| [18] | ZHOU F Q, CUI Y, PENG B, et al. A novel optimization method of camera parameters used for vision measurement[J]. Optics & Laser Technology, 2012, 44(6): 1840–1849. |
2021, Vol. 43
Issue (5): 16-24


