唐永生,陳爭(zhēng)光,2
(1.黑龍江八一農(nóng)墾大學(xué)信息與電氣工程學(xué)院,大慶163319;2.黑龍江省現(xiàn)代農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)創(chuàng)新中心)
土壤含氮量是衡量土壤肥力的一項(xiàng)重要指標(biāo),氮作為植物生長(zhǎng)發(fā)育的主要養(yǎng)分之一,對(duì)植物根、莖、葉的生長(zhǎng)及葉綠素和酶蛋白的合成至關(guān)重要。氮肥已被廣泛用于提高作物產(chǎn)量和改善土壤肥力,然而過(guò)量施肥同樣也造成了環(huán)境污染和經(jīng)濟(jì)損失。因此土壤含氮量的快速獲取對(duì)于農(nóng)田資源管理及精準(zhǔn)農(nóng)業(yè)具有重要的意義。目前對(duì)土壤含氮量的檢測(cè)常采用化學(xué)分析的方法進(jìn)行測(cè)量。雖然測(cè)量結(jié)果準(zhǔn)確,但所需時(shí)間成本和經(jīng)濟(jì)成本較高,無(wú)法在實(shí)際生產(chǎn)中大規(guī)模應(yīng)用。
可見(jiàn)光近紅外光譜作為一種快速、便捷、經(jīng)濟(jì)的分析方法,通過(guò)有機(jī)物中含氫基團(tuán)振動(dòng)的合頻和倍頻來(lái)獲取分子的結(jié)構(gòu)和組成信息[1-2],在土壤養(yǎng)分含量檢測(cè)方面取得了很多研究成果。吳龍國(guó)等[3]利用光譜分析技術(shù)結(jié)合多元線性回歸(Multiple Linear Regression,MLR)等多種化學(xué)計(jì)量學(xué)方法對(duì)波長(zhǎng)范圍為900~1 700 nm的土壤光譜數(shù)據(jù)進(jìn)行建模,結(jié)果表明采用連續(xù)投影算法特征提取后的光譜數(shù)據(jù)建立MLR模型效果最優(yōu)。Gerald F等[4]利用近紅外光譜分析技術(shù)與MLR及其他機(jī)器學(xué)習(xí)算法對(duì)土壤中的多種養(yǎng)分進(jìn)行建模檢測(cè),研究結(jié)果表明機(jī)器學(xué)習(xí)算法的建模結(jié)果優(yōu)于MLR。李頡[5]和方向等[6]采用偏最小二乘回歸(Partial Least Squares Regression,PLSR)對(duì)土壤可見(jiàn)近紅外光譜數(shù)據(jù)進(jìn)行建模實(shí)現(xiàn)對(duì)土壤氮含量的檢測(cè),其模型決定系數(shù)均在0.9以上。An X[7]采用反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Network,BP)與近紅外光譜分析技術(shù)對(duì)土壤的氮含量進(jìn)行檢測(cè),模型的決定系數(shù)分別為0.88和0.75。近年來(lái)隨著人工智能的快速發(fā)展,深度學(xué)習(xí)由于其優(yōu)秀的特征提取能力在圖像分割[8],語(yǔ)音識(shí)別[9-10]及自然語(yǔ)言處理[11-12]方向都備受關(guān)注。卷積神經(jīng)網(wǎng)絡(luò)[13(]Convolution Neural Network,CNN)作為當(dāng)下最流行的深度學(xué)習(xí)模型,因其結(jié)構(gòu)上具備局部連接、權(quán)值共享及降采樣的特點(diǎn),在圖像處理方面表現(xiàn)尤為突出。目前,基于卷積神經(jīng)網(wǎng)絡(luò)的可見(jiàn)近紅外光譜土壤養(yǎng)分檢測(cè)研究還鮮有報(bào)道。
將CNN應(yīng)用于基于可見(jiàn)近紅外光譜的土壤含氮量檢測(cè)中,首先使用一階求導(dǎo)和多元散射校正對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理,消除基線漂移和其他噪聲干擾,然后將一維光譜信號(hào)轉(zhuǎn)換為二維光譜矩陣,利用經(jīng)典的VGG網(wǎng)絡(luò)中卷積池化的結(jié)構(gòu)建立基于土壤含氮量的檢測(cè)模型;為減少模型的過(guò)擬合現(xiàn)象,提高模型的性能,對(duì)模型的卷積層及全連接層分別使用批量正則化和dropout技術(shù),將最終模型與傳統(tǒng)的PLSR和BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,旨在探究一種高效準(zhǔn)確的土壤含氮量檢測(cè)方案。
采用CAMO公司的The Unscrambler X10.3對(duì)可見(jiàn)近紅外光譜數(shù)據(jù)進(jìn)行預(yù)處理及主成分回歸分析,使用基于Python3.7版本的Tensorflow2.0搭建基于CNN和BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型。
實(shí)驗(yàn)使用的數(shù)據(jù)集為歐盟統(tǒng)計(jì)局在2008年至2012年期間開(kāi)展土壤利用及覆蓋統(tǒng)計(jì)調(diào)查(Land Use/Cover Area frame Statistical Survey,LUCAS)時(shí)所采集的土壤光譜樣本。樣本主要采樣區(qū)域?yàn)楦?、林地和草地,使用?biāo)準(zhǔn)化抽樣程序在歐洲23個(gè)成員國(guó)中收集了大約2萬(wàn)個(gè)土壤樣本點(diǎn),每個(gè)土樣重量約為0.5 kg。土壤類型主要分為礦質(zhì)和腐殖質(zhì)兩大類[14]。土壤的光譜測(cè)量采用FOSS XDS近紅外光譜分析儀,光譜儀的測(cè)量范圍為400~2 500 nm,分辨率為0.5 nm,共計(jì)4 200個(gè)波長(zhǎng)點(diǎn),其中400~500 nm區(qū)間的光譜噪聲較大,因此研究選用500~2 500 nm區(qū)間的光譜作為后續(xù)研究分析[15]。LUCAS原始光譜曲線如圖1所示,由于受到氨基化合物中的NH基團(tuán)的影響,光譜曲線在1 900及2 200 nm處均出現(xiàn)了明顯的波峰。由于采用的是二維卷積對(duì)光譜數(shù)據(jù)進(jìn)行建模,因此在輸入模型前,需要將一維光譜信號(hào)轉(zhuǎn)換為二維光譜圖像,將4 000個(gè)波長(zhǎng)點(diǎn)每次截取80個(gè)波長(zhǎng)點(diǎn)依次放入二維矩陣中,這樣,每個(gè)樣本光譜最終形成一個(gè)50行80列的光譜矩陣,結(jié)果如圖2所示。
圖1 LUCAS土壤可見(jiàn)近紅外光譜圖Fig.1 Visible and near infrared spectra of Lucas soil
圖2 LUCAS土壤二維光譜矩陣圖Fig.2 Two dimensional spectral matrix of Lucas soil
主要以礦質(zhì)土壤的17 272個(gè)樣本為研究對(duì)象,利用SPXY算法[16]以3∶1∶1的比例將礦質(zhì)土壤數(shù)據(jù)集劃分為訓(xùn)練集,驗(yàn)證集和測(cè)試集,各個(gè)集合氮含量的具體情況如下表所示。
表1 LUCAS土壤數(shù)據(jù)集氮含量基本信息Table 1 Basic information of nitrogen content in Lucas soil data set
卷積神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督式的非線性神經(jīng)網(wǎng)絡(luò),由輸入層,卷積層,池化層,全連接層和輸出層構(gòu)成。CNN主要通過(guò)多個(gè)卷積層及池化層的堆疊來(lái)實(shí)現(xiàn)對(duì)輸入圖像的特征映射。其中卷積層主要是通過(guò)多個(gè)卷積核的滑動(dòng)平移及加權(quán)求和來(lái)實(shí)現(xiàn)對(duì)輸入圖像的特征提取。卷積之后,通常會(huì)加入偏置,并引入非線性激活函數(shù),經(jīng)過(guò)激活函數(shù)后,得到結(jié)果:
卷積之后常采用池化操作來(lái)提取圖像的顯著特征并降低特征圖的分辨率,從而提高模型的運(yùn)行效率。池化主要分為最大值池化和平均值池化兩種方式,采用最大值池化法來(lái)對(duì)模型進(jìn)行降采樣處理。
模型的網(wǎng)絡(luò)結(jié)構(gòu)是在經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)VGGNet[17]的基礎(chǔ)上進(jìn)行改進(jìn)的,VGGNet是一種結(jié)構(gòu)簡(jiǎn)潔的網(wǎng)絡(luò)模型,整個(gè)網(wǎng)絡(luò)使用統(tǒng)一卷積核大小的卷積層(3×3)和池化層(2×2)對(duì)圖像進(jìn)行特征提取,采用連續(xù)多個(gè)3×3卷積核的卷積層來(lái)代替較大卷積核的卷積層。模型的具體參數(shù)如表2所示,為了能夠提高模型的特征提取能力,減少模型的運(yùn)算參數(shù),采用兩個(gè)3×3卷積核的卷積層堆疊來(lái)代替5×5卷積核的卷積層,設(shè)置卷積核的移動(dòng)步長(zhǎng)為1,為了使卷積前后圖像的尺寸不發(fā)生改變,使用等長(zhǎng)卷積對(duì)圖像進(jìn)行特征提取,在卷積之后添加批量標(biāo)準(zhǔn)化層來(lái)提高模型的運(yùn)行速度和擬合精度,之后引入最大值池化操作對(duì)特征圖像進(jìn)行降維。經(jīng)過(guò)三層卷積池化操作后,將得到的特征圖像扁平化處理輸入到全連接層,實(shí)現(xiàn)土壤含氮量的快速檢測(cè),CNN模型結(jié)構(gòu)如圖3所示。
圖3 CNN模型結(jié)構(gòu)框架圖Fig.3 Structural framework of CNN model
表2 CNN模型參數(shù)設(shè)置Table 2 Basic information of CNN model parameters
網(wǎng)絡(luò)模型通過(guò)反向傳播算法來(lái)對(duì)模型中的參數(shù)進(jìn)行學(xué)習(xí),在前向傳播中設(shè)置網(wǎng)絡(luò)的初始化權(quán)值和偏置值均值為0標(biāo)準(zhǔn)差為0.05且服從高斯分布的隨機(jī)小數(shù)。模型的損失函數(shù)為均方誤差函數(shù),如式(2)所示:
從不同角度對(duì)基于CNN的方法的實(shí)驗(yàn)結(jié)果進(jìn)行了分析和比較,在實(shí)驗(yàn)前先將LUCAS數(shù)據(jù)按比例劃分為訓(xùn)練集,驗(yàn)證集和測(cè)試集。其中訓(xùn)練集主要用于對(duì)模型內(nèi)部參數(shù)進(jìn)行學(xué)習(xí),驗(yàn)證集主要用于調(diào)整模型參數(shù),判斷模型是否過(guò)擬合,測(cè)試集主要用于評(píng)估模型的泛化能力。網(wǎng)絡(luò)模型的性能主要通過(guò)均方根誤差(RMSE)及決定系數(shù)(R2)來(lái)表示。相關(guān)實(shí)驗(yàn)主要包括光譜數(shù)據(jù)預(yù)處理、迭代次數(shù)對(duì)模型性能的影響及與傳統(tǒng)模型進(jìn)行比較。
為消除LUCAS光譜中出現(xiàn)的基線漂移及其他噪聲的影響,提高模型的性能,采用一階求導(dǎo)(1stDerivative,1stD),標(biāo)準(zhǔn)正態(tài)變量變換(Standard Normal Variate,SNV)及1stD+SNV組合的方式對(duì)LUCAS數(shù)據(jù)進(jìn)行預(yù)處理,建模結(jié)果如表3所示,與原始光譜相比,預(yù)處理后的光譜數(shù)據(jù)所建模型效果均得到了不同程度的提升,其中1stD+SNV組合的方式效果最好,模型對(duì)未知數(shù)據(jù)的泛化能力也最優(yōu),這與張征立等[18]所得的結(jié)果類似,其利用一階求導(dǎo)、標(biāo)準(zhǔn)正態(tài)變換和均值中心化三種方案對(duì)桑園土壤近紅外光譜數(shù)據(jù)進(jìn)行預(yù)處理,結(jié)果顯示使用三種預(yù)處理組合的方式效果最優(yōu)。綜合考慮,采用1stD+SNV組合的方式對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理。
表3 不同預(yù)處理方法的CNN模型結(jié)果Table 3 CNN model results of different preprocessing methods
為了探究訓(xùn)練次數(shù)對(duì)模型性能的影響,在保持模型結(jié)構(gòu)和參數(shù)不變的情況下,通過(guò)改變模型訓(xùn)練次數(shù)來(lái)探究模型的最佳性能。在前7次訓(xùn)練中,由于模型對(duì)光譜數(shù)據(jù)的學(xué)習(xí)能力不足,致使驗(yàn)證集的均方誤差大于5,明顯不同于其他損失,為了能更好的從誤差曲線圖中發(fā)現(xiàn)規(guī)律,遂在作圖時(shí)去除前7次的驗(yàn)證損失,模型的均方誤差曲線如下圖4所示,隨著訓(xùn)練次數(shù)的增加,模型的性能不斷提升,模型的誤差逐漸減小,當(dāng)訓(xùn)練次數(shù)為89次時(shí),模型對(duì)驗(yàn)證集的擬合誤差最小,結(jié)果為0.335 0。之后隨著迭代次數(shù)的增加,模型對(duì)訓(xùn)練集的擬合效果越來(lái)越好,對(duì)驗(yàn)證集的泛化能力逐漸變差,模型出現(xiàn)了過(guò)擬合現(xiàn)象。
圖4 CNN模型訓(xùn)練的訓(xùn)練損失和驗(yàn)證損失Fig.4 Train loss and verification loss of CNN model
為了進(jìn)一步提升模型的性能,減小過(guò)擬合現(xiàn)象,在模型的全連接層中加入Dropout技術(shù),并降低模型的迭代次數(shù)為100次。Dropout[19]的原理主要是在訓(xùn)練過(guò)程中通過(guò)隨機(jī)丟棄一定比例的神經(jīng)元使其暫時(shí)失去作用,從而降低神經(jīng)元之間復(fù)雜的共適應(yīng)關(guān)系,增強(qiáng)網(wǎng)絡(luò)模型的魯棒性。表4為不同丟棄比例下模型的最佳結(jié)果,由表4可以看出,當(dāng)丟棄比例設(shè)置為0.2時(shí),測(cè)試集的決定系數(shù)最高,模型對(duì)未知數(shù)據(jù)的泛化能力最強(qiáng),之后隨著丟棄比例的不斷增加,模型的整體性能逐漸降低。圖5是丟棄比例為0.2的模型迭代損失圖,由圖可以看出模型訓(xùn)練損失與驗(yàn)證損失之間的差距相比圖4有了很大的改善,模型的過(guò)擬合現(xiàn)象得到一定緩解。
圖5 使用dropout后模型的訓(xùn)練損失和驗(yàn)證損失Fig.5 Train loss and verification loss of the model after using dropout
表4 不同丟棄比例的CNN模型結(jié)果Table 4 Results of CNN model with different discarding ratio
為了進(jìn)一步測(cè)試模型的性能,選用化學(xué)計(jì)量學(xué)中常用的PLSR和BP神經(jīng)網(wǎng)絡(luò)模型與本模型進(jìn)行對(duì)比。設(shè)置PLSR模型的最大成分?jǐn)?shù)為40,設(shè)置BP神經(jīng)網(wǎng)絡(luò)為隱含層神經(jīng)元個(gè)數(shù)是128的雙隱層結(jié)構(gòu)。各個(gè)模型的預(yù)測(cè)結(jié)果如下表所示,CNN模型的擬合學(xué)習(xí)能力遠(yuǎn)優(yōu)于傳統(tǒng)的PLSR和BP神經(jīng)網(wǎng)絡(luò)模型,CNN模型對(duì)測(cè)試集的擬合優(yōu)度比傳統(tǒng)模型高了0.15以上。
表5 不同模型預(yù)測(cè)性能的對(duì)比Table 5 Comparison of prediction performance of different models
圖6~8分別為三個(gè)模型測(cè)試集的預(yù)測(cè)值與真實(shí)值的散點(diǎn)擬合圖。如圖所示,三種模型的擬合結(jié)果均成正相關(guān)分布,數(shù)據(jù)點(diǎn)均勻的分布在擬合線的兩側(cè),與PLSR和BP相比,CNNR的散點(diǎn)擬合效果最好,數(shù)據(jù)點(diǎn)密集的分布在回歸直線的兩側(cè),從而進(jìn)一步佐證了卷積神經(jīng)網(wǎng)絡(luò)優(yōu)于傳統(tǒng)模型,這在不同學(xué)科都得到了證實(shí)[20],這一結(jié)果與J.Padarian等[21]的研究一致,其在利用可見(jiàn)近紅外光譜數(shù)據(jù)對(duì)土壤有機(jī)質(zhì)建模中比較了PLS,決策樹(shù)及CNN模型的性能。因此,利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)土壤含氮量進(jìn)行檢測(cè)的方案是可行的。
圖6 PLSR模型對(duì)測(cè)試集的預(yù)測(cè)結(jié)果Fig.6 Prediction results of PLSR model for test data set
圖7 BP神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)試集的預(yù)測(cè)結(jié)果Fig.7 Prediction results of BPneural network for test data set
Padarian等[21]利用CNN模型對(duì)LUCAS土壤數(shù)據(jù)集中的氮含量進(jìn)行檢測(cè),模型的決定系數(shù)為0.83,明顯高于0.79,考慮引起模型性能差距的主要原因有以下幾個(gè)方面,首先深度學(xué)習(xí)模型的性能與訓(xùn)練數(shù)據(jù)集的大小成正相關(guān)[22],其用于訓(xùn)練模型的土壤光譜數(shù)據(jù)為14 227條,而本文為10 362條;其次,CNN模型主要通過(guò)卷積層來(lái)實(shí)現(xiàn)對(duì)光譜數(shù)據(jù)的特征提取,在一定程度上隨著卷積層個(gè)數(shù)的增加,網(wǎng)絡(luò)的模型性能也會(huì)得到一定的提升[23],文章中模型所采用的卷積層個(gè)數(shù)為三層,而Padarian等[21]使用的卷積層為5層。
圖8 CNN模型對(duì)測(cè)試集的預(yù)測(cè)結(jié)果Fig.8 Prediction results of CNN model to test set
探討了使用CNN模型結(jié)合可見(jiàn)近紅外光譜實(shí)現(xiàn)對(duì)土壤氮含量的檢測(cè),首先對(duì)LUCAS數(shù)據(jù)庫(kù)中的光譜數(shù)據(jù)進(jìn)行預(yù)處理以消除光譜中出現(xiàn)的基線漂移及噪聲。將預(yù)處理后的光譜數(shù)據(jù)直接轉(zhuǎn)換為二維光譜圖,以適應(yīng)二維卷積的模型結(jié)構(gòu)。通過(guò)使用SNV,1stD及SNV+1stD的方式對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理,將建模結(jié)果與原始光譜進(jìn)行對(duì)比,結(jié)果表明使用SNV+1stD的光譜數(shù)據(jù)建模效果最優(yōu)。在使用SNV+1stD對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理的情況下,將模型與傳統(tǒng)模型BP和PCR進(jìn)行對(duì)比,使用測(cè)試集對(duì)模型的泛化能力進(jìn)行評(píng)估,結(jié)果表明使用CNN對(duì)土壤光譜數(shù)據(jù)進(jìn)行建模相比于傳統(tǒng)模型來(lái)說(shuō)具有較高的特征提取能力和泛化能力,模型預(yù)測(cè)集的決定系數(shù)比傳統(tǒng)模型高出0.15以上。研究為土壤氮含量的快速檢測(cè)和儀器開(kāi)發(fā)奠定了基礎(chǔ)。
黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào)2021年3期