摘要:利用卫星图像对高层建筑进行分类和定位,相比市售数据具有成本更节省、更新更及时的优势,在无线网络规划的环境调查工作中具有重要的意义。本文通过不同方法在高层建筑识别上进行对比测试,发现在高层建筑的识别上,使用VGG16网络具有最好的召回率。在算法和预训练网络的挑选上,需要根据数据集的特点进行仔细甄别。FasterR-CNN配以VGG16骨干网络是效果相对较好的一种方法。不同算法架构和预训练网络在不同的数据集上表现相差较大。
关键词:无线网络规划; 图像识别; 高层建筑; 卫星图像; 卷积神经网络;
Research on fast identification method of high-rise building
LI Chun-ming LI Gang MA Ning JIANG Zi-yuan
China Mobile Group Design Institute Co., Ltd. China Mobile Group Guangdong Co., Ltd.
Abstract:Using satellite images to classify and locate high-rise buildings has the advantages of saving and updating more timely. Compared with outsourcing data, it is of great significance in the environmental survey of wireless network planning. In this paper,by comparing different methods in the identification of highrise buildings, it is found that VGG16 network has the best recall rate in the identification of high-rise buildings. In the selection of algorithm and pre training network, we need to carefully screen according to the characteristics of our own data set. Faster-CNN with VGG16 backbone network is a relatively good method. The performance of different algorithmic architectures and pre training networks varies greatly in different data sets.
在无线网络规划及预规划中,大中城市的密集城区场景是重点也是难点。原因是密集城区中的高层建筑较多,对无线信号传播产生严重的遮挡,造成的阴影区域也较大。高密建筑之间的区域无线环境复杂,使得基站选址、设计、建设、网络维护以及网络质量等方面都面临很大的挑战。在无线网络规划调查分析过程中,准确定位区域中的高层建筑成为一项重要的工作。市售带有高度信息的三维电子地图价格昂贵且存在有数据不准确的问题,数据更新不及时会对高层建筑漏标和漏记,为后续的无线网络规划工作造成规划不准和调整工作量大的影响。
如果可以利用卫星遥感图像对建筑高度进行分类,同时利用卫星图像自带的位置信息,就可以快速获得高层建筑的位置信息,在无线网络规划中可以节省大量的财力,并带来时间和成本上的优势。
在卫星图像中的高层建筑存在着形状多样、颜色材质各不相同,高度和大小差别极大的特点,为机器学习分类带来一定的难度。本文旨在通过机器学习的方法,快速实现某一区域内的高层建筑的识别和定位,为无线网络规划提供准确的环境信息。
本文的主要研究和成果如下。
(1)机器学习与无线网络规划相结合。
(2)建立已标注的卫星图像数据集。
(3)基于Faster R-CNN搭建卷积神经网络,经训练出来的模型在测试集上有98%的分类准确率,并且具有较强的泛化能力。
(4)对比多种算法架构及预训练网络的效果,证实不同的算法架构和预训练网络在不同的数据集上表现相差较大。
1 数据集情况
数据集使用谷歌卫星地图下载的RGB图像,使用相同的18级精度,并切割成256×256 dpi的图片,这样每张图片代表的实际地面距离可以认为是一样的。
使用目标检测标注工具LabelImg完成2 979张图片的矩形标注,使用图片标注工具Labelme完成1 000张图片的多边形标注。标注分为背景、高层建筑和低层建筑3类。高层建筑为目测超过20层或60 m以上的建筑,低层建筑为目测低于9层或24 m的建筑,这样的分类具有较明显的差别,人工标注时不容易出错。
2 高层建筑的快速识别方法
2.1 卷积神经网络及发展
对于图像中的高层建筑目标检测,传统机器学习方法的流程包括区域选择、特征提取和分类器分类。
传统目标检测的缺点如下。
(1)基于滑动窗口的区域选择策略使用穷举策略,没有针对性,时间复杂度高,窗口冗余。
(2)手工设计的特征对于设计者的要求很高,并且对于形态多样性、光照变化多样性和背景多样性没有很好的鲁棒性。
文献[1]中,2012年图像识别数据库(ImageNet)大规模视觉识别挑战赛(ILSVRC)上,使用卷积神经网络(CNN)将ILSVRC分类任务的Top-5 error降低到了15.3%,而使用传统方法的第2名Top-5 error高达26.2%。此后,卷积神经网络占据了图像分类任务的绝对统治地位。
文献[2]中的算法思想又被称之为利用深度学习进行目标检测(R-CNN),是物体检测领域曾经获得最先进技术的经典文献。R-CNN算法相对传统流程有很大改进。特征提取方面采用了卷积神经网络的算法,卷积神经网络使用卷积的方法不断地进行特征提取和压缩,比传统方法提取的特征更加显着和高效。在区域选择策略上,它使用候选区域的概念,预先找出图中目标可能出现的位置,利用图像中的纹理、边缘和颜色等信息,可以保证在选取较少窗口(几千甚至几百)的情况下,保持较高的召回率。
文献[3]中,巧妙地把候选边框回归放进了神经网络内部,与区域分类合并成为了一个多任务模型。实际实验证明,这两个任务能够共享卷积特征,并相互促进,从而在保证准确率的同时,提升处理速度。2015年微软的团队设计了提取候选区域的网络RPN,代替了费时的选择性搜索过程,使得检测速度大幅提高。
文献[4]提出了Mask R-CNN算法,Mask R-CNN是继承于Faster R-CNN算法(2016)的,它在Faster R-CNN上面增加了一个Mask预测分支,实现了语义分割,并且改良了感兴趣区域池化(RoI Pooling),提出了感兴趣区域对齐(RoI Align),显着提升了精度。
文献[5]中的RetinaNet算法提出Focal loss可在单阶段目标检测网络中成功使用,并最终能以更快的速率实现与双阶段目标检测网络近似或更优的效果。
2.2 预训练神经网络
本文着重于“快速”地实现高层建筑的目标检测,从而实现整体解决方案。预训练网就是一个保存好的网络,之前已在大型数据集上训练(通常是大规模图像分类任务)。如果训练的原始数据集足够大且足够通用(如ImageNet数据集),那么预训练网络学到的特征空间层次结构可以有效的作为视觉世界的通用模型,因此这些特征可用于不同的计算机视觉问题。
在大多数情况下,面对某一领域的某一特定问题,一般应用者都不可能找到足够充分的训练数据,这是业内一个普遍存在的事实。但是得益于迁移学习技术的帮助,从其它数据源训练得到的模型,经过一定的修改和完善,就可以在类似的领域得到复用,这一点大大缓解了数据源不足引起的问题。迁移学习已经逐渐成为了资源不足(数据或者运算力的不足)的AI项目的首选技术。
目前较常用的预训练网络模型如下。
(1)AlexNet是一个较早应用在ImageNet上的深度网络,其准确度相比传统方法有一个很大的提升。它采用了ReLU激活函数,而不像传统神经网络早期所采用的Tanh或Sigmoid激活函数。ReLU相比Sigmoid训练速度更快,因为Sigmoid的导数在稳定区会非常小,不会存在权重基本上不更新而导致梯度消失问题。AlexNet的另外一个特点是其通过在每个全连接层后面加上Dropout层,减少了模型的过拟合问题。
(2)ZFNet实际上就是在AlexNet的基础上做了镜像调整。在第一个卷积层使用7×7核而非11×11核,从而保留了更多的信息。
(3)VGG16模型是由牛津大学VGG(Visual Geometry Group,超分辨率测试序列)发布的预训练权重。VGG16相比AlexNet的一个改进是采用连续的几个3×3的卷积核代替AlexNet中的较大卷积核。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。
(4)GoogLeNet设计了一种称为Inception的模块,这个模块使用密集结构来近似一个稀疏的CNN。同时,GoogLeNet使用了不同大小的卷积核来抓取不同大小的感受野。Inception模块的另外一个特点是使用了一种瓶颈层(实际上就是1×1卷积)来降低计算量。
(5)ResNet50是由微软团队训练的50层残差网络模型。它设计了一种残差模块让我们可以训练更深的网络,避免了深层网络梯度消失的问题。
3 实验结果与分析
本文使用了Faster R-CNN、RetinaNet和Mask R-CNN 3种方法进行对比。Faster R-CNN使用VGG16的骨干网络,RetinaNet使用ResNet50的骨干网络,Mask R-CNN使用了ResNet101的骨干网络。其中Faster R-CNN和RetinaNet使用2 979张矩形标注数据集,Mask R-CNN使用1 000张多边形标注数据集。
测试结果如表1所示。
表1 算法测试结果
测试结果可以明显看出,Faster R-CNN配以VGG16的骨干网络,效果比RetinaNet和Mask R-CNN要好很多,而且Faster R-CNN的特征定位更准确和精细,这与一般认为网络越深,效果越好的经验相违背。
本文的分类种类较少,特征差异明显,所以各种算法在分类方面都达到较高的准确性,未发现分类错误的情况。但是在召回率指标上,各种算法的效果相差较大。因为Mask R-CNN使用多边形标注,只有1 000个训练样本,而Faster R-CNN有2 979个训练样本,样本数的差异是效果差异的一个原因。
因为本次使用的数据是18级精度的地图,高层建筑在地图上占有较大的像素比例,VGG16相对在大尺度和小尺度特征方面表现较均衡,ResNet50和ResNet101相对更适用于小尺度较细节特征的特征提取,这也是效果差异的一个原因。
为证实这一点,我们在Faster R-CNN的算法基础上,分别配以VGG16、ZFNet、VGG_CNN_M_1024、ResNet50、Inception v4预训练网络做了一次对比测试,测试结果如表2所示。
表2 不同搭配算法测试结果
基于上面结果,本文认为针对不同特点的图像数据,即使是使用相同的算法不同的预训练网络,训练的效果也会存在较大差异,所以需要根据数据的特点来挑选预训练网络。
4 结束语
本文主要研究了机器学习卷积神经网络方法在卫星图像中对高层建筑进行目标检测上的应用。
实验所用的数据集是基于谷歌卫星地图转换的RGB图像。由于目标非常明确,所以本次实验只分成背景、高层建筑和低层建筑3类,共2 979个人工标注的图片数据集,每张图片中有0~5个不等的高层建筑和0~5个不等的低层建筑。
本文测试了Faster R-CNN配以VGG16骨干网络,RetinaNet配以ResNet50网络,Mask R-CNN配以ResNet101网络等几种情况,最终Faster R-CNN配以VGG16骨干网络以100%的准确率和98.7%的召回率试验结果最佳。在Faster R-CNN的基础上,分别配以VGG16、ZFNet、VGG_CNN_M_1024、ResNet50、Inception v4预训练网络测试,依然是VGG16的效果最好。
由此可见,卷积神经网络依然是图像目标检测的主要算法,但是针对不同的应用问题,应当根据具体的问题来设计网络,根据问题的特点使用不同的预训练网络结构。
本文也证明,可以通过设计不同的网络,基于机器学习的深度卷积神经网络可应用于更多的图像识别及物体检测应用上。
参考文献
[1]Krizhevsky A,Sutskever I,Geoffrey E.Image Net classification with deep convolutional neural networks[J].Communications of the ACM,2012(1).
[2] Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C].CVPR,2014.
[3]Ren S Q,He K M,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[C].Neural Information Processing Systems,2015.
[4]He K M,Dollar G,Girshick P.Ross mask R-CNN[C].IEEEInternational,2017.
[5]Lin T Y,Goyal P,Ross H,et al.Piotr focal loss for dense object detection[C].IEEE Internationa,2017.
[6]周敏,史振威,丁火平.遥感图像飞机目标分类的卷积神经网络方法[J].中国图像图形学报,2017(5).