張廣群 李英杰 汪杭軍 周厚奎
(1. 浙江農(nóng)林大學(xué)信息工程學(xué)院 杭州 311300;2. 浙江農(nóng)林大學(xué)暨陽學(xué)院 諸暨 311800)
森林管護是保護森林資源的重要措施,是林業(yè)工作的核心任務(wù),加強森林管護對于改善生態(tài)環(huán)境、促進社會經(jīng)濟可持續(xù)發(fā)展具有重要的現(xiàn)實意義(李維剛,2017)。護林員是森林管護工作的主要力量,為了實現(xiàn)森林管護工作網(wǎng)絡(luò)化、智能化管理及量化考核,研發(fā)出了許多森林管護系統(tǒng),包括動態(tài)跟蹤、定位、管護考核、報警、事件與數(shù)據(jù)采集、手持終端拍照與錄像、現(xiàn)場情況上傳等功能(馬艷麗,2010;趙燕東等,2016;張罡,2018;胡鴻等,2017)。隨著護林員上傳圖像數(shù)據(jù)增加,如何快速對圖像進行自動分類,從而使林業(yè)各管理部門包括林業(yè)執(zhí)法機構(gòu)和執(zhí)法隊伍能夠全面配合、相互協(xié)調(diào),增強決策支持并加快應(yīng)急處理非常重要。
圖像分類是人工智能領(lǐng)域的基本研究主題之一,是指利用計算機對圖像進行定量分析,將圖像或圖像中的每個像元或區(qū)域劃歸為若干個類別中的某一種,以代替人的視覺判讀。研究者已經(jīng)開發(fā)了大量用于圖像分類的算法,常用的包括KNN、SVM、BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等,這些分類算法首先提取圖像特征,然后對圖像中的目標進行分類。如幸澤峰等(2016)提取遙感圖像中的植被指數(shù)特征用于識別和提取其中的農(nóng)田防護林區(qū)域;劉子豪等(2013)采用核主成分分析方法提取木材橫切面微觀圖像中的高維空間特征識別木材類別;謝林波(2015)基于SIFT特征和BoW詞袋模型用于油茶(Camelliaoleifera)害蟲圖像分類。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是一種廣泛用于圖像處理的深度學(xué)習(xí)算法,在許多領(lǐng)域取得了很好的分類效果(Zhangetal.,2018)。Krizhevsky等(2012)通過加深CNN模型深度,采用 ReLU+dropout 技術(shù),提出了AlexNet并第一次將CNN用于LSVRC-12競賽中,取得了當(dāng)時最好的分類結(jié)果;Szegedy等(2015)提出了一個超過20層的CNN結(jié)構(gòu)GoogLeNet,提升了計算資源的利用率,參數(shù)比AlexNet少1/12,在LSVRC-14中獲得了圖像分類“指定數(shù)據(jù)”組第一名;周敏等(2017)設(shè)計了一個5層卷積神經(jīng)網(wǎng)絡(luò)用于遙感圖像飛機目標分類,取得了97.2%的準確率。
本研究提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的林業(yè)圖像分類方法,考慮到采用的林業(yè)圖像數(shù)據(jù)集不是很大,不足以訓(xùn)練一個大規(guī)模網(wǎng)絡(luò),而深度學(xué)習(xí)算法往往網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜,一般需大量的訓(xùn)練樣本和機器資源,訓(xùn)練運行時間很長(周飛燕等,2017),因此,在卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中加入遷移學(xué)習(xí)策略,以防止結(jié)果陷入局部最優(yōu)解,并加快模型參數(shù)訓(xùn)練。這些遷移學(xué)習(xí)策略已在SAR目標識別(李松等,2018)、遙感圖像艦船目標檢測(黃潔等,2017)、蝴蝶科級標本圖像自動識別(周愛明等,2017)等領(lǐng)域成功應(yīng)用,但在林業(yè)圖像識別方面應(yīng)用很少。本研究采用參數(shù)遷移策略在Caffe(Jiaetal.,2014)框架下,基于大規(guī)模輔助圖像數(shù)據(jù)集ImageNet(Dengetal.,2009)預(yù)訓(xùn)練好的CaffeNet模型,利用林業(yè)圖像數(shù)據(jù)對模型進行微調(diào)訓(xùn)練,在根據(jù)林業(yè)業(yè)務(wù)需求建立的4類林業(yè)圖像數(shù)據(jù)集上,獲得的識別精度達97.5%,證實采用微調(diào)技術(shù)可在低成本開發(fā)條件下得到性能良好的深度卷積神經(jīng)網(wǎng)絡(luò)林業(yè)圖像識別模型。
本研究涉及數(shù)據(jù)包括大規(guī)模輔助圖像數(shù)據(jù)集ImageNet和林業(yè)圖像數(shù)據(jù)集2部分。ImageNet是美國斯坦福大學(xué)李飛飛教授建立的目前世界上圖像識別最大的數(shù)據(jù)庫,包含1 400多萬幅圖像,其中超過百萬圖像有明確的類別標注和圖像中物體位置標注。本研究采用的CaffeNet模型是利用參數(shù)遷移策略在Caffe框架下使用ImageNet數(shù)據(jù)集進行預(yù)訓(xùn)練獲得的。林業(yè)圖像數(shù)據(jù)集是項目組從林業(yè)業(yè)務(wù)角度出發(fā),綜合林業(yè)管理部門建議,確定的動物死亡、森林火災(zāi)、采伐和森林病蟲害4類圖像。將收集到的4類圖像進行預(yù)處理,人工截取中間子區(qū)域至240×240像素大小。為了保持圖像固有比例,圖像預(yù)處理過程沒有縮放。數(shù)據(jù)集包含355幅圖像,其中動物死亡圖像95幅、森林火災(zāi)圖像109幅、采伐圖像89幅、森林病蟲害圖像62幅。數(shù)據(jù)集圖像樣本如圖1所示(經(jīng)過縮放),其中每一行為一類圖像的樣本,從上到下4行樣本類別分別是動物死亡、森林火災(zāi)、采伐和森林病蟲害。
圖1 4類林業(yè)圖像樣本Fig.1 Image samples of four forestry categories
自LeCun等(2015)提出深度學(xué)習(xí)以來,深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks)發(fā)展迅速,并引起廣泛重視。深度卷積神經(jīng)網(wǎng)絡(luò)通過搭建具有一定深度的卷積神經(jīng)網(wǎng)絡(luò)模型,可模仿人腦的分級處理和視覺神經(jīng)的局部感知功能,對多媒體數(shù)據(jù)具有很強的識別感知能力。
本研究采用的Caffe框架是Jia等(2014)設(shè)計的清晰而高效的深度學(xué)習(xí)框架,深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)CaffeNet如圖2所示,其中可以將卷積層和池化層作為特征提取模塊,剩下的全連接層和Softmax層構(gòu)成一個多層分類器。
圖2 CaffeNet模型結(jié)構(gòu)Fig.2 Model structure of CaffeNet(Jia et al.,2014)conv:卷積層 Convolutional layer;pool:池化層 Pooling layer;ip:全連接層 Inner product layer;ReLU:激活函數(shù)層以及l(fā)oss層(這里為Softmax):Activation function layer and loss layer (here is Softmax).
1.2.1 卷積層 卷積神經(jīng)網(wǎng)絡(luò)是在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)上增加了卷積操作,卷積操作運算如下:
(1)
常見的激活函數(shù)為Sigmoid函數(shù),本研究采用ReLU(rectified linear units)函數(shù),公式如下:
f(x)=max(0,x)。
(2)
ReLU函數(shù)的網(wǎng)絡(luò)輸出數(shù)據(jù)適度稀疏,相比Sigmoid函數(shù),其能使網(wǎng)絡(luò)損失函數(shù)快速收斂,提高網(wǎng)絡(luò)訓(xùn)練效率。
1.2.2 池化層 池化層也稱下采樣層或抽樣層,是將圖像中不同位置的特征進行聚合。經(jīng)過卷積層的圖像具有一種“局部性”,即圖像每個像素點周圍與該點具有較大的相似度。通過池化層可在保留有用信息的基礎(chǔ)上減少數(shù)據(jù)處理量,加快網(wǎng)絡(luò)訓(xùn)練速度。經(jīng)過池化處理的第l層輸出可表示為:
(3)
典型的池化技術(shù)包括均值池化(mean-pooling)、最大池化(max-pooling)和隨機池化(stachastic-pooling)3種。本研究采用最大池化,公式如下:
(4)
1.2.3 Softmax層 Softmax是邏輯回歸(logistic regression)的改進,主要用于解決多分類問題。對于給定一個訓(xùn)練輸入數(shù)據(jù)x、輸出類別y∈{1,2,…,k}的多分類問題,Softmax回歸假設(shè)其類別y=i的概率分布如下:
(5)
式中:e表示自然對數(shù);θi表示待擬合的參數(shù);T表示轉(zhuǎn)置。
定義函數(shù)hθ(x)如下:
(6)
式中:θ1、θ2、…、θk為所有待擬合的參數(shù)。
函數(shù)hθ(x)是對給定輸入數(shù)據(jù)x的每個對應(yīng)類別的概率估計,參數(shù)θi可通過最大似然估計確定。當(dāng)有m個訓(xùn)練數(shù)據(jù){(x(i),y(i));i=1,2,…,m}時,其對數(shù)形式似然函數(shù)為:
(7)
其中,上標l{y(i)=l}定義如下:
(8)
通過最大化函數(shù)L,可以確定參數(shù)θi的值。
微調(diào)(fine-tuning)可從預(yù)訓(xùn)練好的參數(shù)集開始訓(xùn)練一個CNN模型,能夠解決小數(shù)據(jù)集應(yīng)用的問題。使用CaffeNet進行微調(diào)時,本研究主要采用隨機梯度下降(stochastic gradient descent,SGD)算法。隨機梯度下降定義如下(Patel,2016):
(9)
式中:J(θ)為損失函數(shù);θ為參數(shù)值;hθ為擬合函數(shù);m為訓(xùn)練集樣本個數(shù)。
不斷修改參數(shù)值θ,使J(θ)值盡可能小。對樣本損失函數(shù)求偏導(dǎo),可得到θ的更新公式如下:
(10)
式中:α為學(xué)習(xí)速率參數(shù)。
與一般梯度下降相比,隨機梯度下降不必遍歷所有訓(xùn)練集合,僅使用一個數(shù)據(jù)就能更新參數(shù),從而可以節(jié)省時間,加快算法執(zhí)行效率。
本研究基于64位Windows 7操作系統(tǒng)和AMD FX8350 4.2GHZ/8核CPU/8 GB內(nèi)存計算機,使用的軟件包括Matlab R2012a、Python 2.7,搭建Caffe深度學(xué)習(xí)框架,進行林業(yè)圖像的網(wǎng)絡(luò)模型訓(xùn)練和測試。試驗中每類圖像隨機留取10幅作為測試數(shù)據(jù),余下圖像作為訓(xùn)練數(shù)據(jù)。
在微調(diào)訓(xùn)練中,遷移原CaffeNet模型的低5層參數(shù),包括卷積層、激活函數(shù)和池化層參數(shù),即設(shè)置conv1~conv5的學(xué)習(xí)率為0;從fc6層開始調(diào)整參數(shù),將fc6、fc7、fc8層的學(xué)習(xí)率設(shè)置為1,同時將fc8層的輸出值數(shù)量設(shè)置為4,以適應(yīng)數(shù)據(jù)集的4種類別(表1)。
表1 網(wǎng)絡(luò)結(jié)構(gòu)及其參數(shù)Tab.1 Network structure and its parameters
試驗在已經(jīng)過ImageNet數(shù)據(jù)集預(yù)訓(xùn)練好的CaffeNet模型上進行,將林業(yè)圖像數(shù)據(jù)集中的圖像每類隨機留取10幅作為測試數(shù)據(jù),剩余所有圖像作為訓(xùn)練數(shù)據(jù),用于對模型進行微調(diào)。圖3給出了在CaffeNet模型上的分類正確率和損失函數(shù)對迭代步數(shù)的曲線變化。
由圖3a可知,經(jīng)大約200步迭代后,微調(diào)學(xué)習(xí)模式下CaffeNet網(wǎng)絡(luò)模型分類正確率就已達95%;大約1 500步后,模型分類正確率達到峰值97.5%,且模型已收斂。由圖3b可知,損失函數(shù)曲線下降非常快,在250步左右就下降到0.2,500步后下降到0.1,這表明CaffeNet模型經(jīng)過訓(xùn)練后可以達到穩(wěn)定,且穩(wěn)定后的特征區(qū)分能力很強,圖像分類正確率也很高。
試驗選用的40幅測試圖像是從4類圖像中各隨機留取10幅圖像組成,最后分類結(jié)果是有1幅圖像被誤判,因此分類正確率為97.5%。從圖3可以發(fā)現(xiàn),訓(xùn)練2 500步時損失函數(shù)最小且穩(wěn)定,所以用2 500步時的模型對所有測試圖像進行再測試,找出其中被誤分的圖像。如圖4a所示,這是一幅采伐類圖像,被模型誤分為動物死亡類,其原因是圖中很多圖像的細節(jié)特征與動物死亡類中的訓(xùn)練圖像相似;如圖4b、c、d所示,砍倒的橫木與石板、樹上的樹瘤與死亡動物肢體的關(guān)節(jié)等特征都有一些相似之處。要解決此類被誤分問題,唯有增加更多的訓(xùn)練數(shù)據(jù),讓網(wǎng)絡(luò)模型學(xué)習(xí)更多的每個分類具有的細節(jié)特征。由于林業(yè)圖像每個分類的圖像變化都非常大,這也正是林業(yè)業(yè)務(wù)圖像分類問題復(fù)雜的主要原因。
圖3 CaffeNet模型分類正確率和損失函數(shù)Fig.3 Classification accuracy and loss function of CaffeNet model
圖4 測試中誤分圖像和訓(xùn)練圖像樣本Fig.4 Misclassification image in testing and training image samples
深度卷積神經(jīng)網(wǎng)絡(luò)通過卷積層和池化層逐層提取圖像特征。本研究通過CaffeNet模型中conv1、conv2層以及全連接fc7層輸出的特征進行可視化,分析深度卷積神經(jīng)網(wǎng)絡(luò)提取林業(yè)圖像特征的方式以及正確分類的原因。
從林業(yè)圖像數(shù)據(jù)集中任選一幅樣圖(屬于森林病蟲害圖像類),其conv1和conv2層特征(該層相關(guān)參數(shù)參見表1)可視化效果如圖5所示。圖5中給出的conv1層卷積核是從ImageNet訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)來的,這些卷積核可以理解為圖像的基(basis),復(fù)雜圖像可看成是basis的組合。此外,對于給定的輸入圖像,從conv1 層的特征圖來看(共96幅55×55的特征圖,圖5中僅顯示前36幅),卷積層的作用類似于邊緣檢測,因此卷積層的本質(zhì)就是特征提取層。conv2層的特征圖是27×27(共256幅,圖5中僅顯示前64幅),conv2層工作原理與conv1層類似,只不過 conv1層的輸入是1幅 RGB 圖像,而conv2 層的輸入是conv1層輸出的特征圖集,conv2 層輸出的每個特征圖是上一層提取到特征圖的不同組合,獲得的特征也更加抽象。通過不斷卷積和池化交替操作,就可以提取更高層級、分類能力更強的圖像特征。
圖5 conv1和conv2層特征可視化Fig.5 Feature visualization of layer conv1 and conv2
全連接fc7層輸出是一個4 096×1維的特征向量,該特征向量唯一標識了輸入圖像的特征。為了考察fc7層獲得的特征情況及其分類能力,從林業(yè)圖像數(shù)據(jù)集中選取3幅不同的圖像樣本,其中2幅來自森林火災(zāi)類、1幅來自采伐類。3幅圖像全連接fc7層的輸出如圖6所示。
圖6 全連接fc7層輸出Fig.6 Output histogram of full-connection layer:fc7
從圖像特征來說,往往同一種類的圖像比較相似,不同種類的圖像具有較大差異性,這樣才能作為分類的依據(jù)。然而,從圖6可以看出,3幅圖像的fc7層輸出直方圖差異較大,同一類的圖6A與圖6B并沒有十分相似的表現(xiàn)。與數(shù)字字母、指紋、人臉等圖像的分類任務(wù)相比,林業(yè)圖像變化非常大,因此傳統(tǒng)分類方法要取得很好的識別效果非常困難。對于fc7層的輸入,雖然直觀上看不出什么規(guī)律,但是采用不同方法計算3幅圖像兩兩之間的距離(表2)不難發(fā)現(xiàn),在給定Euclid距離、Hausdorff距離、Manhattan距離和Correlation距離4種距離函數(shù)下,作為同一個類的圖6A、B 2幅圖像之間的距離均較小,而不同類別的圖像,如圖6A、C和圖6B、C其距離較大。這表明,經(jīng)過CaffeNet網(wǎng)絡(luò)提取的 fc7層特征對于類內(nèi)、類間均具有很好的區(qū)分度,對于后續(xù)識別分類具有關(guān)鍵作用。
表2 圖像間不同的距離Tab.2 Different distances between images
張廣群等(2017)提出一種基于稠密尺度不變特征轉(zhuǎn)換(Dense SIFT)特征的詞袋(BoW)模型方法對林業(yè)業(yè)務(wù)圖像進行分類,分類正確率為86.7%,本研究微調(diào)卷積神經(jīng)網(wǎng)絡(luò)方法的分類正確率為97.5%,比Dense SIFT+BoW方法提升10.8%;而且,Dense SIFT+BoW方法試驗采用的是森林火災(zāi)、非法采伐和森林病蟲害3 類林業(yè)圖像,比本研究數(shù)據(jù)集少1種動物死亡分類,這充分說明深度卷積神經(jīng)網(wǎng)絡(luò)方法相比傳統(tǒng)特征提取方法在林業(yè)圖像分類應(yīng)用中具有很大優(yōu)勢。對于圖像分類問題,傳統(tǒng)方法一般首先在圖像上應(yīng)用特征提取方法,然后將提取到的特征輸入到分類器中進行分類,往往要針對不同的分類問題手工設(shè)計特征提取方法或者需要提取的特征,且提取的特征對系統(tǒng)性能具有直接影響。因此,傳統(tǒng)方法都是針對某個特定的分類任務(wù),數(shù)據(jù)規(guī)模不大,并要對解決的問題領(lǐng)域進行深入研究,所得到方法的泛化能力較差。然而,深度卷積神經(jīng)網(wǎng)絡(luò)含有多個隱藏層,具有強大的特征學(xué)習(xí)能力,通過訓(xùn)練模型所提取的特征對原始數(shù)據(jù)具有更抽象和更本質(zhì)的表述,從而有利于解決分類問題;通過使用無監(jiān)督學(xué)習(xí)算法實現(xiàn)“逐層初始化”,對輸入數(shù)據(jù)信息進行分級表達,從而可以有效降低深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練難度。相比于傳統(tǒng)方法,正是因為深度卷積神經(jīng)網(wǎng)絡(luò)模型具有更強的特征學(xué)習(xí)和表達能力,因此其在圖像分類領(lǐng)域的眾多應(yīng)用中已取得一系列突破性進展。
護林員野外收集圖像包括的范圍和種類很多,如林業(yè)有害生物監(jiān)測(松材線蟲病、食葉害蟲等)、森林消防監(jiān)測(森林火情、違章用火等)、野生動植物保護監(jiān)測(野生動物異常死亡、非法獵捕、收購、運輸、販賣野生動物、亂采亂挖珍稀野生植物、野生動物有受傷、野生動物肇事、發(fā)現(xiàn)珍稀野生動物等)以及森林資源監(jiān)測(人畜破壞森林資源、非法毀林開墾和侵占林地、亂砍濫伐林木)等,因此要發(fā)揮護林員的作用,真正提升森林管護水平,如何在林業(yè)圖像分類進一步細分的情況下,建立帶標簽的分類數(shù)據(jù)集,研究分類效果更好的深度學(xué)習(xí)方法是今后的發(fā)展方向。要使分類方法能夠適應(yīng)實際應(yīng)用需求,還需要考慮上傳圖像大小不一致的情況,且通過更深、性能更好的神經(jīng)網(wǎng)絡(luò)模型,或采用一些訓(xùn)練技巧提高訓(xùn)練速度,從而進一步提高林業(yè)圖像分類正確率。
1) CaffeNet模型具有強大的特征提取和分類能力,可提取林業(yè)圖像中高層次、具有代表性的特征。
2) 卷積神經(jīng)網(wǎng)絡(luò)模型對訓(xùn)練樣本具有很大依賴性,對于小樣本應(yīng)用領(lǐng)域網(wǎng)絡(luò)參數(shù)訓(xùn)練問題,遷移學(xué)習(xí)提供了可行途徑,將預(yù)訓(xùn)練好的網(wǎng)絡(luò)模型通過小樣本訓(xùn)練數(shù)據(jù)經(jīng)過微調(diào)即可得到效果非常不錯的分類器。
3) 林業(yè)圖像復(fù)雜多變,同一類圖像的類內(nèi)相似性較弱,利用傳統(tǒng)的“特征提取+分類建模”方法進行分類,其分類特征選取難度較大,往往很難取得理想的分類效果;然而,采用深度卷積神經(jīng)網(wǎng)絡(luò)方法,在當(dāng)前硬件價格越來越低、計算能力越來越強的趨勢下,更能適應(yīng)林業(yè)圖像特性以及分類應(yīng)用的要求,是今后研究的重要發(fā)展方向。