999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CapsNet神經網絡的樹葉圖像分類模型

2021-07-21 01:30:58張冬妍
西南大學學報(自然科學版) 2021年8期
關鍵詞:分類模型

張冬妍,韓 睿,張 瑞,曹 軍

東北林業大學 機電工程學院,哈爾濱 150040

目前,世界上大約有6萬多種樹木,對樹木研究的基礎是對其進行分類處理,所以對其分類的方法進行研究具有很重要的意義.相對于樹干、樹形和樹木等生物信息,樹葉具有特定的外形輪廓和紋理等固有特征,易于區分和鑒定,常作為區分樹木種類的重要標志[1].樹葉的分類與識別對于區分樹的種類、對樹木物種種群的跟蹤和保護、建立樹木種類數據庫、植物基礎醫學研究、樹木分布等具有十分重要的意義[2].

傳統的樹葉分類識別主要基于圖像處理技術,對樹葉圖像進行認為選定的特征來進行分類,識別效率較低且泛化能力弱.近年人工智能快速發展,基于深度學習的算法在圖像分類識別方面表現出巨大的優勢,可以快速而有效地提取和分析圖像中復雜深層次的特征,對于圖像分類識別具有很好的效果[3].

文獻[4-6]研究了卷積神經網絡在圖像和語音中的應用,Krizhevsky[7]2012年在ILSVRC圖像識別比賽中使用AlexNet模型獲得冠軍,首次實現了15.40%的錯誤率,引起了深度學習和卷積神經網絡研究的興起和爆炸性增長.在后續的ZFnet,VGG,GoogleNet,Resnet等深度學習網絡模型中[8-11],圖像識別的錯誤率逐漸下降到2.25%,展現出深度學習在圖像分類識別中的優勢.Grinblat等[12]利用靜脈形態學的模式識別方法對植物品種進行識別,能夠準確識別3種豆科植物.2016年,Sladojevic等[13]利用深層神經網絡識別了13種植物病蟲害,平均準確率為96.30%.同年,張帥等[14]設計了一個8層卷積神經網絡學習系統,并用softmax和SVM兩種分類器進行樹葉分類,對單一背景下的樹葉分類準確率高達91.11%和90.90%.2017年,Cruz等[15]研究了一種基于遷移學習和深度學習的可視化植物病害檢測系統,采用卷積神經網絡結合遷移學習的方式,對少量圖像樣本進行訓練和驗證,可以自動、定量地檢測早期植物病害,降低了診斷時間和成本.2019年,Barbedo等[16]采用CNN和GoogleNet結構進行深度學習,建立了有效的病蟲害檢測與識別模型,并與原始圖像進行了病蟲害和斑點的特征提取,而原始圖像在不使用手工去除背景的情況下,整體準確率提高到94%.

為了提高樹葉分類的準確性,本文使用CapsNet神經網絡模型對樹葉進行分類識別.首先,建立了樹葉圖像的數據集;其次,對數據集中的樹葉圖像進行預處理和數據增強;最后,對CapsNet網絡進行優化改進,對處理后的圖像進行訓練和預測.實驗結果表明,改進后的CapsNet在樹葉分類上的效果明顯優于原CapsNet,有助于實現樹葉種類的快速識別,為建立樹種數據庫、樹木種群的跟蹤和保護提供了重要的技術儲備.

1 CapsNet網絡模型

1.1 CapsNet神經網絡

在深度學習中,卷積神經網絡(CNN)在圖像分類識別方面效果非常好,但CNN的內部數據表示沒有考慮特征之間的重要空間層級關系.雖然CNN可以通過最大池化或者添加后續卷積層來減少通過網絡的數據空間的大小,從而增加上層神經元的“視野”,即獲得輸入圖像較大區域的高階特征,在一定程度上提高了模型對圖像的識別能力,但是,最大池化會損失有價值的特征信息,使用傳統卷積網絡也無法解決低級特征和高級特征空間位置關系的根本問題.Sabour等[17]在2017年提出了基于膠囊系統和動態路由機制的CapsNet神經網絡,在MINST數據集上實現了極高的分類準確率.膠囊用于對圖像中特征的屬性和空間關系進行封裝編碼,例如位置、大小、方向、變形、速度、反射率、顏色和紋理等[18].在多層膠囊系統中,低層膠囊將其輸出發送給對該輸出結果表示“認同”的高一層膠囊,這一步是通過囊間動態路由算法實現的[19].

1.2 膠囊之間的傳播過程

圖1 膠囊之間的傳播過程

(1)

(2)

式中,cij是由迭代動態路由過程確定的耦合系數,而且膠囊網絡模型中不存在偏置項.

CapsNet中使用非線性激活函數Squashing將矢量的大小縮放到0~1之間.得到sj后,再通過這個Squashing函數將矢量sj轉化成矢量vj如式(3)所示:

(3)

由于這個函數是非線性的,輸出的vj保持了sj的維度,不改變矢量的方向,只改變了矢量的大小,其輸出矢量的長度代表著膠囊檢測的給定特征的概率,因此,每個膠囊的概率在0~1之間.

1.3 囊間動態路由算法

以下過程會被迭代r次:首先使用softmax計算所有權重cij的值,如式(4)所示:

(4)

softmax可以確保所有權重cij均為非負數,且使其總和等于1.

(5)

在更新權重之后,算法將返回并重新開始計算cij的值,重新開始這一過程,并重復r次.動態路由算法很容易收斂,但也存在著過擬合問題,雖然增加迭代次數可以提高準確率,但是會增加泛化誤差,所以不宜過多迭代.

1.4 損失函數

對于圖像中出現的每個類別k,膠囊使用單獨的利潤損失Lk如式(6)所示:

Lk=Tkmax(0,m+-‖vk‖)2+λ(1-Tk)max(0,‖vk‖-m-)2

(6)

如果存在k類圖片,則設置Tk=1,并且m+=0.9,m-=0.1,將λ取值為0.5來降低某些類別沒有出現時的損失,這樣可以保證表示該類別的數字膠囊的向量模值盡可能大,其他類別的向量模值盡可能小,以實現準確分類.總損失就是所有數字膠囊損失的總和.

2 實驗設計

2.1 數據準備和預處理

使用的樹葉是實驗室自行拍攝采集即建立的深度學習數據集,數據集中采集了桉樹、龍眼、木荷、珊瑚樹、水翁樹、香樟、柚樹、桃花心木、荷花木蘭、深山含笑共10種樹木的樹葉(圖2),共計3 193張圖片,每一種樹葉圖片約300張左右.

圖2 樹葉圖片

在使用含3 193張圖像的數據集訓練網絡模型之前,本文將圖像像素大小從原始的1 536×1 536調整為147×147.由于深度學習對數據集的數據量有一定的要求,研究中每種樹葉的圖片數量在300張左右,這無法滿足算法在實踐過程中的泛化能力,會導致模型過擬合.雖然可以通過現有的其他數據集和網絡途徑獲取更多的圖片數據,但獲取的圖片質量參差不齊,無法使數據集數量有效增多.為了減少樹葉圖像在訓練時的過擬合,增強模型的泛化能力,本文嘗試用數據增強來解決,數據增強主要通過對樹葉圖像進行圖像變換處理,例如旋轉、縮放、平移、尺度變換等,本文使用的圖像增強方法如下:

1)將原始圖像向隨機方向平移10到20像素;

2)隨機選擇角度對圖像進行旋轉;

3)對圖像進行輕微模糊處理;

4)向圖像添加隨機噪聲.

經過圖像增強處理后,10種樹葉圖像增強至15 965張,分別是桉樹1 485張,深山含笑2 215張,龍眼1 530張,木荷1 310張,荷花木蘭1 090張,珊瑚樹2 810張,水翁樹1 335張,桃花心木1 535張,香樟1 295張,柚樹1 360張,用于訓練的數據集數量如表1所示.其中,桉樹樹葉的增強示例圖像如圖3所示.

圖3 數據增強示例

表1 數據集數量

在擴充后的數據集中隨機抽取12 772張圖片(占數據集的80%)作為訓練集,1 597張(約占數據集的10%)作為驗證集,剩余1 596張(約占數據集的10%)作為測試集.訓練集用于訓練CapsNet的模型參數,驗證集在每一個epoch完成后測試當前模型的準確率,根據準確率對模型的超參數(學習率,迭代次數等參數)進行調整,從而得到一個更好的模型,測試集不參與模型的訓練過程,用于測試已訓練好的模型的性能.

2.2 動態路由算法的改進

采用兩種方法對動態路由環節進行優化改進.一種是引入Adam函數,另一種是改進壓縮函數.

陳立潮等[20]在動態路由環節加入了Adam算法,可以使模型收斂更加平穩.算法對膠囊間參數的誤差進行移動指數平均,動態調整路由算法的Leaning Rate,對權重bij進行調整.

本文在其基礎上優化了Adam算法的部分環節,對動態路由環節進行改進,迭代時用平移后的Sigmoid乘以sj/‖sj‖代替Squashing函數,在最后輸出的時候使用Squashing函數,改進后的算法如下:

算法1:改進動態路由

初始化:bij←0,一階矩mt=0,二階矩nt=0,一階矩指數衰減率α=0.9,二階矩指數衰減率β=0.999,穩定數值常數ε=10-8,時間步t=0.

2:for all capsuleiin layerland capsulejin layer(l+1):bij←0,mt←0,nt←0,α←0.9,β←0.999,ε←10-8,t=0,η←0.001.

3:forriterations do

4:ci←softmax(bi)

6:vj←Sigmoid(‖sj‖-5)·sj/‖sj‖

7:mt←αmt-1+(1-α)uj|ivj

8:nt←βnt-1+(1-β)(uj|ivj)2

12:return squash(vj)

其中softmax函數的定義由公式(4)給出,Squashing函數定義由公式(3)給出,Sigmoid函數如下:

Sigmoid(‖sj‖)=1/(1+e-‖sj‖)

(7)

由于CapsNet網絡最后是用向量的模的大小衡量某個結果的概率,模的大小和概率大小直接相關,模值越大,相應概率也越大.Sigmoid函數比Squashing函數收斂速度更快,因此采用平移后的Sigmoid函數乘以sj/‖sj‖在迭代環節替代Squashing函數能在結果接近0或1時起到放大作用,從而可以提高對某些特定種類圖片的識別準確率,同時可以提高模型運行效率.

2.3 使用的CapsNet網絡結構

由于原CapsNet僅支持28×28大小的圖片輸入,為了適應數據集的圖片尺寸,提升模型性能,將CNN網絡與改進的CapsNet相結合,得到一種新的強化膠囊網絡(Enhanced-CapsNet)模型,如圖4所示.

圖4 膠囊網絡模型

模型開始部分有一層卷積核大小為7×7,步長為2的卷積層,具有ReLU非線性激活函數.第二層也是卷積層,卷積核大小為6×6,步長為1.之后連接一個池化層,池化核大小為2×2,步長為1,采用最大池化.池化層后再連接一個6×6步長為1的卷積層,將數據重塑之后再輸入PrimaryCaps層.這樣可以盡可能地獲得圖片的主要特征信息,由于數據量較大,所以引入了池化層進行數據降維,提高模型性能和運行效率.

PrimaryCaps層:PrimaryCaps中使用9×9大小的卷積核在28×28的空間中移動,步長為2,通道數為32,設置為無填充.這一層的作用類似常規的卷積層,但最重要的作用是將每8個10×10×1×32的輸出封裝在一起,形成一個長度為8的矢量,為改進的Routing算法做準備.在PrimaryCaps層最后得到的輸出形狀為10×10×8×32,這一層共輸出3 200(10×10×32)個矢量,也就是3 200個膠囊單元.

DigitCaps層:在DigitCaps中將長度為8的膠囊轉換為長度16的膠囊.由于使用的樹葉數據集包含有10個類別,因此DigitCaps中包含有10個長度為16的矢量,這10個矢量分別代表不同的分類.本層中使用了Routing算法并經過計算獲得最終輸出值向量vj,根據vj獲得圖像被識別為特定類別的概率.

整個模型參數設置如表2所示.

表2 E-CapsNet參數設置

2.4 實驗參數設定

使實驗設定批尺寸為100,epoch設為50,同時使用原始的CapsNet網絡和經典網絡AlexNet以及Inception V3深度學習模型進行對比.

2.5 實驗環境

實驗使用的計算機內存為16GB,搭載Inter(R)Core(TM)i7-7700HQ CPU處理器,使用NVIDIA Geforce GTX 1070 8G顯卡,軟件環境為Ubuntu18.04操作系統,終端軟件為Pycharm,Python版本為3.6,使用Tensorflow+Keras框,Cuda版本為10.0.130.

2.6 模型評價指標

由于實驗是一個多分類任務(共10種類別),所以采用準確率(Accuracy)評價10類圖像的分類效果,準確率用ηAccuracy表示,計算公式如下:

ηAccuracy=(TP+TN)/(P+N)

(8)

其中TP為正類預測且結果為正類的個數,TN為負類預測且結果為負類的個數,P為所有正類預測個數,N為所有負類預測個數.

3 結果與分析

使用E-CapsNet網絡訓練和分類樹葉數據集的15 965張圖像,我們最終獲得的結果如表3所示:經過50次epoch的訓練,模型訓練集準確率最高達到99.15%,損失率最低為0.015 89,驗證集的準確率為98.51%,損失率為0.020 49,測試集準確率為98.63%,損失率和準確率分別由公式(6)和公式(8)得出.

表3 E-CapsNet模型的分類訓練結果

圖5為模型訓練圖,模型從epoch12左右開始趨近收斂,收斂速度較快,訓練準確率和驗證準確率曲線接近,訓練損失率和驗證損失率都較為平滑,模型擬合效果較好.

圖5 模型訓練曲線

本文在AlexNet和Inception V3模型上使用相同的樹葉數據集進行測試,采用與原CapsNet同樣的學習率和迭代次數,E-CapsNet模型的分類精度比AlexNet要高11.63%,比Inception V3模型高7.63%,比原CapsNet網絡高2.51%.對比實驗結果如表4所示.

表4 測試集準確率對比

為了測試動態路由算法的改進對模型精度的影響,本文分別在保證其他參數相同的情況下,使用E-CapsNet模型,將原Rounting算法、使用Adam算法但不改動壓縮函數和本文方法進行對比.測試結果如表5所示.

表5 在動態路由環節使用不同優化方法的準確率對比

由表5可見,原動態路由算法訓練集準確率為96.32%,測試集準確率為95.86%.僅使用Adam算法進行優化時,訓練集準確率為98.65%,測試集準確率為97.47%.使用Adam進行優化,并且改進壓縮函數部分后,訓練集準確率為99.15%,測試集準確率為98.63%.由圖6可見,使用了Adam優化算法后,訓練準確率曲線收斂相對平滑,擬合度更好,收斂速度也略微增加;同時,在優化了動態路由環節的壓縮函數后,訓練準確率和驗證準確率更高.可以看出,本文的優化可以取得更好的分類效果.

圖6 不同優化方法的訓練準確率曲線

4 結 論

在本文中,我們采用改進的CapsNet神經網絡對樹葉進行分類實驗,將CNN結構與CapsNet網絡結合,更好地適應了數據集圖像尺寸,同時提高了模型性能,克服了傳統人工卷積神經網絡分類器的某些局限性,并使用數據增強來減少模型的過擬合,提高了模型的泛化能力.在優化了Rounting算法和Squashing函數環節后,模型收斂更加平滑,收斂速度更快,分類識別準確率也有提升,實現了比原結構更好的性能.同時,我們還設計了對比實驗,實驗結果表明,本文訓練出的用于樹葉分類的E-CapsNet網絡模型的測試準確率達到98.63%,明顯高于AlexNet和InceptionV3模型和原CapsNet.

CapsNet目前仍處在起步階段,在以后的研究工作中,把重點放在優化內部結構或者與已有的成熟網絡模型相結合上,可能會在優化模型性能上更有發展.

猜你喜歡
分類模型
一半模型
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 亚洲欧美不卡视频| 在线观看国产黄色| 免费国产高清精品一区在线| 欧美激情首页| 日韩精品亚洲人旧成在线| 国产精品自在拍首页视频8| 亚洲日韩精品伊甸| 亚洲成人精品在线| 国产视频自拍一区| 亚洲不卡影院| 4虎影视国产在线观看精品| 成人午夜视频网站| 视频一区视频二区中文精品| 午夜一级做a爰片久久毛片| 国产美女叼嘿视频免费看| 亚洲丝袜中文字幕| 久久精品国产精品青草app| 精品丝袜美腿国产一区| 综合成人国产| av在线无码浏览| 91九色国产porny| 久久久久久高潮白浆| 国产视频入口| 欧美另类精品一区二区三区| 综合色亚洲| 91福利免费| 重口调教一区二区视频| 国产一级妓女av网站| 情侣午夜国产在线一区无码| 久久婷婷六月| 午夜毛片免费看| 国产精品蜜芽在线观看| 免费大黄网站在线观看| 456亚洲人成高清在线| 日本精品一在线观看视频| 欧美97色| 久久综合伊人77777| 亚洲—日韩aV在线| 91精品国产情侣高潮露脸| 国产啪在线91| m男亚洲一区中文字幕| 亚洲AⅤ无码国产精品| 精品国产福利在线| 99久久国产精品无码| 54pao国产成人免费视频| 久久夜夜视频| 国产一区二区免费播放| 日韩精品无码免费专网站| 四虎精品国产AV二区| 亚洲精品中文字幕午夜| 国产高清免费午夜在线视频| 91久久天天躁狠狠躁夜夜| 国产爽妇精品| a级毛片在线免费| 激情在线网| aaa国产一级毛片| 日本a级免费| 国产成人综合日韩精品无码首页 | 国产肉感大码AV无码| 国产亚洲精品自在久久不卡| 亚洲AV一二三区无码AV蜜桃| 91色爱欧美精品www| 婷婷色在线视频| 激情综合婷婷丁香五月尤物| 色悠久久久久久久综合网伊人| 日韩不卡高清视频| 日本免费新一区视频| 国产精品亚洲一区二区在线观看| 国产国拍精品视频免费看| 色妺妺在线视频喷水| 原味小视频在线www国产| 91麻豆精品视频| 欧美人与性动交a欧美精品| 国产成人综合网在线观看| 国产无人区一区二区三区| 亚洲国产精品日韩专区AV| 亚洲女同一区二区| 成人午夜视频网站| 欧美一级在线看| 波多野衣结在线精品二区| 99精品久久精品| 欧美成人午夜影院|