文章信息
- 夏文辉, 万剑华, 郑红霞, 许明明, 曲川萍. 2021.
- Xia Wen-hui, WAN Jian-hua, ZHENG Hong-xia, Xu Ming-ming, Qu Chuan-ping. 2021.
- 基于深度学习的光学遥感影像舰船检测算法对比分析
- Comparative analysis of ship detection algorithms based on deep learning in optical remote sensing images
- 海洋科学, 45(5): 96-102
- Marina Sciences, 45(5): 96-102.
- http://dx.doi.org/10.11759/hykx20201108009
-
文章历史
- 收稿日期:2020-11-08
- 修回日期:2020-12-02
舰船作为海上重要的运输载体, 其自动检测具有非常重要的现实意义[1]。现有的舰船研究工作大部分都是基于SAR影像[2-3], 而光学遥感影像与SAR影像相比具有更高的分辨率和更直观的图像可读性, 能够提供更丰富的细节信息。因此, 基于光学遥感影像的舰船目标检测逐渐成为研究热点[4]。
传统舰船检测方法主要包括海陆分割、舰船预检与舰船识别3个流程, 其主要通过提取舰船目标的灰度特征、形状特征、纹理特征等进行多特征联合检测。Zhu等基于形状和纹理特征并引入纹理算子局部多值模式(local multiple patterns, LMP)来增强特征集在特征提取中的表示能力[5]。彭敬涛等融合了舰船目标的形状、灰度、纹理和梯度等多特征信息[6]。王慧利等[7]提出一种新的表征舰船特性的边缘−方向梯度直方图特征对舰船目标进行描述。然而传统光学遥感手段无法对目标特性准确描述﹐检测鲁棒性差, 虚警率高, 受云雾、波浪、杂波等因素影响严重。
目前目标检测领域的深度学习方法主要分为两类, 即双阶段目标检测算法和单阶段目标检测算法。作为双阶段检测算法代表, Faster RCNN[8]在RCNN[9]、Fast RCNN[10]基础上创造性地使用RPN网络生成建议框, 速度跟精度都得到大幅改善, 并实现了端到端的检测, 取得较高精度。相较于带有候选区域提取的双阶段检测方法, 基于回归的单阶段方法如YOLO[11]、SSD[12]等算法, 在检测速度上具有更大的优势, 但准确性偏低。RetinaNet[13]提出Focal loss改进交叉熵损失来提升单阶段检测的精度。YOLOv3[11]保持检测速度的同时提高了该系列对小目标检测识别的准确率, 2020年推出的YOLOv4[14]引用各种优化策略, 形成一个高效而强大的模型。基于深度学习的目标检测算法, 能够充分提取检测目标的底层特征, 模型的泛化能力很强, 能在复杂环境下保持很好的鲁棒性。现有光学遥感影像舰船的公开数据集较少, Liu等[15]制作的HRSC2016数据集在舰船识别领域应用较广, 该数据集主要包含军舰、商船等大型舰船, 可以较好地应用于大中型舰船的类型识别, 但该数据集缺乏小型舰船的截取标定, 而小目标的检测是衡量深度学习目标检测性能的一个重要指标。因此本文构建了复杂背景下不同类型舰船的数据集, 基于此数据集对Faster RCNN、SSD、RetinaNet、YOLOv3、YOLOv4五种算法进行实验对比分析, 并将模型训练结果在高分二号影像上进一步测试, 为舰船目标的实际检测应用提供参考。
1 方法 1.1 Faster RCNNGirshick在2016年提出Faster RCNN, 创造性地使用RPN网络, RPN网络会对预设锚点框进行初步筛选, 使得建议框数量大幅减少且质量大幅提高, 剔除过多的背景目标, 并和目标检测网络共享卷积网络, 采用非极大值抑制的方式, 抑制高重叠候选区域, 选取质量较高的建议框进行训练。RPN损失函数L({pi}, {ti})由二分类损失函数L(pi)和边框回归损失函数L(ti)相加组成, 定义如下所示:
$ L\left( {\left\{ {{p_i}} \right\}, \left\{ {{t_i}} \right\}} \right) = L\left( {{p_i}} \right) + L\left( {{t_i}} \right), $ | (1) |
$ L\left( {{p_i}} \right) = \frac{1}{{{N_{cls}}}}\sum\nolimits_i {{L_{cls}}\left( {{p_i}, p_i^*} \right)} , $ | (2) |
$ L\left( {{t_i}} \right) = \lambda \frac{1}{{{N_{reg}}}}\sum\nolimits_i {p_i^*{L_{reg}}\left( {{t_i}, t_i^*} \right)} , $ | (3) |
式中, i表示锚点框的序号, pi表示任意锚框i是目标的概率, pi*代表标注样本, 正样本时其为1, 负样本其为0, ti代表预测候选区域坐标, ti*代表对应为正样本对应的坐标。不同大小、尺寸的建议框映射回原图特征大小不一样, 通过池化层将其生成固定大小特征输入后续网络进行分类和回归。
1.2 SSD作为单阶段检测器的代表, 有明显的速度优势。图像输入到VGG16骨干网络获取不同大小的特征图,从中抽取6层特征图用于检测不同尺度的目标,特征图经过卷积感受野不断增大,对不同尺度特征图预测分类从而达到多尺度检测的目的。
1.3 RetinaNetRetinaNet由特征提取网络、特征金字塔网络(FPN)、分类和边框回归网络组成, 在特征提取残差网络ResNet基础上利用FPN来构成多尺度卷积特征金字塔, 同时提出了Focal loss来解决单阶段检测器存在的类别失衡问题, Focal loss计算方式如下:
$ FL\left( {{p_t}} \right) = - {\alpha _t}{\left( {1 - {p_t}} \right)^\gamma }\log \left( {{p_t}} \right), $ | (4) |
式中pt表示不同类别的分类概率, γ和αt是固定值, 不参与训练。通过调整pt参数对难分样本赋予更大的损失, pt越大, (1-pt)γ越小, 有效提升了整体的目标检测精度, 以此来消除样本间的不平衡问题, 能保持速度的同时达到较高的精度。
1.4 YOLOv3YOLOv3基础网络采用Darknet-53, 网络结构层非常深入, 没有使用池化层、全连接层, 在一些层之间设置了快捷链路, 可有效抑制算法的过拟合现象, 减少了计算量, 提高了速度, 利用多尺度特征结合不同大小的感受野对各种大小对象进行检测。
1.5 YOLOv4YOLOv4在YOLOv3基础上做出较大改进, 为了提升准确度, 在主干网络、激活函数、损失函数等多个方面进行优化。核心主干网络采用CSPDarknet53, 借鉴CSPNet结构简洁准确度高的经验, 在Darknet53残差块上加入CSP, 将基础层的特征映射划分为两部分并通过跨阶段结构合并, 在减少计算量的同时保证准确率。在骨干网络上添加了SPP块扩大感受野分离出最显著的上下文特征, 在3个有效特征层上使用PANet作为参数聚合方法, 充分利用特征提取信息, 具体结构如图 1所示。
2 实验 2.1 实验环境与数据本实验采用的是64位Win10系统, 计算机配置GPU为NVIDIA GeForce GTX 1080TI, 显存为11 GB, 深度学习框架使用PyTorch和Keras。丰富样本集的学习是支撑深度学习检测算法发挥高性能的基础, 公开的HRSC2016样本集舰船大部分处于海域港口, 船舶类型多为军舰、大中型船只, 本文构建的舰船数据集包含全球范围内各海域, 舰船目标的场景、种类更加丰富。样本集的3 893张影像来源于Arcgis online的world imagery, 分辨率达到0.3 m到1 m, 影像尺寸均为1 000×600, 涵盖了各种复杂背景下不同类型的舰船, 样本数据集整体情况如图 2所示。
使用Labelimg工具进行标注, 影像中包含舰船8 098只, 舰船大小对应个数统计结果如图 3所示, 可以发现数据集包含舰船大小、种类丰富, 因此可以较好地对深度学习算法性能进行测试。
2.2 实验结果与分析将数据集3 116张用于训练, 777张用于测试, 采用该数据集对Faster RCNN、SSD、RetinaNet、YOLOv3、YOLOv4进行测试, 为了准确预估算法检测效果, 取置信度为0.3对舰船检测数目进行统计。不同置信度下获得多组精确率(precision)和召回率(recall)绘制PR曲线, 计算平均精度mAP值进行精度评价[16-17]。
检测结果统计如表 1所示, YOLOv4平均精度达到91.77%, 远高于其他算法, 能准确检测出大部分船只, 并且误检数较少。YOLOv3、RetinaNet、Faster RCNN平均精度接近, 均在83%以上, 其中Faster RCNN能检测出更多的舰船, 但误检偏多。而SSD平均精度只有79.23%, 检测性能较差, 总的检测数目偏少。
骨干网络 | 总目标数/个 | 正确检测数/个 | 错误检测数/个 | mAP/% | |
Faster RCNN | VGG16 | 1 647 | 1 430 | 616 | 83.71 |
SSD | VGG16 | 1 647 | 1 073 | 131 | 79.23 |
RetinaNet | ResNet50 | 1 647 | 1 212 | 232 | 83.98 |
YOLOv3 | Darknet53 | 1 647 | 1 333 | 185 | 85.75 |
YOLOv4 | CSPDarknet53 | 1 647 | 1 465 | 172 | 91.77 |
选取了几张复杂背景下包含多种尺寸舰船的影像进行测试, 从上到下依次为a、b、c、d 4个场景, 影像测试结果如图 4所示:
SSD、YOLO作为单阶段检测器, 具有明显的速度优势, 都采用多尺度结构, 但测试中YOLOv3、YOLOv4检测性能明显优于SSD。这是由于SSD网络层数较少, 不能对舰船特征信息进行有效提取, 同时训练时会受到负样本影响, 导致训练时学习特征效果不好, 输入尺寸较小也会影响到舰船特征的表达。相比之下, YOLO系列深层卷积网络结合快捷链路能对特征信息有效提取, 背景信息及干扰因素较好区分出来, 多层次的结构对小物体也能进行有效检测。YOLOv4作为一个高效而强大的目标检测算法, 其在原有YOLOv3目标检测算法的基础上采用多种优化策略, 进一步提升了该系列的效果和精度, 因而取得不错的效果, 图 4四个场景中的舰船均能准确检测。
Faster RCNN和RetinaNet平均精度较高, 检测性能较好, 对于图 4b、4d场景的舰船检测效果较好, 但在图 4a、4c场景测试中小型舰船的检测效果一般。Faster RCNN由于其骨干提取网络提取能力不足, RPN网络采用的是多次卷积后形成的特征图, 像素感受野较大, 对于面积较小的物体检测效果不好。同时不同大小候选框池化到统一尺寸, 对目标特征描述也会存在偏差。RetinaNet作为单阶段检测方法针对类别不均衡问题做出改进, 由于通过层层卷积与融合形成多层金字塔, 不同金字塔层锚框大小从32×32到512×512, 最小锚框对应原影像32×32大小的窗口, 对于过小目标不能进行有效检测。同时RetinaNet测试中误检较少, 说明骨干网络ResNet结合FPN网络形成的多尺度卷积特征金字塔对影像特征能够有效提取, 将复杂背景干扰因素很好的区分出来。
作为效果最优的YOLOv4在各背景环境下均能准确检测出舰船, 然而对于并排舰船, 也未能取得理想的效果, 如图 5所示。
2.3 高分二号影像测试将5种模型训练结果对高分二号影像数据进行测试, 本文采用的是2020年7月25日高分二号卫星拍摄青岛沿海某区域的影像数据, 空间分辨率为1 m, 影像情况如图 6所示。
影像中包含舰船40只, 取置信度为0.3对舰船数目进行统计, 并使用品质因数Q进行定量评价分析:
式中: Ntt为正确检测的舰船数目; Nfa为虚警数目; Ngt为测试集中真实舰船数目。Q能同时考虑到检测率和虚警率, 对应值越高表示检测性能越好。测试结果如表 2所示, 可以看出, YOLOv4品质因数远高于其他几种算法, 达到90.48%, YOLOv3、RetinaNet、Faster RCNN品质因数接近保持在80%以上, SSD品质因数较低, 仅有70.45%。
正确检测数/个 | 错误检测数/个 | 品质因数/% | |
Faster RCNN | 37 | 6 | 80.43 |
SSD | 31 | 4 | 70.45 |
RetinaNet | 36 | 3 | 83.72 |
YOLOv3 | 33 | 0 | 82.50 |
YOLOv4 | 38 | 2 | 90.48 |
图 7展示了该高分二号影像中各模型实际测试效果, 可以看出, YOLOv4几种场景中均能准确检测到舰船, YOLOv3、RetinaNet、Faster RCNN能检测到较多舰船, 但Faster RCNN误检偏多, SSD准确检测到舰船数较少。
3 结论本文构建了复杂背景下不同类型舰船的数据集, 在对深度学习中的目标检测算法理论总结与分析基础上, 分别采用Faster RCNN、SSD、YOLOv3、RetinaNet、YOLOv4五种算法在构建数据集上进行实验对比, 得出以下结论:
1) YOLOv4相比其他算法能达到较高的精度, 在YOLOv3基础上采用多种优化策略进一步提高了该系列精度。同时作为单阶段检测器具有速度优势, 鲁棒性较好, 该系列深层卷积网络结合快捷链路能对特征信息有效提取, 将背景信息及干扰因素较好区分出来, 多层次结构能有效检测小目标。SSD效果较差, 浅层卷积网络不能有效地提取目标特征信息, 在复杂背景下对舰船不能有效地检测。
2) 几种算法都存在不同程度的误检, 复杂背景会对目标检测器效果产生影响, 通过优化检测器对特征信息有效提取可以减少误检。同时对于密集排列的舰船, 几种目标检测算法都不能很好地解决, 效果不佳, 如何对并排舰船进行有效提取是一个重要研究方向。
[1] |
王彦情, 马雷, 田原. 光学遥感图像舰船目标检测与识别综述[J]. 自动化学报, 2011, 37(9): 1029-1039. Wang Yanqing, Ma Lei, Tian Yuan. Overview of ship target detection and recognition in optical remote sensing images[J]. Acta Automatica Sinica, 2011, 37(9): 1029-1039. |
[2] |
Eldhuset K. An automatic ship and ship wake detection system for spaceborne SAR images in coastal regions[J]. IEEE Transactions on Geoscience and Remote Sensing, 1996, 34(4): 1010-1019. DOI:10.1109/36.508418 |
[3] |
Wang Y, Liu H. A hierarchical ship detection scheme for high-resolution SAR images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2012, 50(10): 4173-4184. DOI:10.1109/TGRS.2012.2189011 |
[4] |
尹雅, 黄海, 张志祥, 等. 基于光学遥感图像的舰船目标检测技术研究[J]. 计算机科学, 2019, 46(3): 82-87. Yin Ya, Huang Hai, Zhang Zhixiang, et al. Research on ship target detection technology based on optical remote sensing image[J]. Computer Science, 2019, 46(3): 82-87. |
[5] |
Zhu Changren, Zhou Hui, Wang Runsheng, et al. A novel hierarchical method of ship detection from spaceborne optical image based on shape and texture features[J]. IEEE Transactions on Geoscience and Remote Sensing, 2010, 48(9): 3446-3456. DOI:10.1109/TGRS.2010.2046330 |
[6] |
彭敬涛. 光学遥感图像舰船目标检测技术的研究[D]. 上海: 东华大学, 2017. Peng Jingtao. Research on ship target detection technology in optical remote sensing image[D]. Shang Hai: Donghua University, 2017. |
[7] |
王慧利, 朱明, 蔺春波, 等. 光学遥感图像中复杂海背景下的舰船检测[J]. 光学精密工程, 2018, 26(3): 723-732. Wang Huili, Zhu Ming, Lin Chunbo, et al. Ship detection in complex sea background in optical remote sensing image[J]. Optics and Precision Engineering, 2018, 26(3): 723-732. |
[8] |
Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with regionproposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6): 1137-1149. |
[9] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//computer vision and pattern recognition, Columbus, 2014: 580-587.
|
[10] |
Girshick R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision(ICCV), Santiago Chile, December 7-13, 2015: 1440-1448.
|
[11] |
Redmon J, Farhadi A. YOLOv3: an incremental improvement[C]//IEEE Conference on Computer Vision and Pattern Recognition, 2018. https://arxiv.org/pdf/1804.02767.pdf.
|
[12] |
Liu W, Anguelov D, Erhan D, et al. SSD: single shot multiBox detector[C]//European Conference on Computer Vision, Amsterlam, Netherlans, 2016: 21-37.
|
[13] |
Lin T, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision, Venice, 2017: 2999-3007.
|
[14] |
Bochkovskiy A, Wang C, Liao H. YOLOv4: Optimal Speed and Accuracy of Object Detection[C]//Internaltional Conference on Computer Vision and Pattern Recogintion, 2020. https://arxiv.org/abs/2004.10934.
|
[15] |
Liu Z, Yuan L, Weng L, et al. A high resolution Optical satellite image dataset for Ship recognition and some new baselines[C]//Proceedings of the 6th International Conference on Pattern Recognition Applications & Methods-ICPRAM, 324-331, Porto, Portugal, 2017.
|
[16] |
余东行, 郭海涛, 张保明, 等. 级联卷积神经网络的遥感影像飞机目标检测[J]. 测绘学报, 2019, 48(8): 1046-1058. Yu Dongxing, Guo Haitao, Zhang Baoming, et al. Aircraft target detection in remote sensing image based on cascade convolution neural network[J]. Acta Geodaetica et Cartographica Sinica, 2019, 48(8): 1046-1058. |
[17] |
李宸尧, 郭海涛, 马东洋, 等. 深度学习遥感影像油罐检测算法精度对比分析[J]. 海洋测绘, 2020, 40(2): 53-56. Li Chenyao, Guo Haitao, Ma Dongyang, et al. Accuracy comparison and analysis of oil tank detection algorithm based on deep learning remote sensing image[J]. Hydrographic Surveyingand Charting, 2020, 40(2): 53-56. |