段欣榮 曹見飛 張寶雷 王召海
(山東師范大學地理與環(huán)境學院,250358,濟南)
農(nóng)作物分類是精細化農(nóng)業(yè)、可持續(xù)發(fā)展農(nóng)業(yè)等領(lǐng)域的重要研究內(nèi)容[1].遙感技術(shù)與傳統(tǒng)的實地調(diào)查相比具有快速高效、大面積同步觀測的特點,已經(jīng)成為農(nóng)作物精細識別的重要手段.隨著遙感技術(shù)的發(fā)展,新興的高光譜技術(shù)獲得多且連續(xù)的反射光譜信息,具有更高精度農(nóng)作物信息識別的潛力,同樣農(nóng)作物生化參數(shù)的光譜分析難度也隨之增加[2,3].
同一季節(jié)的農(nóng)作物植被光譜特征相似,在受自然環(huán)境的影響下存在大量的干擾信息,掩蓋部分可用的特征波段,精確提取表達植被生化參數(shù)的特征波段難度較大,在多分類中該問題尤為突出.現(xiàn)有的農(nóng)作物光譜分析方法一般通過光譜預處理方法提取特征波段,然后利用這些特征參數(shù)構(gòu)建光譜信息識別模型[4-8].李喆利用微分法與包絡(luò)線去除法識別敏感的特征吸收峰,提取光譜吸收特征參數(shù),構(gòu)建估算草地光合有效輻射吸收率的光譜特征參數(shù)模型[4].黃雙燕等通過單因素方差分析選擇農(nóng)作物光譜特征變量,利用不同機器學習驗證特征變量的有效性[5].Cao等提取光譜特征、紋理特征和植被指數(shù),構(gòu)建識別紅樹林樹種的多變量支持向量機模型[6].劉小丹等采用主成分分析和連續(xù)投影算法提取特征波長,利用偏最小二乘判別分析和支持向量機鑒別雜交稻品系[7].Xie等采用改進的gramm-schmidt方法識別有效波長,利用極端學習機和判別分析光譜模型對綠豆種類進行識別[8].以上學者為解決農(nóng)作物植被光譜分析中特征波段難提取的問題,提供了各種有效的思路.然而這些研究中,光譜預處理和特征選擇成為識別模型構(gòu)建之前必不可少的步驟,這不僅增加分類結(jié)果的不穩(wěn)定性,且使得模型構(gòu)建繁瑣且復雜[4-9].因此,急需一種統(tǒng)一高效的光譜分析方法解決現(xiàn)有模型存在的問題.
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)被認為是一種不依賴特征工程便可識別隱含特征的非線性函數(shù),其權(quán)值共享及池化操作等特性使其成為高性能的分類方法,在遙感圖像分類領(lǐng)域應(yīng)用廣泛[10].CNN通過卷積核池化操作可以準確的提取數(shù)據(jù)局部特征,深層次地表達分類對象的特性,近年來在醫(yī)學電波檢測、分子結(jié)構(gòu)光譜識別等研究領(lǐng)域被證實,CNN卷積核池化操作對光譜信息具有抑制噪聲,準確地表達光譜潛在特征[11-13].但有關(guān)這類模型較少的被推廣到農(nóng)作物光譜精細化識別研究中.然而CNN屬于“黑盒子”,復雜的計算過程難以被解釋,CNN應(yīng)用研究中大多只是論述其應(yīng)用結(jié)果.由Meinshausen等[14]于2010年提出的穩(wěn)定性特征選擇方法(Stablity Selection, STS),是一種基于二次抽樣和選擇算法相結(jié)合的方法,被廣泛用于分類模型的特征選擇可視化,為農(nóng)作物植被光譜特征選擇提供了新途徑.本文首次整合STS和CNN,構(gòu)建改進的農(nóng)作物植被光譜分析統(tǒng)一方法.簡化特征選擇和光譜預處理要求,提高農(nóng)作物光譜識別準確率;同時計算出表征不同農(nóng)作物植被特性的特征波段;與人工定義的光譜特征波段對比,能夠解釋CNN光譜模型的特征表達能力以及對光譜干擾信息的抗干擾能力.
2.1卷積神經(jīng)網(wǎng)絡(luò)CNN在人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上發(fā)展而來,是一種前饋神經(jīng)網(wǎng)絡(luò).其是通過逐層壓縮提取特征,學習識別多維數(shù)據(jù)的內(nèi)部聯(lián)系.相比人工神經(jīng)網(wǎng)絡(luò),CNN具有卷積和池化層等特殊結(jié)構(gòu),通過局部連接和權(quán)值共享有效減少網(wǎng)絡(luò)的訓練權(quán)值,使得多層神經(jīng)網(wǎng)絡(luò)的優(yōu)勢得以體現(xiàn).
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
典型CNN一般由卷積層、池化層、全連接層和輸出層組成(如圖1).卷積層中神經(jīng)元通過卷積核與輸入進行局部連接,并通過對應(yīng)的連接權(quán)值與局部輸入進行加權(quán)求,然后通過一個非線性函數(shù)進行激活.卷積層定義為
yj=f(bj+∑ikij*xi).
(1)
式(1)中,xi和yj分別是第i個輸入特征圖和第j個輸出特征圖;kij是兩個特征圖之間的卷積核;*符號表示卷積;bj是第j個輸出特征圖的偏置;f(z)是非線性激活函數(shù)如Sigmoid函數(shù)、Tanh函數(shù)、ReLU函數(shù)等被卷積層中的全部單元共享.
緊跟卷積層的是池化層,對卷積層提取的局部特征進行下采樣,減少網(wǎng)絡(luò)中參數(shù)并提高學習網(wǎng)絡(luò)的魯棒性.池化層定義為
yj=f(wjDO(xi+bj)).
(2)
式(2)中,xi和yj分別是第i個輸入特征圖和第j個輸出特征圖;DO()表示采樣函數(shù),一般選用隨機采樣、均值采樣、最大值采樣等;wj為權(quán)值;bj為偏置.
本研究中不使用全連接層(多層感知器)以避免過擬合問題.將卷積-池化層輸出的特征綜合起來,最后由通用的Softmax多分類器進行分類識別.Softmax多分類器的分類過程可表達為,
(3)
其相當于一個壓縮函數(shù),將一個K維的映射向量的值轉(zhuǎn)換成取值都介于(0,1)之間的值,且相加和為1.
(4)
然后在路徑中選取被選概率較大的變量進入最終模型Sstable,其中被選概率的閾值0<是新的調(diào)整參數(shù),
(5)
2.3改進的光譜分析方法高精度的光譜識別和特征波段提取是光譜分析方法的兩個重要方面.為了獲得高效統(tǒng)一的農(nóng)作物植被光譜分析方法,且更好的了解CNN對農(nóng)作物光譜識別過程,本文通過整合STS與CNN提出一種改進的光譜分析方法.該方法計算過程如圖2所示,首先以農(nóng)作物植被光譜識別最優(yōu)化為導向,構(gòu)建最佳CNN光譜模型;樣本數(shù)據(jù)訓練CNN光譜模型后,獲得農(nóng)作物植被光譜識別結(jié)果.同時,將CNN光譜模型的卷積-池化輸出作為穩(wěn)定性特征選擇的特征集合;利用穩(wěn)定性特征選擇算法重新迭代訓練Softmax多分類器(CNN光譜模型的輸出層),得到特征子集與分類類別的相關(guān)性得分;最后用特征子集的位置乘以卷積核步長和池化步長,反向推算出特征子集對應(yīng)的光譜波段.本研究將此光譜分析方法稱為CNNFS.相對于傳統(tǒng)的CNN模型,CNNFS的優(yōu)勢在于將光譜分析的光譜識別和特征波段提取兩個步驟整合在一起,實現(xiàn)了農(nóng)作物植被光譜分析的統(tǒng)一方法.另外,CNNFS在保留CNN整個運算過程的同時計算出潛在的光譜特征波段,為解釋CNN光譜模型卷積池化層提取特征能力提供了重要依據(jù).
圖2 改進的光譜分析方法(CNNFS)計算過程
3.1光譜測量與預處理選取10種同一時間生長狀態(tài)下的農(nóng)作物植被作為研究對象:玉米、大豆、豆角、葡萄、大棗、辣椒、秋葵、芥藍、韭菜和草皮,每種野外選取100個新鮮樣本.光譜測定使用美國ASD FieldSpec3地物光譜儀、光譜范圍350~2 500 nm,采樣間隔為1.377 nm(350~1 000)和2 nm(1 000~2 500 nm).光譜測量地點為山東省龍口市北部平原地區(qū).該地區(qū)屬于溫帶季風性氣候,農(nóng)作物種類繁多,分布廣泛.為對應(yīng)遙感應(yīng)用中的光譜分析問題,光譜測量選擇在2017年8月,測量環(huán)境條件選擇在陰天、晴天、有風和無風等不同天氣狀態(tài)下,刻意增加野外光譜的不確定.自然狀態(tài)下,光譜探頭垂直,保持距離樣本目標10 cm且連續(xù)獲取10條光譜,取平均值作為原始光譜值.由于野外大氣水汽吸收干擾,導致1 350~1 450 nm、1 800~1 950 nm和2 450~2 500 nm光譜反射率波動很大,對于農(nóng)作物精細分類屬于無用信息,將其剔除.
另外,增加農(nóng)作物野外植被光譜預處理實驗,分析CNN光譜分析模型在不同測量條件下的表現(xiàn).野外光譜的干擾信息主要源于野外光譜采集過程中外界環(huán)境干擾,包括空氣中水汽、農(nóng)作物葉片上的滯塵和測量背景環(huán)境變換等,將這些干擾信息總結(jié)為儀器噪聲、光譜基線和光譜散射[15].為消除干擾信息,突出光譜的特征值,選擇卷積平滑(SavGol)、二階微分變換(Deriv2)和變量標準化(SNV)3種預處理方法對原始光譜進行預處理操作,分別抑制儀器噪聲、光譜基線和光譜散射的干擾影響[15,16].
3.2分類模型構(gòu)建基于TensorFlow和Sklearn機器學習框架,采用python語言進行編程.將1 000個樣本劃分為訓練集和測試集,其中70%用于訓練建立模型,30%用于檢驗模型.為更好的選擇CNN網(wǎng)絡(luò)參數(shù),利用隨機網(wǎng)格搜索交叉驗證框架(RGS-CV)進行訓練CNN模型,并以分類正確率為導向獲取最佳CNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)(圖表1).網(wǎng)絡(luò)C1卷積層卷積核大小為1×5,數(shù)量為12,激活函數(shù)為RELU;C2卷積層卷積核為1×3,數(shù)量為16;S1、S2池化層采用均值池化方法,下采樣尺度為1×2和1×4,步長為2和4;最后由Softmax多分類器輸出分類結(jié)果.選用目前研究中常用的偏最小二乘判別回歸(PLS-DA)、Softmax多分類器算法作為對比實驗.最小二乘法判別分析是一種用于判別分析的多變量統(tǒng)計分析方法,適用于變量數(shù)量大于分類類別的情況[7];Softmax多分類器可視為CNN模型的最后輸出層,直觀判斷卷積-池化層的作用.
表1 CNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
3.3特征波段選擇基于Sklearn機器學習框架,采用python語言進行編程.將CNN模型卷積-池化輸出的(16,229)矩陣作為16個特征集合,重新迭代訓練Softmax多分類器,挑選出得分前10的特征子集.根據(jù)卷積池化壓縮過程,反向推算出10個8 nm特征波段,最后將特征波段合并(如表2).
表2 不同預處理條件下CNNFS獲取的特征波段和中心波長
4.1CNN光譜模型評價不同分類模型和不同預處理條件下的結(jié)果如表3所示.CNN模型分類準確率比PLS-DA和Softmax平均提高了8.5%和6%.在未預處理條件下,CNN分類結(jié)果最為理想,其準確率為97%,分別高于PLS-DA、Softmax模型12%和8%;在不同的預處理條件下,CNN分類準確率仍然高于PLS-DA、Softmax模型,平均提高了7.3%和6.3%,PLS-DA的分類結(jié)果最不理想,Softmax表現(xiàn)中等.表明CNN模型很好的應(yīng)用于農(nóng)作物光譜分類識別.縱向比較來看,PLS-LDA的分類準確率在不同預處理條件下均有提高,提高范圍在5%~8%之間,在全部的模型中受影響最大;其次是Softmax模型,分類準確率也增加4%~6%;CNN對預處理操作影響范圍為1%~3%,在3個模型中對光譜前期預處理操作表現(xiàn)最不敏感.表明不同光譜預處理對不同分類模型的影響程度各異,但總體上預處理對農(nóng)作物光譜識別分類具有積極的意義.CNN相對于PLS-DA、Softmax模型對預處理操作依賴性較小,即利用CNN構(gòu)建農(nóng)作物光譜分類模型時,可減少或者不進行光譜預處理操作.
表3 不同預處理條件下不同模型的農(nóng)作物分類準確率(%)
綜上所述,CNN模型能夠很好的應(yīng)用于農(nóng)作物光譜分類識別.其優(yōu)勢在于CNN模型能夠在較少或者無光譜前期預處理操作情況下,依然獲得高準確率的分類精度,對光譜的分類識別體現(xiàn)出較強的魯棒性和泛化能力.
4.2特征波段提取分析CNNFS計算的特征波段是CNN模型卷積-池化層對農(nóng)作物光譜特征表達的結(jié)果.利用CNNFS方法計算農(nóng)作物光譜特征波段,為便于對比描述,根據(jù)農(nóng)作物光譜的經(jīng)驗知識選取10個對比光譜特征波段[7,17,19,20],包括可見光—Visible(VIS)波段3個:藍谷、綠峰、紅谷,近紅外—Near-infrared(NIR)波段5個:紅邊、NIR谷1、NIR峰1、NIR谷2、NIR峰2,短波紅外—Shortwave-infrare(SWIR)波段2個:SWIR峰1、SWIR峰2(如圖3).
圖3 人工定義農(nóng)作物光譜特征波段
圖4為CNNFS選擇的特征波段與人工定義的特征波段的對比.結(jié)果顯示CNNFS選擇出的特征波段包含在人工定義特征波段內(nèi),且中心波長位置相近,表明CNNFS能夠準確地提取能夠區(qū)分農(nóng)作物理化性質(zhì)的特征波段.其中,CNNFS對原始野外光譜選擇出4個特征波段的中心波長為544 nm、752 nm、972 nm、1 644 nm,對應(yīng)綠峰、紅邊、NIR谷1、SWIR峰1四個波段.Liu[2,17]等、黃雙艷[5]等研究中說明綠峰、紅邊、NIR谷1能夠準確地表征農(nóng)作物葉片的葉綠素含量、細胞結(jié)構(gòu)、含水率等理化特性,是農(nóng)作物光譜識別的重要特征波段,可以判斷出CNN模型卷積池化層對原始農(nóng)作物光譜能夠精確地表達出極具代表性的農(nóng)作物光譜特征,從而獲得高精度的分類結(jié)果;SavGol預處理過濾掉部分噪聲[16,18],但相對原始光譜提取的特征波段沒有變化,可以判斷SavGol去掉的部分噪聲對CNNFS特征選擇影響較少,即CNN模型卷積-池化對光譜噪聲具有一定程度的兼容能力;Deriv2預處理方法對原始光譜基線校正后, CNNFS選擇出中心波長為544 nm、748 nm、972 nm、1 084 nm、1 220 nm、1 644 nm、2 188 nm的特征波段,本實驗的野外環(huán)境中使得近紅外波段會受大氣中水汽的影響嚴重[20].Cao[4]研究表明Deriv2預處理能夠有效的抑制空氣水汽、氣溶膠及測量背景環(huán)境引起的近紅外光譜基線漂移,一定程度上能夠凸顯近紅外波段的特征,因此相對于原始光譜CNNFS選擇的特征波段增加了近紅外NIR谷1、NIR峰1、NIR谷2位置的特征波段,證明了基線校正能夠提高CNN模型對農(nóng)作物光譜分類識別準確率;同樣,經(jīng)過SNV預處理后CNNFS選擇出中心波長在544 nm、748 nm、968 nm、1 220 nm、1 640 nm處的特征波段,相對原始光譜增加NIR谷2,本實驗的野外實測現(xiàn)場中葉片上含有大量滯塵,導致近紅外光譜產(chǎn)生大量光譜散射[21].Barnes[22]等研究表明SNV預處理能夠有效減少光譜散射所帶來的光譜誤差,可以判斷減少光譜散射誤差同樣可以提高近紅外波段對農(nóng)作物的信息獲取能力,證明了光譜散射預處理也能夠提高CNN模型的分類識別準確率.
圖4 CNNFS選擇的光譜特征波段與人工定義特征波段的比較(a)RAW; (b)SavGol; (c)Deriv2; (d)SNV
綜上所述,特征波段中心波長位置與人工經(jīng)驗選擇的特征波段相吻合,能夠判斷出本文提出的CNNFS特征波段選擇方法準確有效.對于CNN模型而言,證明CNN模型獨特的卷積-池化操作能夠準確地表達出野外實測光譜的重要特征波段,利用這些數(shù)據(jù)特征進行分類取得更好的效果;其次,對比不同預處理條件下的特征波段計算結(jié)果,發(fā)現(xiàn)基線校正和光譜散射預處理有助于CNN模型的光譜特征表達,在一定程度上能夠提高分類精度.然而CNN模型卷積池化層的特征表達能力不只局限于潛在特征波段的檢測,其復雜的非線性計算過程,還可能獲取其它有效和細致的局部抽象特征映射[11],比如波峰波谷的寬度、深度等,在以后科研工作中將對其進行深入探討研究.
1) CNN光譜分析模型很好的應(yīng)用于農(nóng)作物識別中,分類準確率在97%~100%范圍之間,比PLS-DA和Softmax平均提高了8.5%和6%.
2) CNN光譜分析模型較少的依賴光譜預處理,在較少或者未光譜預處理條件下能夠獲得較高的識別準確率.由于受空氣水汽、葉片滯塵和測量背景環(huán)境等噪聲、光譜基線和光譜散射信息的干擾,PLS-DA對光譜預處理依賴性最強,提高范圍在5%~8%之間;光譜預處理對Softmax的影響次之,提高范圍為4%~6%;而CNN光譜分析模型對光譜預處理操作最不敏感,提高范圍為1%~3%,表現(xiàn)出較強的魯棒性和泛化能力.
3) CNNFS是一種農(nóng)作物植被光譜分析的高效統(tǒng)一方法.在保留CNN模型高精度的識別結(jié)果的基礎(chǔ)上,選擇出的特征波段與植被經(jīng)驗敏感波段相吻合,證明了CNNFS能夠在復雜的農(nóng)作物光譜數(shù)據(jù)中精準地提取出特征波段位置.根據(jù)CNNFS提取的過程,也解釋了CNN光譜模型卷積池化操作精準表達特征波段的能力.