留言板

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

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

直线簇约束下的地面LiDAR点云配准方法

盛庆红 张斌 肖晖 陈姝文 王青 柳建峰

盛庆红, 张斌, 肖晖, 陈姝文, 王青, 柳建峰. 直线簇约束下的地面LiDAR点云配准方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
引用本文: 盛庆红, 张斌, 肖晖, 陈姝文, 王青, 柳建峰. 直线簇约束下的地面LiDAR点云配准方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
SHENG Qinghong, ZHANG Bin, XIAO Hui, CHEN Shuwen, WANG Qing, LIU Jianfeng. A Registration Method Based on Line Cluster for Terrestrial LiDAR Point Clouds[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
Citation: SHENG Qinghong, ZHANG Bin, XIAO Hui, CHEN Shuwen, WANG Qing, LIU Jianfeng. A Registration Method Based on Line Cluster for Terrestrial LiDAR Point Clouds[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292

直线簇约束下的地面LiDAR点云配准方法

doi: 10.13203/j.whugis20150292
基金项目: 

国家自然科学基金 41101441

国家自然科学基金 41471381

南京航空航天大学研究生创新基地(实验室)开放基金 kfjj20161504

江苏省普通高校研究生实践创新计划 SJZZ15_0045

详细信息
    作者简介:

    盛庆红, 博士, 副教授, 主要研究方向为数字摄影测量。qhsheng@nuaa.edu.cn

  • 中图分类号: P237;TP751

A Registration Method Based on Line Cluster for Terrestrial LiDAR Point Clouds

Funds: 

The National Natural Science Foundation of China 41101441

The National Natural Science Foundation of China 41471381

the Fundation of Graduate Innovation Center in NUAA kfjj20161504

Funding of Jiangsu Innovation Program for Graduate Education SJZZ15_0045

More Information
    Author Bio:

    SHENG Qinghong, PhD, associate professor, specializes in digital photogrammetry. E-mail: qhsheng@nuaa.edu.cn

图(6) / 表(2)
计量
  • 文章访问数:  1553
  • HTML全文浏览量:  126
  • PDF下载量:  408
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-02-21
  • 刊出日期:  2018-03-05

直线簇约束下的地面LiDAR点云配准方法

doi: 10.13203/j.whugis20150292
    基金项目:

    国家自然科学基金 41101441

    国家自然科学基金 41471381

    南京航空航天大学研究生创新基地(实验室)开放基金 kfjj20161504

    江苏省普通高校研究生实践创新计划 SJZZ15_0045

    作者简介:

    盛庆红, 博士, 副教授, 主要研究方向为数字摄影测量。qhsheng@nuaa.edu.cn

  • 中图分类号: P237;TP751

摘要: 高精度的地面LiDAR点云配准是空间目标三维表面拓扑重建的关键,针对待配准LiDAR点云和基准LiDAR点云存在位置、姿态和比例缩放差异的问题,提出了基于直线簇的地面LiDAR点云配准方法。首先,根据直线间相交、平行和异面的拓扑关系,分别对待配准和基准LiDAR点云的直线进行聚簇,构建直线簇;然后,分别将同名直线用Plücker坐标表示,通过待配准LiDAR点云的直线簇在空间中的螺旋缩放运动,使其与基准LiDAR点云的直线簇比例尺一致,且同名Plücker直线重合,构建基于直线簇的共线条件方程,实现了比例因子和相对位姿一体化解算。实验结果表明,直线簇的螺旋缩放增强了配准方程的几何约束性,提高了抗噪声能力,实现了高精度的地面LiDAR点云配准。

English Abstract

盛庆红, 张斌, 肖晖, 陈姝文, 王青, 柳建峰. 直线簇约束下的地面LiDAR点云配准方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
引用本文: 盛庆红, 张斌, 肖晖, 陈姝文, 王青, 柳建峰. 直线簇约束下的地面LiDAR点云配准方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
SHENG Qinghong, ZHANG Bin, XIAO Hui, CHEN Shuwen, WANG Qing, LIU Jianfeng. A Registration Method Based on Line Cluster for Terrestrial LiDAR Point Clouds[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
Citation: SHENG Qinghong, ZHANG Bin, XIAO Hui, CHEN Shuwen, WANG Qing, LIU Jianfeng. A Registration Method Based on Line Cluster for Terrestrial LiDAR Point Clouds[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 406-412. doi: 10.13203/j.whugis20150292
  • 地面三维激光扫描作为一种高效、高精度的三维数据采集方法,为数字城市空间数据获取和实时更新提供了可靠的保证。数字城市建设的关键是全面、真实、快速、准确地再现地理空间实体及其环境信息,而机载激光雷达(light detection and ranging, LiDAR)传感器的视觉面较窄,因此将不同视角获取的地面LiDAR点云进行配准是一项十分重要的研究工作[1]。地面LiDAR系统从多个不同视角对同一地面目标进行扫描时,由于受周围各种冲击和振动的影响,扫描仪相对目标会出现不稳定状态,导致不同视角解算出的点云的比例尺不完全相同,因此,带缩放参数的配准模型能够更高精度地实现多站地面LiDAR点云坐标的统一[2-6]。由于结构特征具有旋转、缩放不变性[7],且受LiDAR点云密度影响小,因此以结构特征为基元的配准受到广泛关注。利用线特征的点云初始配准方法,增加了冗余度和几何强度[8]。以顶点与直线段组成的结构特征为配准基元[9],实现了LiDAR点云与航空影像的自动配准。以6独立参数模型为基础,增加点在平面上和平面法线平行两种几何特征约束条件[10],有效地改善了地面建筑物点云的配准结果。然而上述方法仅利用了直线的端点信息或在配准模型中加入不等约束条件,没有充分考虑空间直线的几何拓扑关系,配准模型的几何约束强度弱。

    Plücker直线坐标的几何意义明确,形式简洁,利用螺旋的Plücker坐标进行空间直线变换表示更加有效快捷[11-13]。利用Plücker直线表示待配准点云与影像间的同名直线,能够高精度地确定LiDAR点云和影像的相对位姿关系[14]。本文提出了一种基于直线簇的地面LiDAR点云配准方法,根据直线间的相交、平行和异面的拓扑关系对Plücker直线进行聚簇。该方法结构简单,充分考虑了空间直线的拓扑关系,实现了地面LiDAR点云的高精度配准。

    • 在欧基里德几何空间中,直线是可以无限延长的,孤立地考虑一条直线,直线的缩放只体现在长度的拉伸上。如图 1所示的平面模型,将黑色小正方形放大2倍,可得到大正方形,直线l1l1分别是小正方形与大正方形的对应边,且l1与下边的距离是l1与下边的距离的2倍。若以两正方形的公共顶点O为坐标系原点,则l1相对于O的矩矢量大小是l1相对于O的矩矢量大小的2倍,但和l1的方向矢量相同。这表明由直线组成的正方形放大或者缩小时,两正方形中同名直线间的距离发生了变化,且同名直线是相互平行的,直线间夹角不变。可见,将不同直线构成拓扑结构,能够实现直线的“缩放”。因此本文利用直线间的相交、平行和异面的拓扑关系对直线特征进行聚簇,构建直线簇。

      图  1  直线的缩放

      Figure 1.  Scaling of Lines

      根据直线簇的定义,当直线簇缩放时,直线的矩矢量大小按相同比例因子λ同时缩放,但直线的方向矢量和矩矢量方向不变,因此直线簇缩放不改变直线簇中各直线间的夹角,而是将直线簇中直线间的距离变为原来的λ倍。

      根据直线簇的特点,本文采用Plücker坐标表示直线,它由直线方向矢量(L, M, N)和直线相对于空间坐标系原点的矩矢量(L0, M0, N0)组成。设l1为直线簇中任意直线,则当直线簇缩放λ倍时,l1的同名直线l1的Plücke坐标为(L, M, N)和(λL0, λM0, λN0)。

    • 为了描述直线簇在三维空间中的坐标变换,通常用单位对偶矢量$\mathit{\boldsymbol{\hat l}}$将Plücke直线表示为:

      $$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{\hat l}} = \left( {L + \varepsilon {L_0}} \right){\rm{i}} + \left( {M + \varepsilon {M_0}} \right){\rm{j}} + \left( {N + \varepsilon {N_0}} \right){\rm{k}} = }\\ {\left[ {\begin{array}{*{20}{c}} 0&L&M&N&0&{{L_0}}&{{M_0}}&{{N_0}} \end{array}} \right]} \end{array} $$ (1)

      式中,ε为对偶单位,满足ε2=0,ε≠0;i、j、k为虚数单位,满足i2=j2=k2=-1。

      图 2所示,直线簇中直线l1缩放至直线l1l1围绕螺旋轴${\hat{n}}$转动对偶角${\hat{\theta }}$后得到l2,则直线簇中直线螺旋运动方程为:

      $$ {{\mathit{\boldsymbol{\hat l}}}_2} = {{\mathit{\boldsymbol{\hat q}}}^{ - 1}} \cdot {{\mathit{\boldsymbol{\hat l'}}}_1} \cdot \mathit{\boldsymbol{\hat q}} $$ (2)
      $$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{\hat q}} = \cos \frac{{\hat \theta }}{2} + \sin \frac{{\hat \theta }}{2}\mathit{\boldsymbol{\hat n}} = }\\ {\left[ {\begin{array}{*{20}{c}} {{q_1}}&{{q_2}}&{{q_3}}&{{q_4}}&{{q_{01}}}&{{q_{02}}}&{{q_{03}}}&{{q_{04}}} \end{array}} \right]} \end{array} $$
      $$ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\hat q}}}^{ - 1}} = \cos \frac{{\hat \theta }}{2} - \sin \frac{{\hat \theta }}{2}\mathit{\boldsymbol{\hat n}} = }\\ {\left[ {{q_1} - {q_2} - {q_3} - {q_4}{q_{01}} - {q_{02}} - {q_{03}} - {q_{04}}} \right]} \end{array} $$

      图  2  直线簇的螺旋缩放

      Figure 2.  Spiral and Scale Motion of Line Cluster

      式中, ${\mathit{\boldsymbol{\hat{q}}}}$为单位对偶四元数;${{{\mathit{\boldsymbol{\hat{q}}}}}^{-1}} $为${\mathit{\boldsymbol{\hat{q}}}}$的共轭;${\mathit{\boldsymbol{\hat{n}}}}$为单位对偶矢量;$\hat{\theta }=\theta +\varepsilon d$,dl1沿着螺旋轴${\mathit{\boldsymbol{\hat{n}}}}$的方向平移的距离。

    • LiDAR点云配准是待配准LiDAR点云与基准LiDAR点云之间的空间相似变换。如图 2所示,O1-A1B1C1O2-A2B2C2分别是待配准LiDAR点云与基准LiDAR点云,O1O2分别为两LiDAR点云的坐标原点,O1A1A1B1B1C1C1D1O2A2A2B2B2C2C2D2为两LiDAR点云上提取的同名直线,且O1A1A1B1垂直相交、O1A1B1C1平行、O1A1C1D1异面, 将O1A1A1B1B1C1C1D1进行聚簇,构建待配准LiDAR点云直线簇; 将O2A2A2B2B2C2C2D2进行聚簇,构建基准LiDAR点云直线簇。当待配准LiDAR点云直线簇在空间中螺旋缩放至与基准LiDAR点云直线簇比例尺一致,且同名直线重合时,就能够实现LiDAR点云的配准。

    • 设待配准LiDAR点云直线簇中任意直线l1的Plücke坐标为${{{\mathit{\boldsymbol{\hat{l}}}}}_{\rm{1}}}$=[0 L1 M1 N1 0 L10 M10 N10],基准LiDAR点云直线簇中同名直线l2的Plücke坐标为${{{\mathit{\boldsymbol{\hat{l}}}}}_{\rm{2}}}$=[0 L2 M2 N2 0 L20 M20 N20],那么根据式(2),l1l2的螺旋缩放方程为:

      $$ \begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\hat l}}}_2} = {{\mathit{\boldsymbol{\hat q}}}^{ - 1}} \cdot }\\ {\left[ {\begin{array}{*{20}{c}} 0&{{L_1}}&{{M_1}}&{{N_1}}&0&{\lambda {L_{10}}}&{\lambda {M_{10}}}&{\lambda {N_{10}}} \end{array}} \right] \cdot \mathit{\boldsymbol{\hat q}}}\\ { = {{\mathit{\boldsymbol{\hat q}}}^{ - 1}} \cdot {{\mathit{\boldsymbol{\hat l}}}_1}\left[ {\begin{array}{*{20}{c}} 1&0&0&0&0&0&0&0\\ 0&1&0&0&0&0&0&0\\ 0&0&1&0&0&0&0&0\\ 0&0&0&1&0&0&0&0\\ 0&0&0&0&\lambda &0&0&0\\ 0&0&0&0&0&\lambda &0&0\\ 0&0&0&0&0&0&\lambda &0\\ 0&0&0&0&0&0&0&\lambda \end{array}} \right] \cdot \mathit{\boldsymbol{\hat q}}}\\ { = {{\mathit{\boldsymbol{\hat q}}}^{ - 1}} \cdot \left( {{{\mathit{\boldsymbol{\hat l}}}_1}\left[ {\begin{array}{*{20}{c}} \mathit{\boldsymbol{I}}&\mathit{\boldsymbol{0}}\\ \mathit{\boldsymbol{0}}&{\lambda \mathit{\boldsymbol{I}}} \end{array}} \right]} \right) \cdot \mathit{\boldsymbol{\hat q}}} \end{array} $$ (3)

      其中,I为4维的单位矩阵。将式(3)按照对偶四元数的乘法法则展开,得到:

      $$ \begin{array}{l} {F_1} = {L_1}\left( {q_1^2 + q_2^2 - q_3^2 - q_4^2} \right) + 2{M_1}\left( {{q_2}{q_3} - } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\left. {{q_1}{q_4}} \right) + 2{N_1}\left( {{q_1}{q_3} + {q_2}{q_4}} \right) - {L_2} = 0 \end{array} $$
      $$ \begin{array}{l} {F_2} = {M_1}\left( {q_1^2 - q_2^2 + q_3^2 - q_4^2} \right) + 2{L_1}\left( {{q_2}{q_3} + } \right.\\ \;\;\;\;\;\;\;\;\;\;\;\left. {{q_1}{q_4}} \right) - 2{N_1}\left( {{q_1}{q_2} - {q_3}{q_4}} \right) - {M_2} = 0 \end{array} $$
      $$ \begin{array}{l} {F_3} = {N_1}\left( {q_1^2 - q_2^2 - q_3^2 + q_4^2} \right) - 2{L_1}\left( {{q_1}{q_3} - {q_2}{q_4}} \right)\\ \;\;\;\;\;\;\; + 2{M_1}\left( {{q_1}{q_2} + {q_3}{q_4}} \right) - {N_2} = 0 \end{array} $$
      $$ \begin{align} & {{F}_{4}}=\lambda {{L}_{10}}\left( q_{1}^{2}+q_{2}^{2}-q_{3}^{2}-q_{4}^{2} \right)+2\lambda {{M}_{10}}\left( {{q}_{2}}{{q}_{3}}-{{q}_{1}}{{q}_{4}} \right)+ \\ & 2{{L}_{1}}\left( {{q}_{1}}{{q}_{01}}+{{q}_{2}}{{q}_{02}}-{{q}_{3}}{{q}_{03}}-{{q}_{4}}{{q}_{04}} \right)- \\ & 2{{M}_{1}}\left( {{q}_{1}}{{q}_{04}}+ \right.\left. {{q}_{01}}{{q}_{4}}-{{q}_{2}}{{q}_{03}}-{{q}_{02}}{{q}_{3}} \right)+ \\ & 2{{N}_{1}}\left( {{q}_{1}}{{q}_{03}}+{{q}_{01}}{{q}_{3}}+{{q}_{2}}{{q}_{04}}+{{q}_{02}}{{q}_{4}} \right)+ \\ & 2\lambda {{N}_{10}}\left( {{q}_{1}}{{q}_{3}}+{{q}_{2}}{{q}_{4}} \right)-{{L}_{20}}=0 \\ \end{align} $$
      $$ \begin{align} & {{F}_{5}}=\lambda {{M}_{10}}\left( q_{1}^{2}-q_{2}^{2}+q_{3}^{2}-q_{4}^{2} \right)+2\lambda {{L}_{10}}\left( {{q}_{2}}{{q}_{3}}+{{q}_{1}}{{q}_{4}} \right)+ \\ & 2{{M}_{1}}\left( {{q}_{1}}{{q}_{01}}-{{q}_{2}}{{q}_{02}}+{{q}_{3}}{{q}_{03}}-{{q}_{4}}{{q}_{04}} \right)-2{{L}_{1}}\left( {{q}_{1}}{{q}_{04}}+\left. {{q}_{01}}{{q}_{4}}+{{q}_{2}}{{q}_{03}}+{{q}_{02}}{{q}_{3}} \right) \right. \\ & +2{{N}_{1}}\left( {{q}_{1}}{{q}_{02}}+{{q}_{01}}{{q}_{2}}+{{q}_{3}}{{q}_{04}}-{{q}_{03}}{{q}_{4}} \right)-2\lambda {{N}_{10}}\left( {{q}_{1}}{{q}_{2}}-{{q}_{3}}{{q}_{4}} \right)-{{M}_{20}}=0 \\ \end{align} $$
      $$ \begin{align} & {{F}_{6}}=\lambda {{N}_{10}}\left( q_{1}^{2}-q_{2}^{2}-q_{3}^{2}+q_{4}^{2} \right)-2\lambda {{L}_{10}}\left( {{q}_{1}}{{q}_{3}}-{{q}_{2}}{{q}_{4}} \right)+ \\ & 2{{N}_{1}}\left( {{q}_{1}}{{q}_{01}}-{{q}_{2}}{{q}_{02}}-{{q}_{3}}{{q}_{03}}+{{q}_{4}}{{q}_{04}} \right)-2{{L}_{1}}\left( {{q}_{1}}{{q}_{03}}+ \right.\left. {{q}_{01}}{{q}_{3}}-{{q}_{2}}{{q}_{04}}-{{q}_{02}}{{q}_{4}} \right) \\ & +2{{M}_{1}}\left( {{q}_{1}}{{q}_{02}}+{{q}_{01}}{{q}_{2}}+{{q}_{3}}{{q}_{04}}+{{q}_{03}}{{q}_{4}} \right)+2\lambda {{M}_{10}}\left( {{q}_{1}}{{q}_{2}}+{{q}_{3}}{{q}_{4}} \right)-{{N}_{20}}=0 \\ \end{align} $$ (4)
    • 式(4)是直线簇约束下的LiDAR点云配准方程。为了能用最小二乘法解算,对式(4)的6个方程按照泰勒级数展开取一次项来进行线性化,则有:

      $$ \begin{array}{l} {F_1} = {F_{10}} + {a_{11}}{\rm{d}}{q_1} + {a_{12}}{\rm{d}}{q_2} + {a_{13}}{\rm{d}}{q_3} + {a_{14}}{\rm{d}}{q_4} + {a_{15}}{\rm{d}}{q_{01}} + {a_{16}}{\rm{d}}{q_{02}} + {a_{17}}{\rm{d}}{q_{03}} + {a_{18}}{\rm{d}}{q_{04}} \\+ {a_{19}}{\rm{d}}\lambda \\ {F_2} = {F_{20}} + {a_{21}}{\rm{d}}{q_1} + {a_{22}}{\rm{d}}{q_2} + {a_{23}}{\rm{d}}{q_3} + {a_{24}}{\rm{d}}{q_4} + {a_{25}}{\rm{d}}{q_{01}} + {a_{26}}{\rm{d}}{q_{02}} + {a_{27}}{\rm{d}}{q_{03}} + {a_{28}}{\rm{d}}{q_{04}} \\+ {a_{29}}{\rm{d}}\lambda \\ {F_3} = {F_{30}} + {a_{31}}{\rm{d}}{q_1} + {a_{32}}{\rm{d}}{q_2} + {a_{33}}{\rm{d}}{q_3} + {a_{34}}{\rm{d}}{q_4} + {a_{35}}{\rm{d}}{q_{01}} + {a_{36}}{\rm{d}}{q_{02}} + {a_{37}}{\rm{d}}{q_{03}} + {a_{38}}{\rm{d}}{q_{04}} \\+ {a_{39}}{\rm{d}}\lambda \\ {F_4} = {F_{40}} + {a_{41}}{\rm{d}}{q_1} + {a_{42}}{\rm{d}}{q_2} + {a_{43}}{\rm{d}}{q_3} + {a_{44}}{\rm{d}}{q_4} + {a_{45}}{\rm{d}}{q_{01}} + {a_{46}}{\rm{d}}{q_{02}} + {a_{47}}{\rm{d}}{q_{03}} + {a_{48}}{\rm{d}}{q_{04}} \\+ {a_{49}}{\rm{d}}\lambda \\ {F_5} = {F_{50}} + {a_{51}}{\rm{d}}{q_1} + {a_{52}}{\rm{d}}{q_2} + {a_{53}}{\rm{d}}{q_3} + {a_{54}}{\rm{d}}{q_4} + {a_{55}}{\rm{d}}{q_{01}} + {a_{56}}{\rm{d}}{q_{02}} + {a_{57}}{\rm{d}}{q_{03}} + {a_{58}}{\rm{d}}{q_{04}} \\+ {a_{59}}{\rm{d}}\lambda \\ {F_6} = {F_{60}} + {a_{61}}{\rm{d}}{q_1} + {a_{62}}{\rm{d}}{q_2} + {a_{63}}{\rm{d}}{q_3} + {a_{64}}{\rm{d}}{q_4} + {a_{65}}{\rm{d}}{q_{01}} + {a_{66}}{\rm{d}}{q_{02}} + {a_{67}}{\rm{d}}{q_{03}} + {a_{68}}{\rm{d}}{q_{04}} \\+ {a_{69}}{\rm{d}}\lambda \end{array} $$ (5)

      式中,

      $$ {a_{11}} = 2{L_1}{q_1} + 2{N_1}{q_3} - 2{M_1}{q_4} $$
      $$ {a_{12}} = 2{L_1}{q_2} + 2{M_1}{q_3} - 2{N_1}{q_4} $$
      $$ {a_{13}} = 2{N_1}{q_1} + 2{M_1}{q_2} - 2{L_1}{q_3} $$
      $$ {a_{14}} = - 2{M_1}{q_1} + 2{N_1}{q_2} - 2{L_1}{q_4} $$
      $$ {a_{15}} = {a_{16}} = {a_{17}} = {a_{18}} = {a_{19}} = 0 $$
      $$ {a_{21}} = 2{M_1}{q_1} - 2{N_1}{q_2} + 2{L_1}{q_4} $$
      $$ {a_{22}} = - 2{M_1}{q_2} - 2{N_1}{q_1} + 2{L_1}{q_3} $$
      $$ {a_{23}} = 2{M_1}{q_3} + 2{N_1}{q_4} + 2{L_1}{q_2} $$
      $$ {a_{24}} = - 2{M_1}{q_4} + 2{N_1}{q_3} + 2{L_1}{q_1} $$
      $$ {a_{25}} = {a_{26}} = {a_{27}} = {a_{28}} = {a_{29}} = 0 $$
      $$ {a_{31}} = 2{N_1}{q_1} + 2{M_1}{q_2} - 2{L_1}{q_3} $$
      $$ {a_{32}} = - 2{N_1}{q_2} + 2{M_1}{q_1} + 2{L_1}{q_4} $$
      $$ {a_{33}} = 2{M_1}{q_4} - 2{N_1}{q_3} - 2{L_1}{q_1} $$
      $$ {a_{34}} = 2{N_1}{q_4} + 2{M_1}{q_3} + 2{L_1}{q_2} $$
      $$ {a_{35}} = {a_{36}} = {a_{37}} = {a_{38}} = {a_{39}} = 0 $$
      $$ \begin{array}{l} {a_{41}} = 2{L_1}{q_{01}} + 2\lambda {L_{10}}{q_1} - 2{M_1}{q_{04}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_4} + 2{N_1}{q_{03}} + 2\lambda {N_{10}}{q_3} \end{array} $$
      $$ \begin{array}{l} {a_{42}} = - 2{L_1}{q_{02}} + 2\lambda {L_{10}}{q_2} - 2{M_1}{q_{03}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_3} + 2{N_1}{q_{04}} + 2\lambda {N_{10}}{q_4} \end{array} $$
      $$ \begin{array}{l} {a_{43}} = - 2{L_1}{q_{03}} + 2\lambda {L_{10}}{q_3} + 2{M_1}{q_{02}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_2} + 2{N_1}{q_{01}} + 2\lambda {N_{10}}{q_1} \end{array} $$
      $$ \begin{array}{l} {a_{44}} = - 2{L_1}{q_{04}} - 2\lambda {L_{10}}{q_4} - 2{M_1}{q_{01}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_1} + 2{N_1}{q_{02}} + 2\lambda {N_{10}}{q_2} \end{array} $$
      $$ {a_{45}} = {a_{11}},{a_{46}} = {a_{12}},{a_{47}} = {a_{13}},{a_{48}} = {a_{14}} $$
      $$ \begin{array}{l} {a_{49}} = {L_{10}}\left( {q_1^2 + q_2^2 - q_3^2 - q_4^2} \right) + 2{M_{10}}\left( {{q_2}{q_3} - } \right.\\ \;\;\;\;\;\;\left. {{q_1}{q_4}} \right) + 2{N_{10}}\left( {{q_1}{q_3} + {q_2}{q_4}} \right) \end{array} $$
      $$ \begin{array}{l} {a_{51}} = 2{L_1}{q_{04}} + 2\lambda {L_{10}}{q_4} + 2{M_1}{q_{01}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_1} - 2{N_1}{q_{02}} - 2\lambda {N_{10}}{q_2} \end{array} $$
      $$ \begin{array}{l} {a_{52}} = 2{L_1}{q_{03}} + 2\lambda {L_{10}}{q_3} - 2{M_1}{q_{02}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_2} - 2{N_1}{q_{01}} - 2\lambda {N_{10}}{q_1} \end{array} $$
      $$ \begin{array}{l} {a_{53}} = 2{L_1}{q_{02}} + 2\lambda {L_{10}}{q_2} - 2{M_1}{q_{03}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_3} - 2{N_1}{q_{04}} - 2\lambda {N_{10}}{q_4} \end{array} $$
      $$ \begin{array}{l} {a_{54}} = 2{L_1}{q_{01}} + 2\lambda {L_{10}}{q_1} - 2{M_1}{q_{04}} - \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_4} - 2{N_1}{q_{03}} - 2\lambda {N_{10}}{q_3} \end{array} $$
      $$ {a_{55}} = {a_{21}},{a_{56}} = {a_{22}},{a_{57}} = {a_{23}},{a_{58}} = {a_{24}} $$
      $$ \begin{array}{l} {a_{59}} = {M_{10}}\left( {q_1^2 - q_2^2 + q_3^2 - q_4^2} \right) + 2{L_{10}}\left( {{q_2}{q_3} + } \right.\\ \;\;\;\;\;\;\;\left. {{q_1}{q_4}} \right) - 2{N_{10}}\left( {{q_1}{q_2} - {q_3}{q_4}} \right) \end{array} $$
      $$ \begin{array}{l} {a_{61}} = - 2{L_1}{q_{03}} - 2\lambda {L_{10}}{q_3} + 2{M_1}{q_{02}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_2} + 2{N_1}{q_{01}} + 2\lambda {N_{10}}{q_1} \end{array} $$
      $$ \begin{array}{l} {a_{62}} = 2{L_1}{q_{04}} + 2\lambda {L_{10}}{q_4} + 2{M_1}{q_{01}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_1} - 2{N_1}{q_{02}} - 2\lambda {N_{10}}{q_2} \end{array} $$
      $$ \begin{array}{l} {a_{63}} = - 2{L_1}{q_{01}} - 2\lambda {L_{10}}{q_1} + 2{M_1}{q_{04}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_4} - 2{N_1}{q_{03}} - 2\lambda {N_{10}}{q_3} \end{array} $$
      $$ \begin{array}{l} {a_{64}} = 2{L_1}{q_{02}} + 2\lambda {L_{10}}{q_2} + 2{M_1}{q_{03}} + \\ \;\;\;\;\;\;2\lambda {M_{10}}{q_3} + 2{N_1}{q_{04}} + 2\lambda {N_{10}}{q_4} \end{array} $$
      $$ {a_{65}} = {a_{31}},{a_{66}} = {a_{32}},{a_{67}} = {a_{33}},{a_{68}} = {a_{34}} $$
      $$ \begin{array}{l} {a_{69}} = {N_{10}}\left( {q_1^2 - q_2^2 - q_3^2 + q_4^2} \right) - 2{L_{10}}\left( {{q_1}{q_3} - {q_2}{q_4}} \right) + \\ \;\;\;\;\;\;\;\;2{M_{10}}\left( {{q_1}{q_2} + {q_3}{q_4}} \right) \end{array} $$

      F10F20F30F40F50F60分别为${\mathit{\boldsymbol{\hat{q}}}}$的近似值代入式(4)得到的F1~F6的近似值,dq1、dq2、dq3、dq4、dq01、dq02、dq03、dq04、dλ分别为待求的对偶四元数各元素以及比例因子的改正数,至少需要两对同名直线。由于λ在直线簇缩放中只会对直线的矩矢量大小产生影响,而过原点的Plücke直线的矩矢量都为零矢量,导致数乘对其没有任何意义,因此在直线聚簇时,应至少提取两条不过原点的直线。又由于直线簇缩放只改变两直线间的距离,不影响直线间的夹角,因此当直线簇仅包含两条相交的直线时,两直线距离为零,无法求解比例因子。综上所述,直线簇约束下的LiDAR点云配准方程正确解算至少需要两条不相交且不过原点的直线。

    • LiDAR点云配准完成后,同名直线理论上应重合,可利用配准后的同名直线间的距离与夹角进行精度评定。设n为同名直线l1l2的公共法向量,在l1l2上各取任意一点,记为A1A2,则l1l2间的距离为向量A1A2n上的投影d

      $$ d = \frac{{\left| {{A_1}{A_2} \cdot \mathit{\boldsymbol{n}}} \right|}}{{\left| \mathit{\boldsymbol{n}} \right|}} $$ (6)

      l1l2间的夹角为其方向向量w1w2间的角度θ

      $$ \theta = \arccos \frac{{{\mathit{\boldsymbol{w}}_1} \cdot {\mathit{\boldsymbol{w}}_2}}}{{\left| {{\mathit{\boldsymbol{w}}_1}} \right|\left| {{\mathit{\boldsymbol{w}}_2}} \right|}} $$ (7)

      当完成配准时,理论上d=0 m,θ=0°,dθ的数值大小反映同名直线的配准程度。

    • 利用文献[15]的建筑物数据作为基准点云,如图 3所示,将该模型首先变大为原来的2倍,再绕其Z轴旋转30°,然后在各坐标轴上平移距离1 m,将得到的模型作为待配准点云。分别选取变换前后l1~l4特征直线构建基准点云与待配准点云的直线簇。其中,l4l1共面,理论上相交;l4l2异面,l4l3理论上平行,实验结果见表 1

      图  3  建筑物点云直线分布

      Figure 3.  Line Distribution of Building Point Clouds

      表 1  不同方案模拟LiDAR点云配准结果

      Table 1.  Registration Results of Simulated LiDAR Point Clouds for Different Schemes

      实验方案 X/m Y/m Z/m φ/(°) ω/(°) κ/(°) λ
      l4l1 迭代不收敛
      l4l3 -0.9 -0.1 1 0 0 30 2
      l4l2 1 1 1 0 0 30 2

      表 1可以看出,利用两相交直线构建直线簇,由于无法求解比例因子,算法不收敛。利用两条平行直线构建直线簇,可以正确解算比例因子和姿态参数,但是位置参数错误,这是因为平行直线之间的方向矢量是一致的,因此用两条平行直线分别列出的6个方程中,前3个决定方向矢量的方程是等价的,这使得有效的方程个数仅为7个,而未知数为9个,导致解算存在错误。分别利用两条异面的直线作为直线簇进行解算,其解算结果与理论值相吻合,其中平移距离最大偏差为0.4 mm,角度最大偏差为0.000 014°,缩放系数偏差为0.000 01,说明直线簇约束下的LiDAR点云配准方法可以实现参数的正确解算,而且其实现正确解算的前提是所采用的直线簇中至少需要包含一对相互异面的直线。

      当待配准点云与基准点云完成配准时,同名直线间的距离与夹角应都为零,可见距离与夹角的数值大小反映了同名直线的匹配程度,因此本文配准精度利用二者进行评定。从图 3中选取除l1~l4外的6条直线作为检查直线,对由l4l2构成的直线簇配准结果进行精度评定,检查直线间的距离均值为0.07×10-6 m,角度均值为(0.2×10-6)°,说明本文方法的精度较高。

      由于实验待配准点云是由基准点云整体旋转平移后得到的,未考虑同名直线匹配误差。为此,模拟实际测量中匹配误差,在由l4l2构成的直线簇包含的两条异面直线的两个端点(6个坐标值)加入高斯白噪声,且加入的白噪声互不相关。由于实际数据LiDAR点云精度为10 mm,噪声标准差设定在0~0.01 m之间变化,为了保证结果的稳定性,在每一个噪声水平上,程序运行100次,得到的噪声标准差对配准结果的影响如图 4图 5所示,检查直线精度的影响结果如图 6所示。

      图  4  噪声标准差对平移与缩放系数的影响

      Figure 4.  Influence of Noise Standard Deviation on the Pan and Scale Coefficient

      图  5  噪声标准差对旋转角的影响

      Figure 5.  Influence of Noise Standard Deviation on Rotation Angle

      图  6  噪声标准差对检查直线精度影响

      Figure 6.  Influence of Noise Standard Deviation on Accuracy of Check Line

      图 4图 5可以看出,随着噪声水平的增加,配准参数计算值均在理论值附近成震荡变化,噪声水平越大,结果震荡越明显,说明算法的稳定性降低,这与实际情况吻合。缩放系数随着噪声水平的增加,震荡变化相对稳定,说明缩放系数受噪声的影响相对较小。

      图 6中可以看出,当噪声标准差在0~0.01 m之间变化过程中,距离误差和角度误差都呈现线性增大的趋势,但是距离误差均值在0~5 mm之间,角度误差均值在0~0.05°之间,由此可见距离误差小于噪声标准差变化,距离误差和角度误差均可以满足LiDAR点云配准精度要求。

    • 为了验证本文方法在LiDAR点云配准中的实用性,利用LMS-Z420地面LiDAR系统采集建筑物点云,采样精度为10 mm,采样率为4 mm[1]。基于点云的直线特征提取方法首先需要进行平面的拟合,然后通过平面相交得到交线,再将提取到的不同拓扑关系的直线构建成直线簇。实验过程中,分别从两个LiDAR点云上提取4对同名直线特征。其中,l4l1共面,理论上相交;l4l2异面;l4l3理论上平行。实验利用l4l2作为控制数据进行聚簇,解算7个配准参数,通过检查直线l1l3,对距离精度d与角度精度θ进行评价。为了便于直线特征的欠采样分析,将LiDAR点云进行了抽稀处理,使其采样率为8 mm,配准结果如表 2所示。

      表 2  实际LiDAR点云配准结果和精度

      Table 2.  The Registration Results and Accuracy of Actual LiDAR Point Clouds

      方法 四元数法 Plücke直线 直线簇 直线簇(抽稀)
      XS/m -22.999 -22.993 -23.176 -23.047
      YS/m 29.292 29.397 29.322 29.355
      ZS/m -2.230 -2.314 -2.182 -2.298
      φ/(°) 12.601 12.551 12.624 12.588
      ω/(°) 1.0725 1.081 1.054 1.076
      κ/(°) 28.900 28.902 28.900 28.862
      λ 0.998 1 0.995 0.999
      d/mm 8.7 5.7 3.0 3.2
      θ/ (°) 0.030 0.024 0.024 0.026

      通过表 2可以看出,直线簇约束下的LiDAR点云配准方法与Plücke直线约束的LiDAR点云配准法、四元数法得到的配准结果基本一致,说明本文方法具有实用性。直线簇与Plücke直线方法的角度精度均为0.024°,高于四元数法的0.030°,直线簇与Plücke直线方法的距离精度均高于四元数法,这是因为四元数法采用的是两个端点坐标描述直线,并用端点坐标建立方程,其解算基元本质上仍是点的三维坐标。而直线簇与Plücke直线方法均将直线描述为五维空间中的6个齐次坐标,将直线簇或直线作为解算基元,并且直接利用同名直线重合的空间拓扑关系建立共线条件方程。对比直线簇与Plücke直线两种方法的精度,可以看出直线簇约束下的LiDAR点云配准的距离精度为3.0 mm,高于Plücke直线约束下的LiDAR点云配准方法的5.7 mm,而角度精度基本一致。这是因为缩放系数对直线的方向矢量没有影响,而对直线间的距离会产生影响,缩放系数的加入使得LiDAR点云配准模型更为严密,因此距离精度得到提高。

      从尺度分析结果可以看出,点云密度越小,配准距离精度和角度精度越低,抽稀后的距离精度为3.2 mm,角度精度为0.026°,距离误差小于采样精度,距离误差和角度误差均可以满足LiDAR点云配准精度要求。

    • 本文针对待配准LiDAR点云和基准LiDAR点云存在位置、姿态和比例缩放差异的问题,提出了基于直线簇的地面LiDAR点云配准方法。首先,分别对待配准和基准LiDAR点云的直线进行聚簇,构建直线簇;然后,分别将同名直线用Plücke坐标表示,通过待配准LiDAR点云的直线簇在空间中的螺旋缩放运动,使其与基准LiDAR点云的直线簇比例尺一致,且同名Plücke直线重合,构建基于直线簇的共线条件方程。模拟LiDAR点云实验验证了本文方法的正确性。实际地面LiDAR点云实验结果表明,配准模型解算至少需要一对相互异面直线构成模型直线,由于考虑了待配准LiDAR点云和基准LiDAR点云的缩放系数,提高了配准精度。

参考文献 (15)

目录

    /

    返回文章
    返回