一种结合阴影信息的建筑物层数识别方法
A method for identifying the number of building floors based on shadow information
通讯作者: 王梦飞(1980-),男,博士,正高级工程师,主要从事遥感地质研究。Email:wmf1980@qq.com。
责任编辑: 张仙
收稿日期: 2022-06-1 修回日期: 2022-11-8
基金资助: |
|
Received: 2022-06-1 Revised: 2022-11-8
作者简介 About authors
李志新(1997-),男,硕士研究生,主要从事数字摄影测量研究。Email:
建筑物层数获取可为城市安全和灾害隐患提供数据支撑和决策服务。目前,建筑物层数往往是基于人工调研和统计为主; 基于遥感影像的建筑物高度自动反演,也存在算法效率低、提取不完整、自动化程度偏低等问题。为解决这些问题,实现快速和大范围获取建筑物层数,基于GF-7卫星影像,设计、实现了一种楼层数识别的算法,在主成分分析等预处理的基础上,采用渔网法阴影线自动提取算法,并利用阴影形成的几何关系计算楼高并转换为楼层数,最终为消除阴影长度测量误差的影响,采用支持向量机回归对算法提取结果进行误差改正。以北京市朝阳区为研究区,进行模型的训练与测试; 以河南省郑州市为验证区的实验结果表明,建筑物层数总体识别精度为90.21%,6~50层的建筑物层数识别误差在3层以内。研究可为基于卫星数据快速和大范围自动获取建筑物层数提供全新的技术支撑和应用服务。
关键词:
Acquiring the number of building floors can provide data support and decision-making services for urban safety and disaster hazards. The number is primarily acquired through manual investigation and statistics currently. Furthermore, the automatic inversion of building heights based on remote sensing images suffers from low algorithmic efficiency, incomplete extraction, and a low automation degree. To acquire the number of building floors quickly and extensively, this study designed an identification algorithm based on GF-7 satellite images. First, shadow lines were automatically extracted using the fishing net method based on preprocessing such as principal component analysis. Then, the building height was calculated based on the geometric relationship formed by the shadow, and the building height was then converted into the number of building floors. Finally, the error in the extraction results was corrected through support vector machine regression, aiming to eliminate the influence of the measurement error of the shadow length. With Chaoyang District in Beijing as the study area, this study conducted model training and testing of the identification algorithm. As shown by the experimental results with Zhengzhou City in Henan Province as the verification area, the overall identification accuracy was 90.21%, with an identification error of three floors at most for buildings with 6~50 floors. This study provides novel technical support and application service for automatically acquiring the number of building floors rapidly and extensively based on satellite data.
Keywords:
本文引用格式
李志新, 王梦飞, 贾伟洁, 纪松, 王宇飞.
LI Zhixin, WANG Mengfei, JIA Weijie, JI Song, WANG Yufei.
0 引言
随着我国城镇化进程加快,众多城市出现了高层建筑老龄化的现象,高层建筑的调查和维护是目前我国政府住建部门的重点工作。快速高效地获取大范围的高层建筑信息能为城市的建筑安全和灾害隐患提供数据支撑,同时也是城市高质量发展和城市规划发展的重要依据[1]。
获取某个地区的建筑物楼层信息往往需要人工调研和统计,不但费时费力且现势性不高。目前很多国内外学者利用遥感影像建筑物的阴影长度反演建筑物高度,其中阴影提取和阴影长度的测量是建筑物高度反演的关键。阴影提取的方法主要有2种: 基于阴影模型直接计算阴影区域和基于阴影属性构建阴影特征获取阴影区域。基于阴影模型提取阴影,如黑体辐射模型[2]主要是利用直射光照射区域和反射光区域的色温差异进行阴影提取,这类方法需要一定的先验信息(如传感器参数、太阳高度角和地表数字模型等),具有很大局限性。基于阴影属性构建阴影特征是获取阴影最常用的方法,有通过统计或分析光谱、纹理等特征进行阴影提取[3⇓⇓⇓⇓⇓⇓⇓-11],如色彩不变特征[12]、统计混合模型[13]和主成分分析(principle component analysis,PCA)[14⇓-16]等; 还有通过图论原理对影像进行分割获取同质子对象,然后再利用特征约束条件进行提取的面向对象的方法[17⇓-19]和结合区域配对的室外阴影检测,训练支持向量机分类器,利用建立的模型进行阴影提取的机器学习方法[20]。这些方法为建筑物高度反演提供了很好的理论支撑。
阴影长度的测量是建筑物高度反演的关键环节,也是研究的难点。丁哲等[21]和霍少峰等[22]虽然在建筑物高度提取上取得了不错的精度,但采用人工测量阴影长度,不适合大范围提取; 马川[23]利用面积与周长反算阴影长度,该方法适用于建筑物几何形状规则且简单统一的情况,简单的将阴影形状看作是矩形,与实际有较大误差,不适用于复杂的影像环境; 王永刚等[24]利用角点最近的距离统计平均法计算建筑物阴影长度,可弥补传统的手工量算阴影宽度工作繁琐和效率低下的缺陷,从而提高计算效率和精度,但是不适合用于形状复杂的建筑物; 程国旗等[25]提出一种基于K-means图像分割算法与阴影后处理结合的建筑物阴影提取方法,虽然实现了自动化估算建筑物的高度,但只针对建筑物间隔稀疏、结构规则的城郊区域进行了研究,对形状多样、结构复杂、间隔紧凑的城区建筑物未作深入研究。
综上所述,目前建筑物阴影提取和长度测量存在效率低、提取不完整、自动化程度偏低等问题,很少有能够直接从遥感影像自动获取建筑物层数的算法。本文以城市建筑物密集区域为研究区,设计了一套基于遥感影像的建筑物阴影信息自动获取高度,从而实现楼层数识别的算法,以期在复杂场景中完成建筑物阴影长度的测量,且快速获取大面积建筑物层数。
1 方法与原理
本文总体的技术路线包含阴影提取及优化、阴影长度计算、楼层数计算及误差改正4个部分,如图1所示。
图1
首先,利用PCA进行建筑物阴影的初提取,将提取后的阴影利用一种数学形态学的方法进行优化,形成简洁、光滑、离散的阴影块; 其次,基于网格化的思想设计了渔网法阴影线自动提取算法,对其结果做统计分析,输出可靠的阴影长度值; 然后,利用阴影形成的几何关系计算楼高并转换为楼层数; 最后,利用网上开源数据获取建筑物真实的层数信息,制作样本数据,对算法识别结果和实际结果进行支持向量回归(support vactor regression,SVR)训练,返回建筑物层数误差改正模型,并在测试集和验证集上做验证分析。
1.1 阴影提取及优化
阴影在遥感图像上呈暗色调,在影像直方图中,阴影的像素值都集中在最开始的小区间内,建筑物阴影又相对集中且有较明显的几何特征,易于提取。在数据预处理阶段,首先将直方图中高亮度、高色调的像素值进行暴力舍弃,减少其他地物信息的干扰; 其次,通过主成分变换进行图像增强,突出地物的主成分信息,影像增强后的直方图中,阴影和非阴影呈明显的双峰状; 最后,采用直方图双峰法自动寻找分割阈值提取阴影。
初次提取的阴影中参杂着建筑物阴影、植被阴影、水体、低反射率物体及噪点,且建筑物阴影大多都连片,本文构建了一种基于数学形态学的特征优化算法,如图2所示,该算法主要通过对阴影二值图像进行腐蚀、膨胀迭代运算,来消除影像中的“椒盐”噪声、非建筑物阴影碎斑及切断建筑物间的细小连接,形成简洁、光滑、离散的阴影块。优化程度的好坏取决于卷积核的选择,而十字型卷积核对于切断对象间的连接有着明显的优势。本文构建了2个十字型卷积核(kernel1=3×size,kernel2=size×3,size的取值上界为最小关注目标所对应的像素个数,如本文只关注6层以上建筑物的识别,size最大可取5层建筑物阴影长度的像素个数)依次对全局进行卷积运算。通过不断地迭代来腐蚀碎斑、截断对象块之间连接,同时也能填补因辐射误差带来的局部空洞,设置迭代停止条件(2次卷积后阴影面积之差ΔS小于k个像素; k值通常为根据建筑物面积设定的经验值)结束优化,并将优化后的二值图像转为矢量文件(后期识别结果将存储到该文件的属性表中)。
图2
1.2 阴影长度计算
通过从阴影块中提取阴影线来进行阴影长度计算,提取阴影线需要先知道该研究区的太阳方位角,通过影像的过境时间和研究区的经纬度,计算该研究区的太阳方位角AS和太阳高度角β,其计算公式分别为[26]:
式中: Φ为地理纬度; δ为太阳赤纬; t为时角。
阴影提取出来之后需要进一步测量阴影长度,阴影线总长度计算公式为:
式中: S为阴影线总长度; P为沿着阴影线方向的像元数量; M为该遥感影像的空间分辨率。
假设布设一张像渔网一样的格网,在格网点沿太阳光方向生成一系列平行线,然后投影到水平面上,求取与阴影相交的一系列线段长度,可弥补通过角点计算边缘长度带来的误差,同时还能适应复杂建筑物[27]。基于此思想,本文设计了一种渔网法阴影线自动提取算法,算法流程如图3所示。提取思路为: 利用上一步提取的阴影二值图像为掩模,以每个阴影块为一个对象,在其内部布设格网点,也称种子点,以太阳方位角延伸到边界,并依据式(3)计算阴影线长度。初步生成的阴影线会有很多劣质线(受内部空洞、阴影连片和其他地物阴影等影响),统计每个阴影块对象内所有阴影线,进行迭代过滤,以剩余阴影线数量大于3且最长与最短阴影线之差小于阈值d(经过计算机多次测试,一般取研究区内平均阴影线长的10%作为阈值效果最佳)作为迭代停止条件,然后将阈值内所有阴影线长度的平均值作为该建筑物的阴影长度,并存入矢量文件的属性表中。
图3
1.3 楼层数计算
图4
图4
太阳、卫星和建筑物关系示意图
Fig.4
A geometric diagram of the sun, satellites and buildings
在图4(a)中,卫星和太阳同侧,影像上不能完全显示阴影,阴影长度为A,据几何关系,建筑物高度H为:
在图4(b)中,卫星和太阳异侧,图像上可完整呈现阴影长度S。根据几何关系,建筑物高度H为:
在实际情况中,通常无法获取卫星的相关参数,无法计算其阴影遮挡部分,因此不能直接运用式(5)进行同侧建筑物高度计算。但在同一时间,一张遥感影像上建筑物高度与阴影长度之间比值是固定的,因此,可将所有建筑物都先按异侧情况考虑,依据式(6)建立式(7)所示的数学模型。最后,将算法识别的建筑物高度,参照《住宅设计规范》规定的住宅标准层高转换为楼层数,即
式中λ为建筑物高度与阴影长度之间的比值。
1.4 基于SVR的建筑物层数误差改正模型
由图4(a)可知,同侧会使可视阴影长度与实际的建筑物阴影长度相比偏短,且阴影长度测量也存在误差,因此,需要对基于通用公式计算出来的楼层数进行误差改正。对层数进行校正,而非楼高或阴影长度,一方面考虑到层数信息易获取; 另一方面,相同层数的不同建筑物楼高与阴影长度也是各不相同的,同时,阴影受多方面因素的影响,其情形复杂,难以使用单一的回归方法进行拟合。而且从建筑物的建设成本与效益考虑,真实层数的聚集趋势明显,对层数进行拟合,可以更好地包容误差,提高模型算法的鲁棒性。
支持向量机是为解决小样本、非线性识别问题,提出的一种分类模型[28]。只需部分支持向量做超平面决策即可,对解决高维特征的分类问题和回归问题是很有效的。对建筑物识别结果的改正可看作是回归问题,因其受多种因素的影响,简单的线性回归模型已不适用,故本文采用SVR对算法识别结果进行误差改正。
本文选取N个建筑物的结果作为总样本,考虑到同侧、异侧等问题,假定全部按照异侧的情况考虑,后续通过模型优化,其中总样本的70%作为训练样本,求取模型参数,30%作为测试样本。本文{输入,输出}的训练数据集为{Ni,Nti}(i=1,2,…,n,i为样本序号,n为样本个数),Ni为自变量,Nti为预测变量,SVR定义了映射关系φ,Nti→φ(Ni)表示通过非线性函数φ(核函数),将输入变量Ni映射到高维空间,SVR的误差改正模型为:
式中
假设能容忍f (Ni)与Nti之间最多有ε的偏差,并引入松弛变量
式中C为正则化常数。
通过训练集求得模型参数
式中: μ为平均误差层数的算数平均值; Xi为第i栋建筑物算法提取的楼层数; Fi为第i栋建筑物的真实楼层数。
2 实验与分析
2.1 实验数据
图5
图6
表1 样本数据
Tab.1
数据 | 地区 | 时间 | 范围 | 样本数/个 |
---|---|---|---|---|
训练集 测试集 验证集 | 北京市朝阳区 北京市朝阳区 河南省郑州市 | 2020-11-16 11:20:58 2020-11-16 11:20:58 2021-09-20 11:31:28 | N39°49'~40°05',E116°21'~116°38' N39°49'~40°05',E116°21'~116°38' N34°30'~34°51',E113°38'~113°56' | 700 300 300 |
2.2 实验结果
2.2.1 建筑物楼层识别结果
表2 研究区楼层提取结果示例
Tab.2
楼层范围 | 原始影像 | 阴影提取结果 | 阴影线提取结果 | 楼层提取结果 |
---|---|---|---|---|
6~10层 | ![]() | |||
11~20层 | ![]() | |||
21~30层 | ![]() | |||
30层以上 | ![]() |
2.2.2 基于SVR模型的实验结果与分析
表3 建筑物层数测试结果
Tab.3
提取结果 | 建筑物编号 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
初提取层数 改正后层数 实际层数 改正前误差 改正后误差 | 5 6 6 1 0 | 11 14 11 0 3 | 9 12 12 3 0 | 12 15 13 1 2 | 10 13 14 4 1 | 15 19 18 3 1 | 15 19 20 5 1 | 13 17 21 8 4 | 15 19 21 6 2 | 17 22 21 4 1 | 16 20 22 6 2 | 19 24 24 5 0 | 19 24 25 6 1 | 20 25 27 7 2 | 20 25 28 8 3 | 21 27 28 7 1 | 23 28 28 5 0 | 24 31 28 4 3 | 24 31 30 6 1 | 26 33 33 7 0 |
改正前平均误差楼层数①: 4.16; P=78.54%; σ前=1.263 | 改正后平均误差楼层数: 1.39; P=90.21%; σ后=0.972 |
①表格只随机抽取了具有代表性的20组数据,但精度统计值为整个测试集的精度。
图7
2)经过误差改正后,误差最大的8和15号楼也从原来8层误差,降为现在的4层和3层; 误差最小的是1,3,12,17,20号楼,改正之后无误差; 不同高度的建筑物识别误差均有改善,改正之后既有高于实际层数也有低于实际层数,且提取误差基本控制在3层以内,平均误差为2层,平均精度为90.21%,并且各个楼层范围的精度都有所提升,达到了预期目标。
2.2.3 验证分析
图8
表4 建筑物层数验证结果
Tab.4
建筑物楼层范围/层 | 平均提取误差/层 | 总体精度/% | 标准差/层 |
---|---|---|---|
6~10 11~20 21~30 >30 | 1.33 1.07 1.63 1.27 | 84.61 93.40 97.36 98.84 | 0.471 4 1.032 6 1.298 4 1.052 1 |
平均值 | 1.32 | 93.55 | 0.963 6 |
2.3 实验分析
城市密集区域本就比建筑物间隔稀疏、结构规则的城郊区域情形复杂,最终的误差不光受到阴影提取算法、太阳高度角计算的影响,同时还有建筑物过高、地间距太短、复杂地形(立交桥)、周边地物(绿植、凉亭等)、河流及湖泊等因素造成阴影不同程度的变形,很难实现对建筑物楼层的精确识别。本算法在诸多因素的干扰下,城市建筑物密集区域楼层识别误差基本控制在了3层以内,城郊区域基本能做到精确识别。
本文算法虽对建筑物层数识别取得了良好的精度,但受阴影几何成像的约束,还存在一些限制性因素: 影像的选择、识别区间、住宅和商业无法区分、阴影成像同异侧无法判定。影像成像时间在夏季10:00—15:00,其太阳高度角相对较高,可减少因建筑物过高、地间距较短带来的误差; 受遥感影像空间分辨率的影响,小于5层的建筑物,因其阴影太短且不规则,会将阴影当成噪点滤除,大于50层的建筑物,会形成与其他建筑物的混影或直接叠掩在北边建筑物上,很难对其阴影进行剥离与精确测量; 住宅和商业楼的标准层高不一致,所提取的楼层数会有很大的误差,在实际任务中可重新设置标准层高进行改正。
3 结论与展望
建筑物层数获取为城市安全和灾害隐患提供数据支撑和决策服务。本文基于GF-7影像实现了建筑物楼层自动识别。首先,采用PCA、直方图双峰法和一种数学形态学的优化算法,提取到建筑物的阴影块; 其次,设计了渔网法阴影线提取算法,获取到建筑物阴影的长度信息,并利用阴影成像的几何关系反算建筑物高度信息,从而实现建筑物楼层的识别; 最后,利用开源信息制作样本,进行SVR对算法提取结果进行误差改正,结果表明,建筑物层数总体识别精度达90.21%,6~50层的建筑物层数识别误差在3层以内,并在验证集上也具有良好的鲁棒性,为基于卫星数据,快速和大范围自动获取建筑物层数提供了全新的技术支撑和应用服务。
未来将充分利用爬虫技术获取百度地图的POI数据,并建立机器学习模型或构建神经网络进行住宅区和商业区的识别,从而解决住宅区和商业区的问题。将更进一步的从遥感影像上挖掘更多的信息来辅助决策与分析,例如,基于本文提取的阴影块信息对时序影像进行建筑物的判读,从而获取建筑物的楼龄等信息。
参考文献
Building height extraction from GF-7 satellite images based on roof contour constrained stereo matching
[J].
DOI:10.3390/rs14071566
URL
[本文引用: 1]
Building height is one of the basic geographic information for planning and analysis in urban construction. It is still very challenging to estimate the accurate height of complex buildings from satellite images, especially for buildings with podium. This paper proposes a solution for building height estimation from GF-7 satellite images by using a roof contour constrained stereo matching algorithm and DSM (Digital Surface Model) based bottom elevation estimation. First, an object-oriented roof matching algorithm is proposed based on building contour to extract accurate building roof elevation from GF-7 stereo image, and DSM generated from the GF-7 stereo images is then used to obtain building bottom elevation. Second, roof contour constrained stereo matching is conducted between backward and forward image blocks, in which the difference of standard deviation maps is used for the similarity measure. To deal with the multi-height problem of podium buildings, the gray difference image is adopted to segment podium buildings, and re-matching is conducted to find out their actual heights. Third, the building height is obtained through the elevation difference between the building top and bottom, in which the evaluation of the building bottom is calculated according to the elevation histogram statistics of the building buffer in DSM. Finally, two GF-7 stereo satellite images, collected in Yingde, Guangzhou, and Xi’an, Shanxi, are used for performance evaluation. Besides, the aerial LiDAR point cloud is used for absolute accuracy evaluation. The results demonstrate that compared with other methods, our solution obviously improves the accuracy of height estimation of high-rise buildings. The MAE (Mean Absolute Error) of the estimated building heights in Yingde is 2.31 m, and the MAE of the estimated elevation of building top and bottom is approximately 1.57 m and 1.91 m, respectively. Then the RMSE (Root Mean Square Error) of building top and bottom is 2.01 m and 2.57 m. As for the Xi’an dataset with 7 buildings with podium out of 40 buildings, the MAE of the estimated building height is 1.69 m and the RMSE is 2.34 m. The proposed method can be an effective solution for building height extraction from GF-7 satellite images.
Simulated recovery of information in shadow areas on IKONOS image by combing ALS data
[C]//
基于QuickBird影像的城市高大地物阴影检测方法
[J].
Shadow detection method of urban tall objects based on QuickBird image
[J].
基于ALOS卫星图像阴影的天津市建筑物高度及分布信息提取
[J].
Extraction of building height and distribution information in Tianjin based on ALOS satellite image shadow
[J].
Dynamic shadow com-pensation of aerial images based on color and spatial analysis
[C]//Proceedings of the 15th International Conference on Patten Recognition.
Shadow detection in colour high-resolution satellite images
[J].DOI:10.1080/01431160701395302 URL [本文引用: 1]
基于GF-2遥感影像的建筑物高度反演方法研究
[J].
Research on buildiing height inversion based on GF-2 image
[J].
融合纹理特征和阴影属性的阴影检测方法
[J].
A shadow detection method combining texture features and shadow attributes
[J].
Shadow detection for moving objects based on texture analysis
[J].DOI:10.1016/j.patcog.2006.09.017 URL [本文引用: 1]
A comparative study on shadow compensation of color aerial images in invariant color models
[J].DOI:10.1109/TGRS.2006.869980 URL [本文引用: 1]
基于统计混合模型的遥感影像阴影检测
[J].
A shadow detection of remote sensing images based on statistical texture features
[J].
基于主成分融合信息失真的城市IKONOS影像阴影自动提取研究
[J].
IKONOS shadow extraction in urban region based on the principal component fusion information distortion
[J].
基于主分量变换的彩色图像分类数确定方法
[J].
Method for determining the number of color image classification based on principal component transform
[J].
基于PCA与HIS模型的高分辨率遥感影像阴影检测研究
[J].
Research on shadow detection of high resolution remote sensing image based on PCA and his model
[J].
Three-dimensional polygonal building model estimation from single satellite images
[J].DOI:10.1109/TGRS.2011.2172995 URL [本文引用: 1]
Urban-area and building detection using SIFT keypoints and graph theory
[J].
结合特征分量构建和面向对象方法提取高分辨率卫星影像阴影
[J].
Shadow extraction based on characteristic components and object-oriented method for high-resolution images
[J].
结合区域配对的室外阴影检测
[J].
Outdoor shadow detection combined with region pairing
[J].
遥感空间分辨率对城市建筑物高度估算精度的影响
[J].
Effects of different spatial resolution of remote sensing images on estimation accuracy of urban building height
[J].
资源三号卫星前视影像的建筑物高度提取
[J].
Extraction of building height from forward-looking image of ZY-3 satellite
[J].
利用角点最近距离统计平均法计算建筑物阴影长度
[J].
The shadow length of buildings is calculated by using the statistical average method of corner nearest distance
[J].
高分影像建筑物阴影优化提取与高度估算
[J].
Building shadow extraction and height estimation from high-resolution image
[J].
太阳辐射计算讲座第一讲太阳能中天文参数的计算
[J].
The calculation of astronomical parameters in solar energy in the first lecture of solar radiation calculation
[J].
/
〈 |
|
〉 |
