涂淑琴, 黃 健, 林躍庭, 李嘉林, 劉浩鋒, 陳志民
(華南農(nóng)業(yè)大學(xué)a.數(shù)學(xué)與信息軟件學(xué)院;b.基礎(chǔ)實(shí)驗(yàn)與實(shí)踐訓(xùn)練中心,廣州510642)
百香果,學(xué)名“西番蓮”,是西番蓮科西番蓮屬的草質(zhì)藤木。童彤[1]指出百香果對(duì)健康益處多。百香果生長(zhǎng)習(xí)性良好,環(huán)境適應(yīng)能力較強(qiáng),不僅可以作為果樹大規(guī)模種植于果園,還可以作為觀賞植物栽種于居民庭院。目前在東南亞和美洲分布較為廣泛,在中國(guó)主要分布在廣東、福建和廣西等南方省份。隨著百香果產(chǎn)量不斷上升,其在創(chuàng)造出巨大財(cái)富的同時(shí),也帶來(lái)了人工采摘的困難。皆彥吉[2]提到,當(dāng)前進(jìn)行果蔬采摘是農(nóng)業(yè)生產(chǎn)中最耗費(fèi)人力與物力的事情,采摘的成本高為經(jīng)營(yíng)者帶來(lái)重大負(fù)擔(dān)。百香果產(chǎn)量的增加、人工勞動(dòng)成本的上升和勞動(dòng)力不足的現(xiàn)狀,引發(fā)了研究人員對(duì)智能采摘機(jī)器人研究開發(fā)。而目標(biāo)檢測(cè)作為果實(shí)識(shí)別的關(guān)鍵技術(shù),是采摘機(jī)器人目標(biāo)識(shí)別的基礎(chǔ)。以百香果為目標(biāo),研究基于不同特征提取網(wǎng)絡(luò)以及不同參數(shù)環(huán)境下的目標(biāo)檢測(cè)算法對(duì)智能采摘機(jī)器人研制,具有重要的意義。
目前我國(guó)已經(jīng)自行研發(fā)了蘋果采摘機(jī)器人,并且吸引了大量研究人員對(duì)果蔬機(jī)器人進(jìn)行軟硬件技術(shù)方面的研究。李昱華[3]對(duì)番茄采摘機(jī)器人目標(biāo)檢測(cè)與抓取的關(guān)鍵技術(shù)進(jìn)行了研究,重點(diǎn)介紹了果實(shí)目標(biāo)識(shí)別的過程,包括圖像預(yù)處理、模型選擇、目標(biāo)分割算法等。樊艷英等[4]指出,目標(biāo)果實(shí)的識(shí)別和定位是采摘作業(yè)的必要條件和準(zhǔn)確采摘的關(guān)鍵,在基于雙視覺傳感器的基礎(chǔ)上,他們?cè)O(shè)計(jì)并研究了一個(gè)采摘機(jī)器人目標(biāo)果實(shí)識(shí)別系統(tǒng),通過圖像處理技術(shù),實(shí)現(xiàn)了果實(shí)的識(shí)別和定位功能,為實(shí)現(xiàn)水果采摘的自動(dòng)化和無(wú)人化奠定了軟件基礎(chǔ)。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)作為采摘機(jī)器人軟件層面上的重要一環(huán),其算法的優(yōu)劣對(duì)果實(shí)的識(shí)別和定位起著關(guān)鍵作用。目前國(guó)內(nèi)外對(duì)基于深度學(xué)習(xí)的果實(shí)檢測(cè)展開了一些研究工作[5-10]。Sa等[5]提出將Faster R-CNN目標(biāo)檢測(cè)算法應(yīng)用于水果檢測(cè)中,目標(biāo)是建立一個(gè)準(zhǔn)確、快速、可靠的水果檢測(cè)系統(tǒng)。Stein等[6]提出了基于Faster R-CNN[7]的新的多傳感器框架,可以有效地對(duì)芒果果園的每個(gè)果實(shí)進(jìn)行識(shí)別、跟蹤、定位,利用多視點(diǎn)方法解決了果實(shí)遮擋問題,從而解決了耗費(fèi)大量勞動(dòng)力在現(xiàn)場(chǎng)進(jìn)行實(shí)際產(chǎn)量估計(jì)的問題。陳燕等[8]利用YOLOv3-DenseNet34網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)荔枝的目標(biāo)檢測(cè),將傳統(tǒng)的目標(biāo)檢測(cè)與雙目視覺相結(jié)合,實(shí)現(xiàn)對(duì)荔枝串進(jìn)行定位,引導(dǎo)機(jī)器人對(duì)荔枝串進(jìn)行采摘。彭明霞等[9]提出利用融合特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)的Faster R-CNN對(duì)棉花和雜草的快速,準(zhǔn)確識(shí)別。熊俊濤等[10]提出改進(jìn)YOLO v3網(wǎng)絡(luò)的夜間環(huán)境柑橘識(shí)別方法,其在測(cè)試集下的平均精度(mean Average Precision,mAP)為90.75%。Koirala等[11]利用YOLOv3和YOLOv2對(duì)不同場(chǎng)景下的芒果集進(jìn)行檢測(cè),取得了F1值為0.968,平均準(zhǔn)確率為0.983。Tu等[12]使用RGB-D圖像識(shí)別技術(shù)檢測(cè)處于不同生長(zhǎng)階段的百香果并對(duì)其進(jìn)行成熟鑒定進(jìn)行了研究。Bargoti S等[13]利用Faster R-CNN檢測(cè)框架實(shí)現(xiàn)果園中水果檢測(cè)應(yīng)用,提出在產(chǎn)量預(yù)測(cè)和機(jī)器收割等高層次的農(nóng)業(yè)任務(wù)中,準(zhǔn)確可靠的基于圖像的水果檢測(cè)系統(tǒng)支持是至關(guān)重要。
本文提出了基于殘差網(wǎng)絡(luò)(Residual Network,ResNet)[14]和FPN[15]的Faster R-CNN百香果檢測(cè)算法,實(shí)現(xiàn)果實(shí)無(wú)遮擋、遮擋、重疊和背景四類果實(shí)自動(dòng)檢測(cè)和產(chǎn)量預(yù)測(cè)。該方法首先采用ResNet網(wǎng)絡(luò)融合FPN對(duì)百香果進(jìn)行多尺度特征提取;然后接入到感興趣區(qū)域(Region of Interest,ROI)池化層進(jìn)行尺度歸一化;最后通過全連接層實(shí)現(xiàn)百香果分類和檢測(cè)。
本實(shí)驗(yàn)研究對(duì)象是處于自然生長(zhǎng)環(huán)境下的百香果,采用華為Mate10手機(jī)拍攝了約2 000張花都區(qū)百香果莊園內(nèi)的彩色百香果照片。經(jīng)過篩選,挑選了其中較具有代表性的700余張圖片作為實(shí)驗(yàn)數(shù)據(jù)集,每張圖片中包含多個(gè)百香果果實(shí),部分圖片如圖1所示。
圖1 百香果圖片樣本
實(shí)驗(yàn)中利用labelImg對(duì)百香果進(jìn)行標(biāo)定,同時(shí)將百香果果實(shí)分為無(wú)遮擋果實(shí)、遮擋果實(shí)、重疊果實(shí)和背景。為方便結(jié)果的觀測(cè),分別用n_ov、occ、ov代表無(wú)遮擋、遮擋、重疊三類果實(shí)標(biāo)簽。通過標(biāo)注工具標(biāo)注的約700張照片中百香果總數(shù)約為4 000個(gè),其中無(wú)遮擋果實(shí)數(shù)約為2 000個(gè),遮擋果實(shí)約為1 600個(gè),重疊果實(shí)約為400個(gè)(見圖2)。
圖2 不同背景下的百香果
基于ResNet+FPN的Faster R-CNN百香果檢測(cè)網(wǎng)絡(luò)檢測(cè)流程如圖3所示,該方法流程包括以下步驟:
圖3 基于ResNet+FPN的Faster R-CNN百香果檢測(cè)流程
(1)首先,輸入任意尺寸大小的百香果RGB圖像,利用FasterR-CNN中的殘差網(wǎng)絡(luò)和FPN對(duì)輸入百香果圖像進(jìn)行多尺度特征提取,形成多尺度特征映射圖。
(2)一方面多尺度特征映射圖輸入到該網(wǎng)絡(luò)中的區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN);另一方面多尺度特征映射圖繼續(xù)前向傳播至特有卷積層,產(chǎn)生更高維特征圖。
(3)多尺度特征映射圖經(jīng)過RPN網(wǎng)絡(luò)得到建議區(qū)域,并根據(jù)區(qū)域得分,區(qū)分前景和背景(果實(shí)和非果實(shí)),對(duì)前景區(qū)域采用非極大值抑制操作,輸出其前N個(gè)得分最高的候選前景區(qū)域作為感興趣區(qū)域(ROI),完成目標(biāo)框的粗檢測(cè)。
(4)多尺度特征映射圖及ROI輸入到RoiPooling層。
(5)RoiPooling層輸出至全連接層,對(duì)每一個(gè)感興趣區(qū)域線性邊框回歸,得到目標(biāo)果實(shí)的精準(zhǔn)檢測(cè);用softmax回歸模型做多分類目標(biāo)檢測(cè),最終識(shí)別出不同百香果的類別(果實(shí)無(wú)遮擋、遮擋、重疊)。
選擇合適的迭代次數(shù),就能夠利用Faster R-CNN算法進(jìn)行模型訓(xùn)練。調(diào)整訓(xùn)練迭代次數(shù),反復(fù)訓(xùn)練模型,建立最佳的基于ResNet+FPN的Faster R-CNN百香果檢測(cè)流程。
為實(shí)現(xiàn)小對(duì)象更好檢測(cè),本文在ResNet+FPN的Faster R-CNN百香果檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,對(duì)ResNet+FPN的Faster R-CNN網(wǎng)絡(luò)框架網(wǎng)絡(luò)深度和寬度進(jìn)行優(yōu)化調(diào)整,在已有一定訓(xùn)練基礎(chǔ)的參數(shù)上,進(jìn)行遷移學(xué)習(xí),用含有較多小果實(shí)圖像作為訓(xùn)練集,比較不同層數(shù)和不同卷積核的網(wǎng)絡(luò)模型的檢測(cè)準(zhǔn)確率,確定較優(yōu)的ResNet+FPN的Faster R-CNN的網(wǎng)絡(luò)參數(shù)和模型。最終,其網(wǎng)絡(luò)較基于ResNet+FPN的Faster RCNN網(wǎng)絡(luò)做了兩點(diǎn)優(yōu)化改進(jìn):①針對(duì)本文試驗(yàn)場(chǎng)景中小果實(shí)圖像對(duì)象,將Faster R-CNN中的非極大值抑制(Non Maximum Suppression,NMS)修改為SoftNMS[16],這樣實(shí)現(xiàn)了更多小對(duì)象的檢測(cè),而且沒有增加運(yùn)行時(shí)間。②Faster R-CNN中分類類別由80類改為4,代表類別數(shù)為4類(果實(shí)無(wú)遮擋、遮擋、重疊和背景)。
具體的訓(xùn)練檢測(cè)模型搭建過程如下(見圖4):
圖4 基于ResNet-50/101+FPN的Faster R-CNN百香果檢測(cè)模型訓(xùn)練過程
(1)為了方便檢測(cè)效果的對(duì)比,實(shí)驗(yàn)采用統(tǒng)一的數(shù)據(jù)集,但是數(shù)據(jù)集格式上有所改變。在基于ResNet的Faster R-CNN實(shí)驗(yàn)中,使用了Facebook AI研究院于2018年初公開目標(biāo)檢測(cè)框架detectron,該框架使用的是COCO數(shù)據(jù)集,標(biāo)注文件類型從.xml變?yōu)?json。在實(shí)驗(yàn)中,通過簡(jiǎn)單的代碼實(shí)現(xiàn)數(shù)據(jù)集格式的轉(zhuǎn)換。
(2)分別利用ResNet50、ResNet101、ResNet50+FPN、ResNet101+FPN四種特征提取器進(jìn)行模型訓(xùn)練,進(jìn)一步探究學(xué)習(xí)率等參數(shù)對(duì)檢測(cè)效果的影響,以找出最優(yōu)模型。ResNet50的訓(xùn)練時(shí)間比較短,迭代次數(shù)為6 000的情況下訓(xùn)練時(shí)間大約為1 h。
(3)利用相對(duì)最優(yōu)的模型,進(jìn)行百香果檢測(cè),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析和統(tǒng)計(jì)。
由表1可以看出,在學(xué)習(xí)率和迭代次數(shù)恒定的前提下,不同特征提取網(wǎng)絡(luò)的檢測(cè)算法對(duì)檢測(cè)效果有一定的影響。ResNet101比ResNet50的檢測(cè)效果略好,從mAP上看,提升了0.4%左右,但是由于網(wǎng)絡(luò)深度的加深,在檢測(cè)時(shí)間上相應(yīng)要稍遜于ResNet50,兩種網(wǎng)絡(luò)結(jié)構(gòu)每幅彩色圖片的檢測(cè)時(shí)間相差35 ms左右?;赗esNet+FPN的網(wǎng)絡(luò)結(jié)構(gòu)有更好的檢測(cè)結(jié)果,從mAP上看,比使用ResNet提升了1.3%左右,這與FPN更利于小目標(biāo)的檢測(cè)有關(guān);從時(shí)間上看,融合了FPN的網(wǎng)絡(luò)明顯加快了目標(biāo)檢測(cè)的速度,在平均檢測(cè)時(shí)間上縮短了3/4,可見FPN帶來(lái)了更好檢測(cè)效果的同時(shí)縮短了檢測(cè)時(shí)間,提高了百香果目標(biāo)檢測(cè)的效率。從整體上看,使用ResNet特征提取網(wǎng)絡(luò)的mAP穩(wěn)定在區(qū)間86%~87%,無(wú)遮擋果實(shí)的檢測(cè)精度保持在90%以上。另外,在ResNet融合FPN后,對(duì)比ResNet網(wǎng)絡(luò)結(jié)構(gòu),其檢測(cè)平均精確率(Average Precision,AP)和平均耗時(shí)上都有顯著提升。
表1 不同網(wǎng)絡(luò)結(jié)構(gòu)的檢測(cè)效果
圖5(a)、(b)、(c)分別用4種不同顏色的曲線分別描繪了ResNet50、ResNet101、ResNet50+FPN和ResNet101+FPN 4種特征提取網(wǎng)絡(luò)下的精確率-召回率(Precision-Recall,P-R)曲線,P表示精確率;R表示召回率。圖5(d)針對(duì)ResNet101+FPN網(wǎng)絡(luò)結(jié)構(gòu)分別對(duì)三類果實(shí)進(jìn)行了P-R曲線的描繪。在P-R圖上,PR曲線的積分,即P-R曲線下的面積越大,代表的檢測(cè)結(jié)果越好。
圖5 百香果果實(shí)的P-R曲線
從圖5(a)和(b)可以看出,不同特征提取網(wǎng)絡(luò)下,無(wú)遮擋和遮擋果實(shí)的檢測(cè)效果從召回率R、準(zhǔn)確率P和mAP上看都非常接近,P-R曲線近乎貼和,可見特征提取網(wǎng)絡(luò)對(duì)這兩類果實(shí)的檢測(cè)效果沒有明顯影響。而重疊果實(shí)受特征提取網(wǎng)絡(luò)的影響較大,由圖5(c)可以看出,重疊果實(shí)在ResNet101+FPN下取得最好的檢測(cè)結(jié)果,在ResNet50上準(zhǔn)確率和召回率較低,檢測(cè)結(jié)果相比其他三種特征提取網(wǎng)絡(luò)較差。從圖5(d)分析,3類果實(shí)中無(wú)遮擋果實(shí)的檢測(cè)結(jié)果具有明顯的優(yōu)勢(shì),其次是遮擋果實(shí),最后是重疊果實(shí)。
基于ResNet101+FPN的Faster R-CNN目標(biāo)檢測(cè)算法的性能最好,利用其對(duì)100張圖片不同類別的百香果的個(gè)數(shù)、算法檢測(cè)出的正確、漏檢和誤檢的百香果個(gè)數(shù)進(jìn)行統(tǒng)計(jì),其結(jié)果如表2,3所示。
表2 基于ResNet101+FPN的Faster R-CNN百香果產(chǎn)量預(yù)測(cè)
結(jié)合表2和表3分析,在無(wú)遮擋果實(shí)中,算法共檢測(cè)出229個(gè)目標(biāo),其中214個(gè)檢測(cè)正確,8個(gè)漏檢,15個(gè)誤檢。其準(zhǔn)確率和召回率分別達(dá)到了93.4%和96.40%,比遮擋和重疊兩類都要高,而誤分率和漏分率比其他兩類都低,這可能與訓(xùn)練樣本中無(wú)遮擋果實(shí)在數(shù)量上和質(zhì)量上的優(yōu)勢(shì)相關(guān);在遮擋果實(shí)中,算法共檢測(cè)出171個(gè)目標(biāo),其中正確的153個(gè),17個(gè)漏檢,18個(gè)誤檢。該類別的準(zhǔn)確率和召回率接近90%左右,但是漏檢和誤檢基數(shù)大。遮擋果實(shí)的遮擋情況多樣,遮擋物的不同、遮擋程度的不同加大了特征學(xué)習(xí)的難度和檢測(cè)的難度,在一定程度上影響了檢測(cè)的準(zhǔn)確率,增加了漏檢和誤檢的可能性;在重疊果實(shí)中,算法共檢測(cè)出19個(gè)目標(biāo),其中正確的是17個(gè),3個(gè)漏檢,2個(gè)誤檢。重疊果實(shí)的訓(xùn)練樣本數(shù)較少,缺乏大量數(shù)據(jù)的支持使得模型在學(xué)習(xí)特征時(shí)不夠充分。另外,在重疊果實(shí)中,果實(shí)重疊面積的差異對(duì)訓(xùn)練和檢測(cè)產(chǎn)生了一定影響,故準(zhǔn)確率和召回率較低,而誤分率和漏分率較高。
表3 基于ResNet101+FPN的Faster R-CNN檢測(cè)結(jié)果 %
ResNet101+FPN特征提取網(wǎng)絡(luò)的部分檢測(cè)結(jié)果如圖6所示。用紅框、藍(lán)框、黃框分別表示算法檢測(cè)的無(wú)遮擋、遮擋、重疊三類果實(shí)。用白色箭頭指向誤檢的目標(biāo)。
圖6 兩種方法下的場(chǎng)景的百香果檢測(cè)結(jié)果對(duì)比
從圖6可以發(fā)現(xiàn),對(duì)比ResNet101網(wǎng)絡(luò),ResNet-101+FPN的Faster R-CNN模型在無(wú)遮擋、遮擋中不存在漏檢和誤檢,在重疊兩類果實(shí)上有誤檢現(xiàn)象,都能較好地檢測(cè)出無(wú)遮擋、遮擋、重疊3類果實(shí),其最好mAP達(dá)到88.01%,能夠?qū)Π傧愎繕?biāo)進(jìn)行快速準(zhǔn)確的檢測(cè)。
在產(chǎn)量估計(jì)中,采集了275張密集小果實(shí)圖像(共有7032個(gè)果實(shí))做訓(xùn)練測(cè)試數(shù)據(jù)集。ResNet-101+FPN的Faster R-CNN檢測(cè)結(jié)果。該方法能檢測(cè)正確果實(shí)個(gè)數(shù)為6205,漏檢個(gè)數(shù)為827,錯(cuò)檢個(gè)數(shù)為207,精確率為96.80%,召回率為88.20%,F(xiàn)1值為0.923,能夠?qū)崿F(xiàn)密集果實(shí)產(chǎn)量預(yù)測(cè)要求。
基于ResNet-101+FPN的Faster R-CNN的部分密集果實(shí)檢測(cè)結(jié)果如圖7所示,將所有類別都表示為紅色框,在圖片中,大果實(shí)對(duì)象都能準(zhǔn)確檢測(cè)出來(lái),而對(duì)部分小對(duì)象(像素在[10,10]到[20,20])的也能有效檢測(cè)出來(lái)。但是對(duì)于像素在[10,10]以下的,檢測(cè)器不能很好工作,出現(xiàn)較多漏檢。結(jié)果表明,該方法可以實(shí)現(xiàn)進(jìn)行自然場(chǎng)景下果實(shí)的產(chǎn)量預(yù)估。
圖7 百香果產(chǎn)量估算
本文提出的基于ResNet101+FPN的Faster RCNN百香果檢測(cè)算法在mAP和檢測(cè)時(shí)間上都具有最佳結(jié)果,其mAP達(dá)到了88.01%,在無(wú)遮擋、遮擋、重疊3類果實(shí)中檢測(cè)準(zhǔn)確率達(dá)到了93.4%、89.5%、89.5%,召回率分別為96.4%、90.0%、89.00%,檢測(cè)時(shí)間低至0.178 s,檢測(cè)性能良好,達(dá)到了快速準(zhǔn)確檢測(cè)百香果的目標(biāo)。在產(chǎn)量估算中,該方法取得了準(zhǔn)確率為96.80%,召回率為88.20%,F(xiàn)1值為0.923。結(jié)果表明,該檢測(cè)算法實(shí)現(xiàn)了在自然場(chǎng)景下百香果的快速準(zhǔn)確檢測(cè),準(zhǔn)確地預(yù)測(cè)百香果產(chǎn)量,可以更好地實(shí)時(shí)應(yīng)用于自然場(chǎng)景下采摘機(jī)器人的定位檢測(cè)與產(chǎn)量估算。