李健寧,路 陽(通訊作者),陶賢鵬,林立媛,孫 桐
(1黑龍江八一農墾大學信息與電氣工程學院 黑龍江 大慶 163319)
(2雞西市公安局 黑龍江 雞西 158100)
(3東北石油大學黑龍江省網(wǎng)絡化與智能控制重點實驗室 黑龍江 大慶 163318)
基于圖像的水稻病害識別是當前植物保護領域的一個研究熱點[1]。從水稻病害特征來看,單個樣本可能同時出現(xiàn)多種病癥,不同病癥可能具有相似的癥狀。而且由于獲取圖像時圖像背景的干擾及光照強度的變化,使得獲取清晰的病害特征明顯的樣本圖像變得復雜和困難,在實際應用中面臨各種各樣的挑戰(zhàn)[2]。本研究中,尋找一種新的方法生成水稻病害圖像樣本,解決訓練樣本不足問題,增加樣本多樣性。
Goodfellow等[3]人受博弈論中的零和博弈啟發(fā)于2014年提出生成對抗網(wǎng)絡(Generative Adversarial Networks,GAN)模型,其圖像生成效果好。目前,GAN已成功應用于動畫頭像生成、圖像還原與修復、超分辨率圖像生成[4]等領域。GAN主要由生成器和鑒別器兩部分構成,通過不斷地對抗訓練,生成器生成真實的樣本數(shù)據(jù),鑒別器是區(qū)分真實的樣本和生成的樣本,從而達到最佳生成效果。
由于WGAN在真實的圖像生成過程中依舊存在著訓練困難、收斂速度慢的問題,相比較傳統(tǒng)GAN效果提升不是很明顯。于是,Ishaan Gulrajani等[5]人提出了帶梯度懲罰的Wasserstein生成對抗網(wǎng)絡(WGAN-GP),能使WGAN的訓練變得更加穩(wěn)定,并且取得更高質量的生成效果。
本文研究基于生成對抗網(wǎng)絡理論的水稻病害圖像數(shù)據(jù)集增強[6]的關鍵技術,研究目標是應用WGAN-GP對水稻病害樣本集進行數(shù)據(jù)增強,具體研究過程包括WGAN-GP模型構建及算法驗證及性能分析等。
生成對抗網(wǎng)絡由生成模型(Generative Model,G)和判別模型(Discriminative Model,D)組成。生成模型負責將接收到的噪聲z輸出生成樣本,模型在訓練過程中通過捕捉真實圖像中的概率分布來生成接近真實的樣本。判別模型負責估計接收的樣本是真實樣本還是生成樣本的概率。在兩個模型相互博弈過程中,生成模型生成的樣本盡可能地欺騙判別模型,判別模型盡可能避免這種欺騙。最終,生成模型和判別模型會處于一種納什平衡[7]。生成對抗網(wǎng)絡的目標函數(shù)如公式(1)所示。
pz表示噪聲輸入的概論分布,pg表示生成樣本x的概論分布,pr表示真實圖像的概論分布。為了確保判別模型能準確鑒別真實圖像,需要最大化當判別器接收生成樣本,最大化會接近0。訓練生成模型是為了讓判別模型給出高概率的數(shù)值,因此需要最小化
經(jīng)過近年來研究,原GAN存在難以實現(xiàn)納什均衡、梯度消失、模式崩塌以及缺少適合的模型評估方法。這些問題在WGAN(Wasserstein Generative Adversarial Networks)中得到改進,采用Wasserstein距離[5]作為網(wǎng)絡的距離衡量方式代替JS散度或KL散度衡量方式。Wasserstein距離計算如公式(2)所示:
盡管WGAN的訓練相比原GAN的訓練穩(wěn)定性進一步增強,WGAN在訓練時采用權重修剪(weight clipping)方式將模型內的參數(shù)限制在一定的范圍內,由此來達到滿足Lipschitz限制條件,但往往在最優(yōu)策略下,參數(shù)通常會趨向不合理的極端情況。這不僅僅會影響模型的訓練速度,當修剪范圍逼近于極限時,還會導致梯度爆炸的情況發(fā)生。而WGAN-GP提出了另一種截斷修剪的策略——Gradient Penalty,能有效避免上述問題,并且能提高模型訓練的穩(wěn)定性。WGAN-GP的損失函數(shù)如公式(3)所示:WGAN-GP網(wǎng)絡結構見圖1。
圖1 WGAN-GP網(wǎng)絡結構
卷積神經(jīng)網(wǎng)絡[8]被用于WGAN-GP模型對數(shù)據(jù)集增強后的驗證。CNN廣泛應用于圖像分類的應用領域,CNN模型由5層卷積層、3層全連接層、softmax輸出層構成,層與層之間使用最大池化層分開,所有隱層的激活單元都采用ReLU函數(shù)。卷積層提取輸入的圖像特征,通過最大池化層降低輸入圖像的維數(shù),全連接的層放置在模型輸出附近,最終通過softmax輸出層進行數(shù)值預測。CNN模型見圖2。
圖2 CNN模型示意圖
本文中,水稻病害圖像是從黑龍江省齊齊哈爾市梅里斯達斡爾族自治區(qū)哈拉海農場水稻種植區(qū)的真實農田采集而來。使用具有16.0百萬像素的佳能PowerShot SX530HS數(shù)碼相機,具有12.0百萬像素相機的小米6手機來捕獲這些水稻病害圖像,病害類型包括水稻稻瘟病、水稻褐斑病和水稻白葉枯病。該數(shù)據(jù)集是在不同天氣條件下捕獲,分別在水稻生長的前期、中期以及晚期3個時間段采集水稻病害圖像,并對采集的圖像進行人工標注。共采集3種水稻病害總計5872幅圖像作為研究對象。每幅圖像采用jpg格式存儲,尺寸裁剪至64×64像素。采集的原始水稻病害圖像見圖3。
圖3 水稻病害圖像
傳統(tǒng)的圖像增強是將收集到的圖片進行水平翻轉、高斯模糊、添加噪點,以實現(xiàn)圖像數(shù)據(jù)集的擴充增強。見圖4。
圖4 水平翻轉、高斯模糊、添加噪點處理圖像
本文實驗環(huán)境為ubuntu 18.04系統(tǒng),CPU型號為Intel Core(TM)i7-7 820HK,內存為32 GB。深度學習框架采用pytorch1.6+cuda10.1,NVIDIA 1 080加速運算。模型采用mini-batch 訓練,WGAN-GP網(wǎng)絡模型的batchsize設置為128。使用Adam優(yōu)化器,初始學習率設置為0.0 002,迭代12 000輪。
定義好WGAN-GP網(wǎng)絡后,從收集到的水稻病害數(shù)據(jù)集中隨機劃分70%的樣本用來訓練WGAN-GP生成對抗網(wǎng)絡。通過WGAN-GP生成的水稻病害圖像見圖5。
圖5 WGAN-GP生成的樣本圖像
將生成器生成的樣本以及傳統(tǒng)圖像增強與剩余的30%樣本分別擴充并混合達到1萬個樣本數(shù)量,然后用經(jīng)典的卷積神經(jīng)網(wǎng)絡模型來進行模型驗證測試。水稻病病害識別結果見表1。
表1 水稻病害識別結果 單位:%
從表中可以看出,使用VGG16網(wǎng)絡模型進行測試,只用原始數(shù)據(jù)集進行訓練的模型平均識別準確率為80.2%,使用傳統(tǒng)圖像增強技術對水稻病害圖像數(shù)據(jù)進行擴充后的平均準確率達到91.2%,用WGAN-GP對水稻病害圖像數(shù)據(jù)進行擴充后的平均準確率達到96.4%,且相比只用未擴充的原始圖像數(shù)據(jù)集的模型平均識別準確率提高了16.2%,比采用傳統(tǒng)圖像增強的方法平均識別準確率提高了5.2%。
本文在水稻病害數(shù)據(jù)集有限的情況下,采用WGAN-GP模型對水稻病害圖像小樣本數(shù)據(jù)集進行擴充。通過VGG16網(wǎng)絡模型下的驗證,平均識別準確率達到96.4%,結果表明使用文中設計的WGAN-GP模型生成的水稻病害圖像數(shù)據(jù)集能顯著提升水稻病害識別的準確率。