本发明涉及三维重建技术领域,特别涉及基于线特征的室内外场景联合建模方法。
背景技术:
近些年,三维重建得到了越来越多的关注。由于仪器和场景的限制,室外场景使用的往往是使用车载数据,或者静态扫描仪这些设备。室内场景相对较小,比较适合使用背负式这样便携的设备。因此得到的数据大多数是室内外场景分离的。另一方面,室外的gps信号比较好,但是室内的gps信号较差。通过一体化室内外点云数据,可以为室外场景提供更详尽的信息,为室内场景提供更加完整的信息(室内外数据可以互补)。另外还可以将室外点云的gps坐标引入室内点云。
一体化室内外点云数据的主要难点在于:
1.室内数据与室外数据的来源不同,致使它们的数据质量不同,采用传统的手工特征算法(spin-images,fpfh,shot等)很难处理。
2.室内场景与室外场景被墙隔离开,overlap(重叠率)很低,采用4pcs也很难处理。
cohen等人使用室内和室外场景的稀疏sfm模型以及用于生成它们的图像作为输入,提出了通过语义信息来对齐建筑物的内部和外部的方法。该方法使用窗户检测来生成两个模型之间的对应关系,然后利用这一对应关系来进行配准,但该方法是基于图像的。tobiaskoch等人提出了一种利用3d线段自动跑配准室内和室外建筑模型的方法。虽然该算法将室内和室外场景结合在一起,但3d线条也是基于图像的三维重建的。
建筑物场景中线结构大量存在,线结构的表述比较简单,且有一定的抗噪作用。因此,使用线结构配准室内外场景有一定的潜力。
技术实现要素:
为解决上述技术问题,本发明提供一种基于线特征的室内外场景联合建模方法,其能够对不同质量的点云进行处理,表述简单,通过提取墙面提高了室内外场景的重合率,进而提升了配准的成功率。
为实现上述目的,本发明采用以下技术方案:
基于线特征的室内外场景联合建模方法,包括以下步骤:
s1、获得原始点云数据,所述原始点云数据包括室内点云和室外点云;
s2、对所述室内点云和室外点云分别进行墙面提取,获得墙面点云;
s3、针对所述墙面点云提取线结构体;
s4、基于所述线结构体,对室内点云和室外点云进行配准。
优选地,所述步骤s2中的墙面提取通过采用关联马尔可夫网络模型进行语义分割实现。
优选地,所述步骤s2通过以下分步骤实现:
s21、基于八叉树将所述室内点云和室外点云分别划分成小块,获得点云分块,并对所述点云分块进行类别标注;
s22、利用fpfh特征和高度特征来描述点云分块;
s23、采用关联马尔可夫网络模型估计出点云分块的类别标签;
s24、将标记为墙面的点云分块进行合成,获得所述墙面点云。
优选地,所述步骤s3具体通过以下分步骤实现:
s31、对所述墙面点云进行超体素分割,对超体素的边缘进行直线拟合,获得直线段集合;
s32、利用k-means聚类算法在所述直线段集合中搜索潜在的门窗结构,进而提取出所述线结构体。
优选地,所述步骤s4具体通过以下分步骤实现:
s41、根据所述室内点云和室外点云对应的线结构体,确定一组刚体变换关系;
s42、采用公共点数作为距离函数,建立刚体变换关系求解模型,获得最优刚体变换关系。
优选地,所述步骤s41中的刚体变换关系具体通过以上方法确定:
考虑到所述室内点云和室外点云对应的线结构体为四边形,将室内点云对应的线结构体的四条边记为a、b、c、d,将室外点云对应的线结构体的四条边记为a’、b’、c’、d’,这样就可以确定4个对应关系;
根据4个匹配的顶点对,通过奇异值分解,可以确定刚体变换关系。
优选地,所述步骤s42具体通过以下方法实现:
将室内点云记为p,将室外点云记为q,刚体变换记为
采用公共点数作为距离函数,建立npc距离函数模型,即:
其中,ncp(r,t)定义为刚体变换后的两个点云p、q中最近距离小于∈的点数,∈为预先设定的阈值,qi∈q为变换后的pi到点云q中距离最近的点;
建立刚体变换关系求解模型,即:
求解最大化ncp(r,t)的r和t,从而获得最优的刚体变换关系。
优选地,所述步骤s4还包括以下分步骤:
s43、利用迭代最近点(icp)算法来优化配准结果。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
本发明能够对不同质量的点云进行处理,表述简单,通过提取墙面提高了室内外场景的重合率,进而提升了配准的成功率。
附图说明
图1为本发明的流程示意图;
图2a示出了室内点云,图2b示出了室内点云的线提取结果,图2c示出了室外点云,图2d示出了室外点云的线提取结果;
图3a示出了针对室内点云提取的线结构体,图3b示出了针对室外点云提取的线结构体。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
请参阅图1,本发明公开了基于线特征的室内外场景联合建模方法,包括以下步骤:
s1、获得原始点云数据,原始点云数据包括室内点云和室外点云。
s2、对室内点云和室外点云分别进行墙面提取,获得墙面点云。该步骤通过以下分步骤实现:
s21、基于八叉树将室内点云和室外点云分别划分成小块,获得点云分块,并对点云分块进行类别标注,具体要标注的类别包括墙面、地面、天花板及其他。
s22、利用fpfh特征和高度特征来描述点云分块,记为
s23、采用关联马尔可夫网络模型(amns模型)估计出点云分块的类别标签。
amns模型中用到的基本功能如下:
φ(x,y,w)=φn(x,y,wn)+φe(x,y,we)+φc(x,y,wc)(1)
其中,φn代表节点(node),φe代表边缘(edge),φc代表团势函数(cliquepotentials),w=[wn,we,wc]是amns模型中的参数。
使用以下对数线性势函数来表示节点势能对提取的特征的依赖性:
其中,yi=lk代表节点i的类别标签值,
边缘势函数被定义为:
其中,lk和lo是相邻节点i和j的类别标签,e是边集,每条边由两个相邻节点组成。我们使用pnpotts模型作为能量函数,该模型可以有效地最小化。在amns对数线性模型中,
log(φc(x,y,wc))=∑c∈clogφc(yc)(5)
其中c是团集。为了有效地解决以下目标函数(式(7)),我们应用功能梯度增强法来搜索势函数的空间,从而最好地模拟给定的训练数据。
其中λ是一个正则化项,
s24、将标记为墙面的点云分块进行合成,获得墙面点云。
s3、针对墙面点云提取线结构体。该步骤具体通过以下分步骤实现:
s31、对墙面点云进行超体素分割,对超体素的边缘进行直线拟合,获得直线段集合。本步骤的线提取结果如图2所示。
s32、利用k-means聚类算法在直线段集合中搜索潜在的门窗结构,进而提取出线结构体。
匹配室内和室外模型的关键任务在于找到两个场景中出现的相同结构,比如门窗。因此,我们需要先找到连接室内外场景的门窗,然后对室内和室外场景进行配准。
虑到门和窗户大部分是四边形结构,所以我们对潜在的门窗结构进行了优化,得到了正则化后的门窗,即dwsin={dwsi1,dwsi2,…,dwsin}和dwsout={dwsj1,dwsj2,…,dwsjm}。其中,dwsin表示室内的门窗结构,dwsout表示室外的门窗结构,n和m分别表示室内和室外的门窗数量。采用以下的方法来区分门和窗户:四边形中,如果最大长度>2m并且最大长度与最小长度之差>0.5m则被认为是门,否则是窗户。于是,室内和室外的门窗结构均被分成了门和窗户两类,即dwsindoor和dwsinwin,dwsoutdoor和dwsoutwin。本步骤的线结构体提取结果如图3所示。
s4、基于线结构体,对室内点云和室外点云进行配准。该步骤具体通过以下分步骤实现:
s41、根据室内点云和室外点云对应的线结构体,确定一组刚体变换关系。考虑到室内点云和室外点云对应的线结构体为四边形,将室内点云对应的线结构体的四条边记为a、b、c、d,将室外点云对应的线结构体的四条边记为a’、b’、c’、d’,这样就可以确定4个对应关系,即:
根据4个匹配的顶点对,通过奇异值分解,可以确定刚体变换关系。
s42、采用公共点数作为距离函数,建立刚体变换关系求解模型,获得最优刚体变换关系。
将室内点云记为p,将室外点云记为q,刚体变换记为
考虑现实场景中从不同视角扫描到的点云数据往往存在较少的重叠部分,所以采用公共点数作为距离函数,建立npc距离函数模型,即:
其中,ncp(r,t)定义为刚体变换后的两个点云p、q中最近距离小于∈的点数,∈为预先设定的阈值,qi∈q为变换后的pi到点云q中距离最近的点;
建立刚体变换关系求解模型,即:
求解最大化ncp(r,t)的r和t,从而获得最优的刚体变换关系。
s43、利用迭代最近点(icp)算法来优化配准结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。