摘要:針對蘋果生長所處的自然環(huán)境復雜程度高、網絡模型過大、難以在移動端部署等問題,提出一種基于YOLOv7-tiny的輕量級蘋果實時檢測方法。該方法引入CG-Block模塊代替原YOLOv7-tiny網絡的部分卷積,對原網絡的ELAN-tiny結構進行修改,極大地減少網絡規(guī)模,并提高檢測精度;使用Mish激活函數(shù)代替原激活函數(shù),增強網絡的提取特征能力;采用CARAFE輕量級上采樣算子,進一步提升網絡的特征融合能力。試驗結果表明,改進后的算法與原算法相比,mAP@0.5提高1.9%,準確率提高4.1%,參數(shù)量降低45.4%,計算量降低46.2%,模型規(guī)模減少43.9%,F(xiàn)PS達到196.1 f/s。改進后的算法在保持良好實時性的同時,提升檢測精度,極大地降低網絡規(guī)模,為網絡模型在移動端部署增添可行性。
關鍵詞:蘋果;輕量級;實時檢測;激活函數(shù);上采樣算子;移動端部署
中圖分類號:S661.1; TP391.4 文獻標識碼:A 文章編號:2095?5553 (2024) 11?0228?06
Lightweight apple real time detection algorithm based on YOLOv7-tiny
Jiang Xingyu, Huang Juan, Gu Jinan, Fan Tianhao, Wang Huajia
(College of Mechanical Engineering, Jiangsu University, Zhenjiang, 212013, China)
Abstract: In response to the problems such as high complexity of the natural environment in which apples grow and too large network model which is difficult to deploy on mobile devices, a lightweight real?time apple detection method based on YOLOv7-tiny is proposed. This algorithm introduces the CG-Block module to replace the partial convolution of the original YOLOv7-tiny network, modifying the ELAN-tiny structure of the original network, greatly reducing the network size and improving detection accuracy. Using Mish activation function instead of the original activation function improves the features extraction ability of network. The use of CARAFE lightweight upsampling operator further enhances the feature fusion ability of the network.The experimental results show that compared with the original algorithm, the improved algorithm improves mAP@0.5 by 1.9%, accuracy by 4.1%, parameter count by 45.4%, computational complexity by 46.2%, model size by 43.9%, and FjP9ltve1vAP1eqlVVobczhCCuCZiKMaqSe/yLRsNgZU=PS by 196.1 f/s. The improved algorithm not only maintains good real?time performance, but also improves detection accuracy, greatly reduces network scale, and adds feasibility to the deployment of network models on mobile devices.
Keywords: apple; lightweight; real time detection; activation function; upsampling operator; mobile deployment
0 引言
蘋果作為我國產量最大的水果之一,深受廣大消費者的喜愛。隨著人工智能技術[1, 2]的飛速發(fā)展,農業(yè)采摘設備更加趨向自動化、高效化、精準化、智能化,采用機器代替人工采摘蘋果,大大減少了時間成本,提升了采摘效率。然而,蘋果生長所處的自然環(huán)境較為復雜,經常出現(xiàn)果實重疊、樹枝樹葉遮擋、光線強度不一等情況,這給蘋果采摘機器人[3]在實際采摘過程中帶來了巨大的困難。
關于對蘋果識別方面的研究,最初是根據(jù)蘋果的顏色與外觀輪廓[4]來判別蘋果。江梅等[5]運用K-means聚類算法與凸殼原理,獲取蘋果的凸殼多邊形,并進行圓擬合,解決了蘋果被樹枝樹葉遮擋時的識別問題。王艷等[6]將色差閾值分割法與遺傳算法相結合,來進行對蘋果的識別。Liu等[7]利用簡單線性迭代聚類算法,來提取蘋果的顏色特征,并用定向梯度直方圖,得到蘋果的形狀特征,完成對不同光線強度下的蘋果檢測。然而,基于傳統(tǒng)圖像處理的檢測方法步驟復雜,在復雜環(huán)境下適應性差,且精度不夠好,而在實際的自然環(huán)境下,蘋果采摘機器人面臨著艱巨的識別任務,這對識別的精度與速度要求更高。
為解決上述問題,許多學者引入了基于深度學習[8]的檢測方法。Tian等[9]用改進的YOLOv3算法,對不同生長階段的蘋果進行了識別,提高了識別精度,但是檢測效率有待提高。祁金文[10]針對蘋果識別精度不高的問題,對YOLOv5算法進行了改進,提高了識別精度,但模型規(guī)模較大,不易在移動端上部署。Ji等[11]提出一種將YOLOX與ShufflenetV2網絡相結合的方法,實現(xiàn)了模型輕量化的同時,提升了檢測效率,但識別精度有待提高。
在復雜的自然環(huán)境下,如何實現(xiàn)對蘋果精準又快速檢測的同時,讓網絡模型很好地部署在資源有限的設備上,是在實際應用中的一個關鍵問題。YOLOv7[12]算法擁有著很高的檢測精度與效率,但網絡模型過大,不適合在資源有限的設備上部署,YOLOv7-tiny算法作為YOLOv7算法的輕量級版本,實現(xiàn)了網絡模型的輕量化[13],但犧牲了檢測精度,而且網絡模型與眾多輕量化網絡模型相比,規(guī)模仍然過大。為此,本文提出一種基于YOLOv7-tiny的輕量級蘋果實時檢測算法,引入CG-Block模塊并對原網絡的ELAN-tiny結構做修改,利用Mish[14]激活函數(shù)代替原網絡的Leaky ReLU激活函數(shù),為提升網絡的特征融合能力[15],使用CARAFE[16]輕量級上采樣算子。
1 YOLOv7-tiny算法
YOLOv7-tiny算法由Input、Backbone、Neck、Head四部分組成,網絡結構如圖1所示。輸入進網絡的圖片,在Input部分進行Mosaic數(shù)據(jù)增強,經過旋轉、縮放、剪裁等預處理操作,使得像素統(tǒng)一。Backbone部分作為主干網絡,由多個CBL卷積塊、ELAN-tiny結構和MP模塊組成,對預處理完的圖片分別進行特征的提取、學習與張量拼接。YOLOv7-tiny網絡中的ELAN-tiny結構,延續(xù)了YOLOv7網絡中ELAN結構的風格,減少了兩組卷積塊,雖然加快了特征提取的速度,但是削減了特征提取的能力。Neck部分作為特征融合網絡,采用PANet[17]與SPPCSPC特征金字塔結構,并使用最近鄰插值法,融合不同層的特征,以實現(xiàn)多尺度[18]的學習。Head部分利用CBL卷積塊,對通道數(shù)進行調整,最終輸出預測結果。YOLOv7-tiny算法在YOLOv7算法的基礎上,雖然實現(xiàn)了網絡模型的輕量化,并提升了檢測速度,但是犧牲了檢測精度,而且網絡模型相較于其他網絡模型,規(guī)模仍然過大。因此,本文圍繞YOLOv7-tiny算法,采用更加輕量化的方法,對特征進行提取與融合,為在復雜的自然環(huán)境下,實現(xiàn)對蘋果的實時性檢測提供方案。
2 改進的YOLOv7-tiny算法
在YOLOv7-tiny算法中,使用的多個CBL卷積塊與ELAN-tiny結構,雖然加快了對圖片特征提取與融合的速度,但精度有所損失,而且結構的參數(shù)量過于龐大。為此,采用CG-Block模塊代替CBL卷積塊,并對ELAN-tiny結構進行調整,在保證對圖片特征高效融合的同時,大幅減少結構的參數(shù)量。此外,利用Mish激活函數(shù)代替Leaky ReLU激活函數(shù),增加模型的泛化能力,并提高準確度。最后,將CARAFE上采樣算子代替最近鄰插值法,增加模型的特征融合能力。改進的YOLOv7-tiny算法網絡結構如圖2所示。
2.1 CG-Block模塊
YOLOv7-tiny算法中使用的標準卷積,是利用卷積核上的作用點,分別作用于原始的像素點,并通過疊加的方式,提取圖片上的特征,最終得到輸出結果。隨著網絡的層數(shù)變多,過多使用標準卷積,會大幅增加模型的計算量與參數(shù)量,并產生冗余的特征,這對特征的提取與融合是不利的。針對以上問題,本文使用CG-Block模塊代替原網絡的部分標準卷積。
CG-Block模塊的形成原理,源于幻影卷積GhostConv[19]。幻影卷積先用少量卷積聚合通道間的信息特征,生成通道數(shù)較小的特征圖,以減少參數(shù)量與計算量,再用組卷積形成新的特征圖,進一步減少參數(shù)量與計算量,最后將特征圖拼接在一起,得到輸出結果。
CG-Block模塊利用幻影卷積的特性,首先,對輸入進來的圖片進行卷積、批量歸一化,并使用Mish函數(shù)進行非線性激活,提取圖片特征;然后,用深度可分離卷積[20]DPConv,進行特征提取與融合,即先用深度卷積[21]對各通道的語義信息進行提取,再用點卷積將語義信息整合在一起,對另一部分圖片特征進行保留;最后,將這兩部分圖片特征進行拼接融合。CG-Block模塊實現(xiàn)了通道間的信息交互,增強了特征多樣性,并大大減少了模型的參數(shù)量與計算量,CG-Block結構如圖3所示。
原網絡中的ELAN-tiny結構是由5個CBL標準卷積塊堆疊而成,不僅會導致網絡模型的規(guī)模過大,還會產生特征冗余的結果,使得檢測效果不佳,無法實現(xiàn)高精度的檢測要求。ELAN-CG結構是利用4個CG-Block模塊對輸入圖片的特征,進行提取并融合,每一個CG-Block先利用少量卷積對圖片進行特征提取,以減少模型的參數(shù)量與計算量,為確保圖像特征提取的完整性,再用深度卷積與點卷積,對各通道的語義信息進行獲取整合,使圖像特征更加豐富多樣,圖片的特征信息經過4次CG-Block模塊的提取融合后,能夠實現(xiàn)更高精度的檢測目的,但也正因多次使用深度卷積與點卷積的緣故,使得對圖像語義信息提取與整合的時間變長,導致檢測速度稍微降低。因此,利用ELAN-CG結構代替原網絡的ELAN-tiny結構,在犧牲少量檢測速度的情況下,確保更高精度的檢測效果,實現(xiàn)網絡結構的輕量化。ELAN-CG結構如圖4所示。
2.2 Mish激活函數(shù)
YOLOv7-tiny算法中使用的Leaky ReLU激活函數(shù),通過給予負輸入很小的線性分量,來解決神經元失活的問題,但其正向輸出為無窮大,函數(shù)求導不連續(xù),不同區(qū)間的函數(shù)不同,無法提供相同的關系預測。針對上述問題,本文使用Mish激活函數(shù)代替原網絡中Leaky ReLU激活函數(shù),函數(shù)表達如式(1)~式(3)所示。
[Mish(x)=x×tanh[Softplus(x)]] (1)
[tanh(x)=ex-e-xex+e-x] (2)
[Softplus(x)=log(1+ex)] (3)
式中: x——待輸入至激活函數(shù)的值。
Mish激活函數(shù)有下界,能夠提高網絡的正則化效果,其在零點附近連續(xù),能解決一些不可預測的問題。其無上界,且整體更加平滑,可導性更出色,可有效防止因梯度消失產生的收斂速度緩慢的問題。Leaky ReLU和Mish的函數(shù)對比如圖5所示。
Mish激活函數(shù)與Leaky ReLU激活函數(shù)相比,優(yōu)化了網絡的泛化能力,提高了網絡的梯度流,增強了網絡的特征提取能力,使網絡的準確度得到提升。
2.3 CARAFE上采樣算子
原特征融合網絡中,使用最近鄰插值法得到的灰度值就是距離其最近的輸入像素的灰度值。由于忽略了四周像素點的影響,沒有充分得到特征圖的語義信息,利用這種方法會導致圖片的嚴重失真,融合的特征不夠準確。為此,本文采用CARAFE上采樣算子,代替原特征融合網絡中的最鄰近插值法。
CARAFE是一種輕量級的上采樣算子,其計算速度快,具有較大的感受野,感知性強,能很好地利用周圍的信息,可對不同位置的內容進行預測,預測后的重組核用來重組特征,并對得到的特征進行融合,得到不同尺度的特征信息,大幅提升了網絡的特征融合能力。引入CARAFE的特征融合網絡結構如圖6所示。
3 試驗結果與分析
3.1 數(shù)據(jù)集與試驗環(huán)境
數(shù)據(jù)集為自建數(shù)據(jù)集,利用英特爾Intel RealSense D455深度相機與iphoneXR在果園中拍攝1 161張?zhí)O果圖像,圖像中包含果實重疊、樹枝樹葉遮擋、光線強度不一等情況,使用Labelimg軟件對圖像中的蘋果進行標注,生成xml文件,標注完成后,將xml文件轉化成txt文件,并按照8∶1∶1的比例對圖像進行劃分,分別制作成訓練集、驗證集、測試集,以驗證改進算法的通用性。
試驗環(huán)境:操作系統(tǒng)為Ubuntu18.04.6,內存為64 G,CPU為i7-10700 K CPU @ 3.80 GHZ×16,GPU為NVIDIA GeForce RTX 2080 Ti,部署環(huán)境為Python3.7.12,深度學習框架為PyTorch1.12.0,加速計算框架為CUDA11.7。
為了防止過擬合與欠擬合兩種情況,模型訓練的參數(shù)設置:輸入圖像大小為640像素×640像素,迭代輪數(shù)(Epoch)為200,批次大?。˙atch Size)為8,學習率(Learning Rate)為0.01,權重衰減系數(shù)為0.000 5,采用SGD優(yōu)化器,即隨機梯度下降法,在每次迭代時,隨機用一個小批量的樣本,算出損失函數(shù)的梯度,并用得到的梯度來更新參數(shù),以提升訓練速度與魯棒性,動量(Momentum)為0.937。
3.2 評價指標
試驗采用的評價指標:平均精度均值mAP(mean Average Precision)、精確率P(Precision)、每秒檢測幀數(shù)FPS、參數(shù)量Params、計算量FLOPs、網絡規(guī)模Size,其中mAP、P、FPS的計算如式(4)~式(6)所示。
[mAP=1Ci=1CAPi] (4)
[P=TPTP+FP×100%] (5)
[FPS=Frame NumElapsed Time] (6)
式中: C——總類別數(shù);
i——檢測次數(shù);
AP——單類別識別的平均精度;
TP——被模型預測為正類的正樣本;
FP——模型預測為正類的負樣本;
Frame Num——檢測圖片的總數(shù);
Elapsed Time——檢測消耗的總時長。
本文用mAP@0.5與P,作為對模型檢測準確率的指標,其中mAP@0.5是指IOU是0.5時的mAP值,用FPS來衡量模型的檢測效率。
3.3 消融試驗
為了驗證本文提出的改進點的有效性,設計消融試驗進行比較,每組試驗的參數(shù)與環(huán)境設置均保持一致。試驗A是將原YOLOv7-tiny模型中的ELAN-tiny結構替換為ELAN-CG結構;試驗B是在原算法中引入CG-Block模塊;試驗C是將Mish激活函數(shù)替換原算法中的激活函數(shù);試驗D是在原算法中使用CARAFE輕量級上采樣算子。改進點消融試驗效果對比如表1所示。
從表1可以看出,將原YOLOv7-tiny模型中的ELAN-tiny結構替換為ELAN-CG結構后,網絡規(guī)模得到縮減,精確率與平均精度均值都有所提升,實現(xiàn)網絡模型輕量化的同時,提升檢測精度,驗證ELAN-CG結構的有效性。此基礎上,在加入CG-Block模塊后,網絡模型的參數(shù)量與計算量再次減少,檢測準確率也有所提升,分別加入Mish激活函數(shù)、CARAFE上采樣算子后,由于Mish激活函數(shù)的泛化能力更出色,CARAFE上采樣算子特征融合能力更強,使得檢測準確率大幅提升。將改進點兩兩組合后,比加入單個改進點的檢測效果更出色。將所有改進點組合在一起后,與原模型相比,參數(shù)量Params減少2.73 M,計算量FLOPs減少6.0 G,精確率增加4.1%,平均精度均值增加1.9%,實現(xiàn)了網絡模型輕量化的同時,提升檢測精度。
3.4 對比試驗
為了進一步驗證改進算法的有效性,在保持各參數(shù)與環(huán)境設置不變的情況下,將改進算法與當前其他主流算法進行對比試驗,試驗結果如表2所示。
從表2可以看出,改進算法與原YOLOv7-tiny算法相比,網絡模型的參數(shù)量降低45.4%,計算量降低46.2%,網絡規(guī)模Size減少43.9%,在對蘋果的檢測方面,P提升4.1%,mAP提升1.9%,F(xiàn)PS高達196.1 f/s,改進算法雖然在FPS上略低于原YOLOv7-tiny算法,但是在其他評價指標上均取得超越,實現(xiàn)檢測準確率與效率的平衡。改進算法與SSD、Faster R-CNN、YOLOv5-s、YOLOv6-s、YOLOX-s等算法比較,其模型規(guī)模更小,對蘋果的檢測準確率與效率更高。由此可見,改進算法在實現(xiàn)模型大幅輕量化的同時,能很好地完成對蘋果實時性檢測的任務,為網絡模型在移動端上部署提供了更多的可能,其通用性更加廣泛。圖7為YOLOv7-tiny算法與改進算法的檢測效果對比。
4 結論
提出一種基于YOLOv7-tiny的輕量級蘋果實時檢測算法,分別在原網絡的ELAN-tiny結構、激活函數(shù)、上采樣方法等方面作改進。用該算法對復雜自然環(huán)境下的蘋果進行檢測,在保證良好實時性的情況下,檢測精度更高,網絡規(guī)模更小,給在更多的移動端設備上部署提供可能,能夠很好地完成對自然環(huán)境下蘋果的實時檢測任務。
1) 將YOLOv7-tiny算法應用到蘋果的實時檢測任務上,并做出改進:添加獨特的CG-Block模塊,并對原網絡的ELAN-tiny結構進行修改,大幅減少網絡模型的參數(shù)量與計算量,并提升檢測精度;使用泛化能力更強的Mish激活函數(shù),提升網絡的特征提取能力;采用CARAFE上采樣算子,進一步增強網絡的特征融合能力。通過進行消融試驗,驗證改進點的有效性。
2) 將改進算法與當前其他主流算法進行對比試驗,進一步驗證算法的有效性。改進算法與YOLOv7-tiny算法相比,模型規(guī)模減少43.9%,mAP@0.5提高1.9%,P提高4.1%,F(xiàn)PS達到196.1 f/s,使網絡模型輕量化的同時,提高檢測精度,實現(xiàn)檢測精度與速度的平衡,驗證算法的有效性與通用性。
將改進算法應用到自然環(huán)境下蘋果的實時檢測場景中,其檢測精度仍然有提升的空間,這是今后需要進一步研究的內容。
參 考 文 獻
[ 1 ] 蘭玉彬, 林澤山, 王林琳, 等. 基于文獻計量學的智慧果園研究進展與熱點分析[J]. 農業(yè)工程學報, 2022, 38(21): 127-136.
Lan Yubin, Lin Zeshan, Wanglinlin, et al. Research progress and hotspots of smart orchard based on bibliometrics [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(21): 127-136.
[ 2 ] 馬瑞峻, 陳瑜, 張小花, 等. 蘋果機械化采收發(fā)展歷程、模式及其技術現(xiàn)狀[J]. 中國農機化學報, 2024, 45(1): 301-306.
Ma Ruijun, Chen Yu, Zhang Xiaohua, et al. Development process, mode and technology status of apple mechanized harvesting [J]. Journal of Chinese Agricultural Mechanization, 2024, 45(1): 301-306.
[ 3 ] 陳青, 殷程凱, 郭自良, 等. 蘋果采摘機器人關鍵技術研究現(xiàn)狀與發(fā)展趨勢[J]. 農業(yè)工程學報, 2023, 39(4): 1-15.
Chen Qing, Yin Chengkai, Guo Ziliang, et al. Current status and future development of the key technologies for apple picking robots [J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(4): 1-15.
[ 4 ] 唐栩超. 果實圖像識別新方法在蘋果采摘機器人中的應用研究[J]. 中國新技術新產品, 2023(4): 25-27.
[ 5 ] 江梅, 孫颯爽, 何東健, 等. 融合K-means聚類分割算法與凸殼原理的遮擋蘋果目標識別與定位方法[J]. 智慧農業(yè), 2019, 1(2): 45-54.
Jiang Mei, Sun Sashuang, He Dongjian, et al. Recognition and localization method of occluded apples based on K-means clustering segmentation algorithm and convex hull theory [J]. Smart Agriculture, 2019, 1(2): 45-54.
[ 6 ] 王艷, 祁萌. 基于遺傳算法和閾值分割的夜間蘋果識別方法[J]. 機械設計與研究, 2020, 36(3): 220-225, 233.
Wang Yan, Qi Meng. Apple recognition at night based on genetic algorithm and threshold segmentation [J]. Machine Design and Research, 2020, 36(3): 220-225, 233.
[ 7 ] Liu X, Zhao D, Jia W, et al. A detection method for apple fruits based on color and shape features [J]. IEEE Access, 2019(99): 1.
[ 8 ] Tripathi R C, Guo Y, Liu Y, et al. A review on deep learning for visual understanding [J]. ACADEMICIA: An International Multidisciplinary Research Journal, 2021, 11(12).
[ 9 ] Tian Y, Yang G, Wang Z, et al. Apple detection during different growth stages in orchards using the improved YOLO-V3 model [J]. Computers and Electronics in Agriculture, 2019, 157: 417-426.
[10] 祁金文. 基于YOLOv5的蘋果目標識別方法研究[J]. 電腦編程技巧與維護, 2022(8): 137-139.
[11] Ji Wei, Pan Yu, Xu Bo, et al. A real?time apple targets detection method for picking robot based on ShufflenetV2-YOLOX [J]. Agriculture, 2022, 12(6).
[12] Wang C Y, Bochkovskiy A, Liao H Y M. YOLOv7: Trainable bag?of?freebies sets new state?of?the?art for real?time object detectors [C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023: 7464-7475.
[13] 劉浩翰, 樊一鳴, 賀懷清, 等. 改進YOLOv7-tiny的目標檢測輕量化模型[J]. 計算機工程與應用, 2023, 59(14): 166-175.
Liu Haohan, Fan Yiming, He Huaiqing, et al. Improved YOLOv7-tiny's object detection lightweight model [J]. Computer Engineering and Applications, 2023, 59(14): 166-175.
[14] Pattanaik A, Balabantaray R C. Enhancement of license plate recognition performance using Xception with Mish activation function [J]. Multimedia Tools and Applications, 2022, 82(11): 1-23.
[15] Wu Tingting, Song Chunhe, Zeng Peng. Model pruning based on filter similarity for edge device deployment [J]. Frontiers in Neurorobotics, 2023, 17.
[16] Wu Shengwang, Li Zhongmin, Li Shiji, et al. Static gesture recognition algorithm based on improved YOLOv5s [J]. Electronics, 2023, 12(3).
[17] Cheng Qianqing, Li Xiuhe, Zhu Bin, et al. Drone detection method based on MobileViT and CA-PANet [J]. Electronics, 2023, 12(1).
[18] Chen Junyang, Liu Hui, Zhang Yating, et al. A multiscale lightweight and efficient model based on YOLOv7: Applied to citrus orchard [J]. Plants, 2022, 11(23).
[19] Han K, Wang Y, Tian Q, et al. GhostNet: More features from cheap operations [J]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2020: 1577-1586.
[20] Jang J G, Quan C, Lee H D, et al. Falcon: Lightweight and accurate convolution based on depthwise separable convolution [J]. Knowledge and Information Systems, 2023, 65(5): 2225-2249.
[21] Oymak S, Soltanolkotabi M. Learning a deep convolutional neural network via tensor decomposition [J]. Information and Inference: A Journal of the IMA, 2021, 10(3): 1031-1071.