APP下载

一种改进的非极大值抑制算法在YOLOv3 模型中的应用研究

2021-03-24陈鹏程戚宝仁孔德宇

数字技术与应用 2021年1期
关键词:极大值分值物体

陈鹏程 戚宝仁 孔德宇

(1.苏州科技大学,江苏苏州 215009;2.杭州电子科技大学,浙江杭州 310000)

0 引言

目标检测是计算机视觉领域的主要研究方向之一,在机器人、自动驾驶、安防等诸多工业应用中都逐渐展现出越来越大的影响力,吸引了大量的学者的研究关注[1]。

近几年,卷积网络的强大特征提取能力得到广泛认可,且快速应用到了目标检测算法研究中。目前,卷积神经网络模型在目标检测中的应用主要包含两个方向:一是“两阶段”算法,这类算法将整个目标检测任务分为计算候选区域位置信息和卷积网络目标识别两个阶段,即先检测后识别,这类算法的典型代表有R-C N N 系列算法[2]、SPP-NET算法[3];另一类是“一阶段”算法,这类算法在一趟完整过程中同时完成对目标物体的检测和识别任务,具有识别速度快的优点,目前广泛应用的YOLO系列算法[4]就属于“一阶段”算法。

YOLO系列算法凭借着更强的泛化能力,得到了比RCNN系列算法更多的关注[5]。文献[6]将卡尔曼滤波算法引入YOLOv3算法中提出一种增强Tiny YOLOv3算法,并将该算法应用到车辆检测中,能够很好的解决小目标车辆漏检为。文献[7]将YOLOv3算法应用到我国水域监测区域的船舶检测识别应用中,并通过大量实践证明,YOLOv3算法相比传统深度学习算法具有更好的准确性和实时性。文献[8]使用针对遥感影像中的飞机目标进行识别检测,并结合实际应用特点对YOLOv3算法进行优化,取得了较高的准确率。上述的多个应用中,在对候选区域进行筛选时,仍采用NMS或soft-NMS算法,这类方法在候选区域数量多时容易发生漏检或对同一目标物体重复检测造成错误分类的问题。针对这一问题,本文在soft-NMS算法基础上进行优化,并将优化后算法应用到YOLOv3算法中进行目标检测,实验证明本文对算法的优化对检测准确率有一定提升。

1 YOLOv3算法模型

YOLOv3是YOLO系列算法的第三个迭代更新版本,也是YO LO 系列算法的最经典代表。YO LO v3 采用了基于残差网络的DarkNet-53网络作为特征提取主干网络。输入一张图像后,模型将对图像resize到416×416尺寸,经过DarkNet-53网络时,将参数三种尺寸的特征图:52×52、26×26、13×13,小尺寸特征图将以2倍上采样与上层特征图堆叠,将这三种尺寸的特征图进行分类网络中完成分类任务。YOLOv3主干网络如图1所示。

3种尺寸的特征图相当于再图像上进行了3种不同尺寸的网格划分,模型最终的输出结果也对应于每一个划分网格,且每个网格都将有3 个候选区域,每个候选区域都有一个分支,所以一张原始图像经过Yolov3网络后将产生的候选区域数量为:3×13×13+3×26×26+3×52×5 2=1 0 6 4 7。这些候选区域中大多数都将被过滤,在YOLOv3算法中,引入了非极大值抑制法来对候选区域进行筛选,保留与图像中真实情况更加符合的候选区域。

2 改进的非极大值抑制算法

非极大值抑制算法(non-maximum suppression,NMS)[9]是目标检测类任务中常用的候选区域确定方法,其基本原理是在当前局部领域内搜索分值最高候选区域,并计算其与其他候选区域的重叠度(通常用 IoU 衡量),当 IoU高于某个阈值时进行抑制,达到确定最优候选区域的目的,非极大值抑制算法数学表达如下:

图1 YOLOv3 算法主干网络Fig.1 Backbone network of yolov3 algorithm

式中, scoref是候选区域的比较计算后的分值, s corei是候选区域初始分值, M 是分值最高的候选区域,ib 是当前候选区域, IoU ( M , bi)是 M 与 bi之间的交并比, Nt是人为设定的阈值。

通过非极大值抑制算法,与图像中实际目标物体位置、大小更加吻合的候选区域将被保留下来。然而,在实际目标检测任务中,图像内的多个目标物体间可能存在较大面积的重合,在处理这种情况的候选区域时,多个目标物体的候选区域将会因为 IoU 值过高而被抑制,从而导致部分目标物体漏检的问题。针对这一问题,有学者基于N M S 算法结合一种“权值惩罚”策略提出s o f t-NMS算法[10]:

经证实,soft-NMS算法较好地解决了NMS算法在多目标检测中的漏检问题,但依然存在一些不足,在实践应用中发现,soft-NMS算法将会导致重复检测、目标错分等问题发生的概率上升。

针对这一问题,本文提出I-NMS算法。

I-NMS算法在soft-NMS算法基础上添加一个阈值Ni,且有 Nt<Ni。若候选区域 bi与分值最高候选区域 M的交并比 IoU ( M , bi )则直接进行抑制;若 Ni≤IoU ( M , bi )≤ Nt,给候选区域 bi一个与 IoU ( M , bi)惩罚比的权值作为惩罚因子与原始分值相结合;若 IoU ( M , bi)< Ni,则证明 bi与 M 重叠区域足够小,无需进行抑制,保留原始分值:

本文提出的I-NMS算法综合了NMS算法和soft-NMS算法的优点,创新地添加一个阈值,这种双阈值的方式使得 IoU ( M , bi)小于 Ni的候选区域内目标物体漏检和误检的概率降低。

3 实验结果与分析

3.1 实验环境

本文实验在CentOS 7.6,Inter(R) Core(TM) i7-6500U CPU,32GB内存,GeForce GTX 1080显卡,NVIDIA-SMI 418.43版本驱动环境计算机中进行,使用Python进行模型开发。

3.2 实验结果与分析

为验证本文提出的I - N M S 算法是否有助于提升YOLOv3算法性能,分别使用传统NMS算法、soft-NMS算法和I-N MS算法进行候选区域过滤的YOLOv3算法进行建波,并在 PASCAL VOC2007 数据集进行验证。在验证前,通过多次实验测试表明,I-N MS 算法在 Nt=0.36,Ni=0.95时,算法平均准确率最高,故在后续对比实验中,均使用这对阈值作为I-N M S 算法最终阈值进行对比验证。如图2所示分别是使用NMS算法、soft-NMS算法以及本文的I-N MS算法进行候选区域过滤时的YOLO v3算法目标检测时的输出效果图。

进一步地,为更好衡量本文对算法的改进能在改善重复检测上的性能优化程度,使用重复检测率以及多次检测时的目标错分率作为衡量指标[11],计算公式如下:

式中, Ttotal表示目标物体被重复检测次数,2T 、3T 被重复检测2 次或3 次的次数, Terror表示目标物体被重复检测且分类错误的次数, Rdup为重复检测率, Rerror为目标物体重复检测时的错分率, Ntotal为图片总数。各算法在V O C 2007数据集上各运行五次,取五次记录数据平均值新对比,如表1所示。

从表1运行结果对比中可知,本文提出的I-NMS运用于YOLOv3模型后,相比于使用NMS算法、soft-NMS算法的YOLOv3模型,具有更低的重复检测次数和错分次数,且重复检测率、错分率在三个模型中最低,表明本文提出的I-N MS算法确实能在一定程度上解决YOLO v3模型在多目标检测任务中的重复检测问题。

图2 YOLOv3 算法输出效果图Fig.2 The output effect of yolov3 algorithm

表1 重复检测率、错分率对比Tab.1 Comparison of repeated detection rate and misclassification rate

4 总结

针对YOLOv3目标检测模型中通常使用的非极大值抑制算法容易在多目标检测任务中的重复检测问题,本文在前人研究的so ft-N MS 算法基础上进行优化,提出INMS算法。通过对比实验表明,应用本文提出的I-NMS算法的YOLO v3模型拥有更低的重复检测率。

猜你喜欢

极大值分值物体
一起来看看交通违法记分分值有什么变化
按病种(病组)分值结算:现状、做法和评价
基于小波模极大值理论的励磁涌流新判据研究
基于经验模态分解的自适应模极大值去噪方法
行人检测中非极大值抑制算法的改进
宿迁城镇居民医保按病种分值结算初探
基于自适应非极大值抑制的SIFT改进算法
悬浮的鸡蛋