唐熔釵,伍錫如*
(1. 桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,廣西 桂林 541004;2. 廣西高校非線性電路與光通信重點(diǎn)實(shí)驗(yàn)室(廣西師范大學(xué)),廣西 桂林 541004)
隨著智慧農(nóng)業(yè)[1]的發(fā)展,利用計(jì)算機(jī)視覺(jué)技術(shù)對(duì)農(nóng)作物實(shí)時(shí)檢測(cè)成為了更好培養(yǎng)和管理農(nóng)作物的重要手段。近幾年,目標(biāo)檢測(cè)方法[2-5]在農(nóng)業(yè)水果采摘和分類領(lǐng)域中被廣泛應(yīng)用。百香果在我國(guó)熱帶和亞熱帶地區(qū)廣泛種植,具有很高的市場(chǎng)經(jīng)濟(jì)效益。在百香果種植過(guò)程中,要想實(shí)現(xiàn)果實(shí)生長(zhǎng)信息監(jiān)測(cè)、產(chǎn)量預(yù)估以及機(jī)器人自動(dòng)采摘果實(shí),首先需要對(duì)百香果進(jìn)行準(zhǔn)確的識(shí)別和定位。然而,果實(shí)重疊、枝葉遮擋、光照變化等各種干擾是現(xiàn)實(shí)果園中無(wú)法避免的因素。因此,在復(fù)雜環(huán)境中精準(zhǔn)檢測(cè)百香果果實(shí)仍是一個(gè)需要解決的難題。
傳統(tǒng)的水果檢測(cè)方法多基于圖片的顏色和紋理來(lái)對(duì)目標(biāo)進(jìn)行分類檢測(cè)。陳雪鑫等[6]通過(guò)多顏色特征和紋理特征進(jìn)行融合方法對(duì)多種水果進(jìn)行分類和識(shí)別,雖然在精度上有所提高,但是在復(fù)雜背景下對(duì)水果分類和識(shí)別不理想。深度學(xué)習(xí)[7]作為機(jī)器學(xué)習(xí)的一個(gè)分支,近幾年在目標(biāo)檢測(cè)、目標(biāo)分割、目標(biāo)分類和目標(biāo)識(shí)別研究上起著重大的作用[8-11]。在非自然場(chǎng)景下水果識(shí)別領(lǐng)域中,朱玲[12]通過(guò)K-means方法對(duì)水果不同等級(jí)進(jìn)行識(shí)別。此外,在非自然場(chǎng)景下水果分類領(lǐng)域,Zhang等[13]使用13層CNN對(duì)水果進(jìn)行分類,該方法的分類精度達(dá)到94.94%,是目前水果分類研究中最先進(jìn)的分類網(wǎng)絡(luò)之一。以上在非自然場(chǎng)景下對(duì)水果的識(shí)別和分類研究中,盡管在識(shí)別和分類精度上取得了不錯(cuò)的效果,但是對(duì)復(fù)雜背景的抗干擾能力卻不理想。基于Mask-RCNN網(wǎng)絡(luò)對(duì)真實(shí)場(chǎng)景下的草莓檢測(cè),Yu等[14]以Resnet-50作為骨干網(wǎng)絡(luò)并和特征金字塔相結(jié)合進(jìn)行草莓的特征提取,在識(shí)別精度上取得不錯(cuò)效果,但實(shí)時(shí)檢測(cè)性能還需進(jìn)一步提高。兩級(jí)目標(biāo)檢測(cè)網(wǎng)絡(luò)Faster-RCNN[15]是目前流行的檢測(cè)網(wǎng)絡(luò)之一。水果檢測(cè)系統(tǒng)[16]使用Faster-RCNN網(wǎng)絡(luò)能精準(zhǔn)識(shí)別不同水果類型和準(zhǔn)確定位水果位置,但同樣缺乏實(shí)時(shí)性檢測(cè)。隨著對(duì)神經(jīng)網(wǎng)絡(luò)檢測(cè)實(shí)時(shí)性能的要求,研究人員提出了YOLO[17]、YOLO9000[18]、YOLO-V3[19]等實(shí)時(shí)目標(biāo)檢測(cè)網(wǎng)絡(luò)。YOLO系列網(wǎng)絡(luò)是單級(jí)目標(biāo)檢測(cè)網(wǎng)絡(luò),直接通過(guò)網(wǎng)絡(luò)以端對(duì)端的方式預(yù)測(cè)目標(biāo)的位置和類別。針對(duì)自然環(huán)境下水果的檢測(cè),研究者們利用YOLO系列網(wǎng)絡(luò)來(lái)對(duì)目標(biāo)進(jìn)行快速檢測(cè)。如:薛月菊等[20]提出在YOLO-V2網(wǎng)絡(luò)中添加密集連接網(wǎng)絡(luò)對(duì)真實(shí)果園中未成熟的芒果進(jìn)行檢測(cè);Tian等[21]對(duì)YOLO-V3網(wǎng)絡(luò)進(jìn)行改進(jìn),在真實(shí)果園中分級(jí)檢測(cè)蘋(píng)果。
當(dāng)前,在背景復(fù)雜、果實(shí)重疊、枝葉遮蔽等真實(shí)環(huán)境下對(duì)果實(shí)精準(zhǔn)檢測(cè)仍是一個(gè)亟需解決的難點(diǎn)。為此,本文將以YOLO-V3為基礎(chǔ)網(wǎng)絡(luò),在特征傳播層添加DenseNet網(wǎng)絡(luò)來(lái)增強(qiáng)特征傳播,針對(duì)百香果為小型目標(biāo)的特點(diǎn),減少多尺度特征融合,從而加快網(wǎng)絡(luò)的檢測(cè)速度。
YOLO-V3網(wǎng)絡(luò)將目標(biāo)檢測(cè)任務(wù)轉(zhuǎn)化為回歸問(wèn)題處理,有利于提高物體的檢測(cè)速度。YOLO-V3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。特征提取模塊由Darknet-53網(wǎng)絡(luò)和多尺度融合2部分構(gòu)成,不同大小的卷積層構(gòu)成Darknet-53網(wǎng)絡(luò)。輸入圖片通過(guò)卷積層得到13×13、26×26、52×52等 3個(gè)不同大小的尺度特征圖。為了更好地學(xué)習(xí)圖片中的特征,52×52的特征圖通過(guò)上采樣與26×26的特征圖進(jìn)行融合。同理26×26的特征圖通過(guò)上采樣與尺度13×13的特征圖進(jìn)行融合。通過(guò)多尺度融合將深層特征和淺層特征連接進(jìn)行特征的提取有利于提高網(wǎng)絡(luò)的檢測(cè)精度。3種不同尺度的預(yù)測(cè)同時(shí)構(gòu)成YOLO-V3網(wǎng)絡(luò)的輸出結(jié)果檢測(cè),其中尺度1、2、3分別負(fù)責(zé)小、中、大物體的預(yù)測(cè)。
圖1 YOLO-V3網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Network structure of YOLO-V3
在卷積網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)層次的加深,圖像特征的傳遞會(huì)逐漸削弱。針對(duì)在模型訓(xùn)練過(guò)程網(wǎng)絡(luò)層數(shù)不斷增加出現(xiàn)的特征提取和特征傳遞削弱問(wèn)題,引入DenseNet網(wǎng)絡(luò)將特征進(jìn)行重用,防止出現(xiàn)特征消失,從而提高網(wǎng)絡(luò)的性能。圖2為DenseNet網(wǎng)絡(luò)的基本結(jié)構(gòu),可知:H1的輸入是X0,H2的輸入是X0、X1,以此類推,Ht的輸入是X0,X1,…,Xt-1,即在該網(wǎng)絡(luò)中,每一層的輸入都來(lái)自前面所有層的輸出。
Xt=Ht([X0,X1,…,Xt-1]),
(1)
式中:[X0,X1,…,Xt-1]表示X0,X1,…,Xt-1層的特征映射拼接;Ht是用于特征拼接的函數(shù)?;贒enseNet網(wǎng)絡(luò)特有的密集網(wǎng)絡(luò)結(jié)構(gòu),本文使用DenseNet網(wǎng)絡(luò)強(qiáng)化淺層卷積層的特征傳播。
X0是輸入的圖片特征;X1、X2、X3、X4是密集塊;H1、H2、H3、H4是DenseNet網(wǎng)絡(luò)特有的函數(shù)塊。圖2 DenseNet網(wǎng)絡(luò)結(jié)構(gòu)Fig. 2 Network structure of DenseNet
真實(shí)果園中的百香果背景環(huán)境十分復(fù)雜,自然光線角度改變、天氣變化、果實(shí)重疊和枝葉遮蔽等都是影響百香果檢測(cè)的干擾因素。為了更好地降低背景干擾,本文利用改進(jìn)的YOLO-V3網(wǎng)絡(luò)在特征提取和尺度融合部分進(jìn)行相應(yīng)的優(yōu)化來(lái)對(duì)百香果目標(biāo)進(jìn)行檢測(cè)。改進(jìn)的YOLO-V3網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其以YOLO-V3網(wǎng)絡(luò)為基礎(chǔ),選用Darknet-53為骨干網(wǎng)絡(luò),結(jié)合DenseNet網(wǎng)絡(luò)來(lái)加強(qiáng)特征的傳播以及特征的重用。針對(duì)果園中百香果這種小物體的檢測(cè),本文對(duì)YOLO-V3多尺度融合做了修改,將3尺度檢測(cè)網(wǎng)絡(luò)減少為2尺度檢測(cè)網(wǎng)絡(luò)。在模型訓(xùn)練期間,隨著網(wǎng)絡(luò)層數(shù)的加深,圖片的特征傳播損失嚴(yán)重,在13×13的尺度1預(yù)測(cè)前加入DenseNet網(wǎng)絡(luò)結(jié)構(gòu),使后一特征層能接受前面所有特征層的特征進(jìn)而使得低分辨率的特征和高分辨的特征進(jìn)行融合。這樣不僅可以減少特征傳播的損失,而且還能加強(qiáng)特征的傳播。為保證更好的檢測(cè)效果,將原始高分辨率的照片統(tǒng)一轉(zhuǎn)換成分辨率為416×416的圖片。最后,改進(jìn)的YOLO-V3網(wǎng)絡(luò)結(jié)構(gòu)在13×13和26×26尺度的邊界框上進(jìn)行目標(biāo)預(yù)測(cè)。
圖3 改進(jìn)的YOLO-V3網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 Network structure of improved YOLO-V3
改進(jìn)的YOLO-V3的損失函數(shù)由坐標(biāo)預(yù)測(cè)誤差、置信度預(yù)測(cè)誤差以及分類預(yù)測(cè)誤差3部分構(gòu)成,
fLoss=E1+E2+E3,
(2)
式中:E1是坐標(biāo)預(yù)測(cè)誤差;E2是置信度預(yù)測(cè)誤差;E3是分類預(yù)測(cè)誤差。
坐標(biāo)預(yù)測(cè)誤差公式為
(3)
置信度預(yù)測(cè)誤差公式為
(4)
分類預(yù)測(cè)誤差公式為
(5)
本次實(shí)驗(yàn)在Intel Core i7 6700 處理器,主頻4 GHz,內(nèi)存32 GiB,顯卡為GeForce RTX 2080 Ti的PC機(jī)上進(jìn)行,利用Windows 10系統(tǒng)下的Pytorch框架對(duì)算法進(jìn)行加速訓(xùn)練。
訓(xùn)練模型的超參數(shù)設(shè)置如表1所示。表1中:Epoch是所選模型的訓(xùn)練次數(shù);Batch size是訓(xùn)練時(shí)一次性輸入網(wǎng)絡(luò)的圖片數(shù),本文根據(jù)電腦顯卡的顯存大小將Batch size設(shè)置為16;Lr_step是學(xué)習(xí)率每次衰減步數(shù),如Lr_step為40,表示學(xué)習(xí)率每隔40次訓(xùn)練周期就自動(dòng)減少;Momentum是動(dòng)量因子;Lr_factor是學(xué)習(xí)因子;NMS是非極大值抑制,用來(lái)篩選候選框。
表1 改進(jìn)YOLO-V3的網(wǎng)絡(luò)參數(shù)
本次實(shí)驗(yàn)總共實(shí)地采集到2 000張百香果照片,全部在桂林市龍爪村某農(nóng)戶的種植基地完成。采集圖像數(shù)據(jù)的時(shí)間為2019年6月15日早上、中午、傍晚3個(gè)時(shí)間段;采集圖像數(shù)據(jù)的天氣包括天晴、小雨、多云;拍照光線方向涵蓋順著太陽(yáng)光拍攝、逆著太陽(yáng)光拍攝以及旋轉(zhuǎn)一定角度順著太陽(yáng)光拍攝。2 000張拍攝的照片使用數(shù)據(jù)增強(qiáng)方法擴(kuò)增到4 000張,作為本文實(shí)驗(yàn)的數(shù)據(jù)集。
百香果數(shù)據(jù)集通過(guò)VOC2007制作。VOC2007包含很多數(shù)據(jù)格式文件,選取Annotations存放數(shù)據(jù)標(biāo)簽文件,JPEGImages存放圖片文件,ImageSets中Main存放文件名列表文件。4 000張百香果圖片統(tǒng)一調(diào)整圖片格式為jpg格式,3 500張圖片歸為訓(xùn)練集,500張圖片歸為測(cè)試集。通過(guò)labelImg-master對(duì)百香果數(shù)據(jù)集進(jìn)行手工邊界框標(biāo)注,用于訓(xùn)練的3 500張百香果圖片共標(biāo)注百香果26 588個(gè),用于測(cè)試的500張百香果圖片共標(biāo)注百香果3 895個(gè)。4 000張圖片共計(jì)標(biāo)注30 483個(gè)百香果,滿足實(shí)驗(yàn)數(shù)據(jù)要求。
數(shù)據(jù)集的豐富性直接影響檢測(cè)結(jié)果。針對(duì)數(shù)據(jù)集不充分的情況,需要對(duì)采集的實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行人工擴(kuò)充。本文采用對(duì)比度、虛化、平移等數(shù)據(jù)增強(qiáng)方法來(lái)使原有數(shù)據(jù)集擴(kuò)增至4 000張。為檢驗(yàn)數(shù)據(jù)擴(kuò)充對(duì)實(shí)驗(yàn)檢測(cè)效果的影響,隨機(jī)選取測(cè)試集中的20張圖片來(lái)進(jìn)行對(duì)比實(shí)驗(yàn),部分檢測(cè)結(jié)果如圖4所示。圖4(a)是沒(méi)有進(jìn)行數(shù)據(jù)擴(kuò)充的檢測(cè)結(jié)果,圖4(b)是通過(guò)對(duì)原有數(shù)據(jù)進(jìn)行數(shù)據(jù)擴(kuò)充的檢測(cè)結(jié)果。對(duì)比可知,圖4(a)中存在多處百香果漏檢情況,圖4(b)中百香果的檢測(cè)精度明顯高于圖4(a)且降低了漏檢率。因此,通過(guò)數(shù)據(jù)增強(qiáng)來(lái)擴(kuò)充數(shù)據(jù)能夠減少漏檢率并且提高檢測(cè)精度。
圖4 原始數(shù)據(jù)和數(shù)據(jù)擴(kuò)充檢測(cè)結(jié)果Fig. 4 Test results of original data and data processing
精度和訓(xùn)練損失是深度學(xué)習(xí)中評(píng)價(jià)網(wǎng)絡(luò)性能好壞的2個(gè)重要指標(biāo),精度高、損失小確保網(wǎng)絡(luò)模型性能優(yōu)良。圖5描繪了改進(jìn)的YOLO-V3網(wǎng)絡(luò)的訓(xùn)練精度和訓(xùn)練損失2個(gè)指標(biāo)隨迭代次數(shù)的變化值。當(dāng)訓(xùn)練次數(shù)Epoch的值較小時(shí),精度值從0開(kāi)始快速上升,訓(xùn)練損失值由1.3快速下降,標(biāo)志著網(wǎng)絡(luò)模型開(kāi)始對(duì)圖片特征進(jìn)行學(xué)習(xí)。隨著Epoch的值增大,精度曲線上升的速度逐漸變緩,訓(xùn)練損失曲線下降的速度也逐漸穩(wěn)定。當(dāng)訓(xùn)練次數(shù)Epoch在50附近時(shí),精度曲線開(kāi)始出現(xiàn)緩慢上升趨勢(shì),訓(xùn)練損失曲線保持快速下降的趨勢(shì)并且有一些小的波動(dòng);當(dāng)訓(xùn)練次數(shù)Epoch為150附近時(shí),訓(xùn)練損失曲線開(kāi)始趨向一個(gè)穩(wěn)定值;當(dāng)訓(xùn)練次數(shù)Epoch為250時(shí),精度曲線趨向?yàn)?.986的穩(wěn)定值,訓(xùn)練損失曲線趨向?yàn)?.08的穩(wěn)定值。由此可知改進(jìn)的YOLO-V3網(wǎng)絡(luò)檢測(cè)性能優(yōu)良。
圖5 實(shí)驗(yàn)損失和精度值Fig. 5 Loss and accuracy of experiment
Faster-RCNN是當(dāng)下流行的快速目標(biāo)檢測(cè)網(wǎng)絡(luò)。本文使用改進(jìn)的YOLO-V3網(wǎng)絡(luò)與YOLO-V3、Faster-RCNN網(wǎng)絡(luò)對(duì)隨機(jī)選取的500張圖片進(jìn)行對(duì)比實(shí)驗(yàn),以此來(lái)驗(yàn)證改進(jìn)的YOLO-V3網(wǎng)絡(luò)的檢測(cè)性能。Faster-RCNN和改進(jìn)的YOLO-V3的部分檢測(cè)效果如圖6所示。比較圖6(a)和圖6(b)可知,圖6(b)中存在漏檢,對(duì)背景的抗干擾不強(qiáng)。針對(duì)同一批數(shù)據(jù)使用不同網(wǎng)絡(luò)的測(cè)試結(jié)果如表2所示。由表2可知改進(jìn)的YOLO-V3網(wǎng)絡(luò)的檢測(cè)精度、F1分?jǐn)?shù)以及召回率最優(yōu)且檢測(cè)速度顯著優(yōu)于Faster-RCNN網(wǎng)絡(luò)。由于本文的改進(jìn)方法增加了特征提取網(wǎng)絡(luò),所以檢測(cè)速度低于YOLO-V3網(wǎng)絡(luò),但其平均檢測(cè)速度亦達(dá)到38幅/s,符合實(shí)時(shí)性檢測(cè)需求。為了進(jìn)一步測(cè)試改進(jìn)的YOLO-V3網(wǎng)絡(luò)的性能,分別對(duì)同一批圖片、不同分辨率大小的測(cè)試集進(jìn)行檢測(cè)。由表2可以看出,改進(jìn)的YOLO-V3網(wǎng)絡(luò)在高清、清晰圖片兩者間的檢測(cè)精度、F1分?jǐn)?shù)以及召回率大小波動(dòng)值較小,但在模糊圖片上的檢測(cè)精度、F1分?jǐn)?shù)以及召回率大小波動(dòng)值相對(duì)較大??傮w上檢測(cè)圖片的分辨率越大,網(wǎng)絡(luò)的檢測(cè)效果越好;檢測(cè)圖片的分辨率越小,網(wǎng)絡(luò)的檢測(cè)效果越差。
圖6 改進(jìn)的YOLO-V3與Faster-RCNN檢測(cè)結(jié)果對(duì)比Fig. 6 Comparison of detection results between the improved YOLO-V3 and Faster-RCNN
表2 不同算法測(cè)試結(jié)果
在真實(shí)果園中,自然環(huán)境十分復(fù)雜。枝葉遮蔽、果實(shí)重疊是普遍存在的干擾,也是最難解決的檢測(cè)難題。針對(duì)枝葉遮蔽、果實(shí)重疊等背景干擾,使用改進(jìn)的YOLO-V3網(wǎng)絡(luò)對(duì)測(cè)試集中隨機(jī)選取的50張百香果圖片進(jìn)行檢測(cè),部分檢測(cè)結(jié)果如圖7所示。圖7(a)和圖7(b)是在光線較暗、果實(shí)表層有光影以及果園其他雜物干擾情況下對(duì)重疊的百香果進(jìn)行目標(biāo)檢測(cè),由檢測(cè)結(jié)果可知,針對(duì)果實(shí)重疊和光線暗等干擾問(wèn)題,改進(jìn)的YOLO-V3網(wǎng)絡(luò)能夠精準(zhǔn)檢測(cè)到百香果目標(biāo)。圖7(c)是在枝葉遮蔽和果園其他雜物干擾情況下對(duì)重疊的百香果進(jìn)行目標(biāo)檢測(cè),由檢測(cè)結(jié)果可知,針對(duì)枝葉遮蔽干擾問(wèn)題,改進(jìn)的YOLO-V3網(wǎng)絡(luò)對(duì)目標(biāo)的檢測(cè)結(jié)果優(yōu)良。綜上所述,在枝葉遮蔽、果實(shí)重疊、自然環(huán)境變化和果園其他雜物等干擾情況下,改進(jìn)的YOLO-V3網(wǎng)絡(luò)滿足真實(shí)果園中百香果目標(biāo)檢測(cè)。
圖7 使用改進(jìn)的YOLO-V3在復(fù)雜環(huán)境下的檢測(cè)結(jié)果Fig. 7 Detection results of using improved YOLO-V3 in complex environment
本文以YOLO-V3網(wǎng)絡(luò)為基礎(chǔ),改變多尺度預(yù)測(cè)和增加特征提取網(wǎng)絡(luò),以此提出基于改進(jìn)YOLO-V3網(wǎng)絡(luò)的百香果實(shí)時(shí)檢測(cè)方法。首先對(duì)采集的數(shù)據(jù)集進(jìn)行預(yù)處理,得到優(yōu)質(zhì)的百香果數(shù)據(jù)集;然后對(duì)改進(jìn)的YOLO-V3網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到百香果檢測(cè)模型。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的YOLO-V3網(wǎng)絡(luò)在復(fù)雜環(huán)境下對(duì)百香果檢測(cè)速度快、精度高。本文提出的網(wǎng)絡(luò)模型對(duì)果實(shí)重疊和枝葉遮蔽的干擾具有更強(qiáng)的抑制性,優(yōu)于Faster-RCNN的檢測(cè)速度。未來(lái)工作將擴(kuò)增不同成熟度的百香果數(shù)據(jù)集,對(duì)百香果的成熟度進(jìn)行實(shí)時(shí)檢測(cè)。