建筑点云的自适应分割

建筑点云的自适应分割

 

随着激光扫描技术的发展,城市建筑的点云数据已经可以被越来越方便地获得,如图1所示,但这类数据往往存在严重的缺失和噪声,因此从中提取出高层次的结构是十分困难的.这里的高层次结构指的是建筑中的一些结构单元以及它们之间的相似关系.这些信息是后续的建筑点云补全[1]和建筑重构[2]的重要基础.   基于建筑结构单元的分布大部分是呈一种级联或者交错的形式这一核心观察,我们在文献[3]中提出一种城市建筑点云的自适应分割方法,以提取建筑点云数据的层次化结构.目前关于建筑结构分析方面的工作主要集中在图像上[4-7],并且依赖于建筑结构单元呈全局规则格点分布这一很强的先验假设[4-5].本文的主要处理对象是三维的建筑点云数据,与以前局限于全局规则格点进行分析的工作不同,本文采用一种自适应的方法进行建筑结构的分析,从而可以获得更加灵活的建筑结构表示.本文提出的自适应分割的核心思想是使用一系列水平或者竖直的平面对输入点云数据进行划分,其流程如图2所示,分割策略基于建筑的一些先验的知识.   本文通过定义一个惩罚函数来自动确定初始的分割方向、分割平面的数目和位置;在分割结果的基础上检测一些相似的子点云块;利用这些相似信息进一步优化初始的分割平面数目和位置.这种分割操作可以递归地进行下去,从而得到输入建筑点云的一种层次化的表示.这种自适应分割的思想还可以用于建筑图像的分析当中.   1 自适应的建筑分割   本文的输入是无规则的点云数据,在预处理步骤中将该点云数据的位置进行矫正,并检测其中的一些边界点.以放置水平分割平面为例,对建筑点云的分割策略如下:水平分割平面要尽量避免经过竖直的线,但可以尽量经过水平的线.基于该分割策略和提取得到的边界点的信息,定义一个累积函数Cver(P)来考察竖直线和某一平面P的相交程度,以及另一个累积函数Chor(P)来考察水平线和平面的相交程度.对于水平分割平面Pz,其惩罚函数定义为Fz(Pz)=Cver(Pz)-t×Chor(Pz).     以上惩罚函数给予我们如何放置水平分割平面的指导.我们希望在惩罚函数较小的地方放置一些分割的平面,为此,计算该惩罚函数的一些局部极小值点,并把这些点所对应的位置作为初始的水平分割平面的位置,如图3所示.通过类似的方法可以得到一系列初始的竖直分割平面.为了确定分割方向,通过计算2个方向上惩罚函数极小值点的平均值,并选择平均值较小的方向作为当前的分割方向.这是一种自适应的选择方式.这些检测得到的分割平面将当前的建筑点云数据分割为一系列子点云块.   在此基础上,通过几何注册的方法将它们对齐,然后用体素化的方法来检测子点云块之间的相似性.由于受到噪声等的影响,初始的分割平面可能会丢失一些理想的分割平面.本文利用上一步得到的相似关系,从相似的子点云块中借用一些分割平面来补全缺失的分割平面,如图4所示,并优化其位置.由于检测相似关系和优化分割平面是相互依赖的,因此这2步迭代进行直到收敛.为了得到输入点云数据的一种层次化结构,对分割出来的子点云块再次进行上述的自适应分割的操作.在这种递归(recursive)分割的过程中,通过合并相似的子点云块使得它们能够被一致地分割.   2 实验结果   采用本文算法,我们对一些不同类型的建筑点云数据进行了结构分析,结果如图5所示.本文方法通过简单的修改就可以用于建筑图像分析中,结果如图6所示.