張寶才,高瑞翔
(北京簡(jiǎn)巨科技有限公司,北京市 100081)
中國(guó)是一個(gè)人口眾多的國(guó)家,而糧食問(wèn)題已經(jīng)成為影響我國(guó)國(guó)民生活的一個(gè)重大問(wèn)題。而玉米一直屬于我國(guó)主要的糧食作物,在我國(guó)的糧食產(chǎn)量中有著重要的位在我們的糧食產(chǎn)量當(dāng)中有著很重要的地位置。如何準(zhǔn)確的監(jiān)測(cè)、預(yù)測(cè)玉米的產(chǎn)量是很多人關(guān)心的問(wèn)題。而在玉米的生長(zhǎng)過(guò)程當(dāng)中玉米的出苗情況很大的決定了玉米的產(chǎn)量?;诖?,如何準(zhǔn)確的識(shí)別監(jiān)測(cè)玉米的出苗率一直是人們研究的重點(diǎn)。由于無(wú)人機(jī)技術(shù)以及計(jì)算機(jī)技術(shù)的高速發(fā)展,計(jì)算機(jī)視覺等技術(shù)已經(jīng)在生活中廣泛的使用,如人臉識(shí)別[1]、車輛檢測(cè)[2]等諸多技術(shù)。對(duì)此,將計(jì)算機(jī)視覺技術(shù)引入玉米苗識(shí)別也是很好的應(yīng)用前景。隨著無(wú)人機(jī)的日益成熟,使得無(wú)人機(jī)平臺(tái)的新型近地遙感技術(shù)備受農(nóng)業(yè)生產(chǎn)者青睞[3]。而目前主要的玉米苗識(shí)別方法是基于色彩空間轉(zhuǎn)換,使用閾值發(fā)來(lái)區(qū)別前景與背景進(jìn)行玉米苗的提取[4]。但此方法受限于閾值選取,對(duì)于較為模糊的玉米苗難以提取。2010年馬彥平提出了基于雙目立體視覺的大田玉米生長(zhǎng)參數(shù)的夏玉米長(zhǎng)勢(shì)監(jiān)測(cè)方法,但是此方法由于受復(fù)雜地理環(huán)境的影響較大。而本文是結(jié)合無(wú)人機(jī)遙感技術(shù)于計(jì)算機(jī)視覺技術(shù)進(jìn)玉米苗檢測(cè)。
隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,計(jì)算機(jī)視覺已經(jīng)于諸多產(chǎn)業(yè)相結(jié)合,在人臉識(shí)別,汽車識(shí)別等多個(gè)領(lǐng)域都有重大的突破性發(fā)展。但是在玉米苗的識(shí)別檢測(cè)上卻還處于一個(gè)未知的領(lǐng)域。因此玉米苗的智能識(shí)別研究,不僅可以對(duì)玉米產(chǎn)業(yè)的決策做出貢獻(xiàn),還能促進(jìn)計(jì)算機(jī)視覺在農(nóng)業(yè)領(lǐng)域的應(yīng)用。同時(shí)本文結(jié)合無(wú)人機(jī)遙感技術(shù),使用無(wú)人機(jī)遙感數(shù)據(jù)結(jié)合計(jì)算機(jī)視覺進(jìn)行識(shí)別,不僅減少人工識(shí)別的問(wèn)題,同時(shí)解決了玉米苗數(shù)據(jù)獲取的問(wèn)題。
本文主要以甘肅省臨澤縣作物主要的實(shí)驗(yàn)區(qū)域,臨澤縣地處河西走廊中部,縣域內(nèi)地勢(shì)平坦,土質(zhì)肥沃,灌溉便利,光熱資源豐富,晝夜溫差大,在優(yōu)越的自然條件下生產(chǎn)的玉米種子籽粒飽滿、發(fā)芽率高、水分含量低、商品性好,是國(guó)內(nèi)乃至世界最佳的種子繁育地帶,被譽(yù)為“天然玉米種子生產(chǎn)王國(guó)”。玉米制種產(chǎn)業(yè)的發(fā)展,有效帶動(dòng)了該縣農(nóng)民增收和農(nóng)業(yè)農(nóng)村經(jīng)濟(jì)的持續(xù)繁榮。
因此本文選取該縣作為主要研究區(qū)域,并采用無(wú)人機(jī)航飛影像數(shù)據(jù),分辨率為0.01 m。我們所選擇的玉米苗區(qū)域包含了多種玉米苗形態(tài),能夠提供足夠的玉米苗數(shù)據(jù)。
圖1 實(shí)驗(yàn)區(qū)無(wú)人機(jī)數(shù)據(jù)概況
如圖1所示,為實(shí)驗(yàn)取主要的玉米苗圖像情況,從圖1.a、圖1.b、圖1.c、圖1.d這四張圖中可以看出,相同實(shí)驗(yàn)取的玉米苗,形態(tài)、顏色、背景地物都有所不同,主要是由于玉米苗的生長(zhǎng)狀況有所不同,因此對(duì)玉米苗的識(shí)別造成了困難。
由于目前沒有相關(guān)的玉米苗數(shù)據(jù)集,因此需要自己制作玉米苗目標(biāo)檢測(cè)的數(shù)據(jù)集。實(shí)驗(yàn)區(qū)航飛影像大小為75 966像素×20 881像素,從中選取依靠實(shí)驗(yàn)取,裁剪得到200×200大小的樣本區(qū)域1 500張作為訓(xùn)練集。之所以選擇實(shí)驗(yàn)區(qū)樣本大小為200×200是因?yàn)榭紤]到玉米苗非常密集,在選取樣本是若樣本區(qū)域過(guò)大會(huì)造成樣本制作是的困難。
本節(jié)使用LableImg軟件對(duì)圖像進(jìn)行標(biāo)注,如圖2所示。
圖2 軟件標(biāo)注示意圖
共計(jì)標(biāo)注候選框26 591個(gè),并根據(jù)VOC 2007數(shù)據(jù)格式進(jìn)行制作,分別將xml文件、png文件和訓(xùn)練文件放在Annotations、JPEGImages、ImageSets三個(gè)文件夾中。
Annotations文件主要是標(biāo)注文件,其中分別記錄了對(duì)應(yīng)圖像的類別、以及目標(biāo)框的位置信息。目標(biāo)框位置信息記錄了中4個(gè)值,分別為當(dāng)前目標(biāo)的最大最小x坐標(biāo),以及y坐標(biāo)的最大最小值.JPEGImages文件夾主要存放了所有所需訓(xùn)練預(yù)測(cè)的圖像,圖像類型可以是png、jpg、bmp等。會(huì)根據(jù)ImageSets中的訓(xùn)練文件讀取并使用。如下圖3所示。
ImageSets文件夾主要存放了4個(gè)txt文件,分別為test.txt、train.txt、trainval.txt、val.txt。以上4個(gè)txt主要用于網(wǎng)絡(luò)的測(cè)試,訓(xùn)練,訓(xùn)練測(cè)試以及驗(yàn)證。將生成的png圖像的文件名綴寫入txt中進(jìn)行訓(xùn)練。
圖3 JPEGImages文件圖像素材
本文主要使用基于Faster-Rcnn的目標(biāo)檢測(cè)方法對(duì)本文制作的數(shù)據(jù)集進(jìn)行訓(xùn)練與預(yù)處。Faster-Rcnn的目標(biāo)檢測(cè)方法是一種將卷積神經(jīng)網(wǎng)絡(luò)與目標(biāo)檢測(cè)相結(jié)合的目標(biāo)檢測(cè)方法[5]。通過(guò)卷積層對(duì)圖像特征進(jìn)行提取,在通過(guò)最近的目標(biāo)框回歸和分類回歸進(jìn)行類別和目標(biāo)框的確定。
對(duì)于卷積神經(jīng)絡(luò)來(lái)說(shuō),隨著卷積層的增多,網(wǎng)絡(luò)就能夠根據(jù)圖像獲取得到更多的特征信息,從而提高網(wǎng)絡(luò)的識(shí)別能力。對(duì)于玉米苗的航飛影像來(lái)說(shuō),由于目標(biāo)較小,切紋理顏色等信息較為模糊,需要使用特征提取能力更強(qiáng)的卷積層。但是由于卷積層的增對(duì),會(huì)出現(xiàn)梯度消失或者梯度爆炸的問(wèn)題,一般使用標(biāo)準(zhǔn)化的方法來(lái)解決,從而使得卷積神經(jīng)網(wǎng)絡(luò)能夠有很好的收斂。
對(duì)于殘差網(wǎng)絡(luò)[6]來(lái)說(shuō),利用殘差單元解決了梯度消失和梯度爆炸的問(wèn)題。殘差結(jié)構(gòu)如下圖4所示,殘差網(wǎng)絡(luò)結(jié)構(gòu)鏈接了以恒等映射層,將低維度的特征與高緯度的特征進(jìn)行連接。殘差網(wǎng)絡(luò)中單個(gè)結(jié)構(gòu)的輸出和輸入其實(shí)是多個(gè)卷積層的輸入和輸出的疊加,之后再經(jīng)過(guò)激活函數(shù)激活。將這種結(jié)構(gòu)集成起來(lái),就是殘差網(wǎng)絡(luò)模型。因此本文將Faster-Rcnn的特征提取更換為殘差網(wǎng)絡(luò)結(jié)構(gòu)[7]。
由于Faster-Rcnn中使用了RPN網(wǎng)絡(luò)結(jié)構(gòu),而RPN網(wǎng)絡(luò)當(dāng)中錨框大小的選擇對(duì)網(wǎng)絡(luò)有著至關(guān)重要的影像,而錨窗的大小時(shí)在圖像輸入[8],網(wǎng)絡(luò)訓(xùn)練之前就已經(jīng)認(rèn)為設(shè)定好了,原始的RPN網(wǎng)絡(luò)時(shí)在VOC數(shù)據(jù)集上使用的,對(duì)于每個(gè)滑動(dòng)的窗口都會(huì)擁有3種尺度以及三種長(zhǎng)寬比,通過(guò)不同的尺度以及不同的長(zhǎng)寬比共生成9種不同的錨框。其中對(duì)于網(wǎng)絡(luò)128、256、512為默認(rèn)的尺度參數(shù),1:2、1:1、2:1是默認(rèn)的長(zhǎng)寬比。因此本文通過(guò)對(duì)玉米苗結(jié)構(gòu)形態(tài)的分析[9],對(duì)錨框參數(shù)進(jìn)行了一定的修改和選擇,將尺度參數(shù)修改為8、16、32,新增錨框參數(shù)3:1、1:3。最后得到如下圖所示的識(shí)別結(jié)果。
圖4 JPEGImages文件圖像素材
本文使用TensorFlow-gpu 1.1.13 CUDA9.0,硬件使用2080ti顯卡的服務(wù)器。分別使用VGG16和res101為網(wǎng)絡(luò)特征的提取層,之后再使用對(duì)RPN網(wǎng)絡(luò)錨框進(jìn)行修改后的網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)實(shí)驗(yàn)對(duì)比,得到表1。
表1 不同網(wǎng)絡(luò)模型的精度比較
從表1可見隨著特征網(wǎng)絡(luò)特征提取層的修改,當(dāng)網(wǎng)絡(luò)的特征提取層由VGG16更換為Resnet101時(shí)網(wǎng)絡(luò)的處理速度變慢了,但是從mAP值可以明顯的看到,使用Resnet101網(wǎng)絡(luò)的精度從79.1%上升至82.1%。之后再在Resnet101的RPN網(wǎng)絡(luò)上進(jìn)行修改,可以發(fā)現(xiàn)mAP至提高了3.3%。
分別調(diào)整不同的錨框尺寸,并且使用不同的長(zhǎng)寬比進(jìn)行比較,目的是選出最合適的長(zhǎng)寬比以及錨框尺寸。我們確定相同的長(zhǎng)寬比之后對(duì)尺寸大小進(jìn)行改變,之后再確定尺寸大小對(duì)長(zhǎng)寬比進(jìn)行比對(duì),如下表2所示。
從表2可知,通過(guò)更改錨窗的尺寸和床寬鼻,可以提高網(wǎng)絡(luò)的檢測(cè)精度,相比于其他的長(zhǎng)寬比和尺寸來(lái)說(shuō),本文所用的長(zhǎng)寬比是效果最好的。
表2 不同尺寸長(zhǎng)寬比性能檢測(cè)
以航飛的玉米苗影像為數(shù)據(jù),使用LabelImg進(jìn)行樣本的標(biāo)注,再使用數(shù)據(jù)增強(qiáng)的相關(guān)方法,對(duì)數(shù)據(jù)進(jìn)行增強(qiáng),用來(lái)增加數(shù)據(jù)量,之后使用Faster-RCNN進(jìn)行訓(xùn)練,再訓(xùn)練前調(diào)整訓(xùn)練參數(shù),更改錨窗參數(shù)從而提高網(wǎng)絡(luò)預(yù)測(cè)的精度。最后對(duì)實(shí)驗(yàn)進(jìn)行結(jié)果比對(duì)。
根據(jù)本文針對(duì)玉米苗航飛影像的特征,通過(guò)分析得知特征提取層的網(wǎng)絡(luò)結(jié)構(gòu)會(huì)對(duì)網(wǎng)絡(luò)檢測(cè)結(jié)構(gòu)產(chǎn)生影像,因此分別使用VGG16和Resnet101這兩種不同結(jié)構(gòu)的特征提取網(wǎng)絡(luò)進(jìn)行比對(duì)分析,以及通過(guò)對(duì)RPN網(wǎng)絡(luò)的錨窗參數(shù)來(lái)對(duì)網(wǎng)絡(luò)結(jié)果進(jìn)行優(yōu)化。最后發(fā)現(xiàn),本文的優(yōu)化方法是確實(shí)可行的。
對(duì)于本文的玉米苗目標(biāo)識(shí)別,雖然對(duì)大部分玉米苗能夠很好的識(shí)別,但是由于玉米苗在航飛影像中目標(biāo)較小,并且有一部分目標(biāo)的紋理等特征十分不明顯對(duì)目標(biāo)檢測(cè)造成的阻礙,同時(shí)由于航飛影像的復(fù)雜性,再出現(xiàn)陰影以及影像模糊時(shí)會(huì)導(dǎo)致目標(biāo)檢測(cè)出現(xiàn)嚴(yán)重的漏檢。
從速度上,由于本文使用的網(wǎng)絡(luò)結(jié)構(gòu)為兩階段的方法,所有在識(shí)別速度上有所欠缺,而如何提高Fasterrcnn的識(shí)別速度,將會(huì)成為研究熱點(diǎn)。