趙 輝,喬艷軍,王紅君,岳有軍
基于改進YOLOv3的果園復(fù)雜環(huán)境下蘋果果實識別
趙 輝1,2,喬艷軍1,王紅君1,岳有軍1
(1. 天津理工大學(xué)電氣電子工程學(xué)院/天津市復(fù)雜系統(tǒng)控制理論與應(yīng)用重點實驗室,天津 300384;2. 天津農(nóng)學(xué)院工程技術(shù)學(xué)院,天津 300392)
為使采摘機器人能夠全天候在不同光照、重疊遮擋、大視場等果園復(fù)雜環(huán)境下對不同成熟度的果實進行快速、準(zhǔn)確識別,該研究提出了一種基于改進YOLOv3的果實識別方法。首先,將DarkNet53網(wǎng)絡(luò)中的殘差模塊與CSPNet(Cross Stage Paritial Network)結(jié)合,在保持檢測精度的同時降低網(wǎng)絡(luò)的計算量;其次,在原始YOLOv3模型的檢測網(wǎng)絡(luò)中加入SPP(Spatial Pyramid Pooling)模塊,將果實的全局和局部特征進行融合,提高對極小果實目標(biāo)的召回率;同時,采用Soft NMS(Soft Non-Maximum Suppression)算法代替?zhèn)鹘y(tǒng)NMS(Non-Maximum Suppression)算法,增強對重疊遮擋果實的識別能力;最后,采用基于Focal Loss和CIoU Loss的聯(lián)合損失函數(shù)對模型進行優(yōu)化,提高識別精度。以蘋果為例進行的試驗結(jié)果表明:經(jīng)過數(shù)據(jù)集訓(xùn)練之后的改進模型,在測試集下的MAP(Mean Average Precision)值達到96.3%,較原模型提高了3.8個百分點;1值達到91.8%,較原模型提高了3.8個百分點;在GPU下的平均檢測速度達到27.8幀/s,較原模型提高了5.6幀/s。與Faster RCNN、RetinaNet等幾種目前先進的檢測方法進行比較并在不同數(shù)目、不同光照情況下的對比試驗結(jié)果表明,該方法具有優(yōu)異的檢測精度及良好的魯棒性和實時性,對解決復(fù)雜環(huán)境下果實的精準(zhǔn)識別問題具有重要參考價值。
收獲機;目標(biāo)檢測;圖像處理;果實識別;YOLOv3;復(fù)雜環(huán)境
果實采摘機器人可實現(xiàn)采摘工作的自動化,能夠很好的解決勞動力不足、人工采摘成本高且效率低的問題[1-2]。采摘機器人的重點和難點在視覺系統(tǒng),機器人的工作效率和穩(wěn)定性取決于其對果實識別的速度、準(zhǔn)確率以及對復(fù)雜環(huán)境的適應(yīng)能力[3-4]。因此,研究一套能夠在復(fù)雜環(huán)境下精確識別樹上果實的視覺系統(tǒng),對實現(xiàn)自動采摘和產(chǎn)量估計具有重要研究價值和現(xiàn)實意義。
目前,國內(nèi)外在水果檢測方面的研究已經(jīng)取得了一定進展。Lin等[5]研究了一種基于貝葉斯分類器和密度聚類的圖像分割方法,提出了一種基于支持向量機的柑橘識別算法,可以弱化光照變化對識別效果的影響,不足之處是檢測一張圖像平均需要1.25 s,實時性較差;宋懷波等[6]提出了一種基于凸殼理論的蘋果檢測方法,解決了遮擋情況下的蘋果識別問題,但識別效果易受光照變化
和顏色飽和度的影響。上述傳統(tǒng)的識別方法對由人工提取出的特征過于依賴,受復(fù)雜環(huán)境因素影響較大,魯棒性和泛化性較差,難以滿足采摘機器人的實際工作需求[7-8]。近年來,隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)可以通過無監(jiān)督或半監(jiān)督的特征學(xué)習(xí)來提取多層次特征,比人工提取的特征具有更強的泛化能力,其強大的表征能力使目標(biāo)檢測的性能獲得了很大提升,推動了目標(biāo)檢測的發(fā)展[9-10]。目前,主流的基于深度學(xué)習(xí)的目標(biāo)檢測算法依據(jù)其設(shè)計原理,主要分為兩類:一種是基于區(qū)域建議的方法,標(biāo)志性的算法有RCNN[11](Regions with CNN features)、Fast RCNN[12]和Faster RCNN[13]等,核心思想是首先獲得建議區(qū)域,然后在當(dāng)前區(qū)域內(nèi)進行精確的分類與位置預(yù)測,稱為兩階目標(biāo)檢測[14-15]。Sun等[16]提出了一種基于改進的Faster RCNN番茄識別方法,該方法采用ResNet50作為特征提取網(wǎng)絡(luò),使用K-means聚類方法調(diào)整預(yù)選框,有效提高了識別精度,但是檢測速度較慢,不滿足實時性的要求;張磊等[17]采用Faster RCNN算法,實現(xiàn)了對自然環(huán)境下多類水果的識別,其模型的精度高,泛化能力強,但是對重疊遮擋果實的檢測召回率較低,容易將重疊果實判定為一個。另一種方法是無區(qū)域建議的方法,標(biāo)志性的算法有SSD[18]、YOLO[19]等,核心思想是通過單個卷積神經(jīng)網(wǎng)絡(luò)處理圖像,直接計算出目標(biāo)的分類結(jié)果與位置坐標(biāo),也稱為一階目標(biāo)檢測[14-15]。Tian等[20]提出了一種改進的YOLOv3算法,利用DenseNet作為其特征提取網(wǎng)絡(luò),實現(xiàn)了對不同生長期蘋果的識別,但是并未對大視場環(huán)境下的果實進行研究;趙德安等[21]利用改進后的YOLOv3算法,對各類復(fù)雜環(huán)境下的蘋果進行識別,檢測速度達到60幀/s,具有很好的實時性,但是當(dāng)檢測密集蘋果時,1值下降明顯,不能很好地檢測密集蘋果和大視場下的蘋果。
鑒于此,本文以蘋果為研究對象,以多尺度檢測性能較好且同時兼顧了檢測速度和精度的YOLOv3網(wǎng)絡(luò)為基礎(chǔ),根據(jù)自然環(huán)境下蘋果果實的生長特征和目前果實檢測存在的問題,對原網(wǎng)絡(luò)模型進行改進,在復(fù)雜環(huán)境下進行檢測試驗,并對改進后的方法進行準(zhǔn)確性和實時性驗證。
本文所用的部分蘋果圖像于7—10月期間采集于天津市多個蘋果園內(nèi),分辨率為4 032×3 024(像素),共計2 200張圖像,包括晴天、多云和陰天等天氣狀況;分別在早上、中午、傍晚以及夜晚4個時間段進行采集;照明條件包括順光、側(cè)光、逆光和人工光照;在拍攝時模擬采摘機器人的操作過程,不斷變換拍攝角度和拍攝距離,采集到的圖像基本包含了不同顏色、姿態(tài)、大小、光照、背景以及果實重疊遮擋等情況。由于采集到的蘋果圖像主要為紅富士,且果園環(huán)境較為單一,考慮到視覺系統(tǒng)的通用性,又通過互聯(lián)網(wǎng)搜集了一些其他果園復(fù)雜環(huán)境中的不同品種(紅富士、嘎啦、蛇果、秦冠等)、不同成熟時期的蘋果圖像,篩選出了1 800張圖像。最終,通過實地拍攝與互聯(lián)網(wǎng)收集共計得到4 000張?zhí)O果圖像,統(tǒng)一保存為.JPG格式,圖1展示了收集到的部分圖像。
為了識別不同成熟時期的蘋果果實,根據(jù)不同生長期將其分為兩類,其中一類為成熟蘋果;另一類為未成熟蘋果(包含落果期和膨大期)。本研究訓(xùn)練模型采用PASCAL VOC的數(shù)據(jù)集格式,利用LabelImg軟件將圖像中目標(biāo)果實所在區(qū)域進行手工標(biāo)注矩形框,其中,成熟蘋果的類別標(biāo)簽設(shè)定為Apple,未成熟蘋果的類別標(biāo)簽設(shè)定為Green_Apple,標(biāo)注時矩形框要盡量貼合果實輪廓。標(biāo)注完成后,隨機選取其中3 200張作為訓(xùn)練集,400張作為驗證集,400張作為測試集。
在模型輸入端嵌入Mosaic數(shù)據(jù)增強方法,即每次讀取4張圖像,分別進行隨機縮放、翻轉(zhuǎn)、剪裁以及光學(xué)變換等操作,然后,將4張圖像拼接到一起并與調(diào)整后的標(biāo)簽一同傳入網(wǎng)絡(luò)中,相當(dāng)于一次性傳入4張圖像進行學(xué)習(xí),極大地豐富了檢測物體的背景,增加了目標(biāo)個數(shù),且在標(biāo)準(zhǔn)化BN(Batch Normalization)計算時會同時計算4張圖像的數(shù)據(jù),相當(dāng)于增加了Batch size,使得BN層求出來的均值與方差更加接近于整體數(shù)據(jù)集的分布,有助于增強模型的魯棒性。
YOLOv3借鑒了ResNet的殘差思想,在其主干網(wǎng)絡(luò)(DarkNet53)中大量使用了殘差連接,并利用步長為2的3×3卷積代替最大池化層進行下采樣,因此,網(wǎng)絡(luò)結(jié)構(gòu)可以設(shè)計得很深,可以保留更多的特征信息、促進網(wǎng)絡(luò)前后層的特征信息融合,并且緩解訓(xùn)練中梯度消失與爆炸等網(wǎng)絡(luò)退化的問題,使模型更容易收斂,特征提取能力更強。其網(wǎng)絡(luò)結(jié)構(gòu)主要由一系列殘差塊(Residual Block)串聯(lián)而成,殘差塊結(jié)構(gòu)如圖2所示。過深的殘差連接雖然增強了網(wǎng)絡(luò)性能,但也增大了計算量,限制了檢測速度。在采摘過程中,實時性是最重要的性能指標(biāo)之一,因此,通過對網(wǎng)絡(luò)進行輕量化處理來降低計算量是非常必要的。
CSPNet[22](Cross Stage Paritial Network)是一種先進的方法,能夠解決網(wǎng)絡(luò)優(yōu)化中的梯度信息重復(fù)問題,通過分開梯度流,使梯度流可以在不同的網(wǎng)絡(luò)路徑上傳播,避免了梯度信息被復(fù)用,有效減少了模型的浮點運算次數(shù)(Floating point operations,F(xiàn)LOPs),既保證了推理速度和準(zhǔn)確率,又減小了模型的計算量。因此,本文將DarkNet53中的殘差塊與CSPNet結(jié)合,構(gòu)成CSPX模塊,如圖3所示。CSPX模塊首先將輸入特征圖經(jīng)過第一個CBL模塊進行2倍下采樣,然后再經(jīng)過一個CBL模塊后,將得到的特征圖分成2個部分,一部分經(jīng)過個殘差塊,而另一部分直接通過一個CBL模塊向后傳播,最后,再將這2部分的結(jié)果按通道進行拼接操作。
注:CSPX表示內(nèi)部帶有X個殘差塊的CSP模塊;每個CSP模塊的第一個CBL模塊中卷積核的大小都是3×3,且stride=2。
盡管YOLOv3將深淺層的特征進行了融合,加強了模型的多尺度性能,但是對小物體的檢測精度仍然較低,且漏檢率較高,因此,為了實現(xiàn)對大視場下的極小蘋果目標(biāo)進行精確識別,從而對蘋果的整體分布預(yù)定位,以指導(dǎo)機器人規(guī)劃路徑、調(diào)整位姿,并完成計數(shù),估計蘋果產(chǎn)量[23-24],在YOLOv3的檢測網(wǎng)絡(luò)中加入空間金字塔池化(Spatial Pyramid Pooling,SPP)模塊,這是一個由3種不同尺度的最大池化層組成的結(jié)構(gòu),如圖4所示,SPP模塊將輸入特征圖分別經(jīng)過3個不同池化核大小的最大池化層進行下采樣操作,然后,與原始輸入特征圖進行按通道拼接操作,最后,將拼接后的特征圖傳入到后續(xù)網(wǎng)絡(luò)中,可以有效融合局部特征和全局特征,增大感受野,豐富最終特征圖的表達能力,進一步增強模型對小物體的檢測性能。
當(dāng)前的物體檢測算法,為了保證召回率,對于同一個真實物體往往會有多個預(yù)測框輸出,由于多余的預(yù)測框會影響檢測精度,因此,需要利用非極大值抑制(Non-Maximum Suppression,NMS)算法過濾掉重疊的預(yù)測框,得到最佳的預(yù)測輸出[25]。對于傳統(tǒng)的NMS方法,如果一個邊框的預(yù)測得分越高,這個框?qū)⒈粌?yōu)先考慮,其他與其重疊且超過一定閾值的邊框?qū)⒈簧釛墸@種方法雖然簡單有效,但是在實際采摘環(huán)境中,當(dāng)果實較為密集時,本身屬于兩個果實的邊框,其中得分較低的可能會被抑制掉,從而造成漏檢。為解決上述問題,將傳統(tǒng)的NMS改進為軟性非極大值抑制(Soft Non-Maximum Suppression,Soft NMS)算法,具體方法如公式1所示。
式中S為當(dāng)前預(yù)測框的置信度得分;為所有預(yù)測框中置信度得分最高的預(yù)測框;b為當(dāng)前類別中所有被比較的預(yù)測框;IoU為兩個邊框交集與并集的比值;N為人工設(shè)定的閾值,一般取0.5;為連續(xù)懲罰項系數(shù)。
從公式(1)可以看出,Soft NMS將最高分值的預(yù)測框設(shè)定為基準(zhǔn)框,然后分別與當(dāng)前類別中剩余的預(yù)測框作交并比(Intersection Over Union,IoU)計算,保留IoU小于設(shè)定閾值的預(yù)測框,而對于IoU大于設(shè)定閾值的預(yù)測框,沒有直接將其得分置0,而是連續(xù)地降低該邊框的置信度得分,對于某些得分很高的邊框來說,在后續(xù)計算中還有被作為正確檢測框的可能,因此可以有效提升對遮擋重疊果實的檢測性能。此外,Soft NMS算法與傳統(tǒng)的NMS相比復(fù)雜度幾乎沒有改變,且實現(xiàn)同樣簡單。
改進后的模型結(jié)構(gòu)如圖5所示。其中主干網(wǎng)絡(luò)主要由5個分別包含1、2、8、8、4個殘差塊的CSPX模塊堆疊而成,每個殘差塊又包含兩個CBL模塊,CBL模塊是卷積層、BN層以及激活層的組合,激活函數(shù)仍然使用原網(wǎng)絡(luò)中的Leaky ReLU。輸入圖像尺寸設(shè)置為608×608 (像素),每經(jīng)過1個CSPX模塊,特征圖尺寸縮小為原來的一半,在經(jīng)過主干網(wǎng)絡(luò)以及頸部網(wǎng)絡(luò)中7個CBL模塊和1個SPP模塊以及最終的卷積層,進行32倍下采樣之后,得到大小為19×19的預(yù)測特征圖y1,用于預(yù)測較大目標(biāo);然后,將經(jīng)過6個CBL模塊和1個SPP模塊的輸出特征圖依次經(jīng)過兩次2倍上采樣操作,分別與淺層較高分辨率的特征圖按通道進行拼接融合,進而得到兩個不同尺度的預(yù)測特征圖y2和y3,大小分別為38×38以及76×76,分別預(yù)測中等大小和較小目標(biāo),3個預(yù)測特征圖的通道數(shù)均為21(特征圖上每個特征點預(yù)測3個先驗框,每個先驗框需要兩個類別預(yù)測、1個置信度預(yù)測和4個位置預(yù)測,所以共需要21維預(yù)測特征向量),最終,將3種尺度的預(yù)測特征圖得到的預(yù)測結(jié)果一起送入Soft NMS中,過濾掉多余的預(yù)測框,完成最終的預(yù)測。
2.5.1 焦點損失Focal Loss
YOLOv3等一階段網(wǎng)絡(luò)存在樣本不均衡問題,在訓(xùn)練過程中存在大量的負(fù)樣本,容易干擾模型的優(yōu)化方向;而標(biāo)準(zhǔn)的交叉熵?fù)p失函數(shù)中,所有樣本的權(quán)重都是相同的,因此,如果正負(fù)樣本不均衡,負(fù)樣本將占據(jù)主導(dǎo)地位,少量的難檢測樣本與正樣本會起不到作用,導(dǎo)致精度變差。為解決這個問題,本文利用Focal Loss(FL)代替原損失函數(shù)中的BCE Loss(Binary Cross Entropy Loss),如式2所示。
式中為樣本在該類別的預(yù)測概率;為樣本標(biāo)簽;為正負(fù)樣本平衡系數(shù),0<<1;為難易樣本調(diào)制因子。
注:CSP后面的數(shù)字表示該CSPX模塊內(nèi)包含殘差塊(Residual Block)數(shù)量;Concat表示一種通道數(shù)相加的特征融合方式;Upsample表示對輸入的特征圖進行上采樣操作;y1、y2、y3分別表示3個不同尺度的輸出特征圖;圖中的×表示此處有個同樣的模塊構(gòu)成。
Note: The number after CSP indicates that the CSPX module contains several Residual Block; Concat represents a feature fusion method of adding the number of channels; Upsample means upsampling the input feature map; y1, y2 and y3 represent output characteristic diagrams of three different scales respectively; The ×representation in the diagram havemultiple of same module composition here.
圖5 改進后的網(wǎng)絡(luò)結(jié)構(gòu)圖
Fig.5 Improved network structure diagram
2.5.2 完全交并比損失CIoU Loss
原始YOLOv3損失函數(shù)中的位置損失,采用直接計算4個預(yù)測偏移量和偏移量真值(中心點坐標(biāo)偏移量+寬高偏移量)之間差值平方的方法,并沒有考慮到在相同偏移損失值下,真實框與預(yù)測框之間的重疊面積以及重疊位置可能是不同的。因此,本文提出利用CIoU Loss(Complete IoU Loss)代替原損失函數(shù)中的L2位置損失,首先,將預(yù)測偏移量作用到先驗框上得到預(yù)測框,然后,直接最小化預(yù)測框與真實框中心點的距離,并最大化兩框之間的重疊面積,具體方法如式3所示。
式中為預(yù)測框與真實框的中心點距離;為預(yù)測框與真實框最小外接矩形的對角線距離;w、h分別為真實框的寬和高;、分別為預(yù)測框的寬和高。
通過公式(3)可以看出,當(dāng)預(yù)測框與真實框完全重合時,IoU=1,=0,=0,所以CIoU=1,則CIoU=0;而當(dāng)預(yù)測框與真實框相距無窮遠時,IoU=0,2/2=1,CIoU=-(1+),則CIoU=2+,所以0 本文所有試驗都在工作站上搭建的深度學(xué)習(xí)環(huán)境中完成,其具體配置為:Intel Xeon(R) E5-2650 v4@2.20Hz×48 CPU;運行內(nèi)存為64GB;1TB固態(tài)硬盤;12GB的GTX1080Ti×2 GPU;Ubuntu18.04操作系統(tǒng);NVIDIA驅(qū)動為450.102.04;編程語言Python以及深度學(xué)習(xí)框架PyTorch版本分別為3.8和1.7;并行計算架構(gòu)CUDA以及深度網(wǎng)絡(luò)的GPU加速庫cuDNN的版本分別為11.0和7.6.5。 使用準(zhǔn)確率(Precision,,%)、召回率(Recall,,%)、1值,%、AP(Average Precision,%)值以及MAP(Mean Average Precision)值這5個性能指標(biāo)對模型進行性能評估,如式(4)~(8)所示。 式中準(zhǔn)確率表示所有預(yù)測框中檢測正確的比例;召回率表示正確檢測出的標(biāo)簽框在所有標(biāo)簽框中的比例;TP為與標(biāo)簽框正確匹配的預(yù)測框的數(shù)量;FP為預(yù)測錯誤的預(yù)測框的數(shù)量;FN為漏檢的標(biāo)簽框的數(shù)量;AP表示每一類蘋果的平均精度值;MAP表示2類蘋果的平均精度值;1為與的調(diào)和均值。 訓(xùn)練開始前,首先利用由微軟提供的大規(guī)模數(shù)據(jù)集COCO(Common Objects in Context)數(shù)據(jù)集對改進后的模型進行預(yù)訓(xùn)練,并使用預(yù)訓(xùn)練好的權(quán)重對模型初始化[26-27],在訓(xùn)練時使用Warm up,即在訓(xùn)練初期先使用一個較小的學(xué)習(xí)率初始值,使模型在一開始對數(shù)據(jù)分布理解為0時,不至于對Batch size的小批量圖像過擬合,本文中將初始值設(shè)置成0.001,在前3輪訓(xùn)練過程中,逐漸上升到0.01,并從第4輪開始逐漸衰減至0.001,Epoch設(shè)置為300,Batch size設(shè)置為16。權(quán)值衰減設(shè)置為0.0005。每訓(xùn)練完一個Epoch保存一次網(wǎng)絡(luò)的權(quán)重文件,并利用Tensorboard工具對模型進行實時監(jiān)測,記錄模型在驗證集下的各項性能指標(biāo),訓(xùn)練共耗時6 h 32 min。 迭代訓(xùn)練過程中的損失曲線和驗證集下的各項性能指標(biāo)曲線如圖6所示,雖然試驗設(shè)置的訓(xùn)練輪次為300輪,但驗證損失在100輪左右就趨于穩(wěn)定而不再降低了,說明模型在此時已經(jīng)擬合。在150輪之后,驗證損失波動上升,而訓(xùn)練損失仍在下降,說明此時模型已經(jīng)過擬合。通過訓(xùn)練過程中驗證集的準(zhǔn)確率、召回率、1和MAP(IoU閾值設(shè)定為0.5)的變化曲線可知,在前20輪的訓(xùn)練過程中,各項性能指標(biāo)變化幅度較大,但是總體趨勢是增長的,在之后的訓(xùn)練過程中,逐漸趨于穩(wěn)定,在小范圍內(nèi)振蕩。由于模型在100輪左右已經(jīng)擬合,且MAP值綜合考慮了2個類別的準(zhǔn)確率和召回率,所以本文取第100輪左右各15輪的MAP最大值,最大值為96.1%出現(xiàn)在第109輪,并將這一輪所得到的權(quán)重作為最終的模型權(quán)重,此時=94.1%,=90.6%;1=92.3%。 利用測試集對最終獲得的模型進行測試,本文的測試集中包含了各種復(fù)雜環(huán)境下的2類蘋果圖像,基本符合整體數(shù)據(jù)集的分布,通過其曲線可知,如圖7a所示,模型在測試集上的成熟蘋果類別(Apple)AP值可達到96.4%,未成熟蘋果類別(Green_Apple)AP值可達到96.3%,MAP值為96.3%,平均檢測速度為27.8幀/s,檢測精度和檢測速度均滿足實際采摘需求,故可以應(yīng)用于實際果園環(huán)境中。 1值是準(zhǔn)確率和召回率的調(diào)和均值,隨置信度閾值的變化而變化[28],模型1值變化曲線如圖7 b所示,當(dāng)置信度閾值為0.674時,1取得最大值為0.92,但是,設(shè)置較大的閾值會導(dǎo)致召回率降低,從而導(dǎo)致漏檢率上升,綜合考慮了準(zhǔn)確率和召回率之后,取置信度閾值為0.55,此時模型性能最佳。 利用本文制作的數(shù)據(jù)集對另外5種目標(biāo)檢測算法進行訓(xùn)練,得到最優(yōu)模型之后,在測試集上進行測試,6種方法的平均準(zhǔn)確率、平均召回率、平均1值、AP值以及檢測速度如表1所示。在檢測精度方面,本文方法的準(zhǔn)確率為91.0%,召回率為92.6%,1值為91.8%,AP1達到96.4%,AP2達到96.3%,均高于其他5種方法,比YOLOv3的AP1和AP2分別高了2.2和5.5個百分點,比YOLOv5的AP1和AP2均高了1.3個百分點;特別是對未成熟蘋果的識別精度明顯優(yōu)于其他算法,并且,除本文算法和YOLOv5以外的其他4種算法對成熟蘋果的檢測結(jié)果也要優(yōu)于未成熟蘋果,分析其原因是未成熟蘋果顏色與背景葉子的顏色相似,且果實較小,生長密集,所以識別難度相對較大。在檢測速度方面,本文方法的平均檢測速度為27.8幀/s,比Faster RCNN高了11.3幀/s,比YOLOv3高了5.6幀/s,這是由于在主干網(wǎng)絡(luò)中使用了CSPX模塊從而降低了計算量,盡管比速度最快的CenterNet低了4.5幀/s,但其他各項指標(biāo)均優(yōu)于該模型。本文算法能夠?qū)崟r檢測樹上蘋果,滿足實際采摘作業(yè)的實時性要求。綜上,在所有方法中,本文所提出的方法表現(xiàn)出最好的綜合檢測性能。 圖8展示了本文算法的部分檢測結(jié)果,通過檢測結(jié)果可以看出,本文算法可以很好地檢測出不同光照、不同遮擋程度、套袋、大視場等各類復(fù)雜環(huán)境下的成熟與未成熟的蘋果果實,其預(yù)測框的位置和類別較為準(zhǔn)確且漏檢和誤檢較少,具有很強的魯棒性。 表1 6種算法在測試集上的識別結(jié)果 注:AP1表示成熟蘋果類別AP值,AP2表示未成熟蘋果類別AP值。 Note: AP1 represents the AP value of mature apple category, and AP2 represents the AP value of immature apple category. 建立不同蘋果數(shù)量下的對比試驗,試驗測試集一共400張圖像包含6 117個蘋果,按蘋果數(shù)量不同分為4類,其中,105張單個蘋果圖像包含105個蘋果;142張多個蘋果(每張包含2~10個蘋果)圖像包含882個蘋果;125張密集蘋果(每張包含11~30個蘋果)圖像包含2 890個蘋果;28張大視場環(huán)境下的蘋果(每張包含30個以上蘋果)圖像包含2 240個蘋果,比較改進前后2種方法在不同蘋果數(shù)量下的檢測性能,部分測試結(jié)果如圖9所示。 在上述4類不同蘋果數(shù)量的測試集上完成測試之后,得到各項性能指標(biāo),如表2所示。由表2可以看出,當(dāng)檢測單個蘋果時,本文算法與YOLOv3差距不大;而隨著果實數(shù)量的不斷增加,2類算法的各項性能指標(biāo)均有所下降;且YOLOv3的識別精度與本文算法差距越來越明顯,其中,當(dāng)檢測多個蘋果時,其AP值分別比本文算法低了1.5和3.5個百分點,1值低了2.1個百分點;當(dāng)檢測密集蘋果時,其AP值分別比本文算法低了1.8和4.0個百分點,1值低了3.7個百分點;在大視場環(huán)境下,其兩類AP值分別比本文算法低了2.8和6.7個百分點,1值低了4.2個百分點。綜合結(jié)果表明,本文方法能夠較好地應(yīng)用于不同數(shù)量、不同大小、不同重疊遮擋環(huán)境下的蘋果檢測,且性能優(yōu)于改進前的YOLOv3算法,尤其是針對密集和大視場環(huán)境下蘋果的檢測,性能有明顯的提升,驗證了所提出改進方法的有效性。 表2 YOLOv3改進前后對不同數(shù)目蘋果的識別結(jié)果 本節(jié)試驗檢驗?zāi)P蛯Σ煌庹諚l件的魯棒性,分別涉及順光、側(cè)光、逆光(包含傍晚和陰天等情況)和夜晚人工光照,為了避免密集蘋果對試驗結(jié)果造成影響,每一類從單個蘋果和多個蘋果類別中各挑選出40張圖像作為測試,部分檢測結(jié)果如圖10所示。通過圖10可以看出,在不同光照條件下,兩類算法均有較好的識別效果,但是當(dāng)光線極差時(如逆光、傍晚等),會出現(xiàn)預(yù)測框位置不夠準(zhǔn)確以及誤檢和漏檢的情況。分析其原因是光線不足導(dǎo)致果實表面紋理特征不明顯,顏色失真,特別是對于未成熟蘋果來說,其與葉片等背景界限不明顯。 在上述不同光照條件的測試集上完成測試之后,得到各項性能指標(biāo),如表3所示。通過表3可以看出,在側(cè)光條件時,本文算法獲得最高的AP值,其中,AP1為98.0%,AP2為97.9%;而在逆光條件時,本文算法的兩類AP值最低,分別為97.3%和97.2%;YOLOv3也是相同的情況,在側(cè)光條件時AP1和AP2分別為97.4%和97.0%,而在逆光條件時,AP1和AP2分別為96.9和96.0。說明模型在側(cè)光條件下可以獲得更高的識別精度,因為蘋果在側(cè)光下紋理清楚,表面光照強度均勻,而逆光條件則會對檢測造成一定干擾。但總體上來說,2種算法在順光、側(cè)光、逆光以及夜晚人工光照條件下的各項性能指標(biāo)差距不大,均能夠取得較好的檢測結(jié)果,說明基于深度學(xué)習(xí)的檢測算法對光照條件具有魯棒性;此外,本文制作的數(shù)據(jù)集中包含了各種光照條件下的圖像數(shù)據(jù),使得模型充分學(xué)習(xí)到了不同光照條件下的果實特征,從而取得了較好的檢測結(jié)果。 表3 YOLOv3改進前后對不同光照下蘋果的識別結(jié)果 本文針對傳統(tǒng)方法在果園復(fù)雜環(huán)境下對樹上果實識別準(zhǔn)確率和實時性較低、魯棒性較差等問題,提出了一種基于改進YOLOv3的識別方法,該方法在測試集下的準(zhǔn)確率為91.0%,召回率為92.6%,1值為91.8%,成熟與未成熟蘋果的AP值分別為96.4%和96.3%,檢測速度可達27.8幀/s,整體性能優(yōu)于其他5種算法,能夠達到蘋果自動采摘識別的準(zhǔn)確性和實時性要求,通過更改數(shù)據(jù)集,該模型可應(yīng)用于其他各類果實采摘機器人的視覺系統(tǒng)中,具有良好的泛化性。 為了進一步驗證本文算法的有效性和可行性,設(shè)計了不同果實數(shù)目、不同光照環(huán)境下的模型性能對比試驗。結(jié)果表明,當(dāng)檢測密集蘋果時,本文算法的成熟與未成熟蘋果AP值分別比原模型提高了1.8和4.0個百分點;而在大視場環(huán)境下,分別提高了2.8和6.7個百分點,證明了所提出改進方法的有效性。此外,模型在側(cè)光條件下的檢測效果最佳,成熟與未成熟蘋果AP值分別為98.0%和97.9%;而逆光條件下的檢測效果最差,成熟與未成熟蘋果的AP值分別為97.3%和97.2%,但總體上來說基于深度學(xué)習(xí)的目標(biāo)檢測方法對光照具有魯棒性,光照變化對其檢測性能影響較小。 [1] Jia W K, Tian Y Y, Luo R, et al. Detection and segmentation of overlapped fruits based on optimized mask R-CNN application in apple harvesting robot[J]. Computers and Electronics in Agriculture, 2020, 172: 105380. [2] Fu L S, Feng Y L, Wu J Z, et al. Fast and accurate detection of kiwifruit in orchard using improved YOLOv3-tiny model[J]. Precision Agriculture, 2020, 13(2): 1-23. [3] Jia W K, Zhang Y, Lian J, et al. Apple harvesting robot under information technology: A review[J]. International Journal of Advanced Robotic Systems, 2020, 17(3): 1-16. [4] Kang H W, Chen C, Zhou H Y, et al. Fruit detection and segmentation for apple harvesting using visual sensor in orchards[J]. Sensors (Basel), 2019, 19(20): 194599. [5] Lin G C, Tang Y C, Zou X J, et al. In-field citrus detection and localisation based on RGB-D image analysis[J]. Biosystems Engineering, 2019, 186: 34-44. [6] 宋懷波,何東健,潘景朋. 基于凸殼理論的遮擋蘋果目標(biāo)識別與定位方法[J]. 農(nóng)業(yè)工程學(xué)報,2012,28(22):174-180. Song Huaibo, He Dongjian, Pan Jingpeng. Recognition and localization methods of occluded apples based on convex hull theory[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2012, 28(22): 174-180. (in Chinese with English abstract) [7] Liu G X, Nouaze J C, Touko P L, et al. YOLO-Tomato: A robust algorithm for tomato detection based on YOLOv3[J]. Sensors (Basel), 2020, 20(7): 202145. [8] 武星,齊澤宇,王龍軍,等. 基于輕量化YOLOv3卷積神經(jīng)網(wǎng)絡(luò)的蘋果檢測方法[J]. 農(nóng)業(yè)機械學(xué)報,2020,51(8):17-25. Wu Xing, Qi Zeyu, Wang Longjun, et al. Apple detection method based on lightweight YOLOv3 convolutional neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(8): 17-25. (in Chinese with English abstract) [9] Wan S H, Goudos S. Faster R-CNN for multi-class fruit detection using a robotic vision system[J]. Computer Networks, 2020, 168: 107036. [10] Liang C X, Xiong J T, Zheng Z H, et al. A visual detection method for nighttime litchi fruits and fruiting stems[J]. Computers and Electronics in Agriculture, 2020, 169: 105192. [11] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587. [12] Girshick R. Fast R-CNN[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448. [13] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]// Advances in neural information processing systems. 2015: 91-99. [14] 劉芳,劉玉坤,林森,等. 基于改進型YOLO的復(fù)雜環(huán)境下番茄果實快速識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2020,51(6):229-237. Liu Fang, Liu Yukun, Lin Sen, et al. Rapid identification method of tomato fruit in complex environment based on improved YOLO[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(6): 229-237. (in Chinese with English abstract) [15] 熊俊濤,鄭鎮(zhèn)輝,梁嘉恩,等. 基于改進YOLOv3網(wǎng)絡(luò)的夜間環(huán)境柑橘識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2020,51(4):199-206. Xiong Juntao, Zheng Zhenhui, Liang Jiaen, et al. Orange recognition method in night environment based on improved YOLOv3 network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(4): 199-206. (in Chinese with English abstract) [16] Sun J, He X F, Ge X, et al. Detection of key organs in tomato based on deep migration learning in a complex background[J]. Agriculture, 2018, 8(12): 8196. [17] 張磊,姜軍生,李昕昱,等. 基于快速卷積神經(jīng)網(wǎng)絡(luò)的果園果實檢測試驗研究[J]. 中國農(nóng)機化學(xué)報,2020,41(10):183-190. Zhang Lei, Jiang Junsheng, Li Xinyu, et al. Experimental reserch on orchard fruit detetion based on fast convolutional neural network[J]. Journal of Chinese Agricultural Mechanization, 2020, 41(10): 183-190. (in Chinese with English abstract) [18] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37. [19] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788. [20] Tian Y N, Yang G D, Wang Z, et al. Apple detection during different growth stages in orchards using the improved YOLOv3 model[J]. Computers and Electronics in Agriculture, 2019, 157: 417-426. [21] 趙德安,吳任迪,劉曉洋,等. 基于YOLO深度卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜背景下機器人采摘蘋果定位[J]. 農(nóng)業(yè)工程學(xué)報,2019,35(3):164-173. Zhao Dean, Wu Rendi, Liu Xiaoyang, et al. Apple positioning based on YOLO deep convolutional neural network for picking robot in complex background[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(3): 164-173. (in Chinese with English abstract) [22] Wang C Y, Mark Liao H Y, Wu Y H, et al. CSPNet: A new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020: 1571-1580. [23] 陳燕,王佳盛,曾澤欽,等. 大視場下荔枝采摘機器人的視覺預(yù)定位方法[J]. 農(nóng)業(yè)工程學(xué)報,2019,35(23):48-54. Chen Yan, Wang Jiasheng, Zeng Zeqin, et al. Vision prepositioning method for litchi picking robot under large field of view[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(23): 48-54. (in Chinese with English abstract) [24] Tu S Q, Pang J, Liu H F, et al. Passion fruit detection and counting based on multiple scale faster R-CNN using RGB-D images[J]. Precision Agriculture, 2020, 21(5): 1072-1091. [25] 蔡舒平,孫仲鳴,劉慧,等. 基于改進型YOLOv4的果園障礙物實時檢測方法[J]. 農(nóng)業(yè)工程學(xué)報,2021,37(2):36-43. Cai Shuping, Sun Zhongming, Liu Hui, et al. Real-time detection methodology for obstacles in orchards using improved YOLOv4[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(2): 36-43. (in Chinese with English abstract) [26] Yu Y, Zhang K L, Yang L, et al. Fruit detection for strawberry harvesting robot in non-structural environment based on Mask-RCNN[J]. Computers and Electronics in Agriculture, 2019, 163: 104846. [27] 彭紅星,黃博,邵園園,等. 自然環(huán)境下多類水果采摘目標(biāo)識別的通用改進SSD模型[J]. 農(nóng)業(yè)工程學(xué)報,2018,34(16):155-162. Peng Hongxing, Huang Bo, Shao Yuanyuan, et al. General improved SSD model for picking object recognition of multiple fruits in natural environment[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(16): 155-162. (in Chinese with English abstract) [28] 劉天真,滕桂法,苑迎春,等. 基于改進YOLOv3的自然場景下冬棗果實識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2021,52(5):17-25. Liu Tianzhen, Teng Guifa, Yuan Yingchun, et al. Fruit recognition method of winter jujube in natural scene based on improved YOLOv3[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(5): 17-25. (in Chinese with English abstract) Apple fruit recognition in complex orchard environment based on improved YOLOv3 Zhao Hui1,2, Qiao Yanjun1, Wang Hongjun1, Yue Youjun1 (1.,/,300384,; 2.,,300392,) Automatic fruit recognition is one of the most important steps in fruit picking robots. In this study, a novel fruit recognition was proposed using improved YOLOv3, in order to identify the fruit quickly and accurately for the picking robot in the complex environment of the orchard (different light, occlusion, adhesion, large field of view, bagging, whether the fruit was mature or not). The specific procedure was as follows. 1) 4000 Apple images were captured under the complex environment via the orchard shooting and Internet collection. After labeling with LabelImg software, 3200 images were randomly selected as training set, 400 as verification set, and 400 as a test set. Mosaic data enhancement was also embedded in the model to improve the input images for the better generalization ability and robustness of model. 2) The network model was also improved. First, the residual module in the DarkNet53 network was combined with the CSPNet to reduce the amount of network calculation, while maintaining the detection accuracy. Second, the SPP module was added to the detection network of the original YOLOv3 model, further to fuse the global and local characteristics of fruits, in order to enhance the recall rate of model to the minimal fruit target. Third, a soft NMS was used to replace the traditional for better recognition ability of model, particularly for the overlapping fruits. Forth, the joint loss function using Focal and CIoU Loss was used to optimize the model for higher accuracy of recognition. 3) The model was finally trained in the deep learning environment of a server, thereby analyzing the training process after the dataset production and network construction. Optimal weights and parameters were achieved, according to the loss curve and various performance indexes of verification set. The results showed that the best performance was achieved, when training to the 109th epoch, where the obtained weight in this round was taken as the final model weight,precision was 94.1%, recall was 90.6%,1was92.3%, mean average precision was 96.1%. Then, the test set is used to test the optimal model. The experimental results show that the Mean Average Precision value reached 96.3%, which is higher than 92.5% of the original model;1 value reached 91.8%, higher than 88.0% of the original model; The average detection speed of video stream under GPU is 27.8 frame/s, which is higher than 22.2 frame/s of the original model. Furthermore, it was found that the best comprehensive performance was achieved to verify the effectiveness of the improvement compared with four advanced detection of Faster RCNN, RetinaNet, YOLOv5 and CenterNet. A comparison experiment was conducted under different fruit numbers and various lighting environments, further to verify the effectiveness and feasibility of the improved model. Correspondingly, the detection performance of model was significantly better for small target apples and severely occluded overlapping apples, compared with the improved YOLOv3 model, indicating the high effectiveness. In addition, the target detection using deep learning was robust to illumination, where the illumination change presented little impact on the detection performance. Consequently, the excellent detection, robustness and real-time performance can widely be expected to serve as an important support for accurate fruit recognition in complex environment. harvester; object detection; image processing; fruit identification; YOLOv3; complex environment 趙輝,喬艷軍,王紅君,等. 基于改進YOLOv3的果園復(fù)雜環(huán)境下蘋果果實識別[J]. 農(nóng)業(yè)工程學(xué)報,2021,37(16):127-135.doi:10.11975/j.issn.1002-6819.2021.16.016 http://www.tcsae.org Zhao Hui, Qiao Yanjun, Wang Hongjun, et al. Apple fruit recognition in complex orchard environment based on improved YOLOv3[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(16): 127-135. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.16.016 http://www.tcsae.org 2021-05-27 2021-08-01 天津市科技支撐計劃項目(19YFZCSN00360) 趙輝,博士,教授,博士生導(dǎo)師,研究方向為復(fù)雜系統(tǒng)智能控制理論與應(yīng)用、農(nóng)業(yè)信息化與精準(zhǔn)農(nóng)業(yè)智能監(jiān)測理論與技術(shù)、農(nóng)業(yè)機器人。Email:zhaohui3379@126.com 10.11975/j.issn.1002-6819.2021.16.016 TP391.4 A 1002-6819(2021)-16-0127-093 模型訓(xùn)練
3.1 試驗運行平臺
3.2 評價指標(biāo)
3.3 訓(xùn)練過程
3.4 訓(xùn)練數(shù)據(jù)分析
4 試驗結(jié)果
4.1 結(jié)果評估
4.2 不同算法的識別結(jié)果
4.3 不同果實數(shù)目下的對比試驗
4.4 不同光照條件下的對比試驗
5 結(jié) 論