国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卷積神經(jīng)網(wǎng)絡的小麥產(chǎn)量預估方法

2020-12-29 05:02王曼韜劉江川
浙江農業(yè)學報 2020年12期
關鍵詞:大田麥穗滑動

鮑 烈,王曼韜,*,劉江川,文 波,明 月

(四川農業(yè)大學 a. 信息工程學院;b. 農業(yè)信息工程重點實驗室,四川 雅安 625000)

我國是農業(yè)大國,小麥作為主要糧食之一,在農業(yè)生產(chǎn)中有著相當重要的地位,其產(chǎn)量是評估農業(yè)生產(chǎn)力的重要指標之一。對小麥產(chǎn)量的預估是農業(yè)生產(chǎn)中不可或缺的一步,準確的產(chǎn)量預估可以給農業(yè)生產(chǎn)管理決策提供較好的參考。小麥產(chǎn)量一般用單位面積內麥穗的個數(shù)來表征。對于單位面積內麥穗個數(shù)的統(tǒng)計,可分為2種方式:一種是人工計數(shù),結果較為準確,但是人力資源開銷大,并且缺乏統(tǒng)一的計數(shù)標準;另一種是利用數(shù)字圖像處理技術進行計數(shù),方便且省時省力,缺點是精確度不夠高。

近年來,隨著計算機技術水平的提高,農業(yè)信息技術緊隨其后,傳統(tǒng)農業(yè)生產(chǎn)技術與信息技術的結合將成為農業(yè)發(fā)展的必然趨勢。數(shù)字圖像處理技術也與農業(yè)生產(chǎn)結合得越來越緊密,在植物病蟲害[1-4]、植物計數(shù)[5-6]、草類識別[7-10]等領域應用廣泛。在小麥計數(shù)[11-12]上也有一些應用,比如劉哲等[13]改進機器學習算法kmeans,對麥穗圖像進行聚類,然后通過劃分連通域進行計數(shù);該方法的缺點是對于密集程度較高的小麥無法起到很好的效果,特別是對于重疊部分的小麥,無法準確識別,并且該算法對于正樣本和負樣本的對比度要求較高,若對比度太低,聚類的效果就相對較低。李毅念等[14]利用特定裝置以田間麥穗傾斜的方式獲取田間麥穗群體圖像,通過轉換圖像顏色空間RGB→HIS,提取飽和度S分量圖像,然后把飽和度S分量圖像轉換成二值圖像,再經(jīng)細窄部位黏連去除算法進行初步分割,然后由邊界和區(qū)域的特征參數(shù)判斷出黏連的麥穗圖像,并利用基于凹點檢測匹配連線的方法實現(xiàn)黏連麥穗的分割,進而識別出圖像中的麥穗數(shù)量。范夢揚等[15]采用SVM學習的方法,精確提取小麥麥穗輪廓,同時構建麥穗特征數(shù)據(jù)庫,對麥穗的二值圖像細化得到麥穗骨架,最后通過計算麥穗骨架的數(shù)量和麥穗骨架有效交點的數(shù)量,得到圖像中麥穗的數(shù)量。此外,張領先等[16]利用卷積神經(jīng)網(wǎng)絡建立麥穗識別模型,但其使用的滑窗尺寸固定,并且是依靠經(jīng)驗設定;而麥穗經(jīng)常大小不一、形狀各異,會使得檢測效果大打折扣。其他類似的應用比如張建華等[17]改進VGG卷積神經(jīng)網(wǎng)絡建立棉花病蟲害識別模型,陳含等[18]利用Sobel算子進行邊緣檢測,對麥穗進行圖像分割,從而進行麥穗識別計數(shù)。

河南省新鄉(xiāng)、漯河兩地盛產(chǎn)小麥,并且平原面積大,舒坦遼闊,易于試驗的施展。小麥預估產(chǎn)量作為生產(chǎn)指導的重要參考,對當?shù)剞r戶有著重要意義;但由于自動化技術相對落后,只能進行人力統(tǒng)計,工作繁瑣且結果誤差較大。為解決該問題,在當?shù)剞r戶提供場地、設備的基礎上,利用大疆無人機“御”Mavic在河南省新鄉(xiāng)、漯河兩地進行圖像采集,構建研究樣本數(shù)據(jù)集。針對麥穗計數(shù)任務提出一種CNN模型,簡化CNN結構,減少模型參數(shù),提高模型檢測速度。實現(xiàn)對復雜背景下麥穗的快速計數(shù)和產(chǎn)量預估。本研究的優(yōu)勢在于不用進行繁瑣的人工提取特征,并且算法對光照等環(huán)境條件具有較強的適應性和魯棒性。

1 材料與方法

1.1 材料

利用大疆無人機“御”Mavic在河南省新鄉(xiāng)、漯河兩地進行圖像采集,無人機工作高度為距地10 m。為了增強模型對小麥接近成熟前形態(tài)的泛化能力,在小麥泛黃前進行為期3個月的圖像采集工作,經(jīng)過篩選累計采集麥穗圖像1 691張,新鄉(xiāng)、漯河分別為867和824張,圖像分辨率為4 056 pixel×3 040 pixel,采集得到的原圖如圖1所示。為了進行產(chǎn)量預估,將圖像裁剪至紅框內邊,1個紅框覆蓋的面積為1 m2,即數(shù)據(jù)集中每張圖像所代表的是1 m2內所有的麥穗。隨機抽取100張作為測試圖像,再分別對余下1 591張圖片中的麥穗、葉子和背景進行采樣。每張圖像約采集20~30個麥穗,共計31 505張作為模型的正樣本集。同樣的方式采集葉子和背景共計29 987張作為負樣本集,并且統(tǒng)一像素為64 pixel×64 pixel。研究中將數(shù)據(jù)集劃分為訓練集、驗證集和測試集,數(shù)據(jù)集的構成如表1所示。

圖1 無人機所拍攝的圖像Fig.1 Images taken by UAV

表1 數(shù)據(jù)集結構

1.2 方法

1.2.1 試驗環(huán)境與模型訓練

試驗硬件環(huán)境為:Intel i7處理器(內存8GB),NVIDIA GeForce GTX1060 GPU(顯存6GB),64位Windows10系統(tǒng)。軟件環(huán)境為:Python3.6,TensorFlow深度學習框架。使用隨機梯度下降進行優(yōu)化,動量為0.9,總共訓練100 000次,初始學習率設為0.001,每隔3 000次進行衰減系數(shù)為0.1的學習率衰減,batch size設為128,采用K折交叉驗證。

1.2.2 CNN網(wǎng)絡模型

本文設計的CNN模型由卷積層、池化層、全連接層和SoftMax層組成[19]。輸入圖像是多張從無人機拍攝的圖像上截取的單一麥穗,統(tǒng)一像素為48 pixel×48 pixel。整個網(wǎng)絡分為5個卷積層、4個池化層、2個全連接層,以及最后的SoftMax層。網(wǎng)絡結構為:卷積層1、2各包含32個大小為3×3的卷積核,卷積層3包含64個大小為3×3的卷積核,卷積層4、5各包含128個大小為3×3的卷積核,卷積步長皆為2。4個池化層皆為最大池化,大小為2×2,穿插在卷積層之間,可以極大程度地減少參數(shù)量,降低計算成本。2個全連接層將特征進行矢量化,全連接層1包含512個神經(jīng)元,全連接層2包含100個神經(jīng)元;全連接層之后加入Dropout層,隨機丟棄1/2的神經(jīng)元,減少過擬合的風險。最后利用SoftMax層將向量劃分為麥穗和背景2個類別,網(wǎng)絡結構如圖2所示。

1.2.3 基于高斯圖像金字塔的多尺度滑窗

利用高斯金字塔[20-21]進行多尺度檢測,可以模仿圖像的不同尺度,也是模仿人類的視覺,比如先近距離觀察一幅圖像,然后在遠距離觀察,看到的圖像效果是不同的。前者會比較清晰,后者會比較模糊,前者比較大,后者比較小,通過前者能看到圖像的細節(jié)信息,通過后者能看到圖像的輪廓信息。為了降低數(shù)據(jù)集圖片縮放帶來的影響,并且實現(xiàn)多尺度檢測麥穗,本文采用基于高斯圖像金字塔的多尺度滑動窗口來對圖像進行檢測,金字塔縮放因子為1.2,即對原始圖像(第0層)依次進行1/1.2縮放比例進行降采樣,得到共計8張圖片(包括原始圖像)。然后利用不同大小的滑動窗口在圖像上滑動,每滑動一個步長,就對窗口進行一次麥穗檢測。由于是對整張圖像進行滑動,所以不會漏掉可能出現(xiàn)麥穗的位置,這樣可以極大地降低算法的漏檢率。并且,利用圖像金字塔可以實現(xiàn)多尺度檢測麥穗,當模型漏檢時,圖像進行縮放以后可以提高漏檢目標的檢出率。

圖2 CNN網(wǎng)絡結構Fig.2 CNN network structure

高斯金字塔構建過程如下:

(1)先將圖像放大1倍,在放大的圖像上構建高斯金字塔。

(2)對擴大的圖像進行高斯模糊,8幅模糊的圖像構成一個八度[八度即在特定尺寸(長寬比)下,經(jīng)過不同高斯核模糊化之后的圖像集合,八度的集合就是高斯金字塔],然后對該八度下最模糊的一幅圖像進行下采樣。

(3)下采樣的過程為長和寬分別縮短1倍,圖像面積變?yōu)樵瓉硭姆种唬@幅圖像就是下一個八度的初始圖像。

(4)在初始圖像上完成屬于這個八度的高斯模糊處理,以此類推,完成整個算法所需要的所有八度構建,構建完所有的八度,高斯金字塔就構建完成。構建出的金字塔如圖3所示。

1.2.4 具體檢測方式

先對整張圖片建立圖像金字塔,然后以3種

圖3 圖像金字塔Fig.3 Image pyramid

不同縱橫比的滑動窗口[22]在整幅圖像上滑動,滑動步長取為16。3種縱橫比的滑動窗口如圖4所示。每種顏色代表一種縱橫比。每滑動一次,對3個滑動窗口進行一次檢測,并且整個滑動過程以綠色框為主要滑動窗口,即每次滑動計算都以綠色框為單位,其他2個框隨之相對滑動。最后取其中判為麥穗的概率值得分最高的框作為最終的結果。

圖4 三種縱橫比的滑動窗口Fig.4 Sliding windows by three aspect ratios

對于一張像素為464 pixel×464 pixel的麥穗圖像,根據(jù)圖形金字塔需要檢測8種尺度,加上滑動窗口的3種縱橫比,步長16,則每張圖像總共需要分類15 000次,如圖5所示。

圖5 滑動窗口效率Fig.5 Efficiency of sliding window

1.2.5 非極大值抑制(NMS)

進行滑動窗口預測后的結果中存在著大量重疊率較高的目標框,為了避免重復計數(shù),本文利用非極大值抑制[23]去掉重疊率較高的框。非極大值抑制實際上就是一個迭代的過程,算法的具體過程如下:

(1)將所有的框以概率得分的大小進行排序。

(2)選取得分最大的框,并計算它與相鄰的框的IOU,得分高于閾值則刪除。

(3)從剩下的框中選取概率得分最大者,重復迭代2、3過程,直到找到所有目標區(qū)域。

IOU的計算公式為

(1)

式(1)中:A、B代表2個相鄰的框,RIOU代表這個2個框重疊的比率,Area()為面積函數(shù)。目標檢測任務中,一般設定IOU閾值為0.5,也有設置梯度閾值的算法比如IOUNet。而在本研究中,麥穗作為檢測目標,其密度較大,數(shù)量較多,體積小,并且相對其他數(shù)據(jù)集(如VOC、COCO等)來說,有著更加復雜的背景。所以本文設置IOU閾值為0.2,以適應其大密度,避免留下過多的重復計數(shù)框。

1.2.6 小麥產(chǎn)量預估方法

對小麥產(chǎn)量進行預估時,與數(shù)據(jù)集構建的步驟一樣,同樣利用紅框對無人機進行參數(shù)(飛行高度、聚焦等)調整,使鏡頭剛好能將紅框包含進去;然后利用無人機對大田進行隨機采樣,將采樣的圖像根據(jù)像素值(根據(jù)紅框像素值范圍,可以定位到紅框)截取紅框內部部分圖像作為數(shù)據(jù)集,再進行麥穗計數(shù),取每次采樣中麥穗個數(shù)的平均值,得到每平方大田麥穗數(shù)量的預估值。設總的麥穗數(shù)量為N,每m2大田麥穗數(shù)量的預估值為t,大田總面積為a(m2),則計算公式為

N=t×a。

(2)

此外,如需要對麥穗產(chǎn)量進行預估,則需要對每個麥穗的質量進行隨機采樣,取其平均值。設總的麥穗產(chǎn)量(質量)為M,每個麥穗的平均質量為m,則麥穗的預估產(chǎn)量(質量)為

M=N×m=t×a×m。

(3)

2 結果與分析

2.1 試驗結果評估

對麥穗檢測模型進行訓練,該模型在驗證集上的分類準確率為99.3%,在測試集上的分類準確率為98.7%。為了驗證整個檢測模型的精度及其有效性,利用預留的100幅單位面積的麥穗圖像做測試,試驗結果如表2所示。人工統(tǒng)計所有麥穗目標的數(shù)量和正確位置,麥穗目標共計12 530個,通過算法檢測共計12 632個麥穗目標,其中正確找出麥穗的目標框為12 288個,錯誤把背景或葉子當作麥穗的目標框數(shù)為298個,遺漏43個正確目標,與人工統(tǒng)計的誤差數(shù)為341個,正確檢測率為97.30%。圖6為實驗結果中的樣例圖。

表2 試驗結果統(tǒng)計

VGG-16是一種很經(jīng)典的輕量級網(wǎng)絡,與本文網(wǎng)絡量級接近,因此,利用麥穗數(shù)據(jù)集訓練VGG-16模型與本文網(wǎng)絡模型進行對比,驗證本文網(wǎng)絡的有效性,試驗結果如表3所示。VGG-16的誤檢率比本文網(wǎng)絡高0.29%,漏檢率高2.04%,總誤差率高2.33%。說明Wheat-Net檢測精度高于VGG-16,并且由于Wheat-Net的網(wǎng)絡參數(shù)少于VGG-16,Wheat-Net檢測一張圖像只需要0.115 s,而VGG-16需要0.433 s。之所以會得到這個結果,在于VGG-16的輸入圖像像素為224 pixel×224 pixel,單個麥穗根本無法達到這么大的尺寸,必須對圖像進行相應的縮放,從而導致圖像一定程度的失真。而本文的模型是針對麥穗常見尺寸并遵循卷積神經(jīng)網(wǎng)絡結構而設計,能夠提取真實尺寸的麥穗目標特征,所以分類效果更好;并且因為參數(shù)量小,所以速度更快。

表3 VGG-16和Wheat Net方法的結果對比

最后從100幅圖像中隨機抽取10張圖像的統(tǒng)計結果進行展示,結果如表4所示。算法計數(shù)與人工統(tǒng)計的誤差率最高為7.46%,最低為1.87%,并且誤差來源多數(shù)為誤檢,說明算法的誤差多為錯把背景或葉子判定為麥穗,而漏掉的麥穗目標并不多。后續(xù)優(yōu)化可以考慮從減少錯判的方向入手,通過適當增加背景和葉子的樣本量等方式提高模型的泛化能力。表4還羅列出了算法在每張圖中正確框出麥穗目標的數(shù)量、錯誤識別數(shù)量,遺漏的麥穗目標數(shù)量、誤差數(shù)(誤差數(shù)=誤檢數(shù)+漏檢數(shù))和誤差率。

圖6 試驗結果樣例Fig.6 An example of test results

表4 隨機10幅圖像測試結果

為了驗證在不同光照條件下,本算法的實際應用效果,隨機選取50張中午拍攝和50張傍晚拍攝的圖像進行檢測,檢測結果如圖7和表5所示。在隨機選取的50張測試圖像中傍晚拍攝的檢測誤差率為3.25%,中午拍攝的檢測誤差率為4.71%,差異不顯著,說明本文算法對光照條件敏感度較低。原因在于樣本集中包括了不同光照條件下的麥穗樣本,所以對光照條件不敏感;并且為了使樣本多樣化,從而使模型更魯棒,在進行樣本篩選時,盡量選擇了背景不同、光照不同的樣本。

表5 在不同光照條件下的照片測試對比

a,傍晚拍攝;b,中午拍攝。a, Pictures taken at nightfall; b, Pictures taken at noon.圖7 不同光照條件下拍攝的照片F(xiàn)ig.7 Pictures takenunder different lightingconditions

2.2 與其他算法的對比分析

當前基于傳統(tǒng)計算機視覺算法實現(xiàn)麥穗計數(shù)的方法很多,也有基于深度學習的方法。張婷婷[24]提出改進堆疊沙漏網(wǎng)絡對小麥群體圖像的小麥麥穗計數(shù)的方法,能提高對存在遮擋、交叉的麥穗的檢測效果,并且引入了注意力機制來提高麥穗的分類準確率,檢測平均準確率為91.37%;但是該方法引入了大量的參數(shù),降低了網(wǎng)絡檢測速度,同時未對小目標麥穗做出對應的處理;而在現(xiàn)實場景中,小目標麥穗所占比重很大,這也導致了該算法精確度無法進一步提高。高云鵬[25]對比了目標檢測算法YOLOv3與Mask R-CNN對大田小麥麥穗的檢測效果,其中YOLOv3的識別準確率為87.12%,單張檢測時間為0.12 s,Mask R-CNN的識別準確率為97.00%,單張檢測時間為0.94 s,YOLOv3準確率低,速度快,Mask R-CNN準確率高,速度慢。李鵬[26]在不同的顏色空間下,通過對比各個顏色通道的灰度圖像與直方圖,選取出分割效果較好的RGB-灰度圖、Lab-L、HSV-V顏色空間,采用多閾值分割算法實現(xiàn)小麥麥穗與土地、麥葉的分割;同時結合小麥麥穗的形態(tài)學特征對其進行開運算處理,提取目標麥穗的平均準確度為96.55%。這4種算法是目前業(yè)界較為優(yōu)秀的方法。本文方法與這4種方法進行比較,結果如表6所示。本文算法的漏檢率0.34%,誤差率2.70%,均為最低,誤檢率略高于Mask R-CNN,準確率為97.30%,高于其他算法,且檢測1張圖像所需要的時間為0.115 s,優(yōu)于其他算法。

表6 不同算法的實驗結果對比

2.3 麥穗估產(chǎn)試驗評估

以新鄉(xiāng)1號大田、新鄉(xiāng)2號大田、漯河1號大田、漯河2號大田為例,分別進行圖像采樣,各采集100張圖像進行麥穗計數(shù)任務,并隨機在每片大田中各采樣100株麥穗,統(tǒng)計各大田單株麥穗的平均質量m,設算法對每平方大田麥穗數(shù)量的預估平均值為t,大田總面積為a。計算得到新鄉(xiāng)1號大田(42 000 m2)、新鄉(xiāng)2號大田(30 000 m2)、漯河1號大田(18 000 m2)、漯河2號大田(24 000 m2)的預估產(chǎn)量分別為29 728.44、20 287.20、11 979.90、15 522.24 kg(表7)。預估產(chǎn)量單位為kg·m-2,4片大田預估產(chǎn)量的誤差率分別為新鄉(xiāng)1號大田2.90%、新鄉(xiāng)2號大田3.03%、漯河1號大田3.08%,誤差率最高為漯河2號大田,達到4.84%,誤差產(chǎn)生原因是人工稱量和隨機采樣可能造成誤差??傮w來說,產(chǎn)量預估誤差在可接受范圍內。

表7 大田小麥產(chǎn)量預估數(shù)據(jù)統(tǒng)計

3 結論與討論

本文采集并制作了麥穗數(shù)據(jù)集SICAU-WHEAT,針對農業(yè)生產(chǎn)需求,以及小麥的形態(tài)特征,設計了神經(jīng)網(wǎng)絡模型,在保證精確度的同時盡可能地減少模型的參數(shù),縮短計數(shù)所需的時間。利用滑動窗口結合圖像金字塔的方式實現(xiàn)多尺度檢測,提高算法對各種尺度目標的識別精度,降低麥穗的漏檢率和誤檢率。從試驗結果可以得出以下結論:(1)檢測算法的誤差多來源于誤判,對葉子和麥穗的區(qū)分精度不夠理想,說明模型對麥穗和葉子分類的泛化能力不足,后續(xù)可以通過增加葉子樣本集和引入細粒度分類等方式進行優(yōu)化;(2)對比中午和傍晚的檢測結果可以看出,模型對光照條件不敏感,可以對不同光照條件下的麥穗圖像進行檢測;(3)與其他先進算法相比,本文算法檢測精度為97.3%,漏檢率0.34%,優(yōu)于其他算法;(4)產(chǎn)量預估試驗中,本文的預估方法平均誤差率為2.7%,能夠較為準確地對小麥產(chǎn)量進行預估。綜上所述,本文算法可以適應光照條件的變化,克服葉子和其他雜物的干擾,對麥穗進行快速檢測,并統(tǒng)計其數(shù)量,進而實現(xiàn)對麥穗的產(chǎn)量預估。

猜你喜歡
大田麥穗滑動
用于彎管機的鋼管自動上料裝置
彩虹色的雨
大田百余名留守兒童有了“愛心家長”
一瓶水的微笑
“大田后生仔”歌唱家鄉(xiāng)
針對移動端設計的基于滑動響應方式的驗證碼研究
Big Little lies: No One Is Perfect
小田變大田破解農地零碎化
三十里鋪(外二首)
用于滑動部件的類金剛石碳覆膜特性及其應用