[发明专利]一种基于改进YOLOv5的密集小目标检测方法在审
申请号: | 202111474306.7 | 申请日: | 2021-12-06 |
公开(公告)号: | CN114140665A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 陆声链;刘晓宇;李帼;陈明 | 申请(专利权)人: | 广西师范大学 |
主分类号: | G06V10/774 | 分类号: | G06V10/774;G06V10/80;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 陶平英 |
地址: | 541004 广*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 yolov5 密集 目标 检测 方法 | ||
1.一种基于改进YOLOv5算法的密集小目标检测方法,其特征在于,包括如下步骤:
S1、图像的获取:用户利用图像采集设备对目标对象进行图像采集,并将采集到的图像按照Pascal VOC数据集的格式将图片命名,同时创建名为Annotations、ImageSets、JPEGImages的三个文件夹;
S2、图像预处理:
S2-1、图像标记:在步骤S1采集到的图像中,运用图像标注工具LabelImg对图像中的目标进行标记,标注出目标的位置、类别名称;
S2-2、图像扩增:若步骤S1用户采集到的图像不能达到识别单个类别目标所需2000张图片的要求,则运用Augmentor图像数据增强库对图像进行扩增,用户选定图像的保存路径和标记信息XML文件路径,并制定扩增后的图像及XML文件输出路径,选择所需的图像增强器,选择扩增数量以及扩增方式对图像进行扩增,达到识别所需要求;
S2-3、划分数据集:将扩增得到的图像和标记文件划分成训练集、测试集、验证集和训练验证集,训练集、测试集、验证集分别占50%、25%、25%,训练验证集为训练集与验证集的累加,占75%;
S3、设置网络模型参数:在YOLOv5网络模型的配置文件yaml中,根据计算机内存、显存的大小,用户所需的识别效果和训练速度,设置卷积神经网络输入图像的尺寸、识别种类的数量、迭代次数;且用户需使用支持CUDA加速的显卡类型;
S3-1、当选择输入网络的图像尺寸为608*608,batch参数为8,迭代次数epcoh为300,检测物体种类为2时,用户使用单GPU训练模型,至少需要6GB;
S3-2、当选择输入网络的图像尺寸为640*640,batch参数为8,迭代次数epcoh为300,检测物体种类为2时,用户使用单GPU训练模型,至少需要8GB;
S4、对原YOLOv5网络结构进行改进,得到改进后的YOLOv5网络结构,改进过程如下:
S4-1:在原YOLOv5网络结构中,在第3、6和9层后添加CA协调注意力机制,利用两个1D全局池化操作将沿垂直和水平方向的输入特征分别聚合为两个单独的位置感知;然后将具有嵌入的特定方向信息的这两个特征图分别编码为两个attention map,每个attention map都沿一个空间方向捕获输入特征图的远距离依存关系,位置信息被保存在所生成的attention map中;在通过乘法将两个attention map都应用于输入特征图,以强调注意区域的表示;
S4-2:在原YOLOv5网络结构中,使用加强特征提取BiFPN,在PANet简化版的基础上,若输入和输出结点是同一层的,则添加一条额外的边,在不增加cost的同时融合更多的特征;对P5_in进行上采样,上采样后与P4_in进行Concat_bifpn堆叠获得P4_td;之后对P4_td进行上采样,上采样后与P3_in进行Concat_bifpn堆叠获得P3_out;之后对P3_out进行下采样,下采样后与P4进行Concat_bifpn堆叠获得P4_out;之后对P4_ out进行下采样,下采样后与P5_in进行堆叠获得P3_out;
S4-3:使用Varifocal Loss进行损失函数的计算,解决类不平衡问题,其中p是预测的Iou感知分类分数(IACS),q是目标分数,对于训练中的正样本,将q设置为生成的bbox和gtbox之间的IoU(gt IoU),而对于训练中的负样本,所有类别的训练目标q均为0,则训练集中在具有更高IACS的候选检测样本上;α和γ为超参数,α为可调整的比例因子,用于平衡正负示例之间的损失,0≤α≤1,因此,训练避免关注负面例子,该损失函数能够在困难样本和容易样本之间进行判断和权衡,并最终减少容易样本的损失贡献,因为0≤p≤1,则γ设置为大于1;
S5、训练网络模型:对改进后的YOLOv5网络配置文件train.py和yolov5.yaml进行参数设置,将设置好参数的yaml文件及改进后YOLOv5网络结构放入配置好环境的计算机中,运用训练集和验证集中标记好的图片进行训练,训练过程中,将测试集中划分好的图片放入计算机中进行测试,得到每一个阶段训练的效果,并设置过程监控tensorboard--logdirruns/train参数实时观察训练的mAP值,训练结束后保存训练好的网络模型权重pt;
S6、运用训练完成的网络模型权重进行识别:在计算机上准备好待检测的图像,更改detect.py中配置文件yaml、训练完成的权重和待检测的图片路径,通过执行detect.py,运行后加载网络模型配置文件yaml和网络模型权重,最终计算机保存目标检测结果的图片。
2.根据权利要求1所述的一种基于改进YOLOv5算法的密集小目标检测方法,其特征在于,步骤2-2)中,所述的增强器,包括亮度增强器、裁剪增强器、高斯噪声增强器;所述的扩增方式,包括顺序、组合、随机扩增方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广西师范大学,未经广西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111474306.7/1.html,转载请声明来源钻瓜专利网。