赵亮 马旺叶 杨雯彦 曹媛媛
【摘 要】本文提出了一种基于Mask R-CNN实现船舶检测的方法,通过在网络训练过程中随机采样目标像素到背景中的其他位置,改善了目标与背景不平衡的问题。对比分析基础模型与本文方案,检测与分割的精度都有了显著的提升。
【关键词】Mask R-CNN;船舶;检测;分割
中图分类号:O436 文献标识码: A 文章编号: 2095-2457(2019)30-0024-002
DOI:10.19694/j.cnki.issn2095-2457.2019.30.011
Satellite Image Ship Detection Based On Mask R-CNN
ZHAO Liang MA Wang-ye YANG Wen-yan CAO Yuan-yuan
(School of Geomatics and Marine Information
【Abstract】In this paper, a method based on Mask R-CNN was proposed to realize ship detection. By randomly sampling the target pixels to other positions in the background during network training, the imbalance between the target and the background was improved. By comparing and analyzing the basic model and the scheme in this paper, the accuracy of detection and segmentation has been significantly improved.
【Key words】Mask R-CNN; Ship; Detection; Segmentation
0 引言
海运承担着国际贸易进出口的重要任务,根据卫星影像获得船舶的位置与大小具有重要的军事与商业作用。卫星影像船舶检测主要有以下两个难点:(1)样本不均衡的问题,通常数据集中的船舶数量与像素占比较少,样本不均衡使得检测模型更关注较大的目标,忽略较小的船舶,容易造成漏检与误检。(2)由于目标覆盖的区域较小,造成船舶的位置缺少多样性,模型在验证通用性时变得困难。
当前深度学习检测算法利用图像的多层特征优化对小目标检测的精度,主要有:Tsung-Yi Lin等[1]提出的图像金字塔网络(FPN),通过对训练图片上采样出多尺度的图像金字塔,增强小目标的细粒度特征,优化定位和识别效果。第二种方法为逐层预测,即对卷积神经网络抽取的每层特征图输出进行一次预测,综合考量得出结果[2]。以上两种方法对于硬件算力有极高的要求,且不是专门针对船舶检测而设计的,模型的鲁棒性较差。
本文提出的方法,在模型训练过程中将船舶目标特征图随机采样复制到同批次中的其他图像背景中,改善不平衡问题的同时,模型需要的计算量也没有增加。实验证明,即使像素占比非常小的船舶,检测与分割的精度也得到了有效的提升。
1 算法模型
本文方法基于Mask R-CNN目标检测框架修改而来,Mask R-CNN是在Faster R-CNN的基础上增强了一个平行的small FCN(全卷积网络)分支,以获得目标的轮廓定位,从而实现准确的分割。因此基于本文方法,可以同时获得船舶目标检测与实例分割结果。
图1 small FCN结构图
为了适应船舶检测的需要,本文对模型做了针对性的改进。首先,预处理数据,采用传统的语义分割模型,获得海水与船舶的大致边界信息并传入训练网络;其次对船舶标注图像聚类分析获取船舶大小的分布数据,确定了检测过程不同大小检测框的数量;然后在网络训练过程中,上采样船舶特征矩阵,对抗网络(GAN)生成船舶的相似特征图,最后基于边界信息复制到同批次训练数据的背景中,确保不会产生船舶重叠。
本文方法同样考虑到不同的IoU(交并比)阈值对于样本的选取产生的影响,使用了渐进IOU的方法,在特征金字塔的每一层添加多个检测头,逐渐提高IOU的阈值,确保不会漏掉可能的船舶目标。
2 实验结果与分析
实验数据选自Kaggle提供的28G卫星遥感船舶影像数据,共5000张,按照4:1的比例划分为训练集于测试集,在Google Clob平台上利用Tensnorflow 深度学习框架实现,训练了25批次后,网络的损失趋于稳定,部分检测结果如下图所示:
图2 检测与分割成果
为了测试本文方法的精度,从原始数据中重新随机抽取了200个目标测试数据。分别基于未改进的MaskR-CNN(文献[1]方法)与本文方法进行测试。目标检测常用准确率(P)、召回率(R)评价模型的精度,计算公式为:
P=TP/(TP+FP)
R=TP/(TP+FN)=TP/P
其中,TP:被正确地划分为船舶的实例个数;FP:被错误地划分为船舶的个数;FN:被错误地划分为海水背景的个数。同时计算分割结果与原始标注的像素相交面积比,得到分割的精度AP。
计算结果如表1所示。
从表1中可以看出,改进后的模型与文献[1]方法相比,准确率提升了约7%,同时召回率也提升了5%,由于原始的样本标注精度不够,对于检测的效果提升不大,仅有3%。总体上看,基于本文方法可以有效的提升船舶检测与分割的精度,且模型无需额外的计算开销。
表1 检测与分割精度表
3 结论
本文基于船舶检测过程中目标与背景的不均衡提出了一种改进的Mask R-CNN檢测算法,分析了改进前后获得的检测与分割精度,在没有增加训练样本与重新标注的情况下检测精度有了显著提高。由于时间和硬件条件,本文只分析了少量样本下的检测情况,接下来将会增加训练数据研究本文的改进方法对于其他检测框架的精度提升。
【参考文献】
[1]He Kaiming,Gkioxari Georgia,Dollar Piotr,Girshick Ross. Mask R-C·NN[J].IEEE transactions on pattern analysis and machine int1elligence,2018.
[2]罗巍,陈曙东,龚立晨.基于深度学习的无人机遥感影像船舶检测方法[J].船舶物资与市场,2019(04):25-28.