Line structured light calibration system based on planar complementary target
-
摘要:
为提升线结构光传感器的标定效率与精度,设计了一种集成自背光可调节位姿的平面棋盘格-同心圆互补线结构光标定系统。该系统基于同心圆圆心的真实投影位置与投影椭圆圆心位置的几何关系,建立非线性优化偏心误差补偿模型,精确得到透射投影下圆心偏心误差补偿位置。该方法与传统标定方法对比降低重投影误差84.7%,有效解决了圆形标志物偏心误差补偿的高精度标定难题。通过将相机坐标系下过光心、光条中心线的平面与靶标平面结合,多次获取空间交线的坐标信息增加特征点,并使用最小二乘法拟合光平面方程,解决了因特征点少从而平面拟合标定精度较低的问题。在复杂环境下重复实验测得大尺寸砂轮外径误差均值为0.005 1 mm,结果表明该标定系统具有一定的准确性和简便实用性。
Abstract:To improve the calibration efficiency and accuracy of line structured light sensor, a plane checkerboard and concentric circle complementary line structured light calibration system was designed integrating with self-backlighting and pose-adjustable functions. Based on the geometric relationship between the real projection position of the concentric circle center and the center of projection ellipse, the nonlinear optimized compensation model for eccentric error was established, which precisely determined the eccentric error compensation position of the circle center under the perspective projection. Compared with the traditional calibration method, the proposed method reduced the re-projection error by 84.7% and effectively solved the problem of high-precision calibration for eccentric error compensation of circular markers. By combining the plane passing through the optical center and the center line of the light bar with the target plane in the camera coordinate system, the coordinate information of the spatial intersection lines was obtained for many times to increase the feature points, and the problem of lower calibration precision of plane fitting due to the fewer feature points was solved by using the least square method to fit the optic plane equation. In complex environments, the average error of the outer diameter of the large-size grinding wheel is 0.005 1 mm measured by repeated experiments, and the results show that the designed calibration system has certain precision, simplicity, and practicability.
-
引言
随着制造业加速迈向工业5.0,工业产品质量的把控更加依赖高精度检测技术。线结构光视觉测量方法因其精度高、响应快速、鲁棒性强、装置简便、非接触式等优点,在工业三维精密测量、三维重构、轨道安全等领域被广泛研究应用[1]。
相机透视投影模型参数标定和光平面方程确立是线结构光传感器标定核心部分[2-3]。特别是Zhang Z Y提出的基于二维标定靶物的经典标定方法[4],模型不限制靶物是棋盘格或圆形靶物,棋盘格提取的边缘角点或圆形拟合中心点均可作为关键标志点,标定需先使用CCD对二维靶物多次拍照,但实际重复试验中却存在以下问题[5-6]:1) 人为手持靶物易产生抖动形成噪声干扰;2) 人为主观多次改变靶物位姿,造成个别图片姿态重复严重影响标定精度与效率;3) 标定靶标面板材质多样,打印标志靶物锐度低成像引入像素误差或高反光面板表面成像引入噪声;4) 复杂环境下光强分布不均、过曝导致图像失真病态。因此,如何在复杂环境下改善图片质量、提升标定效率、改进标定系统装置等倍受科研人员和开发工作者专研[7]。
近年来,线结构光传感器标定基于相机透视投影模型,综合标志靶物的多样性、靶物与传感器位姿的灵活性,不断涌现出新型高精度标定方法。根据标定靶物可分为三类:一维、二维、三维标定靶物。在实际标定过程中,利用一维、二维标定靶物可自由移动不受限,操作灵活,近年来发展成熟,如:线纹尺、黑白棋盘格、单圆、同心圆、十字结构等。基于二维标定靶物的相机标定方法除了上述方法,Datta A等人通过实验表明,圆形靶标的标定精度高于边缘角点提取的棋盘格靶标,使用前者标定重投影误差明显提升60.8%,证明采用圆形标志靶物的标定算法准确性更高,但存在透射投影偏心误差[8];Shen Y等人对于透视投影引起的圆目标偏心误差提出了一种偏心误差补偿框架,该框架通过迭代将图像点细化到圆心的真实投影来补偿误差[9];而对于光平面标定,Wei Z Z等人基于消隐线原理确定了光平面的参数完成光平面标定,实验表明在500 mm×500 mm的视场内标定均方根误差为0.134 mm[10];Zhou F Q等人基于交比不变性原理,通过多次移动平面靶标获取控制点的坐标,经坐标变换后完成光平面标定,标定均方根误差为0.085 mm[11]。基于一维标定靶物的相机标定方法,邝泳聪等人提出了一种基于线纹尺的线结构光直接标定方法,利用获取的三维空间特征点的图像坐标并建立亚像素物像索引表,实现了系统的直接标定[12]。一维标定靶物应用相对较少,基于三维立体标志靶物的相机标定方法,利用高精度运动装置可获取丰富的目标信息实现高精度标定,但存在大视场标定受限、高精度三维标志靶物制作困难等弊端[13]。
本文针对现有线结构光标定存在的问题与局限性,从硬件装置上设计一种集成自背光可调节位姿的平面棋盘格-同心圆互补线结构光标定系统,通过分析同心圆圆心投影与真实投影拟合椭圆圆心点的位置关系,建立非线性优化最优解模型补偿修正偏心误差,同时增加空间特征点的数量使用最小二乘法拟合光平面方程,大幅度提升了标定精度与效率。
1 系统装置设计
系统装置设计时综合考虑位姿调节方式、靶标选择、补光方式等因素,集成自背光可调节位姿的互补靶标线结构光标定装置,如图1所示,主要由陶瓷基板(450 mm×360 mm)、激光直写棋盘格-同心圆互补二维标志靶物(7×9互质阵列棋盘格45 mm、内圆直径30 mm、相邻两圆圆心距90 mm、精度0.001 mm)、光敏树脂3D打印壳体(480 mm×400 mm×40 mm)、自背光高亮LED集成光源(灯珠62 颗、24 V供电、光强100 000 lux±2 000 lux)、位姿调节器(X、Y方向:0~360°、Z方向:−45°~45°)和伸缩高度连杆(调节范围0~1 500 mm)组成,平面互补靶标系统装置参数如表1所示。
表 1 平面互补靶标系统装置参数Table 1. Parameters of planar complementary target system device参数 数值 参数 数值 电压/V 24 LED 数量/颗 62 基板尺寸/mm 450×360 激光直
写精度/mm0.001 壳体尺寸/mm 480×400×40 高照强度/lux 100 000±2 000 棋盘格边长/mm 45 可调节
高度/mm0~1 500 内圆直径/mm 30 相邻两圆
圆心距/mm90 X、Y方向
可调节角度/(°)0~360 Z方向
可调节角度/(°)−45~45 系统装置与市面独立视觉标定板对比,具备整体集成性高、位姿调节灵活、漫反射材质靶标锐度高,复杂环境下背光均匀有效剔除杂散光干扰,释放人工避免主动引入噪声,提升多次取照效率等优势。
2 线结构光传感器标定原理
2.1 单目相机标定原理
单目相机透视投影模型标定是线结构光传感器标定的首要环节。相机模型描述的是将三维世界坐标点映射到二维图像平面的过程,可以理解是将三维空间特征点投影映射至二维图像点的数学模型。通过对单目相机模型标定获得单应性矩阵,即可将任意一点三维世界坐标转换为二维的图像坐标。
单目相机投影成像数学模型如图2所示, $ {O_{\text{c}}} $为CCD相机光心,$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $为三维相机坐标系,$ {O_{\text{w}}}{X_{\text{w}}}{Y_{\text{w}}}{Z_{\text{w}}} $为三维世界坐标系,$ {O_{\text{u}}}uv $为二维像素坐标系, $ Oxy $为二维图像坐标系,焦距$ f $为相机光心$ {O_{\text{c}}} $点到二维坐标系$ {\text{O}} $点的距离。以650 nm线激光器在平面靶标上发射的光条AB为例,三维世界坐标系下$ Q $点的齐次坐标为${\left({x}_{\text{w}},{y}_{\text{w}},{{\textit{z}}}_{\text{w}},1\right)}^{{\rm{T}} }$,三维相机坐标系下的齐次坐标为${\left({x}_{\text{c}},{y}_{\text{c}},{{\textit{z}}}_{\text{c}},1\right)}^{{\rm{T}} }$, $ Q'' $在二维图像坐标系下的齐次坐标为$ (x,y,1{)}^{{\rm{T}} } $,$ Q' $在二维像素坐标系下的齐次坐标为$ {\left(u,v,1\right)}^{{\rm{T}} } $。
根据针孔相机模型,相机投影成像模型表示为
$$ \begin{gathered} s\left[ {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\dfrac{1}{{{\rm{d}}x}}}&0&{{u_0}} \\ 0&{\dfrac{1}{{{\rm{d}}y}}}&{{v_0}} \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} f&0&0&0 \\ 0&f&0&0 \\ 0&0&1&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{R}}_{3 \times 3}}}&{{{\boldsymbol{T}}_{3 \times 1}}} \\ 0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ {{{\textit{z}}_{\text{w}}}} \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{f_{{x}}}}&0&{{u_0}} \\ 0&{{f_{{y}}}}&{{v_0}} \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{R}}_{3 \times 3}}}&{{{\boldsymbol{T}}_{3 \times 1}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ {{{\textit{z}}_{\text{w}}}} \\ 1 \end{array}} \right] = \\ {{\boldsymbol{M}}_1}{{\boldsymbol{M}}_2}\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ {{{\textit{z}}_{\text{w}}}} \\ 1 \end{array}} \right] \\ \end{gathered} $$ (1) 式中:$ s $为比例因子;$ {{\boldsymbol{M}}_1} $、$ {{\boldsymbol{M}}_2} $分别表示相机的内参矩阵和外参矩阵;$ {\boldsymbol{R}} $、$ {\boldsymbol{T}} $分别表示三维世界坐标系变换为二维相机坐标系所对应的旋转、平移矩阵;$ {\rm{d}}x $和$ {\rm{d}}y $分别表示单个像素在$ x $轴和$ y $轴的物理尺寸;$ {f_{{x}}} $、$ {f_{{y}}} $分别表示单目相机在二维坐标系下$ u $轴和$ v $轴的物理焦距;$ {u_0} $、$ {v_0} $分别表示主点$ {{O}} $在像素坐标系下的相对偏移量。
当使用二维标志靶物标定CCD相机时,如图2所示将三维世界坐标系建立在二维标志靶物平面上,简化计算$ {{\textit{z}}_{\text{w}}}{\text{ = }}0 $,则式(1)可以简化为
$$ \begin{gathered} \qquad\qquad s\left[ {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right] = {{\boldsymbol{M}}_1}\left[ {\begin{array}{*{20}{c}} {{r_1}}&{{r_2}}&{{r_3}}&t \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ 0 \\ 1 \end{array}} \right] = {{\boldsymbol{M}}_1}\left[ {\begin{array}{*{20}{c}} {{r_1}}&{{r_2}}&t \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ 1 \end{array}} \right] = {\boldsymbol{H}}\left[ {\begin{array}{*{20}{c}} {{x_{\text{w}}}} \\ {{y_{\text{w}}}} \\ 1 \end{array}} \right] \\ \\ \end{gathered} $$ (2) Zhang Z Y提出的方法是通过标定多张图像的单应性矩阵$ {\boldsymbol{H}} $,将输入的三维投影关键标志点坐标与二维平面图像点坐标逼近,给出了一个较为准确的数值解作为初始值用于基于最小二乘法计算最优化,分步求解相机内外参数,提高了标定算法的精确度与鲁棒性。但是由于透镜叠加、相机传感器与镜头不平行等原因,产生径向畸变$ k = \left( {{k_1},{k_2},{k_3}} \right) $和切向畸变$ p = \left( {{p_1},{p_2}} \right) $。当使用5个畸变因子结果足够逼近畸变模型,可将测量精度提至$ {\text{1}}{{\text{0}}^{ - 4}} $ mm, 代入优先级为:$ {k}_{1}、{k}_{2}、{p}_{1}、{p}_{2}、{k}_{3} $,相机畸变模型$ x、y $方向上的表达式为
$$ \left\{ \begin{array}{l} {\delta }_{x}=x(1+{k}_{\text{1}}{r}^{2}+{k}_{\text{2}}{r}^{4}+{k}_{\text{3}}{r}^{6}+\cdot \cdot \cdot )+2{p}_{1}xy+{p}_{2}({r}^{2}+2{x}^{2})\\ {\delta }_{y}=y(1+{k}_{\text{1}}{r}^{2}+{k}_{\text{2}}{r}^{4}+{k}_{\text{3}}{r}^{6}+\cdot \cdot \cdot )+2{p}_{1}xy+{p}_{2}({r}^{2}+2{y}^{2})\end{array} \right. $$ (3) 加入畸变因子,寻找三维投影关键点与二维检测点在最小二乘意义下的最小位置差值为目标,更新优化所有相机参数,建立最优化目标函数为
$$ \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^m {||{m_{ij}} - m'({{\boldsymbol{M}}_1},{r_i},{t_i},{{\boldsymbol{M}}_j}')|{|^2}} } $$ (4) 式中:图像坐标$ (x,y) $到主点$ O $的距离为$ r = \sqrt {{x^2} + {y^2}} $;$ {m_{ij}} $为二维第$ i $张拍摄图像第$ j $个关键标志点的像素坐标;$ m'({{\boldsymbol{M}}_1},{r_i},{t_i},{{\boldsymbol{M}}_j}') $为三维关键标志点$ {{\boldsymbol{M}}_j}' $的投影坐标。
2.2 基于非线性优化最优解模型的偏心误差补偿算法
在标定图片拍摄时,相机成像平面与平面标志靶物非正拍时存在平面夹角,圆形靶标被映射为扭曲椭圆,同心圆圆心的真实投影位置与实际投影椭圆圆心位置存在偏差,即被定义为偏心误差。偏心误差的大小主要与圆心靶标直径、拍摄角度等密切相关。
对于投影椭圆圆心位置的确定,先进行椭圆边缘定位,对椭圆边缘使用sobel算子定位像素级边缘$ \xi ' $,再应用Zernike矩像素定位亚像素级边缘$ \xi $,在边缘像素带上取点拟合椭圆方程[14-15]。通过重复性试验,如图3所示,sobel算子边缘提取结果存在边缘过粗、边缘毛刺、不连续断点等情况。实验保留3个像素的边缘带,可以使亚像素边缘提取处理的数据量大幅减少,兼顾实时处理速度,传统Zernike矩算法边缘检测的绝对误差值在0.5个像素范围内,故分别取值作为像素级边缘和亚像素级边缘的像素约束条件。
为提高标定精度在拟合内外偏心圆方程$ {E}_{1}、 {E}_{2} $时,对像素级边缘$ \xi ' $和亚像素级边缘$ \xi $进行像素约束:
$$ \left\{ {\begin{array}{*{20}{l}} {{E_1}:\dfrac{{{x^2}}}{{{a_1}{'^2}}} + \dfrac{{{y^2}}}{{{b_1}{'^2}}} = 1,{E_2}:\dfrac{{{x^2}}}{{{a_2}{'^2}}} + \dfrac{{{y^2}}}{{{b_2}{'^2}}} = 1} \\ {0 \leqslant \xi ' \leqslant 3,0 \leqslant \xi \leqslant 0.5} \end{array}} \right. $$ (5) 如图4所示,$ V $点为平面靶标圆心; $ v $点为二维图像平面上靶标圆心真实圆心投影;$ {r}_{1}、{r}_{2} $分别为平面靶标同心圆的内外圆直径;根据亚像素点拟合椭圆方程的圆心分别为$ {v}_{\text{1}}、{v}_{\text{2}},v' $为偏心误差算法补偿后的三维投影输入点坐标; $ {O}_{\text{c}}\text{V}、{O}_{\text{c}}\text{v}、 {O}_{\text{c}}\text{C}、{O}_{\text{c}}\text{D}、{O}_{\text{c}}\text{A}、{O}_{\text{c}}\text{B} $的长度分别为$ l、l'、{l}_{1}、{l}_{2}、 {l}_{3}、{l}_{4} $,${O_{\rm{C}}}V$与$ OC、OD、OA、OB $的夹角分别为$ {\alpha }_{1}、 \;{\beta }_{1}、{\alpha }_{2}、{\beta }_{2} $。
为精确定位偏心补偿点$ v' $,首先必须明确圆心真实投影点的位置,也就是找到$ l、{l}_{1}、{l}_{2}、{l}_{3}、{l}_{4} $与$ {\alpha }_{1}、{\beta }_{1}、{\alpha }_{2}、{\beta }_{2} $之间的关系,根据三角关系有:
$$ \left\{ {\begin{array}{*{20}{c}} {\cos {\alpha _1}{\text{ = }}\dfrac{{{l^2} + {l_1}^2 - {r_1}^2}}{{2l{l_1}}},\cos {\beta _1}{\text{ = }}\dfrac{{{l^2} + {l_2}^2 - {r_1}^2}}{{2l{l_2}}}} \\ {\cos {\alpha _2}{\text{ = }}\dfrac{{{l^2} + {l_3}^2 - {r_2}^2}}{{2l{l_3}}},\cos {\beta _2}{\text{ = }}\dfrac{{{l^2} + {l_4}^2 - {r_2}^2}}{{2l{l_4}}}} \end{array}} \right. $$ (6) 根据Zhang Z Y提出的经典标定方法,以平面互补靶标的外棋盘格边缘角点为目标,通过Matlab calibration tool标定相机模型参数$ {f}_{{x}}、{f}_{y}、{u}_{\text{0}}、{v}_{\text{0}} $作为迭代优化初始值,由向量公式、三维相机坐标系与二维像素坐标系的转换关系,可得:
$$ \left\{ \begin{array}{l}\mathrm{cos}\;{\alpha }_{1}=\dfrac{{{\boldsymbol{OV}}}·{{\boldsymbol{OC}}}}{\left|{{\boldsymbol{OV}}}\right|\left|{{\boldsymbol{OC}}}\right|},\mathrm{cos}\;{\beta }_{1}=\dfrac{{{\boldsymbol{OV}}}·{{\boldsymbol{OD}}}}{\left|{{\boldsymbol{OV}}}\right|\left|{{\boldsymbol{OD}}}\right|}\\ \mathrm{cos}\;{\alpha }_{2}=\dfrac{{{\boldsymbol{OV}}}·{{\boldsymbol{OA}}}}{\left|{{\boldsymbol{OV}}}\right|\left|{{\boldsymbol{OA}}}\right|},\mathrm{cos}\;{\beta }_{2}=\dfrac{{{\boldsymbol{OV}}}·{{\boldsymbol{OB}}}}{\left|{{\boldsymbol{OV}}}\right|\left|{{\boldsymbol{OB}}}\right|}\end{array} \right. $$ (7) $$ \left\{ {\begin{array}{*{20}{l}} { {{\boldsymbol{OC}}} = \left[ {\dfrac{{{x_{{C}}} - {u_0}}}{{{f_{{x}}}}},\dfrac{{{y_{{C}}} - {v_0}}}{{{f_{{y}}}}},1} \right], {{\boldsymbol{OD}}} = \left[ {\dfrac{{{x_{{D}}} - {u_0}}}{{{f_{{x}}}}},\dfrac{{{y_{{D}}} - {v_0}}}{{{f_{{y}}}}},1} \right]} \\ { {{\boldsymbol{OA}}} = \left[ {\dfrac{{{x_{{A}}} - {u_0}}}{{{f_{{x}}}}},\dfrac{{{y_{{A}}} - {v_0}}}{{{f_{{y}}}}},1} \right], {{\boldsymbol{OB}}} = \left[ {\dfrac{{{x_{{B}}} - {u_0}}}{{{f_{{x}}}}},\dfrac{{{y_{{B}}} - {v_0}}}{{{f_{{y}}}}},1} \right]} \\ { {{\boldsymbol{OV}}} = \left[ {\dfrac{{{x_{{V}}} - {u_0}}}{{{f_{{x}}}}},\dfrac{{{y_{{V}}} - {v_0}}}{{{f_{{y}}}}},1} \right]} \end{array}} \right. $$ (8) 结合式(2)和式(3),可化简求得$ l $的参数值:
$$ l = \frac{{{r_1}\sin \left( {{\alpha _1} + {\beta _1}} \right)\sqrt {2\left( {{{\sin }^2}{\alpha _1} + {{\sin }^2}{\beta _1}} \right) - {{\sin }^2}\left( {{\alpha _1}{\text{ + }}{\beta _1}} \right)} }}{{2\left( {{{\sin }^2}{\alpha _1} + {{\sin }^2}{\beta _1}} \right) - {{\sin }^2}\left( {{\alpha _1}{\text{ + }}{\beta _1}} \right)}} $$ (9) 通过相似关系可确定$ l' $的参数值大小,而在实际标定实验中,因标定距离和角度不同,确定的$ l' $参数值也不同,定位的真实圆心投影位置$ v $点也会产生明显邻域偏差,进而可以确定出的$ v $点只能作为圆心伪投影点。由图4(b)可知,在成像平面圆心真实投影与拟合椭圆的圆心存在着位置偏差,且随着圆心靶标直径的增大,拟合椭圆圆心与$ v $点的距离越大。在像素坐标系下,分别将拟合出的$ {v}_{1}、{v}_{2} $点与$ v $点带入直线方程,确定出$ {L}_{1}、{L}_{2} $:
$$ {L_1}:{{{A}}_1}x + {{{B}}_{{1}}}y + {{{C}}_{{1}}}{{ = 0}},\;\;\;\;\;{L_2}:{{{A}}_2}x + {{{B}}_{{2}}}y + {{{C}}_{{2}}}{{ = 0}} $$ (10) 在标定过程中,当相机成像平面与标志靶物存在位姿倾角时, $ {v}_{1}、{v}_{2} $点与$ v $点间的偏心误差在可行倾角范围内分别存在着二次非线性关系。记$ v $点与$\varepsilon '=\left|\overrightarrow{{\boldsymbol{v}}{{\boldsymbol{v}}}_{1}}\right|、与\varepsilon ''=\left|\overrightarrow{{\boldsymbol{v}}{{\boldsymbol{v}}}_{2}}\right|$,以$ {v_1} $为中心建立$ {v_1}{x_p}{y_p} $二维像素坐标系,可根据$ \varepsilon '、\varepsilon '' $的权重$ w{t}_{1}、w{t}_{2} $确定$ {\theta }_{1}、{\theta }_{2} $的角度比例,进而确定补偿点所在直线斜率。$ j $为$ i $张图像中偏心误差的个数,联立$ v $点坐标可得补偿直线$ L $方程:
$$ \left\{ {\begin{array}{*{20}{l}} {L:y = - \tan \left[ {2\pi -\left( {1 + w{t_1}} \right)\arctan \left( { - \dfrac{{{{{A}}_1}}}{{{{{B}}_1}}}} \right) + w{t_1}\arctan \left( { - \dfrac{{{{{A}}_2}}}{{{{{B}}_2}}}} \right)} \right]{{x + C = 0}}} \\ \;\;\;\;\;\; {w{t_1} = \dfrac{{\displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon {'_{ij}}} } }}{{\displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon {'_{ij}}} } + \displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon '{'_{ij}}} } }},w{t_2} = \dfrac{{\displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon '{'_{ij}}} } }}{{\displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon {'_{ij}}} } + \displaystyle\sum\limits_{i = 1}^{{n}} {\displaystyle\sum\limits_{j = 1}^m {\varepsilon '{'_{ij}}} } }}} \end{array}} \right. $$ (11) 以$ v $点为圆心,$ d = \sqrt {{{\left( {{x_{v1}} - {x_v}} \right)}^2} + {{\left( {{y_{v1}} - {y_v}} \right)}^2}} $为直径的圆与直线$ L $可得焦点$ {v_1}' $,由两偏心椭圆的圆心偏差权重进而对$ d $进行补偿,得到逼近同心圆圆心的真实投影点的补偿位置作为三维投影关键标志输入点坐标$\left({x}_{v'},{\text{y}}_{v'}\right)$,偏心误差最优解目标函数为
$$ F{\left( {d'} \right)_{{\rm{opt}}}} = \left| {\overrightarrow {{\boldsymbol{vv}}'} } \right| = \left| {d - \frac{{\displaystyle\sum\limits_{i{\text{ = 1}}}^u {{\varepsilon _{{\text{1}}i}}} }}{u}} \right| = \sqrt {{{\left( {{x_{v'}} - {x_v}} \right)}^2} + {{\left( {{y_{v'}} - {y_v}} \right)}^2}} $$ (12) 相机模型重新标定后将标定参数更新迭代初始值,重复执行当前后两次定位点偏心误差误差变化小于阈值条件0.01 pixel停止迭代,此时位置点坐标$ \left({x}_{v'},{\text{y}}_{v'}\right) $为最优偏差误差补偿点。
2.3 光平面标定
确定线结构光平面方程是线结构光传感器标定的另一关键环节,求取图2中二维像素坐标系下光条的直线方程$ {l_{ab}} $:
$$ a'u + b'v + c' = 0 $$ (13) 式中:$a'、b'、c'$是直线方程$ {l_{ab}} $的系数;$ \left( {u,v} \right) $是二维像素坐标系下的坐标,单位pixel。二维像素平面坐标系$ {O_{\text{u}}}uv $经过相机内参矩阵到三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $的变换关系为
$$ \left( {a',b',c'} \right)\left[ {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right] = \left( {a',b',c'} \right)\left[ {\begin{array}{*{20}{c}} {{f_{{x}}}}&0&{{u_0}} \\ 0&{{f_{{y}}}}&{{v_0}} \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ y \\ 1 \end{array}} \right] $$ (14) 经坐标变换在三维相机坐标系下的直线方程$ {L_{AB}} $为
$$ \left\{ {\begin{array}{*{20}{l}} {{a_1}'{x_{\text{c}}} + {b_1}'{y_{\text{c}}} + {c_1}' = 0} \\ {{{\textit{z}}_{\text{c}}} = f} \end{array}} \right. $$ (15) 式中:${{a}_{1}}'、{{b}_{1}}'、{{c}_{1}}'$是直线方程$ {L_{AB}} $的系数;$\left( {{x_{\rm{c}}},{y_{\rm{c}}},{{\textit{z}}_{\rm{c}}}} \right)$为三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下的坐标;$ f $为相机内参焦距,单位mm;三维相机坐标系下相机光心$ {O_{\text{c}}} $与直线$ {L_{AB}} $可确立平面$ {O_{\text{c}}}AB $,光心原点$ {O_{\text{c}}} $与直线${L_{AB}} $联立可得平面$ {O_{\text{c}}}AB $方程$ {L_{{O_{\text{c}}}AB}} $:
$$ {a_1}'{x_{\text{c}}}f + {b_1}'{y_{\text{c}}}f + {c_1}'{{\textit{z}}_{\text{c}}}f = 0 $$ (16) 通过经相机外参的坐标变换关系,二维标志靶物平面在三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下的方程为
$$ \left( {0{\text{ }}0{\text{ }}1{\text{ }}0} \right)\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{R}}_{3 \times 3}}}&{{{\boldsymbol{T}}_{3 \times 1}}} \\ 0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_{\text{c}}}} \\ {{y_{\text{c}}}} \\ {{{\textit{z}}_{\text{c}}}} \\ 1 \end{array}} \right] = 0 $$ (17) 联立式(16)和式(17),可以得到在三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下的光条中心线方程:
$$ \left\{ {\begin{array}{*{20}{l}} {{a_1}'{x_{\text{c}}}f + {b_1}'{y_{\text{c}}}f + {c_1}'{{\textit{z}}_{\text{c}}}f = 0} \\ {{a_{{\text{c1}}}}{x_{\text{c}}} + {b_{{\text{c1}}}}{y_{\text{c}}}f + {c_{{\text{c1}}}}{{\textit{z}}_{\text{c}}} + {d_{{\text{c}}1}} = 0} \end{array}} \right. $$ (18) 式中:$ {a}_{\text{c}1}、{b}_{\text{c}1}、{c}_{\text{c}1}、{d}_{\text{c}1} $为三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下二维标志靶物平面方程系数。在求解空间平面方程时存在因特征点少、拟合精度较低的问题,多次改变二维标志靶物位姿,得到三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下多条光条中心线方程式。提取光条中心上的三维坐标点信息,增加特征点数量,应用最小二乘法拟合确定三维相机坐标系$ {O_{\text{c}}}{X_{\text{c}}}{Y_{\text{c}}}{Z_{\text{c}}} $下线结构光光平面方程,完成光平面标定:
$$ {{{A}}_{\text{c}}}{x_{\text{c}}} + {{{B}}_{\text{c}}}{y_{\text{c}}} + {{{C}}_{\text{c}}}{{\textit{z}}_{\text{c}}} + {{{D}}_{\text{c}}} = 0 $$ (19) 3 实验结果与精度分析
3.1 相机标定实验
相机标定实验使用的是大恒公司的MER-134-93U3M/C-L相机,分辨率为1 280 pixel × 1 024 pixel;镜头为Computar公司的M1614-MP2,焦距f=16 mm。实验先对平面互补标靶拍摄20张不同位姿的图像,以棋盘格角点为目标,在Matlab R2021b的相机标定工具中进行传统方法标定。为确定权重$ w{t}_{1}、w{t}_{2} $的参数值,每次标定计算180 组内外椭圆的偏心误差,重复多次试验后对圆心偏心误差$ \varepsilon '、 \varepsilon '' $数据分析可知,$ \varepsilon ' $、$ \varepsilon '' $分别在(0.9~1.2) 个像素、(1.9~2.3 )个像素区间内波动,如图5所示,进而计算确定出同心内外圆的权重值$ w{t}_{1}、w{t}_{2} $分别为0.327、0.629 。
将确定的权重值带回非线性优化偏心误差补偿模型,精确定位偏心补偿点作为关键标志输入点进行相机标定,所提标定方法与基于棋盘格角点的传统标定方法的标定结果对比如表2所示。
表 2 所提方法与传统方法的标定结果对比Table 2. Comparison of calibration results between proposed method and traditional method参数 传统方法
标定值所提方法
标定值$ {f_{\text{x}}} $ 346.636 0 347.113 3 $ {f_{\text{y}}} $ 343.483 7 344.163 7 u0 633.887 6 634.137 1 v0 515.955 3 514.325 8 $ {\text{RMS}} $ 0.213 7 0.032 6 业内公认采用重投影误差均值来评价相机标定精度,所提方法的标定参数$ {\text{RMS}} $为0.032 6 pixel,传统标定方法的标定参数$ {\text{RMS}} $为0.213 7 pixel,标定精度大幅提升了84.7%。且主点$ {u_0} $、$ {v_0} $理论值应为相机分辨率的二分之一,所提方法的标定结果较传统方法更为接近。
3.2 光平面标定与现场测量
完成相机内外参标定后,对多张含光条的靶标图像按照所提方法提取光条中心线方程式,并获取光条中心上的三维点坐标信息以增加特征点数量。通过最小二乘法拟合光平面方程,拟合线结构光平面如图6所示,线结构光平面方程系数分别为:$ {A}_{\text{c}}=-0.342\text{ }3,{B}_{\text{c}}=-0.882\text{ }1、{C}_{\text{c}}=0.694\text{ }2,{D}_{\text{c}}= -194.121\text{ }0 $。
为了进一步量化测试标定精度,针对大尺寸工件人工测量效率低、精度差的问题,我们在存在空间杂散光影响、机械振动等复杂环境下进行了现场实物测试。选取外径800 mm的砂轮作为待测物,并对其进行多次图像拍摄,利用Steger 算法对透射在待测物上的光条中心线进行提取[16],如图7所示。通过线结构光光平面方程对光条中心线进行计算,经坐标变换即可测得待测物的测量尺寸。重复10次试验,将多次测量值与人工接触式测量结果对比,如表3所示。
表 3 砂轮测量结果对比Table 3. Comparison of measurement results of grinding wheels测量序号 标准值/mm 人工测量
值/mm系统测量值/mm 1 799.998 799.998 799.994 2 2 800.001 799.992 7 3 799.898 800.005 1 4 799.899 799.993 5 5 800.001 800.004 6 6 799.998 799.995 3 7 799.999 800.004 8 8 800.098 799.993 9 最大误差值/mm 0.100 0 0.007 1 误差均值/mm 0.038 2 0.005 1 均方差/mm 0.064 1 0.005 7 由表3分析可得,人工接触式测量受主观判断影响存在读数偏差的情况,最大误差值为0.100 0 mm,多次测量误差均值为0.038 2 mm,人工测量值均方差大于系统测量值均方差,系统测量值整体稳定,最大误差值为0.007 1 mm,误差均值为0.005 1 mm。
4 结论
针对线结构光传感器标定拍摄图片时受环境杂散光影响、人为主观扰动等一系列问题,本文从硬件上设计了一种集成自背光可调节位姿的互补靶标线结构光标定装置。对于圆形标志靶物透射投影产生偏心误差,提出了一种非线性优化最优解模型的偏心误差补偿算法,精确定位偏心补偿点坐标,与传统方法对比大幅提升标定精度。通过拟合二维像素坐标系下的光条直线方程,经坐标变换后与相机光心确定平面方程,联立靶标平面方程可确定出空间直线方程式,获取多条空间光条直线方程信息以增加特征点数量,应用最小二乘法拟合标定出线结构光平面方程。为进一步测试标定精度,在复杂环境下装置测得大尺寸砂轮外径误差均值为0.005 1 mm,实验结果表明该线结构光标定系统能够满足现场测试的要求。
-
表 1 平面互补靶标系统装置参数
Table 1 Parameters of planar complementary target system device
参数 数值 参数 数值 电压/V 24 LED 数量/颗 62 基板尺寸/mm 450×360 激光直
写精度/mm0.001 壳体尺寸/mm 480×400×40 高照强度/lux 100 000±2 000 棋盘格边长/mm 45 可调节
高度/mm0~1 500 内圆直径/mm 30 相邻两圆
圆心距/mm90 X、Y方向
可调节角度/(°)0~360 Z方向
可调节角度/(°)−45~45 表 2 所提方法与传统方法的标定结果对比
Table 2 Comparison of calibration results between proposed method and traditional method
参数 传统方法
标定值所提方法
标定值$ {f_{\text{x}}} $ 346.636 0 347.113 3 $ {f_{\text{y}}} $ 343.483 7 344.163 7 u0 633.887 6 634.137 1 v0 515.955 3 514.325 8 $ {\text{RMS}} $ 0.213 7 0.032 6 表 3 砂轮测量结果对比
Table 3 Comparison of measurement results of grinding wheels
测量序号 标准值/mm 人工测量
值/mm系统测量值/mm 1 799.998 799.998 799.994 2 2 800.001 799.992 7 3 799.898 800.005 1 4 799.899 799.993 5 5 800.001 800.004 6 6 799.998 799.995 3 7 799.999 800.004 8 8 800.098 799.993 9 最大误差值/mm 0.100 0 0.007 1 误差均值/mm 0.038 2 0.005 1 均方差/mm 0.064 1 0.005 7 -
[1] 唐寒冰, 巢渊, 刘文汇, 等. 基于机器视觉的大尺寸零件测量方法研究综述[J]. 电子测量技术,2021,44(17):33-40. TANG Hanbing, CHAO Yuan, LIU Wenhui, et al. Review of measurement methods of large-size parts based on machine vision[J]. Electronic Measurement Technology,2021,44(17):33-40.
[2] 张曦, 张健. 线结构光标定方法综述[J]. 激光与光电子学进展,2018,55(2):7-17. ZHANG Xi, ZHANG Jian. Summary on calibration method of line-structured light[J]. Laser & Optoelectronics Progress,2018,55(2):7-17.
[3] 石岩青, 常彩霞, 刘小红, 等. 面阵相机内外参数标定方法及进展[J]. 激光与光电子学进展,2021,58(24):9-29. SHI Yanqing, CHANG Caixia, LIU Xiaohong, et al. Calibration methods and progress for internal and external parameters of area-array camera[J]. Laser & Optoelectronics Progress,2021,58(24):9-29.
[4] ZHANG Z Y. 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
[5] RANGAYYAN R M, ELKADIKI S G. Algorithm for the computation of region-based image edge profile acutance[J]. Journal of Electronic Imaging,1995,4(1):62-70. doi: 10.1117/12.191329
[6] DOUXCHAMPS D, CHIHARA K. High-accuracy and robust localization of large control markers for geometric camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(2):376-383. doi: 10.1109/TPAMI.2008.214
[7] 徐光祐, 刘立峰, 曾建超, 等. 一种新的基于结构光的三维视觉系统标定方法[J]. 计算机学报,1995,18(6):450-456. doi: 10.3321/j.issn:0254-4164.1995.06.008 XU Guangyou, LIU Lifeng, ZENG Jianchao, et al. A new method of calibration in 3d vision system based on structure-light[J]. Chinese Journal of Computers,1995,18(6):450-456. doi: 10.3321/j.issn:0254-4164.1995.06.008
[8] DATTA A, KIM J S, KANADE T. Accurate camera calibration using iterative refinement of control points[C]//2009 IEEE 12th International Conference on Computer Vision Workshops. Kyoto: IEEE, 2009: 1201-1208.
[9] SHEN Y J, ZHANG X, CHENG W, et al. Quasi-eccentricity error modeling and compensation in vision metrology[J]. Measurement Science and Technology,2018,29(4):045006. doi: 10.1088/1361-6501/aaa5e7
[10] WEI Z Z, LI C Q, DING B S. Line structured light vision sensor calibration using parallel straight lines features[J]. Optik,2014,125(17):4990-4997. doi: 10.1016/j.ijleo.2014.04.004
[11] ZHOU F Q, ZHANG G J. Complete calibration of a structured light stripe vision sensor through planar target of unknown orientations[J]. Image and Vision Computing,2005,23(1):59-67. doi: 10.1016/j.imavis.2004.07.006
[12] 邝泳聪, 崔亮纯. 基于线纹尺的线结构光视觉传感器标定新方法[J]. 华南理工大学学报(自然科学版),2016,44(1):71-77. KUANG Yongcong, CUI Liangchun. A new calibration method for line-structured light vision sensor based on linear scale[J]. Journal of South China University of Technology (Natural Science Edition),2016,44(1):71-77.
[13] LIU Z, LI X J, LI F J, et al. Calibration method for line-structured light vision sensor based on a single ball target[J]. Optics and Lasers in Engineering,2015,69:20-28. doi: 10.1016/j.optlaseng.2015.01.008
[14] 刘悦, 朱均超. 基于改进Zernike矩的光斑图像亚像素边缘检测算法[J]. 激光杂志,2021,42(5):32-35. LIU Yue, ZHU Junchao. Sub-pixel edge detection algorithm of spot image based on improved Zernike moment[J]. Laser Journal,2021,42(5):32-35.
[15] 祝宏, 曾祥进. Zernike矩和最小二乘椭圆拟合的亚像素边缘提取[J]. 计算机工程与应用,2011,47(17):148-150. doi: 10.3778/j.issn.1002-8331.2011.17.040 ZHU Hong, ZENG Xiangjin. Sub-pixel edge detection algorithm of Zernike moments and least-squares ellipse fitting[J]. Computer Engineering and Applications,2011,47(17):148-150. doi: 10.3778/j.issn.1002-8331.2011.17.040
[16] 陈卫卫, 王卫星, 李润青, 等. 基于水动力学、分数阶微分及Steger算法的线状目标提取[J]. 中国图象图形学报,2020,25(7):1436-1446. doi: 10.11834/jig.190278 CHEN Weiwei, WANG Weixing, LI Runqing, et al. Linear object extraction based on hydrodynamics, fractional differential and Steger algorithm[J]. Journal of Image and Graphics,2020,25(7):1436-1446. doi: 10.11834/jig.190278
-
期刊类型引用(3)
1. 魏习江,张锦,张晨,蒋世磊,王少颖,蒋大成,刘宝怡. 8~32倍连续变倍枪瞄镜光学系统设计. 光学与光电技术. 2024(01): 77-82 . 百度学术
2. 常伟军,晁格平,腾国奇,杨子建,张茗璇,曾波. 紧凑型连续大变倍比枪瞄镜光学系统设计. 应用光学. 2021(03): 423-428 . 本站查看
3. 朱昱,王成,倪红军. 瞄准镜光学系统的研究现状. 传感器与微系统. 2018(09): 5-8 . 百度学术
其他类型引用(2)