張遠(yuǎn)琴 肖德琴 陳煥坤 劉又夫
(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院, 廣州 510642)
我國(guó)堅(jiān)持水稻質(zhì)量與產(chǎn)量并重的原則,將培育高產(chǎn)優(yōu)質(zhì)的稻米作為水稻生產(chǎn)研究的主要方向[1]。稻穗數(shù)是水稻質(zhì)量與產(chǎn)量評(píng)估的重要指標(biāo),在水稻病害檢測(cè)[2]、營(yíng)養(yǎng)診斷[3]及生育期檢測(cè)[4]等方面具有非常重要的作用。長(zhǎng)期以來(lái),在水稻栽培或育種研究中,稻穗數(shù)都是通過(guò)人工統(tǒng)計(jì)的方式來(lái)獲得,該過(guò)程耗時(shí)、耗力、效率低,在大面積生產(chǎn)場(chǎng)景下,由于植株間的相似性和觀(guān)察人員的主觀(guān)性使稻穗計(jì)數(shù)非常困難,且容易出錯(cuò)。因此,無(wú)論是快速預(yù)估產(chǎn)量還是精準(zhǔn)檢測(cè)表參數(shù),都迫切需要一種快速、精準(zhǔn)的稻穗自動(dòng)計(jì)數(shù)方法。
圖像是對(duì)作物進(jìn)行觀(guān)測(cè)最直接的手段之一,基于數(shù)字圖像植株穗的自動(dòng)計(jì)數(shù)研究已取得一定的成果。主要分為兩類(lèi):一類(lèi)是基于顏色[5-7]和紋理[8-9]的分割方法,另一類(lèi)是基于像素水平顏色特征候選區(qū)域[10-12]和基于超像素融合生成候選區(qū)域[13-14]的分類(lèi)方法。穗分割方法處理速度較快,但需考慮光照陰影、穗粘連和葉片顏色不均等因素的影響,尤其當(dāng)目標(biāo)量與非目標(biāo)量增加時(shí),提取穗表型特征變得相當(dāng)困難,計(jì)數(shù)精度明顯下降;基于候選區(qū)域的分類(lèi)方法的關(guān)鍵環(huán)節(jié)是候選區(qū)域的生成,候選區(qū)域的質(zhì)量直接影響分類(lèi)模型的訓(xùn)練數(shù)據(jù)質(zhì)量、分類(lèi)能力和穗計(jì)數(shù)精度。
近年來(lái)興起的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks, CNN)是深度學(xué)習(xí)的重要產(chǎn)物,應(yīng)用于農(nóng)業(yè)領(lǐng)域圖像識(shí)別已取得了顯著成效[15-18]。在稻穗識(shí)別與分割方面,DUAN等[12]從多角度分析水稻植株圖像,提出一種自動(dòng)確定盆栽水稻植株穗數(shù)的方法,但這種方法需要一個(gè)專(zhuān)門(mén)的光源和圖像背景才能確保其良好的性能。XIONG等[19]提出一種基于超像素分割和CNN的稻穗分割算法,該算法能很好地應(yīng)用于不同品種及生育期的稻穗分割,但耗時(shí)較長(zhǎng)。BAI等[20]研究了一種水稻抽穗期自動(dòng)觀(guān)測(cè)方法,該方法不僅利用了稻穗的顏色和梯度特征,還利用了CNN自動(dòng)學(xué)習(xí)特征,其檢測(cè)精度達(dá)到75%,但受光照的影響較大,適于處理最佳自然光下拍攝的圖像,而處理日常水稻圖像時(shí)會(huì)耗費(fèi)時(shí)間,檢測(cè)精度也會(huì)下降。XU等[21]提出一種基于深度學(xué)習(xí)和多尺度混合窗口的穩(wěn)健稻穗計(jì)數(shù)算法,該算法通過(guò)增強(qiáng)稻穗特征來(lái)檢測(cè)和計(jì)算大面積場(chǎng)景中的小尺度稻穗,平均計(jì)數(shù)精度達(dá)87.2%。但該算法只適于成熟期的稻穗。
稻穗自動(dòng)計(jì)數(shù)的本質(zhì)是稻穗的識(shí)別與定位,這與目標(biāo)檢測(cè)研究的目標(biāo)識(shí)別與定位相一致,由此可將稻穗計(jì)數(shù)問(wèn)題轉(zhuǎn)化為稻穗檢測(cè)問(wèn)題。圖像目標(biāo)檢測(cè)的檢測(cè)方法可分為兩類(lèi):一是基于區(qū)域生成的檢測(cè)方法,即先由算法生成一系列候選框,再通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)候選框中的目標(biāo)進(jìn)行分類(lèi),如Faster R-CNN[22]等網(wǎng)絡(luò)模型屬于此類(lèi)檢測(cè)方法,這類(lèi)方法雖不能做到實(shí)時(shí)檢測(cè),但識(shí)別率高。二是基于回歸的方法,該方法在實(shí)現(xiàn)目標(biāo)定位的同時(shí)預(yù)測(cè)目標(biāo)分類(lèi),屬于一體化卷積網(wǎng)絡(luò)的檢測(cè)方法,YOLO[23]系列、SSD[24]等都屬于此類(lèi),該類(lèi)方法具有識(shí)別速度快的優(yōu)勢(shì),但準(zhǔn)確率往往低于前者。因此,目前已有算法都存在局限性。
本文針對(duì)不同生長(zhǎng)期和高密度的小尺寸稻穗,提出一種基于改進(jìn)Faster R-CNN的水稻稻穗檢測(cè)方法,其目的是提高小目標(biāo)稻穗檢測(cè)的精度,為水稻關(guān)鍵發(fā)育期預(yù)測(cè)與產(chǎn)量預(yù)估提供研究基礎(chǔ),從而進(jìn)一步服務(wù)于水稻育種與栽培。
本文以種植在華南農(nóng)業(yè)大學(xué)資源與環(huán)境學(xué)院樓頂大棚的盆栽金農(nóng)絲苗水稻為試驗(yàn)對(duì)象。水稻種植在直徑約40 cm的花盆中,每盆分3穴栽種幼苗,幼苗間隔10~12 cm。試驗(yàn)場(chǎng)地種植的水稻按不同氮元素水平(N0、N90、N180、N270、N360)劃分為5個(gè)觀(guān)察區(qū)域,每個(gè)區(qū)域有9盆水稻。本試驗(yàn)中監(jiān)測(cè)的區(qū)域?yàn)镹180,屬于正常范圍內(nèi)的氮元素水平種植的水稻,9盆水稻圍成一個(gè)監(jiān)測(cè)區(qū)域模擬大田環(huán)境中3行3列的區(qū)域塊,在種植間隔和疏密上符合大田種植要求,以盡可能使水稻培育環(huán)境與真實(shí)大田環(huán)境相接近。本試驗(yàn)采用視頻攝像頭對(duì)盆栽水稻進(jìn)行監(jiān)測(cè),視頻攝像頭采用海康DS-2DC4420IW-D E系列智能球機(jī),固定在離地面2.5 m的橫梁上。具體試驗(yàn)設(shè)備和現(xiàn)場(chǎng)圖如圖1所示。
試驗(yàn)時(shí),針對(duì)2019年的早稻(5月25日—7月10日)和晚稻(10月26日—12月6日)從抽穗期到成熟期進(jìn)行定時(shí)拍攝。定時(shí)抓拍時(shí)間設(shè)置為每天08:00—18:00,每隔20 min拍攝1次,并自動(dòng)保存到網(wǎng)絡(luò)硬盤(pán)中。所拍攝圖像的尺寸為1 920像素×1 080像素,圖像存儲(chǔ)格式為JPG。試驗(yàn)期間,共獲得了2 580幅圖像。其中,抽穗和揚(yáng)花期圖像(Ⅰ類(lèi))600幅、乳熟期圖像(Ⅱ類(lèi))780幅、蠟熟和完熟期圖像(Ⅲ類(lèi))1 200幅。圖2為3類(lèi)不同發(fā)育期的稻穗形態(tài)。
在真實(shí)的工程應(yīng)用中,實(shí)際獲得的數(shù)據(jù)往往比滿(mǎn)足深度學(xué)習(xí)模型訓(xùn)練要求的數(shù)據(jù)量少得多。為了解決此問(wèn)題,一般需要對(duì)訓(xùn)練集的樣本進(jìn)行數(shù)據(jù)增強(qiáng)來(lái)擴(kuò)充數(shù)據(jù)集[25]。
本文在模型訓(xùn)練前,將各類(lèi)數(shù)據(jù)集分別按照4∶1的比例隨機(jī)劃分為訓(xùn)練集和測(cè)試集。對(duì)于訓(xùn)練集,采用LabelImg軟件進(jìn)行人工標(biāo)注。圖3為訓(xùn)練集樣本的預(yù)處理過(guò)程,通過(guò)對(duì)圖像進(jìn)行水平翻轉(zhuǎn)、平移、旋轉(zhuǎn)和裁剪來(lái)擴(kuò)充數(shù)據(jù)集。表1為各類(lèi)稻穗圖像數(shù)量。
表1 各類(lèi)稻穗圖像數(shù)量
Faster R-CNN屬于Two-stage目標(biāo)檢測(cè)網(wǎng)絡(luò)的代表,其特點(diǎn)是識(shí)別錯(cuò)誤率、漏識(shí)率低。與YOLO、SSD等One-stage目標(biāo)檢測(cè)網(wǎng)絡(luò)不同,這類(lèi)網(wǎng)絡(luò)模型的突出特點(diǎn)是快速性,但是精度相對(duì)Two-stage目標(biāo)檢測(cè)網(wǎng)絡(luò)略低。本文要求稻穗的檢測(cè)精度較高,因此選取Faster R-CNN網(wǎng)絡(luò)模型實(shí)現(xiàn)稻穗的識(shí)別與定位是合理的。
在本文的稻穗數(shù)據(jù)集中,統(tǒng)計(jì)標(biāo)注框(剛好包含目標(biāo))的寬/高即稻穗長(zhǎng)邊范圍在26 ~ 250像素之間,中位數(shù)在150像素左右,此處反映了所需識(shí)別的稻穗多為小目標(biāo),即目標(biāo)尺寸未達(dá)圖像尺寸的1/10[22]。隨著水稻的生長(zhǎng)發(fā)育,從抽穗期到成熟期,不僅各時(shí)期的稻穗尺寸會(huì)有差異,圖像中稻穗的數(shù)量也越來(lái)越多。
本文考慮到高精度的Faster R-CNN網(wǎng)絡(luò)在小目標(biāo)物體檢測(cè)上存在的問(wèn)題,并結(jié)合本文稻穗檢測(cè)存在目標(biāo)小且密集、前后不同生長(zhǎng)期目標(biāo)大小跨度大等問(wèn)題,對(duì)Faster R-CNN網(wǎng)絡(luò)進(jìn)行有針對(duì)性的改進(jìn)。
1.3.1優(yōu)化的Inception_ResNet-v2特征提取網(wǎng)絡(luò)
繼2015年ResNet被提出后,2016年由Google團(tuán)隊(duì)的SZEGEDY 等[26]結(jié)合Inception和ResNet的優(yōu)點(diǎn),提出基于Inception v4融合殘差單元的Inception_ResNet-v2網(wǎng)絡(luò),其在ILSVRC圖像分類(lèi)基準(zhǔn)測(cè)試中取得了當(dāng)下最好的成績(jī)。本文為解決稻穗目標(biāo)較小的問(wèn)題,在Inception_ResNet-v2的結(jié)構(gòu)中引入空洞卷積來(lái)代替下采樣進(jìn)行優(yōu)化解決。優(yōu)化的Inception_ResNet-v2網(wǎng)絡(luò)結(jié)構(gòu)由3部分組成:
(1)Inception v4:Inception v4是Google Inception系列網(wǎng)絡(luò)的一種,該網(wǎng)絡(luò)借鑒Inception v3的思想在網(wǎng)絡(luò)中層(12~20層)使用卷積核1×3、3×1、1×7、7×1代替卷積核3×3、7×7進(jìn)行卷積分解。相比Inception v3主要不同是添加了3個(gè)殘差單元,這樣既加速了訓(xùn)練速度,又能夠訓(xùn)練更深的網(wǎng)絡(luò),得到更豐富的空間特征信息。Inception_ResNet-v2與Inception v4結(jié)構(gòu)基本相同,具有相同的Stem模塊,不同的細(xì)節(jié)在于殘差單元。Stem模塊結(jié)構(gòu)如圖4所示。
(2)ResNet:單純地增加網(wǎng)絡(luò)深度會(huì)導(dǎo)致梯度消失或梯度爆炸,甚至?xí)箿?zhǔn)確率下降。殘差網(wǎng)絡(luò)被提出,其核心是解決因增加網(wǎng)絡(luò)深度帶來(lái)的退化問(wèn)題,使得通過(guò)簡(jiǎn)單地增加網(wǎng)絡(luò)深度來(lái)提高網(wǎng)絡(luò)性能是可行的。殘差結(jié)構(gòu)如圖5所示,輸入張量為x,學(xué)習(xí)殘差函數(shù)F(x)=H(x)-x,當(dāng)模型精度達(dá)到飽和時(shí),多余的網(wǎng)絡(luò)層訓(xùn)練目標(biāo)變?yōu)閷埐罱Y(jié)果逼近于0,即令F(x)=0,實(shí)現(xiàn)恒等映射,使得隨著網(wǎng)絡(luò)加深,訓(xùn)練精度不會(huì)下降。
(3)空洞卷積:深度卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征往往通過(guò)下采樣的方式縮小圖像尺度同時(shí)擴(kuò)大感受野,輸出特征圖具有更加豐富的高層語(yǔ)義信息,然而過(guò)多的下采樣操作會(huì)不可逆地丟失高層邊緣信息和小目標(biāo)的特征信息??斩淳矸e的優(yōu)點(diǎn)是能夠在不做池化操作造成信息損失的情況下,保證特征圖分辨率不改變同時(shí)擴(kuò)大感受野,使卷積輸出包含較豐富的特征信息。不同擴(kuò)張率的3×3空洞卷積如圖6所示。
圖7為引入空洞卷積優(yōu)化的Inception_ResNet-v2特征提取網(wǎng)絡(luò),將其作為Faster R-CNN網(wǎng)絡(luò)模型的基礎(chǔ)網(wǎng)絡(luò)。首先,將Reduction-A、B模塊(Reduction-A、B模塊見(jiàn)圖8)中步長(zhǎng)為2的3×3卷積層和最大池化層設(shè)置為步長(zhǎng)為1;然后,在Inception_ResNet-B模塊引入擴(kuò)張率為2的空洞卷積,具體的Inception_ResNet-A、B、C模塊結(jié)構(gòu)如圖9所示。最后,將Inceptio_ResNet-B模塊的輸出作為Faster R-CNN中RPN網(wǎng)絡(luò)和區(qū)域特征聚集方法(ROIAlign)的共享特征圖,而Inception_ResNet-B之后的所有層作為ROIAlign層的后接網(wǎng)絡(luò)。于是共享卷積層僅有8倍下采樣,表明提取候選框的基礎(chǔ)尺寸可以設(shè)置為8(原本為16),即特征圖上的每一像素點(diǎn)映射到原始圖像上至少有8個(gè)像素的對(duì)應(yīng)區(qū)域,事實(shí)上低于候選框下限的小目標(biāo)往往會(huì)被漏檢。顯然,引入空洞卷積優(yōu)化解決目標(biāo)稻穗較小的問(wèn)題是合適的。
1.3.2基于K-means聚類(lèi)的RPN網(wǎng)絡(luò)
原始候選區(qū)域生成網(wǎng)絡(luò)(Region proposal network, RPN)中的先驗(yàn)框的尺寸(32,64,128)和比例(1∶2,1∶1,2∶1)都是人為設(shè)定的,在一定程度上帶有主觀(guān)性,不利于學(xué)習(xí)特定對(duì)象的位置和大小。如在本文的稻穗數(shù)據(jù)集中,稻穗尺寸變化范圍較大,這種預(yù)先定義的邊框提取策略在定位稻穗上將產(chǎn)生較大的偏差,甚至出現(xiàn)漏檢的情況。而且,由于先驗(yàn)框的固定生成方式,RPN網(wǎng)絡(luò)生成的候選框重疊率過(guò)多,故訓(xùn)練時(shí)冗余的邊框?qū)⒑馁M(fèi)許多不必要的計(jì)算資源,增加模型的收斂時(shí)間。因此針對(duì)先驗(yàn)框設(shè)計(jì)問(wèn)題,本文考慮采用K-means的聚類(lèi)方法,參考稻穗標(biāo)注框的尺寸,將訓(xùn)練集的尺寸先驗(yàn)性帶入網(wǎng)絡(luò)超參數(shù)中。這樣,在自己的數(shù)據(jù)集上聚類(lèi)計(jì)算先驗(yàn)框?qū)?huì)更合適,最終能夠提高預(yù)測(cè)框的檢出率。
在開(kāi)始訓(xùn)練前,對(duì)數(shù)據(jù)集樣本的標(biāo)注框尺寸進(jìn)行K-means聚類(lèi)。在聚類(lèi)時(shí),提取標(biāo)注框的寬、高作為K-means算法的輸入,預(yù)設(shè)參數(shù)K為先驗(yàn)框(聚類(lèi)中心框)的數(shù)量。K-means算法以相似度為依據(jù)將訓(xùn)練集中相似度較高的標(biāo)注框歸為同一個(gè)類(lèi)簇,將差異性較高的標(biāo)注框歸為不同的類(lèi)簇。最后通過(guò)計(jì)算K個(gè)不同類(lèi)簇中所有標(biāo)注框?qū)?、高的平均值,得到先?yàn)框的合適尺寸。聚類(lèi)結(jié)束后,將結(jié)果作為RPN網(wǎng)絡(luò)的先驗(yàn)框預(yù)設(shè)規(guī)則。
在聚類(lèi)的過(guò)程中,相似度的計(jì)算方法選用標(biāo)注框與聚類(lèi)中心框之間的交并比(IoU)作為距離指標(biāo),其距離計(jì)算公式為
d(box,centre)=1-IoU(box,centre)
式中 box——標(biāo)注框
centre——聚類(lèi)中心框
d(box,centre)——標(biāo)注框與聚類(lèi)中心框之間的距離
IoU(box,centre)——標(biāo)注框與聚類(lèi)中心框的交并比
特別地,計(jì)算IoU時(shí)每個(gè)標(biāo)注框的中心點(diǎn)都與聚類(lèi)中心點(diǎn)重合。
1.3.3選擇ROIAlign替代感興趣區(qū)域池化層
由于本文稻穗尺寸小,且隨著生長(zhǎng)發(fā)育圖像中的稻穗也會(huì)變得密集,針對(duì)小且密的目標(biāo)對(duì)象,感興趣區(qū)域的提取精度變得尤為關(guān)鍵。Faster R-CNN中的感興趣區(qū)域池化層(ROIPooling)可以將RPN生成的候選框映射到共享卷積層輸出的特征圖上,得到候選區(qū)域在共享特征圖上的感興趣區(qū)域,并產(chǎn)生固定大小的感興趣區(qū)域,這里針對(duì)小目標(biāo)稻穗尺寸的特殊性,設(shè)置ROIPooling的采樣參數(shù)為7×7。
假設(shè)原圖中有一候選框尺寸為249×249,映射到共享特征圖上的尺寸為26.75×26.75,在程序計(jì)算的時(shí)候會(huì)進(jìn)行取整操作,即第1次量化,得到的特征圖尺寸為26×26。根據(jù)ROIPooling的采樣參數(shù)為7×7,即ROIPooling后固定生成尺寸為7×7的特征圖,所以,將上面在特征圖上映射的26×26的候選區(qū)域劃分成7×7個(gè)同等面積的小區(qū)域,每個(gè)小區(qū)域的邊長(zhǎng)為26/7=3.71,即3.71×3.71,此時(shí),進(jìn)行第2次量化,故小區(qū)域尺寸變成3×3,那么在每個(gè)小區(qū)域里取出最大的像素作為區(qū)域代表,組成7×7的特征圖??梢钥闯?,經(jīng)過(guò)兩次量化操作,即將浮點(diǎn)數(shù)取整,把原本映射到共享特征圖上的尺寸為26.75×26.75的候選框縮小成尺寸為21×21的候選框,這樣的像素偏差定會(huì)影響到后接網(wǎng)絡(luò)的回歸定位,尤其是小目標(biāo)物體。顯然,這樣會(huì)對(duì)小尺寸的稻穗檢測(cè)造成不利的影響。而ROIAlign使用雙線(xiàn)性?xún)?nèi)插法來(lái)取代ROIPooling的取整操作,保留了浮點(diǎn)數(shù),于是本文選擇ROIAlign來(lái)替代ROIPooling,能夠獲得更精準(zhǔn)的效果。
具體地,設(shè)置ROIAlign的采樣點(diǎn)為4,即把每個(gè)3.82×3.82小區(qū)域平分為4個(gè)小單元,采用雙線(xiàn)性插值算法計(jì)算每個(gè)小單元的中心位置像素值,得到4個(gè)小單元中心點(diǎn)的像素值。然后再取這4個(gè)像素值的最大值作為這個(gè)小區(qū)域的像素值,同樣地,7×7個(gè)這樣的小區(qū)域得到7×7個(gè)像素值,組成7×7的特征圖。圖10所示為ROIAlign采樣獲取小區(qū)域像素值的操作過(guò)程。
本文自制了3類(lèi)數(shù)據(jù)集對(duì)提出的模型進(jìn)行測(cè)試。首先,對(duì)不同聚類(lèi)K值(選取6~12)下優(yōu)化后模型的檢測(cè)精度進(jìn)行試驗(yàn),確定最佳聚類(lèi)參數(shù);然后分析不同優(yōu)化操作下的網(wǎng)絡(luò)檢測(cè)性能以及加入聚類(lèi)對(duì)優(yōu)化后模型檢測(cè)精度的影響,最后,為驗(yàn)證本文提出模型在稻穗檢測(cè)上的優(yōu)勢(shì),與SSD和YOLO等One-stage網(wǎng)絡(luò)模型的檢測(cè)精度進(jìn)行對(duì)比分析。其中,目標(biāo)檢測(cè)精度以平均精度均值(Mean average precision,mAP)為評(píng)估標(biāo)準(zhǔn),平均精度均值是各類(lèi)別平均精度(Average precision, AP)的平均值。
試驗(yàn)運(yùn)行環(huán)境為Inteli9 9900K CPU、主頻3.40 GHz、內(nèi)存64 GB,GPU為NVIDIA 2080ti,操作系統(tǒng)為Ubuntu 16.04LTS,CUDA版本為10.0,以TensorFlow 14.0為深度學(xué)習(xí)框架,編程語(yǔ)言為Python 3.7。
本文目標(biāo)檢測(cè)網(wǎng)絡(luò)在訓(xùn)練前,先在ImageNet數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,以初始化其參數(shù),然后再在本文數(shù)據(jù)集上進(jìn)行遷移學(xué)習(xí)和微調(diào)。訓(xùn)練階段的網(wǎng)絡(luò)超參數(shù)設(shè)計(jì)如表2所示。網(wǎng)絡(luò)訓(xùn)練具體步驟為:
表2 模型訓(xùn)練超參數(shù)
(1)采用ImageNet預(yù)訓(xùn)練模型進(jìn)行參數(shù)初始化,獨(dú)立訓(xùn)練RPN網(wǎng)絡(luò)。
(2)仍用ImageNet預(yù)訓(xùn)練模型進(jìn)行參數(shù)初始化,但是使用步驟(1)RPN網(wǎng)絡(luò)產(chǎn)生的候選區(qū)域作為輸入,訓(xùn)練Fast R-CNN網(wǎng)絡(luò)。
(3)使用步驟(2)的Fast R-CNN網(wǎng)絡(luò)參數(shù)重新初始化RPN網(wǎng)絡(luò),但是把RPN和Fast R-CNN共享的卷積層的學(xué)習(xí)率設(shè)置為0,意味著不更新,僅僅更新RPN特有的網(wǎng)絡(luò)層,重新訓(xùn)練,此時(shí)2個(gè)網(wǎng)絡(luò)已經(jīng)共享了所有公共的卷積層。
(4)固定RPN和Fast R-CNN共享的網(wǎng)絡(luò)層,加入Fast R-CNN特有的網(wǎng)絡(luò)層,形成一個(gè)統(tǒng)一的網(wǎng)絡(luò),繼續(xù)訓(xùn)練,微調(diào)Fast R-CNN特有的網(wǎng)絡(luò)層。
K-means聚類(lèi)中的K代表了先驗(yàn)框劃分的精細(xì)程度,理論上,其值選取得越大,對(duì)標(biāo)注框聚類(lèi)得到先驗(yàn)框的尺寸將更加具有代表性,能夠更精細(xì)地表征稻穗尺寸,RPN網(wǎng)絡(luò)預(yù)測(cè)的候選區(qū)域就越精確,最終的目標(biāo)檢測(cè)精度也會(huì)越高,但是聚類(lèi)過(guò)程涉及的計(jì)算資源就越多,同時(shí)模型復(fù)雜度高,網(wǎng)絡(luò)訓(xùn)練所耗費(fèi)的時(shí)間也不斷增加。
在原始的RPN網(wǎng)絡(luò)中,共享特征圖上的每個(gè)點(diǎn)生成9個(gè)先驗(yàn)框作為初始候選區(qū)域。據(jù)此本試驗(yàn)的K以9為中心,取值范圍為6~12,分析不同K值對(duì)網(wǎng)絡(luò)訓(xùn)練時(shí)間以及檢測(cè)精度的影響,試驗(yàn)結(jié)果如圖11所示。
由圖11a可知,當(dāng)K增大時(shí),聚類(lèi)時(shí)間以接近線(xiàn)性增長(zhǎng)的速度越來(lái)越大。這是因?yàn)樵诰垲?lèi)過(guò)程中,聚類(lèi)數(shù)K表示把訓(xùn)練集的所有標(biāo)注框分類(lèi),從K-1類(lèi)到K類(lèi)就需要增加計(jì)算所有標(biāo)注框到第K個(gè)聚類(lèi)中心框的距離。
由圖11b可知,隨著K越來(lái)越大,平均每幅圖像訓(xùn)練時(shí)間逐步增加。原因是當(dāng)先驗(yàn)框的數(shù)量逐漸增大時(shí),共享特征圖上每個(gè)候選框數(shù)量越來(lái)越多,候選區(qū)域產(chǎn)生的樣本數(shù)量增大,增加了網(wǎng)絡(luò)回歸層的計(jì)算量,導(dǎo)致訓(xùn)練時(shí)間更長(zhǎng)。圖中紅色點(diǎn)表示具有原始RPN的Faster R-CNN檢測(cè)模型的訓(xùn)練用時(shí),該模型較K=9時(shí)的模型用時(shí)更長(zhǎng),這說(shuō)明在設(shè)定相同數(shù)量的先驗(yàn)框時(shí),通過(guò)對(duì)標(biāo)注框聚類(lèi)統(tǒng)計(jì)取代人工設(shè)計(jì)先驗(yàn)框尺寸的方式,更適合網(wǎng)絡(luò)自身學(xué)習(xí),驗(yàn)證了本文方法的有效性。
由圖11c可知,隨著K越來(lái)越大,平均精度均值整體呈上升趨勢(shì);當(dāng)K為11或12時(shí),平均精度均值已趨于穩(wěn)定或有下降趨勢(shì)。原因?yàn)椋孩佼?dāng)K較小時(shí),先驗(yàn)框集合的數(shù)量比較少,不能很好地覆蓋圖像上目標(biāo)可能出現(xiàn)的區(qū)域,造成模型對(duì)部分稻穗出現(xiàn)漏檢的情況。②當(dāng)K增大至10的過(guò)程中,尺寸更小的先驗(yàn)框更能夠表征稻穗的尺寸,精度隨之提升,其中K=9的檢測(cè)精度比未加入聚類(lèi)的模型提高了0.5個(gè)百分點(diǎn)。③隨著K繼續(xù)增長(zhǎng)(11或12),本文認(rèn)為在共享特征圖上生成的先驗(yàn)框數(shù)量已趨近于飽和,原因在于一方面剔除超過(guò)圖像邊界的先驗(yàn)框更多,另一方面,后續(xù)的非極大值抑制過(guò)程會(huì)篩除大量重疊率高的候選區(qū)域。因此,更多的先驗(yàn)框?qū)μ岣邫z測(cè)精度并不起作用。
因聚類(lèi)獲取先驗(yàn)框的步驟能夠脫離整個(gè)網(wǎng)絡(luò)單獨(dú)進(jìn)行,且聚類(lèi)算法運(yùn)行時(shí)間遠(yuǎn)小于Faster R-CNN模型的訓(xùn)練時(shí)間,故本文權(quán)衡模型訓(xùn)練用時(shí)和平均精度均值來(lái)選定最優(yōu)的K值。由圖11b、11c可知,訓(xùn)練時(shí)間隨K增大而增大,當(dāng)K為11或12時(shí),模型的檢測(cè)精度已有下降趨勢(shì)。考慮模型訓(xùn)練用時(shí)和檢測(cè)精度,最終選定K為10。
為了驗(yàn)證本文提出的優(yōu)化策略能夠有效地改進(jìn)基于Inception_ResNet-v2特征提取網(wǎng)絡(luò)的Faster R-CNN模型對(duì)小目標(biāo)稻穗檢測(cè)的不足,本文采用3類(lèi)不同時(shí)期稻穗的數(shù)據(jù)集,通過(guò)試驗(yàn)分析了不同優(yōu)化操作下的網(wǎng)絡(luò)檢測(cè)性能以及對(duì)加入聚類(lèi)優(yōu)化后的模型進(jìn)行測(cè)試,結(jié)果分別如表3、4所示。
表3 不同優(yōu)化操作下的網(wǎng)絡(luò)檢測(cè)平均精度
由表3可知,基于Faster R-CNN框架,僅采用Inception_ResNet-v2為特征提取網(wǎng)絡(luò)的原始模型的mAP為77.9%;引入空洞卷積的優(yōu)化模型較原始模型的mAP提高了1.0個(gè)百分點(diǎn),在此基礎(chǔ)上,采用ROIAlign替代ROIPooling的優(yōu)化操作使得模型的mAP提高了0.5個(gè)百分點(diǎn);其中分別對(duì)Ⅰ、Ⅱ、Ⅲ類(lèi)的稻穗檢測(cè)精度提高了2.1、1.2、1.2個(gè)百分點(diǎn)。表明引入空洞卷積和ROIAlign的優(yōu)化策略能夠彌補(bǔ)Faster R-CNN算法應(yīng)用于本文數(shù)據(jù)集在檢測(cè)上的不足,在保證了對(duì)較大目標(biāo)稻穗檢測(cè)精度有較好提升的情況下,在一定程度上改善了對(duì)小目標(biāo)稻穗的識(shí)別精度。
由表4可知,加入聚類(lèi)后的模型(K=10)其稻穗平均精度均值為80.3%,較未加入聚類(lèi)模型提升0.9個(gè)百分點(diǎn)。試驗(yàn)結(jié)果表明RPN網(wǎng)絡(luò)引入K-means聚類(lèi)的先驗(yàn)框生成方式能夠更好地識(shí)別稻穗,驗(yàn)證了本文提出的加入聚類(lèi)優(yōu)化模型實(shí)現(xiàn)稻穗計(jì)數(shù)問(wèn)題的可行性。
表4 加入聚類(lèi)優(yōu)化后的模型檢測(cè)精度對(duì)比
如圖12所示,為了突出模型改進(jìn)前后對(duì)稻穗圖像檢測(cè)的效果,選取關(guān)鍵部分細(xì)節(jié)圖進(jìn)行展示。圖12a中從左到右依次為原始模型分別對(duì)Ⅰ、Ⅱ、Ⅲ類(lèi)稻穗圖像檢測(cè)結(jié)果細(xì)節(jié)圖??梢钥闯觯寄P偷臋z測(cè)結(jié)果存在檢測(cè)框不能完全覆蓋稻穗表面、稻穗漏檢、葉片誤識(shí)別的情況。而改進(jìn)后的模型具有更優(yōu)的檢測(cè)效果。
為進(jìn)一步驗(yàn)證改進(jìn)模型的有效性,本文基于相同的數(shù)據(jù)集,訓(xùn)練了SSD和YOLO系列檢測(cè)模型,并對(duì)其檢測(cè)精度進(jìn)行對(duì)比試驗(yàn),試驗(yàn)結(jié)果如圖13所示。由圖13可知,One-stage檢測(cè)網(wǎng)絡(luò)對(duì)于以稻穗為對(duì)象的數(shù)量多且尺度較小的目標(biāo)識(shí)別性能較低,其中SSD500與Faster R-CNN的檢測(cè)精度較接近。試驗(yàn)結(jié)果驗(yàn)證了本文方法對(duì)稻穗檢測(cè)具有優(yōu)越性。
提出了一種基于改進(jìn)Faster R-CNN的水稻稻穗檢測(cè)方法。首先,引入空洞卷積來(lái)優(yōu)化Inception_ResNet-v2特征提取網(wǎng)絡(luò),在此基礎(chǔ)上采用ROIAlign替代ROIPooling得到優(yōu)化模型;然后,對(duì)標(biāo)注框進(jìn)行聚類(lèi)分析,選取合適的先驗(yàn)框尺寸及數(shù)量,以?xún)?yōu)化RPN網(wǎng)絡(luò)中先驗(yàn)框生成方式;最終獲得基于改進(jìn)Faster R-CNN稻穗檢測(cè)模型。將稻穗數(shù)據(jù)集分為Ⅰ、Ⅱ、Ⅲ類(lèi),試驗(yàn)表明,本文方法對(duì)Ⅰ、Ⅱ、Ⅲ類(lèi)稻穗的檢測(cè)精度分別為79.7%、80.0%、81.2%,平均精度均值為80.3%,相較于原模型(僅用Inception_ResNet-v2作為特征提取網(wǎng)絡(luò))的平均精度均值提升了2.4個(gè)百分點(diǎn)。與SSD和YOLO系列檢測(cè)模型相比,改進(jìn)Faster R-CNN檢測(cè)模型能夠更有效地識(shí)別小目標(biāo)稻穗,提高了檢測(cè)精度。