APP下载

一种基于YOLOv5的家用物体检测优化算法

2023-05-30胡继港杨杰祝晓轩

胡继港 杨杰 祝晓轩

摘要:针对现有家用物体检测算法模型存在的计算量大和对小目标检测效果不佳等问题,本文提出了一种基于YOLOv5的家用物体检测优化算法。采用轻量级的GhostBottleneck,代替Bottleneck结构,降低网络参数。同时,添加卷积注意力模块,强化小目标物体的特征信息,从而提高对家用小物体的检测性能。为了证明该算法的有效性,采用YOLOv5m_G、YOLOv5m_GC_a和YOLOv5m_GC_b 3种网络模型,在自建的家用物体数据集的训练集和验证集中进行训练,并在测试集上对模型的性能进行对比分析。研究结果表明,在保证检测精度的前提下,改进后的算法YOLOv5m_GC_b与原始的YOLOv5m算法相比,参数量降低了30%,计算量降低了37%,有效降低了参数量和计算量,便于更好地部署在嵌入式设备中,提高了对家用小物体的检测性能,该研究具有一定的创新性。

关键词:家用物体检测; YOLOv5; Ghost卷积; CBAM注意力模块

中图分类号:TP391.41 文献标识码:A

文章编号:1006-9798(2023)02-0026-05; DOI:10.13306/j.1006-9798.2023.02.004

基金项目:山东省自然科学基金资助项目(ZR2021MF025)

作者简介:胡继港(1997-),男,硕士研究生,主要研究方向为图像识别与检测。

通信作者:杨杰(1969-),男,副教授,主要研究方向为图像识别及检测、测控技术与仪器。Email:yangjie@qdu.edu.cn

近年来,随着家用服务机器人的应用越来越广泛,机器人自主检测和抓取物体成为人们研究的重点,而目标检测是机器人抓取任务的第一步。目前,在家用物体检测方面进行的相关研究,大多采用深度学习的方法。王忠塬等人[1]通过设计多卷积核的深度可分离分组卷积,改进了Faster RCNN算法对小目标特征的提取能力;庄千洋等人[2]采用通道剪枝算法,对YOLOv4网络进行剪枝,提升检测网络对家用物体检测的综合性能;刘奕帆等人[3]运用K-D树算法,对物体识别与定位方法算法进行优化,进行家庭目标物体的检测;赵睿等人[4]通过增加YOLOv5算法的检测头,以提升密集场景下小目标物体的检测能力。以上算法虽然进行了一定程度上的优化,但仍然存在一些不足,如双阶段检测算法模型质量较大、训练时间长、对显存要求较高,后续难以进行进一步部署;单阶段检测算法的泛化能力较低,在复杂场景和远距离小目标场景中检测效果较差。基于此,本文以YOLOv5m模型为基础,对家用物体检测优化算法进行研究。首先使用结构简单且计算量小的GhostBottleneck模块,替换C3_X中的Bottleneck,然后引入卷积注意力模块[5](convolutional block attention module,CBAM),提升对小目标物体的检测能力,并在自制家用物体数据集中进行验证。研究结果表明,与原始的YOLOv5m算法相比,改进后的算法YOLOv5m_GC_b,有效降低了参数量和计算量,可以更好地部署在嵌入式设备中,提高了对家用小物体的检测性能。该研究具有广阔的应用前景。

1 YOLOv5算法

目标检测是对图像中目标物体的位置和大小进行判定,随着深度学习的不断发展,基于深度学习的目标检测方法也得到了广泛应用[6]。YOLOv5m由Input输入层、Backbone主干层、Neck颈部层和Prediction预测层4部分组成[7]。Input输入层由数据增强、锚框计算和图片调整组成,Backbone主干层由Focus结构、C3结构和空间金字塔池化结构[8](spatial pyramid pooling,SPP)组成;Neck层为特征融合网络,由特征金字塔[9](feature pyramid networks,FPN)结构和路径聚合网络[10](path aggregation network,PAN)结构组成;Prediction预测层是网络的预测部分。YOLOv5m网络结构示意图如图1所示。

2 改进YOLOv5算法

2.1 輕量化模块GhostBottleneck

YOLOv5网络模型中标准卷积层较多,导致网络参数量和计算量较大,基于此,华为诺亚方舟实验室提出了一种Ghost卷积[11],与直接用常规卷积相比,Ghost卷积通过简单的滤波和线性变换,使计算量大幅度降低。

与原YOLOv5m算法相比,改进的轻量型YOLOv5m_G算法,使用由Ghost Module组成的GhostBottleneck模块,将YOLOv5主干网络中C3_X结构里的残差组件Bottleneck进行替换,使用较少的参数生成特征图。Bottleneck模块改进结构如图2所示。

2.2 CBAM注意力机制

CBAM注意力模块由通道注意模块和空间注意模块2个独立的子模块构成[12],是一种即插即用的模块,嵌入CBAM模块的2种YOLOv5m_G模型结构如图3所示。本文分别将CBAM注意模块嵌入在Neck层“Contact”之后和Head层检测头之前,通过实验探讨了对网络性能的影响。

3 实验与分析

3.1 数据收集

为使网络能够更好的学习,本研究采用自主收集数据集的方式,构建适合的家用物体数据集。首先从现有开源数据集中进行整理,从COCO2017和VOC2012数据集中整理餐具、蔬菜和水果等数据,然后利用Requests模块,在网络中爬取图片并筛选整理,最后在日常生活环境中补充数据。在收集数据时,以不同的背景和照明条件进行拍摄,从而使数据的形态和场景更加丰富。

本实验选取21类生活中常见的物品构建数据集,杯子、笔、布偶、橙子、充电器、刀、订书机、胡萝卜、剪刀、苹果、瓶子、勺子、手机、书、鼠标、双面胶、香蕉、牙膏、牙刷、眼镜、遥控器,部分数据集图片如图4所示。

按照8∶1∶1的比例,将该数据集随机划分为训练集、验证集和测试集,测试集数量略高于验证集[13],其中训练集共计37 102幅图像,验证集共计4 637幅图像,测试集共计4 650幅图像。训练集与验证集用于模型训练与单次训练结果的评估,测试集用于最终模型的检测效果评估[14]。

本文所用数据集中的图像,分辨率根据拍摄设备不同而有所不同,为了增强数据的可靠性,对图像经自适应缩放后,统一分辨率为640×640[15]。

3.2 数据标注

在完成图片的收集之后,采用LabelImg标注工具[16]对数据集进行标注,数据标注过程如图5所示。对LabelImg标注完成后,得到xml格式的标签文件,xml文件主要包含图片大小、物体类型以及标注矩形框的位置坐标等信息[17]。

3.3 实验平台

训练超参数设置如表1所示。实验环境为Windows 10操作系统,使用Python编程语言,基于Pytorch框架,搭建整个模型,在谷歌提供的云服务器平台Colab上,使用图形处理器(graphics processing unit,GPU)资源进行实验。

3.4 衡量指标

本文采用平均精确率(mean average precision,mAP)、正向推理的计算量(floating point of operations,FLOPs)和参数量(parameters,params)来评价网络性能。mAP作为目标检测领域衡量精度的重要指标,一般在交并比为0.5时计算,即mAP@0.5;FLOPs为浮点运算数,用来衡量模型的复杂程度;params主要用来形容模型的大小程度[18]。mAP的计算公式为

式中,C为物体种类总数,C=21;APi表示第i个类别的精确率,其中i为序号。

3.5 结果与分析

本文采用3種网络模型YOLOv5m_G、YOLOv5m_GC_a和YOLOv5m_GC_b,在自建家用物体数据集的训练集和验证集中进行训练,并在测试集上对模型的性能进行对比分析[19]。不同网络模型在测试集上的性能比较如表2所示。

通过对比YOLOv5m和YOLOv5m_G的性能可知,GhostBottleneck结构明显地减少YOLOv5m的参数量和计算量,但精确度相对较低。通过与YOLOv5m_GC_a和YOLOv5m_GC_b进一步比较发现,将CBAM注意模块集成到网络的不同位置,其优化性能也有所不同,将其嵌入到Neck中的“Contact”后,对检测精度提升较小,而在Head前加入CBAM注意机制,可以有效提高网络性能,比未加入注意力机制前的YOLOv5m_G,高出1.9%。

在保证检测精度的前提下,与原始YOLOv5m算法相比,改进后的算法YOLOv5m_GC_b的参数量降低了30%,计算量降低了37%,有效降低了参数量和计算量,便于更好地部署在嵌入式设备中[20]。

4 结束语

为了保证家用物体检测精度,降低算法的计算量和参数量,本文提出一种基于改进YOLOv5m的算法。采用GhostBottleneck代替网络主干C3_X结构中的Bottleneck,同时,为了提高检测精度,将CBAM注意模块嵌入到网络中的不同位置,并进行了多次实验。研究结果表明,将CBAM模块嵌入Yolov5m_G网络的Head之前,可有效提高检测精度,在自建家用物体数据集训练结果可以看出,优化的网络模型YOLOv5m_GC_b,可较好地控制了模型计算量和参数量。以后的研究将考虑采用其他方法来改进YOLOv5m_GC_b算法,进一步提高网络的检测精度和速度,并将该算法应用于家用服务机器人等嵌入式设备中。

参考文献:

[1] 王忠塬. 基于改进Faster RCNN的小目标检测技术研究[D]. 长春:长春理工大学,2021.

[2] 庄千洋. 室内移动机器人目标搜寻与抓取研究[D]. 金华:浙江师范大学,2021.

[3] 刘奕帆. 室内服务机器人的定位与物体抓取研究[D]. 哈尔滨:哈尔滨工业大学,2020.

[4] 赵睿,刘辉,刘沛霖,等. 基于改进YOLOv5s的安全帽检测算法[J/OL]. 北京航空航天大学学报:1-16[2022-06-06].

[5] WOO S,PARK J C,LEE J Y,et al. Cbam:Convolutional block attention module[J]. The European conference on computer vision (ECCV),2018:3-19.

[6] 李泽辉,陈新度,黄佳生,等. 基于改进YOLOv3的纹理瓷砖缺陷检测[J]. 激光与光电子学进展,2022,59(10):294-302.

[7] 王莉,何牧天,徐硕,等. 基于YOLOv5s网络的垃圾分类和检测[J]. 包装工程,2021,42(8):50-56.

[8] SRI J S,ESTHER R P. LittleYOLO-SPP:A Delicate Real-Time Vehicle Detection Algorithm[J]. Optik,2020,225.

[9] LIN T Y,DOLLR P,GIRSHICK R,et al. Feature pyramid networks for object detection[C]∥Conference on Computer Vision and Pattern Recognition. Honolulu,HI,USA:IEEE,2017:2117-2125.

[10] LIU S,QI L,QIN H,et al. Path aggregation network for instance segmentation[C]∥Conference on Computer Vision and Pattern Recognition. Salt Lake City,UT,USA:IEEE,2018:8759-8768.

[11] HAN K,WANG Y,TIAN Q,et al. Ghostnet:More features from cheap operations[C]∥Conference on Computer Vision and Pattern Recognition. Seattle,WA,USA:IEEE,2020:1580-1589.

[12] 王阳萍,韩淑梅,杨景玉,等. 改进YOLOv4的铁路沿线遥感影像地物检测方法[J]. 光谱学与光谱分析,2022,42(10) :3275-3282.

[13] 宋怀波,王云飞,段援朝,等. 基于YOLO v5-MDC的重度粘连小麦籽粒检测方法[J]. 农业机械学报,2022,53(4):245-253.

[14] 李盼池,李文杰. 基于一维卷积神经网络的岩石物理相识别[J]. 吉林大学学报(信息科学版),2022,40(1):51-63.

[15] 吴睿,毕晓君. 基于改进YOLOv5算法的珊瑚礁底栖生物识别方法[J]. 哈尔滨工程大学学报,2022,43(4):580-586.

[16] 肖德琴,林思聪,刘勤,等. 基于红外热成像的生猪耳温自动提取算法[J]. 农业机械学报,2021,52(8):255-262.

[17] 王鸿璞. 基于机器视觉的机械臂抓取研究及其应用[D]. 徐州:中国矿業大学,2021.

[18] 孙世丁,邹小辉,付赛际,等. 基于深度学习的七类病毒电镜图像自动识别[J]. 中华实验和临床病毒学杂志,2021,35(1):28-33.

[19] 向玉开. 基于计算机红外视觉的异常行为检测[D]. 北京:中国科学院大学(中国科学院上海技术物理研究所),2019.

[20] 张瑞琰,安军社,姜秀杰. 一种基于连接敏感度的CNN初始化剪枝方法[J]. 计算机应用与软件,2020,37(11):268-274,298.

Abstract:Aiming at the problems of the existing household object detection algorithm model,such as large amount of computation and poor detection effect on small objects,this paper proposes an optimization algorithm for household object detection based on YOLOv5. It uses lightweight GhostBottleneck to replace the Bottleneck structure and reduces network parameters. At the same time,the convolution attention module is added to the algorithm to strengthen the feature information of small target objects,so as to improve the detection performance of household small objects. In order to prove the effectiveness of the algorithm,three network models,YOLOv5m_G,YOLOv5m_GC_a and YOLOv5m_GC_b,are proposed in this paper. The model is trained in the training set and the validation set of the self-built household object dataset,and its performance is compared and analyzed on the test set. The research results show that,compared with the original YOLOv5m algorithm,the improved algorithm YOLOv5m_GC_b reduces the number of parameters by 30% and the computation amount by 37% under the premise of ensuring the detection accuracy. It can effectively reduce the number of parameters and the amount of computation,and facilitate better deployment in embedded devices. This research is innovative.

Key words:household object detection; YOLOv5; Ghost convolution; CBAM attention module