基于MTBNet的唐山尾矿库提取
2022-09-02张昆仑常玉光潘洁卢凯旋昝露洋陈正超
张昆仑,常玉光,潘洁,卢凯旋,昝露洋,陈正超
(1.中国科学院 空天信息创新研究院航空遥感中心,北京 100094;2.河南理工大学 测绘与国土信息工程学院,河南 焦作 454000)
0 引 言
尾矿库作为维持矿山正常生产的必要设施,既是重大危险源,又是重要污染源,威胁着周围居民和基础设施安全。近年来,许多未取得安全生产许可证的企业违建尾矿库,导致尾矿库重大事故时有发生。因此,实时监测尾矿库,记录尾矿库数量、位置和面积十分必要。传统尾矿库监测以地面调查为主,辅以人工目视解译,这些方法效率低、成本高,无法满足大区域尾矿库实时监测的需求。利用遥感影像加强尾矿库的动态监测,可以遏制无证勘查和开采、乱采滥挖、浪费破坏尾矿库等违法行为,提高尾矿库开发利用规模化和集约化程度,减少生态环境污染。遥感作为一种非接触、远距离的探测技术,具有监测范围广、周期短、成本低等特点,可作为一种客观监测尾矿库变化情况的技术手段。随着卫星遥感快速发展,利用卫星遥感数据对尾矿库进行高精度、高频次监测已成为可能。
深度学习是人工智能中机器学习发展的新阶段[1],利用数字计算机模型模拟人脑的多通路信息传递机制,实现输入数据的分层表达和知识推理,有效解决了复杂对象特征的刻画和复杂场景的关联分析等问题,在计算机视觉、语音识别、自然语言处理等领域取得了很多突破性进展,已有大量创新应用[2-5]。对于场景复杂的高分辨率遥感影像,深度学习技术相较传统基于物理模型的信息提取技术,在效率和精度两方面都具有不可比拟的技术优势[6]。将深度学习技术应用于大区域遥感影像的尾矿库信息提取,可显著提高尾矿库动态监测的效率与自动化水平。
实例分割是计算机领域中一项基本的视觉任务,能实现对象轮廓的逐像素识别。较经典的实例分割网络有Mask RCNN[7]和FCNs[8],其在计算机领域多个数据集上取得了良好效果。近几年,遥感学者将RGB三波段真彩色自然图像实例分割网络引入遥感图像领域,在其基础上做了不同尝试和改进,取得了远优于传统算法的应用效果[9-11]。不同于地面上使用普通数码相机在水平视角获取的自然图像,遥感影像由遥感器从卫星或飞机对地面拍摄获取,具有观测尺度大、光照阴影差异大、地物场景复杂等特点,现有网络模型对遥感图像的理解和特征提取还存在明显不足。
尾矿库为一类复杂目标,使用深度学习算法提取尾矿库存在误检和漏检等问题。除了位置信息,还提取了尾矿库边界轮廓和面积信息。传统实例分割任务中,Mask RCNN分别学习目标的边界矩形框位置类别信息和目标Mask像素位置信息,其目标特征分类置信度由目标矩形框质量决定,对于遥感图像上尾矿库这类边界不清晰、形状尺度多变的目标,多数情况下目标框质量并不能代表目标Mask像素质量,从而影响目标边界的精细化提取。
因此,针对尾矿库识别误检、漏检和边界精细化等难点,本文以尾矿库安全和生态问题日益严重的唐山市为研究区,提出了一个具有多任务分支结构的实例分割网络(multi-task-branch network,MTBNet),用于遥感图像下尾矿库精细边界的快速提取。该方法提高了唐山地区尾矿库监测效果和精度,对于经济产业发展和环境保护都具有重要意义。
MTBNet以深度 残 差网 络ResNet-50[12]为 基础,首先提取目标的多层特征,并依照FPN(feature pyramid network)结构[13]融合多层特征,其次通过RPN(region proposal network)[14]生成一系列候选框,接着将网络分为目标检测分支和语义分割分支,然后在原有Mask交叉熵基础上,计算Mask重叠度与目标框分类置信度的乘积,并添加Mask像素点类别损失计算,通过反向传播学习Mask特征。最后MTBNet同时计算边界框回归损失、边界框置信度损失、Mask像素交叉熵损失、Mask置信度损失。MTBNet的多任务分支结构纵向保证了各层的语义信息,横向保证了各阶段的信息交互,使得每个阶段都能得到更高质量的预测结果。
1 研究区概况和数据来源
1.1 研究区概况
唐山市位于河北省东部,东经117°31′~119°19′,北纬38°55′~40°28′,占地面积13 472 km2,人口796万,分布着大量的矿产资源。随着该区域工业发展,尾矿库数量越来越多,同时唐山位于华北平原地震带,地质运动较活跃。
1.2 数据获取
1.2.1 数据源
本文采用的数据源为国产高分一号(以下简称GF-1)卫星数据。GF-1卫星是中国高分辨率对地观测系统的第一颗卫星,于2013年4月26日12时13分04秒由长征二号丁运载火箭成功发射。GF-1卫星搭载了1台2 m分辨率全色相机、1台8 m分辨率多光谱相机和4台16 m分辨率多光谱相机,其中多光谱相机幅宽800 km。本文通过对唐山地区2019年6月成像的GF-1遥感影像预处理,得到空间分辨率为2 m的RGB影像(图1)。
图1 唐山市RGB影像Fig.1 RGB image of Tangshan City
1.2.2 样本与测试数据
以人工解译的尾矿库点位为基础,GF-1遥感影像为底图,制作尾矿库实例分割样本,样本制作主要考虑以下因素:
(1)尾矿库尺度变化较大,一般尾矿库实际长宽均为1~2 km,为了在包含尾矿库整体特征的情况下,保证尾矿库纹理清晰、特征明显,选取空间分辨率为2 m的GF-1遥感影像,并以尾矿库坐标为中心点裁剪GF-1遥感影像生成1 536像素×1 536像素的样本切片。
(2)根据尾矿库局部特征(如坝体、尾砂、废水等)的非典型性及相互之间的差异性,选择尾矿库的整体特征作为检测对象进行样本标记,标记尾矿库的精细边界轮廓,同时生成边界轮廓的最小外接矩形,避免多余背景对尾矿库特征造成影响。
基于以上原则,共制作1 500张尾矿库训练样本,300张验证样本(验证样本不是唐山市尾矿库的)。唐山市测试数据为空间分辨率为2 m、切片大小为1 536像素×1 536像素的GF-1遥感影像,共1 497张,成像时间为2019年6月。
2 研究方法
遥感图像目标简单(目标单一,特征明显,且模式相对固定,如运动场、轮船等),尾矿库包含特征更丰富,一般由坝体、尾砂和废水等要素组成,特征形状多变,尺度不一,空间纹理、阴影、颜色、几何特征等千差万别,如图2(a)所示。尾矿库自身的复杂性为准确识别带来巨大挑战;其次,尾矿库空间分布不固定,一般分为傍山型、山谷型和平地型3种类型,如图2(b)所示(从左到右分别为山谷型、傍山型和平地型),导致尾矿库背景条件复杂多样,同时遥感图像背景混乱,蕴含繁杂的语义信息,使得目标尾矿库难以与背景分离,降低尾矿库识别的召回率。
图2 复杂的尾矿库Fig.2 Complex tailing pond
针对以上难点,MTBNet提取唐山地区的尾矿库,提取流程如图3所示。首先对GF-1遥感影像进行预处理(几何校正、辐射校正等),得到空间分辨率为2 m的RGB影像;其次,基于影像制备尾矿库样本和唐山地区待预测数据,得到训练集和验证集,然后构建面向尾矿库实例分割的MTBNet;最后通过网络训练得到最优检测模型,运用该模型对唐山地区进行尾矿库实例分割,得到唐山市尾矿库的分布和数量。
图3 尾矿库提取流程Fig.3 Flow chart of tailing pond extraction
使用ResNet50,FPN,RPN作为尾矿库浅层特征提取的基础结构。引入深度残差学习框架解决网络层数增加导致的梯度退化问题,通过使网络层满足残差映射优化网络参数。FPN是一种横向连接的自上而下的架构,用于在所有尺度构建高级语义特征映射,通过融合不同分辨率的特征图提升每一层的语义信息。RPN提取供网络学习的目标候选区域。本文研究方法主要体现在RPN后续网络结构设计上,将网络按任务需求分为目标检测分支和语义分割分支,在保证两个分支信息共享的情况下,分别实现目标框提取和语义分割任务。MTBNet结构如图4所示。
图4 MTBNet结构图Fig.4 Structure map of MTBNet
2.1 目标检测分支
传统实例分割网络,如Mask RCNN在候选区推荐后,直接通过卷积候选区域输出目标框的位置信息(x,y,w,h)和类别信息(confidence)。由于尾矿库形状不规则、尺度变化较大,简单的卷积操作无法适用于其不规则的外观变化特征,使得生成的目标框质量差,易出现位置匹配错误。显然,通过调高目标框与真值框之间的IoU阈值(目标框与真值的重叠度,通过阈值确定目标框属于正例或负例),可以得到更高质量的目标框,但只提升IoU阈值会导致网络学习到的样本数量少,造成网络过拟合。另外,在目标检测网络中,使用某个IoU阈值界定正负样本时,当预设目标框与真值的IoU阈值接近该阈值时,此时得到的目标框质量(位置和类别信息)最好。因此,为了得到最优化的检测效果,本文在目标检测阶段设计了一个3阶段渐进精细化结构,不同阶段设置不同的IoU阈值(分别为0.1,0.3,0.5),计算每个阶段目标框的位置偏移(δx,δy,δw,δh),最后统计多个阶段的目标框平均位置损失:
式中:Lloc为L2损失函数,用于描述位置(location)的损失;S为网络设置的阶段总数。
通过设置多阶段结构,网络既能优化目标框质量,又能保证目标框数量。
2.2 语义分割分支
传统实例分割网络,如Mask RCNN在候选区域推荐后,直接通过卷积候选区域输出Mask逐像素的位置信息,Mask像素的类别信息由目标检测阶段的目标框提供,这种做法保证了目标框的分类质量,却忽略了Mask本身的类别信息,导致目标Mask像素信息与目标分类相关性不强。因此,使用目标框置信度评价Mask分类会使分割结果出现偏差,对尾矿库这类背景繁杂、边界模糊的对象而言分割误差会更大。
为了使语义分割分支学习到目标Mask的置信度,首先应保证目标检测分支与语义分割分支信息共享。传统实例分割网络不同任务的结构没有任何信息交流,检测分支和分割分支用同一批数据训练,然后在推理阶段整合在一起,没有发挥结构间参数共享学习的作用。为了解决这一问题,本文首先计算产生的Mask区域与真值区域的IoU阈值,其次在检测分支和分割分支间增加连接操作,计算Mask IoU与特征图之间的乘积,实现两种分支之间的信息交流共享,从而提供丰富的特征信息(图5)。然后计算目标Mask区域每个像素点的置信度分数,通过每个点的损失反向传播优化目标Mask像素点的分类精度,提升目标Mask的分割精度,最终语义分割分支的损失Lmask为
图5 Mask置信度计算结构Fig.5 Calculation structure of Mask confidence
式中:Lseg为像素交叉熵损失函数;Lconf为Mask的置信度损失涵数。
2.3 网络训练
本文在网络前端数据载入阶段添加了多种数据增强模块,包括颜色亮度饱和度变换、翻转、随机裁剪放大及缩小等,增加样本多样性,减缓小样本造成的过拟合现象。数据增强后的图片统一重采样为1024×1024×3像素,然后输入模型进行训练,网络模型通过反向传播算法迭代更新每一层参数。考虑到输入影像尺寸和GPU显存大小,MTBNet参数设置如表1所示。在合理范围内,增大批处理参数BATCH_SIZE可以提高内存利用率和大矩阵乘法的并行化效率。
表1 网络参数设置Tab.1 Network parameter settings
本文训练MTBNet的软件框架为Pytorch,硬件环境为4个12 G显存的NVIDIA Titan XP GPU,CUDA2.0以及Intel Xeon E5 CPU,训练20个epoch需要18 h,最后将得到充分训练的模型后用于唐山地区尾矿库检测。
2.4 精度评价方法
模型精度评价使用深度学习领域目标检测网络的常用指标有精度(Precision)、召回率(Recall)和平均精度均值(mean Average Precision,mAP)。精度、召回率、mAP、F1定义为
式中:TP为正确检出尾矿库的个数;FP为误检的尾矿库的个数;FN为未检出尾矿库的个数;mAP为不同阈值下(Precision,Recall)绘制的PR曲线与坐标轴横坐标所围的面积,值为[0,1];F1为综合考虑了精度和召回率的性能指标。本文以0.05的步长逐步增加置信度阈值(0.5~0.95),记录模型在不同置信度阈值下的检测性能。
3 试验和结果
3.1 模型精度评价
使用同样的数据(1 500张训练样本,300张验证样本)分别训练Mask RCNN,Mask Scoring RCNN[16](以下简称MS RCNN)、优化了检测分支Obj-B的MTBNet-1、优化了分割分支Seg-B的MTBNet-2及同时优化了检测分支和分割分支的MTBNet-3,分析不同模型对尾矿库的检测性能。为了降低其他因素影响,除了优化部分,其他网络结构参数保持一致,通过GPU训练模型,训练20次epoch后停止,各模型mAP结果如表2所示。
表2 不同模型mAP结果Tab.2 mAP results of different models
从表2可以看出,同一数据集,不同网络的mAPbox(box的mAP)和mAPseg(seg的mAP)不同。相对于传统实例分割网络,优化检测分支Obj_B或优化语义分支Seg_B都提升了网络检测精度,同时优化了检测分支和分割分支的MTBNet精度最高,其mAPbox和mAPseg分别提升了约6%和12%。
不同网络模型经过20次epoch迭代训练后,不同置信度阈值(0.5~0.95)下,使用模型对验证集中尾矿库样本进行检测,通过检测结果计算不同阈值下的F1,比较不同模型的检测性能。F1随置信度阈值的变化曲线如图6所示,从图6可以看出,较低的置信度阈值(如0.5)对应高召回率和低精度;较高的置信度阈值(如0.95)对应低召回率和高精度。3种模型中,MTBNet性能最佳,F1最高达95.2%,MS RCNN的F1最高达94.1%,Mask RCNN的F1最高达92.6%。
图6 不同置信度阈值下的F1Fig.6 Trend of F1-score with different confidence threshold
综上所述,网络参数和数据一致时,MTBNet比Mask RCNN,MSRCNN等在mAP和F1上的表现好得多。试验结果表明,对尾矿库这类面状复杂地物进行实例分割,需要同时关注本身特征和背景特征,本文提出的MTBNet通过添加多分支任务,优化检测分支提升目标框质量及优化语义分支实现信息交流共享,较大地提升了网络性能和检测精度。
3.2 唐山地区尾矿库实例分割结果
通过以上试验,本文选择训练好的MTBNet模型对唐山地区进行尾矿库实例分割。检测数据为GF-1遥感影像,空间分辨率为2 m,切片像素大小为1 536×1 536,总共1 497张,使用4个GPU在1 h内完成检测任务。
选用训练得到的最佳MTBNet模型预测唐山地区1 497张影像,通过目视解译得到影像中有852座尾矿库,并将其作为结果判断的真值。随着置信度提升,模型预测数逐渐减少,TP减少,FN增多,FP减少,分别将置信度设置为0.2,0.4,0.6和0.8,检测结果如表3所示。
表3 不同阈值下的准确率和召回率对比Tab.3 Precision and Recall statistics with different confidence threshold
在尾矿库检测应用中,尾矿库召回率的优先级比精度更高,本文权衡了准确率和召回率,最后将模型置信度阈值设为0.6,最终在唐山地区共提取975座尾矿库,召回率为95.8%时,准确率达78.8%。图7为验证集中真值与预测结果的对比,图8为唐山地区尾矿库分布,图9为部分尾矿库实例分割结果。
图7 真值与预测结果对比Fig.7 Comparison of ground truth and prediction result
图8 唐山地区尾矿库分布Fig.8 Tailing ponds distribution in Tangshan area
图9 部分尾矿库实例分割结果Fig.9 Segmentation instance results of some tailing ponds
4 结 语
MTBNet大大提升了尾矿库的检测精度,在唐山地区大范围的尾矿库实例分割任务中取得了较好效果,召回率为95.8%时,准确率达到78.8%。试验证明利用深度学习方法在海量遥感影像数据中快速识别复杂目标具备可行性。考虑到遥感影像中尾矿库检测难度大,本文提出的MTBNet对于提高大区域尾矿库检测的效率具有重要意义。同时,此方法可以推广到与尾矿库类似的其他矿产资源开采检测中,进一步提升矿产监控和环境保护力度。
尾矿库内部结构是进行灾前风险评估的关键,今后将主要精细化分割尾矿库内部要素(坝体、尾砂、废水),提升尾矿库监测能力。