文章信息
- 李健伟, 曲长文, 彭书娟
- LI Jianwei, QU Changwen, PENG Shujuan
- SAR图像舰船目标联合检测与方向估计
- A Joint SAR Ship Detection and Azimuth Estimation Method
- 武汉大学学报·信息科学版, 2019, 44(6): 901-907
- Geomatics and Information Science of Wuhan University, 2019, 44(6): 901-907
- http://dx.doi.org/10.13203/j.whugis20170328
-
文章历史
收稿日期: 2018-03-14

舰船目标检测在民用和军用上具有重要的作用,例如渔船监视、非法移民和战场监视等。相比于光学遥感,SAR(synthetic aperture radar)是一种全天时、全天候的传感器,利用SAR对海洋舰船检测得到了大量的研究。其中最为经典的检测方法是CFAR[1](constant false alarm rate),基于CFAR的SAR图像舰船目标检测本质是根据海洋背景杂波与舰船目标之间表现出来的特征差异来实现的。一般对检测得到的候选区域会进行进一步的鉴别,鉴别过程相当于一个二分类,前提是需要提取出区分舰船和非舰船的特征。传统的计算机视觉领域中目标检测器一般包括3个步骤:候选区域提取、特征提取和分类器设计[2]。近年来,随着深度学习在计算机视觉领域得到了极大的成功,将深度学习目标检测技术引入到SAR图像舰船目标检测领域是大势所趋。基于深度学习的目标检测技术可以分成两类:基于分类任务(双阶段)的目标检测和基于回归任务的(单阶段)目标检测。第一类包括候选区域提取和对候选区域进行分类两个过程,此类方法精度稍高,但过程繁琐,计算复杂。例如R-CNN(region-based convolutional neural network)、Fast R-CNN、Faster R-CNN和R-FCN[3-6]等。第二类将检测视为回归任务,直接输出目标的类别和坐标,此类方法计算速度较快,但精度稍低,典型的代表是SSD(single shot detector)[7]和YOLO(you only look once)[8]。SSD网络包括两个部分,前面的是基础网络,用的是VGG16[9]的Conv5_3之前的网络,后面是专门设计的网络,进行3×3的卷积,使特征图尺寸快速下降,并在不同尺度的特征层上实现多尺度的目标检测,相比于Faster R-CNN和YOLO,其速度和精度都得到了提升。因此本文采用SSD检测方法作为基础框架。
本文的工作是基于以下3点展开的。
1) 关于特征融合。CNN提取的是不同层级的特征,底层特征位置信息丰富但是类别信息弱,高层特征类别信息丰富但位置信息弱。MS-CNN[10]在不同层级的特征图预测目标,Hypercolumns[11]、HyperNet[12]、ParseNet[13]和ION[14]组合特征之后进行预测,但它们都是在最高层进行的预测。而SSD在多特征图上分别进行预测,可以更好地检测到不同尺寸的目标。尽管SSD一定程度上考虑了多尺度检测的问题,但是其在直接预测时,小尺寸目标在经过多次卷积和降采样操作后会在高层消失,且由于底层类别信息不足,导致其容易预测出错,与高层结果产生较大的歧义。因此需要将低分辨率、强类别信息的特征与高分辨率、弱类别信息的特征进行组合(通过融合不同层级的特征图实现),生成的特征在所有层级都有丰富的语义特征,使底层也能够像高层那样检测出更加准确的目标。
2) 关于正负样本严重失衡。正负样本严重的不平衡是一个经典问题,典型解决办法是通过难例挖掘[15-16]来缓解,SSD使用难例样本挖掘将负样本和正样本之间的比例保持在3:1之间,这样会更快地优化和更稳定地训练,但同时会舍弃大量的易分类的负样本,而这些样本的舍弃是极大的浪费。在SSD检测过程中,大量的易分类的样本(明显是目标或明显不是目标的样本)的损失值在损失函数中会比少量的难分类样本的损失值起的作用要大,为了克服该问题,可通过采用对分类损失增加调制因子,使其遇到易分类样本时降低权重,遇到难分类样本时增加权重,使训练更加偏向于更有意义的难分类样本。
3) 关于先后进行检测与方位向估计耗时、繁琐和难以联合优化的问题。传统的方法将检测与方位向估计当两个步骤完成:首先用现成的目标检测器,其次是裁剪出目标区域,并用一个单独的网络(例如Alexnet[17]或者VGG)进行方位向估计,这造成了较大的额外的计算量。而通过联合检测方法与方位向估计的方法,使二者共用卷积层,仅需要一个网络即可同时完成两项任务,具有极大的速度优势,且在一个CNN(convolutional neural network)进行联合优化,会使检测和方位向估计都能达到比单独优化更好的收敛效果。因此,这里把目标方位离散成24个方位,将方位向估计问题看成分类问题,在SSD模型基础上增加若干小卷积,在输出检测结果的同时输出方位向估计结果,极大地降低了系统的复杂性,提高了计算效率。
1 算法描述 1.1 联合检测与方向估计整体框架如图 1所示,以SSD检测器为基本结构,增加特征金字塔模块进行特征融合,利用新的损失函数解决正负样本比例失衡问题,增加小的卷积核实现联合检测与方位向估计。实现输入一幅图像,经过一个网络的前向传播,即可得到一系列边框,且每个边框对应类别得分、边框偏置和方位向估计,之后通过非极大值抑制(non-maximum suppression,NMS)得到最终的输出结果。实现单阶段的联合检测与方位向估计,共享了模型结构,提高了舰船检测与方位向估计的速度和准确率。
|
| 图 1 联合检测与方位向估计总体结构 Fig. 1 The Overall Architecture of the Jointing Detection and Azimuth Estimation |
在各种尺度下检测出目标是一个极具挑战的问题[18-20],图 2(a)用了一个图像金字塔的形式建立了特征金字塔,特征值在图像的每个尺度独立地进行计算,图像金字塔广泛用于手工设计的特征之中,这种方法比较耗时,对计算量和存储量都有较高的要求。图 2(b)利用高层的单尺度特征实现快速地检测,实现方式是用CNN逐层提取特征,不同层级的特征图类似于金字塔,但是只在最后一层进行预测,没有考虑到在不同尺度特征图进行检测的问题,对应的检测器是R-CNN和YOLO等。图 2(c)是另一种特征金字塔的思路,通过在不同层级的特征图上分别进行目标预测,可以兼顾不同尺寸目标,典型的代表是SSD检测器,这种网络内层级特征产生不同空间分辨率的特征图,但是由于不同深度的特征图的类别信息含量不同(底层类别信息弱,高层类别信息强),底层预测相比于高层预测会产生较多的错误,所以需要将高层的信息融合到底层之后再分别进行预测。
|
| 图 2 4种金字塔机制(图中黑色矩形表示图像,白色矩形表示特征图) Fig. 2 Four Pyramid Mechanisms(The Black Rectangle in the Picture Represents the Image, and the White Rectangle Represents the Feature Map) |
图 2(d)为采用的特征金字塔网络,类似于图 2(b)和图 2(c),在保持卷积网络层级特征的金字塔形状的同时,使其在所有的尺度都有较强的类别信息(也可称为语义信息)。为了实现这一目的,将低分辨率、强语义的特征与高分辨率、弱语义特征进行组合,使生成的特征金字塔在所有层级都有丰富的语义特征,就像图 2(a)那样,但是相比图 2(a)需要更少的计算量和存储空间。
具体实现过程如图 3所示,包括由上到下的上采样和1×1卷积的旁路连接两路信号,上采样是为了让两层特征图尺寸一致,前一层要经过1×1的卷积才能用,目的是降低通道个数,使其与本层一致。同时1×1的卷积也是可学习的,也会通过学习得到最佳的组合权重,并进行逐元素相加组合得到融合之后的特征图。
|
| 图 3 特征融合模块 Fig. 3 Feature Fusion Module |
对于目标的方位向估计,较常用的解决方法是首先检测出物体,再对检测到的目标切片进行方位估计,这种方法比较耗时,且难以端到端优化[21]。由于SSD目标检测器是用一个深度卷积神经网络组成,直接通过前向计算预测出类别信息和目标的位置,相比R-CNN系列的双阶段过程具有很大的优势,因此这里将目标的方位向看成类别信息去学习,与检测结果同时输出目标的离散化的方位向。即将方位向估计直接融入目标检测器中,而不是将其作为检测的后续阶段完成,这使得检测和方位向估计得到联合优化,并节省大量的计算量。
将方位向估计可以看成分类问题,这样使整个任务更加可行,方位向标签容易制作。离散化360°的方位向为24个小扇形,每个小扇形是15°,方位向估计精度为7.5°,方位向的类别t取值范围是1~24,分别代表舰船的方位向是(t-1)×15到t×15,单位是(°)。
图 4为默认边框Anchor的示意图,在每个固定的位置预测不同尺度和长宽比的默认边框,在SSD检测器中对于每一个默认边框,会给出每个类别的置信度得分和位置偏置,这里增加了预测物体的方位向。
|
| 图 4 本文方法产生的Anchor示意图 Fig. 4 Schematic Diagram of Anchor Generated by Our Method |
类似于SSD所增加的3×3卷积核实现分类一样,为了完成方位向估计,需要在每个尺度上增加3×3的卷积核,而所增加的计算量相当少,比双阶段的方位向估计计算量仍然少很多。
1.4 损失函数设计总的目标损失函数由类别置信度损失Lloc、定位损失Lcls和方位向置信度损失Lazi的加权求和组成:
| $ L(x, c, l, g)=\frac{1}{N}\left(L_{\mathrm{cls}}(x, c)+\alpha_{1} L_{\mathrm{loc}}(x, l, g)+\right.\\ \alpha_{2} L_{\text { azi }}(x, a)) $ | (1) |
式中,α1、α2通过交叉验证得到,α1=1,α2=1.5;c代表目标类别;a表示离散得到的方位向的类别;N是与真实边框相匹配的默认边框Anchor box个数:定位误差和类别置信度与SSD对应的文献[8]一致;方位向置信度Lazi是Softmax Loss,输入为每一方位的置信度a:
| $ L_{\mathrm{azi}}=-\sum\limits_{i \in \mathrm{Pos}}^{N} x_{i j}^{p} \log \left(\hat{a}_{j}^{p}\right)-\sum\limits_{i \in \mathrm{Neg}}^{N} \log \left(\hat{a}_{j}^{0}\right) $ | (2) |
式中,
单阶段目标检测器在训练时都面临着类别不平衡的现状,通常的解决办法是进行一些难例挖掘,这会忽略掉很多样本。当存在一个物体是易分类样本时(置信度远大于0.5的样本),虽然其损失函数低,但是大量的易分类样本累加形成的损失值会明显大于那些少量的困难样本(尽管单个难样本的损失值较大,但是其数量少),导致目标函数难以收敛到理想位置。
本文对原损失增加一个调制因子(1-pt)r,这里r≥0,对两类置信度损失函数修改为:
| $ F L_{\mathrm{cls}}\left(p_{t}\right)=-\left(1-p_{t}\right)^{r} L_{\mathrm{cls}} $ | (3) |
| $ F L_{\mathrm{azi}}\left(p_{t}\right)=-\left(1-p_{t}\right)^{r} L_{\mathrm{azi}} $ | (4) |
通过对标准的损失函数增加一个(1-pt)r因子,会减小易分类样本(pt>0.5)的相对损失,会将更多的注意力放在难分类样本上。
损失函数在有大量易分类的背景样本时会有很高的准确率,特别适合针对靠岸的舰船目标(候选窗口比较密集,大片海域候选窗口比较少)。
通过重新定义损失函数,使简单样本的权重降低,其在训练时聚焦于难例样本。新的损失函数允许高效的训练所有的样本而不需要额外的难例挖掘,不会有大量的简单样本在损失和梯度计算过程中占于主导地位的情况发生。
1.5 其他应用细节默认边框Anchor box的个数:针对SAR图像舰船目标类别少且目标稀疏的特点,这里减少默认框Anchor的个数,文献[8]对于输入为300×300的图像,在从前到后6个特征图分别有(4, 6, 6, 6, 4, 4)个默认边框,这里变成(2, 3, 3, 3, 2, 2)。
分类模型:对于目标类别,本研究利用的PASCAL VOC数据集,有20类目标和1类背景,这里由于SAR图像有限,只收集到了舰船这一类目标,因此将类别信息从21变成2。对于目标方位向,将360°离散成24份,即进行24类的分类任务,这里暂时不考虑方位向模糊的问题(即20°和160°如何区分)。
训练和预测:在训练好的VGG16模型中fine-tuning得到,使用SGD,初始学习率为1×10-3, 冲量为0.9,权重衰减为0.000 5,batch size为16。不同数据集的学习率改变策略不同。新增加的卷积网络采用Xavier的方式进行初始化。为了能够利用预训练好的SSD模型,将单通道的SAR图像变成三通道,在训练好的SSD基础上进行微调。在最开始的4万次迭代中,本文使用的学习率是1×10-3,之后将其减小到1×10-4,再接着迭代2万次。在预测阶段,直接预测每个默认边框的偏移以及对于每个类别相应的得分,最后通过NMS的方式得到检测结果。
2 实验分析算法在Ubuntu 14.04操作系统下进行处理,CPU采用8个Intel(R) Core(TM) i7-6770K,GPU采用NVIDIA GTX1080 GPU,利用CUDA8.0和CUDNN5.0进行加速,算法用Caffe进行实现。
基于深度学习的目标检测技术的关键是构建合适量级的数据集及其标签。建立了SAR图像数据集,称作SSDD(SAR ship detection dataset)。该数据集借鉴了PASCAL VOC数据集的构建流程,包括了不同分辨率、极化、海况、大片海域和靠岸等条件的SAR图像。SSDD一共有1 160个图像,2 456条船,平均每幅图像有2.12条船,将这个数据按照7:2:1的比例划分成了训练集、测试集和验证集。SSDD包含了不同条件下的SAR船舶目标,检测的目的是对每个SAR图像给出船的位置边框(x,y,w,h)以及类别置信度和方位向置信度,其中(x,y)代表左上角坐标,w代表方框的宽度,h代表方框的高度。
检测任务的评价指标是AP(average precision),定义如下:
| $ \mathrm{AP}=\int_{0}^{1} P(R) \mathrm{d} R $ | (5) |
式中,R为召回率;P为精度。
AP表示预测是对的,且预测边框与真实边框的交并比(intersection-over-union, IoU)大于0.5,联合检测与方位向估计的评价指标是平均方位向准确率(average azimuth precision, AAP),其类似于AP,在计算AAP时,当检测输出是正确的、预测的边框的IoU大于0.5且方位向估计在误差范围之内。AAP增加一个额外的要求,预测的方位角必须正确,方位角估计的最大误差为7.5°。
表 1是为了验证所提方法进行的几组实验。其中,F代表添加了特征金字塔网络模块,L代表添加了损失函数模块,A代表添加了方位向估计利用的VGG16网络进行的24分类任务。输入图像尺寸为300×300。T1代表检测一幅图像所需时间,T2代表方位向估计所需时间,T=T1+T2,以上单位都是ms。“双”代表先进行检测,再对检测到的目标进行方位向估计(24分类),“单”代表本文所提出的联合检测和估计。
| 指标 | 方法 | AP | AAP | T1 | T2 | T |
| SSD | 71.6 | - | 18 | - | 18 | |
| SSD+F | 73.2 | - | 22 | - | 22 | |
| SSD+L | 72.9 | - | 18 | - | 18 | |
| SSD+F+L | 74.1 | - | 23 | - | 23 | |
| SSD+A | 单 | 71.6 | 43.4 | - | - | 20 |
| 双 | 71.6 | 44.8 | 18 | 98 | 116 | |
| SSD+F+A | 单 | 73.2 | 44.5 | - | - | 23 |
| 双 | 73.2 | 46.3 | 22 | 98 | 120 | |
| SSD+ L+A | 单 | 72.9 | 45.0 | - | - | 22 |
| 双 | 72.9 | 47.6 | 18 | 98 | 116 | |
| SSD+F+L+A | 单 | 74.1 | 46.3 | - | - | 24 |
| 双 | 74.1 | 48.7 | 22 | 98 | 120 |
通过表 1的结果可以看到,对于检测任务,通过对SSD增加了特征金字塔操作,使得AP有了1.6个百分点的提升,而测试时每幅图的耗时仅仅增加了4 ms左右。新的损失函数也对AP有一定的提升,大概1.3个百分点,而测试时间没有发生变化,这是因为测试时仅仅进行前向传播,对损失函数的改动仅仅影响训练时间,不影响测试时间。
对于本文所提出的联合检测与方位向估计,单阶段(联合)在速度和精度上都有很大的提高,而双阶段不仅在耗时上很大,其精度也比单阶段稍差。这是由于联合优化是端到端进行的,其在优化方位向估计的同时也在优化检测结果,这就是深度学习联合优化的优点,而双阶段的检测任务完成之后,就无法根据方位向估计的结果对检测效果进行修正。由表 1发现:
1) 相比SSD进行检测,VGG16进行方位向估计会非常耗时,这是因为SSD所用的网络是VGG16进行的改进,去掉了占据大部分参数量和计算量的全连接层。
2) 增加了特征金字塔网络,可以明显提高检测性能,但是AP不能说明所有的问题(即到底是因为大尺寸目标还是因为小尺寸目标的检测效果好导致的整体AP提高),因此在SSDD数据集中找到一些典型小尺寸目标,通过对比有或无特征金字塔网络,发现增加了特征金字塔网络提高了对小目标的检测性能,增加了特征金字塔模块,能够检测到小尺寸的目标。图 5是数据集SSDD部分样本处理结果。
|
| 图 5 数据集SSDD部分样本处理结果 Fig. 5 Part of Processing Results in SSDD |
本文提出了一种SAR图像舰船目标联合检测与方位向估计方法。该方法以SSD检测器为基础,通过特征金字塔网络将高层类别信息引入底层,提高底层分类精度,同时也提高对小尺寸目标的检测准确率。通过对分类损失函数引入调制因子,降低大量的易分类样本对目标函数的影响,使损失函数快速准确的收敛。通过将方位向估计看成分类任务,在增加少量计算量的情况下,实现对舰船目标方位向的估计。整个过程是端到端的,不需要中间步骤和各种人为的假设,且具有较强的扩展性。通过在公开的数据集SSDD的实验证明,所提出的特征金字塔网络和损失函数能够提高检测的准确率,且能更好地适应小尺寸目标,设计的联合检测与方位向估计进一步提高了检测和方位向估计的精度,且极大地提高了效率,降低了系统的复杂性。
| [1] |
Friedman W C C, Pichel K S, Clemente-Colon W G, et al. Automatic Detection of Ships in RadarSAT-1 SAR Imagery[J]. Canadian Journal of Remote Sensing, 2001, 27(5): 568-577. DOI:10.1080/07038992.2001.10854896 |
| [2] |
Viola P, Jones M, Rapid Object Detection Using a Boosted Cascade of Simple Features[C]. CVPR Colorado, USA, 2001 http://www.researchgate.net/publication/3940582_Rapid_object_detection_using_a_boosted_cascade_of_simple_features
|
| [3] |
Girshick R, Donahue J, Darrell T, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]. IEEE Conference on Computer Vision and Pattern Recognition, IEEE Computer Society, Columbus, USA, 2014 http://www.researchgate.net/publication/258374356_Rich_feature_hierarchies_for_accurate_object_detection_and_semantic_segmentation/links/0301dd4e0cf23c5c592c85c9.pdf
|
| [4] |
Girshick R. Fast R-CNN[C]. IEEE International Conference on Computer Vision (ICCV), Santiago, Chile, 2015 http://www.researchgate.net/publication/275669302_Fast_R-CNN
|
| [5] |
Ren S, He K, Girshick R, et al. Faster R-CNN:Towards Real-time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39: 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
| [6] |
Dai J, Li Y, He K, et al. R-FCN: Object Detection via Region-based Fully Convolutional Networks[C]. CVPR, Las Vegas, USA, 2016 http://www.researchgate.net/publication/303409473_R-FCN_Object_Detection_via_Region-based_Fully_Convolutional_Networks
|
| [7] |
Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]. CVPR. Las Vegas, USA, 2016 https://www.researchgate.net/publication/278049038_You_Only_Look_Once_Unified_Real-Time_Object_Detection
|
| [8] |
Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[C]. ECCV 2016, Amsterdam, Netherlands, 2016 https://link.springer.com/chapter/10.1007/978-3-319-46448-0_2
|
| [9] |
Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-scale Image Recognition[C]. CVPR, Columbus, USA, 2014 http://www.oalib.com/paper/4068791
|
| [10] |
Cai Z, Fan Q, Feris R S, et al. A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection[C]. European Conference on Computer Vision, The Netherlands, 2016 http://www.springerlink.com/content/fulltext.pdf?id=doi:10.1007/978-3-319-46493-0_22
|
| [11] |
Hariharan B, Arbelaez P, Girshick R, et al. Hypercolumns for Object Segmentation and Fine-grained Localization[C]. CVPR, Boston, USA, 2015 http://www.researchgate.net/publication/308808582_Hypercolumns_for_object_segmentation_and_fine-grained_localization
|
| [12] |
Kong T, Yao A, Chen Y, et al. HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection[C]. CVPR, Las Vegas, USA, 2016 http://www.researchgate.net/publication/311609212_HyperNet_Towards_Accurate_Region_Proposal_Generation_and_Joint_Object_Detection
|
| [13] |
Liu W, Rabinovich A, Berg A C. ParseNet: Looking Wider to See Better[C]. CVPR, Boston, USA, 2015 http://www.researchgate.net/profile/Andrew_Rabinovich2/publication/278413297_ParseNet_Looking_Wider_to_See_Better/links/558c3ab008ae40781c2042f7.pdf
|
| [14] |
Bell S, Zitnick C L, Bala K, et al. Inside-Outside Net: Detecting Objects in Context with Skip Pooling and Recurrent Neural Networks[C]. IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 2016 http://www.oalib.com/paper/4016398#.XQb1KPnEyFM
|
| [15] |
Shrivastava A, Gupta A, Girshick R. Training Region Based Object Detectors with Online Hard Example Mining[C]. CVPR, Las Vegas, USA, 2016
|
| [16] |
Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017(99): 2999-3007. |
| [17] |
Krizhevsky A, Sutskever I, Hinton G. Image Net Classification with Deep Convolutional Neural Networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 1097-1105. |
| [18] |
Erhan D, Szegedy C, Toshev A, et al. Scalable Object Detection Using Deep Neural Networks[C]. IEEE Conference on Computer Vision and Pattern Recognition, Washington D C, USA, 2014 http://www.researchgate.net/publication/259212328_Scalable_Object_Detection_using_Deep_Neural_Networks
|
| [19] |
Fu C Y, Liu W, Ranga A, et al. DSSD: Deconvolutional Single Shot Detector[C]. CVPR, Honolulu, USA, 2017 http://www.researchgate.net/publication/312759848_DSSD_Deconvolutional_Single_Shot_Detector
|
| [20] |
Lin T Y, Dollár P, Girshick R, et al. Feature Pyramid Networks for Object Detection[C]. CVPR, Honolulu, USA, 2017 http://www.researchgate.net/publication/311573567_Feature_Pyramid_Networks_for_Object_Detection
|
| [21] |
Poirson P, Ammirato P, Fu C Y, et al. Fast Single Shot Detection and Pose Estimation[C]. Fourth International Conference on 3D Vision, IEEE, Cornell, USA, 2016 http://www.researchgate.net/publication/308320592_Fast_Single_Shot_Detection_and_Pose_Estimation
|
2019, Vol. 44


