基于改进YOLOv3的小目标检测方法研究*

2022-04-12 08:37黄开启刘小荣黄茂云
传感器与微系统 2022年4期
关键词:网络结构聚类卷积

黄开启, 刘小荣, 黄茂云

(江西理工大学 电气工程与自动化学院,江西 赣州 341000)

0 引 言

小目标不仅存在一般图像中[1],还广泛存在于无人机摄像头以及一些架设较高的图像捕获装置所拍摄的图像中,研究小目标检测在安防、交通、救援等方面具有重要的应用价值。Lin T Y等人[2]提出的FPN使用采样的方式融合了细节信息较多的底层特征和语义较多的高层特征,增强深度特征对于小目标的表达能力。Mathe S等人[3]提出使用强化学习做目标检测,但该方法的精度与其他方法相差较大。Li J等人[4]使用生成对抗网络(GAN)生成强化小目标的特征。Takeki A[5]、Eggert C等人[6]针对某一应用场景对小目标检测算法进行特定研究,但对于其他小目标和常规目标的检测效果往往不如通用的目标检测方法。国内关于目标检测的研究主要集中在SSD[7]算法、YOLO[8]算法以及Faster R-CNN[9]算法。这些方法对于常规的目标检测有较好的结果,但对于小目标的检测问题却不太理想。SSD算法对过小的目标检测时,真实边框很难找到相应的默认边框与它进行匹配,检测的效果不好[10]。基于R-CNN[11]的目标检测算法对小目标检测相对较好,但检测速度较慢,而且对于聚集性比较强的小目标检测效果较差。与SSD算法相比,YOLOv3[12]拥有更高的检测精度以及更快的处理速度;与Faster R-CNN相比,YOLOv3可以实现端到端的训练,减少了模型训练的复杂度并且能大幅提升图像的处理速度。仇男豪等人[13]通过去除大尺度目标检测新增小尺度检测并通过引用交并比损失函数的方式提高无人机对地面小目标的检测效果。但对于低空检测的效果不佳;任嘉锋等人[14]新增低层特征图与高层特征图融合拼接并加入Maxpool的方式增强特征图中的细节特征。但引入最大池化后可能会造成欠拟合,导致信息损失的问题。魏玮[15]、王思元[16]等人通过对YOLOv3原网络结构进行改进,增强对小目标的识别效果并降低小目标的漏检率。欧阳乐诚等人[17]则是通过增加YOLOv3的多尺度预测方式来提高对小目标的检测效果。

为了提高算法在小目标检测方面的普适性和准确性,本文在YOLOv3算法的基础上进行改进,利用优化K-means算法对数据集中目标框进行聚类分析,通过聚类选出合适的锚点宽高维度作为改进网络的初始候选框,从而有效提高目标的检测精度。

1 YOLOv3算法

1.1 YOLOv3网络结构

YOLOv3网络中第1层到75层为Darknet—53结构,这个网络主要由一系列的1×1和3×3的卷积层组成。从76到106层为YOLOv3网络的特征交互层,分为三个尺度分别为13×13,26×26,52×52,每个尺度内通过卷积核的方式实现局部的特征交互,作用类似于全连接层,但通过卷积核(1×1和3×3)的方式实现特征图之间的局部特征交互。

1.2 K-means聚类算法

YOLOv3在输出的3个尺度的特征图中,每组特征图都对应了通过K-means聚类计算得到的3个不同尺度的锚点,并通过预测不同锚点对应的偏移量来实现目标边界框的回归。传统的K-means聚类通常采用欧氏距离或曼哈顿距离来计算数据对象间的距离,算法的详细流程如下:

1)首先确定一个K值,即希望将数据集经过聚类得到K个类簇;

2)从数据集中随机选择K个数据点作为质心;

3)计算数据集中剩余点于每个质心之间的距离(如欧氏距离),将各个点划分到距离其较近的质心所在类簇;

4)重新计算每个类簇的质心;

5)如果新计算出来的质心和原来的质心之间的距离小于一个设置的阈值,则可以认为聚类已经达到期望的结果,否则返回至第3步。

在YOLOv3中关于距离的定义是计算真实框与预测框之间的IOU,其值与目标框尺寸无关。所以,使用IOU定义K-means聚类损失函数可以消除大框优势效应。距离公式如下

d(boxj,centriodi)=1-IOU(boxj,centriodi)

(1)

式中boxj为第j个目标框尺寸,j=1,2,...,N;centriodi为第i个聚类中心框尺寸,i=1,2,...,K。d越小,说明两个box越类似。最终聚类目标函数为

(2)

2 YOLOv3算法网络改进

2.1 网络结构的改进

YOLOv3网络采用三尺度特征图对应不同大小的锚框。尺度越小,则感受野越大,分辨率越小,对小目标越不敏感。原网络主要在8倍降采样的输出特征图上进行小目标检测,这意味着在对于小于8×8的特征图进行检测时会出现困难,虽然对16倍以及32倍降采样的输出特征图进行上采样,并与8倍降采样特征图进行融合以增强8倍降采样特征图,但这一操作并不能提供更多小目标的特征信息。为提高网络对小目标检测的普适性,本文在保留原网络三层采样检测的前提下,选择将Darknet—53网络的第36层和11层进行拼接融合到小目标检测层,以提高对小目标的检测精度。

卷积神经网络的卷积层数越深,对目标特征提取有越好的效果。为获得更高的语义信息,对Darknet—53网络结构进行了改进,在主干网络中额外增加2个1×1和3×3的卷积层。增加卷积层的优势主要体现在以下几个方面:1)增加1×1卷积有利于降低卷积核通道维数与参数,从而简化卷积神经网络;2)增加的1×1和3×3的卷积核,在不损失分辨率的前提下增加非线性激励,提升表达能力;3)更好实现跨通道信息交互。改进后的YOLOv3算法结构如图1所示。

图1 改进YOLOv3网络结构

2.2 锚点框维度聚类

针对传统K-means算法初始点的选取随机性较大,影响聚类精度的问题,本文将最大最小距离积法[18,19]用于K-means算法的聚类中心初始化过程,降低初始点对算法的影响,具体步骤如下:

1)从数据集M中任意选取一个数据元素作为首个初始点z1,将此元素放入集合Z并从集合M中删除;

2)计算更新后M中所有元素到z1的距离,选取距离z1最大的元素为z2;

3)将选取的点放入集合Z中并从M删除;

4)分别求得更新后M中的元素到Z中各个元素的距离并放入集合T中;

5)找出M中每个元素对应的集合T中的最大距离和最小距离值,求其乘积,并将最大乘积值对应的元素从M中删除,存入Z中。若Z中元素个数小于k,则转到步骤(3),若Z中元素个数大于k,则初始点选取结束,输出包含k个初始点的集合Z,即为求得的初始聚类中心。其中,k是规定的聚类个数;集合Z用来存储最大最小距离积方法得到的k个初始点;集合T存储Z中各元素到M中各个元素距离的数组。

从以上步骤可以看出,采用最大最小距离积的方法能够很好地避免初始点选取的随机性,提高聚类精度。本文利用优化的K-means重新聚类,精确率达到78.00 %,设计的锚框如表1所示。

表1 数据集聚类结果

2.3 目标检测评价标准

目标检测效果有多种评价标准,其中较为常见的有交并比[20]、召回率(recall)、精确度、平均精确率均值(mAP)[21]、漏检率等。IOU为两个矩形框的交集与并集比值,用于表示矩形框A和B的重叠程度,定义公式如式(3),精确度、召回率以及漏检率公式如式(4)~式(6)

(3)

(4)

(5)

漏检率=1-Recall

(6)

式中TP为被正确分类的目标,FN为没有被识别的目标,FP为被错误分类的目标。

3 实验与分析

3.1 数据集

本文研究的小目标检测算法主要应用于室外低空(相当于地面观察目标)航拍救援中,而关于室外的航拍数据集航拍距离地面过高,空中观察目标与地面观察目标相比存在较大的尺度和形状变化,而且航拍数据集中很少有包括人的检测类别,这不利于视觉检测训练。所以,本文选取从网络中搜集到的关于室外小目标的图片并使用LabelImg开源软件对图像中的目标进行标注,然后与VOC数据集一起进行训练。选取的数据集样本如图2所示。

图2 新增数据集示例图片

3.2 实验环境

本文的实验环境配置如下:Intel®CoreTMi7—8700 CPU处理器,操作系统为Ubuntu18.04。使用Darknet源码作为深度学习框架。对改进的算法模型进行训练,随着迭代次数的不断增加,平均损失函数的变化趋势如图3所示。

图3 平均损失函数趋势

由图3可以看出,训练开始时的损失函数值约为937,随着训练迭代次数的增加,损失值逐渐减小,趋势逐渐平稳,迭代至50 000次时的损失值在0.5上下浮动,即达到理想效果。调用训练生成的权重文件对图片进行测试,测试效果如图4所示。

图4 检测结果对比

3.3 YOLOv3算法测试性能对比

对同一训练集分别使用K-means聚类的YOLOv3算法、K-means聚类的改进YOLOv3、优化K-means聚类的YOLOv3、优化K-means聚类的改进YOLOv3四种网络进行对比实验。分别使用每轮训练最终生成的权重文件对同一图片进行检测,平均测试时间、平均漏检率和mAP值统计结果如表2所示。由表2可见,改进的YOLOv3网络比原YOLOv3网络检测的平均测试时间仅延长了0.196 s,并不影响算法的检测速度,mAP提高了1.8 %;使用优化K-means聚类的改进YOLOv3算法比K-means聚类的YOLOv3算法平均漏检率降低了4.9 %和mAP提高了5.2 %,使用优化K-means聚类的改进YOLOv3效果最优。

表2 不同网络结构测试性能对比

4 结 论

本文提出一种改进YOLOv3的小目标检测方法。首先使用优化K-means算法对锚(anchor)参数进行优化,其次通过改进YOLOv3网络结构进行目标特征提取,最后通过优化K-means聚类的改进YOLOv3网络实现特征拼接进而实现对小目标的优化检测。得到以下结论:

1)使用优化K-means聚类算法替代K-means聚类算法,对YOLOv3算法中的anchor参数进行优化。实验表明,优化K-means聚类的YOLOv3比未优化的网络mAP提高了2.6 %,在一定程度上提高了小目标检测的准确性。2)针对原YOLOv3算法中小目标检测存在漏检率高的问题,提出改进YOLOv3网络结构,改进后的YOLOv3和未改进前相比较,有效降低了漏检率,同时mAP提高了1.8 %。

本文所研究的室外视觉检测效果均是在白天晴朗环境下的,而对困于洪涝灾害的人员的搜救往往是在恶劣的环境中,所以,寻求适应各种环境下的目标检测方法是接下来研究的重点方向。

猜你喜欢
网络结构聚类卷积
基于全卷积神经网络的猪背膘厚快速准确测定
一种傅里叶域海量数据高速谱聚类方法
基于知识图谱的k-modes文本聚类研究
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
一种改进K-means聚类的近邻传播最大最小距离算法
基于模糊聚类和支持向量回归的成绩预测
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析