APP下载

面向对象的实景三维模型分层解译方法研究

2022-05-23刘志刚胡忠文黄乐平董轩妍

地理信息世界 2022年1期
关键词:射影面片实景

刘志刚,胡忠文,黄乐平,董轩妍,徐 月,罗 新

1. 深圳大学 自然资源部大湾区地理环境监测重点实验室,广东 深圳 518060;

2. 深圳大学 广东省城市空间信息工程重点实验室,广东 深圳 518060;

3. 深圳大学 深圳市空间信息智能感知与服务重点实验室,广东 深圳 518060;

4. 深圳大学 建筑与城市规划学院,广东 深圳 518060

0 引 言

遥感技术的不断发展给国土资源调查、粮食产量估计、自然环境监测等问题提供了技术上的便利。不同类型的传感器日夜不断地获取不同时间、空间、光谱分辨率的遥感影像[1],为各种不同的应用场景提供数据基础,广泛应用于城市规划[2]、灾害监测[3]、水体质量监测[4]等领域。精细化的智慧城市、智慧农业、智慧厂房等应用不仅需要更高空间、时间分辨率的二维平面数据,还需要地物的空间结构、侧面纹理等三维信息。传统的二维卫星影像数据以及其衍生的数字表面模型、数字高程模型已经无法满足这些精细化的应用需求。

近年来,航空摄影测量技术不断完善,机载的各式传感器也在不断发展,这使得低空倾斜摄影测量成为很多精细化应用的首选数据采集方式。倾斜摄影数据智能化处理平台也不断发展,如Context Capture和Pix4D Mapper及大疆智图等商业软件[5-6],可以方便简单地利用多视影像数据获取测区的正射影像(DOM)与实景三维模型[7-9]。

与传统的二维影像相比,实景三维模型不仅记录了地物的顶面光谱、纹理[10]以及几何结构信息[11],还完整地记录下地物侧面的空间结构以及侧面的光谱、纹理特征;与数字表面模型(DSM)数据相比,实景三维模型含有更丰富的纹理以及光谱信息;与机载激光雷达数据(LIDAR)相比,实景三维模型更完整地记录了地物侧面的信息。但是,也因为增加了数据维度,增加了对其解译的难度。在现有的模型解译方法里,一般思路是先对采集的多视影像进行解译,再将解译结果叠加到模型上[11-13]。此外,一些学者通过几何结构特征对模型先进行初始分割[14-15],再通过非监督算法对分割结果进行分类[16]。基于几何特征的模型分割、分类算法的关键问题是如何通过一系列特征(面片法向量、模型平整度等)对模型进行精准的几何描述。近几年,越来越多的学者将实景三维模型应用到遥感领域,并对模型的解译方法也有了初步的探索。国外学者开展了初步研究工作,如VERDIE等通过提取城市区域模型的多种几何特征实现模型解译[17];ROUHANI等通过面片光谱特征同质性对模型进行区域合并,再对合并后的模型簇进行分类[18]。国内研究中,连蓉等将实景三维模型应用于城市区域建筑物的识别、单体化与管理[19-22]。总体而言,以上研究对实景三维模型解译作了初步探索,但并未充分利用实景三维模型丰富的几何结构信息以及侧面纹理信息,解译结果还是存在一定椒盐噪声现象。

针对已有研究中存在的问题,本文提出了一种三维模型分层次解译方法。首先基于布料模拟滤波(Cloth Simulation Filtering,CSF)算法将实景三维模型分成地形表面与立体地物两部分。然后采用面向对象的影像解译方法完成平坦的地形表面的分类解译。最后进行立体地物分类解译,基于地物的空间相邻关系完成独立地物单体化,对单体化后的独立地物提取光谱、几何以及纹理特征,采用随机森林算法完成分类,将地形表面与立体地物两部分模型的分类结果进行整合。通过对三维模型的分层分割和结果融合,一方面简化了三维模型解译的过程,实现解译效率的提升,另一方面实现解译精度的提升。

1 算法原理

本研究将实景三维模型分为地形表面与立体地物两部分分层解译。地形表面指的是将整个场景中高于地表的地物(独栋建筑物、构筑物与树木)移走以后,留下来的起伏相对平缓的区域,如草地、成片连绵的林地和缓坡等变换观测角度时不易遮挡其他地物的地形区域。立体地物指的是高出地形表面,会对地形表面上的地物形成遮挡的地物,如建筑、树木等。

由于地形表面模型是起伏相对较缓的区域,正射视角不存在遮挡的现象。因此,对于这部分模型可将其投射为正射表面模型,采用面向对象的影像分类方法进行分析。而对于独立的立体地物,在立体空间构成了独立的个体对象,因此本研究中采用基于立体对象的模型解译方法。鉴于此,本文的分类方法主要为数据预处理、模型分层、地形表面模型解译、独立地物模型解译4部分,技术流程如图1所示。

图1 技术流程Fig.1 Flowchart of the proposed approach

1.1 数据预处理

在模型解译之前,首先采用倾斜摄影测量三维建模软件对航空影像预处理,得到三维模型与正射影像,如图2所示。

图2 正射影像示意图(左)与实景三维模型(右)Fig.2 Illustrations of digital orthophoto map (left) and oblique photographic model (right)

1.2 模型分层处理

本研究中,先采用布料模拟滤波(CSF)算法将由三维模型中所有三角面片顶点构成的点云(影像密集匹配点云)分为地面点云与非地面点云,再根据点云滤波结果完成模型的分层。

CSF点云滤波。ZHANG Wuming等提出的CSF滤波算法[23]是一个物理过程的模拟。假设有一块布足够柔软并有一定的黏性,将这块布放置于场景上。受重力作用,这块布将会慢慢下沉并附着于地表的建筑与树木上,最终形成数字表面模型的形状;再将地形倒置,假设这块布具有一定的刚性,那么这块布将会形成数字地面模型的形状。将这两个模拟过程结合,就可以从点云中分离出地面点云与非地面点云。本文使用CSF滤波算法完成模型三角面片顶点点云的分类(图3)。

图3 点云滤波结果Fig.3 Result of CSF filtering

基于点云滤波结果的模型分层。本研究统计三角网格中的所有三角面片的3个顶点的属性,如果一个面片由两个以上的非地面点构成,就将该面片划分为立体地物部分的面片,此时模型分层结果较均衡,利于接下来的解译过程(图4)。

图4 地形表面(左)与立体地物示意图(右)Fig.4 Illustrations of flat terrain surface(left)and 3D objects(right)

1.3 地形表面模型解译

由于地形表面是相对平整的区域,因此采用正射影像替代三维模型进行解译,以降低处理的难度,提高效率。本研究采用面向对象的影像解译算法,完成地形表面模型的解译,主要分为地形表面模型正射影像获取、面向对象的影像分类与结果映射。

地面模型正射影像获取。地形表面模型可以看作是一个相对平坦的二维平面,从正射角度向下观察地形表面模型,与正射影像几乎无差别。对模型中每个三角面片进行仿射变换,即可获得地形表面模型的正射影像(图5)。

图5 地形表面正射影像Fig.5 The DOM of terrain surface

面向对象的正射影像分类与结果映射。本研究采用文献[24]中的面向对象的遥感图像解译方法。与传统的基于像素的解译方法相比,面向对象的方法可以充分利用光谱、纹理、形状等信息,分类精度更高,且可以解决影像分类过程中的椒盐噪声现象。这一方法主要包括影像分割、特征提取与机器学习分类等。将地形表面正射影像分类结果映射到三维实景模型,得到地形表面模型的分类结果(图6)。

图6 正射影像(左)与地形表面模型(右)分类结果Fig.6 Illustrations of classified DOM(left)and mesh(right)

1.4 立体地物模型解译

立体地物模型在空间上是不连续的,可以通过这一特性,对立体地物模型进行单体化处理。单体化后每个独立的地物,看作分类的基本单元,类似面向对象的影像解译方法里面的超像素区域。再对每个独立地物提取相关特征,选取适量的训练样本并采用随机森林算法分类。

1.4.1 独立地物单体化

立体地物模型主要由树木与建筑等组成,在移除地表以后,它们在空间上往往是不相邻的。本研究中,将立体地物模型中的每个与周围地物不相邻的地物看作一个对象,称为独立地物,完成独立地物的单体化。如图7所示,图中的两棵树与1栋建筑都是不相邻的,它们被认为是3个独立地物。

图7 独立地物示例Fig.7 The example of individual ground objects

1.4.2 独立地物特征提取

对于单体化后的每个立体地物,本文研究提取以下几个特征:

1)可见光植被指数。受无人机遥感平台传感器限制,大多数倾斜摄影测量影像数据只有RGB 3个波段,没有近红外波段,无法计算归一化植被指数。针对这一情况,不少学者进行了许多研究。可见光植被指数(CVI)[25]是研究中应用较多的成果,可以将植被与非植被区分开来,计算公式为:

式中,R为红波段的值;G为绿波段的值;B为蓝波段的值。CVI的取值结果为-1~1之间,越趋近于1,就越倾向于植被。本文首先计算立体地物模型中所有三角面片的植被指数,再计算每个独立地物所有三角面片的植被指数均值。

2)独立地物的高度。独立地物主要由人工建筑和树木组成,一般情况下,城市区域建筑物的高度是大于树木高度的。三维模型中每个三角面片的3个顶点都记录了实际高程,取3个顶点的高程均值作为面片的高度。统计独立地物中面片高度的最大值与最小值,做差可得到独立地物的高度。

3)独立地物的方正度。独立地物方正度为地物竖直面片与水平面片的数量除以总面片数量得到的比值,取值为0~1,越接近1的独立地物,形状上越方正。本文计算了三角网格中所有三角面法向量与竖直方向的夹角,根据夹角是否为0°或者90°左右这一判定条件,得到水平、竖直面片数,然后计算独立地物方正度。

4)GLCM纹理。高分辨率遥感影像具有丰富的纹理特征,灰度共生矩阵(Gray-level Co-occurrence Matrix,GLCM)是现在最常用的纹理特征提取方法。本文计算正射影像在11与21个像素窗口大小、四方向上的同质性、对比度、熵最小值共六维特征。通过空间位置关系获取每个立体地物在正射影像上的位置。该位置的正射影像纹理特征即为每个立体地物的纹理特征。

1.4.3 随机森林分类

在完成了立体地物特征提取之后,本文采用监督分类方法进行立体地物模型分类。从所有独立地物中选适量具有代表性的训练样本,并标记好样本类别。本文基于OpenCV机器学习模块的随机森林(RF)算法实现,其中树的最大可能深度设置为10,最大聚类簇数设置为15,最小子节点大小设置为5,其余默认。计算训练样本对应的标签矩阵和特征矩阵作为分类器的输入,再进行分类器的训练。计算所有独立地物的特征矩阵,用训练好的分类器对所有独立地物进行预测,完成分类。

2 实验及结果分析

为验证三维模型解译方法的有效性,本文选择了一块地物类型丰富的研究区,长宽分别为750 m和500 m,所获的实景三维模型如图8所示。为验证本算法的有效性和优势,将分类结果与WU Zhaocong等[26]采用的算法分类结果做比较。

研究区三维模型共有9 265 182个三角面,立体地物部分根据CSF滤波结果单体化后,共得到了8855个独立地物。在实验中,共选择80个单体化模型作为训练样本,训练随机森林分类器,最后应用于8855个地物的分类。

2.1 精度分析

本文算法分类结果(图9a)与作为验证的参差真值数据(图9c)对比得到混淆矩阵,再根据混淆矩阵计算得到各种类别地物的生产者精度、用户精度及总体分类精度(表1)。表中统计了错分与对分的三角面片个数,该数据共有9 265 182个三角面片,本文算法的总体分类精度为93.7%,Kappa系数为0.89。WU的算法的总体分类精度为73.06%,Kappa系数为0.52。本文算法的结果中,树木的生产者精度为97.02%,建筑的生产者精度为97.48%,且树木与建筑的用户精度也达到了92%以上,说明本文算法可以准确地从实景三维模型中识别出树木与建筑,且可信度很高。这是因为本文算法将整个场景分为地形表面与立体地物两部分,且立体地物中的建筑与树木可以通过地物的可见光植被指数、地物方正度等特征进行有效区分。本文算法地面部分草地、水体、裸地的精度较高,生产者精度分别为87.32%、83.57%、82.52%,因为地形表面不存在建筑这一地物,避免了建筑与不透水面和裸地之间因为光谱特征比较相似而引起的错分。水体与草地的光谱特征与周边的地物有很大差异,可以较为准确地识别。本文算法不透水面与阴影的分类精度较低,生产者精度为67.46%与70.05%,这是因为被阴影覆盖的不透水面、草地与未被阴影覆盖的不透水面、草地具有较高的光谱、纹理相似性,所以错分率较高。

表1 本文算法混淆矩阵Tab.1 The confusion matrix of proposed method

WU的算法[26]分类结果(图9b),精度统计见表2。算法中树木的精度最高,达到了92.06%,建筑的精度为64.47%,其余地物的精度偏低,错分较为严重。这是因为从二维影像中,建筑侧面与被建筑和树木遮挡的地表部分是观测不到的,容易引起错分。影像中建筑与不透水面、裸地光谱特征较为相似,且丢失了建筑的高度信息,所以会导致建筑与不透水面和裸地的错分。其余地物中,水体的形状规整与周边地物有较大差异,精度达到了62.45%。阴影的精度最低,仅为0.05%,这是因为阴影的覆盖范围较小且易被遮挡,容易被错分为与其相邻的地物。

表2 WU的算法[26]混淆矩阵Tab.2 The confusion matrix of Wu's method[26]

图9 分类结果对比Fig.9 Comparison of classification results

本文算法与WU的算法对比最大的不同在于立体地物的分类方法。如图10a所示,本文在立体地物部分分类时,将每个在空间上独立的地物当作一个对象,作为一个整体进行分类,更符合客观规律。本文方法的分类结果中,每栋建筑与每棵树木的面片分类结果都比较统一,没有出现WU的算法结果中斑驳的错分现象。如图10b所示,WU的算法由于正射影像中没有记录地物的侧面信息,会将地物侧面正上方部分(屋顶)的分类结果赋予地物侧面的面片。由于建筑顶部与道路在正射影像中比较容易错分,有些建筑的侧面被错分为道路。

图10 分类结果细节对比Fig.10 Comparison of details

对比表1与表2可知,本文的算法有着比WU的算法更高的精度。上述的两种算法有着各自的优缺点,本文提出的算法适用于三维模型非常精细、地物种类比较丰富的城市区域,分层解译与面向对象的方法可以简单且准确地识别场景内的各类要素。WU的算法更适用于地物种类较少、地形变化相对比较平缓的场景,或者分辨率较低的大场景模型中,比如入侵植被检测、丘陵地区的地表覆盖分类等。在应用时,可以根据研究区实际情况与研究目的进行选择。

2.2 特征重要度分析

本文进行随机森林模型训练时输出的特征重要性分析结果显示(表3),可见光植被指数、独立地物方正度是最重要两个特征。可见光植被指数体现了建筑与树木在光谱上的差异,独立地物方正度体现了建筑与树木在几何形态上的差异,这两个特征可以有效地将独立地物中建筑与树木区分开来。独立地物高度计算地物顶部与底部之间的高差,但是场景中有些建筑的高度并没有树木高,所以特征重要性没有可见光植被指数与独立地物方正度高。纹理特征中,对比度比较重要,11像素窗口和21像素窗口大小计算的对比度同等重要。

表3 特征重要性排序表Tab.3 The table of priority of feature importance

3 结 论

本文提出了一种实景三维模型分层次解译方法,将实景三维模型分成地形表面与立体地物分层处理,降低了模型的解译难度。对于地形表面模型,抓住平坦无遮挡这一特性,获取正射影像,采用面向对象影像解译方法完成分类,再将分类结果映射到模型,简单高效;对于立体地物,根据三角面片拓扑关系,先完成单体化,再对单体化后的独立地物提取光谱、纹理以及几何结构多维特征,采用随机森林算法完成分类。实验表明,本研究提出的算法,模型解译精度高,很大程度上避免了解译过程中的椒盐噪声现象。

本研究也有需进一步优化的地方,如在地形表面与立体地物模型进行分层时,分层效果受点云滤波的结果影响较大;在独立地物单体化时,仅考虑了地物之间的空间连接,没有利用空间相连接的地物的几何形状、光谱差异进行更细致的单体化,容易将空间上相连的树木与建筑当作一个整体,导致错分(如图10a左下角框出的区域);在立体地物特征提取时,只提取了地物整体的光谱特征、几何形状特征与顶部的纹理特征,未提取地物侧面的纹理特征。今后的研究中,将针对以上问题,进行改进。

猜你喜欢

射影面片实景
金湖县创新“实景式”培训 提升精准执法水平
常曲率Berwald空间
“实景与想象”——明清武夷主题的意象式文人山水画研究
实景演出对当地旅游经济发展的影响——以婺源《梦里老家》为例
射影平坦spray的射影Ricci曲率
三维模型有向三角面片链码压缩方法
数字博物馆 线上实景游
初次来压期间不同顶板对工作面片帮影响研究
三参数射影平坦芬斯勒度量的构造
甜面片里的人生