中国科学院大学学报  2020, Vol. 37 Issue (3): 352-359   PDF    
基于负样本多通道优化SSD网络的钢铁厂提取
卢凯旋1,2, 李国清3, 陈正超1, 昝露洋1,2, 李柏鹏1, 高建威1     
1. 中国科学院遥感与数字地球研究所, 北京 100094;
2. 中国科学院大学资源与环境学院, 北京 100094;
3. 河南省遥感测绘院, 郑州 450003
摘要: 准确提取钢铁厂对去产能监测和环境保护具有重要意义。传统的人工目视解译方法效率低、成本高,无法满足开展大区域钢铁厂监测的需求。以深度学习目标检测网络SSD为基础,构建面向遥感影像钢铁厂提取的深度学习目标检测网络,提出maxout模块,将负样本通路优化为多分支结构,突出难分负样本特征并提升网络对无用特征的抵制效果。利用国产GF-1数据对京津冀地区的钢铁厂进行快速自动提取实验。与人工解译的钢铁厂点位数据的对比表明,该目标检测方法的提取精度达到80%以上。
关键词: 深度学习    GF-1遥感影像    钢铁厂提取    京津冀地区    maxout模块    目标检测    
Extraction of steel plants based on optimized SSD network incorporating negative sample's multi channels
LU Kaixuan1,2, LI Guoqing3, CHEN Zhengchao1, ZAN Luyang1,2, LI Baipeng1, GAO Jianwei1     
1. Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences, Beijing 100094, China;
2. College of Resources and Environment, University of Chinese Academy of Sciences, Beijing 100049, China;
3. Institute of Remote Sensing and Surveying and Mapping Henan, Zhengzhou 450003, China
Abstract: It is important to accurately detect steel plants for capacity reduction monitoring and environmental protection. The traditional method is time-consuming and laborious, and can not be used to monitor the steel plants in large areas. We propose a stable and accurate method by adding a maxout module to SSD, namely, transforming the negative sample path into a multi-branch structure. The neural network learns abundant features of hard negative samples, and thereby increases resistance to the useless features. Meanwhile, we used the well-trained model to detect steel plants in the Jing-Jin-Ji area based on GF-1 data. The results were compared with the data of the steel plants obtained from visual interpretation. Our method detects steel plants in the Jing-Jin-Ji area with an accuracy of more than 80%.
Keywords: deep learning    GF-1 data    steel plant detection    Jing-Jin-Ji area    maxout module    object detection    

钢铁厂建造状况主要依靠地方政府和企业的上报数据,不排除存在虚报、瞒报、漏报的情况;同时,已经取得的去产能成果尚需稳固、防止反弹。因此,加强对钢铁厂的动态监测,可为国家全面掌握钢铁行业现状和去产能实施进程提供信息支撑。遥感作为一种非接触的、远距离的探测技术,具有监测范围广、周期短、成本低等特点,可作为一种客观地获取钢铁产能变化情况的技术手段。随着卫星遥感的快速发展,利用卫星遥感数据进行钢铁厂的高精度、高频次监测已经成为可能。

深度学习是人工智能中机器学习发展的新阶段[1],它利用数字计算机模型模拟人脑的多通路信息传递机制,实现输入数据的分层表达和知识推理,有效地解决了对复杂对象特征的刻画和复杂场景的关联分析等问题,在计算机视觉、语音识别、自然语言处理等领域取得很多突破性进展和大量创新应用。对于场景复杂的高分辨率遥感影像,深度学习技术相对于传统基于物理模型的信息提取技术,在效率和精度两方面都具有不可比拟的技术优势[2]。将深度学习技术应用于大区域遥感影像的钢铁厂信息提取,可显著提高钢铁厂点位识别和动态监测的效率与自动化水平。

在深度学习方法中,卷积神经网络[3](convolutional neural networks,CNN)是一种高效的自动分层特性学习框架,它在对象检测方面具有很大的潜力。近年来,卷积神经网络模型不断完善,在目标检测方面取得突破性进展,很多任务的精度已然超过人工识别精度,包括region-CNN(R-CNN)[4], spatial pyramid pooling convolutional networks (SPP-Net)[5]、fast R-CNN[6]、faster R-CNN[7]、you only look once (YOLO)[8]和single shot multibox detector(SSD)[9]等。R-CNN是第一个基于CNN的目标检测方法,R-CNN代替传统目标检测使用的滑动窗口+手工设计特征,设计了R-CNN框架,使得目标检测取得巨大突破,并开启了基于深度学习的目标检测方法研究热潮,但是R-CNN分多个阶段训练,繁琐耗时。随后提出的SPP-Net、Fast R-CNN和Faster R-CNN等方法是对R-CNN的改进,提高了目标检测的速度和精度。但是它们都是基于候选区域的目标检测算法,这类方法由于需要通过滑动窗口产生预选窗口,计算量比较大,无法达到实时的目标检测。相比较而言,YOLO系列和SSD算法是基于回归方法的目标检测算法,这类方法使用回归思想确定图像中目标边框及类别,大幅度提高了目标检测速度。其中,SSD结合YOLO中的回归思想和Faster R-CNN中的anchor机制,使用全图各个位置的多尺度区域特征进行回归,既保持了YOLO效率高的特性,也保证了窗口预测与Faster R-CNN同样精准。

近几年,遥感学者在针对自然图像目标检测算法的基础上做了不同尝试和改进。大量学者尝试将针对RGB三波段真彩色自然图像的神经网络引入遥感图像领域,在目标探测方面的应用效果远优于传统算法[10-14]。但是,不同于在地面上使用普通数码相机在水平视角获取的自然图像,遥感影像由遥感器从卫星或飞机对地面拍摄获取,具有观测尺度大、光照阴影差异大、地物场景复杂等特点,现有网络模型对遥感图像的理解和特征提取还存在明显不足。遥感影像的特性导致遥感大数据的目标提取和自然图像的目标提取完全不同,最突出的差异即对复杂目标的精确提取以及在大范围场景的目标自动检测。钢铁厂是集各种建筑和设施、自然地物为一体的复杂综合体,规模大小不一,空间纹理、阴影、颜色、几何特征等都千差万别,其复杂程度远远超过人脸或者汽车等自然图像目标, 如图 1所示。从数量上来讲,全国只有几百个钢铁厂,极少量样本为钢铁厂特征提取带来了极大挑战。面对综合特征如此复杂且样本不足的检测目标,本文提出改进的SSD目标检测网络,使模型更加适用于钢铁厂检测。

Download:
图 1 复杂的钢铁厂 Fig. 1 Complicated steel plants

本文针对遥感影像和钢铁厂的特点,以SSD目标检测网络为基础,提出融合多分支通路负样本的SSD目标检测网络方法,通过maxout模块突出难分负样本特征,并提升网络对无用特征的抵制效果。京津冀地区遥感影像钢铁厂提取的实验结果表明,提出的方法有效减弱了混淆地物特征对钢铁厂识别的干扰,提取精度达到80%以上,相比政府部门公布的人工解译数据,此方法新检测出47个钢铁厂。

1 研究区和数据 1.1 研究区

选择京津冀地区作为钢铁厂提取研究区域,如图 2所示。京津冀地区是中国政治文化中心和经济发展重点区域,总面积21.8万km2,包含北京、天津、雄安新区等核心功能区。该地区土地紧缺且利用方式复杂多样,人口稠密,环境容量有限。区域经济社会的良性发展,需要人和自然环境达成和谐统一,但频发的雾霾污染事件已成为该区域经济社会进一步发展的重大障碍。钢铁行业是社会经济发展的重要组成部分,同时也是主要的大气污染源之一。提高京津冀地区的钢铁厂监测效率和精度,对于经济产业发展和环境保护都具有重要意义。

Download:
图 2 京津冀地区 Fig. 2 Jing-Jin-Ji area
1.2 数据 1.2.1 数据源

本文采用的数据源为国产高分一号(下称GF-1)卫星数据。GF-1卫星是中国高分辨率对地观测系统的第一颗卫星,于2013年4月26日12时13分04秒由长征二号丁运载火箭成功发射。GF-1卫星搭载2台2 m分辨率全色/8 m分辨率多光谱相机,4台16 m分辨率多光谱相机,宽幅多光谱相机幅宽达到800 km。

1.2.2 样本与测试数据

以人工解译的全国钢铁厂点位为基础,总共获得450个钢铁厂点位,其中京津冀地区118个钢铁厂,非京津冀地区存在332个钢铁厂点位。利用非京津冀地区的332个钢铁厂点位制作训练样本,样本制作主要考虑以下因素:

1) 考虑到钢铁厂面积较大,一般钢铁厂的实际长宽达到1~3 km,为了在包含钢铁厂整体特征的情况下,保证钢铁厂纹理清晰、特征明显,选取空间分辨率为2 m的GF-1影像,并且以钢铁厂坐标为中心点裁剪GF-1影像生成一系列2 500×2 500的样本影像。

2) 考虑到钢铁厂局部特征(比如生产线设施、高架建筑等)的非典型性以及相互之间的差异性,选择钢铁厂的整体特征作为检测对象进行样本标记,以最小外接矩形标记钢铁厂区域,避免多余背景对钢铁厂特征造成影响;

3) 考虑到钢铁厂从建造到投入生产随时间变化显著,特征具有较强的时间相关性,为了丰富训练样本的多样性,利用2013—2017年5年间的多时相GF-1影像用于样本标记。

基于以上原则,共制作1 329张钢铁厂训练样本,200张验证样本。京津冀地区的测试数据同样为空间分辨率为2 m、切片大小为2 500×2 500的GF-1影像,总共19 192张,成像时间为2017年6月。

2 方法

本文基于深度学习网络提取京津冀地区的钢铁厂,过程如图 3所示。首先,对GF-1影像进行预处理;然后基于影像制备样本,得到训练集和验证集,在训练之前,基于SSD目标检测网络添加maxout模块,构建面向钢铁厂提取的目标检测网络结构;最后,通过网络训练得到最优检测模型对京津冀地区进行钢铁厂检测,得到该地区钢铁厂的分布与数量。

Download:
图 3 京津冀地区钢铁厂提取流程 Fig. 3 Flow chart of steel plant extraction in Jing-Jin-Ji area
2.1 Maxout模块

本文使用VGG16[15]作为特征提取的基础网络,VGG16网络在计算机领域表现优秀,主要用来提取目标的低层特征。VGG16的网络层主要由卷积层、激活层以及池化层组成。卷积层用来抽象目标的特征,卷积核设为3,步长设为1,像素扩充设为1,用来保持卷积过后特征图的图像分辨率。激活层用来减少网络参数的相互依存关系,缓解过拟合问题。池化层用来降低特征图维度,减少数据量,使用的池化方法是最大池化,其中卷积核设为2,步长设为2,像素扩充设为0。随着网络的深入,每个网络层生成的特征图图像分辨率逐渐降低,特征图感受野越来越大。原始的SSD网络在VGG16基础上额外添加4个卷积层,加上VGG16的2个卷积层,总共生成6个卷积层,用于检测不同尺度下的目标,称为“预测层”。

由于钢铁厂样本较少,5年的多时相遥感GF-1数据虽然使样本数量扩大5倍,同时SSD网络的数据增强模块也能大大增加样本的多样性,但样本数依然远远不够。钢铁厂要素繁杂,在正样本不足的情况下,模型训练过程中不能充分学习到属于钢铁厂本身的特征。另外,遥感影像背景复杂导致大多数负样本是简单易分的,无法有效抵制干扰信息,这些因素会导致模型检测出大量的非钢铁厂混淆地物。因此,在正样本缺乏的情况下,增强负样本即遥感背景的抵制效果,对于提升钢铁厂这类综合复杂目标的检测精度尤为重要。

基于以上考虑,本文在SSD网络每个尺度预测层下增加maxout模块,即将负样本通路变成多分支结构,选取与钢铁厂特征混淆的负样本输入网络和正样本一起对模型进行强化训练,从而解决负样本误报的问题以提高对钢铁厂的识别能力。

传统SSD的预测层会产生大量先验框,计算先验框与真值的重叠度,根据重叠度大于阈值(0.5)来判断该先验框为正样本,反之则为负样本。然后计算负样本的置信度损失,获取置信度损失较大的一些负样本,损失越大说明越难训练,也就是寻找难分负样本,最后计算正样本的位置损失以及正负样本的分类损失来确定最终的反传损失。在这个过程中,maxout模块的作用在于提供更多的负样本通路选择,通过eltwise max层获取准确的难分负样本,提升模型抑制无用特征的能力。根据以上原则,在原始SSD结构(图 4(a))上提出增加二分支(图 4(b))、三分支(图 4(c))、四分支(图 4(d))和五分支(图 4(e))负样本通道的maxout模块。

Download:
图 4 不同分支数的负样本通道maxout模块 Fig. 4 Negative sample channel maxout module with different numbers of branches
2.2 网络训练

SSD网络所包含的参数量非常大,使用少量的钢铁厂训练样本进行网络初始化会导致网络严重过拟合。由于遥感影像和普通图像的颜色纹理等低层特征是比较相似的,于是迁移ILSVRC CLS-LOC数据集得到的预训练模型VGG16用来提取样本的低层特征,与随机初始化的模型相比,预训练模型不仅增加了模型的精度,也节省了训练时间。

本研究中,使用SSD网络前端的数据增强模块,用于增加样本的多样性,减缓小样本造成的过拟合现象。数据增强模块包括颜色亮度饱和度变换、翻转、随机裁剪放大以及缩小等操作。数据增强后的图片统一重采样到1 024×1 024×3的大小,然后输入到模型进行训练,网络模型通过反向传播算法迭代更新每一层参数。目标检测网络参数设置如表 1所示。在合理的范围内,增大批处理参数batch_size可以提高内存利用率,提高大矩阵乘法的并行化效率,考虑到输入影像的尺寸和GPU的显存大小,将batch size设为4;另外,基础学习率base_lr设为0.001,最大迭代次数max_iter为100 k,gamma系数、动量momentum和权重衰减参数weight_decay分别设为0.1、0.9和0.000 5;学习率learning rate采用均匀分步更新策略,当迭代次数低于40 000时,学习率为基础学习率0.001;当迭代次数大于40 000小于60 000时,学习率变为0.000 1;当迭代次数高于60 000时,学习率设为0.000 01。

表 1 网络参数设置 Table 1 Network parameter setting

本文训练网络模型的软件框架为Caffe,硬件环境为4个12 G显存的NVIDIA Titan XP GPU、CUDA2.0以及Intel Xeon E5 CPU,训练10万次需要48 h,得到充分训练后的模型后再将其用于京津冀地区钢铁厂的检测。

2.3 精度评价方法

模型的精度评价方式是使用深度学习领域目标检测网络的常用指标:精度Precision、召回率Recall和F1分数等,分别定义如下:

$ {\rm{ Precision }} = \frac{{{T_{\rm{P}}}}}{{{T_{\rm{P}}} + {F_{\rm{P}}}}}, $ (1)
$ {\rm{Recall }} = \frac{{{T_{\rm{p}}}}}{{{T_{\rm{p}}} + {F_{\rm{N}}}}}, $ (2)
$ {F_1} = \frac{2}{{\frac{1}{{{\rm{ Precision }}}} + \frac{1}{{{\rm{ Recall }}}}}}. $ (3)

式中:TP表示目标实质为钢铁厂且被正确检出,FP表示目标实质不是钢铁厂但被错误检出,FN表示目标实质为钢铁厂但未被检出。F1分数则是综合考虑精度和召回率的性能指标。对于不同的置信度阈值,精度、召回率以及F1分数会随之变化,本文以0.05的步长逐步增加置信度阈值(0.5~0.95),记录模型在不同置信度阈值下的检测性能。

3 实验和结果 3.1 模型性能

使用同样的数据(1 329张训练样本,200张验证样本)分别训练未添加maxout模块的原始SSD目标检测模型以及分别添加二分支、三分支、四分支、五分支负样本通道的maxout模块的新SSD目标检测模型,分析不同模型在钢铁厂上的检测性能。

3.1.1 平均精度均值(mAP)

为降低其他因素的影响,除maxout模块之外的网络结构参数保持一致,通过GPU和Cuda训练模型,迭代次数达到10万次后停止,训练过程中的mAP曲线如图 5所示。针对同一数据集,不同网络在训练过程中随迭代次数变化的mAP不同,从结果来看,添加三分支负样本通道的网络准确度最高,在10万次迭代后准确度上升到81.2%,分别比添加二分支、四分支和五分支负样本通道的网络精度高出5.7%、3.0%和5.3%。另外,未添加maxout模块的原始SSD网络最佳准确度为75.5%,低于添加maxout模块的SSD网络。

Download:
图 5 不同结构网络训练的mAP曲线 Fig. 5 The mAP curves of differently designed CNN architectures
3.1.2 验证集精度、召回率和F1分数

不同的网络模型经过10万次迭代训练完成后,在不同置信度阈值(0.5~0.95)设置下,利用模型对验证集中钢铁厂样本进行检测,通过检测结果计算不同阈值下的精度、召回率和F1分数来比较不同模型的检测性能。

精度、召回率和F1分数随置信度阈值变化曲线分别如图 6(a)6(b)6(c)所示。从图中可以看出,较低的置信度阈值,比如0.5,对应着高召回率和低精度;较高的置信度阈值,比如0.85,对应着低召回率和高精度。5种模型中,添加三分支负样本通道的maxout模块的网络性能最佳,精度最高达到92.8%、召回率保持在97.7%以上、F1分数最高达到95.5%;添加二、四、五分支负样本通道的maxout模块的网络性能其次,精度分别最高达到88.6%、92.2%、91.7%,召回率分别保持在97.0%、97.0%、97.0%,F1分数分别最高达到93.4%、94.5%、94.2%;未添加maxout结构的网络性能最差,精度最高达到71.4%、召回率保持在96.3%以上、F1分数最高达到93.1%。

Download:
图 6 不同置信度阈值下的网络性能 Fig. 6 Precisions, recall rate, and F1-scores at different confidence thresholds

综上所述,添加maxout模块的网络比未添加的网络在精度、召回率和F1分数上的表现都好得多,其中添加三分支负样本通道的网络性能最佳,而添加四分支负样本通路的网络比添加五分支负样本通道的网络性能稍微优秀一点。通过给网络添加其他不同数量分支负样本进行实验,实验结果表明在当前样本下,添加三分支负样本通道的网络性能最佳,同时在不断增加分支的情况下,网络的性能呈略微下降的趋势。

结合实验结果和maxout模块增强难分负样本特征的原理,可以得到,在正样本数量有限的情况下,最佳的负样本通道分支数量是有限制的。适当地增加负样本通道分支,能有效突出难分负样本特征,增强目标检测网络对无用特征的抵制效果,提升网络对钢铁厂的检测性能。但是,由于钢铁厂是一种具有复杂要素的综合地物,不仅包含生产线设施等独特特征,还包含容易与其他地物混淆的建筑物等特征。过度增加负样本分支通道,会导致网络对背景中与钢铁厂局部易混淆特征产生抵制,这会影响网络对正样本的局部特征判断,从而造成检测精度下降。

3.2 京津冀地区钢铁厂检测结果

通过以上实验,本文选择检测性能最好的目标检测模型,即添加三分支负样本通道的SSD网络对京津冀地区进行钢铁厂检测。检测数据为GF-1遥感影像,空间分辨率为2 m,切片大小为2 500×2 500,总共19 192张,使用4个GPU能在2 h内完成检测任务。

在钢铁厂检测的应用场景中,钢铁厂召回率的优先级比精度更高,本文选择较低的置信度阈值,将模型的置信度阈值设置为0.6进行检测,最终得到京津冀钢铁厂的检测结果如下:共检测出205个钢铁厂,通过人工解译误判为40个,检测精度达到80.5%。同时将结果与行业部门目视解译京津冀地区118个钢铁厂点位进行对比,深度学习目标检测模型在其基础上新检测出47个钢铁厂,如图 7(a)7(b)所示。从京津冀地区的钢铁厂检测实验结果可知,增加maxout模块的新目标检测网络检测钢铁厂的精度达到80%以上。

Download:
图 7 京津冀钢铁厂检测结果 Fig. 7 Detection results of steel plants in Jing-Jin-Ji area
4 结论

本文通过分析遥感影像和钢铁厂特性,在SSD目标检测网络的基础上添加maxout模块,通过增加负样本通道分支数加强网络对无用特征的抵制作用,构建融合遥感特征的深度学习目标检测网络,大大提升了钢铁厂的检测精度。同时,该网络在京津冀地区的钢铁厂检测任务中取得较好的效果,与人工解译的钢铁厂结果相比,目标网络检测精度为80.5%,并且新检测出47个钢铁厂。实验证明利用深度学习方法在海量遥感影像数据中快速识别复杂度目标具备可行性。考虑到遥感影像中钢铁厂检测的难度,本文提出的目标检测方法对于提高大区域钢铁厂检测的效率具有重要意义。同时,此方法可以推广到与钢铁厂类似的其他“三高”(高污染、高耗能、高耗水)企业检测任务中,进一步提升去产能监控和环境保护力度。

由于钢铁厂的正样本数量极少,只是增强负样本的抵制作用无法更有效地提升该目标检测网络的精度。但是考虑到钢铁厂特征要素丰富,今后将主要针对钢铁厂本身的局部特征进行网络结构优化,进一步提升钢铁厂整体特征的识别精度。

参考文献
[1]
Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554. Doi:10.1162/neco.2006.18.7.1527
[2]
张兵. 遥感大数据时代与智能信息提取[J]. 武汉大学学报, 2018, 43(7): 1861-1871.
[3]
LeCun Y, Touresky D, Hinton G, et al. A theoretical framework for back-propagation[C]//Proceedings of the 1988 Connectionist Models Summer School. CMU, Pittsburgh, Pa: Morgan Kaufmann, 1998, 1: 21-28.
[4]
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 580-587.
[5]
He K, Zhang X, Ren S, et al. Pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. Doi:10.1109/TPAMI.2015.2389824
[6]
Girshick R. Fast R-CNN[C]//Proceedings of the IEEE International Conference on Computer Vision, 2015: 1440-1448.
[7]
Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//Advances in Neural Information Processing Systems, 2015: 91-99.
[8]
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779-788.
[9]
Liu W, Anguelov D, Erhan D, et al. SSD: single shot multibox detector[C]//European Conference on Computer Vision. Springer, Cham, 2016: 21-37.
[10]
Wang S, Quan D, Liang X, et al. A deep learning framework for remote sensing image registration[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2018, 145: 148-164. Doi:10.1016/j.isprsjprs.2017.12.012
[11]
Xu Z, Xu X, Wang L, et al. Deformable convnet with aspect ratio constrained nms for object detection in remote sensing imagery[J]. Remote Sensing, 2017, 9(12): 1312. Doi:10.3390/rs9121312
[12]
Xu K F, Lei B, Zhang Y T. Retrieval of land surface emissivity using spectral and texture features based on neural network[J]. Journal of University of Chinese Academy of Sciences, 2018, 35(1): 102-108.
[13]
李松, 魏中浩, 张冰尘, 等. 深度卷积神经网络在迁移学习模式下的SAR目标识别[J]. 中国科学院大学学报, 2018, 35(1): 75-83.
[14]
朱思捷, 雷斌, 吴一戎. 基于稠密卷积神经网络的遥感图像自动色彩校正[J]. 中国科学院大学学报, 2019, 36(1): 93-100.
[15]
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. Eprint Arxiv, 2014, 30: 1409-1556.