基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法
文献发布时间:2023-06-19 10:24:22
技术领域
本发明涉及目标检测技术领域,具体涉及一种基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法。
背景技术
近年来,基于卷积神经网络(CNN)的目标检测算法取得了突破性的进展,其应用场景非常广泛。目前,较为流行的通用目标检测算法按照处理步骤主要分为两大类,一类是基于候选区域的两阶段算法,另一类是端到端的单步检测算法。
基于候选区域的两阶段算法需要先产生目标候选框,再对候选框中目标的类别和位置进行预测,这类算法的典型代表为R-CNN系列算法。如文献[1]Girshick R,Donahue J,Darrell T,et al.Rich Feature Hierarchies for Accurate Object Detection andSemantic Segmentation[C]IEEE Conference on Computer Vision&PatternRecognition.2014.中记载的技术方案。R-CNN是第一个成功将深度学习应用于目标检测上的算法,该算法使用滑动窗口的思想,采用选择性搜索算法提取候选区域,然后利用卷积神经网络获取每个候选区域的特征向量并使用支持向量机(SVM)进行分类,最后通过回归的方式调整目标边界框的大小,得到目标检测结果。
选择性搜索算法如文献[2]Uijlings,Jasper&Sande,K.&Gevers,T.&Smeulders,Arnold.(2013).Selective Search for Object Recognition.International Journalof Computer Vision.104.154-171.10.1007/s11263-013-0620-5.中记载的技术方案。R-CNN在检测精度上表现良好,但其时间和空间消耗较大,运行速度较慢。针对R-CNN速度上的缺陷,Fast R-CNN被提出。
如文献[3]Girshick,R.,Fast R-CNN.Computer Science-Computer Vision andPattern Recognition.2015.中记载的技术方案。Fast R-CNN主要进行了两个方面的改进:1)采用一个CNN对全图进行特征提取;2)将提取候选区域后面的分类与回归模块合并训练,有效降低了模型的时间和空间的消耗。Fast R-CNN在提升模型整体运行速度的同时提高了目标检测准确率,但由于其候选框提取算法使用的是选择性搜索算法,仍然耗时较多。文献[4]Ren S,Girshick R,Girshick R,et al.Faster R-CNN:Towards Real-Time ObjectDetection with Region Proposal Networks[J].IEEE Transactions on PatternAnalysis&Machine Intelligence,2017,39(6):1137-1149.中记载的Faster R-CNN的主要贡献在于它的实时性,它使用区域生成网络替代选择性搜索算法,大大缩减了生成候选区域的时间,具有较高的实用价值。
典型的单步检测算法有文献[5]Liu W,Anguelov D,Erhan D,et al.SSD:SingleShot MultiBox Detector[J].2015.记载的SSD;文献[6]RedmonJ,Divvala S,Girshick R,et al.You Only Look Once:Unified,Real-Time Object Detection[J].2015.记载的YOLO系列等。与两阶段算法不同的是,这类算法仅仅通过一个卷积神经网络提取图像特征并利用回归的方式直接预测目标的类别和位置信息,因此速度上具有较大的优势。YOLO是第一个成功的单步检测算法,检测速度快,但由于它直接通过回归的方式预测目标的位置信息,得到的目标边界框位置不准确,导致检测精度并不高。为了获取更精准的目标位置信息,SSD结合回归的思想及锚框机制,对整幅图像各个位置上的多尺度特征进行处理,从而得到目标类别及位置信息。SSD在检测速度上优于Faster RCNN,精度上优于YOLO,但SSD的先验框需要依据经验手动设置,无法训练得到,而且其对于小目标的召回率高。
文献[7]Redmon J,Farhadi A.[IEEE 2017IEEE Conference on ComputerVision and Pattern Recognition(CVPR)-Honolulu,HI(2017.7.21-2017.7.26)]2017IEEE Conference on Computer Vision and Pattern Recognition(CVPR)-YOLO9000:Better,Faster,Stronger[J].2017:6517-6525.记载的YOLOv2在YOLO的基础上引入了大量改进策略,如批归一化操作、锚框机制、新的特征提取网络、多尺度训练等,有效提升了目标检测的精度与速度,但是对于重叠目标分类问题,v2还是无法很好地解决。文献[8]Redmon J,Farhadi A.YOLOv3:An Incremental Improvement[J].2018.记载的YOLOv3补齐了以往YOLO版本的短板,主要通过使用更好的基础网络提取特征,并使用类似于特征金字塔的模块实现多尺度预测,实现了速度与精度的良好折中,尤其加强了对小目标的检测性能。
已有的通用目标算法在各种应用场景下的精度与速度都达到较好的性能,但它们都是基于垂直矩形框来定位目标区域的。为了进一步提升目标检测的精准性,已有部分研究人员提出了倾斜矩形框检测这一概念。
文献[9]朱煜,方观寿,郑兵兵,韩飞.基于旋转框精细定位的遥感目标检测方法研究[J/OL].自动化学报:1-11[2020-11-14].https://doi.org/10.16383/j.aas.c200261.提出了一种两阶段的旋转框检测网络,该网络粗调阶段得到旋转框,精调阶段优化旋转框的定位,所提出的方法在DOTA遥感数据集上实现了较好的效果,但该方法存在检测速度较慢、GPU资源消耗较大。
文献[10]李巍,戴朝霞,张向东,张亮,沈沛意.旋转目标检测算法在卫星影像中的应用[J/OL].计算机工程与应用:
1-10[2020-11-14].http://kns.cnki.net/kcms/detail/11.2127.TP.20200922.1531.016.html.提出了一种基于旋转矩形空间的YOLOv3改进算法去精准定位卫星影像目标,该方法可以有效准确地定位卫星影像的目标物体,避免了密集场景下预测框的遮挡问题,但该方法中引入的基于旋转矩形的非极大值抑制算法,需要按照不同情况人工设定不同角度和长宽比的NMS阈值,模型自适应性还有待提升。中国专利[申请号:CN201610592182.5]提出了一种基于深度卷积和梯度旋转不变性的航拍图像目标检测方法,通过粗定位、特征分析、RGT特征提取、特征融合等多个步骤实现目标检测,该方法克服了航拍角度、距离多变带来的图像定位问题,但由于处理过程较多,导致时间开销大。中国专利[申请号:CN201910035876.2]提出了一种基于旋转不变特征的遥感图像飞机目标检测方法,该发明在复杂背景下对遥感图像中的飞机目标检测准确率高,但处理步骤较多,耗时长。
对于无人机拍摄的高空图像,如室外停车场的车辆图像、港口的船舶图像等,由于无人机的拍摄方向存在不固定性,图像中的车辆、船舶等目标会存在不同的倾斜角度,使用通用的目标检测算法得到的目标区域中会包含较多的冗余背景信息,且当目标较多且距离近时,得到的目标框会有较多重叠区域,不便于分辨目标。
发明内容
针对现有技术中的目标检测算法存在的不足之处,本发明提供一种基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法,直接使用YOLOv3目标框作为不完整目标的检测框,所提方法为端到端的卷积神经网络,不仅在速度上具有较大的优势,同时还提升了采用矩形框定位方法的精准程度。
本发明采取的技术方案为:
基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法,在原始YOLOv3网络模型基础上,对YOLOv3网络模型输出层特征信息进行扩展,增加目标完整性预测、目标倾斜程度类别预测、目标最小外接矩形边界框位置预测,实现精准的目标定位。
所述YOLOv3网络模型输出层特征通道数filter的如公式(1)所示:
filter=bNum*(ncls+ncoord+nconf) (1)
其中:bNum代表每个网格单元预测的边界框数目,即每个尺度的锚框负责预测一个边界框;ncls为模型训练时设定的类别个数;ncoord表示模型预测的边界框的位置信息数目,即边界框中心点(x,y)和宽w高h;nconf为模型预测的边界框的置信度。
所述YOLOv3网络模型,在训练时,网络为每个标记框选取与之交并比IOU最大的锚框,并学习标记框对于锚框的偏移值,从而得到模型权重;检测时,网络以置信度最大的锚框为基准,通过预测目标框相对于该锚框的偏移值,并结合回归公式(2)、公式(3)、公式(4)、公式(5)得到目标边界框位置;
b
b
其中:b
t
c
所述YOLOv3网络模型输出层特征信息包括目标边界框的中心点坐标(x,y)、宽w、高h、置信度s、类别c信息。
所述目标完整性预测,指的是判断目标在图像中是否完整,若目标只有部分在图像中,则目标不完整,标签f取值为0,后面的特征信息失效,直接使用原始YOLOv3网络的目标边界框做目标最小外接矩形框输出;否则目标完整,标签f取值为1,后续特征信息均有效。
所述目标倾斜程度类别预测,指的是引入二进制编码的方式,对目标倾斜状态进行编码,4种倾斜状态使用2位二进制数编码,倾斜类别标签分别为00、01、10、11。
所述目标最小外接矩形边界框位置预测,包括:
k1、k2、k3、k4的取值在0-1之间,分别表示占垂直矩形框所在边的比例,且k
当目标最小外接矩形框为垂直矩形框时,若其宽大于高,类型标签取00,且k
当类型标签为00时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(6)、公式(7)、公式(8)、公式(9),其余三种情况类似。
(x
(x
(x
(x
当类别标签为01时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(15)、公式(16)、公式(17)、公式(18)。
(x
(x
(x
(x
当类别标签为10时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(19)、公式(20)、公式(21)、公式(22)。
(x
(x
(x
(x
当类别标签为11时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(23)、公式(24)、公式(25)、公式(26)。
(x
(x
(x
(x
该方法的损失函数中,目标完整性预测和目标倾斜程度类别预测损失使用交叉熵损失,旋转矩形框位置损失使用均方误差,损失函数见公式(27)、公式(28)、公式(29)、公式(30);
loss_yb=loss+floss+rloss+kloss (27);
其中:loss_yb、loss、floss、rloss、kloss分别为RF-YOLO的总损失、YOLOv3总损失、目标完整性预测损失、目标倾斜类别损失、旋转目标框位置损失;
S×S为输出层的特征图尺寸;
B为特征图中每一个网格单元预测的目标边界框的个数;
λ
fi为网络预测的目标完整性;f
k
本发明一种基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法,优点在于:
1)本发明提出了一种具有旋转适应能力的单阶段目标检测算法RF-YOLO,该算法以YOLOv3网络为基础,通过扩展其输出层特征向量实现旋转矩形框定位,主要增加了对目标完整性、目标最小外接矩形倾斜类型及最小外接矩形顶点位置预测,为了处理边界处目标不完整造成的最小外接矩形框顶点位置溢出问题,本发明直接使用YOLOv3目标框作为不完整目标的检测框。所提出的算法为端到端的卷积神经网络,不仅在速度上具有较大的优势,同时还提升了采用矩形框定位方法的精准程度。
2)本发明提出了一种具有旋转适应能力的单阶段目标检测算法,通过预测目标的最小外接矩形框区域,有效提升了目标定位的精准程度。
3)本发明提出的RF-YOLO算法在原始YOLOv3上改进得到,结合二进制编码的方法,预测目标倾斜类别,同时增加了对目标完整性和目标最小外接矩形框区域的预测,所提出的方法保证了目标检测召回率和实时性,有效扩展了YOLOv3在目标检测中的应用场景。
附图说明
图1(a)为YOLOv3目标检测算法效果图一;
图1(b)为YOLOv3目标检测算法效果图二;
图1(c)为YOLOv3目标检测算法效果图三。
图2(a)为RF-YOLO算法检测效果图一;
图2(b)为RF-YOLO算法检测效果图二;
图2(c)为RF-YOLO算法检测效果图三。
图3为YOLOv3网络结构图;
图4为YOLOv3边界框回归示意图;
图5(a)为RF-YOLO算法输出特征信息图一;
图5(b)为RF-YOLO算法输出特征信息图二。
图6(a)为目标最小外接矩形框与YOLOv3目标边界框关系图一;
图6(b)为目标最小外接矩形框与YOLOv3目标边界框关系图二;
图6(c)为目标最小外接矩形框与YOLOv3目标边界框关系图三;
图6(d)为目标最小外接矩形框与YOLOv3目标边界框关系图四。
具体实施方式
原理分析:
已有的通用目标检测算法均是通过垂直矩形框对目标进行定位,在检测卫星遥感图像中具有不同倾斜角度的车辆、船舶等目标时,得到的目标区域会存在较多的冗余背景信息,且当目标距离较近时,目标边界框之间存在较多的重叠部分。为了一定程度上提升上述场景下目标检测的精准性,本发明提出了一种具有旋转适应能力的单阶段目标检测算法RF-YOLO,即通过获取目标的最小外接矩形区域对目标定位。
现有的通用目标检测算法中,YOLOv3作为典型的端到端算法,在保持较快的检测速度的同时实现了较高的检测精度,同时提升了对小目标的检测效果。一般来说,卫星遥感图像中目标所占比例较小,为了保证目标检测的召回率及实时性,本发明所提出的旋转目标算法RF-YOLO是基于YOLOv3模型改进得到的,主要是在YOLOv3原始预测的基础上,结合二进制编码的方法,预测目标倾斜程度,同时增加目标完整性预测及对目标最小外接矩形框顶点位置预测。所提出的方法在几乎不增加额外计算量的基础上,有效扩展了YOLOv3模型的输出,提升了目标定位的精准程度,拓展了目标检测的应用范围。
图1(a)、图1(b)、图1(c)为YOLOv3目标算法检测效果图。图1(a)、图1(b)、图1(c)中的目标均是使用垂直矩形框定位的,其定位区域中包含较多背景区域,而且当目标距离较近时,各目标边界框之间存在一定的重叠区域,不利于目标特征的辨别与提取。
为了提升上述图像中目标定位的精准程度,本发明提出了一种具有旋转适应能力的单阶段目标检测算法RF-YOLO(Rotation free YOLO),该算法以YOLOv3网络为基础,通过扩展其输出层特征向量实现旋转矩形框定位,主要增加了对目标完整性、目标最小外接矩形倾斜类型及最小外接矩形顶点位置预测,为了处理边界处目标不完整造成的最小外接矩形框顶点位置溢出问题,本发明直接使用YOLOv3目标框作为不完整目标的检测框。图2(a)、图2(b)、图2(c)为使用本发明提出的算法得到的目标检测效果,其中:红色矩形框为YOLOv3检测框,蓝色矩形框为旋转矩形检测框。本发明提出的RF-YOLO目标检测算法在几乎不增加任何额外计算量的基础上,扩展了YOLOv3网络功能,具有重要的应用价值。
一种具有旋转适应能力的单阶段目标检测算法RF-YOLO:具体内容如下:
该方法是在YOLOv3网络模型的基础上改进得到的,该算法在保留YOLOv3原始输出的基础上,增加了目标完整性预测,结合二进制编码的方法,对不同倾斜角度目标进行分类,并通过预测目标最小外接矩形框顶点位置相对于YOLOv3目标检测框顶点的偏移,得到旋转的矩形框区域,从而实现较为精准的目标定位。
YOLOv3是兼具速度与精度的目标检测网络,它通过继承和融合其它网络的优秀策略实现了检测精度与速度的良好折中,尤其增加了对小目标的检测效果。YOLOv3的网络结构如图3所示,图3中紫色虚线框是特征融合部分,该部分使用上采样和特征拼接操作对深层特征与浅层特征进行融合,实现了良好的特征提取效果,红色虚线框是多尺度预测部分,网络通过输出三个不同尺寸的特征图来适应不同大小目标的检测。YOLOv3输出层特征通道数filter的计算见公式(1)所示:
filter=bNum*(ncls+ncoord+nconf) (1)
其中:bNum代表每个网格单元预测的边界框数目,其取值为3,即每个尺度的锚框负责预测一个边界框;ncls为模型训练时设定的类别个数;ncoord表示模型预测的边界框的位置信息数目,数量为4,即边界框中心点(x,y)和宽w高h;nconf为模型预测的边界框的置信度。
为了降低目标位置信息预测误差,YOLOv3采用锚框机制,在训练时,网络为每个标记框(真实目标框)选取与之交并比(IOU)最大的锚框,并学习标记框对于锚框的偏移值,从而得到模型权重;检测时,网络以置信度最大的锚框为基准,通过预测目标框相对于该锚框的偏移值,并结合回归公式(2)、公式(3)、公式(4)、公式(5)得到目标边界框位置,边界框回归示意图如图4所示。
b
b
其中:b
YOLOv3模型输出层特征信息包括目标边界框的中心点坐标、宽高、置信度及类别信息四部分,因此其损失函数也由四个部分构成,损失函数计算见公式(10)、公式(11)、公式(12)、公式(13)、公式(14)。
loss=coord_loss+conf_loss+cls_loss (10)
其中:loss、coord_loss、wh_loss、conf_loss、cls_loss分别代表YOLOv3总损失、中心点坐标损失、边界框宽高、置信度损失、类别损失;
S×S为输出层的特征图尺寸;
B为特征图中每一个网格单元预测的目标边界框的个数;
λ
t
c
p
σ为sigmoid函数。
本发明提出的一种具有旋转适应能力的单阶段目标检测算法RF-YOLO是在原始YOLOv3模型的基础上改进得到的,它保留YOLOv3原有的网络结构,仅对模型输出层特征向量进行扩展,主要是在原有输出上增加对目标是否完整、目标倾斜程度类别及目标最小外接矩形边界框位置的预测。RF-YOLO算法输出层特征信息包括两个部分,即YOLOv3模型原始输出和新增输出,如图5(a)、图5(b)所示,图5(a)为RF-YOLO整体输出信息描述,图5(b)为新增输出位描述。从图5(a)、图5(b)中可以看出,原始YOLOv3的输出特征占6位,即目标边界框中心点(x,y)和宽w高h、置信度s、类别c。新增的输出包括三个部分:
1):目标完整性预测a1占1位:判断目标在图像中是否是完整的,主要用于处理目标一部分在图像内,另一部分不在图像中的情况,这种情况下目标的最小外接矩形框的顶点可能延伸到图像外,不便于处理。若目标只有部分在图像中,则目标不完整,标签f取值为0,后面的特征信息失效,直接使用原始YOLOv3的目标边界框做目标最小外接矩形框输出,否则目标完整,f取值为1,后续特征信息均有效。
2):目标倾斜程度分类a2占2位,现实场景中的目标按照倾斜程度可分为图6(a)、图6(b)、图6(c)、图6(d)中的四种情况,即将S1-S2在以S1为顶点的水平线上方或下方及与水平线的夹角α
本发明不直接使用4位数字预测目标倾斜类型,而是引入一种二进制编码的方式,对目标倾斜状态进行编码,4种倾斜状态使用2位二进制数编码即可,图6(a)、图6(b)、图6(c)、图6(d)的倾斜类别标签分别为00、01、10、11。相对于直接预测的方法,使用二进制编码的方法能有效减少输出信息位数,防止造成资源浪费;
3)偏移值预测占4位,即图6(a)、图6(b)、图6(c)、图6(d)中左、上顶点相对于点R的偏移和右、下顶点相对于点T的偏移,k1、k2、k3、k4的取值在0-1之间,分别表示占垂直矩形框所在边的比例,且k
当类别标签为00时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(6)、公式(7)、公式(8)、公式(9)。
(x
(x
(x
(x
其余三种情况类似:
当类别标签为01时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(15)、公式(16)、公式(17)、公式(18)。
(x
(x
(x
(x
当类别标签为10时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(19)、公式(20)、公式(21)、公式(22)。
(x
(x
(x
(x
当类别标签为11时,目标最小外接矩形框顶点S1、S2、S3、S4的坐标计算公式见公式(23)、公式(24)、公式(25)、公式(26)。
(x
(x
(x
(x
本发明在原始YOLOv3输出上新增了三项特征预测功能,其损失函数也需要在原有基础上增加,其中目标完整性预测和目标倾斜程度类别损失使用交叉熵损失,旋转矩形框位置损失使用均方误差,RF-YOLO的损失函数见公式(27)、公式(28)、公式(29)、公式(30)。
loss_yb=loss+floss+rloss+kloss (27);
其中:loss_yb、loss、floss、rloss、kloss分别为RF-YOLO的总损失、YOLOv3总损失、目标完整性预测损失、目标倾斜类别损失、旋转目标框位置损失;
S×S为输出层的特征图尺寸;
B为特征图中每一个网格单元预测的目标边界框的个数;
λ
f
k
wr
- 基于YOLOv3网络具有旋转适应能力的单阶段目标检测方法
- 一种基于单阶段目标检测网络的电力巡检鸟窝检测方法