吳 蔚
(泰山學(xué)院 信息科學(xué)技術(shù)學(xué)院,山東 泰安 271000)
蘋果是世界上重要的水果作物之一,具有重要的經(jīng)濟和營養(yǎng)價值。蘋果葉部的外觀和生長狀態(tài)可以為蘋果生長態(tài)勢提供預(yù)判依據(jù)。然而蘋果葉部時常遭受病蟲害侵襲,及時識別葉病種類并采取針對性措施進行葉病防治,對于保證蘋果增量增產(chǎn)具有十分重要的經(jīng)濟價值和現(xiàn)實意義。從20世紀(jì)80年代開始,計算機視覺技術(shù)在農(nóng)作物病害識別領(lǐng)域得到了廣泛的研究和發(fā)展。近十幾年來,隨著大數(shù)據(jù)技術(shù)和硬件設(shè)備的不斷提升,深度學(xué)習(xí)技術(shù)在視覺識別領(lǐng)域取得了矚目的成就,并被迅速應(yīng)用到植物葉病識別領(lǐng)域。比如Liu等[1]使用基于GoogLeNet和AlexNet的深度網(wǎng)絡(luò)模型進行蘋果葉病診斷,達到了97.62%的識別準(zhǔn)確率。宋晨勇[2]等以蘋果作為研究對象,提出了一種基于深度學(xué)習(xí)的GoogLeNet改進模型,在提高蘋果病害識別準(zhǔn)確率的同時,也降低了模型訓(xùn)練收斂時間,實現(xiàn)了蘋果病害的實時檢測。
深度學(xué)習(xí)方法通過構(gòu)建深度神經(jīng)網(wǎng)絡(luò)進行模型訓(xùn)練,伴隨著大量的調(diào)參任務(wù)。為了提高神經(jīng)網(wǎng)絡(luò)模型的泛化能力,避免模型訓(xùn)練過程的過擬合,需要輸入大量帶標(biāo)簽的數(shù)據(jù)樣本進行學(xué)習(xí)。然而在實際應(yīng)用中,數(shù)據(jù)樣本的獲取可能存在環(huán)境的變化,比如蘋果葉部圖像可能在不同的光照、不同的拍攝設(shè)備以及不同的拍攝角度下獲取。環(huán)境的變化往往導(dǎo)致獲取的圖像有著不同的數(shù)據(jù)分布。對某種數(shù)據(jù)分布的樣本識別效果良好的網(wǎng)絡(luò)模型,用于其他數(shù)據(jù)分布的數(shù)據(jù)識別時準(zhǔn)確率可能會嚴(yán)重降低。為了解決該問題,領(lǐng)域自適應(yīng)方法應(yīng)運而生,該方法是一種遷移學(xué)習(xí)方法,目的是將在源域上學(xué)到的分類識別能力遷移到目標(biāo)域上。領(lǐng)域自適應(yīng)方法根據(jù)數(shù)據(jù)分布的不同將訓(xùn)練數(shù)據(jù)集分為帶標(biāo)簽的源域和帶少量或不帶標(biāo)簽的目標(biāo)域。領(lǐng)域自適應(yīng)的思想就是將不同領(lǐng)域數(shù)據(jù)集映射到同一個特征空間,使其特征分布盡可能相近,從而可以將源域數(shù)據(jù)集的識別能力遷移到目標(biāo)域數(shù)據(jù)集上。
基于領(lǐng)域?qū)沟纳窠?jīng)網(wǎng)絡(luò)DANN[3]被提出之后,基于對抗的思想成為實現(xiàn)領(lǐng)域?qū)R的主要方法之一。比如chen等[4]在圖像級別和實例級別兩個層面解決領(lǐng)域偏移問題,實現(xiàn)了跨域物體檢測,其中所使用的域分類器便是采用對抗訓(xùn)練方式進行。Hsu[5]等通過構(gòu)建過渡領(lǐng)域?qū)崿F(xiàn)源域圖片向目標(biāo)域的轉(zhuǎn)換,采用對抗訓(xùn)練思想在特征層面實現(xiàn)源域和目標(biāo)域?qū)R。本研究針對樣本獲取時環(huán)境變化導(dǎo)致的數(shù)據(jù)分布差異問題,提出一種基于領(lǐng)域自適應(yīng)的蘋果葉病種類識別方法,采用對抗訓(xùn)練思想進行領(lǐng)域?qū)R,避免了網(wǎng)絡(luò)模型的重新訓(xùn)練,實現(xiàn)了較好的蘋果葉病種類跨域識別效果。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)的應(yīng)用是深度學(xué)習(xí)在計算機視覺識別領(lǐng)域取得重要進展的關(guān)鍵因素之一。與傳統(tǒng)機器學(xué)習(xí)方法不同,CNN不需要進行手工特征提取,而是能夠?qū)斎雸D像實現(xiàn)端到端的自動特征提取。典型的CNN結(jié)構(gòu)主要由卷積層、池化層和全連接層構(gòu)成。
卷積層是CNN的重要結(jié)構(gòu)之一,它通過卷積核對輸入特征進行卷積運算,從而實現(xiàn)特征的提取。卷積層的模型參數(shù)分成卷積核部分和偏差值部分。多個卷積層之間可以通過并行或串行連接設(shè)計出不同結(jié)構(gòu)和復(fù)雜程度的卷積網(wǎng)絡(luò)。第i層卷積網(wǎng)絡(luò)的特征輸出yi可用公式表示為:
其中Wi表示第i層卷積核的權(quán)重參數(shù);bi表示偏差值參數(shù);yi-1表示卷積層的特征輸入(其中y0表示網(wǎng)絡(luò)輸入端原始圖像);f表示激活函數(shù)。
池化層的主要作用是強化卷積層提取特征的空間不變性,減輕對空間位置的過度依賴,從而使得同一物體即使存在位置變化也可以被網(wǎng)絡(luò)模型很好地識別出來。常用的池化方法有最大池化法和平均池化法,分別計算池化窗口內(nèi)的最大值和平均值,從而實現(xiàn)對特征的下采樣過程。第s個池化層的第j塊池化區(qū)域的特征輸出可用公式表示為:
經(jīng)過一系列的卷積和池化操作之后,通常連接一個或多個全連接層進行圖像分類任務(wù)。最后的輸出層通常再經(jīng)過Softmax函數(shù)將輸出結(jié)果變?yōu)橹禐檎液蜑?的概率分布。第j個輸出結(jié)果Oj可表示為:
其中j∈{1,…,K},K為最后一個連接層的輸出個數(shù);z代表最后一個連接層的輸出向量。
傳統(tǒng)的深度學(xué)習(xí)模型主要針對相同數(shù)據(jù)分布的訓(xùn)練樣本進行訓(xùn)練,并應(yīng)用于相同分布的測試樣本上。當(dāng)訓(xùn)練樣本和測試樣本存在不同數(shù)據(jù)分布時,基于某一種數(shù)據(jù)分布學(xué)習(xí)到的模型通常無法很好適應(yīng)這種數(shù)據(jù)分布差異,在具體的分類識別任務(wù)中表現(xiàn)出較差的泛化性。領(lǐng)域自適應(yīng)就是用來解決這種數(shù)據(jù)分布差異問題的方法。它將分布不同的數(shù)據(jù)分為源域和目標(biāo)域,通過不同的方式實現(xiàn)源域和目標(biāo)域的數(shù)據(jù)對齊,從而將從源域數(shù)據(jù)學(xué)到的分類識別能力遷移到目標(biāo)域上。所以,領(lǐng)域自適應(yīng)方法本質(zhì)是一種遷移學(xué)習(xí)方法。
用于本研究的蘋果葉病圖片數(shù)據(jù)來源于AI-Challenger-Plant-Disease-Recognition(https://challenger.ai/),共包含健康型、一般黑星病型、嚴(yán)重黑星病型、灰斑病型、一般雪松銹病型、嚴(yán)重雪松銹病型6種類型。對每種葉病類型進行數(shù)據(jù)增廣操作以擴充數(shù)據(jù)量,主要包括隨機裁剪、隨機縮放、隨機旋轉(zhuǎn)等操作。擴充后的數(shù)據(jù)集共8169張圖片,針對每種類別隨機選取70%數(shù)據(jù)作為訓(xùn)練集,30%數(shù)據(jù)作為測試集。訓(xùn)練集中每個類別按照4:1的比例劃分源域數(shù)據(jù)和目標(biāo)域數(shù)據(jù)。為了模擬源域和目標(biāo)域不同的數(shù)據(jù)分布,針對訓(xùn)練集中的目標(biāo)域數(shù)據(jù)和測試集數(shù)據(jù)原始圖片進行增加亮度操作[6]。所有圖片被處理為224×224的固定分辨率。
本研究中源域數(shù)據(jù)集包含大量有標(biāo)簽數(shù)據(jù),目標(biāo)域數(shù)據(jù)集包含大量無標(biāo)簽數(shù)據(jù)。假設(shè)蘋果葉病訓(xùn)練集中源域圖片XS的數(shù)據(jù)量為ns,所屬類別數(shù)為K,則源域數(shù)據(jù)可表示為,其中 xs∈XS,ys∈YS={1,2,…,K}。目標(biāo)域圖片Xt的數(shù)據(jù)量為nt,則目標(biāo)域數(shù)據(jù)可表示為,其中 xt∈Xt。Xs與 Xt中數(shù)據(jù)相似但分布不同,構(gòu)成跨域數(shù)據(jù)集,且Xt中數(shù)據(jù)標(biāo)簽Yt與Ys相同。領(lǐng)域自適應(yīng)的目的是通過降低源域和目標(biāo)域中的數(shù)據(jù)分布差異,使得具備對源域數(shù)據(jù)分類識別能力的網(wǎng)絡(luò)模型能夠?qū)δ繕?biāo)域數(shù)據(jù)進行分類預(yù)測。
本研究中基于領(lǐng)域自適應(yīng)的蘋果葉病分類網(wǎng)絡(luò)模型如圖1所示,主要包含三個模塊:特征提取模塊G,葉病分類模塊C和領(lǐng)域分類模塊D。其中特征提取模塊的功能是提取特征用于葉病分類識別,同時混淆源域和目標(biāo)域的特征分布;葉病分類模塊的功能是利用提取的特征對葉病種類進行識別;領(lǐng)域分類模塊的功能是識別傳入的特征來自源域還是目標(biāo)域??梢钥闯?,通過特征提取模塊得到的特征同時作為其他兩個模塊的輸入。
圖1 基于領(lǐng)域自適應(yīng)的神經(jīng)網(wǎng)絡(luò)模型
為了對模型進行訓(xùn)練,需要輸入源域圖片流經(jīng)特征提取模塊后進入葉病分類模塊進行預(yù)測,得到的結(jié)果與真實標(biāo)簽通過交叉熵?fù)p失函數(shù)計算出分類損失Ly,并進行反向傳播更新該網(wǎng)絡(luò)分支的參數(shù)。另外,需要輸入源域圖片和目標(biāo)域圖片,流經(jīng)特征提取模塊后進入領(lǐng)域分類模塊進行領(lǐng)域預(yù)測,該分支的領(lǐng)域預(yù)測損失Ld可表示為:
其中I表示輸入的源域和目標(biāo)域圖片,d∈{0,1},且當(dāng)輸入圖片來自源域時取值0,來自目標(biāo)域時取值1。領(lǐng)域分類模塊的訓(xùn)練目標(biāo)是使領(lǐng)域分類器更加準(zhǔn)確,而網(wǎng)絡(luò)提取模塊的訓(xùn)練目標(biāo)是提取源域和目標(biāo)域中共性的特征,使得領(lǐng)域分類器無法辨別。因此,該分支的網(wǎng)絡(luò)訓(xùn)練是一種典型的對抗思想,其訓(xùn)練目標(biāo)可表示為maxGminDLd。在具體實施時,特征提取模塊和領(lǐng)域?qū)鼓K之間通過添加梯度反轉(zhuǎn)層(Gradient Reversal Layer,GRL)[7],實現(xiàn)對抗訓(xùn)練的效果。匯總以上兩條分支的損失函數(shù),便構(gòu)成了網(wǎng)絡(luò)模型的最終損失Ltotal,表示為:
其中λ是用來平衡兩條網(wǎng)絡(luò)分支的超參數(shù)。訓(xùn)練階段結(jié)束后,使用測試集數(shù)據(jù)進行蘋果葉病分類預(yù)測。此時需要移除模型中的領(lǐng)域分類模塊,只保留特征提取模塊和葉病分類模塊。
為了驗證本研究算法中領(lǐng)域自適應(yīng)方法的有效性,與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型方法進行了實驗對比,兩者的特征提取模塊和葉病分類模塊均使用經(jīng)過預(yù)訓(xùn)練的GoogLeNet神經(jīng)網(wǎng)絡(luò)架構(gòu)。領(lǐng)域分類模塊由3個全連接層構(gòu)成,每一層的神經(jīng)元個數(shù)分別為1024、512和1。實驗對比結(jié)果如表1所示。可以看出,在只使用源域數(shù)據(jù)訓(xùn)練的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型進行跨域葉病種類識別的平均準(zhǔn)確率只有37.6%,說明經(jīng)過圖片亮度處理后的目標(biāo)域圖片與源域圖片存在較大數(shù)據(jù)分布差異,識別準(zhǔn)確率較低。而經(jīng)過領(lǐng)域自適應(yīng)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),能夠縮小這種數(shù)據(jù)分布差異,使得對測試集樣本的識別準(zhǔn)確率提高到82.3%。實驗結(jié)果充分說明了在蘋果葉病跨域數(shù)據(jù)集上使用領(lǐng)域自適應(yīng)算法的必要性,可以帶來較大的準(zhǔn)確率提升。
表1 基于不同網(wǎng)絡(luò)模型的蘋果葉病分類準(zhǔn)確率對比
本文基于領(lǐng)域自適應(yīng)方法進行蘋果葉病跨域樣本上的分類識別研究,首先使用源域數(shù)據(jù)訓(xùn)練蘋果葉病分類器,然后通過網(wǎng)絡(luò)對抗訓(xùn)練對齊不同領(lǐng)域之間的數(shù)據(jù)分布,實現(xiàn)了跨域樣本上較好的葉病分類識別效果。實驗結(jié)果驗證了領(lǐng)域自適應(yīng)方法在蘋果葉病跨域識別上的有效性。未來的研究中將在農(nóng)業(yè)領(lǐng)域跨域識別問題上進行更加有益的探索。