楊 瑋,蘭 紅,李民贊,孟 超
(中國農(nóng)業(yè)大學信息與電氣工程學院,北京 100083)
土壤結構反映了土壤不同成分或性質(zhì)的空間異質(zhì)性,對植物發(fā)育和土壤水分平衡至關重要[1]。土壤容重和土壤孔隙度是衡量土體結構的重要參數(shù)[2],表征土體物理性質(zhì)。二者密切相關[3],土壤容重小,表明土壤比較疏松,孔隙多,保水保肥能力強。反之,土壤容重大,表明土體緊實,結構性差,孔隙少,耕性、透水性、通氣性不良,保水保肥能力差。土壤容重是計算土壤孔隙率、空氣含量和換算土壤相對含水率的基本數(shù)據(jù)[4]。傳統(tǒng)測量土壤容重的方法是環(huán)刀法。該方法測量結果精準,通常用作標準測量法,但是需要環(huán)刀、鋁盒、烘干箱等多個儀器,整個過程耗時耗力,不利于快速、精準地測量大范圍農(nóng)田土壤容重。因此,探尋便捷高效的間接土壤容重測量法一直是精細農(nóng)業(yè)研究的重要內(nèi)容。
近年來,利用機器學習等回歸模型預測土壤容重的方法在國內(nèi)外得到了廣泛應用。Alqinna等[5]利用簡單線性回歸、多元非線性回歸、逐步多元線性回歸、偏最小二乘和人工神經(jīng)網(wǎng)絡預測土壤容重,并比較了每個模型的預測精度,發(fā)現(xiàn)人工神經(jīng)網(wǎng)絡在預測土壤容重方面最為出色,與其他模型相比準確度提升了18.4%,同時發(fā)現(xiàn),增加模型預測變量的數(shù)量可以增強土壤容重的預測能力。Abdelbaki[6]使用美國土壤數(shù)據(jù)庫評估了48種公開的PTF函數(shù)(Pedo-Transfer Function)預測土壤容重的準確性,并構建了新的PTF預測模型,利用有機碳或有機物含量作為模型輸入,模型的最佳性能可以達到R2為0.59,RMSE為0.13 g/cm3。Yang等[7]將預測的土壤含水率作為輔助數(shù)據(jù)改進協(xié)同克里格算法,實現(xiàn)了對土壤容重的預測,預測精度R2達到了0.852。Martin等[8]基于多重累加回歸樹方法推導并試驗了兩個新的PTF模型,應用于國家級土壤數(shù)據(jù)庫,模型的R2值分別為0.83和0.94。然而,大多數(shù)用于預測土壤容重的PTF函數(shù)和回歸模型,其輸入的變量很難獲得且測量成本很高,如各種有機物的含量、土壤有機質(zhì)等。且模型僅適用于特定的農(nóng)田環(huán)境條件,僅能在有限的地理區(qū)域內(nèi)使用,不便于方法的重復和推廣。
研究表明[3,9],土壤容重與土壤孔隙度具有極強的相關性,且土壤孔隙度可以直接利用土壤容重由經(jīng)驗公式計算得到。利用土壤粗糙度預測土壤孔隙度的研究也已經(jīng)取得不少成果[10-12]。隨著技術的進步,圖像法在土壤粗糙度的測量中得到了不少應用[13-16]。同時有研究指出[17-19],耕作的牽引阻力主要取決于土壤強度。在茬口、有機質(zhì)和含水量相同的情況下,影響耕作阻力的主要因素是土壤容重,土壤阻力可以在很大程度上定量反映土壤容重。綜上,利用圖像處理法得到表征土壤粗糙度的特征參數(shù)和土壤阻力作為輸入,能夠構建土壤容重和土壤粗糙度回歸預測模型。楊瑋等[20]對土壤表面圖像做了預處理,并提取了灰度圖像的特征參數(shù),與土壤阻力一起構建了梯度提升決策回歸樹(Gradient Boosting Regression Tree,GBRT)預測模型,實現(xiàn)了對土壤容重的預測。文獻的重點在于圖像預處理和灰度圖像特征提取,但是缺少對圖像的顏色特征參數(shù)的探究,也沒有構建土壤孔隙度預測模型。另外,GBRT模型的調(diào)參過程比較復雜,從圖像增強、特征提取、特征選擇,再到模型構建,整個過程的技術和算法要求較高,因此有必要探究更便捷、高效的方法,來實現(xiàn)對土壤容重和土壤孔隙度的預測。支持向量機回歸(Support Vector Regression,SVR)模型作為機器學習的經(jīng)典模型,在非線性預測的應用中已被良好認可,且模型應用廣泛,調(diào)參快捷,精度較高。
本文基于實驗室的設備和研究基礎,利用高質(zhì)量的土壤表面圖像,免去圖像增強處理步驟,直接提取圖像的顏色特征參數(shù),將其和車載式土壤阻力測量系統(tǒng)獲得的阻力作為回歸模型的輸入變量,建立支持向量機回歸預測模型,預測土壤容重,并補充構建了土壤孔隙度預測模型,同時實現(xiàn)對土壤容重和土壤孔隙度的預測。本研究可降低參數(shù)獲取難度,節(jié)省試驗步驟,簡化方法和模型構建過程,為大范圍農(nóng)田土壤容重和孔隙度的獲取提供思路和方法。
中國農(nóng)業(yè)大學上莊實驗站地處北京市海淀區(qū)北部的上莊鎮(zhèn),位于115.7°~117.4°E,39.4°~41.6°N,面積16 410 km2。該區(qū)域為典型的暖溫帶半濕潤大陸性季風氣候,夏季高溫多雨,冬季寒冷干燥。年平均氣溫11.5 ℃,年平均降水量約540.7 mm,年蒸發(fā)量為466.7 mm。土壤質(zhì)地包括輕壤土、中壤土、粉砂壤土和砂壤土,有機質(zhì)質(zhì)量分數(shù)達0.34%~1.70%,土壤肥沃,質(zhì)地適中。
數(shù)據(jù)采集試驗于2019年5月進行,試驗田長42 m,寬40 m,總占地面積1 680 m2。采集10列樣本,每列采集10 個,共100個樣本。拍攝土壤表面圖像的設備為小米CC9智能手機。使用后置相機垂直離地大約30 cm左右拍攝土壤表面圖像。然后使用環(huán)刀取土法[21]采集采樣點的土壤。
首先用環(huán)刀垂直插入取樣點,然后用小鏟子挖出裝滿土的環(huán)刀,削去環(huán)刀口多余的土,保證采集面平整。將裝滿土的環(huán)刀放入帶有標號的鋁盒中,蓋好蓋,防止水分蒸發(fā)。從第1個點開始,按S路線依次采集。使用實驗室自主研發(fā)的車載式土壤阻力測量系統(tǒng)[22]從第1個采集點開始,按照環(huán)刀取土的路線以2 m/s的速度測得離地表約15 cm深處的土壤阻力并保存。完成試驗的時間大約5 h,并保證土壤樣本不受時間、天氣等其他環(huán)境因素的影響。
使用車載式土壤阻力測量系統(tǒng)記錄插入土壤的犁鉤在水平方向受到的阻力,采集的數(shù)據(jù)為連續(xù)數(shù)據(jù),包括阻力和時間。采集點之間的間距為4 m,車速為2 m/s,所以縱向采集的每列中,兩個采樣點阻力采集的時間間隔為2 s,變換采集線路時,犁鉤抬離地面,阻力為0。找到對應采集點的阻力數(shù)據(jù)并整理到Excel中。將采集的100個土樣帶回實驗室,連同環(huán)刀和鋁盒一起稱質(zhì)量。然后把裝有環(huán)刀和土壤的鋁盒放入電熱鼓風干燥箱(DHG-9003,上海一恒科學儀器有限公司)中,在105 ℃下干燥24 h。取出鋁盒,冷卻至室溫(26 ℃),再次稱質(zhì)量并記錄數(shù)據(jù)。分別計算土壤含水率、土壤容重和土壤孔隙度:
式中W代表土壤含水率,%;ρ濕代表濕土的質(zhì)量,g;ρ干代表干土的質(zhì)量,g。
式中d代表土壤容重,g/cm3;V代表環(huán)刀容積,cm3,本試驗的環(huán)刀容積為100 cm3。
式中f代表土壤孔隙度,%;s代表土壤密度,g/cm3,一般取2.65。
手機拍攝的土壤表面圖像為彩色圖像。很多圖像處理方法都是先把圖像轉換為灰色圖像,丟失了圖像彩色信息的細節(jié)成分[23]。圖像分割是圖像識別和圖像理解的基本前提,分割效果直接影響圖像特征參數(shù)的提取結果。所以,基于圖像顏色信息進行分割,可以充分發(fā)揮彩色空間中顏色的貢獻[24]。
原始土壤表面圖像如圖1所示。首先選取合適的顏色空間,分別制作圖像在RGB顏色空間和HSV顏色空間上的可視化圖像,如圖2a和圖2b所示。
由圖2可以看出,在RGB顏色空間上,圖像的主體顏色跨越了幾乎整個范圍的Red(紅色,R)、Green(綠色,G)、和Blue(藍色,B)值。由于圖像的一部分延伸到幾乎整個坐標系,所以根據(jù)RGB值的范圍在RGB空間分割土壤圖像并不容易。而在HSV顏色空間上,圖像的色彩在Hue(色調(diào),H)、Saturation(飽和度,S)、Value(亮度,V)上有明顯的分離,能夠用于圖像分割。因此,選擇HSV顏色空間進行圖像分割。
將RGB圖像轉換為HSV圖像[25],原理如下:
式中R′為R/255,G′為G/255,B′為B/255,代表把RGB空間的Red、Green和Blue值分別轉為[0,1]區(qū)間;mod6代表對6取余;Cmax為max(R′,G′,B′);Δ為Cmax與min(R′,G′,B′)的差。
根據(jù)圖像HSV分量的直方圖來確定最佳的分割閾值,如圖3所示。結合分布直方圖的分量范圍,編寫閾值滑動調(diào)整程序。在對閾值進行調(diào)整的同時,獲得指定顏色范圍內(nèi)的掩碼,對原始圖像進行按位與操作,保留掩碼區(qū)域。通過程序調(diào)試得到的最佳分割閾值為:h_min=0,h_max=30,s_min=10,s_max=60,v_min=0,v_max=255。對應的掩碼范圍邊界值為:lower = (0,10,0),upper = (30,60,255)。
圖像分割結果如圖4所示??梢钥闯觯?jīng)過HSV圖像分割后的土壤表面圖像與原始圖像相比,起伏更加突出,顆粒感更強,可以更明顯地表現(xiàn)土壤圖像的粗糙度特征。
顏色距是一種有效的顏色特征表示方法[26-27],圖像的顏色信息主要分布于低階距中,包括一階距(均值)、二階矩(準差)和三階矩(斜度)。圖像的三個分量H、S、V的前三階顏色矩組成一個9維直方圖向量,圖像的顏色特征表示如下:
式中Fcolor表示圖像的顏色特征,Pij表示彩色圖像第j個像素的第i個顏色分量;N表示圖像中像素的個數(shù);μ、σ、δ分別表示一階距、二階矩和三階矩下標H、S、V分別代表圖像的三個分量。
灰度共生矩陣(Gray-Level Co-occurrence Matrix,GLCM)通過研究圖像的灰度空間,使用不同像素之間的聯(lián)合概率密度得出圖像特征,不但能反映整體圖像像素的分布特性,也能反映圖像中像素值相近的局部分布特性[28]。由于灰度共生矩陣的數(shù)據(jù)量較大,一般不直接作為區(qū)分紋理的特征,而是利用其構建的一些統(tǒng)計量來表征紋理特征。本文選擇灰度共生矩陣的能量、熵、對比度和逆方差四個常用參數(shù)來作為表征圖像表面粗糙度的特征參數(shù)。
使用主成分分析(Principal Component Analysis,PCA)對獲取的圖像顏色特征參數(shù)和紋理特征參數(shù)進行降維處理。主成分分析可以將原來眾多的、具有一定關聯(lián)性的指標,進行重新組合,形成新的、互相無相關性的綜合指標,同時對原有指標的信息做到最大化的保留,并省去部分重復信息,簡化復雜數(shù)據(jù)的信息[29-30]。
支持向量機回歸(SVR)是由支持向量機(Support Vector Machine,SVM)衍生得到的模型[31-32]。SVR回歸模型通過找到一個回歸超平面,讓一個集合的所有數(shù)據(jù)到該平面的距離最近[33]。具體方法如下:
設樣本集為:(x1,y1),(x2,y2),…,(xi,yi)。x∈Rn,y∈R,R表示實數(shù)集。y使用x的函數(shù)f(x)代替,則樣本集中y與x可通過如下方程表示:
式中ω和b為超平面的系數(shù)。
若原始數(shù)據(jù)與支持向量機回歸擬合良好,則使得
式中ε為任意的一個正數(shù)。
引入拉格朗日對數(shù)對式(11)進行變化得到變形為
式中an和an*為樣本支持向量,大多數(shù)取值為0。
為了解決維數(shù)災難問題,當核函數(shù)滿足Mercer條件[34],便可獲得內(nèi)積函數(shù)K(xn,xj)=ψ(xn)·ψ(xj)。同時引入拉格朗日變化得到最后的回歸函數(shù)
本文使用線性核函數(shù)K(x,xi)=xTxi,在python中調(diào)用sklearn中的svm包,引入SVR模型。試驗均在Python3.7的環(huán)境中進行。
分別利用閾值調(diào)整程序對田間試驗拍攝的100幅土壤表面圖像確定分割閾值,并進行HSV圖像分割處理。對每幅經(jīng)過HSV分割處理之后的圖像提取顏色特征參數(shù)和灰度共生矩陣紋理特征參數(shù)。圖像處理得到的所有參數(shù),即H分量的一階距(H_mean)、S分量的一階距(S_mean)、V分量的一階距(V_mean)、H分量的二階矩(H_std)、S分量的二階矩(S_std)、V分量的二階矩(V_std)、H分量的三階矩(H_thirdMoment)、S分量的三階矩(S_third Moment)、V分量的三階矩(V_third Moment)、及灰度共生矩陣的能量、熵、對比度和逆方差,依次設為X1~X13,對應關系如表1所示,計算結果如表2所示,表2中顏色特征的最大值和最小值之間有明顯差異,因此可以通過選擇的這些顏色特征來對土壤容重和孔隙度進行區(qū)分。13個變量之間的相關性如表3所示。
表1 圖像特征參數(shù)與替代字母對應表Table 1 Correspondence table of image feature parameters and substitute letters
表2 100幅圖像顏色特征參數(shù)和紋理特征參數(shù)計算統(tǒng)計結果Table 2 Statistical results of color feature parameters and texture feature parameters calculation of 100 images
表3 13個圖像特征參數(shù)之間的相關性Table 3 Correlation among 13 image feature parameters
可以看到圖像處理得到的13個參數(shù),部分參數(shù)之間存在相關性,不利于后期模型的構建。利用主成分分析算法在數(shù)據(jù)信息損失最小的基礎之上,對原始特征進行降維,得到全新的正交特征并作為主成分。因圖像顏色特征包含H、S、V三個分量,紋理特征包括4個特征參數(shù),所以選定將13維特征變?yōu)?維特征。主成分分析得到的7維特征參數(shù)如表4示。
表4 主成分分析得出的7維特征參數(shù)Table 4 7-dimensional feature parameters derived from principal component analysis
scikit-learn(sklearn)是機器學習中常用的第三方模塊,建立在numpy、scipy和matplotlib模塊之上,對機器學習方法進行了封裝。模型訓練程序從sklearn.svm中引入SVR,內(nèi)核類型選擇linear線性內(nèi)核,懲罰參數(shù)等其他參數(shù)默認。使用75%的數(shù)據(jù)作為建模集,25%的數(shù)據(jù)作為驗證集。模型精度的評價標準選擇決定系數(shù)R2和均方根誤差RMSE。將7個特征參數(shù)F1~F7,和土壤阻力一起共8個因素作為輸入,土壤容重數(shù)據(jù)作為輸出,訓練得到土壤容重預測模型。使用驗證集對模型進行驗證,驗證集得到的預測值和環(huán)刀法得到的土壤容重標準值進行相關性分析,結果如圖5a所示。
為了比較不同機器學習模型在同樣的運算環(huán)境和相同變量輸入條件下,對土壤容重和土壤孔隙度的預測精度,選擇常用且易于理解的決策樹回歸模型做了性能對比,并記錄兩種模型的運算時間。決策樹回歸模型的特征選擇標準使用MSE,特征劃分點選擇標準使用best,最大特征數(shù)和決策樹最大深度默認。決策樹回歸模型對土壤容重預測值和真實值的相關性如圖5b所示。
將土壤孔隙度作為輸出,訓練得到土壤孔隙度預測模型。SVR土壤孔隙度模型預測值和真實值的相關性如圖6a所示,決策樹回歸土壤孔隙度預測模型的預測值和真實值的相關性如圖6b所示。
可以看到,SVR模型對土壤容重預測的決定系數(shù)R2達到了0.867,均方根誤差為0.001 g/cm3,優(yōu)于決策樹回歸對土壤容重的預測。不過運算時間用了6.810 s,相較于決策樹回歸模型2.153 s的運算時間,多出了4.7 s左右。對土壤孔隙度的預測上,SVR模型的決定系數(shù)R2為0.743,均方根誤差為2.284%。決策樹回歸模型的決定系數(shù)R2為0.690,均方根誤差為3.345%,運算時間上SVR模型所用時間為3.144 s,決策樹回歸模型的運算時間為4.302 s。綜合可得,將圖像特征參數(shù)和土壤阻力作為輸入,SVR模型對土壤容重和土壤孔隙度的預測都表現(xiàn)出了比決策樹高的精度,雖然在預測土壤容重時運算時間多出幾秒,但是在可接受范圍內(nèi),符合模型精度和運算需求,因此SVR模型具有更好的性能。
SVR的理論基礎是利用內(nèi)積核函數(shù)代替高維空間的非線性映射。當核函數(shù)已知時,可以簡化高維空間的求解難度。同時,SVR基于小樣本統(tǒng)計理論,避開了從歸納到演繹的傳統(tǒng)過程,實現(xiàn)了高效的從訓練樣本到預測樣本的推理,簡化了回歸問題。SVR的最終決策函數(shù)由少數(shù)的支持向量所確定,計算的復雜性取決于支持向量的數(shù)目,可以抓住關鍵樣本,剔除大量冗余樣本,非支持向量樣本數(shù)量的改變對模型沒有影響,增強了模型的魯棒性。相對于其他機器學習模型,SVR非常擅長解決復雜的、中小規(guī)模訓練集的非線性問題,且模型調(diào)參比較容易,內(nèi)核類型確定以后其他參數(shù)可選擇默認。但是隨著樣本量的增加,SVR模型的計算復雜度會成倍增加,從而耗費較大的機器內(nèi)存和運算時間,因此在考慮成本和效率時,需要注意模型訓練樣本量不能過大。
1)利用圖像的HSV顏色空間參數(shù)、紋理參數(shù)和土壤阻力預測土壤容重與土壤孔隙度是可行的。顏色參數(shù)和紋理參數(shù)可以作為表征土壤粗糙度的特征參數(shù)。將土壤表面圖像在HSV顏色空間上做分割處理,可以增強圖像的粗糙表現(xiàn)程度。對顏色參數(shù)和紋理參數(shù)進行主成分分析,然后同土壤阻力一起作為輸入變量,構建支持向量機回歸(Support Vector Regression,SVR)土壤容重預測模型和SVR土壤孔隙度預測模型,能夠實現(xiàn)對土壤容重和土壤孔隙度的預測。
2)SVR模型在利用圖像顏色參數(shù)、紋理參數(shù)和土壤阻力作為輸入時,預測土壤容重的模型精度可達0.867,預測土壤孔隙度的模型精度可達0.743。將模型結果同決策樹回歸模型的預測結果做對比,決策樹回歸模型對土壤容重和土壤孔隙度的預測精度R2分別為0.734和0.690,因此SVR模型具有更好的預測精度。雖然預測土壤容重時耗費的時間稍多,但是并不影響模型的精度和適用性。在中小規(guī)模數(shù)據(jù)樣本情況下,SVR可以實現(xiàn)良好的預測效果,為省時省力獲取土壤容重和土壤孔隙度提供了方法。