-
合成孔径雷达(synthetic aperture radar, SAR)具有全天时、全天候对地观测能力,针对广阔的海洋区域可以大范围地获取海面SAR图像,有效探测海面船只,对我国海洋事业起着至关重要的作用。但是SAR图像在视觉上是灰度图像,目标纹理特征不明显,导致基于SAR图像的目标信息提取困难。同时,由于SAR相干成像的特点,近岸区域中存在的各类金属建筑会产生与船只特征相近的强散射点,仅靠人工进行目标检测难度很高,效率较低,容易产生误检现象,且船只目标具有不定朝向、密集排列特点,易产生漏检现象,因此近岸区域下的SAR图像船只检测是一个具有挑战性的问题。
传统的SAR图像船只目标检测方法多采用恒虚警率法,其依赖于人工建模,通过设计海杂波模型提取船只特征,无法有效区分船只与岛屿、近岸建筑等虚警目标,因此在背景复杂的近岸情形下效果不佳[1]。随着深度学习技术的不断发展,其在SAR图像目标检测方面的应用具有良好的发展前景,目前基于深度学习方法进行SAR船只检测大体分为两个技术路线,前者对以YOLO[2]和SSD[3]为代表的单阶段目标检测算法进行适应性改进,以实现实时高效船只检测。如文献[4]针对船只在近岸场景下方向多变问题,对YOLOv3算法进行改进,结合水平框和旋转框的预测结果实现船只目标方位角估计,提升了YOLOv3算法在复杂场景下的船只检测效果。文献[5]针对单阶段目标检测算法在复杂场景下船只检测性能不佳问题,在YOLOv3上引入了通道注意力机制,通过加强各网络层通道间的特征融合,提高模型在近岸场景下的检测性能。后者以Faster R-CNN[6]为代表的双阶段目标检测算法进行适应性改进,以实现高精度船只目标检测,如文献[7]通过多尺度特征融合与特征通道校准方法,提高Faster-RCNN算法在复杂场景下的船只目标检测性能。
单阶段目标检测算法由于缺少了双阶段算法的精细处理,在面对SAR图像中尺度大小不一、视觉特征不明显的船只目标时表现不佳。另外,单阶段目标检测算法YOLOv3作为Anchor Based算法虽然在一定程度上缓解了双阶段目标检测算法,如在Faster R-CNN中选择性搜索带来的候选框计算量爆炸的问题,但其每个网格中不同尺寸锚框的生成依赖于人工参数设置,目标的定位精度严重依赖于手动调参。同时为兼顾目标检测实时处理平台资源功耗受限等情形,需要避免主流算法模型参数量大、网络推理耗时长的问题。
针对以上问题,本文提出了一种基于改进YOLOX的SAR近岸区域密集船只高精度检测方法,有效地解决SAR近岸情形下算法模型准确率低、虚警率高且参数冗余问题,主要创新点如下:
1) 改进坐标注意力机制,进一步提升对空间域信息的学习,并引入至特征提取网络,提升网络对船只目标信息的聚焦,实现目标信息的有效提取;
2) 采用旋转目标框进行目标检测,增加角度分类头学习目标的角度信息,并通过将旋转目标框转化为二维高斯分布的方法,计算预测分布与目标分布的KL散度作为旋转框损失值训练网络,提升网络在近岸区域下的检测精度;
3) 基于YOLOX的Anchor Free机制,结合上述两点设计,有效减少由于角度分类头导致的冗余候选框激增问题,避免冗余框带来的无效计算。
-
本文使用公开的offical-ssdd数据集[15],该数据集对近岸船只目标与远海船只目标进行了划分,并提供了经过二次校验后的船只目标精确标注,数据集样本采用C波段的Radarsat-2、Sentinel-1卫星以及X波段的TerrraSAR-X卫星的SAR图像的裁剪得到数据,共包含1 160张图像、2 587只船舶目标,其中928张图像、2 041只船舶作为训练集,232张图像、546只船舶作为测试集,平均每张图像有2.23个船只,包含5×4像素的小目标船只到384×251像素的大目标船只,涉及了大片远海区域和近岸区域目标,测试集共172只近岸区域船舶目标,374只远海区域船舶目标,背景多样。
实验采用Pytorch深度学习框架,基于CUDA11.4和cuDNN8.2.4加速训练,基于TensorRT部署推理,YOLOX根据不同的网络深度与宽度,由浅到深可以分为YOLOXnano、YOLOXtiny、YOLOXs和YOLOXm等多个模型,本文采用最轻量的模型YOLOXnano进行实验,在此基础上进行改进并与其原始网络对比,最后再跟其他一些改进方法进行测试对比。输入到模型的图像大小设为416×416,batch size大小为128,训练优化器采用Adam优化器更新网络参数,其中学习率(learning rate)和权值衰减(weight decay)参数设为0.001和0.000 5,旋转目标框损失函数采用KLD_Loss,损失权重为5,目标角度损失采用CSL_Loss[16],损失权重为0.1,置信度损失采用BCE_Loss,损失权重为1;计算机具体配置为 Intel® Xeon® E52640,2.40 GHz,显卡为2*P5000[Pascal Quadro],显存2×16 GB;部署平台选用嵌入式平台(NVIDIA Jetson AGX Xavier),显存32 GB;算法的训练和测试均在GPU加速下完成。
-
深度学习需要足够的训练样本作为支撑,相较于光学图像,SAR图像数据难以大量获取,为了充分利用有限的训练数据,加强模型泛化能力,抑制过拟合现象[17],本文通过随机缩放、随机旋转、mosaic拼接、mixup变化等方法对训练数据进行进行实时数据增强,效果如图7所示。
-
本文采用平均精度(average precision, AP)作为SAR图像船只检测模型性能的评价指标,计算式为:
式中,TP为模型正确检测的船只目标数量;FP为误检船只目标数量;FN为漏检船只目标数量;精确率P表示正确检测的船只目标数量在全部检测结果中的比率;召回率R表示正确检测的船只目标数量占所有船只目标真实数量的比率。以P为纵轴,R为横轴,绘制出PR曲线,曲线与横坐标围成的面积为AP值,Ap50为交并比阈值设为0.5时的AP值。
利用本文算法在offical-ssdd数据集上进行检测,对采用不同改进方案的YOLOX检测算法结果进行对比,以检测精度Ap50作为算法检测精度性能指标,实验结果如表1所示。表中YOLOX为原始网络不加任何改进的检测结果;CA_YOLOX为引入了坐标注意力机制到特征提取网络中进行改进的YOLOX算法;BCA_YOLOX为引入了改进后坐标注意力机制到特征提取网络中进行改进的YOLOX算法;R_YOLOX为引入了旋转框方法到检测头中进行改进的YOLOX算法;本文方法则是结合了改进坐标注意力机制与旋转框的YOLOX算法。从表1可以看出,引入坐标注意力机制后算法模型的精确率有所提升,召回率差异减少,误检严重问题得到改善,引入改进坐标注意力机制后算法模型的精确率进一步提升。引入旋转框后算法模型在近岸区域的精确率有所提升,召回率基本保持一致,能更有效地定位出目标的正确位置。通过结合改进坐标注意力机制与旋转框方法,本文方法在近岸区域的检测精度高于其他算法,拥有更好的检测性能,在offical-ssdd数据集近岸区域检测的Ap50值相较于YOLOX算法提升了18.77%,引入注意力机制与旋转框方法都提高了近岸区域下船只目标的检测平均精度,同时引入改进坐标注意力机制与旋转框这两种改进方法后,网络的检测性能最好。
算法 近岸区域 远海区域 总计 P/% R/% Ap50/% P/% R/% Ap50/% Ap50/% YOLOX 0.6686 0.9127 0.6593 0.9582 0.9813 0.9792 0.8788 CA_YOLOX 0.8023 0.9262 0.7984 0.9920 0.9893 0.9907 0.9306 BCA_YOLOX 0.8547 0.8033 0.8262 0.9813 0.9601 0.9790 0.9351 R_YOLOX 0.7442 0.7485 0.7333 0.9413 0.9439 0.9374 0.8728 本文算法 0.8488 0.9799 0.8470 0.9893 0.9867 0.9870 0.9426 为验证本文所提检测网络的性能,在offical-ssdd数据集上完成本文方法与YOLOv3[18]、YOLOv5[19]和Faster R-CNN算法的对比实验,结果如表2所示。从表中可以看出,本文方法相较除YOLOX以外的其他算法,模型计算参数最少,总体测试检测精度最优,网络推理延时最低,且能获取船只目标方位角信息,满足实时处理需求。
算法 参数量×106 Ap50/% 网络推理耗时/ms YOLOX 0.91 0.879 8 YOLOV3 36.3 0.871 28 YOLOV5 7.2 0.901 30 Faster RCNN 272.7 0.890 119 本文算法 1.14 0.942 10 本文实验检测结果如图8所示。对于紧密排列的邻岸大目标,传统YOLOX算法会出现漏检现象,或如图8b所示只输出一个大的目标框,而本文算法则能有效地检测并区分邻近排列的船只,如图8c所示。
对于在港口中停靠的船只(图9a),采用传统YOLOX算法进行检测时,出现了误检与漏检现象,将陆地建筑误检为船只目标,对港口停靠紧密的船只则只输出一个较大的目标框,无法有效区分排列紧密的船只目标,如图9b所示。而本文方法则有效检测并区分各船只目标,没有错检现象,如图9c所示。
从图10可以看出,传统YOLOX算法采用水平框检测,船只越大水平框引入的背景信息越多,模型对大船只目标的关注度不够,导致输出预测框置信度较低。本文算法预测框置信度明显提升,且预测框可以更精确地涵盖目标区域,输出更精确的目标位置信息,检测更为准确。
对于近岸小目标,传统YOLOX算法会出现漏检现象,如图11所示,难以检测出停靠在岸边的小目标船只。而本文方法则能对近岸小目标进行有效检测,但由于近岸场景下,近岸建筑产生的强散射点与临近的船只特征相近,在特征提取的过程中引入背景干扰信息过多,导致近岸区域小目标的检测置信度较低,仅在50%~60%之间。
在海岛周围区域,从图12可以看出,传统YOLOX算法将岛屿误检为船只目标,而本文方法则是将海面杂波散射点误检为船只目标。这是由于本文方法采用旋转框检测,对异于周围海面背景下的杂波散射点更为敏感,导致误检现象。而传统YOLOX采用水平框检测,在周围背景干扰下对海面杂波散射点的关注度降低,其对船只目标输出的预测框置信度也较低,在检测阈值设为0.5的情况下不会将杂波散射点视为船只目标,但会将区域亮度信息较为明显的岛屿错检为船只目标。
从图13也可以看出,本文方法对异于周围海面背景下的散射信息更为敏感,将海面杂波散射点误检为船只目标,而传统YOLOX算法对海面散射信息的关注度较低,因此未产生误检现象。在近海区域,本文方法预测框置信度较传统YOLOX算法有明显提升。
本文方法在远海场景不同海况情形下检测效果如图14所示,可以看到,对于不同海况情形下的远海场景目标,本文方法依旧可有效进行检测。综上所述,对于SAR船只目标检测任务,本文方法在近岸和远海场景下都能取得良好的效果,能够在复杂背景下识别船只目标,并且能更好地处理多尺度问题,得到更加精准的检测框。
Improved YOLOX SAR Near-Shore Area Ship Detection Method
doi: 10.12178/1001-0548.2022039
- Received Date: 2022-01-27
- Rev Recd Date: 2022-06-11
- Available Online: 2023-01-13
- Publish Date: 2023-01-25
-
Key words:
- improved coordinate-attention /
- inshore region /
- rotation anchor /
- SAR /
- ship detection
Abstract: To solve the problem of low accuracy and high false alarm rate of synthetic aperture radar (SAR) nearshore area vessel detection, a new SAR nearshore area vessel detection method based on improved attention mechanism and rotating frame is proposed. Firstly, the feature extraction capability of the network was enhanced by improving the coordinate attention mechanism and introducing it into the feature extraction network. Secondly, the angle classification head was added and the two-dimensional Gaussian distribution was introduced to calculate the KL divergence between the prediction distribution and the target distribution, so as to evaluate the loss value of the rotating frame and complete the angle information extraction of the target. Then, based on the anchor frameless (AF) mechanism of YOLOX algorithm, the model can be made lightweight and the positioning accuracy can be further improved by reducing the redundancy of candidate frames. Finally, the model was tested on the open dataset Offical - SSDD, and the inference verification was performed on the embedded platform (NVIDIA Jetson AGX Xavier). The calculation parameter of the algorithm model is only 1.14M, and the average detection accuracy of the algorithm model is 18.77%, higher than that of the YOLOX model in the nearshore condition, and the overall detection accuracy reaches 94.2%. The verification results show that the algorithm is suitable for dense ship target detection in any direction in complex scenes and can meet the requirements of real-time processing.
Citation: | LIU Lin, XIAO Jiarong, WANG Xiaobei, ZHANG Desheng, YU Zhongjun. Improved YOLOX SAR Near-Shore Area Ship Detection Method[J]. Journal of University of Electronic Science and Technology of China, 2023, 52(1): 44-53. doi: 10.12178/1001-0548.2022039 |