基于倾斜摄影技术的智慧城市建筑轮廓自动提取的研究

2021-09-13 08:49俞佳朋孙丽霞王连妹
探索科学(学术版) 2021年8期
关键词:像素点轮廓灰度

俞佳朋 宋 环 孙丽霞 王连妹

天津师范大学地理与环境科学学院 天津 300387

1 研究背景

美国副总统戈尔与1998年1月21日提出数字地球的概念之后,中国学者特别是地学界的专家认识到“数字地球”战略将会是推动中国信息建设和经济发展,资源可持续的重要武器,并于1999年末在北京召开的首届国际“数字地球”大会后提出了更多与“数字地球”相似的概念:“数字城市”、“数字中国”等。随着人类社会的不断发展,未来城市将承载着越来越多的人口,而当前我国正处于城镇化加速发展的时期,“城市病”问题日益严峻,为了解决城市发展的难题,实现城市可持续发展,建设智慧城市已是迫在眉睫。“智慧城市”的建设需要计算机网络,遥感测绘技术,全球定位系统以及空间信息系统作为支撑,同时获取三维城市的轮廓是建设“智慧城市”的前提与基础。

在现实世界中,城市中最重要的地物就是建筑物,或而言之,建筑物的建设是城市的建设最重要的部分,因此获取三维城市的轮廓从根本上讲就是获取建筑物的轮廓。

随着科技的不断发展,我们在传统的摄影测量技术上提出了一种新的技术---倾斜摄影技术,传统的摄影技术只能获取建筑物顶部信息,对于地物侧面信息则无法获取;而倾斜影像可以让用户从不同的角度观察建筑物,弥补了基于正射影像分析的不足,同时倾斜摄影技术对于发展智慧城市有很大的推动力,其提供的一系列的地物信息,可以构建三维城市模型,为智能化的管理提供了便利条件。

通过倾斜摄影技术我们得到的是一幅较大区域的影像数据,其实质是获得某一区域内的三维影像,即栅格图像,没有办法帮我们将地物区分开来,无法得到建筑物的单体模型,更无法对建筑物进行属性编辑、更新等,因此我们需要将单个建筑物从大区域影像中提取出来。

2 国内外研究现状

2.1 传统的人机交互式建筑物单体化建模

传统的人机交互式建筑物单体化建模的方法是人工提取建筑物的点、线、面特征,并将它们按照一定的规则组织起来,最终形成建筑物的轮廓。但由于我国在图像轮廓自动提取方面的技术较为欠缺,一直以来都是采用传统人工提取轮廓线的方法来绘制建筑物的轮廓。工作效率非常低,相关人员的工作量大;无法在短期内实现大规模建筑物的轮廓提;不符合信息化时代人工智能的发展现状和社会的需要。

2.2 基于LiDAR建筑物单体化建模

利用LiDAR的方法,可以实时的获得地物点的三维坐标信息及三维点云图像,而近年来机载激光雷达可以帮助我们快速直接的获取三维影像数据。LiDAR技术分为地面激光雷达技术和机载激光雷达技术。地面LiDAR技术可以在不同的地方设立站点以获取数据,然后将不同站点获取的数据结合起来得到整个区域的三维影像,这种方法所得到的模型是较为精准的,但是由于需要设立较多站点,对于大规模的场景是不适用的;机载LiDAR技术可以获取大规模的影像数据,但是对于水体的反射、森林的遮挡,激光雷达无法获得被遮挡的数据,造成三维影像数据部分缺失。

2.3 自动化提取单体化建模

目前已有研究主要是采用直接从倾斜摄影三维点云中通过不规则三角网的构建以及内插拟合来提取建筑物轮廓,未能有效减小密集匹配点云由于噪声和不均匀等因素导致的精度低、效率低的影响。

3 研究目标、技术流程以及技术创新

3.1 研究目标

改进轮廓自动提取方法,利用二维图像与三维点云在不同维度上信息的融合与约束,使建筑物轮廓能够更精确、高效稳定地被提取出来。

3.2 研究的技术路线

(1)建立三维模型。无人机搭载多相机倾斜摄影获取具有地理位置、地面控制点以及各相机参数的影像数据,通过将坐标转换到统一的坐标系下,进行影像数据处理,通过高效自动化的三维建模技术,快速构建精确的三维空间点云模型。

(2)缓冲区处理。在点云模型的基础上,根据建筑物高度不同进行点云的深度缓冲区处理,实现在三维模型上建筑物轮廓的自动获取;

(3)协同约束技术。根据倾斜影像的双目影像匹配技术,提取建筑物二维轮廓,利用SAD匹配算法在二维影像层面进行建筑物轮廓的匹配,利用三维恢复技术,从二维建筑轮廓信息中恢复三维轮廓场景并与深度缓冲区法获取的建筑物轮廓进行协同约束,从而实现高效、稳定的城市建筑三维轮廓自动提取,最终实现单体化建模。

3.3 创新特色

(1)目前侧视地图中建筑物的轮廓线通常采用三维点云自动拟合的方法,该方法只是实现了轮廓线的自动提取,但精度和效率并不高。实际中,三维点云的拟合需要我们提取部分特征点,而一条建筑物轮廓线就由成千上万个散点组成且一条直线上特征点分布呈现锯齿状,拟合出的轮廓线会发生偏离。因此研究小组采用协同约束的方法:

(2)基于无人机倾斜摄影获取两张不同视角下的同名点的二维影像,两张影像导入计算机可以自动提取同一建筑物不同视角下的二维直线轮廓,所提取的直线轮廓通过外方位元素转化成三维直线轮廓。(3)已有的基于三维点云的轮廓提取方法是使用不规则三角网内插法拟合出三维轮廓,而本项目的三维点云处理则采用深度缓冲区方法,与之相比,本项目方法具备更高的效率;同时本项目将二维影像恢复的三维直线轮廓和三维点云轮廓进行协同约束,可以实现更高精度的建筑物轮廓自动获取。

(4)将轮廓提取技术嵌入到当前的倾斜摄影三维建模软件和图像处理中(如:Smart3D、Photoscan、Photoshop等),使研究成果真正得到应用。

4 研究内容

4.1 建模原理

基于倾斜摄影技术的三维建模采用了三维匹配建模的方式,根据重叠度较高的倾斜影像立体像对,通过同名点匹配技术,自动获取一定数量的控制点并进行空中三角测量计算,计算出二维影像中每个像点在空间中的位置,形成三维点云,在此基础上构建三维模型[1]。

4.2 二维影像轮廓提取

根据无人机倾斜摄影获取的影像,对建筑物轮廓进行提取,用到了轮廓提取算法。常用的轮廓提取算子有sobel、canny、prewitt、log等。根据小组对比实验,最终选用对建筑物轮廓提取效果最好的canny算子进行研究

4.2.1 现有canny算子的不足

图像在进行轮廓提取前需要去除图像含有的噪声,现有的canny算子利用高斯滤波器对图像进行噪声的去除[2]。然而高斯滤波器需要人为选取他的阈值δ,当δ偏小时,滤波器的频带很宽,能够保留更多的轮廓信息,但噪声的去除效果差,提取的无用轮廓多;当δ偏大时,频带很窄,在滤去噪声的同时也会过滤掉有用的轮廓信息,导致轮廓不连续。根据以上遇到的问题,研究小组决定用形态学处理的方法改进原有算法[3]。

4.2.2 基于形态学的图像轮廓提取

1)腐蚀

腐蚀可以使目标区域范围“变小”,其实质造成图像的边界收缩,可以用来消除小且无意义的目标物。式子表达为:AΘB={x,y|(B)xy⊆A}。该式子表示用结构B腐蚀A,需要注意的是B中需要定义一个原点,而B的移动的过程与卷积核移动的过程一致,同卷积核与图像有重叠之后再计算一样,当B的原点平移到图像A的像元(x,y)时,如果B在(x,y)处,完全被包含在图像A重叠的区域,(也就是B中为1的元素位置上对应的A图像值全部也为1)则将输出图像对应的像元(x,y)赋值为1,否则赋值为0。

2)膨胀

膨胀会使目标区域范围“变大”,将于目标区域接触的背景点合并到该目标物中,使目标边界向外部扩张。作用就是可以用来填补目标区域中某些空洞以及消除包含在目标区域中的小颗粒噪声。式子表达为A⊕B={x,y|(B)xy∩A≠∅}

3)开运算和闭运算

开运算即先腐蚀后膨胀的过程,开运算可以用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。

先膨胀后腐蚀的过程称为闭运算,能够排除图像中的小空洞。

4.2.3 形态学改进的轮廓提取算法

使用顶帽变换和底帽变换相结合的形态学操作来消除噪声[4]。顶帽运算是由输入图像与图像开运算操作后的边缘图像做差运算得到的,可以消除暗背景上亮物质的噪声。底帽运算的作用正好与顶帽运算相反,可以消除亮背景上的暗物质的噪声。将这两种变换相融合,不但能够有效地平滑图像中的噪声,而且能够增强图像的边界信息。

4.3 深度缓冲区处理

4.3.1 缓冲区处理原理原理

深度缓冲区是用来存储每一像点深度信息的一块内存缓冲区,它为每一像点存储一个深度值(Z值),Z值代表像点与相机之间的距离,以灰度值或颜色来表示像点在空间中的位置关系,因此深度缓冲区的处理方法能够以二维图像的方式保存三维信息,使得数据处理更加高效精确。

4.3.2 深度图像预处理

利用Visual studio搭建pcl环境,将点云文件转换成深度图像。为了减少深度图像中的噪声对后续操作产生影响,利用中值滤波对噪声进行平滑处理,通过规定一定大小的邻域,计算邻域中像素点灰度均值并赋予中心像素点,以此消除噪声[5]。由于建筑物高度不一,它们在深度图像上的灰度差值可能过大,导致后续二值化的操作中缺失部分建筑物;并且处理数据过大将降低处理效率和精度,研究小组决定将一张深度图像裁剪成多张图像进行处理以提高精度和效率。

4.3.3 深度图像二值化

深度图像二值化是指选取一个合适的阈值,将图像中的背景与目标物体分离出来,以达到快速对目标区域进行处理的效果。

建筑图图像

Canny算子

改进后的canny算子

1)灰度阈值法

当裁剪后的深度图像中目标物区域与背景区域灰度值存在较大差异时,计算它们之间的灰度差值并以此为基础设置一个合适的灰度阈值T,将T与各像素点灰度进行比较。若像素点灰度值大于T值,那么赋予此像素点灰度值1;若像素点灰度值小于T值,那么将此像素点灰度值设置为0。

2)固定阈值法

当裁剪后的深度图像中灰度分布比较均匀时,选取深度图像灰度直方图中的波峰值或波谷值作为阈值,大于峰值的像素点灰度值设置为1,小于峰值的像素点设置为0[6]。

4.3.4 图像轮廓提取与空间还原

同样采用形态学改进的轮廓提取算法对二值化处理后的深度图像进行轮廓提取,根据提取出来的作为轮廓的像素点含有的Z值,将像点还原到三维空间中,形成三维轮廓。

经过图像裁剪、二值化处理后获得的建筑物屋顶轮廓

4.4 双目影像匹配及三维恢复

本三维恢复不同于以往常用的三维建模,而是一种新型的效率更高的建模方法。它是基于立体像对的轮廓提取匹配与三维恢复技术,即使用线段进行三维重建。

基于影像的直线特征提取技术,将建筑物轮廓规则地提取出来;然后利用轮廓法,同时结合直线匹配和相机的位姿信息,实现建筑物轮廓信息的空间三维恢复,从而构建一个精确的立体视觉系统。

本方法引用了Line3D++的建模方法及基本框架,主要包括几个步骤[7]:

(1)建立不同图像线段之间的潜在对应关系;

(2)根据同名点对它们的支持来评价这些对应关系;

(3)为每个二维线段选择最合理的对应作为其三维位置假设;

(4)根据二维段在三维空间的邻近度进行聚类,得到最终的对应集和三维模型。

Line3D++能够很好地且较快地提取并恢复建筑物的线段三维模型,但是它本身存在一些不足,或是说是不能满足本项目研究的地方。它适用于单个建筑物的线框模型恢复,比如一座教堂或者一幢楼房,而不适用于倾斜摄影得到的大片建筑物,所适用的面积范围小。而本项目是旨在解决智慧城市建设中的大面积建筑物三维轮廓提取难题,故需要对此方法进行改进。

我们将Line3D++的线段提取方法改成利用canny边缘算子对影像进行轮廓提取,再经过直线检测,对提取得到的线段进行简化,此处用到的是霍夫变换检测直线的算法。我们通过OpenCV中的hough变换来检测图像中的线条[8]。它的输入是一个二值的轮廓图像,往往是边缘检测得到的结果图像;它的输出是一个包含多个Vec2f点的数组,这个函数输出得到的直线并没有指定在图像中的开始点与结束点,需要我们自己去计算,如果我们想把直接显示在图像中就会比较麻烦,而且会有很多角度接近的直线,其实它们是重复的,为了解决上面这些问题,我们利用OpenCV提供的另外一个函数Hough LinesP()。它的输出是一个Vector of Vec4i。Vector每一个元素代表一条直线,是由一个4元浮点数组构成,前两个点一组,后两个点一组,代表了在图像中直线的起始和结束点。算法中还指定了检测直线中的最小宽度和最小距离,如果低于最小宽度则舍弃掉,那些通过同一点的直线,如果距离小于指定距离,就会将其进行合并。

最后,我们将处理得到的结果利用Line3D++进行三维恢复,可以得到一个较为精简的三维线框模型。

三维恢复得到的线框模型

被提取建筑物照片

4.5 协同约束

4.5.1 原理

由于深度缓冲区处理得到的点云轮廓并不直,而且三维恢复得到的线框模型也是由大量的线段组成的,并不是一个完整的轮廓。所以,我们设想将深度缓冲区处理所得的点云轮廓与三维恢复得到的线框模型(实质上也是由点云构成的)进行叠加,前者可以弥补后者的断点处,后者可以对前者进行约束。利用RANSAC函数对叠加后的点云进行处理,可以得到一个较为精确、完整的建筑物轮廓。

4.5.2 RANSAC算法拟合三维直线

1、算法简介:

随机抽样一致算法(RANSAC)最早由Fischler和Bolles于1981年提出[9],采用迭代的方法从一组数据中估算出数学模型的参数。该算法将集合中的点分为内点(符合模型的点)和外点(不符合模型的点)假设抽样数据都为正确数据,通过这些数据构建模型,利用其余点进行计算、评分和判断。

2、算法流程[10]:

1)输入中心点集,随机选择两个点构建模型

2)将点集中的所有数据点代入模型计算误差

3)判断误差是否满足预设的误差阈值,满足则归为内点,不满足则归为外点

4)重复上述过程,当迭代次数达到k值后,选出内点最多的模型作为此点集拟合的结果。

3、k值(迭代次数)的计算:

假设点云集合中一个点是内点的概率为t,那么随机选取的n个点都是内点的概率为tn,那么随机选取的n个点中至少有一个外点的概率为1-tn。假设P为算法得到正确解的概率,那么,由此可得因此可以通过增加迭代次数来提高算法的准确率。

5 结语

本文解决了现有的人工提取建筑物轮廓提取效率低、自动化提取轮廓效果差的问题,从而推动智慧城市建设工程的进程。但是尚且存在局限性,本研究主要适用于常见的方形规则建筑物,对于特殊形状的建筑物不太适用,我们将在之后的研究中加以改进。

猜你喜欢
像素点轮廓灰度
采用改进导重法的拓扑结构灰度单元过滤技术
图像二值化处理硬件加速引擎的设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于局部相似性的特征匹配筛选算法
Arduino小车巡线程序的灰度阈值优化方案
跟踪导练(三)
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
基于热区增强的分段线性变换提高室间隔缺损超声图像可懂度研究
儿童筒笔画