李偉強,王 東,寧政通,盧明亮,覃鵬飛
(1.佛山科學(xué)技術(shù)學(xué)院機電工程與自動化學(xué)院,廣東 佛山 528000; 2.佛山科學(xué)技術(shù)學(xué)院粵臺人工智能學(xué)院,廣東 佛山 528000)
目標(biāo)檢測是計算機視覺方向研究的重要分支,在目標(biāo)跟蹤、農(nóng)業(yè)智能化等領(lǐng)域有著重要應(yīng)用。其中,果實目標(biāo)識別是農(nóng)業(yè)智能化領(lǐng)域的研究熱點,其識別過程需要結(jié)合使用圖像處理以及機器學(xué)習(xí)等多種方法,從圖像或視頻中快速、精準(zhǔn)識別出果樹上的果實目標(biāo)及其相關(guān)特征信息,在采摘機器人、自動化農(nóng)業(yè)、治理植物病害等農(nóng)業(yè)領(lǐng)域具有廣泛的應(yīng)用[1]。隨著計算機計算速度的提升和深度學(xué)習(xí)的廣泛運用,計算機視覺技術(shù)運用深度學(xué)習(xí)方法的果實目標(biāo)識別技術(shù)開始成為該領(lǐng)域的主要方法[2]。
本文首先介紹果實目標(biāo)識別的關(guān)鍵任務(wù)以及復(fù)雜環(huán)境下果實識別的難點和當(dāng)前果實目標(biāo)識別的發(fā)展現(xiàn)狀[3],然后介紹當(dāng)前主流的基于深度學(xué)習(xí)果實目標(biāo)檢測識別算法,并通過2大類進(jìn)行介紹:一類是基于分類的R-CNN系列算法;另一類是基于回歸的YOLO系列算法。接著介紹果實目標(biāo)檢測識別模型的相關(guān)數(shù)據(jù)集,最后分析其存在的困難與挑戰(zhàn),并就可能的發(fā)展方向進(jìn)行展望。
基于計算機視覺的目標(biāo)檢測關(guān)鍵任務(wù)是在圖像中得到目標(biāo)類別與位置,需要使用圖像處理以及機器學(xué)習(xí)等多種方法。自然中的目標(biāo)檢測往往受到檢測目標(biāo)大小、形狀和姿態(tài)以及所處環(huán)境下光照、遮擋和抖動等影響,因此,目標(biāo)檢測一直是計算機視覺領(lǐng)域內(nèi)研究難點之一。
對于果實目標(biāo)檢測識別,關(guān)鍵任務(wù)包括果實識別、定位和分割3個階段。第1階段是識別,判斷圖像中是否存在果實;第2階段是定位,如果圖像中存在果實,則從背景圖像中返回目標(biāo)的空間位置;第3階段是分割,對已定位的目標(biāo)進(jìn)行實例分割,給出目標(biāo)的特征信息,果實種類、果實大小以及顏色等。針對上述關(guān)鍵任務(wù),果實目標(biāo)檢測經(jīng)歷了從圖像級到像素級、從單果實目標(biāo)到簇果實目標(biāo)識別、從基于傳統(tǒng)顏色模型法到基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法的發(fā)展過程[4]。
當(dāng)前,果實目標(biāo)檢測遇到的難點主要有如何平衡檢測算法的精度和速度以及自然環(huán)境下果實圖像具有很大的差異性和復(fù)雜的背景噪聲。實際應(yīng)用中,果實識別的準(zhǔn)確率和速度要求在非高性能的計算機條件下誤檢率和檢測幀數(shù)能達(dá)到實時檢測,果實識別在復(fù)雜的自然環(huán)境下需要算法能準(zhǔn)確識別果實的位置和其他特征信息。
針對上述問題,果實目標(biāo)檢測技術(shù)存在以下幾方面的挑戰(zhàn):1)自然環(huán)境下,樹干枯葉、果柄等背景對果實的干擾以及簇生果實生長環(huán)境復(fù)雜,葉片和果實相互遮擋等因素使得果實識別難度增大;2)果實種類繁多,不同品種果實的特征和紋理特征差異性較大,且同一品種的果實在不同生長時期的尺寸和顏色特征也不同,使得現(xiàn)有數(shù)據(jù)集收集的果實對象嚴(yán)重不足,當(dāng)被檢測圖像中出現(xiàn)沒有訓(xùn)練過的果實對象時將出現(xiàn)漏檢等情況,影響算法檢測的準(zhǔn)確度;3)當(dāng)前的采摘機器人自身硬件條件限制,對復(fù)雜的果實目標(biāo)檢測算法運行效率較低。
傳統(tǒng)的果實目標(biāo)檢測識別算法是基于圖像識別模型的顏色模型法。其檢測過程由2個部分組成。首先通過基于尺度不變特征變換[5](Scale-invariant Feature Transform, SIFT)、方向梯度直方圖[6](Histogram of Oriented Gradient, HOG)等方法對圖像進(jìn)行特征提取,然后使用支持向量機[7](Support Vector Machine, SVM)、自適應(yīng)提升[8](Adaboost)等方法對圖像中目標(biāo)進(jìn)行分類。Ji等人[9]通過提取圖像中果實的顏色特征和形狀特征,提出了基于支持向量機的蘋果識別算法,在蘋果采摘機器人上取得了很好的效果。Si等人[10]提出了一種基于色差和色差比的果實識別算法,通過計算像素的色差和色差比來確定果實目標(biāo),該算法很好地消除了自然環(huán)境下陰影以及土壤的影響。陶華偉等人[11]提出了基于顏色和紋理特征的果實識別算法,該算法使用顏色完全局部二值模式(Completed Local Binary Pattern, CLBP)提取圖像紋理特征,利用顏色直方圖提取果實圖像顏色特征,結(jié)合紋理特征和顏色特征,提升了算法的識別準(zhǔn)確率。
但是,傳統(tǒng)的檢測識別算法需要結(jié)合果實紋理和顏色特征,提取過程復(fù)雜耗時,因此存在較多不足:1)紋理特征不能很好地表述果實之間的差異性,對光照等外部條件敏感;2)特征提取過程復(fù)雜、耗時,表述能力也不足,算法實時性不高,無法滿足實時采摘;3)參數(shù)選擇復(fù)雜,分類器穩(wěn)定性不足,自適應(yīng)差;4)泛化性不強,只能針對某一種特定水果,難以推廣到其他水果。
相較于傳統(tǒng)識別方法,基于深度學(xué)習(xí)的方法是直接由圖像本身特征及表達(dá)關(guān)系的自我學(xué)習(xí),對果實特征表述能力較強,模型泛化性較高,果實識別準(zhǔn)確度高,解決了傳統(tǒng)方法不能滿足采摘機器人實時識別的問題。同時,隨著計算機的計算能力提升,更多的研究者將目光轉(zhuǎn)移到深度學(xué)習(xí)上。AlexNet[12]在ImageNet大規(guī)模視覺識別挑戰(zhàn)賽中戰(zhàn)勝傳統(tǒng)目標(biāo)檢測算法,并且速度和精度遠(yuǎn)優(yōu)于傳統(tǒng)檢測算法。Girshick等人提出R-CNN算法,卷積網(wǎng)絡(luò)的使用大幅度提高了目標(biāo)檢測的速度。至此,深度學(xué)習(xí)方法開始廣泛運用在各類目標(biāo)檢測識別算法中。
基于深度學(xué)習(xí)的目標(biāo)檢測方法近年來受到越來越多研究者的關(guān)注,是計算機視覺領(lǐng)域研究的熱點方向。果實目標(biāo)檢測識別是目標(biāo)檢測領(lǐng)域的一個熱門領(lǐng)域,當(dāng)前,基于深度學(xué)習(xí)的果實目標(biāo)檢測識別算法可分為基于分類的two stage檢測方法和基于回歸的one stage檢測方法。
基于分類的two stage果實目標(biāo)檢測識別方法分2步進(jìn)行,第1步是提取候選區(qū)域過程,第2步是對候選區(qū)域分類、定位過程。其優(yōu)點是算法的準(zhǔn)確率較高,但不足也很明顯,即第1步提取候選區(qū)域花費時間較多,限制了算法的檢測速度。
2.1.1 R-CNN
Girshick等人受AlexNet網(wǎng)絡(luò)啟發(fā)提出了R-CNN[13]算法。R-CNN采用區(qū)域識別的方法,算法過程如圖1所示,selective search[14]方法提取輸入圖片2000個左右的候選區(qū)域,對候選區(qū)域進(jìn)行縮放,縮放方法有各向同性縮放以及各向異性縮放,然后將縮放后的候選區(qū)域輸入到CNN網(wǎng)絡(luò)中提取特征,再將提取的特征輸入SVM中判斷類別,最后利用回歸器修正候選框位置。
圖1 R-CNN算法過程
R-CNN在VOC 2012數(shù)據(jù)集上的mAP為53.3%。針對自然環(huán)境下獼猴桃識別問題,穆龍濤等人[15]提出了改進(jìn)的AlexNet網(wǎng)絡(luò)獼猴桃目標(biāo)識別方法,通過修改全連接層的節(jié)點數(shù),解決了模型對弱光環(huán)境中枝葉遮擋所導(dǎo)致的識別準(zhǔn)確率不高等問題,并且使用不同采光環(huán)境下采集的獼猴桃圖像,在相同數(shù)據(jù)集下,改進(jìn)的AlexNet網(wǎng)絡(luò)識別精度比VGG16等網(wǎng)絡(luò)識別精度高出了5.76%。
2.1.2 Fast R-CNN
Fast R-CNN[16]解決了R-CNN訓(xùn)練速度慢和訓(xùn)練空間開銷大的問題。Fast R-CNN算法不再對每個候選區(qū)域卷積,而是直接對整張圖片卷積,減少了大量的重復(fù)計算;用RoI(Region of Interest)池化層代替R-CNN的SPP[17](Spatial Pyramid Pooling)層,將不同尺寸的特征圖池化成一個固定尺度;提出了多任務(wù)損失函數(shù)(Multi-task Loss),將邊框回歸與分類放到一個網(wǎng)絡(luò)中,用softmax代替SVM分類器,加快了訓(xùn)練的速度;采用SVD分解改進(jìn)全連接層,減少了全連接層的計算量,加快了圖像處理速度。
Fast R-CNN在VOC2012數(shù)據(jù)集上mAP比R-CNN高13%,為66%,訓(xùn)練速度比R-CNN快9倍,測試速度比R-CNN快213倍。針對番茄果實器官識別問題,周云成等人[18]提出了基于雙卷積鏈Fast R-CNN方法,其思想是利用番茄器官數(shù)據(jù)集訓(xùn)練特征提取網(wǎng)絡(luò),再對Fast R-CNN初始化,然后再訓(xùn)練。該方法比單鏈Fast R-CNN方法的識別mAP提高了2.56%。
2.1.3 Faster R-CNN
Faster R-CNN[19]解決了Fast R-CNN提取候選區(qū)域(region proposal)時間花費大的問題。Faster R-CNN算法摒棄了R-CNN使用selective search算法生成候選區(qū)域的方法,提出了全新的區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network, RPN),RPN的使用大大提升了候選區(qū)域生成速度。
如圖2所示,RPN網(wǎng)絡(luò)首先采用多尺度窗口(bbox),然后使用Softmax對錨點框(anchors)分類,獲得前景目標(biāo)(foreground)以及背景(background),最后Proposal層綜合前景錨點框(foreground anchors)和邊界框回歸偏移量,得到已定位好的候選區(qū)域。
圖2 RPN網(wǎng)絡(luò)結(jié)構(gòu)
為解決藍(lán)莓果實識別難的問題,朱旭等人[20]提出了基于Faster R-CNN的識別方法,主要思想是通過卷積神經(jīng)網(wǎng)絡(luò)、區(qū)域候選網(wǎng)絡(luò)、感興趣區(qū)域池化和分類網(wǎng)絡(luò)4個步驟來實現(xiàn)果實背景消除以及識別果實。該方法的平均識別準(zhǔn)確率達(dá)到94.67%,比其他識別算法高出20%。
2.1.4 Mask R-CNN
Mask R-CNN[21]是在Faster R-CNN基礎(chǔ)上改進(jìn)而來,算法在輸出候選目標(biāo)時增加了一個用于預(yù)測目標(biāo)掩模(object mask)的輸出分支。Mask R-CNN不僅可以用于目標(biāo)檢測,還可以用于實例分割[22](instance segmentation)和人體關(guān)鍵點檢測[23](person keypoint detection)。
如圖3,Mask R-CNN使用RolAlign層代替Faster R-CNN算法的RolPooling層,RolAlign層沒有采用RolPooling層的二次量化操作,而是使用了線性插值算法,解決了RoI與提取的特征不對準(zhǔn)問題,還將提取的特征與輸入對齊。FCN[24]是經(jīng)典的語義分割算法,可對圖像中的目標(biāo)準(zhǔn)確分割,F(xiàn)CN對每個RoI預(yù)測一個掩模,每個掩模都編碼了一個輸入對象的空間結(jié)構(gòu)信息。
圖3 Mask R-CNN算法過程
Mask R-CNN在COCO數(shù)據(jù)集上的mAP比Fast R-CNN提升了20%,為39.8%。在葡萄果實采摘方面,寧政通等人[25]提出了一種葡萄果梗識別與最優(yōu)定位方法,通過改進(jìn)的Mask R-CNN模型對葡萄果梗進(jìn)行識別與粗分割,使用多分段區(qū)域生長算法對成功識別后的果梗進(jìn)行精細(xì)分割,用于在不同天氣光照條件下檢測葡萄果梗,平均檢測精確率達(dá)88%。
基于回歸的one stage果實目標(biāo)檢測識別方法摒棄了提取候選區(qū)域階段,直接獲取目標(biāo)的類別概率和位置,使得其網(wǎng)絡(luò)結(jié)構(gòu)更加簡單,犧牲了部分的準(zhǔn)確度,但算法的檢測識別速度得到了提高。
2.2.1 YOLO
Redmon等人[26]于2016年提出YOLO(You Only Look Once)算法。YOLO以整張圖片作為輸入,直接對目標(biāo)進(jìn)行定位和分類,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,它使用7×7的單元格對圖片進(jìn)行分割。單元格由x、y、w、h、confidence(置信度)5個值組成,其中(x,y)由歸一化處理預(yù)測得到,表示單元格中心相對偏移量。
圖4 YOLO算法檢測過程
YOLO將輸入圖像分割成若干個單元格,然后分別對單元格進(jìn)行預(yù)測,得到每個單元格預(yù)測分?jǐn)?shù),通過預(yù)先設(shè)置閾值過濾掉預(yù)測分?jǐn)?shù)較低的單元格,最后使用非極大值抑制[27](Non-maximum suppression)得到最終預(yù)測的單元格。
YOLO在VOC 2007數(shù)據(jù)集上獲得63.4%的mAP,檢測速度相比于R-CNN系列算法有很大提升,可達(dá)45 f/s。在農(nóng)業(yè)采摘機器人對番茄自動識別采摘問題上,劉芳等人[28]提出了一種基于YOLO的改進(jìn)型多尺度算法,其思想是通過設(shè)計一種含有殘差模塊的Darknet-20主干網(wǎng)絡(luò),然后融合多尺度檢測。該模型對番茄圖像識別的精度達(dá)到97.13%,速度為7.719 ms/張,相較于YOLOv2等網(wǎng)絡(luò)模型,滿足了番茄果實識別檢測的速度和精度要求。
2.2.2 YOLOv2及YOLO9000
為解決YOLO目標(biāo)定位不準(zhǔn)確和召回率低的缺陷,Ioffe等人[29]在YOLO基礎(chǔ)上提出了YOLOv2和YOLO9000算法。YOLOv2改變加深加寬網(wǎng)絡(luò)的思想,通過簡化網(wǎng)絡(luò)來提高定位準(zhǔn)確度。YOLO9000算法是在YOLOv2基礎(chǔ)上改進(jìn)的,它的特點是可以檢測超過9000類物體,算法采用檢測數(shù)據(jù)集和分類數(shù)據(jù)集同時訓(xùn)練的方法,通過檢測數(shù)據(jù)集學(xué)習(xí)目標(biāo)物體位置,而分類數(shù)據(jù)集增加算法可分類的類別數(shù)量。
YOLOv2通過引入批歸一化[30](Batch Normalization)操作,提升了算法模型收斂速度,將檢測mAP提高了2.4%;采用高分辨率(High Resolution Classifier)圖片進(jìn)行預(yù)訓(xùn)練分類,相比于YOLO預(yù)訓(xùn)練模型采用224×224的圖片,高分辨率分類器的加入將檢測mAP提高了4%;用錨點框(anchor boxes)代替全連接層預(yù)測邊界框(Bounding boxes),提高了召回率,比YOLO的召回率提高了7%,對每個單元格預(yù)測5個方框,將檢測mAP提升了5%。
YOLOv2的計算量比YOLO減少了約33%,VOC2007數(shù)據(jù)集的精度mAP達(dá)到了76.8%。針對未成熟芒果,薛月菊等人[31]在YOLOv2基礎(chǔ)上,設(shè)計了一種新的密集連接Tiny-YOLO網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)了模型多層特征的復(fù)用和融合,使該模型可以準(zhǔn)確識別復(fù)雜自然環(huán)境下的芒果果實,經(jīng)過測試,該方法的檢測速度達(dá)83 f/s,準(zhǔn)確率為97.02%,對比Faster R-CNN模型,該方法檢測性能更加優(yōu)秀。
2.2.3 YOLOv3
YOLOv3[32]解決了YOLOv2復(fù)雜場景檢測效果不佳的問題。YOLOv3算法使用Darknet-53網(wǎng)絡(luò)結(jié)構(gòu),采用多尺度特征預(yù)測,目標(biāo)分類方法用Logistic[33]取代了YOLOv2的Softmax方法。
Darknet-53借鑒了殘差網(wǎng)絡(luò)[34](ResNet)的殘差模塊(residual block)思想,殘差模塊的使用避免了深層網(wǎng)絡(luò)下梯度爆炸問題,提高了目標(biāo)檢測精度。YOLOv3綜合SSD算法和FPN[35](特征金字塔)的多尺度預(yù)測思想,提高了不同尺度目標(biāo)的檢測能力,尤其是小目標(biāo)檢測;引入Kmeans聚類[36]錨框(anchors)方法,加快了訓(xùn)練的收斂速度,提高了預(yù)測位置的準(zhǔn)確度;使用Logistic預(yù)測對象類別,解決了YOLOv2無法實現(xiàn)單目標(biāo)多標(biāo)簽的問題,提高了對復(fù)雜場景的檢測能力,以及多類別多目標(biāo)的檢測能力。
YOLOv3對單張320×320圖片檢測只用了22 ms,并取得28.2% mAP的成績。在蘋果檢測識別問題上,武星等人[37]通過改進(jìn)YOLOv3算法,提出了一種輕量Light-YOLOv3方法,其主要設(shè)計了一種類似殘差塊串聯(lián)的特征提取網(wǎng)絡(luò),并簡化了特征圖尺度,采用深度可分離卷積以及多目標(biāo)順損失函數(shù)的方法。測試表明,該模型方法的檢測mAP為94.69%。
2.2.4 YOLOv4
Bochkovskiy在2020年扛起YOLO系列算法的大旗,并于同年4月推出最新YOLO,即YOLOv4。YOLOv4[38]有著容易訓(xùn)練和方便使用的優(yōu)點,是一個高效強大的目標(biāo)檢測模型,并讓每個研究者通過一個簡單的GPU就可以訓(xùn)練出一個快速和精準(zhǔn)的目標(biāo)檢測器。
YOLOv4在YOLOv3基礎(chǔ)上對檢測器進(jìn)行優(yōu)化改進(jìn),結(jié)合了近幾年深度學(xué)習(xí)領(lǐng)域里最優(yōu)秀的算法優(yōu)化策略,在數(shù)據(jù)處理、激活函數(shù)、主干網(wǎng)絡(luò)等方面都進(jìn)行了不同程度的優(yōu)化,使得YOLOv4實時目標(biāo)檢測速度和精度都達(dá)到了目前較高水平。
如圖5所示,YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)沿用YOLOv3網(wǎng)絡(luò)Head部分,主網(wǎng)絡(luò)(Backbone)采用CSPDarknet53結(jié)構(gòu),采用空間金字塔池化[31](Spatial Pyramid Pooling, SPP)層增大了網(wǎng)絡(luò)的感受域,使用PANet中的路徑聚合模塊作為網(wǎng)絡(luò)的Neck部分。除了網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),YOLOv4還摒棄了傳統(tǒng)的數(shù)據(jù)增強方式,采用最新的Mosaic方法和自對抗訓(xùn)練[39](Self-Adverdarial Training, SAT)數(shù)據(jù)增強方式,在選擇超參數(shù)上使用了遺傳算法選擇,以及采用了CmBN(交叉小批量標(biāo)準(zhǔn)化)對一個批次內(nèi)小批次之間的統(tǒng)計數(shù)據(jù)進(jìn)行收集。
圖5 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv4的mAP比YOLOv3提升了10%,檢測速度是YOLOv3的1.12倍。張晴暉等人[40]將YOLOv4算法與逆運動降維結(jié)合,提出了一種全新的果實采摘系統(tǒng),可對不同果實進(jìn)行自動識別采摘。經(jīng)過不同種類水果數(shù)據(jù)集的訓(xùn)練,該模型對果實識別的準(zhǔn)確率達(dá)94%以上,單幅圖像檢測時間達(dá)12.3 ms。
2.2.5 SSD
SSD[41]是一種多框(MultiBox)預(yù)測的one-stage方法,整個檢測過程只需經(jīng)過一次卷積網(wǎng)絡(luò)。算法過程是先在輸入圖片上進(jìn)行均勻抽樣,選擇不同尺度的特征圖,然后進(jìn)行特征提取,最后通過回歸和分類得到目標(biāo)所在區(qū)域。
SSD算法采用卷積網(wǎng)絡(luò)直接預(yù)測,以輸入圖片300×300大小為例,SSD的網(wǎng)絡(luò)結(jié)構(gòu)是以VGG16模型為基礎(chǔ),使用多尺度特征圖進(jìn)行檢測,如圖6所示,其思想是采用大尺度特征圖檢測小目標(biāo)物體,小尺度特征圖檢測大目標(biāo)物體,先驗框(Prior boxes)采用不同尺度和不同長寬比,一定程度上克服了YOLO小目標(biāo)檢測難和定位不準(zhǔn)確的缺點。
圖6 不同尺度的特征圖
SSD在VOC2007數(shù)據(jù)集上的mAP為73.2%,檢測速度為59 f/s-1,比Faster R-CNN檢測速度快6倍。針對柑橘果實識別問題,李善軍等人[42]提出了基于改進(jìn)SSD柑橘檢測方法。該方法模型通過大量實驗對比,挑選出較為合適的特征圖,以及柑橘圖像分辨率大小,最后模型識別mAP達(dá)到了87.90%,比原SSD模型高出0.34%,并且每張圖片檢測時間縮短為20.27 ms,大大提高了模型的檢測速度。
表1給出了對基于深度學(xué)習(xí)方法的算法模型性能以及優(yōu)缺點做出的對比。
表1 基于深度學(xué)習(xí)方法的模型性能以及優(yōu)缺點對比
在以上基于深度學(xué)習(xí)的目標(biāo)檢測算法基礎(chǔ)上,一些研究者針對不同的果實目標(biāo)也提出了一些新的基于深度學(xué)習(xí)的果實目標(biāo)檢測識別算法,如表2所示。
表2 基于深度學(xué)習(xí)的果實目標(biāo)檢測識別相關(guān)文獻(xiàn)
數(shù)據(jù)集是影響目標(biāo)檢測算法性能的重要因素,數(shù)據(jù)集也是提升算法性能的關(guān)鍵,從傳統(tǒng)檢測算法到如今基于深度學(xué)習(xí)的檢測算法,其對數(shù)據(jù)集的規(guī)模以及質(zhì)量要求也越來越高。數(shù)據(jù)集不僅是衡量算法性能的重要依據(jù),更是推動某一領(lǐng)域向上發(fā)展的基本力量。隨著互聯(lián)網(wǎng)的發(fā)展,在網(wǎng)絡(luò)上可收集的圖片也越來越多,相應(yīng)建立的數(shù)據(jù)集規(guī)模也越來越大。如ImageNet圖片數(shù)據(jù)集,共有1400萬張圖像數(shù)據(jù),包含21000種不同的目標(biāo),它是當(dāng)前圖像識別的最大數(shù)據(jù)集,各類目標(biāo)檢測算法會在該數(shù)據(jù)集測試性能。
ImageNet數(shù)據(jù)集是衡量算法優(yōu)劣的基準(zhǔn),它的出現(xiàn)極大地推動了計算機視覺領(lǐng)域的發(fā)展。
果實目標(biāo)檢測公開的數(shù)據(jù)集有CropDeep[49]、VegFru、MinneApple[50]、Medjool和LFuji-air Dataset[51]等。CropDeep數(shù)據(jù)集由31類不同目標(biāo)的31147張圖像和超過4.9萬個對象實例組成,該數(shù)據(jù)集的圖像是通過溫室中不同的攝像機在不同時刻下捕捉到的,它能夠反映相似物體的周期性變化情況,并且具有代表性的注釋,為基于深度學(xué)習(xí)在農(nóng)作物分類和檢測提供了一個基準(zhǔn)。VegFru是一個關(guān)于水果和蔬菜的大型數(shù)據(jù)集,它是根據(jù)水果和蔬菜的飲食特征進(jìn)行分類,目前版本涵蓋了25個高級類別和292個下級類別的水果和蔬菜,圖像總數(shù)達(dá)16萬張,每種水果小類至少有200張圖像。MinneApple是關(guān)于蘋果的專門數(shù)據(jù)集,它包含了1000張果園中的蘋果圖像,數(shù)據(jù)集中的蘋果對象實例達(dá)41萬個,其中每個對象實例使用多邊形遮罩標(biāo)記,可以幫助研究者精確定位蘋果和分割對象。A Capsicum annuum dataset是一個基于經(jīng)驗測量生成植物隨機網(wǎng)格渲染的數(shù)據(jù)集,包括對多個植物部件的逐像素類和深度標(biāo)簽的自動生成,該數(shù)據(jù)集以辣椒為例,其中包含10500張圖像,通過Blender進(jìn)行渲染,使用不同場景和42個程序生成的植物模型以及隨機的辣椒參數(shù)。
針對特定的果實目標(biāo)檢測識別問題,用于果實檢測的公開數(shù)據(jù)集也不斷發(fā)展,如FIDS30[52]、Fruit-360[53]、FruitVeg-81[54]等單一果實圖像數(shù)據(jù)集,但是由于自然環(huán)境下復(fù)雜背景等因素影響,公開數(shù)據(jù)不能很好滿足實際果實檢測需求,所以大部分的果實目標(biāo)檢測需要研究者根據(jù)實際環(huán)境自建數(shù)據(jù)集,公開數(shù)據(jù)集一般是研究者測試算法性能的輔助數(shù)據(jù)。當(dāng)前公開的果實目標(biāo)檢測識別數(shù)據(jù)集如表3所示。
表3 果實目標(biāo)檢測識別公開數(shù)據(jù)集
不同的評價指標(biāo),其衡量的側(cè)重點也不同,良好的算法模型在其使用的評價指標(biāo)上應(yīng)該有較好的表現(xiàn),但是不同任務(wù)中會采用不同的評價指標(biāo)。本文對以下幾種果實目標(biāo)檢測任務(wù)中廣泛使用的評價指標(biāo)[55-58]進(jìn)行介紹,分別是準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、每秒幀率(Frame Per Second, FPS)、平均正確率(Average Precision, AP)、平均精度(mean Average Precision, mAP)、區(qū)域交并比(Intersection over Union, IoU)[59]。
為了更好理解各項評價指標(biāo),需先了解4個基本概念,在假設(shè)只有正樣本和負(fù)樣本這2個分類目標(biāo)的前提下:1)True Positives,TP,即實際為正樣本且被正確識別為正樣本的總數(shù)。2)True Negatives,TN,即實際為負(fù)樣本且被正確識別為負(fù)樣本的總數(shù)。3)False Positives,F(xiàn)P,即實際為負(fù)樣本但被識別為正樣本的總數(shù)。4)False Negatives,F(xiàn)N,即實際為正樣本但被識別為負(fù)樣本的總數(shù)。
準(zhǔn)確率(Accuracy)指被模型正確識別出的正樣本占全部樣本數(shù)的比例,計算公式為:A=(TP+TN)/(TP+TN+FP+FN),一般地,準(zhǔn)確率越高,說明分類器分類效果越好。精確率(Precision)指模型中,真正為正樣本數(shù)的與識別為正樣本數(shù)的比例,精確率是衡量模型識別出的正樣本是真實正樣本的概率,計算公式為:P=TP/(TP+FP)。召回率(Recall)指所有的正樣本樣例中,被模型正確識別為正樣本的比例,召回率是衡量模型能夠把正樣本正確識別出的能力,計算公式為:R=TP/(TP+FN)。一般來說,通過繪制P-R曲線記錄模型精度與召回率,P即是精確率Precision,R即是召回率Recall,它們分別作為橫、縱坐標(biāo),并且設(shè)置一個不變的閾值,若模型的精度越高,召回率越高,那么模型的性能就越優(yōu)異,其P-R曲線下的面積也就越大。每秒幀率FPS,即模型一秒鐘能夠檢測的圖片數(shù)量,不同硬件條件上的FPS是不同的,所以FPS的對比應(yīng)該在同一硬件上。
平均精確率(AP)是指不同召回率(R)點上的精確率(P)的平均,若AP值越大,則說明模型的性能越優(yōu)秀,AP值是針對數(shù)據(jù)集中某一個物體類別而言。平均精度(mAP)即平均精度均值,是指模型檢測多種物體時,每個種類物體繪制的P-R曲線計算出AP值,mAP值也就是所有物體類別的平均AP值,mAP值是針對整個數(shù)據(jù)集所有物體類別,是衡量模型在所有物體類別上的檢測性能,一般來說,mAP值在0到1之間,值越大越好。區(qū)域交并比(IoU)是描述模型識別出的目標(biāo)框與原圖片中標(biāo)注框重合程度的值,計算方法是預(yù)測值與真實值的交集比上它們的并集,即交并比,一般情況下,IoU值設(shè)定的閾值為0.5,即IoU值大于0.5就認(rèn)為檢測到目標(biāo)物體。
本文闡述了果實目標(biāo)檢測識別的任務(wù)以及當(dāng)前存在的關(guān)鍵難點,對時下較為火熱的幾種基于深度學(xué)習(xí)的檢測方法進(jìn)行了綜述,并比較了各個算法的檢測性能和優(yōu)缺點,介紹了常用的數(shù)據(jù)集,希望可以給果實目標(biāo)檢測識別的農(nóng)業(yè)技術(shù)研究者提供新的思路和想法。目前階段,果實目標(biāo)檢測識別已經(jīng)從傳統(tǒng)的顏色模型法轉(zhuǎn)變?yōu)榛谏疃葘W(xué)習(xí)的方法,技術(shù)也日漸成熟,本文在現(xiàn)有的研究基礎(chǔ)上給出以下幾個思路供研究者參考。
1)應(yīng)用遷移學(xué)習(xí)。遷移學(xué)習(xí)能夠在數(shù)據(jù)集規(guī)模較小的情況下訓(xùn)練出檢測效果優(yōu)異的模型,它將在大型數(shù)據(jù)集(如COCO數(shù)據(jù)集)訓(xùn)練后的模型權(quán)重移植到果實目標(biāo)檢測識別任務(wù)中,不僅降低了模型的訓(xùn)練學(xué)習(xí)成本,而且還避免了訓(xùn)練過程中出現(xiàn)過擬合的問題,減少了因為果實圖像數(shù)據(jù)集不夠大帶來的模型預(yù)測效果差的結(jié)果。遷移學(xué)習(xí)的方法對需要人工標(biāo)注數(shù)據(jù)集的果實目標(biāo)檢測任務(wù)較為適用。
2)多方式采集圖像。自然環(huán)境下識別果實位置不僅受復(fù)雜背景影響,還受果實大小、成熟程度顏色不一以及角度問題等影響,所以采集圖像時應(yīng)獲取多角度、不同生長時段的果實圖像,采集后的圖像利用數(shù)據(jù)增強技術(shù)擴充數(shù)據(jù),從而提高模型檢測的準(zhǔn)確率和泛化能力。
3)夜間環(huán)境下的果實目標(biāo)檢測識別?,F(xiàn)有的果實目標(biāo)檢測識別多是針對晴朗天氣下的果實檢測識別,所以訓(xùn)練出的檢測模型對于夜間以及陰天光照不足條件的果實目標(biāo)識別效果并不理想,夜間以及陰天光照條件下的果實圖像采集、圖像處理方法和識別算法需要進(jìn)一步地研究。
4)輕量化模型。當(dāng)前,基于深度學(xué)習(xí)的目標(biāo)檢測算法對計算機的計算資源要求很高,在實際生產(chǎn)中耗費的成本較高,為保持模型的高精確度,且盡量降低成本,需對深度學(xué)習(xí)方法的網(wǎng)絡(luò)模型進(jìn)行優(yōu)化改進(jìn),降低網(wǎng)絡(luò)的復(fù)雜程度,減少模型的參數(shù)量,使模型能夠在硬件水平不高的平臺上穩(wěn)定運行。