趙德安,吳任迪,劉曉洋,趙宇艷
?
基于YOLO深度卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜背景下機器人采摘蘋果定位
趙德安1,吳任迪1,劉曉洋1,趙宇艷2
(1. 江蘇大學(xué)電氣信息工程學(xué)院,鎮(zhèn)江 212013;2. 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院,常州 213164)
為提高蘋果采摘機器人的工作效率和環(huán)境適應(yīng)性,使其能全天候的在不同光線環(huán)境下對遮擋、粘連和套袋等多種情況下的果實進行識別定位,該文提出了基于YOLOv3(you only look once)深度卷積神經(jīng)網(wǎng)絡(luò)的蘋果定位方法。該方法通過單個卷積神經(jīng)網(wǎng)絡(luò)(one-stage)遍歷整個圖像,回歸目標(biāo)的類別和位置,實現(xiàn)了直接端到端的目標(biāo)檢測,在保證效率與準確率兼顧的情況下實現(xiàn)了復(fù)雜環(huán)境下蘋果的檢測。經(jīng)過訓(xùn)練的模型在驗證集下的mAP(mean average precision)為87.71%,準確率為97%,召回率為90%,IOU(intersection over union)為83.61%。通過比較YOLOv3與Faster RCNN算法在不同數(shù)目、不同拍攝時間、不同生長階段、不同光線下對蘋果的實際檢測效果,并以1為評估值對比分析了4種算法的差異,試驗結(jié)果表明YOLOv3在密集蘋果的1高于YOLOv2算法4.45個百分點,在其他環(huán)境下高于Faster RCNN將近5個百分點,高于HOG+SVM(histogram of oriented gradient + support vector machine)將近10個百分點。并且在不同硬件環(huán)境驗證了該算法的可行性,一幅圖像在GPU下的檢測時間為16.69 ms,在CPU下的檢測時間為105.21 ms,實際檢測視頻的幀率達到了60幀/s和15幀/s。該研究可為機器人快速長時間高效率在復(fù)雜環(huán)境下識別蘋果提供理論基礎(chǔ)。
收獲機;機器視覺;圖像識別;深度學(xué)習(xí);采摘機器人;蘋果識別;YOLO
果樹果實采摘機器人的研究隨著科技的發(fā)展日臻完善,視覺識別系統(tǒng)作為采摘機器人的一部分,其目標(biāo)檢測的速度、準確率以及對周邊環(huán)境的適應(yīng)能力對機器人的工作效率和工作時長有較大影響。穩(wěn)定的目標(biāo)識別可以讓機器人長時間地工作,壓縮勞動成本,提高生產(chǎn)效率。一個能夠在不同環(huán)境下進行采摘作業(yè)的機器人對提升農(nóng)業(yè)生產(chǎn)力有較大的應(yīng)用價值和現(xiàn)實意義。
目前國內(nèi)外在水果檢測方面的研究已經(jīng)取得了一定的進展。Kapach等[1]簡述了關(guān)于水果采摘機器人視覺部分,全面闡述了當(dāng)前領(lǐng)域各種方法的優(yōu)點和局限性,其中大部分工作的研究都涉及到目標(biāo)的顏色,但是關(guān)于套袋蘋果或者是未成熟蘋果這類顏色不明顯的目標(biāo)檢測與識別的研究工作較少且起步較晚。呂繼東等[2]利用基于-顏色特征的OTSU動態(tài)閾值分割的方法進行圖像分割,找出蘋果的位置。但是對于光照非常敏感,在逆光環(huán)境下會丟失目標(biāo)。趙德安等[3]為了解決夜間蘋果的識別問題,通過2個白熾燈作為照明光源從不同角度照明削弱圖像中的陰影,采用二次分割的方法提取出蘋果表面的高亮反光區(qū)并對此進行修補,得到完整的分割結(jié)果。但由于遮擋、光照不均等原因,光照無法保證,因此無法保證蘋果的全部識別。Ji等[4]利用SVM(support vector machine)分類器進行蘋果的分類識別,對套袋蘋果的識別率達到89%。但是識別一幅圖像需要352 ms,識別效率不高,無法達到實時性的要求。Stajnko等[5]通過熱相儀測量蘋果與背景之間的溫度梯度來識別不同成熟度的蘋果并且計算出蘋果的直徑和數(shù)量。Wachs等[6]利用彩色圖像和熱圖像相結(jié)合的方式來識別蘋果,但是利用熱像儀的方法只能在陽光直射的下午使用,無法滿足采摘機器人全天候工作的要求。Rakun等[7]通過紋理和顏色相結(jié)合的方法來識別蘋果,但是蘋果上的果袋會消去紋理特征,難以識別。同樣的還有其他利用顏色、紋理、形狀等多種特征組合來實現(xiàn)蘋果的目標(biāo)檢測,但是這類方法都是針對某些特定情景下進行的研究,魯棒性差,無法滿足采摘機器人各種復(fù)雜情景下的工作需求[8-17]。
相比于常規(guī)方法,近幾年深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測領(lǐng)域顯現(xiàn)出巨大的優(yōu)越性,深度神經(jīng)網(wǎng)絡(luò)由于其對目標(biāo)高維特征的高度提取,使得對復(fù)雜情況下蘋果的識別變成可能。其主要分為2種方法,一種是基于區(qū)域建議的方法,標(biāo)志性的算法有RCNN[18]、Fast RCNN[19]和Faster RCNN[20],核心思想是先獲得建議區(qū)域然后在當(dāng)前區(qū)域內(nèi)進行分類,稱為two-stage目標(biāo)檢測。熊俊濤等[21]利用Faster RCNN方法進行不同光照和不同尺寸的綠色柑橘識別,其模型的精度很高,泛化能力強,但是由于區(qū)域建議步驟消耗大量的計算資源,檢測時間較長,不滿足實時性的要求。另一種方法是無區(qū)域建議的方法,標(biāo)志性的算法有SSD[22]、YOLO[23],核心思想是用單一的卷積網(wǎng)絡(luò)直接基于整幅圖像來預(yù)測目標(biāo)的位置及其屬性,也稱為one-stage目標(biāo)檢測。薛月菊等[24]采用YOLOv2網(wǎng)絡(luò)進行未成熟芒果的識別,在保持著精度和泛化能力的同時,提高了檢測速率。但是其對于密集蘋果的檢測召回率明顯下降,容易將一簇蘋果只識別為一個蘋果,而且其試驗平臺為12 GB的 GTX Titan X顯卡,其功率和可靠性都無法安置在采摘機器人之中,沒有驗證在只有CPU的工控機中的運行效率。
本文提出用YOLOv3神經(jīng)網(wǎng)絡(luò)來實現(xiàn)復(fù)雜環(huán)境下蘋果的識別,在不影響精度的情況下壓縮網(wǎng)絡(luò)規(guī)模來加快檢測速度,在不同拍攝時間、不同生長階段、不同光線等干擾場景下分別進行網(wǎng)絡(luò)的識別試驗,以期檢測網(wǎng)絡(luò)效果,并且在CPU和GPU配置下進行試驗以驗證能否達到實時的要求。
蘋果圖像的采集地點在江蘇省徐州市豐縣大沙河鎮(zhèn)蘋果示范基地和山東省煙臺市蓬萊縣蘋果示范基地,采集時間分為白天和夜晚(圖1),白天是在自然光下采集,夜晚是在LED下采集,蘋果的品種是紅富士,有裸露和套袋2種(給蘋果套上果袋之后能夠提高蘋果的品質(zhì))。
圖1 復(fù)雜的實際蘋果圖像
圖1中分別列舉蘋果分別在白天、夜晚、重疊、遮擋、帶套、逆光、密集等各種環(huán)境下實際畫面,蘋果在裸露條件下能夠保持基本顏色特征不變,帶上果袋之后因為薄膜對光的反射使得顏色通道被割裂和腐蝕,并且由于果袋的不完全覆蓋,使得蘋果形狀特征變得不規(guī)則。同時蘋果如果在重疊和遮擋環(huán)境下會使得形狀特征不完整,在夜晚會讓蘋果顏色強度發(fā)生改變。
如果使用色差分割的方法難以將完整的蘋果分離出來,用橢圓擬合的方法難以對不規(guī)則的蘋果進行擬合。如果使用SVM支持向量機對多個特征進行精確整合創(chuàng)建詞袋(Word of Bag)并進行分類來識別蘋果,可能會因為正負樣本的局限性無法適應(yīng)所有環(huán)境下蘋果的識別。
因此本文考慮用深度卷積神經(jīng)網(wǎng)絡(luò)來提取蘋果特征,采用端到端的整體訓(xùn)練讓神經(jīng)網(wǎng)絡(luò)自適應(yīng)地學(xué)習(xí)不同環(huán)境下的蘋果所需要的特征,實現(xiàn)復(fù)雜環(huán)境下蘋果的定位。
YOLO是目前為止最先進的目標(biāo)檢測方案之一[23],它能夠在一幅圖像中同時檢測和分類對象。
1.2.1 基于YOLO的蘋果識別
本文提出的基于深度學(xué)習(xí)YOLO的蘋果識別方法能夠定位視頻中的蘋果并返回其坐標(biāo)。不同于基于區(qū)域預(yù)測的目標(biāo)檢測算法(Faster RCNN)[20],YOLO通過單個卷積神經(jīng)網(wǎng)絡(luò)檢測整個圖像回歸目標(biāo)的類別和位置,為了讓卷積遍歷整幅圖像之后能夠得到固定格式的預(yù)測大小,首先將圖像調(diào)整為固定大小的尺寸416×416,再分成13×13的非重疊的網(wǎng)格單元,然后每個單元負責(zé)檢測出該單元可能擁有的個邊界框及其置信度,具體包含5個預(yù)測參數(shù):和置信度。()代表目標(biāo)的坐標(biāo),()代表目標(biāo)外包矩形的寬度和高度,置信度用來通過閾值對預(yù)測結(jié)果進行取舍。
在YOLOv2[25]中引用錨點(anchor)來提升模型的表現(xiàn),在YOLOv3中使用多尺寸錨點和殘差網(wǎng)絡(luò)來進一步提高模型的表現(xiàn)。
1.2.2 神經(jīng)網(wǎng)絡(luò)改進設(shè)計
YOLOv3原文中運用殘差網(wǎng)絡(luò)(ResNet)[26]模型搭建出53層的神經(jīng)網(wǎng)絡(luò),考慮到使用過深的網(wǎng)絡(luò)模型會增加檢測時間,文中只需要檢測蘋果這一類目標(biāo),并不需要深層神經(jīng)網(wǎng)絡(luò)提取特征,所以本文運用類似于VGG的網(wǎng)絡(luò)模型搭建出13層網(wǎng)絡(luò)。同時YOLOv3原文中設(shè)置3種不同尺寸的錨點,預(yù)測這3種不同尺寸錨點的網(wǎng)格大小分別是13、26、52,其中最小預(yù)測框的大小則是8×8(圖像尺寸除以網(wǎng)格大小即416/52),但是實際檢測密集蘋果的時候只需要檢測出大于分辨率16×16的蘋果,過小的蘋果距離太遠,無法作為采摘機器人的目標(biāo),同時使用52×52個預(yù)測網(wǎng)格使得預(yù)測張量過于龐大增加檢測時間,所以本文使用2種不同尺度的錨點(13×13,26×26),提高對小物體的檢測能力的同時不會增加檢測時間。
本文設(shè)計的神經(jīng)網(wǎng)絡(luò)使用3×3的卷積層來提取圖像信息,用2×2的池化層來降低數(shù)據(jù)維度,當(dāng)輸入矩陣到達52×52×64大小時并行出另一條神經(jīng)網(wǎng)絡(luò),其第一條神經(jīng)網(wǎng)絡(luò)最后輸出13×13×18的預(yù)測張量,第二條神經(jīng)網(wǎng)絡(luò)的開始經(jīng)過3×3×256的卷積層得到26×26×256矩陣與第一條神經(jīng)網(wǎng)絡(luò)的26×26×128矩陣進行特征融合,最后輸出26×26×18的預(yù)測張量,最后對2個輸出結(jié)果做并集處理,獲得蘋果的預(yù)測信息,其具體結(jié)構(gòu)如圖2所示。
注:x、y為x軸、y軸預(yù)測坐標(biāo),w為預(yù)測寬度,h為預(yù)測高度,Pr為預(yù)測置信度。
1.2.3 YOLO損失函數(shù)
本文YOLO在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時優(yōu)化的是損失函數(shù),通過BP(back propagation)不斷更新模型,使得Loss不斷減少。
訓(xùn)練模型所使用的數(shù)據(jù)集一共515張,包含有3 725個各種情況下的蘋果。其中400張用來訓(xùn)練模型,115張用來驗證模型,比例約為4∶1。
本文中所有的訓(xùn)練和測試均在同一臺筆記本電腦進行,電腦的主要配置為PC Intel Core(TM) i7-7700HQ CPU@2.80 GHz、6 GB的GPU GeForce GTX 1060和16 GB的運行內(nèi)存。所有的程序均是由C++語言編寫并調(diào)用CUDA、Cudnn、OPENCV庫并在Windows10系統(tǒng)下運行,訓(xùn)練和測試模型時有分別單獨使用CPU和GPU。
訓(xùn)練時采用64個樣本作為一個處理單元,每次更新權(quán)值時用BN(batch normalization)[27]進行正則化,并且在每一層中加入丟棄層(dropout),以保持每層提取特征的相互獨立,其丟棄比例為0.5,動量(Momentum)設(shè)置為0.9,權(quán)值衰減(decay)設(shè)置為0.000 5,起始學(xué)習(xí)率(learning rate)設(shè)為0.001,并在每迭代5 000次后衰減10倍,并且在一開始為了穩(wěn)定模型設(shè)置了一個burn_in參數(shù),其值為1 000,實際計算如下:
學(xué)習(xí)率 = 學(xué)習(xí)率× (迭代次數(shù)/burn_in)4(2)
在圖像中均勻選取不同情況下的蘋果,并用矩形框?qū)D像中的蘋果進行人工標(biāo)注用于YOLO的訓(xùn)練和測試。標(biāo)注信息采用PASCAL VOC數(shù)據(jù)集的格式進行保存,其中包含目標(biāo)蘋果的類別和外包邊框。然后進行歸一化處理,將目標(biāo)的實際數(shù)據(jù)除以圖像的寬度和高度,這樣得到的數(shù)據(jù)都在0~1的范圍之內(nèi),使得在訓(xùn)練的時候能夠更快地讀取數(shù)據(jù),并且能夠訓(xùn)練不同尺寸的圖像,其具體格式為5個參數(shù)作一組數(shù)據(jù),分別包含index(類別的序列),(目標(biāo)中心的坐標(biāo)),(目標(biāo)中心的坐標(biāo)),(目標(biāo)的寬),(目標(biāo)的高)。如式3所示,其中max、max為邊框右下角坐標(biāo),min、min為邊框左上角坐標(biāo),width、height為圖像寬和高。
實際上深度學(xué)習(xí)需要大量的數(shù)據(jù),實際情況下500幅圖像遠遠不夠使用。于是本文在訓(xùn)練之前對數(shù)據(jù)集進行數(shù)據(jù)增強來增加訓(xùn)練數(shù)據(jù)[28-29],其中色調(diào)的變化范圍從1到1.5倍,曝光的變化范圍從1到1.5倍,色量的變化范圍從0.9到1.1倍,以此最終生成了51 500幅圖像以供訓(xùn)練使用。
在訓(xùn)練時還需要用K-means聚類計算出當(dāng)前數(shù)據(jù)集錨點的預(yù)訓(xùn)練數(shù)值,其中K-means使用的是歐氏距離,13層網(wǎng)絡(luò)使用的6個錨點為(50×66)、(74×99)、(91×125)、(113×154)、(140×190)、(220×284),在第一條網(wǎng)絡(luò)上使用前3個錨點,第二條網(wǎng)絡(luò)上使用后3個錨點。
最終模型一共訓(xùn)練12 000次,耗時4 h,一共訓(xùn)練使用了768 000幅圖像(在51 500幅圖像中隨機抽取并重復(fù)使用),其Loss變化圖如圖3所示。
圖3 Loss值隨著迭代次數(shù)的變化曲線
可以看出模型在前1 000次迭代中迅速擬合,Loss快速變小,然后到4 000次迭代之后漸漸穩(wěn)定,只有稍許的振蕩。
在訓(xùn)練模型中,平均每隔100次迭代輸出一次權(quán)值(weights),模型的好壞并不是迭代的次數(shù)越多越好,過多的訓(xùn)練可能會導(dǎo)致過擬合,所以需要對訓(xùn)練出來的模型進行測試和評估。
在本文中采用客觀的評判標(biāo)準來評估蘋果識別系統(tǒng),本文使用準確率(precision),召回率(recall),mAP(mean average precision)還有IOU(intersection over union)來評估本文訓(xùn)練出來的模型。并且為模型找出合適的閾值(threshold),通過模型預(yù)測的置信度來選擇合適的目標(biāo)。
式中TP為真實的正樣本數(shù)量,F(xiàn)P為虛假的正樣本數(shù)量,F(xiàn)N為虛假的負樣本數(shù)量,為類別的數(shù)量,為引用閾值的數(shù)量,為閾值,()為準確率,()為召回率。
首先找到mAP值最高的權(quán)值文件,這樣就先篩選出整體性能足夠高的模型。然后在單獨找出的模型中不斷地調(diào)整閾值,衡量準確率、召回率和IOU的值,使之能夠按照自身的需求去檢測當(dāng)前環(huán)境下的蘋果。對于準確率和召回率,在本文的系統(tǒng)中,由于需要找出圖中主要的蘋果,忽略那些特別小的蘋果,所以在準確率和召回率之間優(yōu)先選擇準確率。對于IOU,因為蘋果屬于小型目標(biāo),本文只需要它的中心點,所以對IOU要求也不高。
如果在閾值選擇不合適的情況下,就會出現(xiàn)如圖4的結(jié)果,當(dāng)閾值過低時誤將遠處的小蘋果檢測出來,當(dāng)閾值過高的時候漏掉了后面被部分遮擋的第3個蘋果。
圖4 閾值對檢測的影響
模型訓(xùn)練好后需要對其性能進行評估以找到最優(yōu)模型,本節(jié)用mAP值評估模型的整體性能,然后在mAP值最高的模型中通過比較不同閾值下準確率、召回率和IOU的變化選擇模型的最優(yōu)閾值。之后對實際不同環(huán)境下的蘋果的檢測效果進行試驗,并與其他算法進行比較。
在本文的試驗中,訓(xùn)練一共迭代了12 000次,每100次迭代輸出一個模型,所以一共得到120個模型,需要在這120個模型中找出一個mAP值最高的模型。
計算出來的試驗結(jié)果如圖5所示,縱坐標(biāo)為mAP值,其范圍從0到100%,橫坐標(biāo)為迭代次數(shù),每100次迭代即一個模型為一個單位。
從圖5中可以看出,當(dāng)?shù)螖?shù)達到4 000次時mAP已經(jīng)穩(wěn)定,不再發(fā)生變化,其中mAP最大值為87.71%,這就是本文選用的模型。
將穩(wěn)定后的模型選出后,畫出其P-R曲線如圖6所示,由于mAP很大,所以PR曲線將近覆蓋了整個坐標(biāo)系。
圖5 平均精度均值隨迭代次數(shù)的變化
圖6 P-R曲線
接下來需要找出本文在實際使用模型時的閾值,算法預(yù)測出目標(biāo)的置信度之后需要使用預(yù)設(shè)的閾值對其進行篩選。同一個模型下不同的閾值,它所能檢測到目標(biāo)時的準確率、召回率和IOU都是不同的,在蘋果識別系統(tǒng)中,本文的優(yōu)先級為準確率>召回率>IOU。同時本文在判斷中參照用于輔助的評估值1[30],1能同時兼顧準確率和召回率:
試驗結(jié)果如圖7所示,其縱坐標(biāo)的范圍從0到1,橫坐標(biāo)為閾值從0到1的變化。
由圖7知,閾值選用0.5,此時的準確率和召回率都達到97%和90%,1值為0.93,IOU達到83.61%,模型的表現(xiàn)最好。
為了進一步驗證模型的有效性,需要在各種實際條件下檢測算法的檢測效率,本節(jié)試驗以果實數(shù)目、光照角度、果實階段、采摘時間為控制變量,對比YOLOv3、YOLOv2、Faster RCNN和HOG+SVM[31]4種算法在上述條件下的檢測效果,并用1進行算法性能的評估。
3.3.1 不同果實數(shù)目的對比試驗
在機器人實際采摘過程中,隨著攝像頭距離果樹距離的變化,蘋果的數(shù)目和大小也會隨之改變。當(dāng)蘋果數(shù)目較少、尺寸較大時,作為識別對象較為清晰完整,識別難度低。但在多目標(biāo)圖像中,由于尺寸的減少和數(shù)目的增多,會出現(xiàn)粘連和遮擋的情況,識別難度較大。因此設(shè)置不同數(shù)目下蘋果檢測的對比試驗,分別分1個蘋果、多個蘋果和密集蘋果,對比4種算法在不同數(shù)目蘋果下的檢測性能,檢測效果如圖8所示。
圖8 4種算法對不同數(shù)量蘋果的檢測效果
試驗測試集一共336張圖像包含1 410個蘋果,按照果實數(shù)量分為3類,其中1個蘋果75幅圖像包含75個蘋果,多個蘋果203幅圖像包含576個蘋果,密集蘋果58幅圖像包含759個蘋果,其中密集蘋果中最小蘋果的分辨率不低于15×15,尺寸過小忽略不計。每類隨機抽取30幅圖像作為試驗測試集,用4種不同的算法檢測出正樣本數(shù),綜合總樣本數(shù),未被檢測樣本數(shù)和誤檢測的樣本數(shù),計算出準確率和召回率得出1的值。重復(fù)以上步驟3次,取平均值,最后再將3類結(jié)果平均得到綜合效果,其最終結(jié)果如表1所示。
從表1可以看出,YOLOv3算法檢測效果均高于其余3個算法,蘋果數(shù)目越少,1值越高,數(shù)目由1增到10個以下時,1值也沒有降低太多。但是遇到密集蘋果的時候,1值降低了將近20個百分點。因為密集蘋果的圖像里攝像頭距離蘋果的距離過遠,導(dǎo)致蘋果尺寸不一,同時有粘連和遮擋的情況,導(dǎo)致有一些蘋果沒有被識別,同時因為卷積神經(jīng)網(wǎng)絡(luò)本身固有的特性,不斷的卷積會在深層網(wǎng)絡(luò)丟失高分辨率時小目標(biāo)的特征,而Faster RCNN是基于區(qū)域推薦的算法,在RPN網(wǎng)絡(luò)輸出矩形候選區(qū)域時就已經(jīng)丟失了小目標(biāo)的區(qū)域,之后進行分類并輸出預(yù)測結(jié)果自然不會出現(xiàn)小蘋果。但是YOLOv3在淺層網(wǎng)絡(luò)提前提取出特征用于第二條神經(jīng)網(wǎng)絡(luò)的檢測,并且輸出尺寸更小的柵格預(yù)測結(jié)果,降低了深層卷積對小目標(biāo)的影響,因此在密集蘋果上高出YOLOv2算法4.45個百分點。從綜合結(jié)果來看,YOLOv3算法能夠勝任不同數(shù)目蘋果的檢測。
表1 4種算法對不同數(shù)量蘋果圖像的試驗結(jié)果
3.3.2 不同光照角度的對比試驗
本節(jié)試驗將拍攝時蘋果的光照角度作為控制變量,分別有側(cè)光、逆光和順光,其中側(cè)光的蘋果124幅圖像357個蘋果,逆光67幅圖像149個蘋果,順光87幅圖像145個蘋果,由于密集蘋果的樣本影響較大,所以這里選取圖像時不會考慮密集蘋果樣本,其具體效果如圖9所示,統(tǒng)計結(jié)果如表2所示。
從圖9可以看出,蘋果在側(cè)光下紋理清楚,表面光照強度均勻,檢測難度較小。逆光時,蘋果和枝葉的亮度明顯降低,并且兩者之間分界線也不明顯。順光時,蘋果表面一部分亮度增強,脫離蘋果本身顏色呈現(xiàn)亮白色,幾乎沒有紋理特征。后2種情況下蘋果的檢測難度明顯增加。
圖9 4種算法對不同光照下蘋果的檢測效果
表2 4種算法對不同光照下蘋果的試驗結(jié)果
從表2可以看出,YOLOv3和YOLOv2算法1值普遍較高,這3種情況下1的值沒有明顯差別,F(xiàn)aster RCNN算法的1值總體比YOLOv3低大概5個百分點,2種算法在3種情況1值梯度一致,這是因為同是深度神經(jīng)網(wǎng)絡(luò)強大的泛化能力,能夠在顏色特征不一樣的情況下依然檢測到蘋果。逆光時模型表現(xiàn)最差,原因是逆光時缺少亮度,直接消去了部分蘋果,使得模型1值降低。
3.3.3 不同果實生長階段的對比試驗
本節(jié)試驗將拍攝時蘋果的成長階段作為控制變量,分別有成熟、未成熟和套袋,其中成熟的蘋果95幅圖像249個蘋果,未成熟的蘋果84幅圖像167個蘋果,套袋的蘋果99幅圖像235個蘋果,同樣不考慮密集蘋果樣本,其具體效果如圖10所示,統(tǒng)計結(jié)果如表3所示。
注:從左至右圖中分別為未成熟、成熟、套袋蘋果。
從圖10可以看出,成熟的蘋果紋理清晰,顏色與背景明顯分離。未成熟的蘋果顏色較淡,其顏色與背景相近。套袋的蘋果外面都包裹了一層透明薄膜,在光線照射下生成了一個個亮斑,腐蝕了蘋果表明的顏色特征和紋理特征,同時塑料薄膜空余的部分多出來讓目標(biāo)整體不再呈現(xiàn)圓形,形狀特征也變得模糊。
從表3可以看出,YOLOv3算法的1值比Faster RCNN高出3點百分點,后3種算法在3種情況下的1值差異不大,只有成熟蘋果比其他2種情況下高了2~3個百分點。甚至套袋情況下的蘋果1值沒有發(fā)生下降,經(jīng)分析雖然塑料薄膜讓蘋果的特征變得模糊,但是薄膜本身的特征也很明顯,其與背景相比有很大的差異,這使得套袋蘋果實際變得容易識別。猜想算法在同時分辨套袋的蘋果和其他水果的時候,才會發(fā)生誤檢測的情況。
表3 4種算法對不同生長階段蘋果的試驗結(jié)果
3.3.4 不同采摘時間的對比試驗
本節(jié)試驗將拍攝時蘋果的拍攝時間作為控制變量,分別有白天、傍晚和夜晚,其中白天的蘋果131幅圖像306個蘋果,傍晚的蘋果71幅圖像193個蘋果,夜晚的蘋果76幅圖像152個蘋果,同樣不考慮密集蘋果樣本,試驗方法與上節(jié)相同,其具體效果如圖11所示,統(tǒng)計結(jié)果如表4所示。
從圖11可以看出,蘋果在白天表現(xiàn)正常,其顏色和紋理特征都表現(xiàn)完好。傍晚時蘋果特征與逆光時相似,這里就不再贅述。夜晚時,由于光源的缺少,不同于白天逆光時還有漫反射光對蘋果的照射,蘋果大部分部位都呈現(xiàn)黑色,這種情況下蘋果無論顏色、性質(zhì)、或者紋理特征都已近乎沒有,僅僅有殘缺的被照到一部分的蘋果。
從表4可以看出,后3種算法在不同時間的檢測效果差不多,并且都在白天時效果最佳,同時光線越暗,1值越小。但是在夜晚下相比白天下降了10個百分點,有了大幅下降,經(jīng)分析,因為亮度偏低,不僅蘋果表面變暗,背景及其枝葉也變得很暗,這讓蘋果一部分幾乎融入背景,沒有區(qū)別。而且輔助用的人工光源的探照范圍有限,被照射的部分與沒有被照射的部分相比亮度差異更大,使沒有被照射的蘋果更加難以被識別。
綜上所述,HOG+SVM算法雖然在各種環(huán)境下都能檢測到蘋果,但是1值普遍較低,本文改進的YOLOv3在各種情況下均優(yōu)于Faster RCNN,與YOLOv2相比雖然相差不大(但也高出1~2個百分點),但是密集蘋果情況下明顯優(yōu)于YOLOv2。4組對比試驗證明文本的算法能夠適應(yīng)絕大多數(shù)情況下蘋果的目標(biāo)檢測,使得搭載此視覺算法的果樹采摘機器人的全天候工作變得可能。
圖11 4種算法對不同時間蘋果的檢測效果
表4 4種算法對不同時刻蘋果的試驗結(jié)果
除了評估算法的準確率,還需要測試算法在實際檢測目標(biāo)時所用時間,由于YOLOv3算法在做卷積運算前需要對圖像進行縮放到固定尺寸,所以不同分辨率的圖像在本文算法下檢測時間的差異只與縮放過程所用時間有關(guān),其余流程并沒有區(qū)別。本文試驗測試用圖像分辨率均為640×480,考慮到蘋果識別系統(tǒng)是搭載在果樹機器人的工控機之中的,有的工控機只有CPU,為了減少硬件成本,需要模型能夠在單CPU的情況下運行,所以本文分別在GPU和CPU下進行了測試,檢測的精度沒有變化,檢測時間上CPU較GPU變長。
模型在GPU下檢測115幅圖像消耗1.92 s,在CPU下檢測115幅圖像消耗12.1 s,即為60幀/s和15幀/s,平均每幅圖像檢測時間為16.69 ms和105.21 ms。由于在采摘流程里只在開始的初始定位,在采摘過程中并不需要頻繁刷新,所以能夠滿足實際要求。
本文提出了基于深度神經(jīng)網(wǎng)絡(luò)YOLOv3算法的蘋果識別方法。試驗表明該模型的檢測精度高、速度快、在復(fù)雜環(huán)境下魯棒性高,選用的13層網(wǎng)絡(luò)在真實環(huán)境下進行檢測,平均每幅圖像在GPU和CPU下的檢測時間為16.69和105.21 ms,準確率和召回率分別達到97%和90%以上。
1)針對果園中復(fù)雜的識別環(huán)境,提出用優(yōu)化的YOLOv3深度神經(jīng)網(wǎng)絡(luò)定位蘋果,與YOLOv2相比在密集蘋果條件下1值高出4.45個百分點,其余條件下高出1~2個百分點。
2)對比了HOG+SVM、Faster RCNN、YOLOv2和YOLOv3在不同果實數(shù)目、光照角度、果實階段、采摘時間下的檢測結(jié)果,其1值總體比HOG+SVM高出約10個百分點,比Faster RCNN高出約5個百分點,本文使用算法檢測精度優(yōu)勢更為顯著。
3)由于深度學(xué)習(xí)需要大量的計算能力,在實際使用中還需要考慮功耗和穩(wěn)定問題,因此未來還需要在實際機器上運行試驗,在不損失精度的情況下縮減網(wǎng)絡(luò)模型,減少功耗。
[1] Kapach K, Barnea E, Mairon R, et al. Computer vision for fruit harvesting robots–state of the art and challenges ahead[J]. International Journal of Computational Vision and Robotics, 2012, 3(1/2): 4-34.
[2] 呂繼東,趙德安. 蘋果采摘機器人目標(biāo)果實快速跟蹤識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2014,45(1):65-72. Lu Jidong, Zhao De'an. Fast tracking and recognition method for target fruits of apple picking robots[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(1): 65-72.(in Chinese with English abstract)
[3] 趙德安,劉曉洋,陳玉,等. 蘋果采摘機器人夜間識別方法[J]. 農(nóng)業(yè)機械學(xué)報,2015,46(3):15-22. Zhao Dean, Liu Xiaoyang, Chen Yu, et al. Night recognition method of apple picking robot[J]. Transactions of the Chinese Society for Agricultural Machinery, 2015, 46(3): 15-22. (in Chinese with English abstract)
[4] Ji W, Zhao D, Cheng F, et al. Automatic recognition vision system guided for apple harvesting robot[J]. Computers & Electrical Engineering, 2012, 38(5): 1186-1195.
[5] Stajnko D, Lakota M, Ho?evar M. Estimation of number and diameter of apple fruits in an orchard during the growing season by thermal imaging[J]. Computers and Electronics in Agriculture, 2004, 42(1): 31-42.
[6] Wachs J P, Stern H I, Burks T, et al. Low and high-level visual feature-based apple detection from multi-modal images[J]. Precision Agriculture, 2010, 11(6): 717-735.
[7] Rakun J, Stajnko D, Zazula D. Detecting fruits in natural scenes by using spatial-frequency based texture analysis and multiview geometry[J]. Computers and Electronics in Agriculture, 2011, 76(1): 80-88.
[8] Aggelopoulou A D, Bochtis D, Fountas S, et al. Yield prediction in apple orchards based on image processing[J]. Precision Agriculture, 2011, 12(3): 448-456.
[9] 宋懷波,張衛(wèi)園,張欣欣,等. 基于模糊集理論的蘋果表面陰影去除方法[J]. 農(nóng)業(yè)工程學(xué)報,2014,30(3):135-141. Song Huaibo, Zhang Weiyuan, Zhang Xinxin, et al. Apple surface shadow removal method based on fuzzy set theory[J]. Transactions of the Chinese Society of Agricultural Engineering(Transactions of the CSAE), 2014, 30(3): 135-141. (in Chinese with English abstract)
[10] Kurtulmus F, Lee W S, Vardar A. Green citrus detection using ‘eigenfruit’, color and circular Gabor texture features under natural outdoor conditions[J]. Computers and Electronics in Agriculture, 2011, 78(2): 140-149.
[11] Linker R, Cohen O, Naor A. Determination of the number of green apples in RGB images recorded in orchards[J]. Computers and Electronics in Agriculture, 2012, 81: 45-57.
[12] Arivazhagan S, Shebiah R N, Nidhyanandhan S S, et al. Fruit recognition using color and texture features[J]. Journal of Emerging Trends in Computing and Information Sciences, 2010, 1(2): 90-94.
[13] Xu Y, Imou K, Kaizu Y, et al. Two-stage approach for detecting slightly overlapping strawberries using HOG descriptor[J]. Biosystems engineering, 2013, 115(2): 144-153.
[14] 盧軍,桑農(nóng). 變化光照下樹上柑橘目標(biāo)檢測與遮擋輪廓恢復(fù)技術(shù)[J]. 農(nóng)業(yè)機械學(xué)報,2014,45(4):76-81. Lu Jun, Sang Nong. Detection of citrus targets and restoration of concealed contours in trees under changing light[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(4): 76-81. (in Chinese with English abstract)
[15] Zhao C, Lee W S, He D. Immature green citrus detection based on colour feature and sum of absolute transformed difference (SATD) using colour images in the citrus grove[J]. Computers and Electronics in Agriculture, 2016, 124: 243-253.
[16] 謝忠紅,姬長英,郭小清,等. 基于改進Hough變換的類圓果實目標(biāo)檢測[J]. 農(nóng)業(yè)工程學(xué)報,2010,26(7):157-162. Xie Zhonghong, Ji Changying, Guo Xiaoqing, et al. Target detection of fruit-like fruit based on improved Hough transform[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2010, 26(7): 157-162. (in Chinese with English abstract)
[17] 馬翠花,張學(xué)平,李育濤,等. 基于顯著性檢測與改進 Hough 變換方法識別未成熟番茄[J]. 農(nóng)業(yè)工程學(xué)報,2016,32(14):219—226.
Ma Cuihua, Zhang Xueping, Li Yutao, et al. Identification of immature tomatoes based on saliency detection and improved Hough transform method [J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2016, 32(14): 219—226. (in Chinese with English abstract)
[18] 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.
[19] Girshick R. Fast R-CNN[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448.
[20] 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.
[21] 熊俊濤,劉振,湯林越,等. 自然環(huán)境下綠色柑橘視覺檢測技術(shù)研究[J]. 農(nóng)業(yè)機械學(xué)報,2018,49(4):45-52. Xiong Juntao, Liu Zhen, Tang Linyue, et al. Research on green citrus vision detection technology in natural environment[J]. Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(4): 45-52. (in Chinese with English abstract)
[22] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.
[23] 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.
[24] 薛月菊,黃寧,涂淑琴,等. 未成熟芒果的改進 YOLOv2 識別方法[J]. 農(nóng)業(yè)工程學(xué)報,2018,34(7):173—179.
Xue Yueju, Huang Ning, Tu Shuqin, et al. Immature mango detection based on improved YOLOv2 [J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(7) :173—179. (in Chinese with English abstract)
[25] Redmon J, Farhadi A. YOLO9000: Better, Faster, Stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017: 6517-6525.
[26] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
[27] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]//International Conference on Machine Learning. 2015: 448-456.
[28] Bargoti S, Underwood J. Deep fruit detection in orchards[C]// IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2017: 3626-3633.
[29] Ding W, Taylor G. Automatic moth detection from trap images for pest management[J]. Computers and Electronics in Agriculture, 2016, 123: 17-28.
[30] Hripcsak G, Rothschild A S. Agreement, the f-measure, and reliability in information retrieval[J]. Journal of the American Medical Informatics Association, 2005, 12(3): 296-298.
[31] Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005: 886-893.
Apple positioning based on YOLO deep convolutional neural network for picking robot in complex background
Zhao Dean1, Wu Rendi1, Liu Xiaoyang1, Zhao Yuyan2
(1.212013,;2.213164,)
Automatic recognition of apple is one of the important aspects for apple harvest robots. Fast apple recognition can improve the efficiency of picking robots. In the actual scene of the orchard, the recognition conditions for apple are complex such as daytime, night, overlap apples, occlusion, bagged, backlighting, reflected light and dense apple, considering which a highly robust and fast visual recognition scheme is required. A fast and stable apple recognition scheme was proposed based on improved YOLOv3 in this paper. The entire image was traversed by a single convolutional neural network (one-stage), dividing an image into a plurality of sub-regions with the same size, and predicting the class of the target and its bounding box in each sub-region. Finally, the non-maximum value suppression was merged into the outer frame of the whole target, and the category and position of the target were returned. In order to improve the detection efficiency, the VGG-like network model was used to replace the original residual network of YOLOv3, and the model size was reduced, in which the 53-layer neural network was compressed into a 13-layer neural network without affecting the detection effect. Taking into account the size of the smallest apple in dense apples images, the anchor points of 3 different sizes were reduced to 2, reducing the final predicted tensor and ensuring that the smallest anchor point could still include the minimum target. The steps in this paper were stated as follows: Firstly, the data set was manually marked, including 400 images for the training set and 115 images for the verification set, including a total of 1 158 apple samples. In addition, in order to increase the generalization ability of the model, the data set was enhanced by adjusting the hue, color amount and exposure of the image, and a total of 51 500 images were generated. Then the initial value of the anchor points was calculated through K-means. Secondly, training the data set, output a model every 100 iterations. For the verification set, the mean average precision (mAP) value of each weight in batches was calculated, selecting the model with the highest mAP value, and finding the appropriate threshold to ensure most preferred precision, recall rate and intersection over union (IOU). The trained model had a mAP which reached up to 87.71%, an accuracy rate up to 97%, a recall rate up to 90%, and an IOU up to 83.61%. Thirdly, the specific performance of the model under image conditions for different fruit number, illumination angle, fruit growth stage and shooting time were verified in additional experimental data sets. The experimental data set consisted of 336 pictures containing 1 410 apple samples. The comparison was performed with algorithms of HOG+SVM, Faster RCNN, YOLOv2, and YOLOv3, with the evaluated index of1 value. The experimental results showed that YOLOv3 performed significantly better than YOLOv2 in dense apples image, and better in other environments than Faster RCNN and HOG+SVM. Finally, the detection accuracy of the algorithm was verified in different hardware environments. The detection time of an image under the GPU was 16.69 ms with 60 frame/s for the actual video, and under the CPU was 105.21 ms with 15 frame/s for the actual video.Since it was positioned only at the beginning of the picking process and it did not require frequently refreshing during the picking process, in which the detection time in this paper was qualified. A reference was provided for the rapid, long-term high efficiency of robots to locate apples in complex environments in this research.
harvesters; machine vision; image recognition; deep learning; picking robot; apple recognition; YOLO
趙德安,吳任迪,劉曉洋,趙宇艷. 基于YOLO深度卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜背景下機器人采摘蘋果定位[J]. 農(nóng)業(yè)工程學(xué)報,2019,35(3):164-173. doi:10.11975/j.issn.1002-6819.2019.03.021 http://www.tcsae.org
Zhao Dean, Wu Rendi, Liu Xiaoyang, Zhao Yuyan.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) doi:10.11975/j.issn.1002-6819.2019.03.021 http://www.tcsae.org
2018-10-19
2019-01-21
國家自然科學(xué)基金(31571571);江蘇高校優(yōu)勢學(xué)科建設(shè)項目(PAPD)
趙德安,博士,教授,博士生導(dǎo)師,主要從事智能控制、智能機器人研究。Email:dazhao@ujs.edu.cn
10.11975/j.issn.1002-6819.2019.03.021
TP391.4
A
1002-6819(2019)-03-0164-10