机器人 2022, Vol. 44 Issue (5): 564-573  
0
引用本文
徐鹏飞, 孟昊, 李同飞, 郑金海, 李智刚. 一种基于线结构光的水下目标3维信息测量方法[J]. 机器人, 2022, 44(5): 564-573.  
XU Pengfei, MENG Hao, LI Tongfei, ZHENG Jinhai, LI Zhigang. A 3D Information Measuring Method of Underwater Targets Based on Line-Structured Light[J]. ROBOT, 2022, 44(5): 564-573.  

一种基于线结构光的水下目标3维信息测量方法
徐鹏飞1 , 孟昊1 , 李同飞1 , 郑金海1 , 李智刚2     
1. 河海大学,江苏 南京 210024;
2. 中国科学院沈阳自动化研究所机器人学国家重点实验室,辽宁 沈阳 110016
摘要:针对现有水下探测方式精度不佳、标定误差较大、效率较低等不足,设计了一种基于线结构光的水下目标3维信息测量方法。首先利用交比不变原理求解特征点在世界坐标系下的相对位置,随后基于像面特征点的方向向量及特征点的位置信息求解其在相机坐标下的真实坐标值,利用多个特征点完成结构光平面的标定。通过目标物扫描实验验证了该方法的可行性及有效性。线结构光平面的标定仅需要对特制的简单结构立体靶标进行一次扫描即可完成,无需多次移动靶标,避免了人为误差的影响。在标定线结构光平面的同时可以同步完成位移平台各自由度的位移速度标定,有效降低了实验平台系统误差,在提升系统精度的同时也极大地提升了整个系统标定过程的效率,非常适用于大尺度线结构光系统在水下现场标定。经验证,扫描水下目标物所得3维点云坐标沿$X$$Y$轴方向的误差均小于2%,沿$Z$轴方向的误差略大,平均误差2.77%。
关键词激光扫描仪    水下探测    成像系统    标定    线结构光    
中图分类号:TN247            文献标志码:A            文章编号:1002-0446(2022)-05-0564-10
A 3D Information Measuring Method of Underwater Targets Based on Line-Structured Light
XU Pengfei1 , MENG Hao1 , LI Tongfei1 , ZHENG Jinhai1 , LI Zhigang2     
1. Hohai University, Nanjing 210024, China;
2. State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China
Abstract: For shortcomings of existing underwater detection methods such as poor accuracy, large calibration errors and low efficiency, a 3D information measuring method of underwater targets based on line-structured light is designed. Firstly, the principle of cross ratio invariance is utilized to solve the relative position of feature points in the world coordinate system, and then their real coordinate values in camera coordinates are solved based on both the direction vector of feature points on image plane and their position information. The structured light plane are calibrated using multiple feature points. The feasibility and effectiveness of the proposed method are verified by target scanning experiments. For calibrating the structured light plane, only one scan of the specially designed simple-structured stereo target is required, without the need for moving the target several times, which avoids the influence of human-induced errors. While calibrating the structured light plane, the displacement velocity of the displacement stage in each dimension can be calibrated simultaneously, which effectively reduces the system error of the experimental platform, improves the system accuracy and also greatly enhances the efficiency of the whole system calibration process. It is very suitable for the underwater field calibration of large-scale line-structured light system. It is proved that the error of the 3D point cloud coordinates obtained from scanning the underwater target is less than 2% along the $X$ and $Y$ axes, and the error along the $Z$ axis is slightly larger, with an average error of only 2.77%.
Keywords: laser scanner    underwater detection    imaging system    calibration    line-structured light    

1 引言(Introduction)

海洋探测是人类海洋活动的关键技术,海洋探测获得信息的精确度和直观性极大地影响了人类对海洋的认识和开发。目前海洋探测中主要依赖声学和光学2种探测方式,声学探测因其探测范围大、效率高等优点得到了广泛应用。然而,现有声学探测方法普遍存在成像质量差、对比度低、边缘模糊等缺陷[1],且容易受换能器的波束旁瓣效应等影响,平台运动时与水流间的摩擦噪声及自身机械噪声也会对其产生干扰。目前针对声学探测的研究主要集中在如何提高水下目标检测识别的精度上,现有方法及研究仍不能有效弥补声学探测精度较低的缺陷。随着海洋探测要求不断提高,亟需更高效、精准的水下探测技术方法和仪器设备[2]。线结构光视觉探测系统不仅结构简单,而且测量精度高、成像结果直观性强,其在近距离精细化探测工况下极具优势。例如,在海底矿物勘探作业中,需要精确地获取水底目标物的尺寸、形状特征进行矿物识别及分类。在执行水下结构物的探伤、海底管线的巡检任务时,需要提取目标表面的微小特征,用以判断结构物的损伤程度。此外,水下平台正朝着无人化及智能化的趋势发展[3],线结构光探测系统相对于其他探测设备功耗极低,这与无人水下平台长时间自主探测作业的需求是十分契合的。

线结构光水下探测方法填补了水下精细化探测领域的空缺,逐渐成为海洋探测领域的研究热点。当下,线结构光研究主要关注于提升系统的标定精度或激光中心线的提取精度,并进而提高测量精度。线结构光3维成像系统主要依靠激光发射器和高清摄像机2部分实现对目标物表面3维信息的测量,因此系统标定主要包含2个方面[4]:1) 摄像机内外参数标定;2) 线结构光平面标定。

摄像机标定需要求解的摄像机模型参数主要分为摄像机内部参数及摄像机坐标系相对于世界坐标系的位置参数。摄像机标定技术[5-6]主要分为传统标定方法、自标定方法及张正友标定法。张正友等[7]通过拍摄2维平面标定板在不同方位的图像,匹配图像上的特征点与标定板上的点,通过线性计算得出摄像机的内部参数。该标定方法成本较低、精度较高、灵活性强,适用于摄像机的现场标定。

线结构光平面标定方法主要有细丝散射法、齿形靶标法、基于交比不变的方法、一步标定法等[8-11]。Dewar[12]提出的细丝散射法通过采集激光平面投射在几根不共面细丝上的亮点,并利用坐标仪器测出亮点在空间中的坐标值进行标定。该方法需借助电子经纬仪等昂贵的设备,且标定点获取的数量较少、过程较为复杂。段发阶等[13]提出的齿形靶标法通过求解迭代方程并结合罚函数约束得到相应参数完成线结构光传感器的标定,但该方法需将齿形靶标调整至与线结构光平面垂直相交,且获得的标定点数量较少,不适用于现场快速标定。Huynh等[14]首先提出了一种基于交比不变原理的线结构光平面标定方法,该方法精度较高,适用于现场标定,但对于靶标的要求较高,一次获取的标定点数量较少。一步标定法其标定过程类似于一种黑箱模型,该方法需要通过索引表建立2维坐标与3维坐标之间的关系,过程十分繁琐[15-17]。陈云赛等[11]提出了一种共线点快速标定法,该方法利用共线特征点之间的关系求解标定点坐标,但需要通过不断变换靶标完成标定,过程较为复杂,效率不高,且扫描结果误差较大。

本文针对上述方法存在的缺陷,就如何提高激光扫描系统的标定精度及标定效率,提出了一种基于线结构光的水下目标3维信息测量方法。该方法优势在于:1) 线结构光平面标定阶段,提出一种基于方向向量的线结构光平面快速标定方法,该方法无需求解靶标与摄像机之间的位置关系,降低了求解的复杂性。标定过程中对于靶标摆放姿态没有特殊要求,靶标单次放置即可获取足够多的样本点,避免了靶标移动引起的标定误差。2) 在位移平台的标定阶段,该方法基于该特殊设计的靶标还可以同时完成测量平台在摄像机坐标系下的各个自由度位移速度标定,有效降低了实验平台系统误差对扫描结果的影响,并极大提高了测量系统的标定效率,更适用于大尺度线结构光系统进行现场标定。

2 水下目标3维信息测量方法(The 3D information measuring method of underwater targets) 2.1 测量系统工作流程

线结构光扫描技术的成像原理是由发射器将线结构光投影到物体表面后利用摄像机捕捉其反射的回光图像,将该图像上的光条纹中心像素坐标代入标定好的数学模型即可解算物体表面的3维坐标信息。标定所得的线结构光平面方程可以理解为一个将图像2维平面坐标映射至3维点云坐标的函数,因此,参数标定的精度直接影响线结构光传感器的测量精度。

常见的线结构光3维信息测量系统的工作流程如图 1所示。测量作业前,线结构光水下目标3维信息测量系统需要先完成系统标定及位移平台的标定(步骤4),即确定摄像机参数并建立线结构光平面的数学方程。标定过程使用带有激光条纹的靶标图像,因此标定前同样需要对标靶图像进行处理(步骤2)并提取激光条纹中心坐标(步骤3)。正式测量时,先拍摄水下物体表面反射的光斑图像,经图像处理(步骤2)后,提取光斑条纹的中心线坐标(步骤3),并将其代入即可解算目标物表面3维点云信息及相对位置关系。

图 1 测量系统工作流程 Fig.1 Workflow of the measurement system
2.2 图像处理及激光条纹中心线提取 2.2.1 图像处理

标定过程中为取得较为准确的标定参数,使用的靶标图像应尽可能清晰,以便获得更加准确的特征点。实际使用时,所获图像的清晰度会受到水体浑浊度等多方面因素的影响,需要根据不同工况选取合适的技术手段进行优化,因为图像处理效果的好坏直接影响测量精度。本文的研究目标是对整个测量系统的可行性及精度进行验证,图像处理技术并不是本文研究的重点,因此本文在线结构光中心提取及3维点云的计算过程中所使用的图像均较为清晰,对于图像所做的工作仅限于高斯滤波处理,目的是剔除较为明显的噪声点,该方法虽然对图像质量的提升效果有限,但是并不影响对该测量方法的精度验证,使用更加专业的图像处理方法能在现有基础上进一步提高测量精度。

使用高斯滤波方法对激光条纹图像进行滤波时并不是对整幅图像进行处理,而是逐行选取激光条纹图像的截面图进行处理。激光条纹截面图由图像某一行的像素组成,其横坐标代表像素点的水平方向位置,纵坐标数值反映每个像素点的色彩强度。高斯滤波前后的激光条纹截面对比如图 2所示,可见经过滤波后,图像的灰度值分布趋势不变,波形更加平滑,且噪声点减少甚至被消除。

图 2 图像滤波效果 Fig.2 Results of image filtering
2.2.2 中心线提取

结合阈值法、极值法、几何中心法进行结构光中心线提取。如图 2所示,纵坐标表示该点灰度值的高低,在激光条纹截面图中,激光条纹中心区域的灰度值通常明显高于背景区域。极值法利用这一特点将灰度值峰值所在的局部范围定义为激光条纹中心区域。通常情况下,折射及散射作用形成的噪声峰值的光强受能量耗散作用的影响,其在截面图中峰值一般小于最高峰。在使用极值法寻找条纹中心区域的过程中,考虑到滤波结果的不确定性,偶尔会存在若干个随机分布的噪声点,这些噪声点的灰度值可能会超过最高峰值,因此并不能简单地将整个截面中的灰度最大值确定为条纹中心。通常使用极值法寻找局部连续的峰值并进行对比后确定最高峰区域。为了提高运算效率,需要尽可能地减少干扰峰值的数量。例如图 3中的峰值2,这些低峰可以通过设立阈值的方式进行剔除。本文使用大津法将灰度值的最大类间方差确定为阈值。

图 3 中心点提取示意图 Fig.3 Illustration of central point extraction

此外,经过滤波后,能量峰值呈水平线段,该线段表示投射于物体表面的激光条纹具有一定的宽度,极值法把激光条纹中心锁定于该宽度范围内,可将该局部范围的几何中心点作为激光条纹中心坐标用于后续计算。

2.3 线结构光3维成像模型

激光3维扫描成像系统工作时,激光发生器投射出一个结构光平面,结构光平面与目标物表面相交后,两面交线以线性光斑的形式呈现于目标物表面,由于目标物表面形状变化,所得到的交线不再是一条直线,而是一条曲折的线性光斑,目标物表面的深度变化及物理间隙信息在平面图像中表现为畸变及具有不连续特征的线性光斑。摄像机捕捉到此线性光斑并以2维图像的形式体现,提取图像中激光条纹的每一个2维像素点的坐标并代入求解出的成像数学模型中,即可解算出该像素点在现实空间的物理坐标信息。因此,结构光3维成像是以像素为单位进行计算的,图像中的线性光斑像素点经过计算后可映射为目标物表面对应的3维坐标点,整个3维点云成像过程中需要使用高密度的像素点数据来实现目标物表面3维成像,这种方式决定了其成像精细化程度远大于现有的水下探测方式。

结构光3维成像模型包含摄像机与线结构光平面两部分,二者之间的联系可简化为针孔成像模型。如图 4所示,光斑上点$ P $既位于线结构光平面$ \pi $上,又位于摄像机坐标系原点$ O_{\rm c} $与该目标点在像面上像点$ p $连线的延长线上。因此,只有建立光平面方程,明确摄像机内外参数并建立二者之间的联系,才能实现由2维坐标向3维坐标的转化。

图 4 线结构光透视投影模型 Fig.4 Perspective projection model of line-structured light

图 4所示,$ O_{\rm w} -X_{\rm w} Y_{\rm w} Z_{\rm w} $$ O_{\rm c} -X_{\rm c} Y_{\rm c} Z_{\rm c} $$ O_{0} -xy $$ O_{\rm p} -uv $分别为世界坐标系、相机坐标系、图像坐标系与像素坐标系。$ O_{\rm c} $$ O_{\rm c} O_{0} $分别为摄像机光心与焦距。图像坐标系与像素坐标系均位于像面上,忽略工业误差的影响,$ O_{0} $位于摄像机光轴上。线结构光平面$ \pi $与物体表面相交形成线性光斑,线性光斑$ AB $上一点$ P $在图像坐标系、像素坐标系、世界坐标系、相机坐标系下的齐次坐标分别为:$ {\mathit{\boldsymbol{P}}} $ $ = $ $ [x \; $ $ \; y \; \; 1 ]^{\rm T} $$ {\mathit{\boldsymbol{p}}} =[u \; \; v \; \; 1 ]^{\rm T} $$ \mathit{\boldsymbol{P}}_{\rm w} =[{X_{\rm w}} \; \; {Y_{\rm w}} \; \; {Z_{\rm w}} \; \; 1 ]^{\rm T} $$ \mathit{\boldsymbol{P}}_{\rm c} $ $ = $ $ [{X_{\rm c}} \; $ $ \; {Y_{\rm c}} \; $ $ \; {Z_{\rm c}} \; \; {1} ]^{\rm T} $。根据透视投影原理,空间点$ P $在各坐标系下的齐次坐标间的转换关系为

$ \begin{align} & \begin{bmatrix} {X_{\rm c}} \\ {Y_{\rm c}} \\ {Z_{\rm c}} \\ 1 \end{bmatrix}= \begin{pmatrix} \mathit{\boldsymbol{R}} & \mathit{\boldsymbol{T}} \\ {\bf{0}} & 1 \\ \end{pmatrix} \begin{bmatrix} {X_{\rm w}} \\ {Y_{\rm w}} \\ {Z_{\rm w}} \\ 1 \end{bmatrix} \end{align} $ (1)
$ \begin{align} & Z_{\rm c} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} =\begin{bmatrix} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} {X_{\rm c}} \\ {Y_{\rm c}} \\ {Z_{\rm c}} \\ 1 \end{bmatrix} \end{align} $ (2)
$ \begin{align} & \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} =\begin{bmatrix} \dfrac{1}{{\rm d}x} & 0 & u_{0} \\ 0 & \dfrac{1}{{\rm d}y} & v_{0} \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \end{align} $ (3)

式中,$ {\mathit{\boldsymbol{R}}} $$ 3\times 3 $的正交旋转矩阵,$ {\mathit{\boldsymbol{T}}} $$ 3\times 1 $的平移矩阵,$ f $为摄像机的焦距,$ ({u_{0}, v_{0}}) $为图像坐标系原点在像素坐标系下的坐标,$ {\rm d}x $$ {\rm d}y $为单位像素在$ x $$ y $方向的物理长度。

2.4 摄像机标定

采用文[7] 平面靶标法进行摄像机参数标定,该方法简单易行且标定精度较高,普遍应用于各类视觉传感器的标定。该方法通过一个单应性矩阵$ {\mathit{\boldsymbol{H}}} $将像素坐标$ {\mathit{\boldsymbol{p}}} $与世界坐标$ \mathit{\boldsymbol{P}}_{\rm w} $之间的映射关系表示为:$ {\mathit{\boldsymbol{p}}}=Z_{\rm c} {\mathit{\boldsymbol{HP}}}_{\rm w} $,通过求解该单应性矩阵并使用L-M非线性优化算法进行优化,得到摄像机$ f $$ {\rm d}x $$ {\rm d}y $$ ({u_{0}, v_{0}}) $等内部参数的优化解及摄像机畸变系数$ k_1 $$ k_2 $供下一步标定计算使用。

2.5 基于方向向量的线结构光平面快速标定方法

常见的线结构光平面标定方法存在效率及精度较低等不足。例如,文[10] 既需要求解靶标平面在摄像机坐标系下的方程,又需要变换靶标的位置;文[13] 对于靶标的摆放有特殊要求,且仍需变换靶标位置。其他方法亦是如此。针对以上问题,本文提出了一种新的标定方法。该方法无需求解靶标与摄像机之间的位置关系,降低了求解的复杂性。标定过程中对于靶标摆放姿态也没有特殊要求,且标定过程中无需更换靶标的位置,避免了移动靶标引起的标定误差,减少了操作步骤,从而提升了标定的精度和效率。同时,将该方法应用于大尺度线结构光平台时,可以同步完成搭载位移平台的速度标定,能进一步减小由实验环境引起的系统误差。

2.5.1 靶标结构设计

设计了一种高精度的3维靶标结构,如图 5(a)所示,该靶标结构形式简单,靶标呈台阶形,分为上表面$ S $及下表面$ {S}' $,每个平面上有3条相互平行的直线及一条斜线,直线$ L_{1} $$ L_{2} $$ L_{3} $$ L_{4} $位于$ {S} $平面上,直线$ L_{1}' $$ L_{2}' $$ L_{3}' $$ L_{4}' $位于平面$ {S}' $上。假设线结构光平面与靶标表面相交,分别与平面$ {S} $$ {S}' $交于点$ A $$ B $$ C $$ D $及点$ A' $$ B' $$ C' $$ D' $,所得的光带形式如图 5(b)所示。根据点$ A $$ B $$ C $$ D $及点$ A' $$ B' $$ C' $$ D' $分别确定一条经过线结构光平面的直线。因此在一次标定过程中,可以获得线结构光平面上2条平行直线上的多个非共线标定点,通过标定以上2条不重合的平行直线,即可完成线结构光平面参数的标定。

图 5 靶标示意图 Fig.5 The schematic of the target

该靶标长240 mm,宽60 mm,两表面高度相差30 mm。靶标上各线的相对位置关系已知,$ L_{1} $$ L_{2} $$ L_{4} $$ L_{1}' $$ L_{2}' $$ L_{4}' $之间相互平行且相互之间的距离分别为:$ d_{L_{1} L_{2}} =60 $ mm、$ d_{L_{2} L_{4}} =180 $ mm、$ d_{L_{1}' L_{2}'} =120 $ mm、$ d_{L_{2}' L_{4}'} =120 $ mm,直线$ L_{3} $$ L_{3} ' $的斜率已知,与水平方向的夹角为45°。

2.5.2 线结构光平面标定

图 5所示,在靶标平面上以$ O_{\rm t} $为原点定义世界坐标系,以$ L_{1} $方向为$ x $轴,$ z $轴与平面垂直。标定过程中线结构光平面与靶标表面相交,在靶标平面$ S $上形成4个交点$ A $$ B $$ C $$ D $,在摄像机成像平面上对应产生4个像点$ a $$ b $$ c $$ d $,该成像模型的透视投影关系如图 6所示。

图 6 线结构光平面标定示意图 Fig.6 The schematic of calibration of line-structured light plane

过点$ C $做一条平行于$ x $轴的直线,则该直线及直线$ L_{1} $$ L_{2} $$ L_{4} $$ y $轴的交点分别为$ C_{y} $$ A_{y} $$ B_{y} $$ D_{y} $,且$ A_{y} $$ B_{y} $$ C_{y} $$ D_{y} $$ y $轴坐标分别为$ y_{a} $$ y_{b} $$ y_{c} $$ y_{d} $,根据透视投影的交比不变性原理有:

$ \begin{align} r & =\frac{CA/CB}{DA/DB}=\frac{ca/cb}{da/db} \end{align} $ (4)
$ \begin{equation} \begin{split} CA/CB & =C_{y} A_{y} /C_{y} B_{y} =({y_{c} -y_{a}})/({y_{c} -y_{b}}) \\ DA/DB & =D_{y} A_{y} /D_{y} B_{y} =({y_{d} -y_{a}})/({y_{d} -y_{b}}) \end{split} \end{equation} $ (5)

式(4) 中$ r $为交比,联立式(4)(5) 可得:

$ \begin{align} y_{c} =\frac{({y_{b} -y_{a}})({y_{d} -y_{b}})}{r({y_{d} -y_{a}})-({y_{d} -y_{b}})}+y_{b} \end{align} $ (6)

式中,点$ C $与点$ C_{y} $有相同的$ y $轴坐标值,$ y_{a} $$ y_{b} $$ y_{d} $的值由靶标上的平行线位置确定,交比$ r $可以通过图像上像点之间的距离唯一确定,因此通过式(6) 可以求出唯一未知量$ y_{c} $,并确定$ C $点在直线$ L_{3} $上的位置。

确定了靶标上各标定点的位置后,就可以求解各标定点在相机坐标系下的坐标值,现假设线结构光平面在摄像机坐标系下的方程为

$ \begin{align} a_{1} X_{\rm c} +a_{2} Y_{\rm c} +a_{3} Z_{\rm c} +a_{4} =0 \end{align} $ (7)

由式(2)(3) 可知,点$ P $在相机坐标系下的坐标与像素坐标系下的坐标之间的转换关系为

$ \begin{align} Z_{\rm c} \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} =\begin{bmatrix} \dfrac{f}{{\rm d}x} & 0 & u_{0} & 0 \\ 0 & \dfrac{f}{{\rm d}y} & v_{0} & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix}\begin{bmatrix} {X_{\rm c}} \\ {Y_{\rm c}} \\ {Z_{\rm c}} \\ 1 \end{bmatrix} \end{align} $ (8)

由式(8) 可以得到2个关于针孔成像模型的约束条件:

$ \begin{align} \begin{cases} ({u-u_{0}}){\rm d} x=f_{\rm x} X_{\rm c} /Z_{\rm c} =x \\ ({v-v_{0}}){\rm d} y=f_{\rm y} Y_{\rm c} /Z_{\rm c} =y \end{cases} \end{align} $ (9)

式中,$ u $$ v $是考虑镜头畸变影响后的理想像素坐标值,$ \hat{u} $$ \hat{v} $为实际测量的像素坐标值,$ k_{1} $$ k_{2} $为摄像机标定过程中所求畸变系数,忽略高阶项仅考虑2阶畸变。

$ \begin{align} \begin{cases} u=({\hat{u}-u_{0}})({1+k_{1} r^{2}+k_{2} r^{4}})+u_{0} \\ v=({\hat{v}-v_{0}})({1+k_{1} r^{2}+k_{2} r^{4}})+v_{0} \end{cases} \end{align} $ (10)

像面上像点$ a $$ b $$ c $$ d $在摄像机坐标系下的坐标可以设为$ ({x_{i}, y_{i}, f}) $$ {i=a, b, c, d} $),其中$ x_{i} ={}({u_{i} -u_{0}}){\rm d}x $$ y_{i} =({v_{i} -v_{0}}){\rm d}y $。同时,以摄像机坐标系$ O_{\rm c} $为原点,可以建立已知4点的方向向量$ \overrightarrow {Oa} $$ \overrightarrow {Ob} $$ \overrightarrow {Oc} $$ \overrightarrow {Od} $,由于这4个向量位于同一平面内,将该平面记为$ T $。在该平面上以$ \overrightarrow {Oc} $$ x $轴方向建立平面直角坐标系,原点$ O $与相机坐标系原点$ O_{\rm c} $重合,如图 7所示。

图 7 求解标定点原理图 Fig.7 Schematic diagram for solving calibration points

各向量之间的夹角分别为$ \theta_{1} $$ \theta_{2} $$ \theta_{3} $,由向量数量积的定义可得:

$ \begin{align} \begin{cases} \theta_{1} =\arccos \dfrac{\overrightarrow {Oa} \cdot \overrightarrow {Ob}} {| {\overrightarrow {Oa}} |\cdot | {\overrightarrow {Ob}} |} \\[9pt] \theta_{2} =\arccos \dfrac{\overrightarrow {Ob} \cdot \overrightarrow {Oc}} {| {\overrightarrow {Ob}} |\cdot | {\overrightarrow {Oc}} |} \\[9pt] \theta_{3} =\arccos \dfrac{\overrightarrow {Oc} \cdot \overrightarrow {Od}} {| {\overrightarrow {Oc}} |\cdot | {\overrightarrow {Od}} |} \end{cases} \end{align} $ (11)

式(6) 已经求出$ C $点在直线$ L_{3} $上的确定位置$ y_{\rm c} $,则图 7$ d_{1} =y_{a} -y_{b} $$ d_{2} =y_{b} -y_{c} $$ d_{3} =y_{c} -y_{d} $。只要求出$ A $$ B $$ C $$ D $四点距离点$ O $的物理距离,即可根据方向向量确定各点在摄像机坐标系下的坐标。根据正弦定理有:

$ \begin{align} \begin{cases} \dfrac{| {\overrightarrow {AC}} |}{\sin ({\theta_{1} +\theta_{2}})}=\dfrac{| {\overrightarrow {OC}} |}{\sin ({{\rm{ \mathsf{ π} }} - \theta_{1} -\theta_{2} -\theta_{5}})}\\[7pt] \dfrac{| {\overrightarrow {BC}} |}{\sin \theta_{2}} = \dfrac{| {\overrightarrow {OC}} |}{\sin ({{\rm{ \mathsf{ π} }} - \theta_{2} -\theta_{5}})} \end{cases} \end{align} $ (12)

直角$ \Delta ACH $中,$ BC/AC=d_{2} /({d_{1} +d_{2}}) $,联立式(12) 可得:

$ \begin{align} \frac{| {\overrightarrow {BC}} |}{| {\overrightarrow {AC}} |} =\frac{d_{2}} {d_{1} +d_{2}} = \frac{\sin ({{\rm{ \mathsf{ π} }} - \theta_{1} -\theta_{2} -\theta_{5}})\cdot \sin \theta_{2}} {\sin ({\theta_{1} +\theta_{2}})\sin ({{\rm{ \mathsf{ π} }} - \theta_{2} -\theta_{5}})} \end{align} $ (13)

式中,仅$ \theta_{5} $为未知项,可以根据反三角函数求解出$ \theta_{5} $,特殊情况下当直线$ AD $平行于$ y $轴时,即$ \theta_{5} ={{\rm{ \mathsf{ π} }}} /2 $时,该方法仍适用。

$ \begin{align} \begin{cases} \dfrac{| {\overrightarrow {OC}} |}{\sin ({{\rm{ \mathsf{ π} }} -\theta_{1} -\theta_{2} -\theta_{5}})}=\dfrac{| {\overrightarrow {AC}} |}{\sin ({\theta_{1} +\theta_{2}})} \\[7pt] \dfrac{| {\overrightarrow {OC}} |}{\sin ({\theta_{5} -\theta_{3}})}=\dfrac{| {\overrightarrow {OD}} |}{\sin ({{{\rm{ \mathsf{ π} }}} -\theta_{5}})} \end{cases} \end{align} $ (14)

$ \Delta ACH $中,$ |\overrightarrow {AC}| =({d_{1} +d_{2}})/\sin \theta_{5} $,联立式(14) 得:

$ \begin{align} | {\overrightarrow {OD}} |=\frac{({d_{1} +d_{2}})\cdot \sin ({{\rm{ \mathsf{ π} }} - \theta_{1} -\theta_{2} -\theta_{5}})\cdot \sin ({{{\rm{ \mathsf{ π} }}} -\theta_{5}})}{\sin \theta_{5} \cdot \sin ({\theta_{1} +\theta_{2}})\cdot \sin ({\theta_{5} -\theta_{3}})} \end{align} $ (15)

求得点$ D $与原点$ O $的空间物理距离后,其在摄像机坐标系下的3维坐标可表示为

$ \begin{align} {\mathit{\boldsymbol{X}}}_{{{D}}} =| {\overrightarrow {OD}} |\cdot \frac{\overrightarrow {Od}} {| {\overrightarrow {Od}} |} \end{align} $ (16)

同理,可以根据几何关系求得点$ A $$ B $$ C $在摄像机坐标系下的3维坐标$ {\mathit{\boldsymbol{X}}}_{A} $$ {{\mathit{\boldsymbol{X}}}}_{B} $$ {{\mathit{\boldsymbol{X}}}}_{C} $,因为在一次标定过程中线结构光平面与靶标上2个平面$ S $$ {S}' $分别相交于点$ A $$ B $$ C $$ D $及点$ A' $$ B' $$ C' $$ D' $,利用该方法同时还能求解出$ {A}' $$ B' $$ C' $$ D' $四个点的3维坐标值$ {\mathit{\boldsymbol{X}}}_{A}' $$ {{\mathit{\boldsymbol{X}}}}_{B}' $$ {{\mathit{\boldsymbol{X}}}}_{C}' $$ {{\mathit{\boldsymbol{X}}}}_{D}' $。点$ A $$ B $$ C $$ D $所在直线与点$ {A}' $$ B' $$ C' $$ D' $所在直线相互平行,从8个点中选择非共线的3点坐标代入式(7) 即可求得摄像机坐标系下线结构光平面方程的系数。上述方法经过一次测量即可完成线结构光平面的标定。

当对标定精度的要求较高时,可以通过移动靶标进行多次测量,利用所求的空间点$ ({x_{i}, y_{i}, z_{i}}) $$ i=1, \cdots, n $)到平面的欧氏距离进行拟合:

$ \begin{align} f({a_{1}, a_{2}, a_{3}, a_{4}})=\sum _1^n \left({\frac{| {a_{1} x_{i} +a_{2} y_{i} +a_{3} z_{i} +a_{4}} |}{\sqrt{a_{1}^{2} +a_{2}^{2} +a_{3}^{2} +a_{4}^{2}}}}\right)^{2} \end{align} $ (17)
2.6 位移平台的速度标定

线结构光系统在实际测量时需要在相邻两帧结构光图像测量数据之间增加相邻帧间的系统位移量,因此位移平台的速度标定对于扫描结果的精确度即可视化效果影响较大。

该方法中位移平台的单自由度速度标定可与线结构光平面标定同步进行,多个自由度的速度标定需要分别进行。参照图 6,在2.5.2节应用上述方法进行线结构光平面标定,通过式(6) 得到的$ y_{c} $,根据直线$ L_{3} $的斜率,可以求出点$ C $在世界坐标系下$ x $轴的坐标值$ x_{c} $,点$ C $在世界坐标系下$ z $轴坐标值为平面$ S $$ {S}' $之间的垂直距离,则坐标$ {\mathit{\boldsymbol{C}}}_{\rm w} =({x_{c} , y_{c} , 30}) $。同理,可以得到线结构光平面与直线$ L_{3}' $交点$ {C}' $在世界坐标系下的坐标$ \mathit{\boldsymbol{C}}_{\rm w}' (x_{c'} , y_{c'}, 0) $。由于$ D $点在世界坐标系下的$ y $轴坐标$ y_{d} $已知,在图 7所示的投影平面$ T $内可求得$ |\overrightarrow {CD}| $的长度,那么在世界坐标系下,$ D $点的$ x $轴坐标可以联立式(18) 求得:

$ \begin{align} \begin{cases} x_{d} =x_{c} +\sqrt{| {\overrightarrow {CD}} |^{2}-d_{3}^{2}} \\ | {\overrightarrow {CD}} |=\dfrac{d_{3}} {\sin \theta_{5}} \end{cases} \end{align} $ (18)

设线结构光平面在世界坐标系下的方程为

$ \begin{align} a_{1{\rm w}} X_{\rm w} +a_{2{\rm w}} Y_{\rm w} +a_{3{\rm w}} Z_{\rm w} +a_{4{\rm w}} =0 \end{align} $ (19)

将非共线3点$ C $$ C' $$ D $的世界坐标值$ {\mathit{\boldsymbol{C}}}_{\rm w} $$ \mathit{\boldsymbol{C}}'_{\rm w} $$ {{\mathit{\boldsymbol{D}}}}_{\rm w} $代入式(19) 可以求解出该方程。操控位移平台进行单自由度的匀速运动,记录位移时间$ t $,靶标固定不动。此时,线结构光平面经过平移后与$ L_{3} $相交于点$ C_{1} $$ C_{1} $的世界坐标值可按上述方法求出,记为$ {\mathit{\boldsymbol{C}}}_{{\rm 1w}} =({x_{c1}, y_{c1}, z_{c1}}) $。平台的位移速度为

$ \begin{align} V=\frac{| {a_{1{\rm w}} x_{c1} +a_{2{\rm w}} y_{c1} +a_{3{\rm w}} z_{c1} +a_{4{\rm w}}} |}{t\cdot \sqrt{a_{1{\rm w}}^{2} +a_{2{\rm w}}^{2} +a_{3{\rm w}}^{2}}} \end{align} $ (20)
3 实验与结果分析(Experiments and result analysis) 3.1 实验装置及环境

实验系统布置如图 8所示,采用定制的CCD(charge coupled device)微型光学定焦镜头,焦距为3 mm。实验时采用分辨率为1 280像素$ \times $720像素的相机。激光光源采用中心波长650 nm、功率5 mW的线型激光器。计算机的配置为i5处理器,3.2 GHz,1.92 GB内存。实验时将摄像机与激光器整合设计为一台经过防水处理的实验装置。实验平台为一个长10 m、宽2 m、深2.5 m的矩形水槽,水槽上配备有步进电机驱动的位移平台及滑轨,将矩形水槽长边方向设为$ X $方向,短边方向为$ Y $方向,位移平台可在$ X $$ Y $两个维度自由位移。整个实验按照2.1节所述流程进行。

图 8 实验环境布置 Fig.8 The experimental environment layout
3.2 图像滤波及激光中心线的提取

以激光扫描“蛟龙号”模型为例,实验时采用红色激光器更容易提取图像中红色通道的条纹中心,因此首先提取图像的红色通道,然后按照2.2节介绍的流程对图像进行滤波处理并提取激光条纹中心线,结果如图 9(b)所示,经滤波后的图像亮度减弱,激光条纹对比度提高了。使用绿色点将提取到的激光条纹中心线绘制于原图像上,结果如图 9(c)所示,可见该中心条纹的提取结果与激光条纹中心位置拟合效果较好。

图 9 图像滤波与激光中心线提取效果 Fig.9 Results of image filtering and laser central line extraction
3.3 摄像机标定

摄像机的标定采用张正友标定法,利用Matlab软件中的标定模块,通过拍摄变换9个位置的26幅棋盘格图像进行计算,如图 10所示。并利用L-M非线性优化算法进行优化,得到摄像机内部参数及畸变系数如表 1所示。

图 10 棋盘格模板 Fig.10 Planar checkerboard
表 1 摄像机标定参数 Tab. 1 Camera calibration parameters
3.4 线结构光平面及位移平台标定

将靶标放置于水槽底部,使结构光与靶标上各直线相交,得到8个交点。使用微型相机拍摄靶标的图片,得到的激光条纹图像如图 11所示。

图 11 靶标上的激光条纹图像 Fig.11 Laser stripe image on the target

为提高激光线上点坐标的提取精度,同样使用2.2节所述方法对靶标图片进行图像处理,包括滤波、激光条纹中心线提取等操作,并提取激光面与靶标上直线交点区域的中心像素点作为特征点。运用2.5节快速标定方法进行计算,选取3个非共线点进行光平面的拟合,图 12所示为该方法使用一组数据进行拟合的光平面结果。

图 12 特征点坐标及线结构光平面拟合结果 Fig.12 Coordinates of feature points and the result of the line-structured light plane fitting

拟合得到的线结构光平面参数方程为

$ \begin{align} 1.826X_{\rm c} +0.145Y_{\rm c} -0.39Z_{\rm c} +374.7435=0 \end{align} $ (21)

完成光平面标定后,控制位移平台进行匀速运动,使激光线在靶标上平移,并在确定的时间内停止,平台位移前后所确定的2个结构光平面在世界坐标系下的距离与时间的比值即为平台的平均位移速度。将实验水槽的长边方向设为$ X $方向,当位移平台仅沿着$ X $方向运动且驱动电机转速设置为60 r/min时,位移平台的速度标定结果为14.227 2 mm/s,摄像机拍摄帧率为60帧/s,则帧间位移量为0.23712 mm。

3.5 目标物3维点云重构及精度分析

完成标定后,对系统进行精度评定测试。将提取到的激光条纹中心点像素坐标代入式(9)(10),求出$ X_{\rm c} /Z_{\rm c} $$ Y_{\rm c} /Z_{\rm c} $的值并代入所求的光平面方程(21) 中,即可得到一个激光条纹点的3维坐标。遍历所有激光条纹即可得到目标物表面的3维重构图像。

本节针对尺寸已知的高精度目标物进行激光扫描、3维重建实验及计算分析。该目标物在3个维度方向均设有尺寸梯度下降的凸起及凹陷结构。计算过程中激光中心线的提取采用较为成熟的阈值分割方法。所得点云重构结果如图 13所示。

图 13 目标物点云扫描图像 Fig.13 The scanned point cloud image of the target

分别在目标物3维点云的3个维度方向上各选取3个特征点,共选取9个特征点进行3个维度的测量误差分析。各特征点均在局部平面上随机选取。其中,在$ X $$ Y $维度分别在距离初始点较近及较远的点处各选取一组,以评价该方法在长、短距离之间的效果偏差。分别计算单个维度的特征点的3维坐标值之间的差值,将计算结果与经过高精度加工的目标物实际尺寸之间的绝对及相对误差作为评价指标。目标物的实际尺寸经过仪器量测已考虑加工误差。选取的点云坐标如表 2所示,误差计算结果如表 3所示。

表 2 特征点坐标 Tab. 2 The feature point coordinates
表 3 点云误差测量数据 Tab. 3 Measurement data of point cloud error

结合表 2表 3并对比文[11] 的结果可知,该方法能够在提高标定效率的同时提高测量的精度。其在$ X $$ Y $轴方向的误差较小,最大误差仅为1.91%。且在较短距离内误差较小,较长距离时误差略微增加,这是因为距离增加将引起误差累加。$ Z $轴方向的误差略大,平均误差为2.77%,引起该现象的原因有:1) 标定精度不高引起的误差;2) 激光条纹中心线提取的定位误差;3) 光线在水下传播过程中由于折射及散射作用发生偏转并遭到削弱,导致光平面质量降低且厚度增加,致使光平面与目标物表面交线的部分区段产生形状及宽度畸变,并在局部伴有一定噪声,这些形状畸变及噪声难以消除并将影响条纹中心线的定位精度。

3.6 水底目标物测量效果

完成整个系统的标定及精度评价后,应用该3维测量系统对多个水下目标进行了实物测量,所得3维点云效果如图 14所示。

图 14 水下目标的3维点云结果 Fig.14 3D point cloud results of underwater targets

图 14可知,利用该方法计算所得的3维点云图像精度较高、可视化效果良好,能够突出水底目标物的细微特征,可以满足水下精细化探测需求。

4 结论(Conclusion)

针对水下目标高精度、高效率的探测需求,设计了一种新的基于线结构光的水下目标3维信息测量系统,提出了一种基于方向向量的快速标定方法,并进行了相关实验验证。该方法在保证较高探测精度的前提下,利用一种结构简单的3维靶标,仅需放置一次靶标并进行扫描即可完成线结构光平面的标定,在提高标定效率的同时避免了移动靶标引起的标定误差。标定过程中对于靶标的摆放姿态没有特殊要求,无需求解靶标与摄像机之间的位置关系,大大降低了求解过程的复杂性。同时,在标定线结构光平面的过程中还可以同步完成位移平台在摄像机坐标系下各个自由度位移速度的标定,降低了系统误差的影响,提高了测量系统的标定效率和精度。

实验结果表明,本文方法所得到的标定参数结果精确,扫描得到的点云坐标精度较高,3维点云效果图可视化效果良好。实验结果表明,$ Z $轴方向误差略大于$ X $$ Y $轴方向,后续将进一步改进。同时,目前获取的水下图像均较为清晰,在复杂海洋环境及工况下的鲁棒性还有待进一步验证及提升。

参考文献(References)
[1]
乔鹏飞, 邵成, 覃月明. 基于多波束前视声呐的水下静态目标的探测识别技术[J]. 数字海洋与水下攻防, 2021, 4(1): 46-52.
Qiao P F, Shao C, Qin Y M. Detection and recognition technology of underwater static target based on multi-beam forward-looking sonar[J]. Digital Ocean & Underwater Warfare, 2021, 4(1): 46-52.
[2]
冯露, 李艳, 翟洁, 等. 海洋测量技术方法在涉水工程水下结构检测中的应用与思考[J]. 地下水, 2021, 43(6): 173-174, 229.
Feng L, Li Y, Zhai J, et al. Application and consideration of marine measurement technology methods in the inspection of underwater structures of water-related projects[J]. Ground Water, 2021, 43(6): 173-174, 229.
[3]
郝宇, 邱龙皓, 邹男, 等. 无人平台自主探测声呐的发展现状和展望[J]. 哈尔滨工程大学学报, 2021, 42(9): 1347-1354.
Hao Y, Qiu L H, Zou N, et al. Development status and the prospect of autonomous detection sonar for unmanned platforms[J]. Journal of Harbin Engineering University, 2021, 42(9): 1347-1354.
[4]
解则晓, 张安祺. 超大尺度线结构光传感器内外参数同时标定[J]. 光学学报, 2018, 38(3): 322-330.
Xie Z X, Zhang A Q. Simultaneous calibration of the intrinsic and extrinsic parameters of ultra-large-scale line structured-light sensor[J]. Acta Optica Sinica, 2018, 38(3): 322-330.
[5]
胡松, 王道累. 摄像机标定方法的比较分析[J]. 上海电力学院学报, 2018, 34(4): 366-370.
Hu S, Wang D L. Comparative analysis of camera calibration methods[J]. Journal of Shanghai University of Electric Power, 2018, 34(4): 366-370.
[6]
刘玉婷, 徐祥宇, 王超, 等. 摄像机标定系统方法的研究[J]. 智能计算机与应用, 2019, 9(3): 133-136, 141.
Liu Y T, Xu X Y, Wang C, et al. Research on the method of camera calibration system[J]. Intelligent Computer and Applications, 2019, 9(3): 133-136, 141.
[7]
Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[8]
Cebrian-Robles D, Ortega-Casanova J. Low-cost 3D underwater surface reconstruction technique by image processing[J]. Ocean Engineering, 2016, 113: 24-33.
[9]
王金桥, 段发阶, 冯帆, 等. 关节臂激光扫描系统光条中心提取方法研究[J]. 光电工程, 2015, 42(1): 13-19.
Wang J Q, Duan F J, Feng F, et al. Extraction method of structured light stripe center based on AACMM laser scanning system[J]. Opto-Electronic Engineering, 2015, 42(1): 13-19.
[10]
潘燕, 张伟, 赵雨, 等. 线结构光传感器参数现场标定方法[J]. 自动化仪表, 2017, 38(9): 48-52.
Pan Y, Zhang W, Zhao Y, et al. On-site calibration method for the parameters of light sensor with line structure[J]. Process Automation Instrumentation, 2017, 38(9): 48-52.
[11]
陈云赛, 杨磊, 宫垠, 等. 基于线结构光的水下目标扫描定位方法[J]. 机器人, 2018, 40(6): 786-793, 802.
Chen Y S, Yang L, Gong Y, et al. Underwater target scanning and location method based on line structured light[J]. Robot, 2018, 40(6): 786-793, 802.
[12]
Dewar R. Self-generated targets for spatial calibration of structured light optical sectioning sensors with respect to an external coordinate system[C]//Conference on Robots and Vision. Cleveland, USA: Society of Manufacturing Engineers, 1988.
[13]
段发阶, 刘凤梅, 叶声华. 一种新型线结构光传感器结构参数标定方法[J]. 仪器仪表学报, 2000, 21(1): 108-110.
Duan F J, Liu F M, Ye S H. A new accurate method for the calibration of line structured light sensor[J]. Chinese Journal of Scientific Instrument, 2000, 21(1): 108-110.
[14]
Huynh D Q, Owens R A, Hartmann P E. Calibrating a structured light stripe system: A novel approach[J]. International Journal of Computer Vision, 1999, 33: 73-86.
[15]
范建华. 基于线结构光的三维重构技术的研究与应用[D]. 广州: 华南理工大学, 2016.
Fan J H. The research and application of line structured light vision sensor[D]. Guangzhou: South China University of Technology, 2016.
[16]
王华, 郭于龙, 张爽, 等. 优化的PSO空间高精度线结构光直接标定法[J]. 应用激光, 2021, 41(4): 860-868.
Wang H, Guo Y L, Zhang S, et al. Optimized PSO spatial high-precision line structured light direct calibration method[J]. Applied Laser, 2021, 41(4): 860-868.
[17]
Cui Z C, Liu Y H, Li X Z. A novel extrinsic calibration method for robotic systems with structured light sensors[C]//IEEE International Conference on Robotics and Biomimetics. Piscataway, USA: IEEE, 2015: 2252-2257.