熊正午,吳瑞梅,黃俊仕,李霸聰,戴仕明,艾施榮*
(1.江西農(nóng)業(yè)大學(xué) 軟件學(xué)院,江西 南昌 330045;2.江西農(nóng)業(yè)大學(xué) 工學(xué)院,江西 南昌 330045)
【研究意義】臍橙具有味道芳香濃甜、果肉營養(yǎng)豐富等特點(diǎn),深受消費(fèi)者喜愛。臍橙種植收益高,而目前臍橙采摘以人工為主,耗時(shí)長、時(shí)效差、采摘周期短,短期內(nèi)采摘強(qiáng)度大,采摘成本占到全部生產(chǎn)成本的30%~40%[1]。實(shí)現(xiàn)臍橙自動(dòng)化智能化采摘已成為亟需解決的問題。隨著智慧農(nóng)業(yè)科技的應(yīng)用,采摘機(jī)器人必將成為未來農(nóng)業(yè)機(jī)器人發(fā)展的重要方向。而要實(shí)現(xiàn)采摘機(jī)器人工作在自然環(huán)境下果實(shí)的成功采摘,必須能從復(fù)雜的自然環(huán)境中準(zhǔn)確地識(shí)別目標(biāo),計(jì)算其三維空間坐標(biāo),將果實(shí)進(jìn)行準(zhǔn)確定位,指導(dǎo)機(jī)器人末端執(zhí)行機(jī)構(gòu)精確完成目標(biāo)果實(shí)的采摘?!厩叭搜芯窟M(jìn)展】國內(nèi)外研究者采用機(jī)器視覺技術(shù)結(jié)合圖像處理技術(shù)實(shí)現(xiàn)非接觸式單個(gè)果實(shí)的快速識(shí)別進(jìn)行了大量研究[2-6]。在自然環(huán)境下果實(shí)生長環(huán)境和生長背景較為復(fù)雜,傳統(tǒng)圖像識(shí)別算法難以滿足識(shí)別精度要求,而深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)如強(qiáng)光、弱光、果實(shí)重疊和枝葉遮擋等自然環(huán)境下的目標(biāo)識(shí)別和檢測都具有較強(qiáng)的魯棒性和識(shí)別性能,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法已成為計(jì)算機(jī)視覺研究的主要方向[2]。彭紅星等[3]提出一種基于(single shot multibox detector,SSD)改進(jìn)的目標(biāo)檢測方法,使用ResNet-101 主干網(wǎng)絡(luò)替代原始SSD 模型中的VGG16 主干網(wǎng)絡(luò),該模型對(duì)荔枝、皇帝柑、蘋果和臍橙等4 種水果的平均識(shí)別精度達(dá)到88.4%。熊俊濤等[4]利用Faster R-CNN 網(wǎng)絡(luò)模型對(duì)自然環(huán)境下綠色柑橘果實(shí)進(jìn)行識(shí)別研究,其綜合識(shí)別率達(dá)到77.45%。Mao 等[5]提出一種基于多路徑卷積神經(jīng)網(wǎng)絡(luò)(MPCNN)的黃瓜果實(shí)識(shí)別新方法,結(jié)合顏色特征和支持向量機(jī)算法,識(shí)別率達(dá)90%以上。Tian 等[6]通過對(duì)YOLO v3 進(jìn)行改進(jìn),實(shí)現(xiàn)了對(duì)處于生長時(shí)期不同階段蘋果的有效識(shí)別,該模型對(duì)生長期的蘋果識(shí)別的F1 值達(dá)到78.3%、膨果期的F1 值達(dá)到79.1%、成熟期的F1 值達(dá)到80.9%。
【本研究切入點(diǎn)】面對(duì)自然環(huán)境下果實(shí)采摘的識(shí)別問題,自然環(huán)境下光照等噪聲信息會(huì)導(dǎo)致采集圖像模糊,影響結(jié)果分析。目前,有研究者采用導(dǎo)向?yàn)V波方法去除各類噪聲信息,該方法能有效平緩圖像噪聲,同時(shí)又能運(yùn)用于圖像去霧[7]和紅外圖像的增強(qiáng)和融合等[8-9]。考慮去除自然環(huán)境下光照等噪聲因素及所建立果實(shí)識(shí)別模型的識(shí)別速度和準(zhǔn)確率,快速導(dǎo)向?yàn)V波圖像去噪方法和帶有殘差模塊的YOLO v3目標(biāo)檢測方法能解決上述問題?!緮M解決的關(guān)鍵問題】為提高在自然環(huán)境下臍橙果實(shí)的識(shí)別準(zhǔn)確率,本文以贛南臍橙為研究對(duì)象,提出一種基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的非接觸的臍橙果實(shí)識(shí)別方法,改進(jìn)YOLO v3 目標(biāo)檢測算法,將多尺度融合的3 尺度檢測網(wǎng)絡(luò)減少為2 尺度檢測網(wǎng)絡(luò),設(shè)計(jì)自然環(huán)境下臍橙果實(shí)快速識(shí)別模型,模型融合快速導(dǎo)向?yàn)V波算法,使用GIoU 邊界損失函數(shù)替代原有損失函數(shù),通過DBSCAN+Kmeans聚類算法,對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行聚類分析,優(yōu)化2個(gè)預(yù)測分支的先驗(yàn)框尺寸。在臍橙真實(shí)種植環(huán)境下,利用自然環(huán)境下臍橙果實(shí)快速識(shí)別模型,可以從臍橙數(shù)據(jù)集圖像中去除光照等噪聲信息,突出臍橙圖像的顏色和紋理特征,同時(shí)獲取目標(biāo)類別與預(yù)測框位置,設(shè)計(jì)單果、向光、背光、果實(shí)重疊、枝葉遮擋5組不同環(huán)境下測試集的對(duì)比實(shí)驗(yàn),驗(yàn)證在復(fù)雜自然環(huán)境下模型的識(shí)別性能。
臍橙果實(shí)圖像采集于江西綠萌科技控股有限公司贛南臍橙基地(2019 年11 月、2020 年11 月),采集時(shí)間為08:00—17:00,圖像采集設(shè)備為Canon EOS 70D,圖像格式為JPG 格式,圖像分辨率為4 032×3 024 像素,臍橙的種植方式為籬壁式和寬行窄株式兩種,共采集自然環(huán)境下原始圖像2 400 幅,如圖1 所示。
圖1 自然環(huán)境下臍橙果實(shí)圖像樣本Fig.1 Sample image of navel orange fruit in natural environment
本研究臍橙圖像背景包括向光、背光、獨(dú)立與相鄰、遮擋等幾種情況(圖1 所示),其中獨(dú)立與相鄰是指單個(gè)臍橙果實(shí)和多個(gè)臍橙果實(shí)且沒有枝葉遮擋或枝葉遮擋小于1/4 的情況,遮擋表示單個(gè)臍橙果實(shí)和多個(gè)臍橙果實(shí)有枝葉遮擋超過1/4。從拍攝的2 400 幅臍橙果實(shí)圖像中篩選出清晰的、具有代表性的臍橙圖像1 500 幅。將經(jīng)過預(yù)處理后的臍橙圖像樣本存入orange 文件夾下,并統(tǒng)一批量重命名為000x.jpg 格式。使用圖像標(biāo)注軟件labelImg 進(jìn)行標(biāo)簽制作,按照POSCAL VOC2007 數(shù)據(jù)集格式劃分訓(xùn)練集和測試集。
快速導(dǎo)向?yàn)V波(fast guided filter)是一種基于局部線性模型的保邊濾波算法,該方法在導(dǎo)向?yàn)V波基礎(chǔ)上進(jìn)行改進(jìn),在導(dǎo)向圖像指導(dǎo)濾波過程利用線性可變原理,有效地減少噪聲,增強(qiáng)圖像信息細(xì)節(jié),準(zhǔn)確實(shí)現(xiàn)邊保持,減少光暈現(xiàn)象,同時(shí)減少算法的運(yùn)算時(shí)間[10-12]??焖賹?dǎo)向?yàn)V波去噪實(shí)現(xiàn)原理如下,其中,p為輸入圖像,q為輸出圖像,I為導(dǎo)向圖像,則濾波模型定義為:
式中,i,j為圖像的像素點(diǎn),Wij為導(dǎo)向圖像I和輸入圖像p的函數(shù)。
在以像素點(diǎn)k為中心、r為半徑的局部方形窗口ωk中,q和I之間存在線性關(guān)系,線性核函數(shù)可表示為:
式中,ak表示該線性函數(shù)的權(quán)重值,bk表示該線性函數(shù)的偏置值。
ak和bk在中心點(diǎn)k及半徑r都不變的局部窗口ωk中為定值,ak和bk值由最小二乘法最小化輸出圖像q與輸入圖像p之間的平方差求得,即:
式中,?表示正則化參數(shù),參數(shù)?能防止ak值過大,且保證輸入圖像p與輸出圖像q之間的差值減小,該參數(shù)值需經(jīng)大量試驗(yàn)并反復(fù)對(duì)比圖像質(zhì)量得到,ak和bk值由線性變換得到:
式中,μk為I窗口ωk的均值為I窗口ωk的方差,|ω|表示窗口ωk的像素總數(shù),pˉ表示p在窗口ωk的像素均值。
由于像素i存在多個(gè)窗口ωk,故取所有窗口的均值為系數(shù)ak和bk:
算法是在導(dǎo)向?yàn)V波的基礎(chǔ)上通過下采樣減少像素點(diǎn),在計(jì)算線性函數(shù)的權(quán)重值ak與線性函數(shù)的偏置值bk的均值后進(jìn)行上采樣恢復(fù)到原有尺寸大小。如縮放比例為S,則縮小后像素點(diǎn)的個(gè)數(shù)為N/S2,時(shí)間復(fù)雜度為O(N/S2)。
YOLO(You only look once)是深度學(xué)習(xí)中一種基于端到端的單階段目標(biāo)檢測與識(shí)別算法,其主要思想是將一個(gè)分類檢測問題轉(zhuǎn)換為一個(gè)數(shù)學(xué)回歸問題,實(shí)現(xiàn)目標(biāo)位置與分類識(shí)別的結(jié)合,具有實(shí)時(shí)性等突出特征。YOLO 對(duì)輸入圖像的全局區(qū)域進(jìn)行學(xué)習(xí),可加快訓(xùn)練速度,且能更好地區(qū)分目標(biāo)和背景。在主干網(wǎng)絡(luò)完成對(duì)臍橙果實(shí)的特征提取后,通過Bounding box 預(yù)測的方式,能夠同時(shí)完成目標(biāo)位置和目標(biāo)類別的預(yù)測任務(wù)。
1.4.1 YOLO 網(wǎng)絡(luò)模型 YOLO 有一系列網(wǎng)絡(luò)模型如YOLO v1、YOLO v2、YOLO v3,其中YOLO v1 存在目標(biāo)定位不準(zhǔn)確與網(wǎng)絡(luò)模型檢測精度低等缺陷,YOLO v2為進(jìn)一步提升網(wǎng)絡(luò)模型性能,通過修改網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)加入批量歸一化、錨點(diǎn)框和高分辨率分類器等方法進(jìn)行改進(jìn),提高識(shí)別速度,但對(duì)目標(biāo)重疊的情況識(shí)別率較差,YOLO v3改變網(wǎng)絡(luò)模型結(jié)構(gòu),引入多尺度融合訓(xùn)練、錨點(diǎn)框選擇機(jī)制和殘差模塊等操作,極大提升了網(wǎng)絡(luò)模型性能。本文選用YOLO v3 網(wǎng)絡(luò)模型,根據(jù)臍橙果實(shí)在自然環(huán)境下的生長特征,對(duì)YOLO v3網(wǎng)絡(luò)模型中的相關(guān)參數(shù)進(jìn)行調(diào)整和改進(jìn),實(shí)現(xiàn)自然環(huán)境下臍橙果實(shí)的識(shí)別,由于小目標(biāo)識(shí)別存在漏檢率高等缺陷,主干網(wǎng)絡(luò)相對(duì)于YOLO v2的Darknet-19網(wǎng)絡(luò),采用綜合性能更好的Darknet-53網(wǎng)絡(luò)來進(jìn)行特征提取,將多尺度融合的3尺度檢測網(wǎng)絡(luò)減少為2尺度檢測網(wǎng)絡(luò),該網(wǎng)絡(luò)增加了殘差模塊,運(yùn)用殘差網(wǎng)絡(luò),可保證網(wǎng)絡(luò)在結(jié)構(gòu)較深情況下,模型能夠繼續(xù)收斂且不斷被訓(xùn)練,獲得高維特征,從而提高預(yù)測準(zhǔn)確率[13]。
1.4.2 多尺度檢測模型改進(jìn) 為了更好地對(duì)臍橙目標(biāo)進(jìn)行檢測,本文在尺度融合部分對(duì)YOLO v3 網(wǎng)絡(luò)進(jìn)行改進(jìn),改進(jìn)的YOLO v3 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。圖中DBL 模塊是該網(wǎng)絡(luò)的基本組件,包括卷積、批量歸一化(batch normalization,BN)和激勵(lì)(leaky ReLU)操作;Res Block 表示殘差模塊,Res_unit 表示殘差單元,使用殘差結(jié)構(gòu),可以使網(wǎng)絡(luò)結(jié)構(gòu)更深,從而獲得高維特征。該網(wǎng)絡(luò)結(jié)構(gòu)中,每一個(gè)Res Block由n個(gè)Res_unit 構(gòu)成,且每個(gè)Res_unit 都需要一個(gè)add 層,故共含有23 個(gè)add 層。張量拼接(concat)功能主要是為了實(shí)現(xiàn)網(wǎng)絡(luò)多層特征的復(fù)用和融合,將卷積前后的特征圖進(jìn)行拼接;相比于其他網(wǎng)絡(luò),該網(wǎng)絡(luò)通過改變卷積核的步長來實(shí)現(xiàn)張量尺寸的變換,刪去所有的池化層和全連接層,進(jìn)而減少檢測時(shí)間。同時(shí)為了提高分類準(zhǔn)確度,將用于多標(biāo)簽多分類的邏輯回歸層替代原單標(biāo)簽的softmax 層。該網(wǎng)絡(luò)為針對(duì)果園中臍橙果實(shí)進(jìn)行檢測,將原始高分辨率的圖片統(tǒng)一轉(zhuǎn)化成512×512 的圖片,以YOLO v3 網(wǎng)絡(luò)為基礎(chǔ),采用Darknet-53 為特征提取網(wǎng)絡(luò),將多尺度融合的3 尺度檢測網(wǎng)絡(luò)減少為2 尺度檢測網(wǎng)絡(luò),最后在16×16 和32×32尺度的邊界框上進(jìn)行目標(biāo)檢測。
圖2 改進(jìn)的YOLO v3網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of improved YOLO v3
1.4.3 損失函數(shù)改進(jìn) 為了提高自然環(huán)境下臍橙果實(shí)快速識(shí)別模型的識(shí)別精度,通過優(yōu)化訓(xùn)練模型的損失函數(shù),使得目標(biāo)置信度、目標(biāo)位置和目標(biāo)類別三者的訓(xùn)練誤差達(dá)到平衡[14]。YOLO v3的損失函數(shù)為:
式中,δ(box)為預(yù)測邊界框box的誤差函數(shù);δ(conf)為預(yù)測置信度conf的誤差函數(shù);δ(c)為預(yù)測類別c的誤差函數(shù);kbox、kconf、kc為誤差權(quán)重系數(shù);L為損失函數(shù)。
對(duì)于目標(biāo)檢測的邊界框回歸指標(biāo),大多數(shù)網(wǎng)絡(luò)均采用L1 和L2 范數(shù)作為邊界框回歸損失函數(shù),其計(jì)算損失值實(shí)際是通過間接的相對(duì)距離計(jì)算,但沒有考慮在邊界框回歸中真實(shí)框和預(yù)測框之間的交并比IoU的作用,IoU定義如下:
式中,P是目標(biāo)的預(yù)測框;G是目標(biāo)的真實(shí)框;IoU是真實(shí)框和預(yù)測框之間的交并比。
IoU是比較預(yù)測框與真實(shí)框之間最常用的度量標(biāo)準(zhǔn),但I(xiàn)oU無法直接作為回歸距離,為了提高位置精度,本文使用GIoU距離作為邊界框的損失評(píng)價(jià)標(biāo)準(zhǔn)[15],GIoU距離計(jì)算具體如下:
(2)計(jì)算矩形框BP、Bg面積及交集I、并集U面積;
(6)輸出GIoU距離LGIoU=1 -GIoU。
將式(7)中δ(box)用GIoU距離進(jìn)行替代,使用改進(jìn)的損失函數(shù)進(jìn)行模型訓(xùn)練。
1.4.4 目標(biāo)先驗(yàn)框聚類算法 原始YOLO v3 中先驗(yàn)框尺寸是基于COCO 數(shù)據(jù)集和PASCAL VOC 數(shù)據(jù)集先驗(yàn)框大小設(shè)定的,相較于COCO 數(shù)據(jù)集和PASCAL VOC 數(shù)據(jù)集,本文訓(xùn)練所使用的臍橙數(shù)據(jù)集中樣本類型較少、尺度跨度較小,為了保證先驗(yàn)框與其相鄰的預(yù)測框之間能有更大的IoU,本文對(duì)聚類算法進(jìn)行優(yōu)化,在所構(gòu)建的臍橙數(shù)據(jù)集上,使用DBSCAN(density-based spatial clustering of applications with noise)聚類算法+Kmeans 聚類算法對(duì)訓(xùn)練數(shù)據(jù)集聚類分析。首先使用DBSCAN 聚類算法分析聚類個(gè)數(shù)和聚類包含的點(diǎn),可以解決聚類時(shí)噪音點(diǎn)或者孤立點(diǎn)對(duì)聚類結(jié)果的影響,同時(shí)可以為Kmeans 聚類算法提供準(zhǔn)確的K值;再通過Kmeans 聚類算法對(duì)DBSCAN 聚類結(jié)果分析確定聚類中心[16]。
本文使用優(yōu)化后的聚類算法對(duì)臍橙數(shù)據(jù)集進(jìn)行先驗(yàn)框聚類分析,經(jīng)DBSCAN 聚類算法分析確定K值為6,然后使用Kmeans 聚類算法進(jìn)行迭代后選取的先驗(yàn)框尺寸為(37×30)、(43×40)、(50×34)、(57×43)、(68×54)、(86×67),得到2個(gè)預(yù)測分支的先驗(yàn)框尺寸。表1展示了聚類算法改進(jìn)前后,不同先驗(yàn)框尺寸和檢測結(jié)果對(duì)比,改進(jìn)后的聚類算法得到的先驗(yàn)框尺寸對(duì)檢測結(jié)果具有較大的提升,識(shí)別速度比原網(wǎng)絡(luò)提高到27.42 fps,F(xiàn)1值達(dá)到了93.23%,提高了0.52個(gè)百分點(diǎn)。
表1 不同先驗(yàn)框檢測結(jié)果對(duì)比Tab.1 Comparison of detection results of different anchor box
1.4.5 臍橙果實(shí)識(shí)別模型架構(gòu)及評(píng)價(jià)指標(biāo) 本文構(gòu)建的自然環(huán)境下臍橙果實(shí)快速識(shí)別模型主要包含數(shù)據(jù)預(yù)處理和臍橙果實(shí)快速檢測網(wǎng)絡(luò)兩個(gè)模塊,數(shù)據(jù)預(yù)處理模塊是在采集數(shù)據(jù)樣本后進(jìn)行圖像處理,如減小光照影響,數(shù)據(jù)增強(qiáng)以及歸一化處理等,快速檢測網(wǎng)絡(luò)模塊是基于Darknet-53 為特征提取網(wǎng)絡(luò),快速提取訓(xùn)練集和驗(yàn)證集中在自然環(huán)境下臍橙果實(shí)的主要特征,結(jié)合多尺度檢測模塊,同時(shí)獲取目標(biāo)類別與預(yù)測框位置,根據(jù)改進(jìn)后的損失函數(shù),使優(yōu)化器不斷調(diào)整參數(shù),最后訓(xùn)練出臍橙識(shí)別模型。自然環(huán)境下臍橙果實(shí)快速識(shí)別模型架構(gòu)如圖3所示。
圖3 自然環(huán)境下臍橙果實(shí)快速識(shí)別模型的架構(gòu)Fig.3 Framework of fast recognition model for navel oranges under natural environment
本文以準(zhǔn)確率(precision,P)、查全率(recall,R)、F1值(F1-score)以及識(shí)別速度(speed,S)作為臍橙識(shí)別模型的性能評(píng)價(jià)指標(biāo),其中F1值能夠同時(shí)考慮準(zhǔn)確率和召回率兩者,其計(jì)算公式為:
式中,TP表示實(shí)際為正樣本且被檢測為正樣本的數(shù)量,F(xiàn)P表示實(shí)際為負(fù)樣本且被檢測為正樣本的數(shù)量,F(xiàn)N表示實(shí)際為正樣本且被檢測為負(fù)樣本的數(shù)量。
為有效保留臍橙圖像的邊緣信息,采用快速導(dǎo)向?yàn)V波法去噪時(shí),導(dǎo)向圖像I和輸入圖像p都采用原始圖像。由式 (1)~(6)知,參數(shù)ak和r直接影響方法的去噪程度和邊緣保留度,由式(3)知,?的取值范圍在0~1,且?在ak分母部分,直接對(duì)ak產(chǎn)生影響,故可改變?值來改變ak的大小。而r值直接控制窗口的大小,從而影響局部像素點(diǎn)的多少,當(dāng)?和r取不同值時(shí),去噪效果不同,經(jīng)過對(duì)比分析,當(dāng)?=0.01,r=4時(shí),去噪效果最佳(圖4紅框所示)。由圖可看出,原始臍橙圖像經(jīng)過快速導(dǎo)向?yàn)V波去噪及圖像增強(qiáng)后,臍橙表面的顏色和紋理信息更加明顯,在背景對(duì)比下更加突出,說明采用導(dǎo)向?yàn)V波方法能有效去除自然環(huán)境下背景噪音對(duì)臍橙圖像信息的影響。
圖4 不同參數(shù)下導(dǎo)向?yàn)V波去噪效果Fig.4 The denoising results by guided filtering with different parameters
常用的圖像去噪方法有最小二乘濾波、中值濾波、K 近鄰平均濾波、小波閾值等,中值濾波是一種基于排序統(tǒng)計(jì)理論的經(jīng)典去噪方法,能有效保護(hù)圖像的邊緣信息,小波閾值是一種基于傅里葉分析的去噪方法,能得到更多的邊緣細(xì)節(jié)。
圖5為基于中值濾波、小波閾值和導(dǎo)向?yàn)V波方法對(duì)臍橙圖像去噪及增強(qiáng)效果圖,由圖5可看出,由快速導(dǎo)向?yàn)V波預(yù)處理后的臍橙圖像,其顏色和紋理特征明顯優(yōu)于其他兩種方法(圖5中紅框所示),說明導(dǎo)向?yàn)V波去除自然環(huán)境下各種噪音效果優(yōu)于其他兩種方法。
圖5 不同去噪方法對(duì)臍橙圖像去噪及增強(qiáng)對(duì)比Fig.5 Comparison of denoising and enhancement results with different denoising methods on navel orange leaves images
2.3.1 參數(shù)設(shè)置與模型訓(xùn)練 試驗(yàn)采用Darknet 深度學(xué)習(xí)框架,進(jìn)行訓(xùn)練所用的PC 端配置為:Ubuntu 16.04LTS 操作系統(tǒng),英特爾Xeon(至強(qiáng))W-2133@3.60GHz 六核,顯卡為兩張Nvidia Quadro P2000,NVIDIA 440.82 驅(qū)動(dòng),CUDA 10.2 版本,CUDNN 神經(jīng)網(wǎng)絡(luò)加速庫版本為7.6.5。網(wǎng)絡(luò)參數(shù)是對(duì)YOLO v3論文[17]中部分參數(shù)進(jìn)行修改,經(jīng)多次試驗(yàn)后比較選取效果最優(yōu)的參數(shù)。輸入樣本為512*512 像素,每次迭代訓(xùn)練的樣本數(shù)(bath)為64 個(gè),共32 批次,動(dòng)量因子(momentum)為0.9,權(quán)重衰減系數(shù)(weight decay)為0.000 5;訓(xùn)練的最大迭代次數(shù)(max_bathes)為12 000,初始學(xué)習(xí)率(learning rate)為0.000 5,學(xué)習(xí)率調(diào)整策略為steps,學(xué)習(xí)率分別在迭代次數(shù)為9 600 和10 800 時(shí)減小到之前的0.1 倍,同時(shí)使用對(duì)比度調(diào)整、圖像翻轉(zhuǎn)、虛化等方法對(duì)訓(xùn)練集進(jìn)行數(shù)據(jù)集增強(qiáng),能夠訓(xùn)練出更適用的臍橙果實(shí)識(shí)別模型。
采用遷移學(xué)習(xí)方法對(duì)樣本集進(jìn)行訓(xùn)練,訓(xùn)練集與驗(yàn)證集比重為8∶2,使用Darknet-53 網(wǎng)絡(luò)在COCO數(shù)據(jù)集上的預(yù)訓(xùn)練權(quán)重作為模型的初始權(quán)重。對(duì)臍橙數(shù)據(jù)集進(jìn)行模型訓(xùn)練,得到自然環(huán)境下臍橙果實(shí)的識(shí)別模型。對(duì)訓(xùn)練集和驗(yàn)證集進(jìn)行12 000 次迭代訓(xùn)練后,其誤差變化曲線如圖6 所示,訓(xùn)練誤差曲線可以清晰看出損失函數(shù)值的變化趨勢,在前3 000 次迭代過程中,損失函數(shù)值下降較快,網(wǎng)絡(luò)快速擬合;之后開始緩慢下降,中間有兩次較大的波動(dòng),5 000次迭代后損失函數(shù)基本趨于平穩(wěn),損失函數(shù)值最低達(dá)到了0.15左右(圖6虛線所示),由此可知改進(jìn)的YOLO v3網(wǎng)絡(luò)性能優(yōu)良。
圖6 訓(xùn)練誤差變化曲線Fig.6 Training error curve
2.3.2 模型識(shí)別效果及對(duì)比 為了驗(yàn)證改進(jìn)后模型對(duì)自然環(huán)境下臍橙果實(shí)的識(shí)別效果,設(shè)計(jì)了改進(jìn)后模型與YOLO v3模型的識(shí)別效果對(duì)比試驗(yàn)??紤]不同網(wǎng)絡(luò)在單果、向光、背光、果實(shí)重疊、枝葉遮擋等情況,臍橙果實(shí)識(shí)別效果對(duì)比試驗(yàn)結(jié)果如圖7所示。
圖7(a)是YOLO v3模型識(shí)別效果圖,圖7(b)是本文在YOLO v3基礎(chǔ)上改進(jìn)后模型識(shí)別效果圖,由圖可看出,YOLO v3 識(shí)別模型在單果大目標(biāo)物體圖像上只能大致識(shí)別出臍橙主體,但邊緣出現(xiàn)了錯(cuò)檢情況;改進(jìn)后模型能夠完整的識(shí)別出臍橙整體,且沒有出現(xiàn)錯(cuò)檢情況。YOLO v3識(shí)別模型在向光及背光圖像上只能識(shí)別出臍橙主體,且出現(xiàn)了漏檢情況;改進(jìn)后模型在這兩種圖像上均能完整識(shí)別出臍橙整體,且對(duì)小目標(biāo)物體識(shí)別效果理想,未出現(xiàn)漏檢情況。YOLO v3 識(shí)別模型對(duì)果實(shí)重疊及枝葉遮擋圖像上識(shí)別效果不佳,把重疊的3個(gè)臍橙識(shí)別成1個(gè),對(duì)枝葉遮擋嚴(yán)重和圖像邊緣小物體均出現(xiàn)了漏檢情況;改進(jìn)后模型能把重疊的3個(gè)臍橙都識(shí)別出來,對(duì)枝葉遮擋嚴(yán)重和圖像邊緣小物體也能成功識(shí)別出來。兩組測試結(jié)果說明了改進(jìn)后模型的識(shí)別效果更優(yōu)。
圖7 臍橙果實(shí)識(shí)別圖Fig.7 Navel orange fruit identification map
2.3.2 模型識(shí)別性能及對(duì)比 為進(jìn)一步準(zhǔn)確評(píng)估改進(jìn)后模型對(duì)自然環(huán)境下臍橙果實(shí)的識(shí)別性能,將改進(jìn)后模型與YOLO v3 模型、單階段目標(biāo)檢測模型中的代表SSD 模型以及兩階段目標(biāo)檢測模型中的代表Faster R-CNN 模型進(jìn)行識(shí)別性能對(duì)比,選擇了50幅未參與訓(xùn)練的臍橙圖像對(duì)模型性能進(jìn)行對(duì)比試驗(yàn),表2為4種識(shí)別模型的檢測結(jié)果。
由表2 可以看出,改進(jìn)后模型相較于同為單階段模型的SSD 模型,F(xiàn)1 值提高了3.39 個(gè)百分點(diǎn),各項(xiàng)指標(biāo)均優(yōu)于SSD 模型,但Faster R-CNN 模型的F1 值仍高于改進(jìn)后模型,這是由于改進(jìn)后模型與Faster R-CNN 模型相比,少了生成候選區(qū)域這一步驟,所以F1 值比Faster R-CNN 低了1.26 個(gè)百分點(diǎn)。雖然兩階段模型相較于單階段模型而言,F(xiàn)1 值更好,但單階段模型的識(shí)別速度在同等配置情況下遠(yuǎn)高于兩階段模型,YOLO v3 模型和SSD 模型的識(shí)別速度分別為25.86 fps 和22.56 fps,均遠(yuǎn)超于Faster R-CNN 的1.44 fps,相較于YOLO v3 模型,雖然加入了圖像預(yù)處理模塊,但由于將3 尺度檢測網(wǎng)絡(luò)減少為2 尺度檢測網(wǎng)絡(luò),改進(jìn)后模型的識(shí)別速度提升達(dá)到了26.48 fps,實(shí)時(shí)性較好,且F1 值提高了1.45 個(gè)百分點(diǎn)。試驗(yàn)結(jié)果表明,改進(jìn)后模型綜合性能最好,可以同時(shí)滿足臍橙采摘機(jī)器人對(duì)臍橙果實(shí)識(shí)別精度和識(shí)別速度的需求。
表2 4種識(shí)別模型的檢測結(jié)果Tab.2 Detection results of four recognition models
為提高臍橙果實(shí)在自然環(huán)境下的識(shí)別率,本文根據(jù)臍橙果實(shí)在自然環(huán)境下的生長特點(diǎn),通過改進(jìn)導(dǎo)向?yàn)V波方法去除自然環(huán)境下臍橙圖像的光照等噪聲信息,突出圖像的顏色和紋理特征。在YOLO v3 方法上基礎(chǔ)上進(jìn)行改進(jìn),采用帶有殘差模塊的Darknet-53 作為特征提取網(wǎng)絡(luò),將多尺度融合的3 尺度檢測網(wǎng)絡(luò)減少為2 尺度檢測網(wǎng)絡(luò),引入GIoU 邊界損失函數(shù)代替原損失函數(shù),使用DBSCAN+Kmeans 聚類算法,分析優(yōu)化出兩個(gè)預(yù)測分支的先驗(yàn)框尺寸,采用遷移學(xué)習(xí)方法進(jìn)行模型訓(xùn)練,并與其他幾種識(shí)別模型性能進(jìn)行比較。研究表明,改進(jìn)后模型對(duì)自然環(huán)境下臍橙果實(shí)的識(shí)別準(zhǔn)確率達(dá)到了91.22%,召回率為97.30%,F(xiàn)1 平均值為94.16%,識(shí)別速度為26.48 fps,綜合性能明顯優(yōu)于其他模型,為臍橙采摘機(jī)器人提供了可行的視覺識(shí)別思路。
在測試臍橙果實(shí)識(shí)別模型的過程中發(fā)現(xiàn),模型無法對(duì)遮擋較為嚴(yán)重的臍橙果實(shí)進(jìn)行識(shí)別,為進(jìn)一步提高模型的識(shí)別性能,今后研究通過增強(qiáng)臍橙數(shù)據(jù)集和優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)等方法,進(jìn)行多種顯著特征的提取,提高網(wǎng)絡(luò)在各類自然環(huán)境下的識(shí)別能力,以適應(yīng)果園中復(fù)雜多變的環(huán)境。目前改進(jìn)的YOLO v3模型僅應(yīng)用于成熟臍橙目標(biāo)檢測方面,而實(shí)際應(yīng)用中往往會(huì)有不同成熟度的臍橙目標(biāo),因此將來可擴(kuò)充不同成熟度的臍橙數(shù)據(jù)集,從而對(duì)不同成熟度的臍橙進(jìn)行實(shí)時(shí)檢測還可進(jìn)一步研究。
致謝:江西綠萌科技控股有限公司對(duì)本研究給予了支持,謹(jǐn)致謝意!