基于Otsu的建筑物点云分割改进算法

2014-04-17 08:56秦家鑫万幼川何培培陈茂霖
地理空间信息 2014年1期
关键词:格网分块个数

秦家鑫,万幼川,王 迪,何培培,陈茂霖

(1.武汉大学 遥感信息工程学院,湖北 武汉 430079;2. Politecnico di Milano DIIAR, Como Italy 22100)

基于Otsu的建筑物点云分割改进算法

秦家鑫1,万幼川1,王 迪2,何培培1,陈茂霖1

(1.武汉大学 遥感信息工程学院,湖北 武汉 430079;2. Politecnico di Milano DIIAR, Como Italy 22100)

提出了一种基于Otsu的建筑物点云分割改进算法,针对传统Otsu分割算法在精确性方面的不足提出2点修改意见。首先根据投影点密度理论将三维点云转换为二维灰度图像,再利用Otsu算法及其改进算法对图像进行分割。采用Riegl公司VZ-400激光扫描仪采集的武汉大学信息学部第一教学楼的点云进行分割处理,并与传统的Otsu分割算法进行对比。结果表明,该算法分割正确率可达96.54%,远高于改进前的72.82%。

点云分割;投影点密度;Otsu;分块求解;区域增长

基于地面LiDAR点云的建筑物重建通常可分为建筑物点云分割和建筑物结构面几何重建2个步骤[1],分割效果的好坏直接影响最终的重建结果。目前国内外的研究多数是运用机载LiDAR数据[2-4],运用地面LiDAR数据的研究还不是很多。史文中等根据像点空间相位信息,提出了点投影密度的概念[5],以此将三维点云转换为二维灰度图像,再通过灰度图像的一些分割方法进行图像分割[6]。吴芬芳等利用激光点云的空间分布特征和城市环境中各种物体自身的几何特性,将点云投影到水平格网中,根据格网中数据点的高程最大值进行分类[7]。魏征等根据点云特征图像和特征值分析,提出了一种地面LiDAR点云建筑物立面位置边界的自动提取方法[8]。上述3种方法都是将三维点云转化为二维图像进行处理,避免了大量的计算,且可以充分借鉴图像处理的一些方法,提高了数据处理的效率。黄磊等对激光扫描仪的回波强度信息进行了一系列的处理和改正,通过建立距离-能量、角度-能量之间的对应关系,将距离和角度引起的强度变化进行归一化改正和补偿,排除距离、角度等因素的干扰,最后利用强度差别对目标进行分类处理[9]。研究应用中地面LiDAR点云分割依然存在着精确性的问题。现阶段,基于回波强度信息分类研究虽然已取得一定的进展,但是由于一些技术上的原因(如缺乏有效的定标手段),利用反射强度值还不能对目标进行精确分割,使得其无法真正得到应用。利用二维灰度图像的一些分割方法,虽然适用于建筑物的分割,但同样也面临精确性的问题。本文针对以上问题,提出了一些解决方案和方法,对Otsu算法[10]做了2处改进,并对改进前后的分割结果进行了比较分析,提高了点云分割精度。

1 原理与方法

1.1 传统Otsu算法

地面LiDAR点云隐含分布密度信息,由于每个扫描物体的结构差异,会导致不同物体的点云具有不同的密度信息。将扫描区域的点云进行某一方向的投影后,这种隐含的信息就会显现出来,便可利用密度信息分割点云。

将三维坐标点垂直投影到水平面上,建立水平格网[11],根据扫描区域范围,确定每个格网的大小,统计每个格网的投影点个数,记为投影点密度(DoPP)。把所有格网的DoPP值线性拉伸到0~255区间,模拟每个格网的灰度,即可生成二维灰度图像,此时一个格网即为灰度图像的一个像素。不同物体的DoPP值会表现为不同的特征,根据不同物体的DoPP特征,设置相应的阈值就可分割出不同的物体。

Otsu根据图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大、错分概率越小。设图像的目标和背景的分割阈值为T,属于目标的像素点个数占整幅图像的比例为ω0,其平均灰度为μ0;属于背景像素点个数占整幅图像的比例为ω1,其平均灰度为μ1;图像的总平均灰度为μ,类间方差为g:

将式(1)代入式(2),得到:

采用遍历的方法得到使类间方差g最大的灰度阈值T,再遍历灰度图像的每个像素,灰度大于等于T的像素视为目标,保留该格网的所有数据点;灰度小于T的像素视为背景,滤除该格网的所有数据点;最后再把分割后的灰度图像恢复为三维点云,得到分割结果。

1.2 改进算法

在实际应用中,建筑物边界的DoPP值的分布特点一般不会严格符合“DoPP值远大于其他区域,并形成可连续的带”。建筑物的某些部分的点云的DoPP值会很小,因此利用传统Otsu算法简单地把图像分为目标和背景2类很可能会造成错误分割,在滤掉除建筑物以外的其他地物数据的同时,也滤掉了一部分建筑物数据,导致分割正确率降低。对此,本文提出了2点修改意见。

1)分块求解。根据图像中建筑物的分布特征,把图像分成多个区域,在每个区域中,尽量保证该区域建筑物点云的DoPP值远大于其他地物,目的是减少错误分割。将图像I(x×y)在X和Y方向上分别划分为m和n等份,将图像分成xi×yj(i=1,2,…,m; j=1,2,…,n)m×n个区域,在每个xi×yj区域内进行一次Otsu算法,最后将每个区域分割的目标部分进行拼接,得到最终的分割结果。

2)区域增长补偿错分区域。根据建筑物的点云分布在垂直投影后是连续的这一特性,在Otsu分块求解的分割结果上,利用区域增长算法补偿建筑物错分区域。算法原理如下:

①选取种子点:设原始点云垂直投影生成灰度图像的每个像素灰度为gray[i],经过Otsu分块求解算法处理后每个像素灰度为GRAY[i],再为每个像素设定一个标记数组。遍历每个像素,若此像素GRAY >0且其四邻域(或八邻域)有任意一个像素符合GRAY =0且gray>0,则将此像素标记为1,否则标记为0。选取标记为1的像素作为种子点。

②设定合适的阈值:将种子点GRAY 值与其四邻域(或八邻域)gray值作比较,若其商小于提前给定的阈值,则将邻域点gray值赋予邻域点GRAY ,并将邻域点标记为1;若其商大于提前给定的阈值,则将邻域点标记为0。一个种子点与其所有邻域点都作完比较后,将种子点标记为0。

③进行区域增长:将标记为1的点视为新的种子点,重复步骤②。

④结束条件:直到所有点的标记均为0,算法结束。

2 实验与分析

2.1 实验流程

本实验在VC6.0的编程环境下完成,如图1所示。

图1 实验流程图

2.2 实验结果及分析

本次实验采用Riegl公司VZ-400激光扫描仪采集的武汉大学信息学部第一教学楼及其周围环境的点云,原始LiDAR点云和坐标轴如图2所示。

图2 武汉大学信息学部第一教学楼原始点云图

原始LiDAR点云共有181 860个测量点数据,遍历所有点,得到X方向坐标最大值为103.665 m、最小值为39.334 m,Y方向坐标最大值为90.328 m、最小值为-83.288 m。结合点云特点,采用100×100格网对点云进行Z轴投影。如图2所示,X方向为建筑物立面厚度方向,Y方向为建筑物立面延展方向,以厚度方向0.643 31 m、延展方向1.736 16 m的格网间隔投影,符合数据的实际情况,相较于树木等其他地物的空间分布,基本能够保证建筑物立面DoPP值远大于其他地物,有利于其后的Otsu算法应用。垂直投影到水平面上效果如图3所示,红色框内就是需要分割出的建筑物边界点云,投影后线性拉伸生成的二维灰度图像(见图4)。

对投影后生成的灰度图像进行传统的Otsu分割,分割效果如图5 a、图5d所示。Otsu分割初步实现了建筑物点云的分割效果,成功剔除了树木等一些不需要的目标数据,但是也存在一些错误分割。原因主要有3点:①建筑物的结构特点,使某些凹凸区域或拐角处的点云个数较少;②其他物体的遮挡;③数据中同时包含高层建筑物和低层建筑物,造成低层建筑物的点云个数相对较少。因此,建筑物的凹凸区域或拐角处、遮挡严重的区域、低层建筑物区域的DoPP值可能并不是远大于其他区域,甚至是小于其他区域的,在分割过程中被当作背景点剔除。在本文实验中,利用传统的Otsu算法分割后的错分区域中包含很多建筑物的特征点,对后续的建筑物结构面几何重建有着一定的影响,因此分割结果并不十分理想,需要改进。

图3 原始数据垂直投影到水平面上效果图

图4 灰度图像

图5 改进前后效果对比图

从传统Otsu算法的分割结果可以看出,错误分割区域呈现条带状,集中在某几段Y区间内,说明这几段Y区间内的建筑物点云的DoPP值在整个数据中过小,故将Otsu分块求解的每个区域也划分成条带状。取100×2的格网作为每个求解区域,即厚度方向100个像素、延展方向2个像素,每200个像素进行一次Otsu算法,共将原始影像等分为50个区域,效果如图6所示。Otsu分块求解的分割效果有了明显改进,基本上完全分割出建筑物点云,但也产生了一定的多余数据,如小部分树木数据。其原因是局部建筑物点云的DoPP值过小,小于部分树木点云的DoPP值,为了把这一部分建筑物点云作为目标分割出来,就不可避免地将部分树木点云也划分为目标。由于建筑物的大概坐标容易确定,故新增加的噪声可通过简单的坐标法分割去除,分割结果如图5 b、图5e所示。之后,运用区域增长算法,在Otsu分块求解的分割结果基础上补偿错分区域。经过多次实验,区域增长的阈值设为3.21时效果最佳,既保证了建筑物的完整性,又不增加新的噪声,效果如图5 c、图5 f所示。

图6 Otsu分块求解效果图

传统的Otsu算法分割效果存在一定的错误分割,如图5 a中蓝色框内所示部分。改进后的Otsu算法先利用分块求解算法较为完整地分割出建筑物点云,补偿了两侧低层建筑物点云和主建筑物中DoPP值较小部分的点云,再利用区域增长算法进行优化,如区域增长补偿了图5b中黄色框内所示部分点云,最终分割效果有了明显的提升,基本上全部分割出建筑物点云。

为了定量评价本文提出的改进算法的分割精度,手动提取建筑物立面部分的点云作为参考数据。表1为比较结果,其中A为手动分割结果的点云个数;B为运用本文算法分割结果的点云个数;A∩B为A与B中共同的点云个数,即分割结果中正确点的个数;B/A为在集合B但不在集合A的点云个数,即实验结果中多余的点云个数;A/B为在集合A但不在集合B的点云个数,即实验结果中遗漏的点云个数。由表1可知,改进后的Otsu算法分割出的正确点个数为94 476,远高于传统的Otsu算法分割出的71 264个点。改进后算法的分割正确率也由改进前的72.82%提高到96.54%。虽然结果中有3 949个多余点,遗漏了3 390个点,但是从改进后的算法分割效果图来看,建筑物的特征点几乎全部被分割出来,可满足后续的建筑物结构面几何重建的需要。

表1 分割结果统计/个

3 结 语

目前,地面LiDAR已成为建筑物三维重建的一种重要数据源,但地面LiDAR建筑物点云的精确分割还处于研究阶段。本文在分析地面LiDAR建筑物点云精确分割现状的基础上,针对传统Otsu算法分割结果中的不足,从错误分割的区域中寻找分布特点,由此提出了Otsu分块求解算法,分割效果得到明显的改进;再利用区域增长算法对分割结果进行优化,使分割精度进一步提高,为后续的建筑物结构面几何重建提供了良好的分割结果。

[1] 杨洋.基于车载LiDAR数据的建筑物立面重建技术研究[D].郑州:信息工程大学,2010

[2] 王继阳,文贡坚,吕金建,等.建筑物三维重建方法综述[J].遥感技术与应用,2009,24(6):832-839

[3] 成晓倩,马洪超,赵红强,等.一种基于区域增长的机载LiDAR滤波[J].测绘科学,2010,35(1):61-63

[4] 熊娜,程新文.LiDAR数据特点及其滤波分类方法[J].中国水运,2008,8(1):151-154

[5] 史文中,李必军,李清泉.基于投影点密度的车载激光扫描距离图像分割方法[J].测绘学报,2005,34(2):95-100

[6] 贾永红.数字图像处理[M].武汉:武汉大学出版社,2003

[7] 吴芬芳,李清泉,熊卿.基于车载激光扫描数据的目标分类方法[J].测绘科学,2007,32(4):75-77

[8] 魏征,董震,李清泉,等.车载LiDAR点云中建筑物立面位置边界的自动提取[J]. 武汉大学学报:信息科学版,2012,37(11):1 311-1 315

[9] 黄磊,卢秀山,梁勇.基于激光扫描回光强度的建筑物立面信息提取与分类[J].武汉大学学报:信息科学版,2009,34(2):195-198

[10] Otsu N. A Threshold Selection Method from Gray-level Histograms [J].IEEE Transactions on Systems, Man and Cybernetics, 1979, 9(1):62-66

[11] 卢秀山,黄磊.基于激光扫描数据的建筑物信息格网化提取方法[J].武汉大学学报:信息科学版,2007,32(10):852-855

P237.3

B

1672-4623(2014)01-0110-04

10.11709/j.issn.1672-4623.2014.01.038

秦家鑫,硕士,研究方向为地面激光点云数据处理。

2013-06-20。

项目来源:国家科技支撑计划项目(2012BAH34B02、2012BAJ15B04)。

猜你喜欢
格网分块个数
钢结构工程分块滑移安装施工方法探讨
怎样数出小正方体的个数
遥感数据即得即用(Ready To Use,RTU)地理格网产品规范
实时电离层格网数据精度评估
分块矩阵在线性代数中的应用
等腰三角形个数探索
怎样数出小木块的个数
矢量点状数据抽稀方法的研究与实现
正六边形规则格网表达的DEM谷地线提取
怎样数出小正方体的个数