发明名称 一种基于轮廓的建筑物点云模型底图配准方法
摘要 本发明涉及一种基于轮廓的建筑物点云模型底图配准方法,属于计算机视觉技术领域。本发明方法通过对三维重建得到的建筑物点云模型进行结构分析,自动检测当前模型的姿态,最终实现点云模型坐标的归一化,并在此基础上得到当前建筑物的点云俯视轮廓线条图;对重建建筑所在区域的遥感图像进行轮廓分析,自动检测得到底图的轮廓线条;根据重建建筑的轮廓线条估计当前建筑的结构拐点,然后借助轮廓匹配信息实现点云模型与卫星底图间的空间对齐,得到从点云模型到卫星底图间的映射矩阵,自动实现建筑物点云模型在卫星底图上的放置。对比现有技术,本发明方法能够准确对点云模型和底图进行自动化配准,有效降低配准所需人工工作量,降低配准成本。
申请公布号 CN104809689A 申请公布日期 2015.07.29
申请号 CN201510250777.8 申请日期 2015.05.15
申请人 北京理工大学深圳研究院;北京理工大学 发明人 黄华;刘洪;张磊
分类号 G06T3/00(2006.01)I 主分类号 G06T3/00(2006.01)I
代理机构 代理人
主权项 一种基于轮廓的建筑物点云模型底图配准方法,其特征在于,包括以下步骤:步骤一、通过以下步骤进行建筑物点云模型俯视轮廓线条提取:步骤1.1对建筑物点云模型进行姿态估计;步骤1.2通过以下步骤根据建筑物点云模型z轴方向对其俯视轮廓进行提取:步骤1.2.1对点云模型在世界坐标系下进行姿态矫正,然后对姿态矫正后的点云模型在XOY平面上投影得到当前建筑物点云模型的俯视图;步骤1.2.2在俯视图中根据四叉树分割方法检测出模型的轮廓;步骤1.2.3通过改进的LSD算法对建筑物点云模型俯视轮廓图做边缘检测,得到建筑物的俯视边界线条,即建筑物的俯视轮廓:步骤二、通过改进的LSD算法对建筑物遥感影像进行基于线特征的轮廓提取;步骤三、通过以下步骤进行基于轮廓匹配的建筑物点云模型与底图配准:步骤3.1通过以下步骤筛选经过步骤2.3后得到的所有线段:步骤3.1.1针对点云模型俯视图l<sub>o</sub>和卫星底图l<sub>b</sub>,根据现代化建筑俯视图自身的轮廓特性,将属于当前建筑轮廓所有的线条聚类为两个近似垂直的簇,同时将不属于这两个簇的线段视为噪声线条,予以剔除;步骤3.1.2求出l<sub>o</sub>中所有线条的平均长度,如果存在线条长度小于平均长度的<img file="FDA0000718026000000011.GIF" wi="112" he="72" />倍,则剔除;<img file="FDA0000718026000000012.GIF" wi="118" he="72" />为预定的点云模型俯视图噪声线条阈值;步骤3.1.3求出l<sub>b</sub>中所有线条的平均长度,如果存在线条长度小于平均长度的<img file="FDA0000718026000000013.GIF" wi="113" he="83" />倍,则剔除;<img file="FDA0000718026000000014.GIF" wi="124" he="84" />为预定的卫星底图噪声线条阈值;步骤3.2对经步骤3.1处理后得到的线段通过下述过程找出鲁棒性高的线段交点:对于检测得到的两个近似垂直的线段簇<img file="FDA0000718026000000015.GIF" wi="371" he="100" />和<img file="FDA0000718026000000016.GIF" wi="422" he="109" />取C<sub>1</sub>中的线段<img file="FDA0000718026000000017.GIF" wi="88" he="92" />其两个端点分别为<img file="FDA0000718026000000018.GIF" wi="69" he="77" />和<img file="FDA0000718026000000019.GIF" wi="92" he="92" />那么<img file="FDA00007180260000000110.GIF" wi="57" he="77" />所在直线和C<sub>2</sub>中所有线段所在直线均有交点,对于C<sub>2</sub>中任意一条线段<img file="FDA00007180260000000111.GIF" wi="87" he="95" />首先判定<img file="FDA0000718026000000021.GIF" wi="68" he="82" />和<img file="FDA0000718026000000022.GIF" wi="64" he="83" />中哪一个点距离<img file="FDA0000718026000000023.GIF" wi="61" he="82" />所在直线最近;若<img file="FDA0000718026000000024.GIF" wi="62" he="82" />距离<img file="FDA0000718026000000025.GIF" wi="48" he="82" />所在直线较近,则将线段<img file="FDA0000718026000000026.GIF" wi="57" he="78" />和<img file="FDA0000718026000000027.GIF" wi="57" he="82" />所在直线的交点记为线段<img file="FDA0000718026000000028.GIF" wi="60" he="89" />在<img file="FDA0000718026000000029.GIF" wi="70" he="77" />端的交点,反之则记为线段<img file="FDA00007180260000000210.GIF" wi="56" he="78" />在<img file="FDA00007180260000000211.GIF" wi="68" he="78" />端的交点;线段<img file="FDA00007180260000000212.GIF" wi="59" he="88" />在<img file="FDA00007180260000000213.GIF" wi="270" he="78" />端的交点的能量函数为<img file="FDA00007180260000000214.GIF" wi="870" he="169" /><img file="FDA00007180260000000215.GIF" wi="73" he="85" />和<img file="FDA00007180260000000216.GIF" wi="70" he="85" />分别在C<sub>2</sub>中检测得到的最小能量值对应的交点即为当前线段的端点,也是需要保留的备选轮廓拐点;步骤3.3通过以下步骤找到匹配轮廓拐点以及最佳仿射矩阵:步骤3.3.1通过对两个图上所有的备选轮廓拐点建立特征点向量并依次进行映射找出所有可能的仿射矩阵,即候选仿射矩阵;步骤3.3.2通过以下过程找出最佳仿射矩阵:对于某一候选仿射矩阵H,假设图像l<sub>o</sub>中一条线段<img file="FDA00007180260000000217.GIF" wi="81" he="93" />在图像l<sub>b</sub>中的线段为<img file="FDA00007180260000000218.GIF" wi="85" he="93" />定义线段<img file="FDA00007180260000000219.GIF" wi="55" he="98" />和线段<img file="FDA00007180260000000220.GIF" wi="48" he="77" />的能量函数为<img file="FDA00007180260000000221.GIF" wi="1422" he="244" />E<sub>1</sub>、E<sub>2</sub>、E<sub>m</sub>和<img file="FDA00007180260000000222.GIF" wi="214" he="92" />分别为线段<img file="FDA00007180260000000223.GIF" wi="58" he="80" />和线段<img file="FDA00007180260000000224.GIF" wi="53" he="71" />的左端点、中点、右端点,d(.)表示两个点之间的距离,对于l<sub>o</sub>中任一条线段<img file="FDA00007180260000000225.GIF" wi="80" he="89" />从图像l<sub>b</sub>中找到与其能量函数<img file="FDA00007180260000000226.GIF" wi="62" he="78" />最小的<img file="FDA00007180260000000227.GIF" wi="60" he="79" />即为它的映射线段,线段<img file="FDA00007180260000000228.GIF" wi="46" he="75" />的能量值定义为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>&theta;</mi><mi>j</mi></msub><mo>=</mo><mi>min</mi><mrow><mo>(</mo><msubsup><mi>&theta;</mi><mi>j</mi><mi>n</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>n</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>N</mi><mn>4</mn></msub><mo>;</mo></mrow>]]></math><img file="FDA00007180260000000229.GIF" wi="661" he="115" /></maths>其中,N<sub>4</sub>为l<sub>b</sub>中轮廓线的数目;当前仿射矩阵H的能量值为<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>E</mi><mi>i</mi><mi>H</mi></msubsup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>2</mn></msub></munderover><msub><mi>&theta;</mi><mi>j</mi></msub><mo>;</mo></mrow>]]></math><img file="FDA00007180260000000230.GIF" wi="314" he="149" /></maths>其中,N<sub>2</sub>为l<sub>o</sub>中轮廓线的数目;在所有仿射矩阵中,能量值最小的仿射矩阵即为最佳仿射矩阵;步骤3.4通过最佳仿射矩阵将建筑物点云模型映射到卫星底图。
地址 518000 广东省深圳市南山区高新区南区虚拟大学园楼A207