本發(fā)明應用于圖像分割和農(nóng)業(yè)氣象觀測領域,具體涉及圖像特征提取與識別。研究基于深度學習的作物與背景的自動分割問題,提出基于rgb和hsi先驗閾值優(yōu)化卷積神經(jīng)網(wǎng)絡(rgb-hsi-cnn)的作物圖像分割提取覆蓋度方法,保留綠色植物的邊緣并解決光照等影響,區(qū)分作物與雜草及土地,得到綠色作物的覆蓋度。
背景技術:
農(nóng)作物生長觀測是農(nóng)業(yè)氣象觀測的一個重要部分,通過對作物特征參數(shù)的觀測可及時了解作物的生長狀況,便于采取各種管理措施,從而保證作物的正常生長。目前我國農(nóng)業(yè)氣象觀測依然主要依靠地面觀測人員按照《農(nóng)業(yè)氣象觀測規(guī)范》中的標準對農(nóng)作物進行實地取樣測量來完成,農(nóng)業(yè)氣象現(xiàn)代化建設相對滯后,迫切需要提高地面觀測及農(nóng)業(yè)氣象的自動化觀測能力。
作物的覆蓋度是其生長過程中重要生長參數(shù),它們直接或間接地反映了環(huán)境對作物綜合影響的結(jié)果,也對作物的其它生長特征參數(shù)和產(chǎn)量具有一定的指向作用。計算機視覺的出現(xiàn),一定程度上解決了這個問題,自20上世紀50年代出現(xiàn)至今,已廣泛應用于該領域。
1997年,slaughter等研究基于色相計算機視覺技術的農(nóng)業(yè)栽培建成自動控制系統(tǒng)用來除去田地里的雜草,并于兩年后根據(jù)植物形狀特征的差異識別作物和雜草,研制出智能雜草控制系統(tǒng),以便對雜草進行精準噴施,lukina等提出植被覆蓋比例的概念,并找到了小麥冠層覆蓋度與冬小麥冠層生物量之間的數(shù)學關系。1998年,紀壽文等采用雙峰法濾除了土壤背景,根據(jù)雜草投影的面積、葉長、葉寬等與作物的特征差異,確定了其位置,對生長后期的玉米和棉花田間的單子葉雜草進行了識別。2004年,毛文華等依靠形狀分析法分辨雜草信息,確定其位置后對水稻田中的雜草進行了在線的識別研究,并于2005年根據(jù)植物的位置來識別作物苗期田間雜草,建立了基于機器視覺的分割苗期田間雜草的算法dbw。2007年,毛罕平等引入顏色特征和顏色閾值,并結(jié)合貝葉斯理論,提高了雜草圖像的分割精度,tellaeche等在根據(jù)已知作物位置的前提下,利用顏色特征將背景和雜草分離。2015年,何姣以棉花為實驗樣本,將其覆蓋度與人工觀測的葉面積指數(shù)、植株高度所結(jié)合,得參數(shù)之間的數(shù)學關系并建立了關系模型。
但這些算法均存在計算精度相對較低、跨算法運算等問題,隨著深度學習2012年之后在計算機視覺領域的爆發(fā),這些問題也得以解決。2014年,黃永禎等通過對imagenet庫上圖像分類任務中alexkrizhevsky提出的alexnet網(wǎng)絡進行微調(diào)(fine-tuning)得到的卷積神經(jīng)網(wǎng)絡解決了人物的前景與背景分割問題。2016年,賀嬌瑜等首次利用卷積神經(jīng)網(wǎng)絡、超像素優(yōu)化的卷積神經(jīng)網(wǎng)絡以及全卷積神經(jīng)網(wǎng)絡將氣象觀測中毫米波云雷達圖的圖像分割問題轉(zhuǎn)化為對毫米波云雷達圖像的像素及區(qū)域間關系的二分類識別問題,作為毫米波云圖像的云分類系統(tǒng)的濾波模塊。
綜上所述,傳統(tǒng)的作物分割提取覆蓋度算法需要復雜的跨算法運算處理且精讀較低,還需要手工提取特征用來分割或是通過閾值判斷進行分割等。本發(fā)明研究基于深度學習的作物與背景的自動分割問題,提出基于rgb和hsi關系閾值優(yōu)化卷積神經(jīng)網(wǎng)絡的作物圖像分割提取覆蓋度方法。首先利用rgb先驗閾值分割法對作物圖進行初分割,保留作物主體和雜草,去除土地背景,再通過hsi閾值分割法保留綠色植物的邊緣并解決光照等影響,最后將圖像輸入為區(qū)分作物與雜草及土地背景顏色、梯度特征而生成的卷積神經(jīng)網(wǎng)絡分類器模型中,利用分類結(jié)果對圖像進行分割,將三個步驟所得的圖像結(jié)合起來,得到最后的覆蓋度分割圖,同時解決了雜草檢測及覆蓋度提取的任務。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種基于rgb和hsi先驗閾值優(yōu)化的卷積神經(jīng)網(wǎng)絡的作物圖像分割提取覆蓋度方法,用于解決傳統(tǒng)的先驗閾值分割法受作物圖像中存在的田間雜物、下過雨或施肥后的土地以及光照陰影影響比較大而存在誤分割的問題,如圖1所示,其對于農(nóng)作物病蟲草害中作物間存在的雜草也會很難判斷,(a)、(c)為待分割的原圖,(b)、(d)為利用傳統(tǒng)的先驗閾值分割法分割后得到的結(jié)果圖,可以看出圖(a)中的設備陰影沒有被分區(qū)分開,圖(c)中由于施肥后受影響的土地也沒有被區(qū)分開,所以我們希望提出一種能夠利用圖像特征解決綠色植物分割的方法。針對這些誤分割現(xiàn)象,我們希望將已經(jīng)趨于成熟的深度學習,應用于農(nóng)業(yè)氣象觀測中作物覆蓋度的提取檢測生長狀態(tài)以及農(nóng)作物病蟲草害的識別、監(jiān)測與防治領域。首先利用較為嚴格的rgb閾值保留作物主體和雜草,再通過可以在一定程度上解決光照影響的hsi閾值保留綠色植物邊緣和視覺上較為特殊的土地和雜物,最后利用卷積神經(jīng)網(wǎng)絡對之前保留下來的所有像素點逐一進行圖像分類,結(jié)合分類結(jié)果對圖像進行分割,得到覆蓋度分割圖,算法流程圖如圖2所示,卷積神經(jīng)網(wǎng)絡結(jié)構如圖3所示。
下邊介紹一下這種作物圖像分割方法的具體步驟:
1、基于rgb、hsi閾值限定的圖像預處理:
本方法意在解決算法的效率問題,通過先驗閾值分割保留需要通過卷積神經(jīng)網(wǎng)絡來判斷的像素點,將以往對圖像中全部像素點一一處理轉(zhuǎn)化為對一部分需要進行判斷的像素點進行處理,在一定程度上解決了對整張圖像的所有像素點進行逐一分類造成的低效率問題,使算法更高效、準確。
由于農(nóng)業(yè)氣象觀測圖像中,大多數(shù)情況作物和雜草像素rgb值的綠色分量與紅色分量的差要多于土地背景的,所以我們首先設定一個嚴格閾值。當像素關系滿足該閾值時,該像素點屬于作物的可能性更大,我們需要將保留,通過這個步驟就可以保留作物主體和雜草,去除土地背景。
在很多情況下,陽光照在作物的邊緣,會造成其反射較強的光,此時作物的邊緣的亮度較大;同樣,若作物之間存在著當條件,則會造成陰影影響,此時作物的邊緣亮度較小,這兩種情況的出現(xiàn),使得rgb閾值并不能夠很好地將前景與背景區(qū)分,而將rgb轉(zhuǎn)化為hsi空間,我們需要再設定一個較為寬泛的閾值。
這樣,我們就將完成了算法中的預處理工作,將綠色植物(包含作物、雜草以及一些雜物等)與土地分割出來了,如圖4所示,通過rgb先驗閾值分割可以得到的作物主體,通過hsi閾值分割法則能保留的綠色植物邊緣,其余的像素點均作為圖像的背景,不再參與后續(xù)的算法運算,這樣在一定程度上解決了對整張圖像的所有像素點進行逐一分類造成的低效率問題,使算法更高效、準確。
2、訓練樣本集、驗證樣本集及測試樣本集的制作
我們提取圖像的顏色、形狀及梯度等特征,利用卷積神經(jīng)網(wǎng)絡訓練分類器,將問題轉(zhuǎn)化為對圖像進行前景(作物)和背景(雜草、土壤)的二分類,利用分類結(jié)果進行分割。
本發(fā)明的數(shù)據(jù)集主要有訓練樣本集、驗證樣本集及測試樣本集三個方面。這三方面的制作原理完全相同,只是選取的數(shù)據(jù)范圍有差異,故我們只對其中一種的獲取方式做詳細的介紹:
由于作物觀測圖是利用河北固城觀象臺試驗站圖像分辨率為1700萬像素的canoneos1200d單反相機拍攝的觀測圖,沒有公開的數(shù)據(jù)集,所以我們需要制作groundtruth圖作為訓練cnn網(wǎng)絡時候的監(jiān)督信號,具體預處理操作如下:
(1)生成groundtruth。如圖5所示,(a)為原始作物觀測圖,(b)為利用photoshop等畫圖軟件手工將觀測圖像中前景和背景區(qū)域以分別以白顏色和黑顏色區(qū)分后標注的原始作物觀測圖所對應的groundtruth。我們需要從作物圖像中選擇不同的生長階段的若干張圖像,并選中與之對應的groundtruth圖,用于下一步的cnn網(wǎng)絡訓練和測試樣本集的生成。
(2)圖像尺寸調(diào)整。為了消除在裁剪和采集訓練集圖像時,圖像邊緣的影響,從而使實驗能夠采集到整張圖像任何位置的區(qū)域,我們首先對作物觀測圖像的邊界進行了延伸,即為尺寸為w*h的云圖像增加了d/2個像素的背景圖像邊界,此時圖像變?yōu)?w+d)*(h+d)。
(3)樣本集的采集和生成。訓練樣本集和驗證樣本集是對帶有groundtruth的不同生長階段w*h大小的作物觀測圖進行處理;測試樣本集則是對更多一部分的處理,由于三個樣本集采集方法幾乎完全一致,故我們不再贅述。具體操作如下:
a.以圖像中的每個像素點p為中心截取其鄰域關系的子圖c1,圖像的尺寸為d×d,形成包含該像素點顏色、形狀、梯度等特征的圖像,根據(jù)標簽圖中該點的分類情況制作標簽。
b.對于a中的每一個像素點p,我們都可以在其所對應的groundtruth圖中找到對應的像素點p’,并制作格式為“絕對路徑/圖像名稱標簽屬性”的標簽,其中每個像素點的標簽屬性前景或背景,用1或0表示。
c.對于訓練集合和驗證集合的所有圖像,我們需要保留其標簽文本文件,訓練集合作為訓練cnn網(wǎng)絡時候的監(jiān)督信號,驗證集合用于檢驗我們的網(wǎng)絡模型的準確程度;而對于測試集,我們不需要生成標簽,但是需要利用其groundtruth圖與分割結(jié)果圖進行對比,來評價方法的客觀性。需要注意的是為了客觀驗證網(wǎng)絡的準確性,三個樣本集合之間應當不相交。
3、基于卷積神經(jīng)網(wǎng)絡的作物圖像分割算法
本發(fā)明采用的卷積神經(jīng)網(wǎng)絡結(jié)構如圖3所示,該分類器是利用自己構造的訓練集和測試集,對imagenet這個數(shù)據(jù)量為千萬級的圖像數(shù)據(jù)庫中的圖像,在由krizhevsky提出的alexnet網(wǎng)絡進行微調(diào)得到的。當然我們也可以拿幾千張或者幾萬張圖像來訓練一個屬于我們這個領域自己的網(wǎng)絡模型,但是訓練新的網(wǎng)絡是比較復雜的,而且參數(shù)不好調(diào)整,數(shù)據(jù)量也遠遠不能達到imagenet的等級,因此微調(diào)就是一個比較理想的選擇。
該網(wǎng)絡由5個卷積層、2個全連接層和1個softmax層組成,層1、層2和層5加入了pooling層,相當于是在五層卷積層的基礎上再加上一個三層的全連接神經(jīng)網(wǎng)絡分類器。層8的神經(jīng)元個數(shù)是2個,相當于實現(xiàn)前景和背景的2分類。系統(tǒng)由三個五層卷積網(wǎng)絡構成,卷積層的第一、第二、第五層是按照krizhevsky等人進行初始化的。
我們篩選步驟(3)中生成的數(shù)據(jù)集,選取了背景(地面和雜草)、前景(作物)各若干張作為訓練集,背景(地面和雜草)、前景(作物)各若干張作為驗證集,以此數(shù)據(jù)集對此卷積神經(jīng)網(wǎng)絡做訓練,用圖5中的參考圖生成的標簽作為監(jiān)督信號,進行微調(diào)。
當網(wǎng)絡的訓練參數(shù)趨于平穩(wěn),且模型準確率超過95%的時候,我們可以將測試的圖像輸入到我們訓練好的卷積神經(jīng)網(wǎng)絡中來預測每個像素點的標簽,最后結(jié)合分類結(jié)果得到的分割結(jié)果圖。
4、分割評價
我們選取了若干張圖像作為訓練集,若干張圖像作為驗證集,進行微調(diào)網(wǎng)絡訓練,其中驗證集的圖像與訓練集獨立,不參與訓練,得到模型準確度98.3%。
我們對比了基于傳統(tǒng)先驗閾值分割法(左)和本文的方法(右),如圖6所示,可以看出來本方法對于作物的邊緣以及光照情況都有很好的分割效果,而傳統(tǒng)的先驗閾值分割法會將作物的邊緣全部分割掉。
為了驗證本發(fā)明的客觀性,還采用像素誤差的評價方法來衡量分割結(jié)果。像素誤差反映了分割圖片與原始標簽的像素相似度,其計算方法是統(tǒng)計給定待測的分割標簽l中每一個像素點以及其真實的數(shù)據(jù)標簽l’中每一個像素點的漢明距:
epixcel=||l-l’||2(2)
按照這種方法,本發(fā)明試驗于10張作物觀測圖上,得到了97.53%的像素誤差。
綜上所述,該方法的優(yōu)點體現(xiàn)在以下三點:
1)作物圖分割是判別作物前景和以土地和雜草為主的背景邊界的二分類方法。
2)結(jié)合了傳統(tǒng)閾值分割法,避免了對圖像中所有像素點進行運算而造成的效率較低運算時間較長的缺點,同時提高了分割的精確性,達到了傳統(tǒng)閾值分割法不能區(qū)分作物與雜草的缺陷。
3)基于rgb和hsi先驗閾值法優(yōu)化的卷積神經(jīng)網(wǎng)絡的提出,將作物的分割準確度達到了97.53%,為作物覆蓋度的獲取提供了有力支持。
附圖說明
圖1為本發(fā)明中的原始云圖像示例:
(a)、(c)待分割原圖,
(b)、(d)利用傳統(tǒng)的先驗閾值分割法結(jié)果圖
圖2為本發(fā)明所設計的分割框架;
圖3為本發(fā)明采用的卷積神經(jīng)網(wǎng)絡結(jié)構;
圖4為閾值法效果示意圖:
(a)、(c)待分割原圖,
(b)、(d)分別利用rgb和hsi先驗閾值分割法對應結(jié)果圖
圖5為原始圖像與其標簽參考圖:
(a)原始圖像,
(b)標簽參考圖
圖6為基于傳統(tǒng)先驗閾值分割法和本文的方法的對比:
(a)基于傳統(tǒng)先驗閾值分割法結(jié)果
(b)本文的方法的結(jié)果
具體實施方式
本發(fā)明將先驗閾值分割與卷積神經(jīng)網(wǎng)絡結(jié)合,提供了一種基于rgb和hsi先驗閾值法優(yōu)化的卷積神經(jīng)網(wǎng)絡(rgb-hsi-cnn)的作物圖像分割提取覆蓋度方法。該發(fā)明的實現(xiàn)步驟如下:
1、基于rgb、hsi閾值限定的圖像預處理:
本方法意在解決算法的效率問題,通過先驗閾值分割保留需要通過卷積神經(jīng)網(wǎng)絡來判斷的像素點,將以往對圖像中全部像素點一一處理轉(zhuǎn)化為對一部分需要進行判斷的像素點進行處理,在一定程度上解決了對整張圖像的所有像素點進行逐一分類造成的低效率問題,使算法更高效、準確。
由于農(nóng)業(yè)氣象觀測圖像中,大多數(shù)情況作物和雜草像素rgb值的綠色分量與紅色分量的差要多于土地背景的,所以我們首先設定一個嚴格閾值:
其中,標注為1的像素對應于前景,標注為零的像素則對應背景,由公式可知,當像素點的綠色分量與紅色分量之差大于16且綠色分量大于48時,該點偏綠色,屬于作物的可能性更大,我們需要將保留,這樣就可以保留作物主體和雜草,去除土地背景。
在很多情況下,陽光照在作物的邊緣,會造成其反射較強的光,此時作物的邊緣的亮度較大;同樣,若作物之間存在著當條件,則會造成陰影影響,此時作物的邊緣亮度較小,這兩種情況的出現(xiàn),使得rgb閾值并不能夠很好地將前景與背景區(qū)分,而將rgb轉(zhuǎn)化為hsi空間,我們需要再設定一個較為寬泛的閾值:
60°<h<150°
這樣,我們就將完成了算法中的預處理工作,將綠色植物(包含作物、雜草以及一些雜物等)與土地分割出來了,如圖4所示,通過rgb先驗閾值分割可得到的作物主體,通過hsi閾值分割法則可以保留的綠色植物邊緣,其余的像素點均作為圖像的背景,不再參與后續(xù)的算法運算,這樣在一定程度上解決了對整張圖像的所有像素點進行逐一分類造成的低效率問題,使算法更高效、準確。
2、訓練樣本集、驗證樣本集及測試樣本集的制作
我們提取圖像的顏色、形狀及梯度等特征,利用卷積神經(jīng)網(wǎng)絡訓練分類器,將問題轉(zhuǎn)化為對圖像進行前景(作物)和背景(雜草、土壤)的二分類,利用分類結(jié)果進行分割。
本發(fā)明的數(shù)據(jù)集主要有訓練樣本集、驗證樣本集及測試樣本集三個方面。這三方面的制作原理完全相同,只是選取的數(shù)據(jù)范圍有差異,故我們只對其中一種的獲取方式做詳細的介紹:
由于作物觀測圖是利用河北固城觀象臺試驗站圖像分辨率為1700萬像素的canoneos1200d單反相機拍攝的觀測圖,沒有公開的數(shù)據(jù)集,所以我們需要制作groundtruth圖作為訓練cnn網(wǎng)絡時候的監(jiān)督信號,具體預處理操作如下:
(1)生成groundtruth。如圖5所示,(a)為原始作物觀測圖,(b)為利用photoshop等畫圖軟件手工將觀測圖像中前景和背景區(qū)域以分別以白顏色和黑顏色區(qū)分后標注的原始作物觀測圖所對應的groundtruth。我們需要從作物圖像中選擇不同的生長階段的若干張圖像,并選中與之對應的groundtruth圖,用于下一步的cnn網(wǎng)絡訓練和測試樣本集的生成。
(4)圖像尺寸調(diào)整。為了消除在裁剪和采集訓練集圖像時,圖像邊緣的影響,從而使實驗能夠采集到整張圖像任何位置的區(qū)域,我們首先對作物觀測圖像的邊界進行了延伸,即為尺寸為4272*2848的云圖像增加了28個像素的背景圖像邊界,此時圖像變?yōu)?328*2904。
(5)樣本集的采集和生成。訓練樣本集和驗證樣本集是對帶有groundtruth的不同生長階段4272*2848大小的作物觀測圖進行處理;測試樣本集則是對更多一部分的處理,由于三個樣本集采集方法幾乎完全一致,故我們不再贅述。具體操作如下:
d.以圖像中的每個像素點p為中心截取其鄰域關系的子圖c1,圖像的尺寸為57*57,形成包含該像素點顏色、形狀、梯度等特征的圖像,根據(jù)標簽圖中該點的分類情況制作標簽。
e.對于a中的每一個像素點p,我們都可以在其所對應的groundtruth圖中找到對應的像素點p’,并制作格式為“絕對路徑/圖像名稱標簽屬性”的標簽,其中每個像素點的標簽屬性前景或背景,用1或0表示。
f.對于訓練集合和驗證集合的所有圖像,我們需要保留其標簽文本文件,訓練集合作為訓練cnn網(wǎng)絡時候的監(jiān)督信號,驗證集合用于檢驗我們的網(wǎng)絡模型的準確程度;而對于測試集,我們不需要生成標簽,但是需要利用其groundtruth圖與分割結(jié)果圖進行對比,來評價方法的客觀性。需要注意的是為了客觀驗證網(wǎng)絡的準確性,三個樣本集合之間應當不相交。
3、基于卷積神經(jīng)網(wǎng)絡的作物圖像分割算法
本發(fā)明采用的卷積神經(jīng)網(wǎng)絡結(jié)構如圖3所示,該分類器是利用自己構造的訓練集和測試集,對imagenet這個數(shù)據(jù)量為千萬級的圖像數(shù)據(jù)庫中的圖像,在由krizhevsky提出的alexnet網(wǎng)絡進行微調(diào)得到的。當然我們也可以拿幾千張或者幾萬張圖像來訓練一個屬于我們這個領域自己的網(wǎng)絡模型,但是訓練新的網(wǎng)絡是比較復雜的,而且參數(shù)不好調(diào)整,數(shù)據(jù)量也遠遠不能達到imagenet的等級,因此微調(diào)就是一個比較理想的選擇。
該網(wǎng)絡由5個卷積層、2個全連接層和1個softmax層組成,層1、層2和層5加入了pooling層,相當于是在五層卷積層的基礎上再加上一個三層的全連接神經(jīng)網(wǎng)絡分類器。層8的神經(jīng)元個數(shù)是2個,相當于實現(xiàn)前景和背景的2分類。系統(tǒng)由三個五層卷積網(wǎng)絡構成,卷積層的第一、第二、第五層是按照krizhevsky等人進行初始化的。
我們篩選步驟(3)中生成的數(shù)據(jù)集,選取了200張出苗期的地面、300張三葉期、七葉期、拔節(jié)期的地面和雜草作為背景的訓練集,215張出苗期的作物、330張三葉期的作物、300張七葉期的作物、300張拔節(jié)期的作物作為前景的訓練集,60張出苗期地面、100張三葉期、七葉期、拔節(jié)期的地面和雜草作為背景的驗證集,90張出苗期的作物、130張三葉期的作物、120張七葉期的作物、100張拔節(jié)期的作物作為前景的驗證集,以此數(shù)據(jù)集對此卷積神經(jīng)網(wǎng)絡做訓練,用圖5中的參考圖生成的標簽作為監(jiān)督信號,進行微調(diào),計算迭代次數(shù)為5000次,學習率為0.00001。
當網(wǎng)絡的訓練參數(shù)趨于平穩(wěn),且模型準確率超過95%的時候,我們可以將測試的圖像輸入到我們訓練好的卷積神經(jīng)網(wǎng)絡中來預測每個像素點的標簽,最后結(jié)合分類結(jié)果得到的分割結(jié)果圖。
4、分割評價
我們選取了1645張圖像作為訓練集,600張圖像作為驗證集,進行微調(diào)網(wǎng)絡訓練,迭代5000次,其中驗證集的圖像與訓練集獨立,不參與訓練,得到模型準確度98.3%。
我們對比了基于傳統(tǒng)先驗閾值分割法(左)和本文的方法(右),如圖6所示,可以看出來本方法對于作物的邊緣以及光照情況都有很好的分割效果,而傳統(tǒng)的先驗閾值分割法會將作物的邊緣全部分割掉。
為了驗證本發(fā)明的客觀性,還采用像素誤差的評價方法來衡量分割結(jié)果。像素誤差反映了分割圖片與原始標簽的像素相似度,其計算方法是統(tǒng)計給定待測的分割標簽l中每一個像素點以及其真實的數(shù)據(jù)標簽l’中每一個像素點的漢明距:
epixcel=||l-l’||2(2)
按照這種方法,本發(fā)明試驗于10張作物觀測圖上,得到了97.53%的像素誤差。