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