趙 洋,梁迎春,許 軍,李大舟
(1.沈陽化工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110142; 2.遼寧省化工過程工業(yè)智能化技術(shù)重點實驗室,遼寧 沈陽 110142)
目前,花卉識別的方法主要分為兩類。一類是基于傳統(tǒng)的花卉特征提取的花卉識別方法。Abbass M等人[1]提出基于分割的分形紋理分析算法。首先對花卉區(qū)域進行分割,以去除圖像數(shù)據(jù)集中的復(fù)雜背景。然后提取花卉圖像特征。最后在分類階段采用支持向量機和隨機森林算法對不同種類的花卉進行分類。該方法雖然高度準(zhǔn)確地自動識別花名,但在有噪聲的背景下,識別效果準(zhǔn)確性不高。謝曉東等人[2]提出花卉圖像前景分割方法,首先通過基于顯著性檢測的花卉圖像前景分割算法將其中花卉的主體部分分離出來,然后針對多維花卉圖像選取具有可以判別力的顏色特征和形狀特征,最后通過多特征融合的多維數(shù)據(jù)層次化分類方法將多維花卉圖像進行分類。該方法雖然實現(xiàn)將花卉的多特征高效融合,但是在特征選擇過程中需要人工干預(yù)。武慧瓊等人[3]提出了一種基于三支決策的花卉圖像分類方法.,首先把花卉圖像通過單一特征進行分類,然后選取合適的閾值定義域的轉(zhuǎn)移規(guī)則,最后融合新特征實現(xiàn)花卉。該算法雖然通過獲取更多的花卉信息有效地提高了花卉圖像的分類精度,但是花卉的識別率不高。王威等人[4]提出了一種基于綜合特征的花卉識別方法。首先結(jié)合圖像顯著性分割圖像,然后把圖像的邊緣進行增強和壓縮處理。最后使用SVM分類器進行分類識別。該方法雖然使紋理更加清晰,但是計算復(fù)雜度高、運行時間較長。
另一類是基于卷積神經(jīng)網(wǎng)絡(luò)提取特征的花卉分類方法。隨著深度學(xué)習(xí)的發(fā)展,AlexNet[5]、GoogleNet[6]、VGG[7]、ResNet[8]等優(yōu)秀的模型不斷涌現(xiàn)出來。這類方法通過對一個特征層使用不同大小的卷積核進行多次卷積操作,提取豐富的特征信息,取得了令人滿意的結(jié)果。
傳統(tǒng)的花卉識別方法依靠經(jīng)驗人工設(shè)計提取特征,特征冗余性較大,泛化能力不強[9]?,F(xiàn)有的基于深度學(xué)習(xí)的花卉分類方法存在參數(shù)量眾多與網(wǎng)絡(luò)內(nèi)存占用大的問題。針對上述問題,該文在ResNet18網(wǎng)絡(luò)基礎(chǔ)模型上,將空洞卷積替換基礎(chǔ)卷積,在優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上引入改進的通道注意力機制。該模型在小規(guī)模數(shù)據(jù)集上能有效地提取更多的特征,加快網(wǎng)絡(luò)收斂速度,提高模型在精細(xì)分類領(lǐng)域的圖像識別準(zhǔn)確率,得到了較好的識別結(jié)果。
花卉圖像的比例、形態(tài)和光照差異較大,存在類間相似度較大、類內(nèi)姿態(tài)多變的問題。針對抽取到的圖像分辨率不統(tǒng)一,需要將圖像進行歸一化處理,裁剪圖像為224×224像素。為了防止在樣本較小的情況發(fā)生過擬合的現(xiàn)象,該文采用了圖像旋轉(zhuǎn)、圖像翻轉(zhuǎn)、圖片縮放、圖像平移4種增強方式擴充數(shù)據(jù)集?;ɑ軋D像的隨機變換,取得了良好的圖像增強效果?;ɑ苁纠鐖D1所示。
圖1 花卉示例
為了保持在后面的層次中不會造成精度下降,通過H(x)=F(x)+x捷徑連接的方式,直接把輸入x作為初始結(jié)果,即F(x)=0,輸出結(jié)果為H(x)=x。捷徑連接最大的優(yōu)點是在不增加網(wǎng)絡(luò)參數(shù)和計算的復(fù)雜度的情況下,加強了特征的傳遞。該文選用ResNet18網(wǎng)絡(luò)模型在花卉數(shù)據(jù)集上進行訓(xùn)練,其結(jié)構(gòu)如圖2所示。
圖2 ResNet18網(wǎng)絡(luò)結(jié)構(gòu)
1.2.1 特征提取的空洞卷積
殘差神經(jīng)網(wǎng)絡(luò)中的卷積感受野范圍有限,導(dǎo)致網(wǎng)絡(luò)提取的花卉圖像特征不足。Chen[10]提出了空洞卷積結(jié)構(gòu)。在保證一定分辨率的情況下,不需要引入額外的參數(shù),擴大感受野,提取更多特征。
卷積核大小公式如下:
k'=k+(k-1)×(d-1)
(1)
感受野計算公式如下:
RFi+1=RFi+(k'-1)×Si
(2)
其中,空洞卷積的卷積核大小為k,擴張率為d,則其等效卷積核大小為k'。RFi+1表示當(dāng)前層的感受野,RFi表示上一層的感受野,k'表示卷積核的大小,Si表示之前所有層的步長的乘積。
由公式(1)、(2)可知,當(dāng)k=3,d=2時,等效卷積核k'=5?;A(chǔ)卷積層感受野RFi=5,當(dāng)前層感受野RFi+1=7。
ResNet18網(wǎng)絡(luò)模型都是由殘差塊搭建而成,每一個殘差塊都有2個3×3的基礎(chǔ)卷積層。圖3為殘差塊的主要結(jié)構(gòu)。
圖3 殘差塊的主要結(jié)構(gòu)
該文將每個殘差塊中第一層基礎(chǔ)卷積替換為空洞率為2的空洞卷積,形成dilatedBlock殘差塊,構(gòu)建空洞-殘差網(wǎng)絡(luò)模型。圖4為dilatedBlock殘差塊的主要結(jié)構(gòu)。
圖4 dilatedBlock殘差塊的主要結(jié)構(gòu)
網(wǎng)絡(luò)的輸入為分辨率為224×224的花卉圖像,將預(yù)處理完的花卉圖片輸入網(wǎng)絡(luò)中進行訓(xùn)練,圖像轉(zhuǎn)換為一個56×56×64的三維矩陣。編碼層的殘差模塊中使用空洞率為2的卷積核進行卷積操作,解碼層通過上采樣恢復(fù)圖像原始尺寸。合并與解碼層相映射的編碼層特征來補全下采樣缺失的信息[11]?;诳斩淳矸e的改進策略只在網(wǎng)絡(luò)的編碼階段使用,既可以較好地利用空洞卷積的優(yōu)點,又不會給網(wǎng)絡(luò)訓(xùn)練任務(wù)增加額外的負(fù)擔(dān)。
1.2.2 注意力機制
在計算機計算能力有限的情況下,注意力機制是一種解決信息超載問題的主要手段[12]。用于卷積網(wǎng)絡(luò)的注意力機制分為硬注意力和軟注意力。(1)硬注意力是一個不可微的注意力,更加關(guān)注點。同時硬注意力是一個隨機的預(yù)測過程,強調(diào)動態(tài)變化[13]。在圖像中的常見應(yīng)用是圖像剪裁。(2)軟注意是可微的,神經(jīng)網(wǎng)絡(luò)計算得出梯度并且前向傳播和反向傳播學(xué)習(xí)得出各個特征的權(quán)重。軟注意機制包括空間域注意力機制[14]和通道域注意力機制[15]??臻g域注意力機制作用于每張?zhí)卣鲌D內(nèi)。圖片局部的重要信息能夠通過變換而被框盒提取出來。該注意力機制適用于圖像標(biāo)注。通道域注意力機制作用于特征圖之間。每一張圖片初始都會由(R,G,B)三通道表示出來,不同通道代表不同特征的權(quán)重,一個通道的信息經(jīng)過不同的卷積核后會分解成新的信號分量。該注意力機制適用于網(wǎng)絡(luò)增強辨別學(xué)習(xí)能力。
通過人為地給每個通道的信息增加權(quán)重,可以提升模型的性能。但是通道注意力會忽略卷積核通道中重要的位置信息。該文將位置信息嵌入到通道注意力中,形成改進的通道域注意力機制CO[16]。通過將CO注意力模塊引入空洞-殘差網(wǎng)絡(luò)模型中,使得輕量級網(wǎng)絡(luò)能夠在更大的區(qū)域上進行注意力。圖5為CO注意力模塊主要結(jié)構(gòu)。
圖5 CO注意力模塊主要結(jié)構(gòu)
首先利用兩個一維全局池化操作分別將垂直和水平方向的輸入特征聚合為兩個獨立的方向感知特征圖。然后兩個嵌特定方向信息的特征圖分別編碼為兩個注意力圖,每個注意力圖都捕獲了輸入特征圖沿著一個空間方向的長程依賴。最后兩個注意圖被乘到輸入特征圖上來增強特征圖的表示能力。相比于其他的輕量級網(wǎng)絡(luò)上的注意方法,它不僅能捕獲跨通道的信息,還能捕獲方向感和位置感知的信息,這就能幫助模型更加精準(zhǔn)的定位。
在ResNet18網(wǎng)絡(luò)模型上,該文先引入空洞卷積,構(gòu)建了空洞-殘差網(wǎng)絡(luò)模型,獲得了花卉更多的細(xì)節(jié)特征。在空洞-殘差網(wǎng)絡(luò)模型中加入改進通道注意力機制解決信息超載問題,提高了整個模型的效率。改進的ResNet18的網(wǎng)絡(luò)模型結(jié)構(gòu)如圖6所示。虛線塊內(nèi)是使用空洞卷積層的殘差塊。每個殘差塊后面都加入了改進的通道注意力機制CO。
圖6 改進的ResNet18網(wǎng)絡(luò)模型
實驗采用的計算機環(huán)境是Windows10系統(tǒng),Intel i5-4200H處理器,NVIDIA GeForce GTX 960顯卡,Python版本為3.7.0,Pytorch版本為1.4.0。
采用的公共數(shù)據(jù)集是Oxford102[17]牛津花卉庫。Oxford102牛津花卉庫包含17類花卉,每類由40張~258張圖片組成。選取了該數(shù)據(jù)集中的5類花卉,其中daisy633張,dandelion898張,roses667張,sunflowers 699張,tulips 794張。隨機分割從各類花中取70%作為訓(xùn)練集,20%作為驗證集,10%作為測試集。
在參數(shù)設(shè)置方面,選擇簡單且計算高效的Adam優(yōu)化器,損失函數(shù)選擇交叉熵?fù)p失函數(shù),使用Relu激活函數(shù)[18]。學(xué)習(xí)率為0.000 1,批大小設(shè)計為16,迭代次數(shù)為200次。
實驗一:將ResNet18與AlexNet、VGG-16等成熟網(wǎng)絡(luò)模型在花卉數(shù)據(jù)集進行比較。各網(wǎng)絡(luò)模型結(jié)果如表1、圖7所示。由圖7可知,ResNet18的準(zhǔn)確率要明顯高于其他的網(wǎng)絡(luò)。
圖7 各模型準(zhǔn)確率對比
FPS為每秒鐘識別圖片的張數(shù),Paras為模型的參數(shù)量。由表1可以看出,AlexNet每秒鐘處理圖片量很多,模型的參數(shù)量較少,但是AlexNet網(wǎng)絡(luò)的準(zhǔn)確率很低。VGG-16網(wǎng)絡(luò)模型較大,參數(shù)量較多,準(zhǔn)確率比AlexNet網(wǎng)絡(luò)模型高,但是效果沒有ResNet18網(wǎng)絡(luò)模型效果好。ResNet網(wǎng)絡(luò)模型參數(shù)量最少,準(zhǔn)確率最高。綜合考慮參數(shù)量和準(zhǔn)確率兩方面,選擇ResNet18網(wǎng)絡(luò)模型進行優(yōu)化。
表1 各模型對比
實驗二:在ResNet18網(wǎng)絡(luò)中分別引入空洞卷積、通道、空間注意力機制后,同樣批大小設(shè)計為16,迭代次數(shù)為200,將最終結(jié)果與原模型進行比較?;跀?shù)據(jù)集的準(zhǔn)確率如圖8所示。
圖8 ResNet18_kd與ResNet18_kd_co的準(zhǔn)確率對比
圖8表示的是引入通道、空間注意力機制模型和空洞卷積學(xué)習(xí)的ResNet18模型與僅使用空洞卷積學(xué)習(xí)的ResNet18模型在每個epoch的準(zhǔn)確率對比。由圖可知,在epoch達(dá)到100前,三者的準(zhǔn)確率相差不多。ResNet18代表基礎(chǔ)網(wǎng)絡(luò)。在epoch達(dá)到125時,曲線逐漸平緩,網(wǎng)絡(luò)模型趨于收斂。ResNet18_kd代表將在ResNet18網(wǎng)絡(luò)上引入空洞卷積的測試曲線圖。在epoch達(dá)到188時,曲線逐漸平緩,網(wǎng)絡(luò)模型趨于收斂,模型的準(zhǔn)確率提高。引入空洞卷積有效提取了更多特征,但是增加了計算量,網(wǎng)絡(luò)模型的收斂速度比原模型的收斂速度降低。ResNet18_kd_co代表在引入空洞卷積的ResNet18模型上引入通道、空間注意力機制的曲線測試圖。在epoch達(dá)到130時,曲線逐漸平緩,網(wǎng)絡(luò)模型趨于收斂,模型的準(zhǔn)確率最高。引入注意力機制使得模型關(guān)注更加重要的特征,增加了網(wǎng)絡(luò)的收斂速度。
FPS為每秒鐘識別圖片的張數(shù),Paras為模型的參數(shù)量。由表2可以看出,該文在ResNet18基礎(chǔ)上分別引入空洞卷積、空間和通道注意力機制,在花卉數(shù)據(jù)集上迭代訓(xùn)練200次。在參數(shù)量和識別速度基本不變的情況下,準(zhǔn)確率得到很大的提升。在花卉測試集上,ResNet18準(zhǔn)確率為93.33%。ResNet_kd網(wǎng)絡(luò)模型準(zhǔn)確率為94.67%,比原模型提高了1.34個百分點。ResNet_kd_co網(wǎng)絡(luò)模型準(zhǔn)確率為97.78%,比引入空洞卷積模型提高了3.11個百分點,比基礎(chǔ)模型提高了4.45個百分點。所以引入注意力機制對于網(wǎng)絡(luò)學(xué)習(xí)能力的提升很大。
表2 引入kd和CO的ResNet18的模型與原模型比較
實驗三:表3中文獻[1-4]都是基于傳統(tǒng)的學(xué)習(xí)算法對花卉圖像特征進行特征提取,如顏色、形狀等特征,通過對不同特征進行融合最終達(dá)到分類的目的??梢钥闯?,采用傳統(tǒng)的方法進行分類的準(zhǔn)確率有所提升,但該文提出的方法準(zhǔn)確率更高。
表3 傳統(tǒng)分類方法中的Oxford102分類準(zhǔn)確率
實驗四:任意平等人[19]提出一種基于優(yōu)化AlexNet網(wǎng)絡(luò)的花卉識別方法。首先利用深度可分離卷積減少運算量,然后調(diào)整自適應(yīng)池化層和全連接層減少參數(shù)量,最后將低維特征與高維特征相融合提升特征提取能力。該算法雖然減少了模型體積,但是在多尺度特征下對不同大小花卉的識別率不高。吳麗娜等人[20]提出一種基于改進LeNet-5網(wǎng)絡(luò)的花卉識別方法。首先S4池化層與C5卷積層設(shè)置成全連接,然后將S2池化層、S4池化層設(shè)置為均值池化、最大池化,最后采用隨機梯度下降和Dropout算法進行仿真實驗。該算法雖然保留了圖像的所有高維特征,但是對圖像做了灰度化處理,沒有考慮顏色對識別精度的影響。曹曉杰等人[21]提出了基于遷移學(xué)習(xí)的花卉識別方法。首先對小批次花卉進行數(shù)據(jù)增強,然后通過微調(diào)小批次數(shù)據(jù)集上的卷積參數(shù)進行仿真實驗。該算法雖然簡化了識別步驟,但是只應(yīng)用于小樣本識別分類。表4中文獻[19-21]都是基于卷積神經(jīng)網(wǎng)絡(luò)算法對花卉圖像進行特征提取。可以看出,基于深度卷積神經(jīng)網(wǎng)絡(luò)花卉識別的準(zhǔn)確率有了大幅度的提高。該文提出的改進ResNet網(wǎng)絡(luò)模型在Oxford102花卉數(shù)據(jù)集上準(zhǔn)確率最高。綜合傳統(tǒng)花卉識別方法和基于卷積神經(jīng)網(wǎng)絡(luò)花卉識別算法來看,該文提出的方法優(yōu)于其他方法,具有更好的分類效果。
表4 卷積神經(jīng)分類方法中的Oxford102分類準(zhǔn)確率
為了提高花卉識別的準(zhǔn)確率,綜合考慮了分類準(zhǔn)確率、模型參數(shù)量等因素,在所使用的花卉數(shù)據(jù)集上,在ResNet18基礎(chǔ)模型上進行優(yōu)化。通過替換模型中基礎(chǔ)卷積為空洞卷積提取更多的特征,引入注意力機制優(yōu)化了網(wǎng)絡(luò)權(quán)重。不僅提高了花卉識別準(zhǔn)確率,還降低了網(wǎng)絡(luò)的參數(shù)量,使得網(wǎng)絡(luò)模型加快收斂。實驗驗證了該方法在花卉圖像分類上具有一定的有效性和可行性。在接下來的研究中,保證精確的識別率和快速的識別能力,使其應(yīng)用性更強。