趙 芳,賀 怡
(新鄉(xiāng)學(xué)院 計算機與信息工程學(xué)院,河南 新鄉(xiāng) 453000)
河南作為我國農(nóng)業(yè)大省,糧食總產(chǎn)量常年位居全國前列,對全國糧食增產(chǎn)的貢獻率達30%以上,為我國的糧食安全重任作出了“河南貢獻”[1]。近年,河南省向高效種養(yǎng)業(yè)全面轉(zhuǎn)型升級,啟動建設(shè)了多個省級現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園及農(nóng)業(yè)生產(chǎn)基地。在大規(guī)模農(nóng)業(yè)生產(chǎn)基地的建設(shè)過程中,對農(nóng)作物產(chǎn)量進行實時測量是一項必備的能力。目前常用的自動產(chǎn)量測量技術(shù)是通過人工為每顆作物安裝RFID標簽或傳感器,基于物聯(lián)網(wǎng)技術(shù)采集每顆農(nóng)作物的生長數(shù)據(jù)[2]。雖然物聯(lián)網(wǎng)技術(shù)能夠有效地監(jiān)控農(nóng)作物的生長情況,但也為大規(guī)模農(nóng)業(yè)生產(chǎn)基地帶來了龐大的人工負擔與經(jīng)濟負擔[3]。
隨著民用無人機向低成本、易操控的方向發(fā)展,許多重要領(lǐng)域運用無人機來輔助解決工程測量任務(wù)[4-5],并取得了良好的效果。許多科技工作者也對無人機在現(xiàn)代種養(yǎng)業(yè)的應(yīng)用進行了嘗試,如利用無人機估算水肥一體化的玉米出苗率[6]、利用無人機影像診斷冬小麥的氮素營養(yǎng)[7]以及利用無人機航拍監(jiān)測地膜農(nóng)田的地理分布情況[8]等,這些方案以有限的經(jīng)濟成本實現(xiàn)了良好的應(yīng)用效果。雖然無人機遙感影像技術(shù)具有機動性強、分辨率高及成本低的優(yōu)點,但也存在目標檢測難度大與檢測精度不足的問題。
傳統(tǒng)的目標檢測方法大多以圖像識別為基礎(chǔ),通過窮舉法選出所有物體的邊框,提取這些區(qū)域的特征再進行識別。隨著深度學(xué)習技術(shù)的發(fā)展,CNN[9]、LSTM[10]與YOLO[11]等多種深度神經(jīng)網(wǎng)絡(luò)在目標檢測問題上發(fā)揮了重要作用。R-CNN是第一個基于深度學(xué)習的目標檢測框架,該框架采用提取框技術(shù)提取區(qū)域卷積神經(jīng)網(wǎng)絡(luò)特征,再通過圖像分類與非極大值抑制2個步驟進行目標檢測。R-CNN對于高分辨率圖像大約需生成2 000個候選區(qū)域,然后每個候選區(qū)域被縮放成固定尺寸再送入CNN模型中,最后得到一個特征向量。經(jīng)研究發(fā)現(xiàn),R-CNN的候選區(qū)域質(zhì)量有待加強,隨后Faster R-CNN則對R-CNN網(wǎng)絡(luò)進行改進,提高了候選區(qū)域的質(zhì)量。隨著Faster R-CNN在艦船檢測[12]、多尺度坦克裝甲車輛檢測[13]以及道路檢測[14]等問題上的成功應(yīng)用,表明Faster R-CNN在目標檢測領(lǐng)域具有良好的成效。Faster R-CNN在2個階段之間共享卷積特征,該機制提高了目標準確率與處理速度,但由于卷積運算的特征圖尺寸限制,F(xiàn)aster R-CNN的候選區(qū)域通常為300個。
由于現(xiàn)代農(nóng)業(yè)的農(nóng)作物種植密度較高,無人機遙感影像往往包含成百上千個目標農(nóng)作物,因此Faster R-CNN固定的候選區(qū)域數(shù)量無法滿足農(nóng)作物目標檢測的需求。為了利用Faster R-CNN框架在計算效率與檢測性能上的優(yōu)勢,并解決其固定數(shù)量方形候選區(qū)域所導(dǎo)致的限制,本文提出了基于金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,FPN)的多尺度局部特征提取與聚合方法,利用該方法代替Faster R-CNN的區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN)模塊。
本文提出的目標檢測網(wǎng)絡(luò)(FPN R-CNN)主要解決了Faster R-CNN的2個問題:① Faster R-CNN候選區(qū)域的數(shù)量限制。本文通過金字塔網(wǎng)絡(luò)提取多尺度局部特征,自適應(yīng)地檢測所有目標,解決了Faster R-CNN候選區(qū)域的數(shù)量限制;② Faster R-CNN基于方形邊框提取候選區(qū)域,難以處理農(nóng)作物的遮擋、旋轉(zhuǎn)與縮放等形變問題。本文未采用基于邊框的區(qū)域選取機制,而是直接將多尺度局部特征進行聚合,基于高判別力的特征檢測農(nóng)作物。上述2個機制提高了高密度種植場景下的農(nóng)作物檢測性能。
Faster R-CNN目標檢測框架主要包括候選區(qū)域提取與目標分類2個階段:第一階段采用RPN提取候選框,其本質(zhì)是一種基于滑動窗口的無類別目標檢測網(wǎng)絡(luò);第二階段采用所提取候選區(qū)域的特征,訓(xùn)練相應(yīng)的分類器以完成目標識別。
由于RPN大約提取300個候選區(qū)域,且固定的邊框機制難以兼容尺寸差異大、外形變化大的目標,因此,本文設(shè)計了基于FPN[15]的多尺度局部特征提取與聚合方法,采用該方法替換Faster R-CNN框架的RPN模塊,利用不同尺寸、不同縱橫比的滑動窗口提取候選區(qū)域的局部特征,從而增強對目標的尺寸、遮擋及外形變化的魯棒性。第二階段,將聚合特征集送入后續(xù)網(wǎng)絡(luò)對感興趣區(qū)域進行定位與識別。FPN R-CNN總體框架如圖1所示。
圖1 FPN R-CNN目標檢測的框架Fig.1 Target detection framework of FPN R-CNN
由于卷積神經(jīng)網(wǎng)絡(luò)ResNet-101[16]提取特征的速度與性能均較高,因此采用ResNet-101作為FPN R-CNN的骨干網(wǎng)絡(luò)。第一階段,將ResNet block 3提取的CNN送入FPN處理;第二階段,將ResNet-101 block 3的特征送入ResNet-101 block 4進行下一層卷積運算,最終利用級聯(lián)的特征集進行目標識別與定位。
本文對Faster R-CNN的RPN模塊進行了修改,基于FPN設(shè)計了多尺度局部特征提取與聚合方案,從而解決RPN候選區(qū)域限制的問題。首先,將卷積激活圖送入多尺度FPN處理,產(chǎn)生的多尺度特征圖送入密集池化層,提取每個對象的局部特征。密集池化層將不同尺寸、縱橫比的目標特征圖映射到聚合的激活圖中,該機制對目標的尺寸、遮擋與外形變化具有魯棒性。
設(shè)計了基于FPN的多尺度局部特征提取與聚合模塊,該模塊替換Faster R-CNN框架的RPN模塊,基于FPN的多尺度特征提取與聚合模塊如圖2所示。首先,F(xiàn)PN對輸入卷積特征圖進行多尺度學(xué)習,將每個尺度的特征圖送入3個不同形狀的窗口進行處理,提取不同形狀的局部特征,最終將多尺度特征聚合成總特征集。
圖2 基于FPN的多尺度特征提取與聚合模塊Fig.2 Multi-scale extraction and aggregation module of based on FPN
多尺度局部特征提取與聚合過程主要分為以下3個步驟:
步驟1:基于FPN提取多尺度特征,產(chǎn)生多尺度特征圖。將輸入激活圖記為ψ,平均池化窗口記為P={p1,p2,…,pn},那么輸出的多尺度特征圖F可表示為:
F=Pa(ψ;P),
(1)
式中,ψ∈Rw×h×c,其中w,h與c分別為特征圖的寬度、高度與通道數(shù)。
步驟2:對F進行最大池化處理,獲得局部特征圖
φ=Pm(F;w′,h′),
(2)
式中,w′,h′分別為F的寬與高。通過步驟1與步驟2生成不同尺度的局部特征。
步驟3:通過平均池化對每個目標對象的局部特征進行聚合。由于該特征集集合了不同尺度的特征與不同形狀滑動窗口的特征,因此該特征集對目標的外形變化具有魯棒性。
因為農(nóng)作物在尺寸、角度與外形上均可能存在差異,因此該模塊使用不同尺寸與縱橫比的滑動窗口可提高每個目標的特征判別力。
目標的空間位置是農(nóng)作物檢測任務(wù)的重要信息,因此對Faster R-CNN的第二階段進行輕量化修改。圖3描述了生成感興趣區(qū)域(Region of Interest,ROI)空間特征的流程。ResNet-101 block 3的特征包含相關(guān)的空間信息,因此將block 3輸出的卷積圖與1.2節(jié)輸出的卷積圖結(jié)合成ROI特征集。假設(shè)共生成n個ROI特征集,將n個特征集送入ResNet-101 block 4進行卷積,在softmax層進行目標識別,在回歸層進行目標中心定位。
圖3 生成ROI空間特征的流程Fig.3 Process of ROI space feature generation
FPN R-CNN訓(xùn)練包含目標識別與目標定位2個任務(wù),通過二元分類器解決目標識別問題,將圖像分類成前景(農(nóng)作物)與背景;通過回歸方法解決目標定位問題,識別每個農(nóng)作物的幾何中心點。為神經(jīng)網(wǎng)絡(luò)的代價函數(shù)增加一個權(quán)重參數(shù)wi來權(quán)衡分類層與回歸層。FPN R-CNN的代價函數(shù)可表示為:
L(pi,ti)=Lcls+Lreg=
(3)
式中,pi為候選區(qū)域i是目標的概率;p′i為標識變量,如果候選區(qū)域i是目標,那么p′i=1,否則p′i=0;ti為預(yù)測的目標中心坐標;t′i為正定的目標中心坐標;wi為分配的權(quán)重;Ncls與Nreg為mini-batch的尺寸,通常取值256;Lcls為二值交叉熵函數(shù)。Lcls的計算式可表示為:
Lcls(pi,p′i)=CE(pi,p′i)=
-p′ilbpi-(1-p′i)lb(1-pi)。
(4)
采用均方誤差(Mean Squared Error,MSE)作為神經(jīng)網(wǎng)絡(luò)回歸層的代價函數(shù),MSE的計算公式如下:
(5)
式中,qi為第i個農(nóng)作物的預(yù)測中心位置;q′i為第i個農(nóng)作物的人工標注中心位置。
FPN采用8×8的特征圖,池化窗口大小為4×4,2×2和1×1,采用3種縱橫比的池化窗口,即1∶1,1∶2和2∶1,因此池化窗口的總數(shù)量為10=3×3+1。
FPN R-CNN第一階段與第二階段的代價函數(shù)相同,均為式(3)所得結(jié)果。采用隨機梯度下降(Stochastic Gradient Descent,SGD)訓(xùn)練FPN R-CNN網(wǎng)絡(luò),SGD動量等于0.9,權(quán)重衰減等于5×10-4,patch大小等于16,超參數(shù)λ等于0.6。最大epoch數(shù)量設(shè)為100,初始學(xué)習率等于10-5,每隔5個epoch學(xué)習率衰減0.1。
采用大疆“Air 2S”型號的無人機采集玉米種植基地的遙感影像,該無人機裝備了一英寸RGB光學(xué)CMOS相機。相機的最大視角為88°,最大分辨率為5 472 pixel×3 648 pixel。無人機在16 m高度以2 m/s的速度飛行,每幅圖像覆蓋的地面面積約為160 m2。
以新鄉(xiāng)學(xué)院附近的玉米種植基地為實驗地點,該基地的經(jīng)緯度為(113°55′94″E,35°18′29″N),圖4(a)所示是無人機在40 m高度拍攝的玉米種植基地全貌圖,圖4(b)是無人機在16 m高度拍攝的RGB圖像。無人機在16 m高度以2幅/秒的速率共拍攝100張圖像,所采集的100幅圖像隨機分成3個子集,70%的圖像作為訓(xùn)練集,20%的圖像作為驗證集,10%的圖像作為測試集。
(a) 玉米種植基地全貌圖
(b) 無人機16 m高度航拍圖圖4 玉米生產(chǎn)基地航拍Fig.4 Aerial images of corn production base
通過人工統(tǒng)計玉米種植的相關(guān)數(shù)據(jù)作為實驗的正定數(shù)據(jù),通過與正定數(shù)據(jù)比較來分析本文智能化測量系統(tǒng)的性能。首先采用Matlab軟件的“Image Segmenter”工具將圖像分割,再采用該工具的“Draw ROIs”功能提取玉米株前景對象,然后人工標注100幅圖像的所有玉米株目標。
采用精度、召回率與F-measure評價智能測量系統(tǒng)的性能。精度PR為:
(6)
式中,TP為智能測量系統(tǒng)檢測的真正樣本數(shù)量;FP為假正樣本的數(shù)量。
召回率Recall為:
(7)
式中,F(xiàn)N為檢測的假負樣本數(shù)量。
F-measure的計算公式如下:
(8)
式中,PR為精度值;Recall為召回率值。
為了使Faster R-CNN支持足夠的候選區(qū)域,在RPN模塊使用Selective Search算法在圖像中從上往下提取1 000個候選區(qū)域。Faster R-CNN[17]與FPN R-CNN兩個網(wǎng)絡(luò)模型在訓(xùn)練集上的一次收斂曲線如圖5所示,F(xiàn)aster R-CNN的收斂速度較快,大約在40次epoch可達到收斂,對應(yīng)的代價函數(shù)MSE值約為380。FPN R-CNN約在60次epoch達到收斂,對應(yīng)的代價函數(shù)MSE值約為100。比較Faster R-CNN與FPN R-CNN二者的訓(xùn)練結(jié)果可知,F(xiàn)aster R-CNN的訓(xùn)練速度較快,而FPN R-CNN的檢測精度較高。
圖5 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集上的收斂曲線Fig.5 Convergence curve of neural network on training set
將訓(xùn)練的2個神經(jīng)網(wǎng)絡(luò)在測試集上進行實驗,圖6所示是一部分玉米株的檢測結(jié)果實例。圖6(a)中共有2個漏檢樣本與3個誤檢樣本,圖6(b)中共有2個漏檢樣本與1個誤檢樣本。雖然Faster R-CNN 網(wǎng)絡(luò)成功降低了區(qū)域生成步驟的計算成本,但仍需提取1 000個不同尺度的候選區(qū)域,這些候選區(qū)域?qū)τ衩字晖庑巫兓c遮擋的魯棒性較差,將一些玉米葉片錯誤判斷為玉米株。
(a) Faster R-CNN
(b) FPN R-CNN圖6 玉米識別情況Fig.6 Corn recognition situation
圖7統(tǒng)計了2個檢測模型在測試集上各個性能評價標準的平均值及標準偏差。FPN R-CNN的檢測精度高于Faster R-CNN,但召回率略低于Faster R-CNN。由于Faster R-CNN對前景對象的外形敏感,玉米株存在大量高度相似的葉片,導(dǎo)致Faster R-CNN極容易將相似的葉片識別為玉米株對象。雖然Faster R-CNN檢測出較多的玉米株目標,實現(xiàn)了較高的召回率,但其中包含較多誤檢樣本,導(dǎo)致其檢測精度下降。本文FPN R-CNN通過不同尺度的池化窗口對激活圖進行密集池化,基于所生成的局部特征識別前景目標,該模型對玉米株的外形具有魯棒性,因此本文FPN R-CNN模型的誤檢率較低。由于上述原因,F(xiàn)PN R-CNN的F-measure指數(shù)優(yōu)于Faster R-CNN。
圖7 玉米產(chǎn)量測量的性能Fig.7 Performance of corn yield measurement
表1統(tǒng)計了Faster R-CNN與FPN R-CNN兩個網(wǎng)絡(luò)模型處理每幅測試圖像所需CPU時間的平均值及標準偏差。Faster R-CNN網(wǎng)絡(luò)使用selective search 算法在圖像中從上往下提取1 000個候選區(qū)域,且在2個階段共享卷積特征,大幅度地加快了R-CNN的處理效率。FPN R-CNN的多尺度卷積金字塔結(jié)構(gòu)有效提高了Faster R-CNN的目標檢測準確性,但也增加了網(wǎng)絡(luò)的總時間成本。FPN R-CNN的平均CPU時間約為Faster R-CNN的2倍,但該時間成本也可滿足農(nóng)作物產(chǎn)量測量任務(wù)的時間要求。
表1 測試集每幅圖像的平均處理時間Tab.1 Average computation time of all images in test set 單位:s
為了發(fā)展精細農(nóng)業(yè)并降低農(nóng)業(yè)種植的人工成本,利用無人機遙感影像實現(xiàn)了農(nóng)作物產(chǎn)量的智能化測量。該系統(tǒng)利用低空無人機拍攝農(nóng)作物的遙感影像,利用FPN R-CNN網(wǎng)絡(luò)檢測與定位農(nóng)作物。實驗結(jié)果表明,該測量系統(tǒng)能夠準確地測量農(nóng)作物的數(shù)量與位置,對農(nóng)作物密集分布的情況也具有較好的測量準確性。FPN R-CNN的多尺度卷積金字塔結(jié)構(gòu)有效地提高了Faster R-CNN目標檢測的準確性,但也增加了網(wǎng)絡(luò)的總時間成本,其時間成本可滿足當前農(nóng)作物產(chǎn)量測量的要求。