高芳芳,武振超,索 睿,周忠賢,李 瑞,傅隆生,張 昭
基于深度學(xué)習(xí)與目標(biāo)跟蹤的蘋果檢測與視頻計(jì)數(shù)方法
高芳芳1,武振超1,索 睿1,周忠賢1,李 瑞2,傅隆生1,3,4※,張 昭5
(1. 西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院,楊凌 712100; 2. 綏德縣蘭花花生態(tài)食品有限責(zé)任公司,綏德 718000;3. 農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室,楊凌 712100; 4. 陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點(diǎn)實(shí)驗(yàn)室,楊陵 712100;5. 北達(dá)科他州立大學(xué)農(nóng)業(yè)與生物系統(tǒng)工程系,美國法戈 58102)
基于機(jī)器視覺技術(shù)自動檢測蘋果樹上的果實(shí)并進(jìn)行計(jì)數(shù)是實(shí)現(xiàn)果園產(chǎn)量測量和智慧果園生產(chǎn)管理的關(guān)鍵。該研究基于現(xiàn)代種植模式下的富士蘋果視頻,提出基于輕量級目標(biāo)檢測網(wǎng)絡(luò)YOLOv4-tiny和卡爾曼濾波跟蹤算法的蘋果檢測與視頻計(jì)數(shù)方法。使用YOLOv4-tiny檢測視頻中的蘋果,對檢測到的果實(shí)采用卡爾曼濾波算法進(jìn)行預(yù)測跟蹤,基于歐氏距離和重疊度匹配改進(jìn)匈牙利算法對跟蹤目標(biāo)進(jìn)行最優(yōu)匹配。分別對算法的檢測性能、跟蹤性能和計(jì)數(shù)效果進(jìn)行試驗(yàn),結(jié)果表明:YOLOv4-tiny模型的平均檢測精度達(dá)到94.47%,在果園視頻中的檢測準(zhǔn)確度達(dá)到96.15%;基于改進(jìn)的計(jì)數(shù)算法分別達(dá)到69.14%和75.60%的多目標(biāo)跟蹤準(zhǔn)確度和精度,較改進(jìn)前算法分別提高了26.86和20.78個(gè)百分點(diǎn);改進(jìn)后算法的平均計(jì)數(shù)精度達(dá)到81.94%。該研究方法可有效幫助果農(nóng)掌握園中蘋果數(shù)量,為現(xiàn)代化蘋果園的測產(chǎn)研究提供技術(shù)參考,為果園的智慧管理提供科學(xué)決策依據(jù)。
視頻計(jì)數(shù);YOLOv4-tiny;卡爾曼濾波器;匈牙利算法;果實(shí)匹配
蘋果等經(jīng)濟(jì)作物產(chǎn)量信息的獲取是精細(xì)技術(shù)體系中的重要環(huán)節(jié),也是果農(nóng)進(jìn)行果園生產(chǎn)管理的關(guān)鍵指標(biāo)。蘋果是中國大規(guī)模種植的農(nóng)產(chǎn)品之一,是農(nóng)業(yè)經(jīng)濟(jì)發(fā)展的重要支柱[1]。隨著蘋果種植模式的改進(jìn),矮化密植、小樹冠、寬行距、窄株距的現(xiàn)代蘋果園栽培模式已成為主流,大幅提高了果園土地利用率[2]。果園產(chǎn)量的預(yù)測有助于有效利用資源并合理分配勞動力、倉儲空間和采收設(shè)備等資源[3]。但是,當(dāng)前商業(yè)果園中果實(shí)數(shù)量主要由人工抽樣計(jì)數(shù)估測,耗時(shí)費(fèi)力[4]。因此,果實(shí)的自動計(jì)數(shù)對獲取果園產(chǎn)量信息至關(guān)重要。
近年來,面向果實(shí)測產(chǎn)的果實(shí)自動計(jì)數(shù)方法得到了廣泛研究。Dorj等[5]利用果實(shí)的顏色特征對柑橘圖像進(jìn)行檢測與計(jì)數(shù)研究,開發(fā)的算法與人工計(jì)數(shù)之間的決定系數(shù)2為0.93。Mekhalfi等[6]基于Viola-Jones目標(biāo)檢測算法檢測田間環(huán)境下的獼猴桃圖像并進(jìn)行計(jì)數(shù),試驗(yàn)在兩個(gè)果園內(nèi)的計(jì)數(shù)誤差分別為6%和15%。盡管許多相關(guān)研究獲得了較好的計(jì)數(shù)性能,但是這些研究都集中在靜態(tài)圖像[7-8],并未對視頻中的果實(shí)進(jìn)行動態(tài)的計(jì)數(shù)研究。
快速有效檢測蘋果樹上的果實(shí)是實(shí)現(xiàn)果實(shí)視頻計(jì)數(shù)的前提。傳統(tǒng)的目標(biāo)檢測算法多依賴于目標(biāo)的顏色、紋理和形狀等特征,并結(jié)合形態(tài)學(xué)操作進(jìn)行圖像分割以檢測出目標(biāo)區(qū)域[9-12]。但是傳統(tǒng)的算法難以兼顧實(shí)時(shí)性和準(zhǔn)確性,且研究結(jié)果不具有通用性?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法對數(shù)據(jù)集的表達(dá)更高效和準(zhǔn)確,泛化能力更強(qiáng),更容易應(yīng)用于實(shí)際場景[13]。其中YOLO等的一階檢測算法與Faster R-CNN等的二階檢測算法相比具有較快的檢測速度[14],被廣泛應(yīng)用于果實(shí)的檢測研究[15-18]。
目標(biāo)跟蹤可以建立視頻中相同果實(shí)的聯(lián)系,是實(shí)現(xiàn)果實(shí)視頻自動計(jì)數(shù)的另一重要環(huán)節(jié)。近年來,諸多學(xué)者提出了多種跟蹤算法[19],主要用于軍事航空航天、安全監(jiān)控和智能駕駛領(lǐng)域[20-22]。其中卡爾曼濾波算法因?yàn)榭梢栽谶B續(xù)變化的系統(tǒng)中進(jìn)行狀態(tài)估計(jì),且占用內(nèi)存較小而被廣泛應(yīng)用[23]。Wang等[24]基于卡爾曼濾波器對果園視頻中的芒果果實(shí)進(jìn)行運(yùn)動跟蹤,從而實(shí)現(xiàn)視頻中果實(shí)的自動計(jì)數(shù),其計(jì)數(shù)結(jié)果與人工計(jì)數(shù)結(jié)果比較產(chǎn)生了9.9%的重復(fù)計(jì)數(shù)和7.3%的計(jì)數(shù)錯(cuò)誤,導(dǎo)致計(jì)數(shù)高出約2.6%。劉軍等[25]通過匈牙利匹配和卡爾曼濾波算法實(shí)現(xiàn)車輛跟蹤,改善了重疊遮擋時(shí)的車輛跟蹤效果。
本文基于深度學(xué)習(xí)目標(biāo)檢測算法結(jié)合卡爾曼濾波器和改進(jìn)匈牙利算法的目標(biāo)跟蹤框架實(shí)現(xiàn)視頻中蘋果的自動計(jì)數(shù)。為保證蘋果檢測跟蹤算法的實(shí)時(shí)性與準(zhǔn)確性,采用YOLOv4的簡化版本,即YOLOv4-tiny,作為目標(biāo)檢測網(wǎng)絡(luò),以期在保證檢測精度的前提下實(shí)現(xiàn)更快的處理速度?;诳柭鼮V波算法對目標(biāo)進(jìn)行預(yù)測跟蹤?;跉W式距離和交并比(Intersection over Union,IoU)改進(jìn)匈牙利算法對目標(biāo)進(jìn)行匹配,降低目標(biāo)產(chǎn)生過度計(jì)數(shù)的概率,提高果實(shí)計(jì)數(shù)精度。
試驗(yàn)果園位于陜西省寶雞市扶風(fēng)縣法門鎮(zhèn)(107°9′ E,34°38′ N),以廣泛種植的紅富士品種為研究對象,于2020年的收獲季節(jié)9月下旬采集了蘋果圖像和視頻數(shù)據(jù)。現(xiàn)代化果園通過使用鐵絲將樹枝進(jìn)行約束以規(guī)范樹木生長,其株間距在0.3~1.5 m之間,行間距約為3.5~4.0 m,如圖1a所示。研究人員通過控制搭載RealSense D435相機(jī)的遙控小車在樹行間行走獲取果園數(shù)據(jù)。為保證獲取果樹的完整視野,相機(jī)距離地面最低高度為1.43 m,距離樹行最少2.07 m。共獲取果園圖像800張(如圖1b所示),分辨率為720×1 280,采集時(shí)段為8:00–18:00,涵蓋了順光、逆光與側(cè)光等可能的光照情況。采集同一果園的有效視頻10個(gè),保存為MP4格式,分辨率為720×1 280,視頻幀率為30幀/s。
根據(jù)實(shí)際計(jì)數(shù)需求,人工標(biāo)注了800張圖像用于訓(xùn)練與測試檢測網(wǎng)絡(luò)。使用LabelImg工具對原始數(shù)據(jù)集中蘋果目標(biāo)進(jìn)行邊界框標(biāo)注。標(biāo)注時(shí)將蘋果的最小外接矩形框作為真實(shí)框,僅對可人工識別或能推測出果實(shí)輪廓的蘋果目標(biāo)進(jìn)行標(biāo)記,其中處于樹行后排和圖像邊界的果實(shí)以及掉落在地和綁在樹上的果實(shí)不進(jìn)行標(biāo)注。
采用旋轉(zhuǎn)、鏡像翻轉(zhuǎn)、運(yùn)動模糊和亮度變換對原始圖像數(shù)據(jù)進(jìn)行擴(kuò)增。數(shù)據(jù)擴(kuò)增是深度學(xué)習(xí)中常用的方法,即在不改變圖像類別的情況下,增加訓(xùn)練數(shù)據(jù)集,讓數(shù)據(jù)集盡可能的多樣化,這有助于改善學(xué)習(xí)過程并提高模型的泛化能力[26]。使用自行開發(fā)的軟件將800張?jiān)紨?shù)據(jù)擴(kuò)增至8 000張后,并經(jīng)人工檢查確認(rèn)擴(kuò)增結(jié)果無誤。通過對原始圖像進(jìn)行旋轉(zhuǎn)和鏡像翻轉(zhuǎn)處理改變蘋果的分布方向,對原始圖像進(jìn)行90°、180°和270°度旋轉(zhuǎn),以及水平和垂直翻轉(zhuǎn)操作擴(kuò)大數(shù)據(jù)集為4 800張;為更好的檢測運(yùn)動中的果實(shí)目標(biāo),研究通過運(yùn)動模糊操作擴(kuò)增數(shù)據(jù)集至6 400張;通過亮度變換增強(qiáng)原始數(shù)據(jù)集的亮度范圍,將數(shù)據(jù)集擴(kuò)增為8 000張。按照4:1隨機(jī)劃分為訓(xùn)練集和測試集[27]。
圖2為本文方法的處理流程圖。算法主要包含以下步驟:1)檢測視頻:使用YOLOv4-tiny網(wǎng)絡(luò)檢測視頻中的蘋果,得到目標(biāo)檢測框和相應(yīng)特征;2)預(yù)測目標(biāo):使用卡爾曼濾波算法對目標(biāo)在視頻中下一幀的位置和狀態(tài)進(jìn)行預(yù)測;3)匹配目標(biāo):使用改進(jìn)的匈牙利算法對視頻前后兩幀之間若干目標(biāo)進(jìn)行最優(yōu)匹配,得到目標(biāo)在視頻中的軌跡,匹配失敗的目標(biāo)軌跡將被暫時(shí)保存,并繼續(xù)參與后續(xù)幀預(yù)測匹配,直到該目標(biāo)連續(xù)30幀都匹配失敗后被視為消失果實(shí),進(jìn)而刪除該軌跡。匹配成功則輸出結(jié)果,并進(jìn)行參數(shù)更新,重新開始目標(biāo)檢測。
圖2 果實(shí)計(jì)數(shù)流程圖
1.3.1 基于YOLOv4-tiny的果實(shí)檢測
在使用基于YOLO深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測方面,YOLOv4-tiny可以快速且高精度的檢測果實(shí)。YOLO于2016年被首次提出,近年來不斷改進(jìn),產(chǎn)生了YOLOv2、YOLOv3和YOLOv4等系列網(wǎng)絡(luò)。相應(yīng)的專為低端圖像處理器(Graphic Processing Unit,GPU)設(shè)備而設(shè)計(jì)的輕量級網(wǎng)絡(luò),如YOLOv3-tiny和YOLOv4-tiny,也隨之被提出。其中,YOLOv4-tiny在具有80個(gè)分類類別的MS COCO數(shù)據(jù)集中實(shí)現(xiàn)了40.2%的mAP(mean Average Precision)[28],比YOLOv3-tiny高7.1%,。因此,本研究擬選擇YOLOv4-tiny進(jìn)行果實(shí)檢測。
YOLOv4-tiny網(wǎng)絡(luò)包括Darknet層和YOLO層兩部分,Darknet是YOLOv4-tiny的特征提取層,YOLO層是目標(biāo)檢測層。該網(wǎng)絡(luò)層主要由卷積層和池化層構(gòu)成,如圖3所示,網(wǎng)絡(luò)中每層的輸出特征圖尺寸表示為“分辨率寬×分辨率高×通道數(shù)/步長”。網(wǎng)絡(luò)主要包含1個(gè)輸入層(圖像輸入尺寸為416×416),21個(gè)帶激活的卷積層(激活函數(shù)為Leaky和Linear),11個(gè)路由層,3個(gè)最大池化層和2個(gè)輸出層(輸出層特征圖尺度為13×13,26×26)。其中11個(gè)路由層均分布在卷積層之后,用于在當(dāng)前層引出之前卷積所得到的特征層。
圖3 YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv4-tiny網(wǎng)絡(luò)與YOLO系列其他網(wǎng)絡(luò)一樣采用darknet深度學(xué)習(xí)框架實(shí)現(xiàn)輸入圖像端到端的訓(xùn)練。YOLO網(wǎng)絡(luò)首先將輸入圖像劃分為×網(wǎng)格(cell)[29]。如果一個(gè)對象的中心落在某cell內(nèi),則該cell負(fù)責(zé)檢測該對象。每個(gè)cell都預(yù)測邊界框(bounding box)和這些框的置信度得分。每個(gè)bounding box包含5個(gè)預(yù)測參數(shù):和confidence,其中(,)表示目標(biāo)檢測框的坐標(biāo),(,)是目標(biāo)檢測框的寬度和高度。最后通過非極大值抑制選擇置信度最高的bounding box作為最后結(jié)果。
1.3.2 基于卡爾曼濾波的果實(shí)跟蹤
卡爾曼濾波器是一種廣泛使用的線性系統(tǒng)的最優(yōu)跟蹤算法。由于本文獲取的果園視頻幀率達(dá)到30幀/s,視頻序列之間果實(shí)目標(biāo)的位置變化很小,可基本視為勻速運(yùn)動[28],因此可假設(shè)果實(shí)跟蹤系統(tǒng)隨時(shí)間變化是線性相關(guān)的。算法采用勻速和線性觀測模型預(yù)測和更新目標(biāo)軌 跡[30]。在預(yù)測階段,卡爾曼濾波器使用視頻上一幀的估計(jì),做出對當(dāng)前幀的預(yù)測,即根據(jù)YOLOv4-tiny網(wǎng)絡(luò)的檢測位置預(yù)測對應(yīng)的果實(shí)跟蹤位置和其協(xié)方差矩陣。
在更新階段,濾波器利用對當(dāng)前幀的觀測值優(yōu)化在預(yù)測階段獲得的預(yù)測值,以獲得一個(gè)更精確的新估計(jì)值,即根據(jù)檢測果實(shí)和預(yù)測果實(shí)之間的匹配關(guān)系更新果實(shí)跟蹤位置及其協(xié)方差矩陣。
1.3.3 基于改進(jìn)匹配算法的果實(shí)匹配
匈牙利算法是一種在多項(xiàng)式時(shí)間內(nèi)求解任務(wù)分配問題的組合優(yōu)化算法,在本研究中被用來建立檢測果實(shí)和預(yù)測果實(shí)之間的關(guān)系,即匹配果實(shí)。分別通過2.1與2.2小節(jié)算法得到果園視頻中果實(shí)的檢測結(jié)果與預(yù)測結(jié)果,并采用歐氏距離衡量卡爾曼預(yù)測結(jié)果和YOLOv4-tiny檢測結(jié)果之間的相似性,如公式(6)所示。
式中(x,y)和(x,y)分別表示目標(biāo)跟蹤框坐標(biāo)和檢測框坐標(biāo)。
在果實(shí)匹配階段,使用匈牙利算法尋求預(yù)測結(jié)果與檢測結(jié)果的匹配最優(yōu)解,如公式(7)和(8)所示。匹配成功則進(jìn)入卡爾曼濾波的更新階段。
式中和分別是跟蹤到的果實(shí)數(shù)目以及檢測到的果實(shí)數(shù)目。
匹配失敗主要分為跟蹤目標(biāo)匹配失敗以及檢測目標(biāo)匹配失敗。跟蹤目標(biāo)匹配失敗是由YOLOv4-tiny網(wǎng)絡(luò)的漏檢或視頻中果實(shí)的消失導(dǎo)致的,兩種原因下視頻幀中都不存在該果實(shí)的檢測框,所以匹配失敗。檢測框中的目標(biāo)匹配失敗產(chǎn)生的原因也有兩個(gè)可能,一是該果實(shí)是視頻中新出現(xiàn)的,二是該果實(shí)長時(shí)間被遮擋。新出現(xiàn)的果實(shí)尚未存在軌跡,而長時(shí)間被遮擋但尚未判定為消失狀態(tài)的果實(shí)盡管一直在被跟蹤,但是由于跟蹤框中并不存在該果實(shí),使得卡爾曼濾波器預(yù)測結(jié)果的不確定性逐步增加,導(dǎo)致該果實(shí)的軌跡與檢測結(jié)果不能成功匹配。
針對上述匹配失敗問題,對匹配失敗的跟蹤目標(biāo)與匹配失敗的檢測目標(biāo)進(jìn)行IoU匹配,如公式(9)所示,同時(shí)試驗(yàn)確定最大閾值以去除相關(guān)性較低的檢測框與跟蹤框之間的匹配,若匹配成功則進(jìn)入卡爾曼濾波的更新階段。
式中和分別表示檢測框和跟蹤框區(qū)域。
再次匹配失敗的跟蹤目標(biāo)的軌跡將被暫時(shí)保存,并繼續(xù)進(jìn)行預(yù)測,直到該軌跡連續(xù)30幀都匹配失敗才被視為消失果實(shí),進(jìn)而刪除該軌跡。再次匹配失敗的檢測框中的目標(biāo)將被視為新果實(shí),進(jìn)行跟蹤。最后按照果實(shí)在視頻幀中的出現(xiàn)順序賦予果實(shí)數(shù)字ID(從1開始)實(shí)現(xiàn)果實(shí)的計(jì)數(shù)。
本文試驗(yàn)分為以下3部分:
1)果實(shí)檢測:首先應(yīng)用5 120張果園圖像基于Darknet框架分別訓(xùn)練出YOLOv3-tiny和YOLOv4-tiny網(wǎng)絡(luò)模型,平臺為配備有Intel Core i5-6400(2.70 GHz)的CPU, 16 GB的RAM和NVIDIA GTX 1080 8 GB的GPU的臺式計(jì)算機(jī)。軟件工具包括CUDA 9.0,cuDNN 7.1.3,Microsoft Visual Studio 2015,CMake-3.16,Python 3.6和OpenCV 3.1.0。根據(jù)網(wǎng)格搜索算法設(shè)置網(wǎng)絡(luò)中的最優(yōu)超參數(shù)為初始學(xué)習(xí)率為0.001,權(quán)重衰減系數(shù)為0.000 5,訓(xùn)練策略采用動量項(xiàng)為0.9的動量梯度下降算法,迭代次數(shù)設(shè)置為50 000。隨后使用訓(xùn)練得到的網(wǎng)絡(luò)模型分別測試果園圖像,比較檢測精度。
2)視頻跟蹤:使用卡爾曼濾波算法結(jié)合未改進(jìn)和改進(jìn)的匈牙利匹配算法對果園視頻分別進(jìn)行跟蹤,對比效果,測試果實(shí)跟蹤精度。測試平臺為配備有Intel Core i7-8565U(1.80 GHz)CPU,8 GB RAM和NVIDIA GeForce MX250 2 GB GPU的筆記本電腦。軟件工具包括CUDA 10.0,cuDNN 7.6.5,Microsoft Visual Studio 2017,Python 3.8和OpenCV 4.4.0。
3)果實(shí)計(jì)數(shù):首先由3名研究人員分別對獲取的10個(gè)果園視頻進(jìn)行計(jì)數(shù),通過對3名研究人員所得計(jì)數(shù)結(jié)果進(jìn)行均值處理,得到視頻中果實(shí)的實(shí)際數(shù)目。計(jì)數(shù)時(shí),研究人員將視頻逐幀播放,首先記錄第一幀中果實(shí)數(shù)目,然后在后續(xù)幀中記錄新出現(xiàn)的果實(shí)數(shù)目,直至視頻結(jié)束,得到視頻中總的果實(shí)數(shù)目,實(shí)現(xiàn)視頻中果實(shí)的計(jì)數(shù)。隨后基于算法分別獲取視頻中的果實(shí)數(shù)目,并將結(jié)果與人工計(jì)數(shù)結(jié)果進(jìn)行比較,測試果實(shí)計(jì)數(shù)精度。
1.5.1 果實(shí)檢測試驗(yàn)
本文使用準(zhǔn)確率(Precision,)、召回率(Recall,)、準(zhǔn)確率和召回率的調(diào)和平均數(shù)(1 score,1)、平均檢測精度值(Average Detection Precision,ADP)和檢測一張圖像所用時(shí)間(Detection time)來評價(jià)訓(xùn)練得到的網(wǎng)絡(luò)模型性能,計(jì)算公式如下所示。此外,使用視頻平均檢測準(zhǔn)確度(Video Detection Accuracy,VDA)表示模型正確檢測到的目標(biāo)占所有目標(biāo)的比值,數(shù)值越高表示模型性能越好。
式中TP(True Positive)為正確檢測出來的目標(biāo)果實(shí);FP(False Positive)為誤檢出來的目標(biāo)果實(shí);FN(False Negative)為漏檢的目標(biāo)果實(shí)。
1.5.2 果實(shí)跟蹤試驗(yàn)
本文使用果實(shí)ID切換率(ID Switch Rate,IDSR)、多目標(biāo)跟蹤準(zhǔn)確度(Multiple Object Tracking Accuracy,MOTA)和多目標(biāo)跟蹤精度(Multiple Object Tracking Precision,MOTP)來評價(jià)跟蹤算法性能。果實(shí)ID切換率指視頻中ID發(fā)生變換的果實(shí)占所有計(jì)數(shù)果實(shí)的比值,值越小越好。多目標(biāo)跟蹤準(zhǔn)確度表示跟蹤算法在保持跟蹤軌跡時(shí)的性能,值越大越好,如公式(14)所示。多目標(biāo)跟蹤精度指所有跟蹤目標(biāo)匹配成功率,精度越高表示算法性能越好,如公式(15)所示。
MOTA=/(14)
MOTP=/(15)
式中表示視頻中跟蹤到的果實(shí)總數(shù)目,即算法計(jì)數(shù)數(shù)目;表示視頻中跟蹤匹配正確的果實(shí)個(gè)數(shù);表示視頻中跟蹤匹配的果實(shí)總數(shù)目,即檢測數(shù)目。
1.5.3 果實(shí)計(jì)數(shù)試驗(yàn)
本文使用ACP值(Average Counting Precision)來評價(jià)算法的計(jì)數(shù)精度,計(jì)算公式如式(16)所示。
式中表示人工計(jì)數(shù)數(shù)目;v是視頻個(gè)數(shù)。
分別使用訓(xùn)練得到的YOLOv3-tiny和YOLOv4-tiny網(wǎng)絡(luò)在相同的測試數(shù)據(jù)集下對比試驗(yàn)。測試集中共包含 1 600張圖像,78 776個(gè)標(biāo)注樣本。YOLOv4-tiny和YOLOv3-tiny網(wǎng)絡(luò)分別檢測到73 266和71 501個(gè)TP樣本,11 346和12 291個(gè)FP樣本,5 510和7 275個(gè)FN樣本?;谑剑?0)~(13)計(jì)算得到相應(yīng)指標(biāo)如表1所示,YOLOv4-tiny比YOLOv3-tiny網(wǎng)絡(luò)檢測精度高1.76個(gè)百分點(diǎn),且檢測用時(shí)少0.009 s/幀,證明研究所選用YOLOv4-tiny網(wǎng)絡(luò)的優(yōu)越性。此外,該網(wǎng)絡(luò)94.47%的ADP可為卡爾曼濾波器提供可靠的果實(shí)檢測位置信息,為果實(shí)計(jì)數(shù)的實(shí)現(xiàn)奠定基礎(chǔ)。
表1 不同網(wǎng)絡(luò)的檢測結(jié)果對比
YOLOv4-tiny網(wǎng)絡(luò)的檢測效果如圖4所示,部分果實(shí)被漏檢或錯(cuò)誤檢測。錯(cuò)誤檢測主要是檢測出了一些不需要被計(jì)數(shù)的果實(shí)樣本,主要包括掉落在地的果實(shí)(圖4b)、綁在樹上的果實(shí)(圖4c)、后排果樹上的果實(shí)(圖4d)和圖像邊界處遮擋較為嚴(yán)重的果實(shí)(圖4e)。錯(cuò)誤檢測將會導(dǎo)致算法對一些非目標(biāo)果實(shí)進(jìn)行計(jì)數(shù),從而增大果實(shí)計(jì)數(shù)數(shù)目。為降低錯(cuò)誤檢測帶來的計(jì)數(shù)誤差,算法在檢測視頻中的果實(shí)時(shí),將會提高置信度閾值,以避免對檢測精度較低的果實(shí)執(zhí)行跟蹤匹配過程。漏檢果實(shí)多為被果實(shí)或樹葉遮擋嚴(yán)重的果實(shí),這是因?yàn)殡y以人工識別或推測出果實(shí)輪廓的蘋果目標(biāo)默認(rèn)不做標(biāo)記。漏檢會導(dǎo)致果實(shí)的計(jì)數(shù)數(shù)目小于實(shí)際數(shù)目。但在本文中,研究對象為視頻中的果實(shí),它會因?yàn)檫B續(xù)出現(xiàn)在多個(gè)視頻幀中而增加被檢測到的概率。因此,視頻中極少出現(xiàn)漏檢果實(shí)。
使用訓(xùn)練得到的YOLOv4-tiny模型對同一果園的10段果園視頻分別進(jìn)行檢測,過程中提高置信度閾值為0.8,其VDA達(dá)到96.15%,證明訓(xùn)練出的模型具備高精度檢測果園視頻的能力。視頻中很少出現(xiàn)果實(shí)漏檢的情況,因?yàn)槎鄶?shù)果實(shí)都因連續(xù)出現(xiàn)在視頻幀中而被成功檢測。但是依然存在少量非目標(biāo)果實(shí)被錯(cuò)誤檢測。未來研究將通過比較果實(shí)的檢測框特征進(jìn)一步去除非目標(biāo)果實(shí)的錯(cuò)誤檢測,例如通過設(shè)置檢測框長寬比閾值去除邊界處非目標(biāo)檢測框、設(shè)置檢測框面積閾值去除果樹后排的非目標(biāo)檢測框等措施來改善果實(shí)計(jì)數(shù)效果。
b. 掉落在地的蘋果b. Apples on the groundc. 綁在樹上的蘋果c. Apples tied to tree a. 果園圖像檢測示例a. Detection example of orchard imaged. 后排果樹上的蘋果d. Apples on the back row of treese. 圖像邊界處的蘋果e. Apples at the boundary of image
圖4 基于YOLOv4-tiny的蘋果檢測圖
Fig.4 Image detection of apples based on YOLOv4-tiny
基于開發(fā)的算法對果園視頻進(jìn)行跟蹤試驗(yàn)并獲得了良好的跟蹤效果。圖5是基于本文算法對果園視頻序列跟蹤結(jié)果的示例,圖5a中1號以及3號果實(shí)在視頻連續(xù)50幀中都一直被檢測并跟蹤,36號果實(shí)一直處于遮擋狀態(tài)下直到該果實(shí)的置信度低于0.8不再執(zhí)行跟蹤匹配過程,可以看出,本文的算法可以有效跟蹤果實(shí)。圖5a中42號果實(shí)因?yàn)楸徽趽鯇?dǎo)致該果實(shí)間斷性的被檢測,但是該果實(shí)的匹配過程并未出現(xiàn)差錯(cuò)。圖5b中99號果實(shí)在運(yùn)動過程中接連被兩片樹葉遮擋導(dǎo)致在視頻的61幀到100幀之間出現(xiàn)間斷性檢測情況,第3片樹葉的出現(xiàn)更是導(dǎo)致該果實(shí)在連續(xù)20多幀中都未能成功檢測,但是該果實(shí)的匹配過程也并未出現(xiàn)差錯(cuò)。因此可以看出,盡管在視頻運(yùn)動過程中存在果實(shí)被間斷性檢測甚至長時(shí)間檢測不到,但是算法依然可以跟蹤到該目標(biāo),并保持原有ID不變。
圖5 不同檢測情況下果實(shí)跟蹤結(jié)果示例
分別使用改進(jìn)前與改進(jìn)后計(jì)數(shù)算法對10個(gè)果園視頻(220~524幀)進(jìn)行跟蹤計(jì)數(shù),所得跟蹤指標(biāo)如表2所示。改進(jìn)后算法的MOTA為69.14%,較改進(jìn)前算法提高了26.86個(gè)百分點(diǎn),MOTP提高了20.78個(gè)百分點(diǎn),跟蹤可信度得到大幅提高。果園環(huán)境的復(fù)雜以及視頻拍攝的精度導(dǎo)致果實(shí)ID極易發(fā)生跳變,甚至存在部分果實(shí)的ID會多次發(fā)生跳變,這也是產(chǎn)生跟蹤誤差的主要原因。匹配算法的改進(jìn)使得視頻IDSR由25.91%降低到了11.92%,在一定程度上降低了果實(shí)跟蹤誤差。
表2 算法改進(jìn)前后跟蹤結(jié)果的比較
由3名研究人員對采集到的原始視頻進(jìn)行計(jì)數(shù)獲得果實(shí)數(shù)量真實(shí)值。研究人員秉持客觀原則,對視頻中所有可見果實(shí)進(jìn)行計(jì)數(shù)。對3名研究人員所得計(jì)數(shù)結(jié)果進(jìn)行均值處理得到相應(yīng)視頻中果實(shí)的實(shí)際數(shù)目。
視頻中人工計(jì)數(shù)數(shù)值與算法計(jì)數(shù)數(shù)值的擬合結(jié)果如圖6所示?;谒惴ǐ@取的果實(shí)數(shù)目與人工計(jì)數(shù)獲得的果實(shí)數(shù)目之間的RMSE為33.711。基于公式(16)計(jì)算10個(gè)果園視頻的計(jì)數(shù)精度均在80%左右,平均精度為81.94%。從擬合結(jié)果看,決定系數(shù)2值為0.986,表明本文算法對現(xiàn)代果園視頻中的果實(shí)計(jì)數(shù)值與真實(shí)值具有顯著的線性相關(guān)性。由圖6的數(shù)據(jù)可知,視頻計(jì)數(shù)精度不會隨著視頻中果實(shí)數(shù)量的增多而降低,表明研究提出的方法具有較好的穩(wěn)定性。
圖6 視頻中人工計(jì)數(shù)值與算法計(jì)數(shù)值的擬合結(jié)果
本文分別基于YOLOv4-tiny網(wǎng)絡(luò)、卡爾曼濾波器和改進(jìn)的匈牙利匹配算法對自然環(huán)境下的蘋果進(jìn)行檢測、跟蹤和匹配,提出了一種基于現(xiàn)代化蘋果園視頻的果實(shí)計(jì)數(shù)方法?;谒@取的果園圖像訓(xùn)練YOLOv4-tiny網(wǎng)絡(luò)模型,其平均檢測精度值(Average Detection Precision,ADP)和視頻平均檢測準(zhǔn)確度(Video Detection Accuracy,VDA)值分別達(dá)到94.47%和96.15%,檢測一張圖像僅用時(shí)0.018 s。通過該模型對視頻中的果實(shí)進(jìn)行逐幀檢測,得到果實(shí)的像素坐標(biāo)?;诳柭鼮V波器對果實(shí)位置進(jìn)行預(yù)測,并先后基于歐式距離和交并比(Intersection over Union,IoU)衡量預(yù)測果實(shí)和檢測果實(shí)之間的相似性,通過匈牙利算法匹配連續(xù)視頻幀中的相同果實(shí),多目標(biāo)跟蹤準(zhǔn)確度(Multiple Object Tracking Accuracy,MOTA)和多目標(biāo)跟蹤精度(Multiple Object Tracking Precision,MOTP)分別為69.14%和75.60%。最后,基于視頻中果實(shí)出現(xiàn)順序賦予果實(shí)數(shù)字ID實(shí)現(xiàn)果實(shí)的計(jì)數(shù),且ACP值(Average Counting Precision)達(dá)到81.94%,在獲得的10個(gè)果園視頻中基于算法得到的果實(shí)數(shù)目與人工計(jì)數(shù)得到的果實(shí)數(shù)目的決定系數(shù)為0.986,RMSE為33.711,表明了算法的有效性,研究結(jié)果可以為實(shí)際應(yīng)用過程中自動估計(jì)現(xiàn)代化蘋果園以及其他現(xiàn)代化果園的果實(shí)數(shù)目提供參考。
[1] Gao F, Fu L, Zhang X, et al. Multi-class fruit-on-plant detection for apple in SNAP system using Faster R- CNN[J]. Computers and Electronics in Agriculture, 2020, 176: 105634.
[2] Fu L, Majeed Y, Zhang X, et al. Faster R-CNN-based apple detection in dense-foliage fruiting-wall trees using RGB and depth features for robotic harvesting[J]. Biosystems Engineering, 2020, 197: 245-256.
[3] Rahnemoonfar M, Sheppard C. Deep count: Fruit counting based on deep simulated learning[J]. Sensors, 2017, 17(4): 0905.
[4] Liu X, Chen S W, Liu C, et al. Monocular camera based fruit counting and mapping with semantic data association[J]. IEEE Robotics and Automation Letters, 2019, 4(3): 2296-2303.
[5] Dorj U O, Lee M, Yun S. An yield estimation in citrus orchards via fruit detection and counting using image processing[J]. Computers and Electronics in Agriculture, 2017, 140: 103-112.
[6] Mekhalfi M L, Nicolò C, Ianniello I, et al. Vision system for automatic on-tree kiwifruit counting and yield estimation[J]. Sensors, 2015, 20(15): 4214.
[7] Bargoti S, Underwood J P. Image segmentation for fruit detection and yield estimation in apple orchards[J]. Journal of Field Robotics, 2017, 34(6): 1039-1060.
[8] Koirala A, Walsh K B, Wang Z, et al. Deep learning for real-time fruit detection and orchard fruit load estimation: benchmarking of ‘MangoYOLO’[J]. Precision Agriculture, 2019, 20(6): 1107-1135.
[9] Lv J, Ni H, Wang Q, et al. A segmentation method of red apple image[J]. Scientia Horticulturae, 2019, 256: 108615.
[10] 傅隆生,孫世鵬,Manuel V,等.基于果萼圖像的獼猴桃果實(shí)夜間識別方法[J].農(nóng)業(yè)工程學(xué)報(bào),2017,33(2):199-204.
Fu Longsheng, Sun Shipeng, Manuel V, et al. Kiwifruit recognition method at night based on fruit calyx image[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(2): 199-204. (in Chinese with English abstract)
[11] 馬翠花,張學(xué)平,李育濤,等.基于顯著性檢測與改進(jìn) Hough 變換方法識別未成熟番茄[J].農(nóng)業(yè)工程學(xué)報(bào),2016,32(14):219-226.
Ma Cuihua, Zhang Xueping, Li Yutao, et al. Identification of immature tomatoes base on salient region 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)
[12] Liu X, Zhao D, Jia W, et al. A detection method for apple fruits based on color and shape features[J]. IEEE Access, 2019, 7: 67923-67933.
[13] 薛月菊,黃寧,涂淑琴,等.未成熟芒果德改進(jìn)YOLOv2識別方法[J].農(nóng)業(yè)工程學(xué)報(bào),2018,34(7):173-179.
Xue Yueju, Huang Ning, Xu 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)
[14] Mazzia V, Khaliq A, Salvetti F, et al. Real-time apple detection system using embedded systems with hardware accelerators: An edge AI application[J]. IEEE Access, 2020, 8: 9102-9114.
[15] 劉芳,劉玉坤,林森,等.基于改進(jìn)型YOLO的復(fù)雜環(huán)境下番茄果實(shí)快速識別方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(6):229-237.
Liu Fang, Liu Yukun, Lin Sen, et al. Fast recognition method for tomatoes under complex environments based on improved YOLO[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(6): 229-237. (in Chinese with English abstract)
[16] 劉天真,滕桂法,苑迎春,等.基于改進(jìn) YOLOv3 的自然場景下冬棗果實(shí)識別研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(5):17-25.
Liu Tianzhen, Teng Guifa, Yuan Yingchun, et al. Winter jujube fruit recognition based on improved YOLOv3 under natural scene[J]. 2021, 52(5):17-25. (in Chinese with English abstract)
[17] 呂石磊,盧思華,李震,等.基于改進(jìn) YOLOv3-LITE 輕量級神經(jīng)網(wǎng)絡(luò)的柑橘識別方法[J].農(nóng)業(yè)工程學(xué)報(bào),2019,35(17):205-214.
Lv Shilei, Lu Sihua, Li Zhen, et al. Orange recognition method using improved YOLOv3-LITE lightweight neural network[J]. Transactions of the Chinese Society of Agricultural Engineering(Transactions of the CSAE), 2019, 35(17): 205-214. (in Chinese with English abstract)
[18] Kuznetsova A, Maleva T, Soloviev V. Using YOLOv3 algorithm with pre- And post-processing for apple detection in fruit-harvesting robot[J]. Agronomy, 2020, 10(7): 1016.
[19] Luke?i? A, Vojí? T, ?ehovin Z L, et al. Discriminative correlation filter tracker with channel and spatial reliability[J]. International Journal of Computer Vision, 2018, 126(7): 671-688.
[20] Lee H, Cho A, Lee S, et al. Vision-based measurement of heart rate from ballistocardiographic head movements using unsupervised clustering[J]. Sensors, 2019, 19: 3263.
[21] Ngo T N, Wu K, Yang E, et al. A real-time imaging system for multiple honey bee tracking and activity monitoring[J]. Computers and Electronics in Agriculture, 2019, 163(1): 104841.
[22] Wawrzyniak N, Hyla T, Popik A. Vessel detection and tracking method based on video surveillance[J]. Sensors, 2019, 19(23): 5230.
[23] Wojke N, Bewley A, Paulus D. Simple online and realtime tracking with a deep association metric[C]. Taipei: International Conference on Image Processing, 2018: 3645-3649.
[24] Wang Z, Walsh K, Koirala A. Mango fruit load estimation using a video based MangoYOLO — Kalman filter — hungarian algorithm method[J]. Sensors, 2019, 19(12): 2742.
[25] 劉軍,后士浩,張凱,等.基于增強(qiáng) Tiny YOLOV3 算法的車輛實(shí)時(shí)檢測與跟蹤[J].農(nóng)業(yè)工程學(xué)報(bào),2019,35(8):118-125.
Liu Jun, Hou Shihao, Zhang kai, et al. Real-time vehicle detection and tracking based on enhanced Tiny YOLOV3 algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(8): 118-125. (in Chinese with English abstract)
[26] Song Z, Zhou Z, Wang W, et al. Canopy segmentation and wire reconstruction for kiwifruit robotic harvesting[J]. Computers and Electronics in Agriculture, 2021, 181: 105933.
[27] 傅隆生,馮亞利,Elkamil Tola, 等.基于卷積神經(jīng)網(wǎng)絡(luò)的田間多簇獼猴桃圖像識別方法[J].農(nóng)業(yè)工程學(xué)報(bào),2018,34(2):205-211.
Fu Longsheng, Feng Yali, Elkamil Tola, et al. Image recognition method of multi-cluster kiwifruit in field based on convolutional neural networks[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(2): 205-211. (in Chinese with English abstract)
[28] Han B, Lee J, Lim K, et al. Design of a scalable and fast yolo for edge-computing devices[J]. Sensors, 2020, 20(23): 6779.
[29] Fu L, Feng Y, Wu J, et al. Fast and accurate detection of kiwifruit in orchard using improved YOLOv3?tiny model[J]. Precision Agriculture, 2021, 22(3): 754-776.
[30] 喬虹,馮全,張芮,等.基于時(shí)序圖像跟蹤的葡萄葉片病害動態(tài)監(jiān)測[J].農(nóng)業(yè)工程學(xué)報(bào),2018,34(17):167-175.
Qiao Hong, Feng Quan, Zhang Rui, et al. Dynamic monitoring of grape leaf disease based on sequential images tracking[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(17): 167-175. (in Chinese with English abstract)
Apple detection and counting using real-time video based on deep learning and object tracking
Gao Fangfang1, Wu Zhenchao1, Suo Rui1, Zhou Zhongxian1, Li Rui2, Fu Longsheng1,3,4※, Zhang Zhao5
(1712100;2.718000;3.712100;4.712100;5.58102)
Yield estimation for apples is a key for predicting stock volumes, allocating needed labor, and planning harvesting operations. Manual visual yield estimation for a small number of trees to predict the number of fruits in an orchard has traditionally been employed, resulting in inaccurate and misleading information. Therefore, an automated solution for orchard yield measurement is urgently needed. Detection and counting of fruits infield based on machine vision coupled with advanced machine learning algorithms is a key to realizing orchard yield measurement automatically, which can provide baseline information for better production management. Therefore, this study aims to develop an automated video processing method to realize the automated detection and counting of apple fruits in an orchard environment with a modern vertical fruiting-wall architecture. This study proposed a fruit counting method based on a lightweight YOLOv4-tiny network and Kalman filter algorithm toward this end. ‘Fuji’ variety was selected, which is widely planted in modern planting patterns. 800 images and 10 videos of apple trees were acquired using a remote-controlled car equipped with a Realsense D435 camera. Firstly, fruits in the orchard video were detected using the trained YOLOv4-tiny model. Secondly, all detected apples would be predicted based on the Kalman filter algorithm. Subsequently, all predicted and detected apples in the subsequent frame would be optimally matched based on the Hungarian algorithm of the Euclidean distance and Intersection over Union (IoU). Successfully matched fruits would be added to the tracked track, based on which the corresponding Kalman filter was updated. The trajectory that failed to match would be temporarily saved until the match failed for 30 consecutive frames, while the detection target that failed to match was regarded as a new fruit. Finally, the fruit digital ID would be assigned based on the appearance sequence of the fruit in the video frame to realize the fruit count. In order to prove the superior performance of the deep learning network trained in this study, YOLOv3-tiny was chosen to use the same test dataset for comparison with YOLOv4-tiny. The test results showed that the Average Detection Precision (ADP) based on YOLOv4-tiny reached 94.47%, which was 1.76 percentage points higher than that of YOLOv3-tiny. Besides, YOLOv4-tiny only took 0.018 s on average to detect fruits in one image with the resolution of 720×1 080 pixels, which was 0.009 s faster than YOLOv3-tiny. It could be seen that YOLOv4-tiny could achieve high-precision detection of fruits at a faster speed, which provided a good foundation for fruit counting. The Multiple Object Tracking Accuracy (MOTA) and the Multiple Object Tracking Precision (MOTP) based on Kalman and improvement Hungarian algorithms were 69.14% and 75.60%, which were 26.86 percentage points and 20.78 percentage points higher than the indicators based on Kalman and the unimproved Hungarian algorithm, respectively, indicating the reliability of the tracking algorithm. Furthermore, an average precision of 81.94% and a determination coefficient of 0.986 with counting performed by manual observation were reached in 10 orchard videos. The method developed in this study can effectively feedback the detection and counting results of apples in the orchard for growers, provide technical reference for the production measurement research of modern apple orchards, and provide scientific decision-making basis for intelligent management of orchards.
video counting; YOLOv4-tiny; Kalman filter; Hungarian algorithm; fruit matching
10.11975/j.issn.1002-6819.2021.21.025
TP391.41
A
1002-6819(2021)-21-0217-08
高芳芳,武振超,索睿,等. 基于深度學(xué)習(xí)與目標(biāo)跟蹤的蘋果檢測與視頻計(jì)數(shù)方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(21):217-224.doi:10.11975/j.issn.1002-6819.2021.21.025 http://www.tcsae.org
Gao Fangfang, Wu Zhenchao, Suo Rui, et al. Apple detection and counting using real-time video based on deep learning and object tracking[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(21): 217-224. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.21.025 http://www.tcsae.org
2021-07-14
2021-10-10
國家自然科學(xué)基金(32171897);陜西省創(chuàng)新人才推進(jìn)計(jì)劃-青年科技新星項(xiàng)目(2021KJXX-94);中國博士后科學(xué)基金資助項(xiàng)目(2019M663832);中國科學(xué)技術(shù)部國家外國專家局高端外國專家引進(jìn)計(jì)劃(G20200027075)
高芳芳,研究方向?yàn)楣麑?shí)測產(chǎn)方法與技術(shù)。Email: gaofangfang@nwafu.edu.cn
傅隆生,博士,副教授,博士生導(dǎo)師,研究方向?yàn)橹腔坜r(nóng)業(yè)技術(shù)與裝備。Email:fulsh@nwafu.edu.cn
中國農(nóng)業(yè)工程學(xué)會會員:傅隆生(E042600025M)