胡繼港 楊杰 祝曉軒
摘要:針對現(xiàn)有家用物體檢測算法模型存在的計算量大和對小目標檢測效果不佳等問題,本文提出了一種基于YOLOv5的家用物體檢測優(yōu)化算法。采用輕量級的GhostBottleneck,代替Bottleneck結構,降低網絡參數。同時,添加卷積注意力模塊,強化小目標物體的特征信息,從而提高對家用小物體的檢測性能。為了證明該算法的有效性,采用YOLOv5m_G、YOLOv5m_GC_a和YOLOv5m_GC_b 3種網絡模型,在自建的家用物體數據集的訓練集和驗證集中進行訓練,并在測試集上對模型的性能進行對比分析。研究結果表明,在保證檢測精度的前提下,改進后的算法YOLOv5m_GC_b與原始的YOLOv5m算法相比,參數量降低了30%,計算量降低了37%,有效降低了參數量和計算量,便于更好地部署在嵌入式設備中,提高了對家用小物體的檢測性能,該研究具有一定的創(chuàng)新性。
關鍵詞:家用物體檢測; 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樹算法,對物體識別與定位方法算法進行優(yōu)化,進行家庭目標物體的檢測;趙睿等人[4]通過增加YOLOv5算法的檢測頭,以提升密集場景下小目標物體的檢測能力。以上算法雖然進行了一定程度上的優(yōu)化,但仍然存在一些不足,如雙階段檢測算法模型質量較大、訓練時間長、對顯存要求較高,后續(xù)難以進行進一步部署;單階段檢測算法的泛化能力較低,在復雜場景和遠距離小目標場景中檢測效果較差?;诖耍疚囊訷OLOv5m模型為基礎,對家用物體檢測優(yōu)化算法進行研究。首先使用結構簡單且計算量小的GhostBottleneck模塊,替換C3_X中的Bottleneck,然后引入卷積注意力模塊[5](convolutional block attention module,CBAM),提升對小目標物體的檢測能力,并在自制家用物體數據集中進行驗證。研究結果表明,與原始的YOLOv5m算法相比,改進后的算法YOLOv5m_GC_b,有效降低了參數量和計算量,可以更好地部署在嵌入式設備中,提高了對家用小物體的檢測性能。該研究具有廣闊的應用前景。
1 YOLOv5算法
目標檢測是對圖像中目標物體的位置和大小進行判定,隨著深度學習的不斷發(fā)展,基于深度學習的目標檢測方法也得到了廣泛應用[6]。YOLOv5m由Input輸入層、Backbone主干層、Neck頸部層和Prediction預測層4部分組成[7]。Input輸入層由數據增強、錨框計算和圖片調整組成,Backbone主干層由Focus結構、C3結構和空間金字塔池化結構[8](spatial pyramid pooling,SPP)組成;Neck層為特征融合網絡,由特征金字塔[9](feature pyramid networks,F(xiàn)PN)結構和路徑聚合網絡[10](path aggregation network,PAN)結構組成;Prediction預測層是網絡的預測部分。YOLOv5m網絡結構示意圖如圖1所示。
2 改進YOLOv5算法
2.1 輕量化模塊GhostBottleneck
YOLOv5網絡模型中標準卷積層較多,導致網絡參數量和計算量較大,基于此,華為諾亞方舟實驗室提出了一種Ghost卷積[11],與直接用常規(guī)卷積相比,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 數據收集
為使網絡能夠更好的學習,本研究采用自主收集數據集的方式,構建適合的家用物體數據集。首先從現(xiàn)有開源數據集中進行整理,從COCO2017和VOC2012數據集中整理餐具、蔬菜和水果等數據,然后利用Requests模塊,在網絡中爬取圖片并篩選整理,最后在日常生活環(huán)境中補充數據。在收集數據時,以不同的背景和照明條件進行拍攝,從而使數據的形態(tài)和場景更加豐富。
本實驗選取21類生活中常見的物品構建數據集,杯子、筆、布偶、橙子、充電器、刀、訂書機、胡蘿卜、剪刀、蘋果、瓶子、勺子、手機、書、鼠標、雙面膠、香蕉、牙膏、牙刷、眼鏡、遙控器,部分數據集圖片如圖4所示。
按照8∶1∶1的比例,將該數據集隨機劃分為訓練集、驗證集和測試集,測試集數量略高于驗證集[13],其中訓練集共計37 102幅圖像,驗證集共計4 637幅圖像,測試集共計4 650幅圖像。訓練集與驗證集用于模型訓練與單次訓練結果的評估,測試集用于最終模型的檢測效果評估[14]。
本文所用數據集中的圖像,分辨率根據拍攝設備不同而有所不同,為了增強數據的可靠性,對圖像經自適應縮放后,統(tǒng)一分辨率為640×640[15]。
3.2 數據標注
在完成圖片的收集之后,采用LabelImg標注工具[16]對數據集進行標注,數據標注過程如圖5所示。對LabelImg標注完成后,得到xml格式的標簽文件,xml文件主要包含圖片大小、物體類型以及標注矩形框的位置坐標等信息[17]。
3.3 實驗平臺
訓練超參數設置如表1所示。實驗環(huán)境為Windows 10操作系統(tǒng),使用Python編程語言,基于Pytorch框架,搭建整個模型,在谷歌提供的云服務器平臺Colab上,使用圖形處理器(graphics processing unit,GPU)資源進行實驗。
3.4 衡量指標
本文采用平均精確率(mean average precision,mAP)、正向推理的計算量(floating point of operations,F(xiàn)LOPs)和參數量(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進一步比較發(fā)現(xiàn),將CBAM注意模塊集成到網絡的不同位置,其優(yōu)化性能也有所不同,將其嵌入到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之前,可有效提高檢測精度,在自建家用物體數據集訓練結果可以看出,優(yōu)化的網絡模型YOLOv5m_GC_b,可較好地控制了模型計算量和參數量。以后的研究將考慮采用其他方法來改進YOLOv5m_GC_b算法,進一步提高網絡的檢測精度和速度,并將該算法應用于家用服務機器人等嵌入式設備中。
參考文獻:
[1] 王忠塬. 基于改進Faster RCNN的小目標檢測技術研究[D]. 長春:長春理工大學,2021.
[2] 莊千洋. 室內移動機器人目標搜尋與抓取研究[D]. 金華:浙江師范大學,2021.
[3] 劉奕帆. 室內服務機器人的定位與物體抓取研究[D]. 哈爾濱:哈爾濱工業(yè)大學,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]. 農業(yè)機械學報,2022,53(4):245-253.
[14] 李盼池,李文杰. 基于一維卷積神經網絡的巖石物理相識別[J]. 吉林大學學報(信息科學版),2022,40(1):51-63.
[15] 吳睿,畢曉君. 基于改進YOLOv5算法的珊瑚礁底棲生物識別方法[J]. 哈爾濱工程大學學報,2022,43(4):580-586.
[16] 肖德琴,林思聰,劉勤,等. 基于紅外熱成像的生豬耳溫自動提取算法[J]. 農業(yè)機械學報,2021,52(8):255-262.
[17] 王鴻璞. 基于機器視覺的機械臂抓取研究及其應用[D]. 徐州:中國礦業(yè)大學,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