陳 斌,饒洪輝,王玉龍,李慶松,王保陽(yáng),劉木華
(江西農(nóng)業(yè)大學(xué) 工學(xué)院/江西省現(xiàn)代農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室,江西 南昌 330045)
卷積神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取特征,并分類檢測(cè),精度高,實(shí)時(shí)性強(qiáng)[1-4],成為果蔬目標(biāo)檢測(cè)的主流框架。而Faster-RCNN卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)RCNN、Fast-RCNN的不斷改進(jìn),精度和檢測(cè)效率都得到了進(jìn)一步的提高。在卷積神經(jīng)網(wǎng)絡(luò)果蔬識(shí)別方面已經(jīng)有大量的研究。西北農(nóng)林科技大學(xué)馮亞利[5]使用改進(jìn)的DY3TNet模型實(shí)現(xiàn)了田間獼猴桃果實(shí)的檢測(cè)。閆建偉等[6]為了快速準(zhǔn)確識(shí)別自然環(huán)境下刺梨果實(shí),提出了一種基于改進(jìn)的Faster-RCNN的刺梨果實(shí)識(shí)別方法。傅隆生等[7]為了實(shí)現(xiàn)田間條件下快速、準(zhǔn)確地識(shí)別多簇獼猴桃果實(shí),提出了一種基于LeNet卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型進(jìn)行多簇獼猴桃果實(shí)圖像的識(shí)別。程鴻芳等[8]針對(duì)傳統(tǒng)的基于內(nèi)容的識(shí)別方法在特征提取方面存在的計(jì)算復(fù)雜、特征不可遷移等問(wèn)題,對(duì)LeNet卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),設(shè)計(jì)了一種基于改進(jìn)LeNet卷積神經(jīng)網(wǎng)絡(luò)的蘋果目標(biāo)識(shí)別模型,并利用該模型對(duì)不同場(chǎng)景的蘋果圖像進(jìn)行了識(shí)別與驗(yàn)證,綜合識(shí)別率達(dá)到93.79%;與其他方法相比,該算法具有較強(qiáng)的抗干擾能力,圖像識(shí)別速度快,識(shí)別率更高。中南林業(yè)科技大學(xué)張習(xí)之等[9]提出了一種基于改進(jìn)卷積自編碼機(jī)神經(jīng)網(wǎng)絡(luò)的油茶果圖像自動(dòng)識(shí)別方法,該改進(jìn)算法100次迭代所需時(shí)間為166 s,平均識(shí)別準(zhǔn)確率為90.4%。
目前在卷積神經(jīng)網(wǎng)絡(luò)識(shí)別油茶果方面的研究較少,尚無(wú)文獻(xiàn)用Faster-RCNN卷積網(wǎng)絡(luò)的方法識(shí)別油茶果。本文選用Faster-RCNN交替優(yōu)化訓(xùn)練方法,并使用Faster-RCNN卷積神經(jīng)網(wǎng)絡(luò)對(duì)油茶果進(jìn)行了識(shí)別。
本試驗(yàn)在臺(tái)式計(jì)算機(jī)上進(jìn)行,處理器為Intel-i5-9400F,內(nèi)存為32 GB,操作系統(tǒng)Windows 10 (64位)。考慮到GPU算力的需要,選用顯卡NVIDIA GeForce GTX 1660,顯存8 GB。Python的版本是3.6.4,在pycharm IDE上編譯。深度學(xué)習(xí)框架選擇Keras。同時(shí)為了提高訓(xùn)練速度,采用GPU加速方法,cuda版本是8.1,cudnn版本為7.6.0。
油茶果圖像拍攝于江西省林業(yè)科學(xué)院國(guó)家油茶林基地。拍攝相機(jī)為索尼相機(jī),像素為640×480。于2019年9月14~23日的晴天拍攝,采集了典青、贛興46、贛撫20等34個(gè)品種的油茶果圖像并保存成JPG的格式。圖1為拍攝的部分油茶果圖像。
a:正常情況下的油茶果; b:油茶果被遮擋; c:油茶果環(huán)境光線弱; d: 油茶果成簇出現(xiàn)。圖1 油茶果的部分圖像
本試驗(yàn)選取在江西省林業(yè)科學(xué)院國(guó)家油茶林基地采集的2800張油茶果圖像進(jìn)行訓(xùn)練,在驗(yàn)證集上對(duì)油茶果圖像進(jìn)行測(cè)試,發(fā)現(xiàn)對(duì)遮擋和光線暗淡、過(guò)度曝光等油茶果圖像的檢測(cè)結(jié)果不佳。為了提高檢測(cè)效果,對(duì)訓(xùn)練集圖像進(jìn)行優(yōu)化,增添1020張光線過(guò)弱、過(guò)度曝光、油茶果被遮擋等各種環(huán)境下的油茶果圖像,將訓(xùn)練集圖像數(shù)量擴(kuò)充到3820張,使卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到各種情況下油茶果圖像的特征(若訓(xùn)練數(shù)據(jù)集中沒(méi)有包含多樣化的樣本,則會(huì)導(dǎo)致機(jī)器學(xué)習(xí)不足,識(shí)別結(jié)果置信度降低)。
本試驗(yàn)的卷積神經(jīng)網(wǎng)絡(luò)使用VGG16骨干網(wǎng)絡(luò)提取油茶果圖像的特征,一共有5個(gè)卷積層,5個(gè)卷積層的大小分別是64、128、256、512、512。卷積核的大小是3×3。VGG16網(wǎng)絡(luò)滑動(dòng)窗口自動(dòng)提取油茶果和背景的特征,共享卷積;之后產(chǎn)生RPN,RPN網(wǎng)絡(luò)生成帶有置信度的矩形檢測(cè)框,通過(guò)softmax分類器判斷屬于油茶果還是背景;再利用邊框回歸修正錨框獲得精確的候選區(qū)域。運(yùn)用最大池化層方法采樣,對(duì)于每一個(gè)通道,選取其特征圖的最大像素值作為該通道的代表,從而得到一個(gè)N維向量。激勵(lì)層使用的是Relu函數(shù),Relu由于非負(fù)區(qū)間的梯度為常數(shù),因此不存在梯度消失問(wèn)題,使得模型的收斂速度維持在一個(gè)穩(wěn)定狀態(tài)。學(xué)習(xí)率是0.001,動(dòng)量為0.9,迭代次數(shù)為40000次。圖2為Faster-RCNN的結(jié)構(gòu)圖。
圖2 Faster-RCNN的結(jié)構(gòu)
在對(duì)油茶果的圖像進(jìn)行分類檢測(cè)之前,RPN接收任意尺寸的油茶果圖像作為輸入,輸出一系列有置信度的矩形候選檢測(cè)框,這些檢測(cè)框用于后續(xù)Faster RCNN的分類和檢測(cè)。在原始Faster RCNN卷積神經(jīng)網(wǎng)絡(luò)中,每個(gè)錨點(diǎn)3種面積尺度分別為128、256、512像素,3種長(zhǎng)寬比{1∶1、1∶2、2∶1},它們相互組合,每個(gè)Anchor生成9個(gè)錨框[10,11]。將圖像送到卷積層之后,得到特征圖(Feature Map),然后用1個(gè)小網(wǎng)絡(luò)在特征圖上進(jìn)行滑動(dòng),以特征圖上n×n的區(qū)域作為輸入,輸出1個(gè)低維度的特征(VGG中每一個(gè)點(diǎn)是512-d),輸出的特征分為box回歸層和box分類層。然而原始面積尺度和長(zhǎng)寬比被設(shè)計(jì)適用于PASCAL VOC數(shù)據(jù)集中的20種大小不同的物體的檢測(cè),不適合油茶果圖像的檢測(cè),因此需針對(duì)油茶果圖像本身的特點(diǎn)優(yōu)化面積尺度和長(zhǎng)寬比,根據(jù)拍攝的油茶果圖像的像素面積和長(zhǎng)寬比特點(diǎn),改進(jìn)面積尺度為8、16、32像素和3種長(zhǎng)寬比{1∶2、1∶1、2∶1}。
油茶果圖像測(cè)試結(jié)果有下面3種情況:TP,預(yù)測(cè)為油茶果,實(shí)際為油茶果; FP,預(yù)測(cè)為油茶果,實(shí)際為背景; FN,預(yù)測(cè)為背景,實(shí)際為油茶果。
模型評(píng)價(jià)指標(biāo)主要用到平均識(shí)別率(map)、準(zhǔn)確率(P)、召回率(R)和F1值。其中平均識(shí)別率是正確識(shí)別的油茶果個(gè)數(shù)占油茶果總個(gè)數(shù)的比例,其計(jì)算公式為:平均識(shí)別率(map)=正確識(shí)別的油茶果個(gè)數(shù)/油茶果總數(shù)。準(zhǔn)確率表征對(duì)正樣本的預(yù)測(cè)準(zhǔn)確程度,其計(jì)算公式為:準(zhǔn)確率(P)=TP/(TP+FP)。召回率表示在原始樣本的正樣本中,最后被預(yù)測(cè)為正樣本的概率,其計(jì)算公式為:召回率(R)=TP/(TP+FN)。準(zhǔn)確率主要考察模型對(duì)目標(biāo)找得對(duì)不對(duì),準(zhǔn)不準(zhǔn);而召回率主要考察模型對(duì)目標(biāo)找得全不全。F1值是模型的綜合評(píng)價(jià)指標(biāo),它調(diào)和準(zhǔn)確率和召回率,其計(jì)算公式如下:F1=2PR/(P+R)×100%。
對(duì)油茶果數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練完成后生成權(quán)重文件;調(diào)用權(quán)重文件對(duì)油茶果圖像進(jìn)行測(cè)試。隨機(jī)選取不同環(huán)境下的100幅500×375像素的油茶果圖像進(jìn)行測(cè)試,計(jì)算結(jié)果如下:
平均1幅圖像檢測(cè)耗時(shí)0.21 s,圖3為部分檢測(cè)出來(lái)的油茶果圖像。
為了探究油茶果圖像檢測(cè)失敗的原因,對(duì)100幅圖像中識(shí)別失敗的油茶果進(jìn)行了統(tǒng)計(jì)分析,得到表1,將識(shí)別失敗的原因進(jìn)行分類和統(tǒng)計(jì)。識(shí)別失敗的原因?yàn)椋汗麑?shí)遮擋占56.6%;油茶果粘連成簇出現(xiàn)占9.4%;樹(shù)葉或油茶花蕾誤識(shí)別占13.2%。在正常情況下,未被識(shí)別的油茶果占9.4%;油茶果圖像較小占11.3%。在圖4中,畫圈部分為識(shí)別失敗的油茶果圖像。
圖3 油茶果圖像檢測(cè)結(jié)果
表1 油茶果識(shí)別失敗原因的分類統(tǒng)計(jì)結(jié)果
圖4 油茶果識(shí)別失敗的圖像
為了直觀觀察卷積層特征提取的過(guò)程,將卷積層多特征提取過(guò)程可視化,得到圖5卷積層可視化特征圖。卷積神經(jīng)網(wǎng)絡(luò)在提取特征的過(guò)程中,在第一層傾向于提取油茶果的顏色特征等淺層特征;隨著卷積層的增加,能夠逐漸提取到油茶果的邊緣形狀特征、紋理特征等;到最后一層能提取油茶果圖像的更加抽象的特征。
圖5 油茶果特征圖的可視化
卷積神經(jīng)網(wǎng)絡(luò)可自動(dòng)提取油茶果的多特征并加以識(shí)別。本文利用Faster-RCNN卷積神經(jīng)網(wǎng)絡(luò)對(duì)3820幅油茶果圖像進(jìn)行訓(xùn)練,分別對(duì)數(shù)據(jù)集和錨框參數(shù)進(jìn)行優(yōu)化,并在100張油茶果圖像數(shù)據(jù)集上進(jìn)行了驗(yàn)證。檢測(cè)結(jié)果表明:平均識(shí)別率為92.39%,準(zhǔn)確率為98.92%,召回率為93.32%,F1值為96.04%。平均每幅圖像識(shí)別時(shí)間為0.21 s,能滿足油茶果實(shí)時(shí)檢測(cè)的要求。
江西農(nóng)業(yè)學(xué)報(bào)2021年1期