謝裕睿,苗晟,張鑠,董建娥
(西南林業(yè)大學大數(shù)據(jù)與智能工程學院,昆明650224)
煙草行業(yè)對國民經濟發(fā)展具有重要作用,病蟲害是制約煙草產量和品質的重要因素,探索其綠色安全的種植方式已成為農學界的重要課題[1]。防治煙草病害的首要任務是高效精準地識別出病害的類型,依靠傳統(tǒng)的人工識別方式容易造成誤診。因此,研究利用科學技術診斷煙草病害的方法具有重要的意義。
為提高煙草病害的診斷效率,一些學者已經利用各種計算機技術來研發(fā)病害識別系統(tǒng)。王建璽等人[2]建立了一種基于模糊識別技術的煙葉病害識別系統(tǒng);濮永仙[3]采用病斑特征融合技術,構建了煙草病害圖像檢索系統(tǒng);郭賽等人[4]建立了基于氣象因子的非線性模型來預測煙草普通花葉病毒。以上文獻均取得了較好的識別效果,但都依賴于特定特征,并不能完全表征煙草病害信息。
本研究基于支持向量機(Support Vector Machine,SVM)[5]和深度殘差網絡(Deep Residual Network,ResNet)[6],研究對象為角斑病、花葉病、白粉病、氣候性斑點病和赤星病5 種常見煙草病害,以圖像處理技術為主要手段,建立了煙草病害識別診斷系統(tǒng)。
由于采集的圖像顏色相對較淺,煙草病害的顏色與正常煙草的顏色相近,從而降低了識別精度。調整灰度圖像的亮度或彩色圖像的顏色矩陣,自適應地找到分割閾值向量及其適當值,進而改變圖像的對比度。經過增強對比度處理的煙草病害圖像,輪廓細節(jié)更加明顯,易于區(qū)分病害區(qū)域和正常區(qū)域。以赤星病為例,增強效果如圖1 所示。
RGB 顏色空間將所有顏色都視為關聯(lián)性很強的三種原色的組合,直接分割基于RGB 顏色空間的圖像不利于特征提取。Lab 顏色空間可以描述自然界中的任何色彩,因此本研究將病害圖像從RGB 顏色空間轉換到Lab 顏色空間,以獲得更精確的顏色定位。
圖1 赤星病圖像的對比度增強效果
Lab 顏色空間中的亮度層表示為L*分量,紅綠軸上顏色表示為a*分量,黃藍軸上的顏色表示為b*分量。這三個分量的顏色空間范圍比較廣泛,相互獨立性高,更適于分割圖像。基于Lab 顏色空間的圖像分割具有很高的可靠性和有效性,能較好地分割出所需的圖像區(qū)域,為特征提取階段提供了技術支持。赤星病圖像在Lab 顏色空間的三個通道圖如圖2 所示。
圖2 赤星病圖像的Lab顏色空間通道圖
本研究采用K-means 聚類算法分割病斑,其基本思想是聚類空間中的k 個點通過迭代方法不斷更新聚類中心的值,直到獲得最佳聚類結果為止[7]。基于Lab空間的K-means 聚類分割可以精準地對圖像中的目標進行標記和定位,便于快速尋找煙草圖像的病斑區(qū)域。赤星病圖像經過K-means 聚類分割處理得到的結果如圖3 所示。
圖3 赤星病圖像的K-means聚類分割結果
自然生長的煙草病斑沒有明確一致的形狀,呈現(xiàn)出局部不規(guī)則但總體規(guī)律的分布,屬于準規(guī)則紋理。灰度共生矩陣(Gray-Level Co-occurrence Matrix,GL?CM)是圖像灰度變化的統(tǒng)計度量,通過計算對稱矩陣獲得特征值,以表示圖像的一些紋理特征[8],適合統(tǒng)計病變葉片。
由于本研究使用SVM 分類器識別,分類的結果以標簽形式顯示,所以需要對每種病害分別標注一個標簽。對經過K-means 聚類分割處理的病害圖像采用GLCM 提取其十三維特征,自動存儲每次提取的特征值,導入所提取的數(shù)據(jù)和病害種類的標簽,便于后期識別。部分煙草樣本的形狀特征參數(shù)如表1 所示。
SVM 算法把樣本空間非線性映射到高維甚至無窮維的特征空間中,將原始樣本空間中非線性可分的問題轉化為在特征空間中的線性可分的問題,即升維和線性化。SVM 算法巧妙地解決了升維導致計算復雜化的難題,利用核函數(shù)完成特征映射,并把內積結果直接返回,大幅度地簡化了計算工作。
以線性分類器為例,如果樣本空間為X,則引入非線性映射N,將樣本空間映射到新特征空間以形成可積函數(shù)N(x),將其與二元函數(shù)K(x,y)相乘,通過積分形成一個新的函數(shù)來實現(xiàn)輸出。對稱正定的連續(xù)核被稱為Mercer 核,K(x,y)在這個轉換過程中即積分變換的Mercer 核函數(shù),可以展開成一致收斂的函數(shù)項級數(shù),如下式(1)所示:
上式中變量i 表示類的個數(shù),核函數(shù)K(x,y)的特征值被表示為λi,特征函數(shù)被表示為φi(x)。通過構造特征空間的非線性升維映射,尋求的最優(yōu)超平面決策函數(shù)如下式(2)所示:
式(2)表明在實際計算中,僅需求出支持向量xi、支持強度、閾值b*及對應輸出值yi,便可在不知道其顯式表達式的情況下獲得樣本空間的非線性輸出值。
加載訓練數(shù)據(jù)集并將其放入SVM 分類器中進行識別,分類結果以標簽形式顯示,然后根據(jù)不同的標簽輸出相應的病害名稱,識別率統(tǒng)計如表2 所示。
表1 部分煙草病斑紋理特征數(shù)據(jù)
表2 基于SVM 算法的煙草病害識別率統(tǒng)計
表2 數(shù)據(jù)中的平均識別率為50.23%,整體識別效果較差,表明了SVM 算法識別煙草病害存在明顯不足。原因主要有:①某些病害圖片清晰度不高、背景復雜;②分割出的角班病、氣候性斑點病病斑部分與赤星病的極其相似,導致這兩種病害常被錯誤識別為赤星?。虎郛敳“呙娣e較大時,不能完全分割病害區(qū)域。因此,本研究又采用ResNet 來識別煙草病害,探究其識別效果。
隨機梯度下降(Stochastic Gradient Descent,SGD)是一種改進算法,每次隨機選擇一個樣本迭代更新,并不針對所有的樣本集,具有易收斂、訓練快等特性,旨在尋找最小化的目標函數(shù)[9]。其核心思想是根據(jù)梯度的方向調整權值,不斷更新直至損失函數(shù)值達到最小,從而獲得最優(yōu)解。SGD 相關公式如下式(3)、(4)、(5)所示:目,g(φ)表示目標函數(shù),m 表示整個迭代進行的總次數(shù),yi表示第i 個樣本的樣本值,h(φ)表示損失函數(shù),?φ表示梯度,η表示梯度下降中的步長(即學習率)。
本研究中,從總數(shù)據(jù)集中隨機抽樣一批數(shù)據(jù),運行網絡并計算梯度,應用SGD 更新參數(shù),重復上述步驟,直到出現(xiàn)收斂或者循環(huán)被其他機制暫停。
反向傳播算法(Back Propagation,BP)與SGD 相結合,可用于減小模型輸出與實際結果之間的誤差,最終通過調整參數(shù)權重來優(yōu)化模型[10]。反向傳播思想可以快速地求出損失函數(shù)對每個參數(shù)的導數(shù),其基本原理是求導數(shù)時的鏈式法則,如下式(6)所示。
式(6)中表示第p 層第c 個節(jié)點的值表示第(p-1)層第d 個節(jié)點的激活值,w 為權重,b 為偏置。本研究定義的殘差為式(7),其中L 表示損失函數(shù)。
ResNet 中的反向傳播首先需要隨機初始化網絡中各層的參數(shù),然后計算從輸入層到輸出層的各節(jié)點的正向值和激活值。對于最后一層,可以直接計算激活值與網絡生成的實際值之間的差異(即“殘差”),便可快速得出損失函數(shù)的偏導數(shù)。逐層計算每個節(jié)點的殘差值,根據(jù)連接權和偏置值的梯度下降計算得到其新的迭代值。
由于SVM 算法識別煙草病害的效果不佳,本研究引入ResNet,其模型的容量和判斷特征的能力會隨著網絡的加深而增強,避免因梯度彌散而出現(xiàn)欠擬合[11],不斷提高網絡性能。
首先構建恒等殘差塊和卷積殘差塊,基于這兩個
其中參數(shù)φ表示網絡參數(shù)權重,j 表示參數(shù)的總數(shù)模塊搭建20 層的ResNet 模型。恒等殘差塊用于判斷輸入、輸出維度是否相等,其結構如圖4 所示。當輸入、輸出維度不同時,卷積殘差塊可以進行線性映射,變換維度后連接到下一層,其結構如圖5 所示。
圖4 恒等殘差塊結構
圖5 卷積殘差塊結構
相較于常規(guī)網絡,殘差模塊不僅可以保持精度,還可以減少網絡計算量[12],并在達到最優(yōu)性能時恒等映射多余的網絡層。本研究中的ResNet 20 主要分為五大模塊,前四個模塊主要用于自適應提取圖像特征,最后一個模塊使用全局平均池化,將每個通道里的數(shù)值平均成一個標量,并通過全連接層輸出。為達到穩(wěn)定訓練的目的,用批量歸一化來固定每層輸入的均值和方差。ResNet 20 模型的結構如圖6 所示。
圖6 ResNet 20模型結構
實驗圖像統(tǒng)一輸入尺寸為128×128,數(shù)據(jù)歸一化到[0,1]區(qū)間,且數(shù)據(jù)類型為浮點數(shù)。在ResNet 20 構建成功后為其配置相關參數(shù),設置初始學習率為0.001,權重衰減為0.0001、迭代次數(shù)為49 次。獲取病害標簽,通過網絡模型訓練得出預測分類結果,最終輸出分類結果,識別率統(tǒng)計如表3 所示。
表3 基于ResNet 20 的煙草病害識別率統(tǒng)計
表3 數(shù)據(jù)中的平均識別率為89.50%,實驗結果表明:相較于采用SVM 算法識別,ResNet 20 模型的識別率明顯更高,可以更準確地識別煙草病害,驗證了殘差神經網絡的良好性能。
本文研究了基于圖像處理技術的煙草病害識別方法,描述了顏色空間轉換、病斑分割和特征提取的過程,在SVM 算法識別的效果不佳的基礎上,通過構建ResNet 20 實現(xiàn)更高效率的自動識別,這充分證明了采用殘差神經網絡識別煙草病害是可行的。實際生產中的煙草病害種類多且復雜度高,在不同生長階段和不同部位都可能染病,故本研究需要擴大病害的樣本庫,提高識別精度,在煙草受害周期等方面做進一步深入研究。