基于改进YOLOv3的合成孔径雷达影像舰船目标检测

2021-03-07 13:59黄勃学杨朝辉黄五超
科学技术与工程 2021年4期
关键词:舰船聚类样本

黄勃学, 韩 玲, 王 昆, 杨朝辉, 黄五超

(长安大学地质工程与测绘学院, 西安 710054)

随着遥感技术的发展,基于遥感影像进行舰船检测成为了沿海国家的重要任务,并且在舰船寻找与救助、渔船监视、非法移民、保卫领土、反毒品以及舰船非法倾倒油污的监视管理等方面发挥着重要作用[1-2]。合成孔径雷达(synthetic aperture radar,SAR)是一种主动探测的成像传感器,成像不受云雾、光照的影响,可以对目标实现多波段、多极化、多视角的观测[3]。在舰船检测任务中,SAR不受海洋天气多变的限制,能够对舰船目标进行全方位实时监测。

SAR影像舰船检测虽然起步较早,但大部分研究是基于传统的目标检测思想,仍然是半自动化的检测算法。近年来,中外对SAR影像舰船检测开展了大量的研究。文献[4-6]提出了双参数恒虚警率(constant false alarm rate,CFAR)算法;加拿大商用软件OMW(ocean monitoring workstation)[7]使用基于K分布的CFAR算法进行舰船检测;Kapur等[8]将信息论中的熵引入图像分割,提出了最佳熵双阈值检测算法;Tello等[9]、Wardlow[10]使用小波变换来检测舰船目标;张风丽等[11]提出了基于小波变换和相关运算结合的舰船目标检测算法;Liu等[12]利用多极化特性进行舰船目标检测。

近年来,随着深度学习在各学科的泛化发展,目标检测算法也有了实质性进展,推动了SAR影像舰船检测任务从半自动化进入到全自动化时代,目前比较流行的检测算法可以分为两大类。一类是基于区域建议(region proposal)的分步式目标检测方法,代表性的有:区域卷积神经网络(region-based convolutional neural networks, R-CNN)[13]、SPP(spatial pyramid pooling)[14]、Fast R-CNN[15]、Faster R-CNN[16],这些是two-stage算法,需要先使用选择性搜索(selective search)或者区域建议网络(region proposal networks,RPN)产生建议区域,然后再在建议区域上进行边框回归和二次分类,实现目标检测;另一类是基于回归思想的一步式目标检测方法,代表性的有:YOLO(you only look once)[17]、SSD(single shot multibox detector)[18]等,这些是one-stage算法,将目标检测问题简化为回归问题,没有显式的区域提名过程,仅使用一个卷积神经网络直接预测不同目标的类别和位置。为此,以one-stage的YOLOv3算法作为框架基础,对锚点框(anchor boxes)生成机制进行改进,并与多种聚类算法进行对比分析,以期提高YOLOv3舰船检测的效果。

1 YOLOv3基本原理

YOLOv3是在YOLOv2基础上改进而来的目标检测模型,是目前速度和精度最为均衡的检测网络,它采用一个单独的卷积神经网络(convolutional neural networks,CNN)实现end-to-end的目标检测。

图1 Darknet-53网络结构Fig.1 Darknet-53 network architecture

YOLOv3相比YOLOv2,进行如下改进:①加入了多尺度预测,借鉴特征图金字塔网络(feature pyramid networks, FPN)思想,通过融合多层特征映射信息预测3种不同尺度的先验框;②使用K-means聚类得到边界框(bounding box)的先验框,选择9个簇以及3个尺度,然后将这9个簇均匀分布在这3个尺度上,即每种尺度预测3个anchor boxes,对于每种尺度,引入新的卷积层进一步提取特征,最后在各尺度上输出边界框(bounding box)的信息;③分类器不再使用softmax,而是使用独立的多个logistic分类器代替;④在训练过程中,使用二元交叉熵损失(binary cross-entropy loss)来进行类别预测;⑤用Darknet-53代替Darknet-19进行特征提取,如图1所示,即借鉴残差网络[19]的思想,交替使用3×3与1×1的卷积神经网络,简化了ResNet神经网络,加快训练速度。

2 舰船目标检测框架

2.1 舰船目标检测流程

舰船目标检测的整体流程如图2所示。

图2 舰船目标检测流程Fig.2 Ship target detection process

2.2 锚点框算法改进

图3 SAR船舰数据集可视化Fig.3 SAR ship data set visualization

anchor boxes是用来预测边界框(bounding box)的,锚点框算法最初是在Faster R-CNN中提出的,原文用128×128、256×256、512×512尺度,以及1∶1、1∶2、2∶1纵横比共计9个anchors来预测边界框。每个anchor预测2 000个框左右,使得目标检出率大大提高。从YOLOv2开始增加了锚点框机制,到YOLOv3已由5个增加到了9个anchors。由于作者是在PASCAL VOC数据集得到的这组anchor,对于自然数据集比较敏感,但是对于遥感影像数据集,尤其是SAR数据集来说,宜使用新的锚点框组合进行数据集的训练。在数据集11 853张船舰SAR影像中,共有16 174只船舰目标,以标注框的标准化宽高作为坐标维度,可视化数据集分布,如图3所示,可以发现95%以上的目标的尺寸集中在0.5×0.5,并且数据聚集特别紧密,存在少部分离群样本。还对训练集标注框的标准化宽高进行统计分析,如图4、图5所示,发现有83.45%和 83.10%的目标标准化宽高分布于0.02~0.18,也就是说绝大部分目标不足图像1/10,因此SAR船舰数据集的小目标居多。

图4 SAR船舰数据集标注框宽度统计结果Fig.4 Statistical results of the box width of SAR ship data set

图5 SAR船舰数据集标注框高度统计结果Fig.5 Statistical results of the box height of SAR ship data set

对于距离的选择,如果按照传统K-means算法使用欧氏距离,则大的boxes会比小的boxes产生更多的损失误差。YOLO作者在设计锚点框思想时希望可以通过anchor boxes获得更好的IOU scores,并且IOU scores与bounding box的尺寸无关,为此设计了新的距离公式为

d(box,centroid)=1-IOU(box,centroid)

(1)

式(1)中:box为各anchor box;centroid为当前簇群的定位框;IOU(box,centroid)为anchor和当前定位框的交并比。

2.2.1K-median++

由于K-means算法需要不断的更换聚类中心,通过平均值来重新计算每个簇群的中心。对于数据聚集紧密且有明显离散点的数据,使用平均值确定聚类中心会使处于离散点簇的中心不稳定,容易受到噪声点的影响;同时K-means算法初始聚类中心需要人为确定,不同的初始聚类中心可能导致完全不同的聚类结果。针对这两点不足,对于YOLOv3的锚点框聚类算法进行改进,以使其更加符合舰船SAR影像数据集的特点,得到更能反映舰船样本尺寸的anchors参数。

对于数据离散点较多,致使尺寸较大的bounding box的簇群的中心不能被真实反映,用中位数代替均值计算新的聚类中心。这样针对数据集中某些离群点,中位值的变化也不是很大,甚至无变化,因此鲁棒性会比K-means好很多;对于初始聚类中心的选择,应使初始聚类中心之间的相互距离要尽可能的远。因此将本文的聚类方法命名为K-median++。

2.2.2K-median++算法实现

K-median++算法实现伪代码如下。

(1)从数据集点群随机选择一个点作为第一个聚类中心。

(2)对于数据集中的每一个点X,计算其与最近的聚类中心(指已选择的聚类中心)的距离,记为D(X)。

(3)再从数据集中随机挑选一个随机点作为“种子点”。

(4)对于每个点X,计算其和最近的一个“种子点”的距离并保存在一个数组中,然后把这些距离加起来得到Sum[D(X)]。

(5)取一个能落在Sum[D(X)]中的随机值Random,执行Random=D(X),直到Random≤0,此时的点就是下一个 “种子点。

Random的取法:为使Random落在Sum[D(X)]中,设计Random=Sum[D(X)]α,其中0<α<1,Random是随机的,那么它有更大的概率落在D(X)较大的区域内,如图6所示,Random更有可能落在D(Xi)中,Xi为数据集的第i个点;此时利用Random=D(X),直到Random≤0,便可知道Random落在了哪个区间段,因此Xi就是下一个选择的随机聚类中心。

(6)重复步骤(2)~(5),直到K个初始聚类中心被选择出。

(7)利用K个初始聚类中心,执行K-median聚类算法。

在对数据集进行预处理之后,利用K-means、K-means++、K-median及K-median++4种算法进行聚类,并以各自的meanIOU作为评价标准,对比结果如表1所示。

对4种聚类算法的meanIOU变化曲线可视化,如图7(a)所示,K-means在第7次迭代时meanIOU到达峰值74.52%,之后随着迭代的收敛,meanIOU呈缓慢下降趋势,最终经过34次迭代,meanIOU达到73.40%;如图7(b)所示,K-means++与K-means的曲线走势大致相同,在第6次迭代meanIOU达到峰值75.60%之后会缓慢下降,最终经过26次迭代,meanIOU达到75.41%,相比K-means提升了个2.01百分点;如图7(c)所示,K-median并未出现meanIOU随迭代而明显下降的问题,同时,仅通过17次迭代,meanIOU便稳定在了74.99%,相比K-means

图6 随机聚类中心选择Fig.6 Random cluster center selection

表1 4种聚类算法的对比结果

图7 平均交并比变化曲线Fig.7 The curve of the mean intersection over union

提升了1.59个百分点;如图7(d)所示,K-median++的整个曲线走势是很平稳地上升,并且起始聚类的meanIOU高达73.04%,这一点和K-means++很相近,这也是自动生成初始聚类中心算法的突出优势,初始聚类中心的选取很可靠,因此后续达到收敛要求迭代次数少,在经过9次迭代之后,meanIOU稳定在了77.10%,相比K-means提升了个3.7百分点。因此经过对比发现,K-median++作为YOLOv3的锚点框聚类算法是可行的,相比其他三种聚类算法,meanIOU最高,迭代次数最少,可以使anchor boxes的精度得到较大的提高,计算量得到大幅度降低。

3 实验

3.1 实验平台

本文算法在开源目标检测框架Darknet上实现,具体相关配置环境如表2所示。

表2 实验配置环境

3.2 数据集获取

由于遥感影像数据集较为缺乏,目前大部分目标检测数据集都是真实场景数据,如PASCAL VOC2007/2012、COCO等数据集;近年来,由部分机构、高校带头做了不少的遥感数据集,如DOTA、NWPUVHR-10、RSOD等。数据集是SAR船舰图片,采用中科院遥感所王超团队构建的“多模式SAR图像船舶检测数据集——CAESAR-RADI”,选取其中11 853张图片。然后将数据集分为训练集、验证集、测试集,分别用于模型训练、参数调优和结果评价。

3.3 实验步骤

①将制作好的训练集的xml标注文件转换为对应的txt标注文件;②生成训练集、验证集、测试集图像路径列表;③调整优化部分网络参数,网络配置参数如下(动量:0.9;权重衰减:0.000 5;饱和度:1.5;曝光度:1.5;色调:0.1;最大迭代次数:2 000;学习率:0.01、0.001、0.000 1);④利用K-means脚本和K-median++脚本得到训练集的9种anchors组合;⑤修改类名文件.names和.data文件;⑥加载预训练模型darknet53.conv.74,加快网络收敛;⑦将K-means算法和K-median++算法得到的两种anchors组合分别嵌入网络配置文件,生成各自的训练权重文件。

3.4 实验结果

对训练集分别用K-means和K-median++生成的anchors参数进行训练,得到各自的权重文件,再进行结果评估,模型训练的损失函数曲线如图8所示,初始迭代损失(loss)高达974,随着迭代进行,在第70次迭代时,损失值值已降到了个位数,在前500次迭代中,YOLOv3(K-means)和YOLOv3(K-median++)的损失值差距不明显,曲线基本相互重叠;当迭代进行到600次时,两条损失曲线之间的差距逐渐拉开,后者较前者学习能力更强,收敛速度更快,训练效果更好。

图8 损失函数曲线Fig.8 Loss function curve

3.4.1 船舰检测结果

在训练好YOLOv3(K-means)和YOLOv3(K-median++)的权重文件之后,在测试集上进行检测,检测结果如图9所示。由图9可以发现,YOLOv3(K-median++)对于小目标的检测有了明显提升,使得更多的舰船目标被检测出来。

图9 SAR影像舰船检测结果Fig.9 SAR image ship detection results

3.4.2 评价指标

实验结果评价采用国际PASCAL VOC目标检测挑战赛的度量标准,即精确度(Precision)、召回率(Recall)、平均精度(AP)和平均精度均值(mAP)。精确率和召回率定义为

(2)

(3)

式中:TP为预测对的正样本;FP为预测错的正样本;TN为预测对的负样本;FN为预测错的负样本。精确率是针对预测结果而言,预测为正的样本中有多少是真正的正样本,即预测的正样本中有多少是预测对的;召回率是针对数据集中的正样本而言,表示数据集中正样本有多少被正确预测到,即有多少正样本被正确检出。最终舰船目标检测结果评估如表3所示。

表3 舰船目标检测结果评估

4 结论

通过改进YOLOv3的anchor boxes聚类方法,提出了新的聚类算法K-median++,通过对舰船SAR数据集的标注框进行聚类分析,获得了更为合理的anchors参数。得出如下结论。

(1)相较于传统的K-means聚类方法,K-median++聚类算法对紧密数据集有更好的鲁棒性,相比K-means、K-means++、K-median 3种聚类方法,通过K-median++得到的聚类中心更为合理,大幅度降低计算量,同时获取的anchor boxes可以保持较高的meanIOU;K-median++算法不仅适用于本文数据集,也适用与类似紧密型聚集数据的聚类。

(2)基于K-median++的YOLOv3检测效果也更为出色,对于不同尺寸的船舰目标都能保证较高的检测准确率,同时召回率获得了明显提升,即有更多不明显船舰目标会被检测出。

猜你喜欢
舰船聚类样本
舰船通信中的噪声消除研究
风浪干扰条件下舰船航向保持非线性控制系统
舰船测风传感器安装位置数值仿真
用样本估计总体复习点拨
面向WSN的聚类头选举与维护协议的研究综述
规划·样本
改进K均值聚类算法
随机微分方程的样本Lyapunov二次型估计
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法