查志華,周文靜,吳杰,2*
(石河子大學(xué)機(jī)械電氣工程學(xué)院/綠洲特色經(jīng)濟(jì)作物生產(chǎn)機(jī)械化教育部工程研究中心,新疆 石河子 832003)
紅提葡萄(紅地球)是鮮食葡萄的優(yōu)質(zhì)品種,其產(chǎn)量在我國(guó)葡萄產(chǎn)量中居于首位[1-2]。新疆是紅提葡萄的主要產(chǎn)區(qū),年產(chǎn)量高達(dá)10萬(wàn)t以上[3],約占全國(guó)的五分之一。葡萄種植過(guò)程中的大部分工作由人工完成,勞動(dòng)強(qiáng)度較大,生產(chǎn)效率低[4],因此,急需一種方法代替人工勞作,并提高工作效率。20世紀(jì)70年代起,機(jī)器視覺(jué)技術(shù)開(kāi)始被應(yīng)用于農(nóng)業(yè)中代替人工勞作,降低了勞動(dòng)強(qiáng)度,提高了工作效率[5]。
由于同一葡萄果穗中果粒的成熟度不全相同,輪廓不規(guī)則,使得葡萄的自動(dòng)識(shí)別無(wú)法達(dá)到理想的效果。葡萄果穗自動(dòng)識(shí)別可采用淺層機(jī)器學(xué)習(xí)算法[6-7],但識(shí)別準(zhǔn)確率較低,且淺層機(jī)器學(xué)習(xí)算法需要人為提取分類特征,過(guò)程復(fù)雜[8]。近年來(lái),因卷積神經(jīng)網(wǎng)絡(luò)(CNN)可自動(dòng)學(xué)習(xí)圖像特征而廣泛用于田間復(fù)雜圖像的目標(biāo)識(shí)別[9-10],其中,F(xiàn)aster R-CNN模型是深度卷積神經(jīng)網(wǎng)絡(luò)中最成熟的目標(biāo)檢測(cè)算法。Faster R-CNN模型可將特征提取、候選區(qū)域提取、邊框回歸和分類整合到一個(gè)網(wǎng)絡(luò)中,同時(shí)獲得目標(biāo)邊界和置信度,并且采用共享卷積層提高了檢測(cè)速度。目前,F(xiàn)aster R-CNN模型已用于多種果蔬的識(shí)別[11-12]。
CNN訓(xùn)練需要大量的已標(biāo)注數(shù)據(jù)[13],但是現(xiàn)實(shí)情況下構(gòu)建大規(guī)模數(shù)據(jù)集非常困難,而遷移學(xué)習(xí)可以解決訓(xùn)練數(shù)據(jù)不足的問(wèn)題,將已學(xué)到的模型參數(shù)分享給新模型以加快模型的訓(xùn)練[14],具有資源利用率高、訓(xùn)練成本低的特點(diǎn)[15]。目前有很多關(guān)于Faster R-CNN模型采用已訓(xùn)練完成且準(zhǔn)確率較高的CNN模型作為區(qū)域候選網(wǎng)絡(luò)(RPN)進(jìn)行遷移學(xué)習(xí)的研究,LIU Y等分別使用VGG16和VGG19作為Faster R-CNN模型的RPN進(jìn)行遷移學(xué)習(xí),使用較少的數(shù)據(jù)集檢測(cè)田間玉米流蘇,識(shí)別準(zhǔn)確率分別為87.94%和91.51%[16];SA I等[11]、孫哲等[12]、HUNG J和CARPENTER A[17]、EZHILARASI R和VARALAKSHMI P[18]、LEE C K等[19]分別將VGG16、ResNet50、VGG16和Alexnet作為Faster R-CNN模型的RPN進(jìn)行遷移學(xué)習(xí),成功實(shí)現(xiàn)了目標(biāo)的準(zhǔn)確識(shí)別;SKRABANEK P[20]對(duì)比了ResNet50、VGG16、GoogLeNet和CaffeNet分別作為RPN的Faster R-CNN模型的識(shí)別結(jié)果,認(rèn)為CaffeNet結(jié)構(gòu)過(guò)于簡(jiǎn)單,其余3種遷移模型均對(duì)圖像的識(shí)別有較高準(zhǔn)確率。
以上文獻(xiàn)研究表明,VGG16、VGG19、ResNet50、Alexnet、GoogLeNet均可作為Faster R-CNN模型的RPN進(jìn)行遷移訓(xùn)練,并達(dá)到準(zhǔn)確識(shí)別的目的,因此,本文采用VGG16、VGG19、ResNet50、GoogLeNet和Alexnet分別作為Faster R-CNN模型的RPN對(duì)田間環(huán)境下紅提葡萄果穗圖像進(jìn)行遷移訓(xùn)練,進(jìn)而實(shí)現(xiàn)田間紅提葡萄果穗的準(zhǔn)確識(shí)別與定位,從而為葡萄園的自動(dòng)化管理提供研究基礎(chǔ)。
試驗(yàn)所需圖像樣本采自新疆維吾爾自治區(qū)石河子市石河子大學(xué)試驗(yàn)園(44°20′N,85°59′E),海拔373 m。該葡萄園管理良好,紅提葡萄品種栽植齡均在3年以上,單籬架,南北成行,多主面扇形整枝,架面通風(fēng),透光良好,株距0.9~1.2 m,行距2.7 m。
2019年8月10日至9月15日為紅提葡萄采收期,本文在采收期采集田間自然生長(zhǎng)條件下葡萄果穗圖像。采樣時(shí)間在每日上午8:00—12:00,采用3種帶有不同圖像處理器的智能手機(jī),即iphone8、HUAWEI Mate 10、MI 5X分別獲取紅提葡萄RGB圖像以保證樣本的多樣性,像素分辨率分別為4 032×3 024(4∶3),3 968×2 976(4∶3),4 000×3 000(4∶3)。手機(jī)攝像頭距葡萄果穗13~57 cm,圖像采集時(shí),采用隨機(jī)方式在同一株的上、中、下位置拍攝不同成熟度的紅提葡萄,采集的圖像包括逆光和順光。每隔5天采集1次,每次采集紅提葡萄圖像后以采集日期命名,順光和逆光圖像分別為890張和450張,共1 340張圖像。
由于3種手機(jī)拍攝圖像大小不一致,本文將所有圖像尺寸統(tǒng)一調(diào)整為3 968×2 976像素,再壓縮為298×397像素以提高網(wǎng)絡(luò)訓(xùn)練速度。在卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)時(shí),圖像中的高頻特征容易導(dǎo)致神經(jīng)網(wǎng)絡(luò)過(guò)擬合[12]。高斯噪聲的添加可以使圖像樣本在所有位置上都產(chǎn)生數(shù)據(jù)點(diǎn),能夠有效抑制圖像的高頻特征,減弱其對(duì)模型的影響。因此,如圖1所示,本文對(duì)訓(xùn)練圖像添加高斯噪聲,噪聲對(duì)圖像平均值的偏移量(均值)為0,圖像噪聲的躁動(dòng)范圍(方差)為0.01。
訓(xùn)練樣本的數(shù)量一定程度上決定了卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別效果[20]。本文數(shù)據(jù)集所包含樣本數(shù)量及多樣性較少,因此,采用水平、垂直翻轉(zhuǎn)、隨意旋轉(zhuǎn)圖像的方法擴(kuò)增數(shù)據(jù)集,將總樣本數(shù)擴(kuò)大4倍,擴(kuò)增后圖像共5 360張;本文按照PASCAL VOC數(shù)據(jù)集的格式標(biāo)注并保存樣本圖像,從數(shù)據(jù)集圖像中隨機(jī)選擇75%圖像(4 020張樣本)用于訓(xùn)練模型;采用Matlab中Image Labeler APP以最小外接矩形框標(biāo)注訓(xùn)練數(shù)據(jù)集的紅提葡萄果穗,保證每個(gè)邊界框內(nèi)只有一穗紅提葡萄,且包含背景像素盡可能少;圖像逐一標(biāo)注完成后,將其保存為.mat格式數(shù)據(jù)集。
圖1 紅提葡萄果穗圖像預(yù)處理示例
本文選擇Faster R-CNN模型對(duì)紅提葡萄圖像數(shù)據(jù)集進(jìn)行訓(xùn)練(圖2),以達(dá)到紅提葡萄果穗識(shí)別的目的。由Faster R-CNN模型利用共享的卷積層提取紅提葡萄圖像特征圖,分別輸送至區(qū)域候選網(wǎng)絡(luò)(RPN)和感興趣區(qū)域(ROI)池化層;由RPN網(wǎng)絡(luò)通過(guò)Softmax分類器判斷該特征圖屬于前景(葡萄果穗)還是背景,通過(guò)邊框回歸得到該葡萄果穗較為準(zhǔn)確的邊界框,并輸出至ROI池化層;ROI池化層采用空間金字塔池化,通過(guò)多個(gè)池化窗口使輸入的不同尺寸特征圖以固定尺寸輸出;最后,由全連接層和Softmax分類器判斷候選區(qū)域是否為葡萄果穗并輸出精確的邊界框。
圖2 Faster R-CNN模型結(jié)構(gòu)
本文使用5個(gè)預(yù)訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)VGG16、VGG19、Resnet50、Googlenet和Alexnet分別作為RPN進(jìn)行遷移學(xué)習(xí),使Faster R-CNN模型先獲得圖像的底層特征權(quán)重,再將這些特征信息遷移學(xué)習(xí)至葡萄果穗識(shí)別的任務(wù)中,達(dá)到用少量圖像訓(xùn)練使Faster R-CNN模型得到較高識(shí)別性能的目的,并使網(wǎng)絡(luò)模型具有一定的泛化能力。
采用隨機(jī)梯度下降法(stochastic gradient descent method,SGDM)[12]對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將動(dòng)量因子(Momentum)設(shè)置為0.9,初始學(xué)習(xí)率(learning rate)設(shè)置為0.1,Dropout設(shè)置為0.1,最大循環(huán)次數(shù)(MaxEpochs)設(shè)置為20,分別對(duì)5種區(qū)域候選網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練過(guò)程中損失函數(shù)L[12]為
(1)
其中
(2)
(3)
(4)
式(1)至(4)中,pi表示葡萄果穗的預(yù)測(cè)概率(%);ti表示預(yù)測(cè)邊界框的坐標(biāo)向量;Ncls為分類樣本數(shù)量;Lcls表示分類層損失;Nreg表示回歸樣本數(shù)量;ti*表示真實(shí)邊界框的坐標(biāo)向量;pi*表示錨點(diǎn)判別值,錨點(diǎn)為葡萄果穗時(shí)pi*為1,錨點(diǎn)為背景時(shí)pi*為0。
本文試驗(yàn)在同一設(shè)備運(yùn)行,數(shù)據(jù)處理使用的硬件設(shè)備為SAMSUNG臺(tái)式電腦,Windows7操作系統(tǒng),處理器為Intel(R) Xeon(R) CPU E5-2620@2.10 GHz,內(nèi)存16 GB,顯示適配器NVIDIA GeForce GTX 960,驅(qū)動(dòng)程序軟件為ACPI×64-based PC,圖像處理及網(wǎng)絡(luò)訓(xùn)練的軟件為Matlab 2018a,并調(diào)用CUDA 10.1.168版并行計(jì)算架構(gòu)以提高模型訓(xùn)練速度。
本文采用精確率P(Precision)、召回率R(Recall)和平均精度AP(Average Precision,AP)作為目標(biāo)檢測(cè)的評(píng)價(jià)指標(biāo)來(lái)評(píng)估訓(xùn)練出的模型。
(5)
(6)
(7)
式(5)~(7)中,TP為正確劃分的正樣本數(shù)量,F(xiàn)P為錯(cuò)誤劃分的正樣本數(shù)量,F(xiàn)N為錯(cuò)誤劃分的負(fù)樣本數(shù)量。
對(duì)于每一個(gè)識(shí)別出的葡萄果穗,以置信度來(lái)評(píng)判其可靠度,表示模型對(duì)識(shí)別出葡萄果穗的確定程度,置信度越高表明模型輸出的結(jié)果越可靠。
最后繪制精確率-召回率曲線,召回率反應(yīng)分類器對(duì)正樣本的覆蓋程度,精確率反應(yīng)其預(yù)測(cè)正樣本的準(zhǔn)確程度,平均精度為精確率-召回率曲線的積分,即精確率-召回率曲線與x軸和y軸所圍成的面積。平均精度的值越大,模型識(shí)別效果越好。
在1.4節(jié)所設(shè)置的訓(xùn)練參數(shù)下,對(duì)5種Faster R-CNN模型遷移學(xué)習(xí)訓(xùn)練后繪制P-R曲線進(jìn)行比較,取模型檢測(cè)葡萄果穗的平均時(shí)間評(píng)估算法的運(yùn)行效率,結(jié)果(表1)顯示,Resnet50模型的平均精度最高,識(shí)別出的葡萄果穗置信度可達(dá)0.995 3(圖3a),但該網(wǎng)絡(luò)層數(shù)較多(50層),且平均檢測(cè)時(shí)間較長(zhǎng)(87.19 ms);Alexnet平均檢測(cè)時(shí)間最短(15.22 ms),但得到的平均識(shí)別精度最低(76.42%),該網(wǎng)絡(luò)模型甚至將顏色相近的背景識(shí)別為葡萄果穗;VGG16平均精度略低于Resnet50,為93.85%,但平均耗時(shí)較低,僅26.00 ms,由圖4 d所示識(shí)別出的葡萄果穗置信度達(dá)0.999 8,且框出的葡萄果穗最為完整。此外,VGG16使用了大小為3×3的較小卷積核,使得VGG16收斂速度加快,從而提高了葡萄果穗識(shí)別的速度。因此,本文選擇基于VGG16的Faster R-CNN模型作為識(shí)別葡萄果穗的模型。
表1 不同區(qū)域候選網(wǎng)絡(luò)訓(xùn)練結(jié)果
圖3 基于不同RPN的Faster R-CNN模型識(shí)別結(jié)果
不同訓(xùn)練參數(shù)對(duì)網(wǎng)絡(luò)模型的訓(xùn)練結(jié)果影響極大,所以遷移學(xué)習(xí)訓(xùn)練時(shí)循環(huán)次數(shù)和學(xué)習(xí)率的選擇很重要。為了得到最佳的網(wǎng)絡(luò)識(shí)別模型,本文針對(duì)VGG16作為RPN的Faster R-CNN模型識(shí)別模型,對(duì)其學(xué)習(xí)率和循環(huán)次數(shù)做了如表2所示的調(diào)整,分別進(jìn)行遷移學(xué)習(xí),得到的結(jié)果用平均精度表示。由表2結(jié)果可知:
(1)不同學(xué)習(xí)率下VGG16遷移學(xué)習(xí)模型隨著訓(xùn)練次數(shù)增加,識(shí)別葡萄果穗的平均精度得到提升;
(2)在同一訓(xùn)練次數(shù)下,降低網(wǎng)絡(luò)模型的學(xué)習(xí)率可以有效提高模型的識(shí)別效果??梢?jiàn)在一定范圍內(nèi),可以通過(guò)降低學(xué)習(xí)率提高模型識(shí)別精度。
(3)當(dāng)模型學(xué)習(xí)率為0.000 1,訓(xùn)練次數(shù)達(dá)到20次后,模型平均識(shí)別精度可以達(dá)到99.07%,繼續(xù)增大訓(xùn)練次數(shù),模型識(shí)別精度基本不再升高。
表2 不同Epochs及學(xué)習(xí)率訓(xùn)練模型結(jié)果
當(dāng)VGG16遷移學(xué)習(xí)模型在學(xué)習(xí)率為0.000 1條件下訓(xùn)練20次后,得到的P-R曲線(圖4),可見(jiàn)曲線幾乎完全覆蓋坐標(biāo)系,由式(7)計(jì)算出平均精度為99.07%?;赩GG16的Faster R-CNN模型識(shí)別葡萄果穗結(jié)果(圖5)顯示:
(1)該模型對(duì)紅、綠葡萄果穗的識(shí)別置信度多數(shù)能達(dá)到0.98以上,識(shí)別紅葡萄果穗時(shí),最小矩形框標(biāo)注較為完整。
(2)識(shí)別綠色葡萄果穗時(shí)(圖5b),最小矩形框標(biāo)注稍有偏移,存在標(biāo)注框過(guò)大或者標(biāo)注的葡萄果穗不完整,主要是由于綠色葡萄果穗與背景顏色相近,使得識(shí)別效果較差。
(3)對(duì)于陰影中的葡萄果穗(圖5c),VGG16遷移學(xué)習(xí)模型也能較準(zhǔn)確識(shí)別,置信度為0.88以上。
圖4 基于VGG16的Faster R-CNN模型P-R曲線
圖5 基于VGG16的Faster R-CNN模型網(wǎng)絡(luò)模型對(duì)不同葡萄圖像的識(shí)別結(jié)果
采用遷移學(xué)習(xí)的方法選擇Resnet50、Googlenet、VGG16、VGG19和Alexnet 5種網(wǎng)絡(luò)作為Faster R-CNN模型的RPN進(jìn)行訓(xùn)練,對(duì)5種遷移學(xué)習(xí)的Faster R-CNN模型的識(shí)別性能進(jìn)行對(duì)比分析,結(jié)果表明:
(1)基于VGG16的Faster R-CNN模型綜合識(shí)別效果最好,當(dāng)模型學(xué)習(xí)率為0.000 1,訓(xùn)練次數(shù)為20次時(shí),平均檢測(cè)時(shí)間為26 ms,識(shí)別模型平均精度高達(dá)99.07%,模型識(shí)別置信度均在0.88以上,表明模型能夠準(zhǔn)確且較完整地識(shí)別葡萄果穗。
(2)從檢測(cè)速度看,F(xiàn)aster R-CNN識(shí)別模型能夠滿足田間葡萄果穗采摘識(shí)別的實(shí)時(shí)作業(yè)要求。
(3)Faster R-CNN模型識(shí)別時(shí)計(jì)算量較大,對(duì)設(shè)備要求較高,今后可嘗試采用其他神經(jīng)網(wǎng)絡(luò)進(jìn)一步提高葡萄果穗的識(shí)別性能。