Processing math: 9%

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于转动式二维激光扫描仪和多传感器的三维重建方法

张新荣 王鑫 王瑶 向高峰

张新荣, 王鑫, 王瑶, 向高峰. 基于转动式二维激光扫描仪和多传感器的三维重建方法[J]. 中国光学(中英文), 2023, 16(3): 663-672. doi: 10.37188/CO.2022-0159
引用本文: 张新荣, 王鑫, 王瑶, 向高峰. 基于转动式二维激光扫描仪和多传感器的三维重建方法[J]. 中国光学(中英文), 2023, 16(3): 663-672. doi: 10.37188/CO.2022-0159
ZHANG Xin-rong, WANG Xin, WANG Yao, XIANG Gao-feng. 3D reconstruction method based on a rotating 2D laser scanner and multi-sensor[J]. Chinese Optics, 2023, 16(3): 663-672. doi: 10.37188/CO.2022-0159
Citation: ZHANG Xin-rong, WANG Xin, WANG Yao, XIANG Gao-feng. 3D reconstruction method based on a rotating 2D laser scanner and multi-sensor[J]. Chinese Optics, 2023, 16(3): 663-672. doi: 10.37188/CO.2022-0159

基于转动式二维激光扫描仪和多传感器的三维重建方法

基金项目: 陕西省重点研发计划国际科技合作计划项目(No. 2019KW-015);中央高校基本科研业务费专项资金资助项目(No. 300102259306)
详细信息
    作者简介:

    张新荣(1968—),男,陕西三原人,博士,教授,1990年于吉林工业大学获得学士学位,1993年于西安公路学院获得硕士学位,2000年于西安公路交通大学获得博士学位,主要从事机械系统动力学与控制。E-mail:zxrong@chd.edu.cn

    王 鑫(1998—),男,湖北十堰人,硕士研究生,2021年于湖北汽车工业学院获得学士学位,研究方向为机械系统动力学及其控制。E-mail:2021225022@chd.edu.cn

  • 中图分类号: TP394.1;TH691.9

3D reconstruction method based on a rotating 2D laser scanner and multi-sensor

Funds: Supported by Shaanxi International Science and Technology Cooperation Project (No. 2019KW-015); the Fundamental Research Funds for the Central Universities (No. 300102259306)
More Information
  • 摘要:

    三维重建技术是机器视觉中最热门的研究方向之一,在无人驾驶和数字化加工与生产等领域得到了广泛的应用。传统的三维重建方法包括深度相机和多线激光扫描仪,但是通过深度相机获得的点云存在着信息不完整和不精确的问题,而多线激光扫描仪成本高,阻碍了该项技术的应用和研究。为解决上述问题,提出了一种基于转动式二维激光扫描仪的三维重建方法。首先,用步进电机带动二维激光扫描仪旋转运动来获取三维点云数据。然后,用多传感器融合的方法对激光扫描仪的位置进行标定,采用坐标系变换完成点云数据的匹配。最后,对采集得到的点云数据进行了滤波和精简处理。实验结果表明:相较于深度相机/IMU数据融合的重建方法,平均误差降低了0.93 mm,为4.24 mm;精度达到了毫米级别,误差率也控制在了2%以内;整套设备的成本相较于多线激光扫描仪大大降低。本文方法基本满足保留物体的外形特征、高精度和成本低的要求。

     

  • 近年来,随着人们对计算机视觉与逆向工程研究的逐步深化,基于三维激光点云数据的三维重建方法已经成为各个研发团队的热门研究课题,三维重建技术成为了无人驾驶、逆向工程、数字城市建设与医学等领域不可或缺的关键技术[1-4]。在工业4.0概念和中国制造2025战略的推动下,三维重建技术在制造业中已经有了广泛应用,三维重建技术可以代替传统的建模方式,减少了大量的劳动成本和工作时间。

    目前,三维重建技术主要包括基于视觉和基于激光扫描仪(激光雷达)的重建两种。深度相机是基于视觉的三维重建方法,由RGB相机和光脉冲传感器组成,通过获取的RGB图和深度图就能够完成对场景的重建。基于深度相机[5]的三维重建技术具有探测范围广与价格低廉的特点,还能获取目标的纹理信息,但是受光照和环境影响因素大,获取到的点云信息也往往是稀疏点云[6],而且测量精度也较差。激光扫描仪[7]通过发送与接收测距激光完成对场景的三维重建,根据同时发射的线束不同可以分为单线激光扫描仪(二维激光扫描仪)和多线激光扫描仪。利用多线激光扫描仪进行三维重建是目前最常用的方法之一,但是多线激光扫描仪的成本昂贵,并且点云配准存在着延时问题,阻碍了该项技术在其他领域的应用。二维激光扫描仪的优点有结构简单、成本低、受光照因素影响较小和测距精度高。北京航空航天大学蔡军等[8]提出了一种带轮的旋转扫描方法,其通过二维激光扫描仪完成了对三维点云的获取,但是带传动有滑动现象,传动过程中会造成较大的误差。钱超杰等[9]提出了一种利用基于摆动单线激光雷达的三维重建方法,完成了大场景稠密点云的重建,但是摆动装置的体积较大,应用范围受到限制。2020年,王锐等[10]提出了一种二维激光扫描仪与GNSS/INS的空间重构方法,获得了较高的配准精度,但是获取的点云稀疏。2021年,Lu等[11]提出了一种利用基于特征自动检测的单目相机和二维激光扫描仪外参数标定获得稠密点云的方法,但获取到的点云精度较低。

    本文提出一种步进电机带动二维激光扫描仪旋转运动的方法,使激光扫描仪在原有基础上增加了一个自由度。众所周知,电机的步距角越小,能获取到的点云数目就越多,本文通过对电机细分驱动的方法减小电机步距角。由于二维激光扫描仪在单一位置下采集到的点云数据存在着信息不完整的情况,为了获得完整的点云数据,需要在不同位置下进行测量,然后将点云配准到同一坐标系下。针对这一问题,运用GPS/IMU完成了对二维激光扫描仪位置的标定,然后将所有点云变换到同一坐标系下。为了减小单一传感器带来的误差,用卡尔曼滤波[12]的方法进行了多传感器融合滤波处理。在数据获取过程中,受测量环境和设备精度的影响,得到的点云中往往含有噪声点和离群点,为了解决这一问题,采用半径滤波算法对点云数据进行滤波降噪处理,滤波后的模型变得精确和顺滑[13]。对于点云数量的要求,最好是在保留物体特征的前提下,数量尽可能的少,从而占用更少的内存,提高程序的运行效率。为了获取到高精度点云,步距角设定的就较小,这导致扫描得到的数据过多,从而造成了数据冗余。通过特征保持点云数据精简算法[14]对三维点云数据进行精简,不仅可以保留物体的外形特征,而且可以提高程序运行的效率。最后,以一个盒子作为重建对象,通过MATLAB的GUI界面完成了点云的实时采集和处理。实验验证了所提方法的有效性。

    本方法采集得到的点云具有精度高的优点,精度达到了毫米级别,相较于深度相机/IMU数据融合的重建方法,平均误差降低了0.93 mm,误差率在2%以内,体现了本文所提方法的优越性。

    二维激光扫描仪获取的是环境或物体的二维极坐标。如图1所示,O是激光扫描仪测距原点(扫描中心),YOZ 是激光扫描仪的二维扫描平面,P点是激光扫描仪某次扫描过程中的第i个扫描点。则该点对应的数据信息为P(ρi,αi),可以通过该点的数据测得二维坐标值:

    图  1  二维扫描原理
    Figure  1.  Scanning principle of 2D laser scanner
    {y=ρicosαiz=ρisinαi, (1)

    式中:yzP点沿Y轴和Z轴的坐标值,单位为mm;i表示第i个扫描点;ρi表示激光扫描仪返回的距离值,单位为mm;αi为激光扫描仪的俯仰角度。

    所选用的二维激光扫描仪的型号是TIM561,激光扫描仪以0.333°的角分辨率向外界发射激光。在一个扫描周期内,第一个点的俯仰角是0°,第i个点的俯仰角为0.333(i1)Y轴为0°扫描线。二维激光扫描仪要完成三维点云数据的采集,还需要增加一个自由度。用步进电机带动激光扫描仪沿着XOY平面旋转运动,电机采用细分驱动的方式带动扫描仪完成三维点云数据的采集。

    图2所示,假定激光扫描仪在水平面内旋转了θ角度,仰角为αi,因此能够以O点为坐标原点计算出P点的三维坐标值。

    图  2  三维扫描原理
    Figure  2.  Scanning principle of 3D laser scanner

    通过公式(2)可以得到P点的3个坐标值:

    {x=ρicosαisinθy=ρicosαicosθz=ρisinαi, (2)

    式中:xyz分别为P点沿X轴、Y轴和Z轴的坐标值,单位为mm;θ为激光扫描仪在水平面内的旋转角度。

    由于在某一位置下激光扫描仪测得的物体三维点云数据并不完整,为了获取完整的点云数据,分别把激光扫描仪放置到多个方位下进行扫描。具体的测量方法如图3所示。

    图  3  多视角扫描方法
    Figure  3.  Multi-view scanning method

    图3可以看出激光扫描仪通过多个位置测量可以获取到完整的点云数据。本文利用GPS/IMU传感器获取到了激光扫描仪在不同位置下的位姿信息,GPS/IMU传感器是固定安装在机架上的,在运动过程中传感器测得的状态变化量可以近似等于激光扫描仪的状态变化量。在传感器获取到位姿信息后,运用坐标系变换[15]的方法,将第2、3、和第4次测得的点云变换到第一次测量时的坐标系下,便可以形成点云配准。该装置有3个自由度,分别是沿X轴与Y轴的平动和沿Z轴的转动。以第2次测量为例,实现坐标系的变换:

    \left[ {\begin{array}{*{20}{c}} {{x_1}} \\ {{y_1}} \\ {{\textit{z}_1}} \\ 1 \end{array}} \right] = {}^1{{\boldsymbol{M}}_2}\left[ {\begin{array}{*{20}{c}} {{x_2}} \\ {{y_2}} \\ {{\textit{z}_2}} \\ 1 \end{array}} \right]\quad, (3)

    式中:1M2代表第2次扫描相对于第1次扫描的旋转和平移变换;x2y2z2代表第二次测得的点云坐标,单位为mm;x1y1z1代表第一次测得的点云坐标,单位为mm。

    可以求得通过传感器测量的txty \varphi 角的值,从而进行不同坐标下的点云坐标的变换:

    \left[ {\begin{array}{*{20}{c}} {{x_1}} \\ {{y_1}} \\ {{\textit{z}_1}} \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\cos \varphi }&{ - \sin \varphi }&0&{{t_x}} \\ {\sin \varphi }&{\cos \varphi }&0&{{t_y}} \\ 0&0&0&0 \\ 0&0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_2}} \\ {{y_2}} \\ {{\textit{z}_2}} \\ 1 \end{array}} \right]\quad, (4)

    式中:tx代表第二次测量相对于第一次测量沿X轴方向平移的距离,单位为mm;ty代表第二次测量相对于第一次测量沿Y轴方向平移的距离,单位为mm; \varphi 角代表第二次测量相对于第一次测量沿Z轴旋转的角度。

    通过公式(4)便可以完成不同位姿下测量点云数据的配准。

    测量误差会影响点云配准精度,在测量过程中误差主要来源是测量仪器精度造成的误差。通过多传感器融合技术可有效降低单一传感器测量精度造成的误差。

    采用IMU(惯性测量单元)进行位姿测量,其更新频率较高,一般达到1 kHz。其包含一个三轴加速度传感器和一个三轴陀螺仪角速度计,前者可以测量一个三维空间的加速度,后者可以测量围绕三维空间三个坐标轴方向的旋转速度。用四元数的方法表示传感器的位姿信息,不仅可以减少占用的存储空间,同时可以提高计算效率。

    惯性测量单元的误差随时间呈二次方增长,采用GPS和IMU多传感器融合的方法可以减少误差。通过惯性测量单元和初始时刻的状态,可以预测出下一时刻的状态, {x_t} {y_t} {\varphi _t} 作为状态值,过程如图4所示。

    图  4  位姿估测
    Figure  4.  Position and attitude estimation

    图4中,X轴和Y轴代表地面坐标系,O为标定坐标系原点, \left( {{x_t},{y_t},{\varphi _t}} \right) 表示激光扫描仪在t时刻的状态, \left( {{x_{t + 1}},{y_{t + 1}},{\varphi _{t + 1}}} \right) 表示激光扫描仪在t+1时刻的状态,dt表示两个时刻之间的间隔,dx和dy表示位移变化量。

    卡尔曼滤波可以分为预测和更新两个部分,具体算法[16]如下:

    \left\{ {\begin{aligned} &{\widehat {{\boldsymbol{X}}} _t^ - = {{\boldsymbol{F}}} {{\widehat {{\boldsymbol{X}}} }_{t - 1}} + {{\boldsymbol{B}}} {{{\boldsymbol{U}}} _{t - 1}}} \\ &{{{\boldsymbol{P}}} _t^ - = {{\boldsymbol{F}}} {{{\boldsymbol{P}}} _{t - 1}}{{{\boldsymbol{F}}} ^{\rm{T}}} + {{\boldsymbol{Q}}} } \end{aligned}} \right.\quad, (5)

    式中:t为时刻值, \widehat {{\boldsymbol{X}}} _t^ - t时刻状态的预测值; {\widehat {{\boldsymbol{X}}} _{t - 1}} t - 1 时刻修正后的状态估计值;F为状态转移矩阵;B是系统输入矩阵; {{{\boldsymbol{U}}} _{t - 1}} t - 1 时刻的系统输入;Q为系统噪声的协方差矩阵; {{{\boldsymbol{P}}} _{t - 1}} t - 1 时刻修正后的均方误差矩阵;{\boldsymbol{P}}_t ^-t时刻误差协方差矩阵的预测值。

    \left\{ {\begin{aligned} &{{{{\boldsymbol{K}}} _t} = {{\boldsymbol{P}}} _t^ - {{{\boldsymbol{H}}} ^{\rm{T}}}{{\left( {{{\boldsymbol{H}}} {{\boldsymbol{P}}} _t^ - {{{\boldsymbol{H}}} ^{\rm{T}}} + {{\boldsymbol{R}}} } \right)}^{ - 1}}} \\ &{{{\widehat {{\boldsymbol{X}}} }_t} = \widehat {{\boldsymbol{X}}} _t^ - + {{{\boldsymbol{K}}} _t}\left( {{{{\boldsymbol{Z}}} _t} - {{\boldsymbol{H}}} \widehat {{\boldsymbol{X}}} _t^ - } \right)} \\ &{{{{\boldsymbol{P}}} _t} = \left( {{{\boldsymbol{I}}} - {{{\boldsymbol{K}}} _t}{{\boldsymbol{H}}} } \right){{\boldsymbol{P}}} _t^ - } \end{aligned}} \right.\quad, (6)

    式中:H为观测矩阵;R为量测噪声矩阵;Kt为卡尔曼增益;Zt为量测值;{\widehat {{\boldsymbol{X}}} _t}为更新后的估计值;Pt为更新后的误差的协方差矩阵。

    三维重建系统主要由二维激光扫描仪、步进电机及其控制和驱动元件、GPS、IMU传感器以及点云数据采集与处理平台组成。系统的组成示意图如图5所示。

    图  5  三维重建系统组成示意图
    Figure  5.  Diagram of 3D reconstruction system

    激光扫描仪只能扫描所在的二维平面,为了得到三维点云数据,设计了图6所示的转动结构。利用步进电机带动激光扫描仪旋转实现三维点云的获取。步进电机通过传动轴带动转盘做旋转运动,激光扫描仪和转盘通过螺栓连接在一起,由此完成了步进电机和激光扫描仪的同步转动。电机通过驱动器实施细分驱动,可以使激光扫描仪实现在水平面的n等份旋转运动,从而实现了各个转角下的二维平面扫描。步进电机的步距角越小,步进电机运动精度就越高,获取到的点云数据也越多。

    图  6  激光扫描仪运动装置结构图
    Figure  6.  Structure diagram of laser scanner motion device

    在运动装置旋转过程中,扫描仪根据需求采集实时的二维点云数据,并通过以太网输送到上位机,同时也将步进电机的旋转角度信息反馈给上位机。上位机接收到数据后,将数据进行融合并进行坐标变换,从而完成三维点云的实时重建。

    PLC通过ZD-2HD430S驱动器向步进电机发送工作指令,实现了电机的细分驱动。激光扫描仪数据用以太网传输到上位机,而PLC的工作信息是通过串口通信传输到上位机的,图7所示为实验的电路图。

    图  7  扫描实验电路图
    Figure  7.  Scanning experimental circuit diagram

    三维重建系统的软件程序主要由点云数据获取、PCD点云文件生成和点云数据处理3部分组成,图8所示的是软件程序处理流程图。

    图  8  软件程序处理流程
    Figure  8.  Software program processing flow

    使用卡尔曼滤波算法对GPS的噪声和加速度的噪声进行融合,可以使得融合后的位置的噪声方差最小,从而达到最优的估计效果。加速度和GPS数据已经转换为激光扫描仪的原点坐标系,并进行了滤波校正处理。定义GPS的经度方向和纬度方向分别为X轴和Y轴。通过卡尔曼滤波对扫描仪的位置进行滤波处理。首先对X轴方向进行滤波处理,取系统的状态矩阵向量为 {{\boldsymbol{X}}_k} = \left[ {\begin{array}{*{20}{c}} {{x_k}}&{{v_{xk}}}&{{a_{xk}}} \end{array}} \right] {v_{xk}} 代表X轴方向的速度, {a_{xk}} 代表X轴方向的加速度,离散线性动态系统的状态空间模型为:

    \left\{ \begin{gathered} {{{\boldsymbol{\dot X}}}_k} = {\boldsymbol{A}}{{\boldsymbol{X}}_{k - 1}} + {{\boldsymbol{w}}_{k - 1}} \\ {{\boldsymbol{Z}}_k} = {\boldsymbol{H}}{{\boldsymbol{X}}_k} + {{\boldsymbol{v}}_k} \\ \end{gathered} \right. \quad, (7)

    式中: {\boldsymbol{A}} 为状态转移矩阵, {{\boldsymbol{w}}_{k - 1}} 为系统的过程噪声,过程噪声的协方差矩阵为Q {\boldsymbol{H}} 为系统观测矩阵, {{\boldsymbol{v}}_k} 为系统的量测噪声,量测噪声的协方差矩阵为R

    离散后的系统状态转移矩阵和观测矩阵分别为:

    {\boldsymbol{A}} = \left[ {\begin{array}{*{20}{c}} 1&t&{\dfrac{1}{2}{t^2}} \\ 0&1&t \\ 0&0&1 \end{array}} \right] \quad, (8)
    {\boldsymbol{H}} = \left[ {\begin{array}{*{20}{c}} 1&0&0 \\ 0&0&1 \end{array}} \right] \quad. (9)

    同理,对Y轴方向进行滤波处理时,只需要取系统的状态矩阵向量为 {{\boldsymbol{X}}_k} = \left[ {\begin{array}{*{20}{c}} {{y_k}}&{{v_{yk}}}&{{a_{yk}}} \end{array}} \right]

    通过PLC和二维激光扫描仪的同步控制程序完成对点云数据的采集。上位机接收到的TIM561激光扫描仪的数据是十六进制的HEX报文,通过将HEX报文转换为十进制数据,获取到激光扫描仪的测量距离ρi,第i个扫描点的俯仰角αi0.333 \times i^\circ P点是激光扫描仪对二维平面扫描过程中的第i个扫描点,则该点对应的数据信息为 P\left( {{\rho _i},{\alpha _i}} \right) 。激光扫描仪的角度分辨率为0.333°,设置二维扫描平面的扫描范围为 \left( { - 45^\circ ,45^\circ } \right) ,第一个扫描仪点的角度为 - 45^\circ ,可以算得i的取值为 {0,1,2, \cdots ,269,270}

    由式(1)可知,通过俯仰角{{\alpha }}_{{i}}和距离{{\rho }}_{{i}}可以得到点云在二维平面的坐标值。要实现三维点云的坐标融合,还需要在二维坐标的基础上加上电机的步距角信息。由于电机是细分驱动,故可以对电机每次旋转的角度进行划分。在得到电机旋转角度θ以后,通过式(2)可以求得点云三维坐标值。

    为了获取物体完整的点云信息,还需要将多个位置下的点云信息进行融合。IMU测得的数据通过解算可以预测扫描仪的状态向量,将GPS获得的数据从地心坐标系转为经纬度后可以更新状态向量,从而完成了两个传感器信息的融合,减小了实验误差。

    为了生成三维点云坐标文件,用公式(5)和(6)对获取得到的GPS/IMU数据进行处理。在得到了位姿数据的最优估计值以后,运用公式(4)将所有位置下的点云数据融合到同一坐标系下,完成点云配准。最后将所有的三维点云数据转化为PCD格式的点云文件。

    4.3.1   点云滤波算法

    由于原始点云中存在部分噪声点及离群点,为了降低噪声点和离群点对实验结果的影响,采用半径滤波的方法对点云数据进行处理。半径滤波法在保留物体原始特征的情况下,能够剔除大量的离群点和噪声点。

    半径滤波算法原理如图9(彩图见期刊电子版)所示,其可遍历所有点云,蓝色点为遍历过程中的某个点,找到离蓝色点最近的n个点,图9n值为5。以蓝色点为中心,算出n个点中离蓝色点距离最远的点,求得最远点距离为R。给定阈值max_D,若R>max_D,则剔除该点。

    图  9  半径滤波原理
    Figure  9.  Principle of radius filter algorithm
    4.3.2   点云精简算法

    由于采集到的点云数据量大,存储效率和数据处理效率较低,因此需要在保留点云原始特征的情况下对其进行精简处理。采用基于单位法向量的点云分类采样算法,可以在完成精简的同时保留模型的细节特征。

    本算法需要同时求某点的单位法向量和其K阶邻域内(最近的K个点)的法向量。假设某点的单位法向量为{{\boldsymbol{N}}_i} = \left( {{x_i},{y_i},{{\textit{z}}_i}} \right),其K阶邻域内的法向量为{{\boldsymbol{N}}_{i1}} = \left( {{X_{i1}},{Y_{i1}},{Z_{i1}}} \right), \cdots ,{{\boldsymbol{N}}_{iK}} = \left( {{X_{iK}},{Y_{iK}},{Z_{iK}}} \right)。用V表示其单位法向量与K阶邻域内法向量点积的平均值,计算方法如公式(10)所示:

    V = \frac{{{V_N}}}{K} = \frac{{\displaystyle\sum_{{{j}} = 1}^K {\left| {{x_i} \cdot {X_{ij}} + {y_i} \cdot {Y_{ij}} + {{\textit{z}}_i} \cdot {Z_{ij}}} \right|} }}{K}\quad, (10)

    V值的取值区间为[0,1],V值越大,表明该点K阶邻域内的单位法向量变化越小,弯曲程度越小,精简的可能性越大。计算出参数 V'=1-V ,利用 V' 值可以更加直观地看出点云的弯曲程度, V' 值越大,弯曲程度越大,精简的可能性越小。

    通过 V' 对点云数据点进行分类,分类方法如表1所示。

    表  1  根据V′对点云进行分类
    Table  1.  Categorizion of the point cloud according to V
    分类类别V′的取值区间
    1[0,0.003)
    2[0.003,0.004)
    3[0.004,0.008)
    4[0.008,0.016)
    5[0.016,0.032)
    6[0.032,0.064)
    7[0.064,1]
    下载: 导出CSV 
    | 显示表格

    根据 V^{\prime} 值的不同将点云分为了7个类别,类别越高,说明该点弯曲程度越大,精简的可能性就越小。首先对第7类数据采样比例REM7进行预设,然后根据公式(11)可以求得其它类别数据的采样比例:

    RE{M}_{{i}}=RE{M}_{7}\times \frac{2\times i-1}{13}({i}=1,2,\cdots ,6) \quad. (11)

    根据采样比例筛选出所需要保留的点云数据,获得精简后的点云。

    为了验证本文所提方法的有效性,自主搭建了一套基于转动式二维激光扫描仪的三维重建设备,硬件连接实物如图10所示。

    图  10  实验装置
    Figure  10.  Experimental device

    IMU/GPS传感器固定在激光扫描仪机架上,两者之间是相对静止的,所以IMU/GPS测得的状态变化量通过变换以后近似等于激光扫描仪所产生的状态变化量。

    在硬件系统搭建完成以后,MATLAB和PLC的通讯是通过MODBUS RTU通讯协议进行的,以完成上位机指令的发送与PLC数据的接收。

    激光扫描仪的数据是通过以太网来发送和接收的。

    上位机设置好扫描参数和地址以后便可以开始进行三维点云数据采集。首先,运用PLC和激光扫描仪的同步控制程序来采集三维点云数据。然后,用半径滤波法和特征保持精简算法对点云数据进行滤波和精简处理。最后,利用GPS/IMU测得的二维激光扫描仪的位姿信息完成点云数据的配准。图11所示的是采集的三维点云图像。

    图  11  (a)原始物体及其(b)点云图像
    Figure  11.  (a) Original object and (b) it's point cloud image

    图11中可以看出,采集的三维激光点云数据能够完整地显示出物体的三维轮廓,但是还存在着一些离群点和噪声点,需要对其进行降噪处理。将半径滤波算法的近邻参数设置为10,即寻找最近的10个点。阈值设置为5,即最大距离超过5 mm就剔除该点。图12为经过滤波后的点云数据,可见通过半径滤波法对点云进行处理以后,剔除了大量的离群点和噪声点,点云模型也变得精确和顺滑。

    图  12  点云数据滤波结果
    Figure  12.  Filter results of point cloud data

    对滤波后的点云数据进行精简处理,设置10个类别。第10个类别的采样比例设置为0.01,其它9个类别的采样比例可以依据公式(11)求出。

    为了显示精简效果,本文引入了点云精简率进行分析,其表达式如下:

    p=\frac{\left|C-{C}_{a}\right|}{C}\times 100\text{%}\quad, (12)

    式中:p表示点云的精简率,C表示精简前的点云数目,Ca表示精简后的点云数目。

    图13为经过点云精简的结果。由图可知,经过精简处理后,点云数目只剩下了7711个。用公式(12)求得滤波率达到了99.64%。该方法不仅提高了存储和处理效率,而且很好地保留了外形特征。

    图  13  点云数据精简结果
    Figure  13.  Point cloud data reduction results

    为了检验三维模型的重建精度和多传感器融合方法的效果,对重建模型的误差进行分析。测量距离是通过点云图像上的数据点获取的,实际距离是用激光测距仪在原始物体上测得的距离。对比相同位置的实际距离和测量距离,可得到如表2所示的测量结果。

    表  2  实验测量结果
    Table  2.  Experimental measurement results
    测量次数实际距离(mm)误差修正前(mm)误差修正后(mm)
    1374389.6377.2
    2377396.5383.4
    3452471.8457.1
    4397414.4399.9
    5445465.5449.2
    6421439.5424.6
    7385404.2389.3
    下载: 导出CSV 
    | 显示表格

    测量距离的相对误差可以由公式(13)求得:

    \lambda =\frac{\left|A-{A}_{a}\right|}{A}\times 100\text{%} \quad, (15)

    式中: \lambda 表示相对误差,A表示实际距离,Aa表示测量距离。

    表2中的测量结果带入公式(13)中进行计算,分别计算出了修正前和修正后的相对误差,如图14所示。

    图  14  误差修正前后相对误差对比图
    Figure  14.  Comparison of measurement error rates before and after error correction

    通过对比修正前和修正后的相对误差,发现卡尔曼滤波方法的重建精度有3%的提高。二维激光扫描仪的测量误差达到了毫米级,平均误差为4.24 mm,平均误差率也控制在2%以内。

    为了验证基于二维激光扫描仪和多传感器的重建方法在精度上的优势,使用IMU和深度相机数据融合方法作为对照组进行对比实验。重建出的模型如图15所示。

    图  15  深度相机/IMU的物体重建结果
    Figure  15.  Object reconstruction results of depth camera/IMU

    为了验证本文所提方法相较于深度相机重建方法具有精度优势,在图15的重建模型上进行采样。采样的位置和表2相同,得到的测量结果如表3所示。

    表  3  实验结果对比
    Table  3.  Comparison of experimental results
    测量次数实际距离
    (mm)
    本文方法
    (mm)
    深度相机的重建方法
    (mm)
    1374377.2379.5
    2377383.4383.1
    3452457.1447.3
    4397399.9402.6
    5445449.2440.5
    6421424.6417.4
    7385389.3391.2
    下载: 导出CSV 
    | 显示表格

    通过表3可以得出基于IMU和深度相机数据融合方法的平均误差为5.17 mm。而本文所提方法的平均误差为4.24 mm,较其降低了0.93 mm。

    综上,基于转动式二维激光扫描仪的三维重建方法在精度上要高于深度相机的重建方法。通过设置二维激光扫描仪的扫描范围,不仅能对小场景进行重建,对于大规模场景重建也同样适用。

    本文分析了国内外三维重建方法的研究现状,提出了一种基于转动式二维激光扫描仪的三维重建方法。完成了结构装置、硬件电路、PLC程序和MATLAB程序的设计。设计的结构装置能够保证电机带动激光扫描仪进行同步运动,通过电机带动激光扫描仪做旋转运动的方式完成了三维点云数据的采集。通过对电机的细分驱动增加了运转的平稳性,电机步距角越小,获得的点云数目也越多。利用坐标变换方法,解决了单一位置下点云采集不完整的问题。通过卡尔曼滤波方法进行滤波处理,减小了实验的误差,并对误差进行分析,提高重建精度。最后,通过实验验证了本文所提方法的有效性,不仅保留了物体的外形特征,而且获取到高精度的点云。点云数据的平均误差为4.24 mm,误差率在2%以内。实验证明本文所提重建方法的精度要高于深度相机/IMU的重建方法,而且整套装置的成本也远低于多线激光扫描仪。

  • 图 1  二维扫描原理

    Figure 1.  Scanning principle of 2D laser scanner

    图 2  三维扫描原理

    Figure 2.  Scanning principle of 3D laser scanner

    图 3  多视角扫描方法

    Figure 3.  Multi-view scanning method

    图 4  位姿估测

    Figure 4.  Position and attitude estimation

    图 5  三维重建系统组成示意图

    Figure 5.  Diagram of 3D reconstruction system

    图 6  激光扫描仪运动装置结构图

    Figure 6.  Structure diagram of laser scanner motion device

    图 7  扫描实验电路图

    Figure 7.  Scanning experimental circuit diagram

    图 8  软件程序处理流程

    Figure 8.  Software program processing flow

    图 9  半径滤波原理

    Figure 9.  Principle of radius filter algorithm

    图 10  实验装置

    Figure 10.  Experimental device

    图 11  (a)原始物体及其(b)点云图像

    Figure 11.  (a) Original object and (b) it's point cloud image

    图 12  点云数据滤波结果

    Figure 12.  Filter results of point cloud data

    图 13  点云数据精简结果

    Figure 13.  Point cloud data reduction results

    图 14  误差修正前后相对误差对比图

    Figure 14.  Comparison of measurement error rates before and after error correction

    图 15  深度相机/IMU的物体重建结果

    Figure 15.  Object reconstruction results of depth camera/IMU

    表  1  根据V′对点云进行分类

    Table  1.   Categorizion of the point cloud according to V

    分类类别V′的取值区间
    1[0,0.003)
    2[0.003,0.004)
    3[0.004,0.008)
    4[0.008,0.016)
    5[0.016,0.032)
    6[0.032,0.064)
    7[0.064,1]
    下载: 导出CSV

    表  2  实验测量结果

    Table  2.   Experimental measurement results

    测量次数实际距离(mm)误差修正前(mm)误差修正后(mm)
    1374389.6377.2
    2377396.5383.4
    3452471.8457.1
    4397414.4399.9
    5445465.5449.2
    6421439.5424.6
    7385404.2389.3
    下载: 导出CSV

    表  3  实验结果对比

    Table  3.   Comparison of experimental results

    测量次数实际距离
    (mm)
    本文方法
    (mm)
    深度相机的重建方法
    (mm)
    1374377.2379.5
    2377383.4383.1
    3452457.1447.3
    4397399.9402.6
    5445449.2440.5
    6421424.6417.4
    7385389.3391.2
    下载: 导出CSV
  • [1] 姚程, 马彩文. 基于平面补丁的自适应八叉树三维图像重建[J]. 光学 精密工程,2022,30(9):1113-1122. doi: 10.37188/OPE.20223009.1113

    YAO CH, MA C W. Adaptive octree 3D image reconstruction based on plane patch[J]. Optics and Precision Engineering, 2022, 30(9): 1113-1122. (in Chinese) doi: 10.37188/OPE.20223009.1113
    [2] PULITI M, MONTAGGIOLI G, SABATO A. Automated subsurface defects' detection using point cloud reconstruction from infrared images[J]. Automation in Construction, 2021, 129: 103829. doi: 10.1016/j.autcon.2021.103829
    [3] 赵杰, 陈小梅, 侯玮旻, 等. 基于城市遥感卫星影像对的立体匹配[J]. 光学 精密工程,2022,30(7):830-839. doi: 10.37188/OPE.20223007.0830

    ZHAO J, CHEN X M, HOU W M, et al. Stereo matching based on urban satellite remote sensing image pair[J]. Optics and Precision Engineering, 2022, 30(7): 830-839. (in Chinese) doi: 10.37188/OPE.20223007.0830
    [4] 孙艺洋, 许金凯, 于占江, 等. 微细铣刀位姿同轴全息重建方法[J]. 中国光学,2022,15(2):355-363. doi: 10.37188/CO.2021-0089

    SUN Y Y, XU J K, YU ZH J, et al. Coaxial holographic reconstruction method of micro-milling tool pose[J]. Chinese Optics, 2022, 15(2): 355-363. (in Chinese) doi: 10.37188/CO.2021-0089
    [5] SHUANG Y C, WANG Z Z. Active stereo vision three-dimensional reconstruction by RGB dot pattern projection and ray intersection[J]. Measurement, 2021, 167: 108195. doi: 10.1016/j.measurement.2020.108195
    [6] WANG C W, PENG C C. 3D face point cloud reconstruction and recognition using depth sensor[J]. Sensors, 2021, 21(8): 2587. doi: 10.3390/s21082587
    [7] WANG B Y, WANG Q, CHENG J C P, et al. Vision-assisted BIM reconstruction from 3D LiDAR point clouds for MEP scenes[J]. Automation in Construction, 2022, 133: 103997. doi: 10.1016/j.autcon.2021.103997
    [8] 蔡军, 赵原, 李宇豪, 等. 一种三维激光扫描系统的设计及参数标定[J]. 北京航空航天大学学报,2018,44(10):2208-2216. doi: 10.13700/j.bh.1001-5965.2018.0029

    CAI J, ZHAO Y, LI Y H, et al. A 3D laser scanning system design and parameter calibration[J]. Journal of Beijing University of Aeronautics and Astronautics, 2018, 44(10): 2208-2216. (in Chinese) doi: 10.13700/j.bh.1001-5965.2018.0029
    [9] 钱超杰, 杨明, 戚明旭, 等. 基于摆动单线激光雷达的大场景稠密点云地图创建系统[J]. 机器人,2019,41(4):464-472,492. doi: 10.13973/j.cnki.robot.180543

    QIAN CH J, YANG M, QI M X, et al. Swinging single-layer LiDAR based dense point cloud map reconstruction system for large-scale scenes[J]. Robot, 2019, 41(4): 464-472,492. (in Chinese) doi: 10.13973/j.cnki.robot.180543
    [10] 王锐, 常锴, 符国浩, 等. 单线激光雷达与GNSS/INS的空间重构[J]. 光学 精密工程,2020,28(4):851-858.

    WANG R, CHANG K, FU G H, et al. Space reconstruction using single-line LIDAR and GNSS/INS fused data[J]. Optics and Precision Engineering, 2020, 28(4): 851-858. (in Chinese)
    [11] LU H J, XU SH G, CAO SH. SGTBN: generating dense depth maps from single-line LiDAR[J]. IEEE Sensors Journal, 2021, 21(17): 19091-19100. doi: 10.1109/JSEN.2021.3088308
    [12] WEN W S, PFEIFER T, BAI X W, et al. Factor graph optimization for GNSS/INS integration: a comparison with the extended Kalman filter[J]. Journal of the Institute of Navigation, 2021, 68(2): 315-331. doi: 10.1002/navi.421
    [13] NING X J, LI F, TIAN G, et al. An efficient outlier removal method for scattered point cloud data[J]. PLoS One, 2018, 13(8): e0201280. doi: 10.1371/journal.pone.0201280
    [14] 袁小翠, 吴禄慎, 陈华伟. 特征保持点云数据精简[J]. 光学 精密工程,2015,23(9):2666-2676. doi: 10.3788/OPE.20152309.2666

    YUAN X C, WU L SH, CHEN H W. Feature preserving point cloud simplification[J]. Optics and Precision Engineering, 2015, 23(9): 2666-2676. (in Chinese) doi: 10.3788/OPE.20152309.2666
    [15] TIAN Y, XU H, GUAN F, et al. Projection and integration of connected-infrastructure LiDAR sensing data in a global coordinate[J]. Optics &Laser Technology, 2021, 144: 107421.
    [16] WELCH G F. Kalman filter[J]. Computer Vision:A Reference Guide, 2020: 1-3.
    [17] NAGUI N, ATTALLAH O, ZAGHLOUL M S, et al. Improved GPS/IMU loosely coupled integration scheme using two kalman filter-based cascaded stages[J]. Arabian Journal for Science and Engineering, 2021, 46(2): 1345-1367. doi: 10.1007/s13369-020-05144-8
  • 期刊类型引用(6)

    1. 江政,俞驰威,黄天然,缪佳晖,陈坤杰,黄明,黄继超. 基于三维重建的猪大排定量切片方法. 农业工程学报. 2025(02): 291-299 . 百度学术
    2. 王彦,徐浩雨,汪俊亮,朱伟,蒋超. 环形布设光纤布拉格光栅的三维曲面形状重构. 中国光学(中英文). 2024(02): 398-408 . 百度学术
    3. 朱婧怡,杨鹏程,孟杰,张津京,崔嘉宝,代阳. 基于曲率特征的文物点云分类降采样与配准方法. 中国光学(中英文). 2024(03): 572-579 . 百度学术
    4. 刘宇豪,吴福培,吴树壮,王瑞. 基于插值超分辨的双目三维重建方法. 中国光学(中英文). 2024(04): 862-874 . 百度学术
    5. 赖振彬,李昱江,李洋,帅海乐,杨垣. 2D激光雷达室内平面数据预处理方法研究. 现代信息科技. 2024(13): 125-128 . 百度学术
    6. 方远翔,江伦,裴惠熠,王锦疆,崔勇,张家铭. 双液晶偏振光栅系统的倾斜误差特性分析. 中国光学(中英文). 2024(06): 1387-1396 . 百度学术

    其他类型引用(3)

  • 加载中
图(15) / 表(3)
计量
  • 文章访问数:  679
  • HTML全文浏览量:  372
  • PDF下载量:  286
  • 被引次数: 9
出版历程
  • 收稿日期:  2022-07-14
  • 修回日期:  2022-09-06
  • 录用日期:  2022-11-11
  • 网络出版日期:  2022-11-22

目录

/

返回文章
返回