薛 衛(wèi),胡雪嬌,韋 中,梅新蘭,陳行健,徐陽春*
(1 南京農(nóng)業(yè)大學信息科學技術學院,江蘇 210095;2 南京農(nóng)業(yè)大學資源環(huán)境與科學學院/江蘇省固體有機廢棄物資源化高技術研究重點實驗室,江蘇 210095)
農(nóng)業(yè)廢棄物堆肥化利用,不僅能解決其隨意棄置造成的環(huán)境污染,而且可以為農(nóng)業(yè)生產(chǎn)提供大量的有機肥料,減少化學肥料的使用量,是保護生態(tài)環(huán)境、節(jié)約資源、發(fā)展可持續(xù)農(nóng)業(yè)的重要途徑[1]。在農(nóng)業(yè)生產(chǎn)中,使用未腐熟的有機肥不僅會影響作物生長,而且還會招來地下害蟲腐蝕作物根系,微生物的大量繁殖也會造成土壤缺氧增加病原體、寄生蟲傳播的風險[2]。堆肥生產(chǎn)上常采用腐熟度[3]來表示堆肥化的穩(wěn)定程度。目前評價堆肥腐熟度的方法有:表觀分析法、化學分析法、植物生長分析法及光譜分析法等方法[4],采用這些方法分析堆肥的腐熟狀態(tài)往往時間長,實驗步驟繁瑣,堆肥生產(chǎn)上尚缺乏快速、直接的堆肥腐熟度判斷方法。因此,亟需研發(fā)一種快速有效的堆肥腐熟度的評價方法,為生產(chǎn)實踐中堆肥腐熟度的判斷提供決策支持。
農(nóng)業(yè)廢棄物在堆肥腐熟過程中發(fā)生了復雜的生物化學反應,這些反應導致各種物理和化學性質的變化,如堆肥顏色、紋理結構、溫度、含水量、C/N、腐殖質含量等[5]。在腐熟過程中,堆肥的紋理和顏色通常發(fā)生顯著變化,研究表明堆肥的物理形態(tài)及顏色的改變可作為判別腐熟度的標準之一[6]。計算機圖像分析法能夠有效地提取紋理和顏色特征,支持分類和評估不同生物材料的狀態(tài)[7-8],是農(nóng)業(yè)工程問題中廣泛使用的工具[9-12]。近年來,這些方法也被用于堆肥的研究與分析[13-14]。Boiecki 等[15]和Kujawa 等[16]使用神經(jīng)圖像分析法,在多光源的條件下評價堆肥腐熟質量。李治宇等[17]用木醋液對堆肥顏色進行干預,通過HSI 顏色模型判斷堆肥腐熟度。現(xiàn)有的研究方法需要多光源、化學試劑等對堆肥進行干預,且研究堆肥種類單一、數(shù)據(jù)量小??傊斍皣鴥韧怩r有研究者直接將機器視覺方法應用到堆肥現(xiàn)場腐熟度預測中。
隨著大數(shù)據(jù)、人工智能時代的到來,分布式計算以及GPU 計算性能的大幅提升,深度學習在圖像識別、文本處理、語音識別等領域掀起了巨大的熱潮。Krizhevsky 等[18]運用深卷積神經(jīng)網(wǎng)絡在2012 年ImageNet 挑戰(zhàn)賽中獲得冠軍,從此卷積神經(jīng)網(wǎng)絡在圖像識別領域得到了廣泛關注。多隱層的深度學習網(wǎng)絡能夠提取多尺度的圖像特征,具有權值共享、尺度不變性和強魯棒性等特點。卷積神經(jīng)網(wǎng)絡已在作物病蟲害圖像分割[19]、奶牛個體識別[20]等問題中取得了較好的識別預測的效果。鑒于卷積神經(jīng)網(wǎng)絡圖像分析所提供的強大分類潛力,使用卷積神經(jīng)網(wǎng)絡學習堆肥圖像的形態(tài)、紋理、顏色特征,建立堆肥腐熟度預測模型,并通過大量的堆肥圖像樣本數(shù)據(jù)驗證模型有效性,實現(xiàn)在可見光條件下快速、準確地識別堆肥腐熟度。
為了使試驗材料更加豐富且具有代表性,實驗數(shù)據(jù)采集歷時近兩年,采集了不同地區(qū)、不同季節(jié)、白天夜間、多批次的堆肥圖像樣本。供試堆肥樣本采集自江蘇、山東、浙江三省,堆肥方式為廠棚內槽式堆肥,采用定期翻堆方式通風供氧。采集自江蘇省南京市某有機堆肥廠的堆肥樣本原料以秸稈為主,堆肥周期近50 天;在山東省濰坊市某有機堆肥廠采集到的堆肥樣本原料為以尾菜為主,堆肥周期近45 天;采集自浙江省杭州市某有機堆肥廠的堆肥原料以畜禽糞便為主,堆肥周期近60 天。在堆肥現(xiàn)場的廠棚內,使用??低晹z像頭監(jiān)控拍攝,型號為C3W,焦段為廣角,焦距2.8 mm,清晰度1080 p,具有夜間自動補光功能,攝像頭距堆肥表面約1 m,圖像格式為JPEG。白天在自然光條件下拍攝,夜間在攝像頭自動感應補光條件下拍攝。采集到的堆肥圖像樣本均為不同批次生產(chǎn)過程中不同腐熟時期的堆肥圖像。
按照堆肥原料的不同,構建四組堆肥樣本數(shù)據(jù)集,將采集到的圖片切割為分辨率為300 × 300 的堆肥圖像樣本。第一組堆肥數(shù)據(jù)集原料為尾菜,由8320 張堆肥圖像組成,其中早、中、晚期的未腐熟堆肥圖像6720 張,腐熟堆肥圖像1600 張。第二組堆肥數(shù)據(jù)集原料為秸稈,共7760 張圖片,其中早、中、晚期未腐熟圖片6560 張,腐熟圖片1200 張。第三組堆肥數(shù)據(jù)集原料為畜禽糞便,共6379 張圖片,其中早、中、晚未腐熟圖片4699 張,腐熟圖片1680 張。為了驗證模型對不同產(chǎn)地和原料堆肥腐熟度預測效果,分別取三種不同原料的堆肥圖像樣本按照原料比例約為尾菜∶秸稈∶畜禽糞便 = 1∶1∶1 構成第四組數(shù)據(jù)集,共9404 張圖片,其中未腐熟的圖像7428 張,腐熟圖像1976 張。不同原料的堆肥圖像紋理及顏色存在明顯差異,用于實驗的堆肥原料為尾菜、秸稈、畜禽糞便的堆肥圖像樣本示例如圖1 所示。不同光照條件采集的堆肥圖像樣本如圖2 所示,夜間圖像顏色特征不明顯。
堆肥圖像數(shù)據(jù)集分為腐熟和未腐熟兩類,腐熟堆肥樣本標記為正樣本,未腐熟堆肥樣本標記為負樣本。在每種堆肥數(shù)據(jù)集中隨機取80%的數(shù)據(jù)作為訓練集,將剩下20%的堆肥圖像數(shù)據(jù)單獨預留出來作為測試集。測試集不參與模型的訓練,用于模型預測效果的檢測。在模型驗證中,計算測試集的單類精確率和平均識別準確率,并以此作為堆肥腐熟度預測模型效果的評價指標。
1.3.1 卷積神經(jīng)網(wǎng)絡 卷積神經(jīng)網(wǎng)絡模仿人類視覺原理,具有逐層抽象、邊緣形狀敏感、形狀扭曲不變性等特點,是一種權值共享、局部感知的前饋多層神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡不同于一般的神經(jīng)網(wǎng)絡,卷積神經(jīng)網(wǎng)絡中特有的卷積層和池化層組成一組圖像特征提取器,能夠提取多級圖像特征。CNN的卷積層由多個特征平面 (feature map) 組成,特征平面中的神經(jīng)元通過卷積核與上一層特征平面局部連接[21],卷積核中數(shù)據(jù)為權值,卷積核按照一定步長在特征平面上滑動計算,實現(xiàn)權值共享。在未訓練時,一般以隨機小數(shù)對卷積核參數(shù)進行初始化,在網(wǎng)絡的訓練過程中通過反向傳播算法和優(yōu)化函數(shù)卷積核中的值逐步更新,最終學習到最優(yōu)參數(shù)。CNN共享權值的特點降低了網(wǎng)絡的復雜度,并且減少網(wǎng)絡過擬合的風險。池化層的作用是在保留數(shù)據(jù)特征的前提下,縮小數(shù)據(jù)體尺寸,以減少網(wǎng)絡計算量,堆肥腐熟度預測網(wǎng)絡模型中采用最大值池化(max pooling)[22]的方式,提取每一個池化窗口的最大值,然后不斷滑動池化窗口得到輸出圖像。全連接層采用線性結構將上一層輸出的特征參數(shù)連接成一條向量,經(jīng)過線性變換輸出最終的圖像特征送入線性分類器輸出最終的分類結果。
1.3.2 堆肥腐熟度預測模型搭建 堆肥腐熟前與腐熟后物料的物理形態(tài)有較大的改變,利用深度學習強大的特征表達能力提取堆肥紋理特征進行分類,實現(xiàn)堆肥腐熟預測。預測模型的網(wǎng)絡結構是由輸入層、3 層卷積層、3 層池化層、2 層全連接層和輸出層構成。輸入圖片采用RGB 三色圖像,大小為80 ×80 × 3。
卷積層conv1 采用3 × 3 大小的卷積核,步長(stride) 為1,步長較小能夠保留更多的圖片信息,采用零填充 (padding) 保留圖像的邊緣信息,經(jīng)卷積之后生成16 維80 × 80 的特征圖。卷積層conv2 輸入為16 維40 × 40 的圖像,輸出為32 維40 × 40 的特征圖。卷積層conv3 輸入為32 維20 × 20 的圖像,輸出為64 維20 × 20 的特征圖。
池化層采用最大池化,池化窗口大小設為2 ×2,步長為2,池化后生成特征圖大小為原圖的一半,去掉圖片中的冗余信息。池化層pooling1 輸入為conv1 輸出的16 維80 × 80 圖像,輸出為16 維40 ×40 的特征圖。pooling2 輸入為conv2 輸出的32 維40 ×40 圖像,輸出為32 維20 × 20 的特征圖。pooling3輸入為conv3 輸出的64 維20 × 20 圖像,輸出為64 維10 × 10 的特征圖。
圖 1 試驗中不同原料堆肥不同腐熟時期的圖像樣本示例Fig. 1 Example images of composts made different raw materials at different maturing periods
全連接層將池化層pooling3 的輸出連接成為一個6400 維向量作為該層的輸入。全連接層fully_connected1輸入為6400 維向量,輸出為1024 維的向量。全連接層fully_connected2 輸入為1024 維的數(shù)據(jù),輸出為128 維。輸出層的輸入為128 維數(shù)據(jù),輸出為2 維數(shù)據(jù),代表兩類分類結果?;诰矸e神經(jīng)網(wǎng)絡的堆肥腐熟度預測訓練網(wǎng)絡結構圖如圖3 所示。
1.3.3 預測模型的優(yōu)化設計 采用批量歸一化法[23](batch normalize,BN) 使圖片數(shù)據(jù)變?yōu)榫禐?、標準差為1 的分布,在卷積層conv1、conv2、conv3 后添加BN 層,方便數(shù)據(jù)處理,加快模型收斂,提高網(wǎng)絡預測精度。BN 層計算方法如下:
在腐熟預測模型中的批量歸一化后加入ReLU作為網(wǎng)絡神經(jīng)元激活函數(shù),可避免梯度消失,卷積層優(yōu)化過程如圖4 所示。
在全連接層中加入dropout 策略[24],增強堆肥腐熟度預測模型的泛化能力,使全連接層具有稀疏性,降低過擬合風險,這里dropout 參數(shù)值設為0.5。1.3.4 堆肥腐熟度預測模型訓練 將堆肥腐熟度預測模型在四種不同原料的數(shù)據(jù)集上分別進行訓練,在堆肥腐熟度預測模型訓練過程中,batchsize 設置為30,最大迭代次數(shù)設置為2000,動量因子設為0.9。首先進行前向傳播,將RGB3 通道的堆肥圖片輸入第一層卷積做卷積運算,卷積核初始參數(shù)為隨機小數(shù),卷積層計算公式為:
圖 2 白天和夜間拍攝的不同腐熟狀態(tài)的堆肥圖像Fig. 2 Compost images of different maturity stages taken in the day and night
圖 3 基于卷積神經(jīng)網(wǎng)絡的堆肥腐熟度預測模型網(wǎng)絡結構圖Fig. 3 Network structure of compost maturity prediction model based on CNN
圖 4 卷積層優(yōu)化結構圖Fig. 4 Optimized structure of convolution layer
式中,l 代表當前層數(shù);x 代表輸入圖像矩陣;W 為卷積核;b 表示偏置項。然后將sl送入BN 層進行歸一化,再將結果送入ReLU 激活函數(shù),將結果送入max_pooling 函數(shù)進行最大池化。經(jīng)過3 層卷積池化后,將結果映射到列向量送入全連接層進行線性變換,最終得到輸出結果。
堆肥腐熟度預測模型訓練過程中采用交叉熵損失函數(shù)(cross entropy loss function)[25]評估模型的損失率。假設有m 個樣本組成預測模型訓練集,其中,樣本xi∈Rn+1,n 為樣本維數(shù), yi表示第i 個樣本的腐熟類別標記,,0 代表未腐熟類,1 代表腐熟類,表示樣本 xi經(jīng)網(wǎng)絡函數(shù)hθ計算得到預測值,θ 為網(wǎng)絡參數(shù)θ ∈Rn+1。其損失函數(shù)如下:
使用批量隨機梯度下降算法(Batch Stochastic Gradient Descent algorithm,BSGD)[26]更新模型權值和偏置。假設從訓練集中抽取一批 (Batch) 堆肥圖像樣本是一個相對m 較小的數(shù),在訓練過程當中通常為固定值,梯度計算公式如下:
遍歷一次批處理樣本網(wǎng)絡參數(shù)則更新一次,θi表示當前參數(shù), θi+1表示更新后的參數(shù),∈ 表示學習率,網(wǎng)絡模型參數(shù)值更新公式如下:
學習率的選取對模型訓練收斂和預測效果有較大影響,這里使用線性衰減學習率,公式如下:
其中,k 為當前迭代次數(shù),τ 被設為一個較大的迭代次數(shù)這里設定為2000 次, α=,∈τ通常設為∈0的1%。
制作數(shù)據(jù)集,每一張堆肥圖像對應一個label值,label 值為0 代表未腐熟,label 值為1 代表腐熟。將數(shù)據(jù)集分為訓練集和測試集,數(shù)據(jù)集中80%的數(shù)據(jù)為訓練集,20%的數(shù)據(jù)為測試集。使用CUDA 并行計算架構,利用GPU 加速運算,提高模型訓練效率。堆肥腐熟度預測模型訓練流程如圖5所示。
隨著訓練次數(shù)的增加,堆肥腐熟度預測模型的損失值逐漸減少,如圖6 所示,訓練次數(shù)在0 到250 次時誤差值下降最快,當訓練次數(shù)大于750 次時Loss 值近似為0。誤差率越小則表明堆肥腐熟預測模型的預測值越逼近真值,由此可見,堆肥腐熟度預測模型取得了良好訓練效果。
模型構建使用Pytorch 深度學習框架,CUDA 計算架構;試驗環(huán)境,Windows10 操作系統(tǒng)、Anaconda-Spyder 開發(fā)平臺;硬件設施,Intel Core E5-2650 v4 CPU(主頻2.2 GHz)、GTX 1080Ti 顯卡×2、1 T 硬盤、16 G 內存。
圖 5 模型訓練流程圖Fig. 5 Flow chart of model training
圖 6 堆肥腐熟度預測模型訓練誤差曲線Fig. 6 Training error curve of compost prediction model
根據(jù)圖3 中搭建的堆肥腐熟度預測卷積神經(jīng)網(wǎng)絡模型,把圖片輸入到模型中,輸出卷積池化層處理得到的圖像。卷積池化層構成的特征提取器能夠提取圖像的邊緣、輪廓、線條、顏色等特征信息。圖7、圖8 以原料為尾菜的堆肥樣本圖為例,分別給出了卷積神經(jīng)網(wǎng)絡提取未腐熟和腐熟圖像的特征圖。從圖7、圖8 可以看出,未腐熟的堆肥枝干線條較為明顯,提取到的紋理特征為線條狀,腐熟堆肥紋理類似于砂礫,圖像紋理較為細致。這里只給出尾菜堆肥的特征圖,而總體上不同種類的堆肥在不同腐熟時期的圖像特征具有共性,未腐熟堆肥紋理粗糙,粒度大,原材料物質形態(tài)明顯,腐熟堆肥紋理紋理細致,粒度小。卷積神經(jīng)網(wǎng)絡能夠敏銳地感知到不同時期堆肥圖像的粒度差異,準確地提取到堆肥外觀特征。這里由于不同拍攝環(huán)境光照對圖片的顏色有很大影響,僅僅通過堆肥圖像顏色區(qū)分堆肥腐熟度誤差較大。然而,堆肥的紋理特征不受光照的影響。因此,與顏色特征相比,堆肥的紋理特征更穩(wěn)定。在判斷堆肥腐熟度時,堆肥紋理特征更加重要。堆肥過程中的水分變化對圖像特征影響不大。卷積神經(jīng)網(wǎng)絡模擬人類視覺特點,既保留了圖像的顏色信息,也提取了輪廓、線條、粒度等具有代表性的特征,從而避免了因光照條件對圖像識別能力的影響。從特征圖中可以看出,模型不同程度地提取了堆肥的顏色、紋理特征。深層網(wǎng)絡結構學習能力強,提取到的部分特征圖較抽象,提取到的堆肥特征更加豐富。卷積過程中的提取到的特征圖像不僅保留了整體堆肥圖片的顏色紋理特征,也得到了局部具有代表性特征,體現(xiàn)了卷積神經(jīng)網(wǎng)絡局部感知的特點。網(wǎng)絡層數(shù)越高,感受野就更廣,參與運算信息就更多,提取到的特征就更加全面。
為了檢驗堆肥腐熟度預測模型的預測效果,使用單類精確率和平均識別準確率對堆肥腐熟預測模型進行評價[27],公式如下:
圖 7 卷積池化層提取的未腐熟堆肥圖像特征可視化圖Fig. 7 Visualization of immature compost image features extracted by convolution and pooling layer
圖 8 卷積池化層提取的腐熟堆肥圖像特征可視化圖Fig. 8 Visualization of mature compost image features extracted by convolution and pooling layer
式中,TP 為正確識別腐熟類個數(shù),F(xiàn)P 為錯誤識別腐熟類個數(shù),TN 為正確識別未腐熟類個數(shù),F(xiàn)N 為錯誤識別未腐熟類個數(shù),P 為腐熟類識別精確率,N 為未腐熟類識別精確率計算公式,Acc 為平均識別準確率公式。
將四組堆肥原料分別為尾菜、秸稈、畜禽糞便和3 種原料混合數(shù)據(jù)集中的測試集分別送入堆肥腐熟度預測模型中進行檢驗,預測結果如下表所示:
由表1 可知,尾菜堆肥、秸稈堆肥、畜禽糞便堆肥數(shù)據(jù)集平均準確率為98.7%、98.7%、98.8%,腐熟類及未腐熟類的識別精確率均在98.1% 以上,證明了模型的可靠性。為了提升模型的魯棒性,將3 種堆肥圖像等比例混合進行試驗,結果如表1 混合原料列所示,未腐熟類識別精確率為98.3%,腐熟類識別精確率為97.7%,平均準確率達到了98.2%。實驗結果表明,搭建的基于卷積神經(jīng)網(wǎng)絡的堆肥腐熟度預測模型對不同原料、顏色、紋理的堆肥腐熟程度判別均有優(yōu)異的效果。數(shù)據(jù)集中包括白天和夜間采集到的堆肥圖像樣本,以及不同堆肥原料其顏色差異較大。從結果可以看出,堆肥紋理特征在腐熟度判斷中更加有效。
卷積神經(jīng)網(wǎng)絡多隱層的特點,使其能夠表達高層次的抽象特征,預測模型中層數(shù)越高,提取到的特征就更加全局化。深度網(wǎng)絡模型能夠提取多尺度、多層次的堆肥圖像特征,這包括了堆肥的形態(tài)、紋理、顏色等全方位信息。因此,基于卷積神經(jīng)網(wǎng)絡的堆肥腐熟預測模型有如此高的識別率。卷積之后連接的池化層能夠實現(xiàn)對堆肥圖像進行聚合特征、降維來減少網(wǎng)絡的計算量。實驗中用了大量的堆肥圖像進行訓練預測,驗證了模型的有效性和普適性,這得益于深度學習模型龐大的吞吐量。
不同來源的同種堆肥原料在原料形態(tài)及顏色上略有差異,但是依舊遵循未腐熟堆肥紋理粒度大,腐熟堆肥紋理細致的特點。下面我們分析基于CNN的腐熟度預測模型對不同來源的同種原料的堆肥圖像的敏感性。
取三種堆肥原料的堆肥數(shù)據(jù)集中的不同批次的堆肥圖像,送入文中搭建的CNN 腐熟度預測模型,取出網(wǎng)絡模型的全連接層的倒數(shù)第二層的輸出共128 維的特征向量來描述網(wǎng)絡提取到的堆肥圖像特征,計算不同來源的同種堆肥原料圖像特征的差異性。實驗堆肥圖像如圖9 所示。采用歐氏距離和偏差均值作為差異性的度量,其公式如下:
式中,n 為特征向量的維數(shù),α、β 為兩種不同的特征向量,αi代表α 特征向量的第的i 個值,βi代表β 特征向量的第的i 個值,D 代表歐氏距離,P 代表偏差均值。
根據(jù)表2 可得,同種類別的兩種不同來源的堆肥圖像的特征向量的歐氏距離在2.24~3.45,偏差均值在0.12~0.24,差異較??;腐熟與未腐熟堆肥圖像的特征向量的歐氏距離在8.02~18.51,偏差均值在0.51~1.04,差異較大。同種原料的不同來源的堆肥圖像,經(jīng)過卷積神經(jīng)網(wǎng)絡訓練學習,能夠縮小其差異提取其共性特征??梢缘贸鼋Y論,同種類別不同來源的堆肥圖像的微小差異不會對基于CNN 的堆肥腐熟度預測模型提取特征及分類產(chǎn)生影響。
表 1 各原料堆肥腐熟度正確識別數(shù)量及準確率Table 1 Correctly predicted number and robust of the maturity of compost e samples predicted by the prediction model
圖 9 不同來源、批次的不同腐熟程度的堆肥圖像Fig. 9 Compost images of different sources and batches with different maturity
表 2 不同來源、批次和腐熟度的堆肥間的特征差異Table 2 Differences in features of compost from different sourcesbatches and mature degrees
將幾種經(jīng)典高效的特征提取算法與卷積神經(jīng)網(wǎng)絡進行對比。第一組對比試驗用SIFT(尺度不變特征變換,scale-invariant feature transform) 特征提取算法提取在堆肥圖像提取50 個128 維的SIFT 特征點,采用K-means 聚類方法將得到的SIFT 特征點進行聚類構建視覺詞袋模型詞典[28],k 類別設為100 類,統(tǒng)計每一張堆肥圖片的SIFT 特征點在每一個類別中的分布頻率,構成堆肥圖像的視覺詞袋特征。第二組試驗使用稀疏編碼 (sparse coding,SC) 構建堆肥圖像特征,首先提取堆肥圖像塊,使用K-SVD 字典學習算法構建120 維稀疏字典,使用最大池化方法降維得到堆肥圖像最終的稀疏編碼特征[29]。第三組對比試驗采用LBP(局部二值模式,local binary pattern) 算法對堆肥紋理特征進行提取,將堆肥圖像分成3 × 3 的小窗口,計算每個小窗口中心像素的LBP 值,統(tǒng)計堆肥圖像的直方圖作為LBP 特征。前三組對比實驗中,均采用SVM(支持向量機,support vector machine)做分類器。第四組對比試驗與Kujawa 等[16]提出的經(jīng)典堆肥腐熟度評價方法,即使用灰度共生矩陣 (graylevel co-occurrence matrix,GLCM) 和顏色矩方法提取堆肥的紋理和顏色特征,BP 神經(jīng)網(wǎng)絡作為分類器實現(xiàn)堆肥腐熟度的預測。第五組對比試驗提取圖像的顏色矩[30]特征,使用SVM 進行分類。計算五組方法在四組數(shù)據(jù)集中測試集的平均準確率,試驗結果如表3 所示。
從表3 可以看出,在SIFT、SC、LBP 和GLCM這四種經(jīng)典的圖像特征提取方法中,SIFT 特征和SC 特征提取算法表現(xiàn)一般,LBP 特征算法在三種數(shù)據(jù)集和混合數(shù)據(jù)集上的預測結果為分別為84.2%、89.2%、87.8%和88.6%,LBP 特征在尾菜和秸稈數(shù)據(jù)集上表現(xiàn)較好,LBP 是一種經(jīng)典的圖像局部紋理特征提取算法,具有灰度尺度不變、旋轉不變等特點,它描述的是中心像素值與鄰域像素值的相對關系,局部的二值化在顏色變化明顯的區(qū)域會出現(xiàn)明顯的邊緣能夠突出圖像的紋理特征。在畜禽糞便數(shù)據(jù)集上顏色矩特征表現(xiàn)較好,在該類堆肥數(shù)據(jù)集中堆肥腐熟前后顏色變化大于紋理特征變化。
基于文中搭建的卷積神經(jīng)網(wǎng)絡的堆肥腐熟預測模型在三種數(shù)據(jù)集和混合數(shù)據(jù)集上的預測結果分別為98.7%、98.7%、98.8%和98.2%,較每類結果最優(yōu)的經(jīng)典特征提取算法預測準確率提升了3 至14 個百分點。LBP 只能夠提取單層的紋理特征,而文中搭建的卷積神經(jīng)網(wǎng)絡模型在每層用一組級聯(lián)的卷積加權濾波器和激活函數(shù)對數(shù)據(jù)進行映射,從低層到高層、多角度地描述不同腐熟程度堆肥圖像的紋理特征。卷積神經(jīng)網(wǎng)絡中的池化層能夠去掉圖像中的冗余信息,精準地描述圖像特征。LBP 算法中的參數(shù)是固定的,而卷積神經(jīng)網(wǎng)絡中的反向傳播網(wǎng)絡特點使其擁有自學習能力,通過不斷地根據(jù)腐熟情況訓練堆肥圖片樣本進行網(wǎng)絡調參,使輸出結果盡可能地逼近真值,最終實現(xiàn)較好的堆肥腐熟度的預測識別效果。
表 3 不同經(jīng)典特征提取算法腐熟度預測結果準確率 (%)Table 3 Prediction accuracy of the maturity by different classic extraction algorithms
本研究首次提出基于卷積神經(jīng)網(wǎng)絡的堆肥腐熟度預測模型,并對模型進行優(yōu)化,優(yōu)化后的模型具有優(yōu)異的堆肥形態(tài)、紋理、顏色特征學習能力,取得了較好的預測效果。根據(jù)堆肥的產(chǎn)地和原料的不同,采集了大量的堆肥圖像,最終用于實驗的堆肥圖像樣本數(shù)量近3 萬張,樣本呈現(xiàn)多樣性和豐富性,避免了前期研究者的選取圖像特征不足不具代表性等缺點。試驗結果表明,堆肥紋理特征在腐熟度判斷中更加有效,并且堆肥過程中的水分變化對圖像特征影響不大。腐熟模型在3 種不同原料堆肥上的準確率均在98%以上,在混合堆肥圖像數(shù)據(jù)集上的準確率達到了98.2%,較每類數(shù)據(jù)集上最優(yōu)的特征提取算法提升了3~14 個百分點。卷積神經(jīng)網(wǎng)絡中的卷積層和池化層能夠準確地提取圖像特征,多層網(wǎng)絡的結構可以提取多層特征,彌補了經(jīng)典特征提取算法中只能提取單一層次特征的缺陷。
基于卷積神經(jīng)網(wǎng)絡的堆肥腐熟預測模型實現(xiàn)了在可見光條件下即可通過堆肥圖像判別堆肥腐熟度,更加符合實際應用場景中的情況,能夠為生產(chǎn)實踐中堆肥腐熟度判斷提供有力支撐。對于其他的原材料的堆肥,可以通過遷移學習方法在目前已經(jīng)訓練好的堆肥腐熟度預測模型的基礎上進一步強化訓練,對模型參數(shù)進行微調,使模型能夠更加適用于其他原材料堆肥的腐熟情況的判斷。文中已經(jīng)訓練好的基于CNN 的堆肥腐熟度預測模型,能夠準確地提取堆肥紋理及顏色特征。堆肥在生產(chǎn)過程中,不同原材料的堆肥僅是在物料形態(tài)上有所差異,其紋理特征均是由粗變細的一個過程,可以通過將待測原材料的堆肥圖像送入網(wǎng)絡模型中,進一步訓練網(wǎng)絡。采用遷移學習的方法無需對網(wǎng)絡進行重新訓練,在模型已經(jīng)較高的判斷某種堆肥腐熟度的“知識儲備”及“識別能力”的基礎上,用另一組堆肥數(shù)據(jù)集對模型繼續(xù)訓練,通過學習兩種堆肥的差異性,對網(wǎng)絡模型中的池化層、卷積層及全連接層的權值和偏置等網(wǎng)絡參數(shù)進行調整。該方法要比重新訓練一個“零基礎”的網(wǎng)絡模型能夠更快地達到較高的識別率。
本文的腐熟預測模型推廣較容易,遷移學習的方法使文中的堆肥腐熟度預測模型具有較強的移植性。在堆肥原材料不同的情況下,在現(xiàn)有訓練好的腐熟度預測模型基礎上通過遷移學習進一步訓練,可使用推廣堆肥廠的堆肥圖像樣本對模型的內部參數(shù)進行微調,使模型更加適用于推廣堆肥廠的生產(chǎn)過程。另外,部分堆肥圖像采集現(xiàn)場環(huán)境較為惡劣,需要考慮采集設備的穩(wěn)定性。
在堆肥腐熟過程中,溫度和濕度數(shù)據(jù)也是兩個重要的物理指標,在接下來的研究中將在提取堆肥紋理及顏色特征的基礎上,融合溫濕度數(shù)據(jù),進一步提升模型的準確性。