呂石磊,盧思華,李 震,洪添勝,2,4,薛月菊,吳奔雷
基于改進YOLOv3-LITE輕量級神經(jīng)網(wǎng)絡(luò)的柑橘識別方法
呂石磊1,2,3,盧思華1,李 震1,2,3※,洪添勝1,2,4,薛月菊1,2,3,吳奔雷1
(1. 華南農(nóng)業(yè)大學(xué)電子工程學(xué)院,廣州 510642;2. 國家柑橘產(chǎn)業(yè)技術(shù)體系機械化研究室,廣州 510642;3. 廣東省農(nóng)情信息監(jiān)測工程技術(shù)研究中心,廣州 510642;4. 華南農(nóng)業(yè)大學(xué)工程學(xué)院,廣州 510642)
柑橘識別是實現(xiàn)柑橘園果實自動采摘、果樹精細(xì)化管理以及實現(xiàn)果園產(chǎn)量預(yù)測的關(guān)鍵技術(shù)環(huán)節(jié)。為實現(xiàn)自然環(huán)境下柑橘果實的快速精準(zhǔn)識別,該文提出一種基于改進YOLOv3-LITE輕量級神經(jīng)網(wǎng)絡(luò)的柑橘識別方法。在采摘機器人領(lǐng)域,果實識別回歸框的準(zhǔn)確率直接決定了機器手的采摘成功率,該方法通過引入GIoU邊框回歸損失函數(shù)來提高果實識別回歸框準(zhǔn)確率;為便于遷移到移動終端,提出一種YOLOv3-LITE輕量級網(wǎng)絡(luò)模型,使用MobileNet-v2作為模型的骨干網(wǎng)絡(luò);使用混合訓(xùn)練與遷移學(xué)習(xí)結(jié)合的預(yù)訓(xùn)練方式來提高模型的泛化能力。通過與Faster-RCNN以及SSD模型對比在不同遮擋程度的測試樣本下模型的識別效果,用1值與AP值評估各模型的差異,試驗結(jié)果表明:該文提出的模型識別效果提升顯著,對于果實輕度遮擋的數(shù)據(jù)集,該文提出的柑橘識別模型的1值和AP值分別為95.27%和92.75%,Average IoU為88.65%;在全部測試集上,1值和AP值分別為93.69%和91.13%,Average IoU為87.32%,在GPU上對柑橘目標(biāo)檢測速度可達246幀/s,對單張416×416的圖片推斷速度為16.9 ms,在CPU上檢測速度可達22幀/s,推斷速度為80.9 ms,模型占用內(nèi)存為28 MB。因此,該文提出的柑橘識別方法具有模型占用內(nèi)存低、識別準(zhǔn)確率高及識別速度快等優(yōu)點,可為柑橘采摘機器人以及柑橘產(chǎn)業(yè)產(chǎn)量預(yù)測提出新的解決方案,為柑橘產(chǎn)業(yè)智能化提供新的思路。
神經(jīng)網(wǎng)絡(luò);果樹;算法;柑橘;YOLOv3-LITE;混合訓(xùn)練;遷移學(xué)習(xí);GIoU邊框回歸損失函數(shù)
隨著農(nóng)業(yè)機械化與信息化的興起,計算機視覺以及深度學(xué)習(xí)技術(shù)的不斷突破,果實識別、機器人自動采摘、果實產(chǎn)量預(yù)測是近年來的研究熱點[1]。在智慧農(nóng)業(yè)方面[2],人們通過對果實的識別來實現(xiàn)果樹的精細(xì)化管理。柑橘產(chǎn)業(yè)是我國南方水果產(chǎn)業(yè)的重要支柱[3],由于我國柑橘果園環(huán)境復(fù)雜,果實密集度高、葉片遮擋嚴(yán)重,且柑橘果樹樹冠較低,果實陰影程度較高,為實現(xiàn)柑橘果樹的自動采摘,柑橘果實的精準(zhǔn)識別研究至關(guān)重要。
近年來,針對于自然環(huán)境下柑橘目標(biāo)識別問題,國內(nèi)外相關(guān)文獻基于傳統(tǒng)機器視覺技術(shù)提出了多種解決方法。Hussin等[4]和謝忠紅等[5]分別使用圓形Hough變換進行柑橘目標(biāo)檢測,檢測精度較低,且在柑橘密集、重疊的情況下,容易導(dǎo)致錯誤檢測。熊俊濤等[6]提出利用K-means聚類分割法結(jié)合優(yōu)化Hough圓擬合方法實現(xiàn)柑橘果實分割,利用直線檢測確定柑橘采摘點,但誤檢率會隨目標(biāo)密集度變化而增加。盧軍等[7-9]提出遮擋輪廓恢復(fù)的方法進行柑橘識別,利用LBP特征的識別準(zhǔn)確率可達82.3%,之后利用水果表面光照分布的分層輪廓特征進行樹上綠色柑橘的檢測,但在圖像采集過程中需要人工采集光源且場景適應(yīng)性不高。Zhao等[10]提出一種SATD匹配方法對潛在的水果像素點進行檢測,使用支持向量機(support vector machine,SVM)進行分類,識別準(zhǔn)確率達到83%以上,但該方法隨著目標(biāo)數(shù)的增加,檢測的復(fù)雜度和難度隨之增加,從而影響檢測精度。Dorj等[11]提出利用顏色特征來預(yù)測柑橘產(chǎn)量,首先將RGB圖像轉(zhuǎn)換為HSV圖像,再對圖像進行橙色檢測,利用分水嶺分割法對柑橘進行計數(shù),但該方法的檢測準(zhǔn)確率受距離和背景變化的影響較大。Liu等[12]提出一種基于成熟柑橘區(qū)域特征的識別方法,利用特征映射表來降低特征向量的維數(shù),但該方法在陰影情況下的識別效果較差。
另外,在傳統(tǒng)機器視覺領(lǐng)域,針對蘋果、桃子、番茄等常見水果的檢測方法也相繼被提出。馬翠花等[13]提出基于密集和稀疏重構(gòu)[14](dense and sparse reconstruction,DSR)的未成熟番茄識別方法,識別準(zhǔn)確率為77.6%。張春龍等[15]使用基于SVM分類器和閾值分類器的混合分類器來實現(xiàn)近色背景中綠色蘋果的識別與計數(shù),平均識別準(zhǔn)確率為89.3%,但該方法對單張圖片檢測時間過長,對重疊果實識別精度較低。Peng等[16]提出利用形狀不變矩等方法綜合果實的顏色和形狀特征,利用SVM分類器對提取的特征向量進行分類識別,但該方法在復(fù)雜環(huán)境下適用性較低。Wajid等[17]提出基于決策樹分類的成熟柑橘、未成熟柑橘識別方法,但受決策樹特性影響,該方法的識別準(zhǔn)確率穩(wěn)定性有待進一步提高。以上對不同水果的識別方法主要是基于顏色特征和紋理特征,都受限于自身算法的局限性,無法找到通用的特征提取模型,無法同時識別所有類型的水果,而且受光照以及環(huán)境的影響較大,泛化性較差,很難滿足實時檢測的要求,算法沒有得到很好的推廣。
由于傳統(tǒng)機器視覺方法在復(fù)雜場景下魯棒性差,很難滿足采摘機器人在復(fù)雜場景下的工作需求。近年來,卷積神經(jīng)網(wǎng)絡(luò)[18]在目標(biāo)檢測領(lǐng)域不斷完善,體現(xiàn)出巨大的優(yōu)越性,其主要分為兩類,一類是先由算法生成一系列作為樣本的候選框,再通過卷積神經(jīng)網(wǎng)絡(luò)進行樣本分類,代表有RCNN[19]、Fast RCNN[20]和Faster RCNN[21];一類直接將目標(biāo)邊框定位的問題轉(zhuǎn)化為回歸問題處理,不需要產(chǎn)生候選框,標(biāo)志性算法包括SSD[22]、YOLO[23]等。傅隆生等[24]提出基于卷積神經(jīng)網(wǎng)絡(luò)的田間多簇獼猴桃圖像識別方法,該方法對相鄰果實和獨立果實的識別率分別為91.01%和94.78%,但對遮擋、重疊果實識別準(zhǔn)確率較低。Sa等[25]和熊俊濤等[26]分別采用Faster R-CNN深度卷積神經(jīng)網(wǎng)絡(luò)來識別甜椒和柑橘,但模型訓(xùn)練速度較慢,檢測時間較長。彭紅星等[27]提出基于SSD深度學(xué)習(xí)模型對4種不同水果進行識別,平均檢測精度可達89.53%,有較好的泛化性和魯棒性。薛月菊等[28]提出基于YOLOv2[29]的未成熟芒果識別方法,識別速度和識別精度可顯著提升。以上研究的開展為卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于果實識別提供了參考和可行性依據(jù),且能避免傳統(tǒng)機器視覺方法中特征提取過程的不足。
該文結(jié)合SSD網(wǎng)絡(luò)以及YOLO系列網(wǎng)絡(luò)的優(yōu)點,通過改進YOLOv3網(wǎng)絡(luò)模型[30],使用一種新的IoU邊框回歸損失函數(shù),并提出一種混合訓(xùn)練[31]與遷移學(xué)習(xí)[32]結(jié)合的方式將模型在COCO數(shù)據(jù)集中學(xué)習(xí)到的知識遷移到柑橘圖像識別過程中,提出一種基于GIoU[33]的YOLOv3-LITE輕量級神經(jīng)網(wǎng)絡(luò)的柑橘識別方法。在不損失精度的情況下,該方法較傳統(tǒng)YOLOv3網(wǎng)絡(luò)的檢測速度提升了近4倍,模型占用內(nèi)存縮小近8倍。
柑橘圖像的采集地為廣東省梅州市柑橘果園,使用數(shù)碼相機、高清手機等多種設(shè)備拍攝距離1 m左右的自然光照下柑橘樹冠圖像,拍攝角度朝東南西北4個方向,并采集樹冠下方含陰影的果實,共采集原始圖片500張,圖像包括陰天、晴天、雨天,涵蓋順光、逆光等所有光照情況。為保證柑橘圖像數(shù)據(jù)的多樣性,通過網(wǎng)絡(luò)爬蟲獲取200張柑橘照片,挑選出120張,所得數(shù)據(jù)集為620張。
使用Matlab工具對原始數(shù)據(jù)集進行數(shù)據(jù)擴增,對原始圖像進行旋轉(zhuǎn),旋轉(zhuǎn)角度隨機取-30°、-15°、15°、30°;對原始圖像隨機進行鏡像翻轉(zhuǎn)、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn);通過裁剪以及縮放等方式進行擴展數(shù)據(jù)集;通過調(diào)整飽和度和色調(diào)、直方圖均衡化、中值濾波等圖像處理技術(shù)對數(shù)據(jù)進行增強。考慮到數(shù)據(jù)增強會導(dǎo)致圖片中圖像形狀變化以及質(zhì)量變化較為嚴(yán)重,對每張圖片隨機采用以上一種方式進行擴增,得到1 240張,篩選出符合試驗的數(shù)據(jù)作為最終的數(shù)據(jù)集,最終數(shù)據(jù)集為1 130張。
將上述數(shù)據(jù)集使用labelImg工具對檢測目標(biāo)進行標(biāo)記。考慮標(biāo)簽和數(shù)據(jù)的對應(yīng)關(guān)系以及確保數(shù)據(jù)集分布統(tǒng)一,使用Matlab工具將數(shù)據(jù)集按照70%、10%、20%的比例隨機拆分為訓(xùn)練集、驗證集、測試集,其中訓(xùn)練集含邊框標(biāo)注樣本為7 148個,驗證集含邊框標(biāo)注樣本為1 006個,測試集含邊框標(biāo)注樣本為2 243個。將最終數(shù)據(jù)集按照PASCAL VOC數(shù)據(jù)集的格式存儲,再將測試集分為2部分:目標(biāo)平均遮擋程度小于30%的數(shù)據(jù)集(輕度遮擋,用A表示)、目標(biāo)平均遮擋程度大于30%且較密集的數(shù)據(jù)集(重度遮擋,用B表示)。其中,測試集A包含標(biāo)注樣本682個,測試集B包含標(biāo)注樣本1 561個,最終數(shù)據(jù)集如表1所示。

表1 數(shù)據(jù)集及其數(shù)量
YOLO網(wǎng)絡(luò)模型是一種one-stage的方法,YOLO將輸入圖像分成S×S個格子,如果一個物體的中心落在某個網(wǎng)格內(nèi),則對應(yīng)的網(wǎng)格負(fù)責(zé)檢測該物體。其中,YOLOv1將輸入圖像的尺寸改為448×448,然后送入CNN網(wǎng)絡(luò)訓(xùn)練,采用非極大抑制算法進行預(yù)測,YOLOv1對小目標(biāo)檢測效果不好,定位也不夠精確。Redmon等[29]提出的YOLOv2吸收了Faster R-CNN中RPN的思想,去掉YOLOv1中的全連接層,加入Anchor Boxes,提高了召回率,且提出k-means聚類計算Anchor Boxes,Average IoU也提升了,但對小目標(biāo)檢測效果一般。YOLOv3在YOLOv2的基礎(chǔ)上進行了一些改進,加深了網(wǎng)絡(luò),提出了多標(biāo)簽分類預(yù)測,使用邏輯回歸(logistic regression)對方框置信度進行回歸,同時提出了跨尺度預(yù)測,使用類似FPN(feature pyramid networks)的融合做法,在多個尺度的特征圖上進行位置和類別預(yù)測,對小目標(biāo)的檢測效果提升明顯。在類別預(yù)測中,YOLOv3不使用Softmax函數(shù)對每個框分類,而是對每個類別獨立地使用邏輯回歸,在訓(xùn)練過程中,使用二元交叉熵?fù)p失(binary cross-entropy loss)來進行類別預(yù)測,可以更好地處理多標(biāo)簽任務(wù)。YOLOv3目標(biāo)檢測網(wǎng)絡(luò)損失函數(shù)如式(1)所示。



2.2.1 基于GIoU的邊框回歸損失函數(shù)
IoU為預(yù)測框與原來圖片中標(biāo)記框的重合程度,目標(biāo)檢測領(lǐng)域常使用邊框回歸IoU值作為評價指標(biāo)。但是,大部分檢測框架沒有結(jié)合該值優(yōu)化損失函數(shù),IoU可以被反向傳播,它可以直接作為目標(biāo)函數(shù)去優(yōu)化。考慮到優(yōu)化度量本身與使用替代的損失函數(shù)之間的選擇,最佳選擇是優(yōu)化度量本身。作為損失函數(shù),傳統(tǒng)IoU有兩個缺點:如果2個對象不重疊,IoU值將為零,則其梯度將為零,無法優(yōu)化;2個物體在多個不同方向上重疊,且交叉點水平相同,其IoU將完全相等,IoU無法精確的反映兩者的重合度大小,如圖1所示,3個不同的方法重疊兩個矩形具有完全相同的IoU值,但他們的重合度是不一樣的,最左邊的圖回歸的效果最好,最右邊的回歸效果最差,其中最右邊的圖預(yù)測邊框為旋轉(zhuǎn)候選邊框[34]。因此,IoU函數(shù)的值并不能反映兩個對象之間如何發(fā)生重疊。在柑橘采摘機器人的果實識別中,回歸框位置的精確度直接決定了機器手采摘的成功率。因此,該文提出通過引入GIoU來解決IoU的缺點。IoU取值[0,1],而GIoU有對稱區(qū)間,取值范圍[-1,1],在兩者重合的時候取最大值1,在兩者無交集且無限遠(yuǎn)的時候取最小值-1。因此,GIoU是一個非常好的距離度量指標(biāo),與IoU只關(guān)注重疊區(qū)域不同,GIoU不僅關(guān)注重疊區(qū)域,還關(guān)注其他的非重合區(qū)域,能更好的反映兩者的重合度,GIoU Loss可以替換掉大多數(shù)目標(biāo)檢測算法中邊框回歸的損失函數(shù),如式(2)-(5)所示。

注:黑色矩形代表預(yù)測的邊界框,灰色矩形代表原始標(biāo)記的邊界框。

