吳 蔚
(泰山學院 信息科學技術學院,山東 泰安 271000)
蘋果是世界上重要的水果作物之一,具有重要的經濟和營養價值。蘋果葉部的外觀和生長狀態可以為蘋果生長態勢提供預判依據。然而蘋果葉部時常遭受病蟲害侵襲,及時識別葉病種類并采取針對性措施進行葉病防治,對于保證蘋果增量增產具有十分重要的經濟價值和現實意義。從20世紀80年代開始,計算機視覺技術在農作物病害識別領域得到了廣泛的研究和發展。近十幾年來,隨著大數據技術和硬件設備的不斷提升,深度學習技術在視覺識別領域取得了矚目的成就,并被迅速應用到植物葉病識別領域。比如Liu等[1]使用基于GoogLeNet和AlexNet的深度網絡模型進行蘋果葉病診斷,達到了97.62%的識別準確率。宋晨勇[2]等以蘋果作為研究對象,提出了一種基于深度學習的GoogLeNet改進模型,在提高蘋果病害識別準確率的同時,也降低了模型訓練收斂時間,實現了蘋果病害的實時檢測。
深度學習方法通過構建深度神經網絡進行模型訓練,伴隨著大量的調參任務。為了提高神經網絡模型的泛化能力,避免模型訓練過程的過擬合,需要輸入大量帶標簽的數據樣本進行學習。然而在實際應用中,數據樣本的獲取可能存在環境的變化,比如蘋果葉部圖像可能在不同的光照、不同的拍攝設備以及不同的拍攝角度下獲取。環境的變化往往導致獲取的圖像有著不同的數據分布。對某種數據分布的樣本識別效果良好的網絡模型,用于其他數據分布的數據識別時準確率可能會嚴重降低。為了解決該問題,領域自適應方法應運而生,該方法是一種遷移學習方法,目的是將在源域上學到的分類識別能力遷移到目標域上。領域自適應方法根據數據分布的不同將訓練數據集分為帶標簽的源域和帶少量或不帶標簽的目標域。領域自適應的思想就是將不同領域數據集映射到同一個特征空間,使其特征分布盡可能相近,從而可以將源域數據集的識別能力遷移到目標域數據集上。
基于領域對抗的神經網絡DANN[3]被提出之后,基于對抗的思想成為實現領域對齊的主要方法之一。比如chen等[4]在圖像級別和實例級別兩個層面解決領域偏移問題,實現了跨域物體檢測,其中所使用的域分類器便是采用對抗訓練方式進行。Hsu[5]等通過構建過渡領域實現源域圖片向目標域的轉換,采用對抗訓練思想在特征層面實現源域和目標域對齊。本研究針對樣本獲取時環境變化導致的數據分布差異問題,提出一種基于領域自適應的蘋果葉病種類識別方法,采用對抗訓練思想進行領域對齊,避免了網絡模型的重新訓練,實現了較好的蘋果葉病種類跨域識別效果。
卷積神經網絡(Convolutional neural networks,CNN)的應用是深度學習在計算機視覺識別領域取得重要進展的關鍵因素之一。與傳統機器學習方法不同,CNN不需要進行手工特征提取,而是能夠對輸入圖像實現端到端的自動特征提取。典型的CNN結構主要由卷積層、池化層和全連接層構成。
卷積層是CNN的重要結構之一,它通過卷積核對輸入特征進行卷積運算,從而實現特征的提取。卷積層的模型參數分成卷積核部分和偏差值部分。多個卷積層之間可以通過并行或串行連接設計出不同結構和復雜程度的卷積網絡。第i層卷積網絡的特征輸出yi可用公式表示為:

其中Wi表示第i層卷積核的權重參數;bi表示偏差值參數;yi-1表示卷積層的特征輸入(其中y0表示網絡輸入端原始圖像);f表示激活函數。
池化層的主要作用是強化卷積層提取特征的空間不變性,減輕對空間位置的過度依賴,從而使得同一物體即使存在位置變化也可以被網絡模型很好地識別出來。常用的池化方法有最大池化法和平均池化法,分別計算池化窗口內的最大值和平均值,從而實現對特征的下采樣過程。第s個池化層的第j塊池化區域的特征輸出可用公式表示為:

經過一系列的卷積和池化操作之后,通常連接一個或多個全連接層進行圖像分類任務。最后的輸出層通常再經過Softmax函數將輸出結果變為值為正且和為1的概率分布。第j個輸出結果Oj可表示為:

其中j∈{1,…,K},K為最后一個連接層的輸出個數;z代表最后一個連接層的輸出向量。
傳統的深度學習模型主要針對相同數據分布的訓練樣本進行訓練,并應用于相同分布的測試樣本上。當訓練樣本和測試樣本存在不同數據分布時,基于某一種數據分布學習到的模型通常無法很好適應這種數據分布差異,在具體的分類識別任務中表現出較差的泛化性。領域自適應就是用來解決這種數據分布差異問題的方法。它將分布不同的數據分為源域和目標域,通過不同的方式實現源域和目標域的數據對齊,從而將從源域數據學到的分類識別能力遷移到目標域上。所以,領域自適應方法本質是一種遷移學習方法。
用于本研究的蘋果葉病圖片數據來源于AI-Challenger-Plant-Disease-Recognition(https://challenger.ai/),共包含健康型、一般黑星病型、嚴重黑星病型、灰斑病型、一般雪松銹病型、嚴重雪松銹病型6種類型。對每種葉病類型進行數據增廣操作以擴充數據量,主要包括隨機裁剪、隨機縮放、隨機旋轉等操作。擴充后的數據集共8169張圖片,針對每種類別隨機選取70%數據作為訓練集,30%數據作為測試集。訓練集中每個類別按照4:1的比例劃分源域數據和目標域數據。為了模擬源域和目標域不同的數據分布,針對訓練集中的目標域數據和測試集數據原始圖片進行增加亮度操作[6]。所有圖片被處理為224×224的固定分辨率。
本研究中源域數據集包含大量有標簽數據,目標域數據集包含大量無標簽數據。假設蘋果葉病訓練集中源域圖片XS的數據量為ns,所屬類別數為K,則源域數據可表示為,其中 xs∈XS,ys∈YS={1,2,…,K}。目標域圖片Xt的數據量為nt,則目標域數據可表示為,其中 xt∈Xt。Xs與 Xt中數據相似但分布不同,構成跨域數據集,且Xt中數據標簽Yt與Ys相同。領域自適應的目的是通過降低源域和目標域中的數據分布差異,使得具備對源域數據分類識別能力的網絡模型能夠對目標域數據進行分類預測。
本研究中基于領域自適應的蘋果葉病分類網絡模型如圖1所示,主要包含三個模塊:特征提取模塊G,葉病分類模塊C和領域分類模塊D。其中特征提取模塊的功能是提取特征用于葉病分類識別,同時混淆源域和目標域的特征分布;葉病分類模塊的功能是利用提取的特征對葉病種類進行識別;領域分類模塊的功能是識別傳入的特征來自源域還是目標域。可以看出,通過特征提取模塊得到的特征同時作為其他兩個模塊的輸入。

圖1 基于領域自適應的神經網絡模型
為了對模型進行訓練,需要輸入源域圖片流經特征提取模塊后進入葉病分類模塊進行預測,得到的結果與真實標簽通過交叉熵損失函數計算出分類損失Ly,并進行反向傳播更新該網絡分支的參數。另外,需要輸入源域圖片和目標域圖片,流經特征提取模塊后進入領域分類模塊進行領域預測,該分支的領域預測損失Ld可表示為:

其中I表示輸入的源域和目標域圖片,d∈{0,1},且當輸入圖片來自源域時取值0,來自目標域時取值1。領域分類模塊的訓練目標是使領域分類器更加準確,而網絡提取模塊的訓練目標是提取源域和目標域中共性的特征,使得領域分類器無法辨別。因此,該分支的網絡訓練是一種典型的對抗思想,其訓練目標可表示為maxGminDLd。在具體實施時,特征提取模塊和領域對抗模塊之間通過添加梯度反轉層(Gradient Reversal Layer,GRL)[7],實現對抗訓練的效果。匯總以上兩條分支的損失函數,便構成了網絡模型的最終損失Ltotal,表示為:

其中λ是用來平衡兩條網絡分支的超參數。訓練階段結束后,使用測試集數據進行蘋果葉病分類預測。此時需要移除模型中的領域分類模塊,只保留特征提取模塊和葉病分類模塊。
為了驗證本研究算法中領域自適應方法的有效性,與傳統神經網絡模型方法進行了實驗對比,兩者的特征提取模塊和葉病分類模塊均使用經過預訓練的GoogLeNet神經網絡架構。領域分類模塊由3個全連接層構成,每一層的神經元個數分別為1024、512和1。實驗對比結果如表1所示。可以看出,在只使用源域數據訓練的傳統神經網絡模型進行跨域葉病種類識別的平均準確率只有37.6%,說明經過圖片亮度處理后的目標域圖片與源域圖片存在較大數據分布差異,識別準確率較低。而經過領域自適應訓練的神經網絡,能夠縮小這種數據分布差異,使得對測試集樣本的識別準確率提高到82.3%。實驗結果充分說明了在蘋果葉病跨域數據集上使用領域自適應算法的必要性,可以帶來較大的準確率提升。

表1 基于不同網絡模型的蘋果葉病分類準確率對比
本文基于領域自適應方法進行蘋果葉病跨域樣本上的分類識別研究,首先使用源域數據訓練蘋果葉病分類器,然后通過網絡對抗訓練對齊不同領域之間的數據分布,實現了跨域樣本上較好的葉病分類識別效果。實驗結果驗證了領域自適應方法在蘋果葉病跨域識別上的有效性。未來的研究中將在農業領域跨域識別問題上進行更加有益的探索。