发明名称 一种用于二维激光雷达点云匹配的快速ICP方法
摘要 本发明公开了一种用于二维激光雷达点云匹配的快速ICP方法,它涉及一种ICP方法。本发明的方法步骤为:步骤1:计算模型点集R<sub>m</sub>的平面直角坐标表示P<sub>m</sub>;步骤2:通过分段分析方法构建当前激光雷达点云数据R<sub>c</sub>的有效射线集合W<sub>c</sub>,以及点集W<sub>c</sub>的平面直角坐标表示P<sub>c</sub>。步骤3:初始化迭代次数k=0,<img file="DSA0000106185320000011.GIF" wi="202" he="62" />T<sub>0</sub>=I<sub>3×3</sub>,误差阈值τ。步骤4:计算<img file="DSA0000106185320000012.GIF" wi="77" he="62" />中的点在P<sub>m</sub>中的最近点及其距离<img file="DSA0000106185320000013.GIF" wi="448" he="60" />其中<img file="DSA0000106185320000014.GIF" wi="51" he="58" />表示<img file="DSA0000106185320000015.GIF" wi="77" he="61" />中第j点在P<sub>m</sub>中的最近点编号为<img file="DSA0000106185320000016.GIF" wi="78" he="59" />其距离为<img file="DSA0000106185320000017.GIF" wi="91" he="60" />步骤5:应用配准,<img file="DSA0000106185320000018.GIF" wi="319" he="61" />步骤6:如果d<sub>k‑1</sub>‑d<sub>k</sub><τ,则停止迭代,输出T<sub>k</sub>,否则,k=k+1,转第4步。本发明使得二维激光雷达原始点云数据配准速度大幅度提高,即将时间复杂度从经典ICP方法的O(DN<sub>P</sub>N<sub>X</sub>)降为O(DN<sub>P</sub>),其中N<sub>P</sub>为待配准点集的规模,N<sub>X</sub>为模型点集的规模,D为迭代次数。
申请公布号 CN104166989B 申请公布日期 2017.02.15
申请号 CN201410327894.5 申请日期 2014.07.04
申请人 电子科技大学中山学院 发明人 段琢华;马慧;李赞;杨亮;梁瑞仕
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 代理人
主权项 一种用于二维激光雷达点云匹配的快速ICP方法,其特征在于,其技术方案为:输入:(1)模型点集<img file="FSB0000159259220000011.GIF" wi="424" he="61" />j∈[1..L<sub>m</sub>],R<sub>m</sub>设置为激光雷达原始时刻点云数据;(2)当前激光雷达点云数据<img file="FSB0000159259220000012.GIF" wi="414" he="64" />j∈[1..L<sub>c</sub>],表示当前点集;其中,<img file="FSB0000159259220000013.GIF" wi="45" he="60" />表示R<sub>m</sub>的第j条射线,<img file="FSB0000159259220000014.GIF" wi="44" he="60" />表示R<sub>c</sub>的第j条射线,,L<sub>m</sub>表示点集R<sub>m</sub>的射线总数,L<sub>c</sub>表示点集R<sub>c</sub>的射线总数,<img file="FSB0000159259220000015.GIF" wi="54" he="61" />表示射线<img file="FSB0000159259220000016.GIF" wi="45" he="60" />的测量距离,<img file="FSB0000159259220000017.GIF" wi="52" he="62" />表示射线<img file="FSB0000159259220000018.GIF" wi="44" he="60" />的测量距离,<img file="FSB0000159259220000019.GIF" wi="55" he="61" />表示射线<img file="FSB00001592592200000110.GIF" wi="45" he="60" />的方向,<img file="FSB00001592592200000111.GIF" wi="52" he="58" />表示射线<img file="FSB00001592592200000112.GIF" wi="43" he="59" />的方向,<img file="FSB00001592592200000113.GIF" wi="727" he="60" /><img file="FSB00001592592200000114.GIF" wi="30" he="38" />表示角度偏移,<img file="FSB00001592592200000115.GIF" wi="29" he="39" />表示角度分辨率;输出:当前激光雷达点云数据R<sub>c</sub>相对于模型点集R<sub>m</sub>的齐次变换T;步骤1:计算模型点集R<sub>m</sub>的平面直角坐标表示P<sub>m</sub><maths num="0001"><math><![CDATA[<mrow><msub><mi>P</mi><mi>m</mi></msub><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>m</mi><mi>j</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>m</mi><mi>j</mi></msubsup><mo>)</mo></mrow><mo>}</mo><mo>,</mo><mi>j</mi><mo>&Element;</mo><mo>&lsqb;</mo><mn>1..</mn><msub><mi>L</mi><mi>m</mi></msub><mo>&rsqb;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001592592200000116.GIF" wi="737" he="70" /></maths>其中<img file="FSB00001592592200000117.GIF" wi="741" he="66" />步骤2:通过分段分析方法构建当前激光雷达点云数据R<sub>c</sub>的有效射线集合W<sub>c</sub>,以及有效射线集合W<sub>c</sub>的平面直角坐标表示P<sub>c</sub>;步骤(2.1)通过式(2)对R<sub>c</sub>进行分段分析,<maths num="0002"><math><![CDATA[<mrow><msub><mi>R</mi><mi>c</mi></msub><mo>=</mo><munderover><mrow><mi></mi><mo>&cup;</mo></mrow><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>c</mi><mi>t</mi></msub></munderover><msubsup><mi>G</mi><mi>c</mi><mi>k</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001592592200000118.GIF" wi="629" he="126" /></maths>其中,<img file="FSB00001592592200000119.GIF" wi="434" he="64" />表示第k段点云数据,c<sub>t</sub>表示分段数目,<img file="FSB0000159259220000021.GIF" wi="1813" he="75" />gap表示一个阈值,步骤(2.2)通过式(3)计算有效射线集合,<maths num="0003"><math><![CDATA[<mrow><msub><mi>W</mi><mi>c</mi></msub><mo>=</mo><munderover><mrow><mi></mi><mo>&cup;</mo></mrow><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>c</mi><mi>t</mi></msub></munderover><msubsup><mi>G</mi><mi>c</mi><mi>k</mi></msubsup><mo>,</mo><msubsup><mi>d</mi><mi>c</mi><mi>k</mi></msubsup><mo>&gt;</mo><mi>&gamma;</mi><mo>,</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><mo>&GreaterEqual;</mo><msubsup><mover><mi>&rho;</mi><mo>~</mo></mover><mi>c</mi><mi>k</mi></msubsup><mo>&GreaterEqual;</mo><msub><mi>&lambda;</mi><mn>1</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB0000159259220000022.GIF" wi="1372" he="142" /></maths>其中,W<sub>c</sub>表示R<sub>c</sub>的有效射线集合,<img file="FSB0000159259220000023.GIF" wi="312" he="63" />表示第k段射线数目,<img file="FSB0000159259220000024.GIF" wi="290" he="146" />表示第k段射线平均长度,γ,λ<sub>2</sub>,λ<sub>1</sub>分别表示阈值;步骤(2.3),计算有效射线集合W<sub>c</sub>的平面直角坐标表示P<sub>c</sub>;<maths num="0004"><math><![CDATA[<mrow><msub><mi>P</mi><mi>c</mi></msub><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>c</mi><mi>j</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>c</mi><mi>j</mi></msubsup><mo>)</mo></mrow><mo>}</mo><mo>,</mo><msubsup><mi>b</mi><mi>c</mi><mi>j</mi></msubsup><mo>&Element;</mo><msub><mi>W</mi><mi>c</mi></msub></mrow>]]></math><img file="FSB0000159259220000025.GIF" wi="460" he="60" /></maths>其中<img file="FSB0000159259220000026.GIF" wi="725" he="63" />步骤3:初始化迭代次数k=0,<img file="FSB0000159259220000027.GIF" wi="196" he="64" />T<sub>0</sub>=I<sub>3×3</sub>,误差阈值τ;计算<img file="FSB0000159259220000028.GIF" wi="75" he="62" />中的点在P<sub>m</sub>中的最近点及其距离<img file="FSB0000159259220000029.GIF" wi="179" he="61" />j∈[1..|P<sub>c</sub>|];其中<img file="FSB00001592592200000210.GIF" wi="51" he="68" />表示<img file="FSB00001592592200000211.GIF" wi="74" he="62" />中第j点在P<sub>m</sub>中的最近点编号为<img file="FSB00001592592200000212.GIF" wi="76" he="61" />其距离为<img file="FSB00001592592200000213.GIF" wi="84" he="60" />步骤4:利用奇异值分解(SVD,Singular Value Decomposition)方法计算配准及误差:<img file="FSB00001592592200000214.GIF" wi="666" he="67" />步骤5:应用配准,<img file="FSB00001592592200000215.GIF" wi="304" he="63" />步骤6:如果d<sub>k‑1</sub>‑d<sub>k</sub><τ,则停止迭代,输出T<sub>k</sub>,否则,k=k+1,转步骤4。
地址 528400 广东省中山市石岐区学院路1号电子科技大学中山学院明德楼713