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

基于改進DenseNet的牛眼圖像特征提取方法

2021-09-18 06:22:50鄭志強王雨禾
計算機應用 2021年9期
關鍵詞:特征提取特征實驗

鄭志強,胡 鑫,翁 智,王雨禾,程 曦

(內蒙古大學電子信息工程學院,呼和浩特 010021)

(*通信作者wzhi@imu.edu.cn)

0 引言

畜牧業是農業的重要組成部分,智能化管理是提升畜牧業發展質量的重要手段,因此動物個體智能識別技術的研究成為了學者們的關注熱點。相較于耳標與烙印,基于生物特征的個體識別技術因其對動物健康更有利而得到人們的重視。其中圖像識別是最主要的實現方式,它在大數據支撐下對網絡進行自主學習優化,通過深度學習對目標圖像數據進行生物特征提取,完成個體識別,因此從圖像數據中精準提取目標個體的生物特征成為實現高精度動物個體識別的關鍵。

在基于圖像的動物個體識別中,傳統方法是提取目標個體的顏色[1]、形狀[2]和紋理[3]等特征完成個體識別,而虹膜特征則是較為準確的差異化特征。方超等[4]提出利用邊緣特征對牛眼虹膜進行精準定位,進而提取虹膜特征實現牛個體識別;Lu等[5]通過幾何方法擬合分割牛眼虹膜,提取局部特征與全局特征并編碼作為識別特征;Barron等[6]利用雙視網膜系統進行綿羊個體識別,采用基于OR 邏輯運算符和匹配分數求和的決策準則提高準確率。傳統的虹膜算法已經取得一定成果,但仍面臨著小樣本導致的泛化能力不足、魯棒性不強、算法設計較復雜等問題。

在這樣的需求下,神經網絡出現在人們的視野中。神經網絡是通過對大量的數據進行深度學習,分析每一類別圖像的像素排布規律,最后自動對該類圖像進行特征提取識別。目前神經網絡被廣泛應用于生活的各個領域,如機器翻譯[7]、唇語識別[8]、視頻換臉[9]等。人們也開始將神經網絡應用于畜牧業,如Trokielewicz 等[10]利用卷積神經網絡提取馬匹的虹膜特征與眼部特征來完成馬匹身份識別;Nguyen 等[11]則對野生動物圖像使用卷積神經網絡進行特征提取并完成分類;de Arruda 等[12]首先利用熱圖像與SLIC(Simple Linear Iterative Clustering)分割算法完成對目標的定位,然后利用卷積神經網絡提取RGB 圖像中定位區域的特征信息,完成對野生動物的分類。

基于虹膜圖像的個體身份識別不會損害動物的健康,且虹膜特征具有個體差異,識別精度更高,但是相關數據的采集較為困難,除了需要專業設備,動物個體對眼部圖像采集也有一定的抗拒性,難以配合完成;同時,動物眼部睫毛遮擋、采集時的光照等也會降低圖像質量,使得虹膜特征不易提取,所以基于虹膜特征的動物個體識別的實用性不高。為此,本文提出了一種新的實用性較高的識別方式,利用DenseNe(tDense convolutional Network)[13]對整個牛眼圖像進行特征提取識別,同時針對小數據集的情況對DenseNet 進行改進,提高了網絡對小數據特征的提取能力,增強網絡的泛化能力和遷移性,改進后的網絡更加經濟便利,能方便應用于畜牧場。

1 DenseNet

DenseNet[13]是Huang 等于2017 年提出的最優深度模型,該網絡借鑒了ResNet[14]與GoogLeNet[15]的優點,將跨連接充分應用到了模塊內的每一個特征層,即任一卷積層的輸入直接包含了前面所有卷積層的輸出,特征得到充分復用,高低層次的特征融合使得網絡具有較強的抗過擬合性能,且參數量更小,跨連接的應用也緩解了層數加深而導致的梯度消失問題。DenseNet 結構的核心為DenseBlock 和Transition layer,Huang 等[13]提出三種基本結構分別為DenseNet、DenseNet-B和DenseNet-BC。DenseNet-B 是在DenseNet 的基礎上,在DenseBlock 內部加入了1×1 的卷積核,旨在降低每一層的輸入特征圖的維度,減少計算量;DenseNet-BC 結構基于DenseNet-B,在Transition layer 內加入一個壓縮率參數θ,根據不同的實際需求設置參數值,可以將上一個DenseBlock 輸出的特征圖維度降低相應的比例,有效減少由于網路層數增加產生的巨大計算量。因此,本文采用DenseNet-BC 網絡。該網絡整體流程結構如圖1 所示,結構核心為DenseBlock 和Transition layer。

圖1 DenseNet-BC網絡整體流程結構Fig.1 DenseNet-BC network overall process structure

DenseNet-BC 網絡結構首先采用7×7 卷積對輸入圖像進行初步的下采樣和降維,再對多個DenseBlock 與Transition layer 依次進行級聯實現特征提取,最后利用提取到的特征完成分類。DenseBlock 模塊的網絡結構如圖2 所示,由四個Denselayer 連接組成,其中每一層均實現了稠密連接,層內包含批歸一化層(Batch Normalization,BN)、激活函數、卷積層,由1×1 卷積核構成的卷積層實現通道降維、減少計算量。DenseBlock 模塊內的稠密連接指任一層的輸入特征包含了模塊內前面所有層的輸出特征,卷積層輸入計算公式為:

圖2 DenseBlock內部結構Fig.2 DenseBlock internal structure

其中:I2、I3、I4、I5分別表示H2、H3、H4、H5的輸入;k0表示最開始的輸入特征圖通道數;k表示網絡的通道增長率。根據式(1)~(4)可以看出:DenseNet通過對DenseBlock 模塊內前面所有層的輸出特征通過拼接得到當前層的輸入特征;同樣,當前層的輸出特征也是模塊內后面所有層的輸入特征的一部分,卷積層輸出特征的高頻復用,極大地增強了不同層次特征的融合利用;同時跨連接也可以避免梯度消失問題,為了防止大量特征拼接導致計算成本過高,任一層的輸出特征都通過降維得到較小的通道維度。

Transition Layer 的應用主要是為了降低稠密模塊輸出特征維度,避免拼接操作造成的特征通道維度過大,同時要實現特征下采樣以輸入下一稠密模塊進行特征提取。Transition Layer 通過1×1 的卷積核實現特征通道降維,通過2×2 平均池化層實現特征下采樣,而通道降維的相關參數為壓縮率θ,θ是一個0~1 的參數,代表降維的比例,本文θ取0.5,即將通過卷積核后的特征圖數量減少一半。

2 改進后的DenseNet

2.1 網絡架構

本文針對牛眼部圖像提取特征完成個體識別,所以除了形狀、顏色等特征外,需要進行語義特征提取,較深的網絡提取到的特征更完整,但是計算量大,導致識別速度慢,因此采用DenseNet-BC 結構作為識別網絡框架。本文經過實驗發現DenseNet-BC 架構的網絡識別準確率不高,故對DenseNet-BC結構作出改進。首先,借鑒原始的DenseNet-BC 結構,本文搭建了一個共71 層的DenseNet-BC 網絡架構,如圖3 所示,網絡的輸入數據為224×224的RGB牛眼圖像。

圖3 DenseNet-71結構Fig.3 DenseNet-71 structure

牛眼圖像輸入DenseNet-71 后會首先經過卷積層實現對輸入圖像的降維以及下采樣,通過對比識別準確率,卷積核尺寸為5×5 時,網絡的特征提取效果會比7×7 卷積核更好,所以網絡輸入的濾波器的卷積核選擇5×5。

2.2 激活函數

Denselayer 選用的激活函數是修正線性單元(Rectified Linear Unit,ReLU),該函數在負半軸置零使得其具有良好的稀疏性,而在非負區間則是穩定輸出的線性函數。計算公式為:

根據式(5)可以看出,當產生負梯度時,ReLU 函數的輸出值為零,即神經元不被激活,神經元死亡。激活函數的輸入為BN層的輸出,所以激活函數的輸入最大值為1,而當輸入值趨近于0 時,經過多次反向傳播,則會出現梯度消失問題。為了解決ReLU 的梯度消失,本文根據函數特性采用了縮放指數線性單元(Scaled exponential Linear Unit,SeLU)激活函數[16],計算公式為:

其中:λ=1.050 700 987 355 480 493 419 334 985 294 6,α=1.673 263 242 354 377 284 817 042 991 671 7,是Klambauer 經過大量計量驗證得出的值。根據式(6)可以看出,SeLU 的正半軸輸出略大于輸入,因此可以放大較小的輸入值,SeLU 的負半軸不同于ReLU 的直接置零輸出方式,而是輸出一個略小于0 的值,避免了神經元死亡,這也同時保持了ReLU 的單側抑制效果,具有良好的稀疏性,避免因小樣本和網絡層過深引起的梯度消失問題,使網絡更好地應用在小數據樣本研究中,在深層網絡中即使加入噪聲也能快速收斂到均值為0、方差為1。

2.3 DropBlock模塊

原始的DenseNet-BC 中包含了Dropout 層,Dropout 通過隨機置零多個網絡神經元降低神經元之間的共適應關系,抑制過擬合的發生,等同于將輸入圖像中的部分像素信息置零,降低神經元對局部特征的依賴性。效果如圖4 所示,圖4(a)中的牛眼區域對應圖4(b)中灰色區域,圖4(b)中的標記代表該位置被置零。

圖4 Dropout效果圖Fig.4 Dropout effect

網絡通過卷積實現對圖像數據的特征提取,因為卷積操作的特定實現方式,使得特征信息之間具有一定的相互影響,Dropout 可以通過置零神經元放棄部分特征,但在卷積層后會因為特征間的相互影響而仍學習到冗余特征,并傳入到下一層,因此Dropout對于卷積層的效果較為一般。若DenseNet內部采用大量跨層直連,會出現大量冗余無效的牛眼特征,會導致識別準確率下降,為此本文轉而采用更完善的DropBlock來代替Dropout。DropBlock[17]模塊是谷歌團隊于2018 年提出的一個針對卷積神經網絡的正則化模塊,效果如圖5 所示。DropBlock 會隨機將特征的某一連通區域置零,強制網絡學習其余區域的特征,以此來實現卷積層的正則化,提高抗過擬合能力。

圖5 DropBlock效果圖Fig.5 DropBlock effect

DropBlock 模塊包含兩個重要的參數:block_size和γ。其中block_size表示的是準備丟棄的方塊尺寸,一般網絡會取3、5、7。當block_size=1時,DropBlock變為傳統的Dropout模塊;當block_size=7時,效果最好。參數γ表示的是丟棄的語義信息激活單元塊的概率,計算公式為:

其中:keep_prob表示將單元塊保留的概率;feat_size表示特征圖大小。

在DropBlock模塊中網絡會隨機舍棄部分牛眼特征,通過深層網絡的多次提取,最終會得到最優特征并作為識別特征。改進前后的Denselayer 如圖6 所示,圖6(a)表示原始的Denselayer,圖6(b)表示使用SeLU 與DropBlock 的Denselayer改進層。由于使用SeLU 代替ReLU、使用DropBlock 代替Dropout,這增強了Denselayer 的抗過擬合能力,保障了模型的魯棒性。

圖6 Denselayer內部結構Fig.6 Denselayer internal structure

本文所用DenseNet-71 結構中包含4 個DenseBlock 模塊,但模塊內部包含的Denselayer 層的個數不同,4 個DenseBlock內包含的Denselayer 個數分別為3、6、12、12,輸入特征的通道超參數設置為64,通道增長率設置為32。

3 實驗與結果分析

3.1 實驗環境

實驗所用數據來源于牧場實地采集,其中截取牛眼區域作為實驗數據集,實驗環境為Windows 10 的64 位系統,采用Pytorch 作為深度學習框架,編程語言采用Python。計算機內存為32 GB,搭載Intel Core i9-9900K,3.6 GHz x8 CPU 處理器,并采用英偉達Quadro P6000顯卡加速圖像處理。網絡一共訓練300個epoch,初始學習率為10-3,batch_size為132。

3.2 數據集建立

大型數據集的建立耗時耗力且網絡遷移成本高,所以選取小型數據集對網絡進行訓練。通常畜牧場的牛只數量為60~1 000,所以選取10 頭牛作為數據集進行訓練。相較于60~1 000 頭牛的數量,10 頭牛是小數據集。本次實驗所使用的數據選自于科爾沁左翼后旗的西門塔爾牛,采集牛眼圖像時對每頭牛的每只眼睛從不同角度進行拍攝、裁剪,得到150張圖像,每頭牛共300 張牛眼圖像,選取其中的240 張作為訓練集與驗證集,其余60 張作為測試集。網絡訓練時,會首先通過不同角度旋轉來進行擴充數據,實現數據增強,牛眼圖像數據集部分圖像如圖7所示。

圖7 牛眼圖像數據集示例Fig.7 Examples of cattle eye image dataset

3.3 實驗比較與分析

本次實驗的評價指標包括精確率PR(Precision Rate)、召回率RR(Recall Rate)和準確率AR(Accuracy Rate)。各個指標計算公式如下:

其中:真陽TP(True Positives),表示的是正確的牛眼樣本被目標檢測器判別為正確的牛眼的樣本數量;假陽FP(False Positives),表示的是錯誤的牛眼樣本被目標檢測器判別為正確的牛眼的樣本數量;假陰FN(False Negatives),表示的是正確的牛眼樣本被目標檢測器判別為錯誤的牛眼的樣本數量;真陰TN(True Negatives),表示的是錯誤的牛眼樣本被目標檢測器判別為錯誤的牛眼的樣本數量;Z表示正確樣本數;C表示錯誤樣本數。牛眼識別分類效果越好,表示提取到的牛眼特征更加精確,所以特征提取算法的目標是提高準確率。由于本次實驗數據集包含10 頭牛,所以對精確率、召回率和準確率均取平均值。

由于數據集的小樣本特點與DenseNet-71的深層特點,為了防止過擬合、提升網絡的泛化能力與魯棒性,本文網絡優化了激活函數與Dropout 層。激活函數會影響到網絡的抗過擬合能力,因此應在保障特征稀疏性的同時進一步優化激活函數,而Dropout 層在本文小數據的情況下,未能有效地抑制過擬合,因此本文網絡針對激活函數與Dropout 層進行改進。表1 是對基礎DenseNet-71 使用不同激活函數進行識別結果對比,總共做了五組實驗,包括ReLU、ReLU6、ELU(Exponential Linear Unit)、LeakyReLU 和SeLU,內部采用的Dropout模塊。從表1可知,使用SeLU激活函數識別準確率最高且比原始的ReLU 函數識別準確率提高了1.51 個百分點,平均精確率比改進前提高了2.91 個百分點,改進后的網絡精度有所提升。

表1 激活函數對比實驗結果 單位:%Tab.1 Comparison experiment result of activation function unit:%

本文對DropBlock 與Dropout 也進行了對比實驗,為了控制變量,實驗中使用SeLU 作為激活函數,實驗結果如表2 所示。從表2可以看出,DropBlock模塊比Dropout識別準確率高1.01 個百分點,精確率與召回率均有增加,這說明隨機舍棄部分區域特征可以更好地增強卷積層的抗過擬合能力。

表2 Dropout與DropBlock對比實驗結果 單位:%Tab.2 Comparison experiment result of Dropout and DropBlock unit:%

為了更好地解釋改進后DenseNet-71的優勢,本文進行如下的消融實驗,將改進后的DenseNet-71 與原始的DenseNet-71 進行對比實驗,實驗結果如表3 所示。從表3 可以發現,與原始的DenseNet 相比,單獨使用SeLU 激活函數和DropBlock時,準確率均有提高;二者同時使用時提高了2.52 個百分點。

表3 改進前后DenseNet-71對比實驗結果Tab.3 Comparison experiment result of DenseNet-71 before and after improvement

DropBlock 可以有效地增強網絡的魯棒性與泛化能力,而在網絡的不同部位使用DropBlock 也同樣會得到不同的網絡性能,本文通過在不同位置添加、刪減、移動DropBlock來得到模塊最優位置。一共做了四組實驗,DenseNet_0 表示去掉DropBlock,DenseNet_1 表示DropBlock 在激活函數的前面,DenseNet_2 表 示DropBlock在卷積層前面,DenseNet_3 表示DropBlock 在卷積層后面,實驗結果如表4所示。從表4可知,DenseNet_0的準確率最低,DenseNet_3準確率最高,在卷積層后使用DropBlock模塊可以使網絡達到最優的效果。

表4 不同DropBlock位置對比實驗結果 單位:%Tab.4 Comparison experiment results of different DropBlock locations unit:%

值得注意的是,DenseBlock 通過內部的多個卷積組對特征進行提取、降維與拼接融合。對每個DenseBlock 內部的卷積組個數進行設計調整,具體的調整方法如表5 所示,激活函數為SeLU,使用DropBlock。從表5 可以看出,DenseNet-71 準確率最高,且參數量明顯低于其他幾個模型,DenseNet-71 模型參數量近似為DenseNet-121 的一半。實驗結果表明,本文選定的結構能以較小的參數量得到較高的識別準確率。

表5 不同Denselayer配置對比實驗結果Tab.5 Comparison experiment results of different Denselayer settings

為了檢驗改進后的DenseNet 在牛眼特征提取識別優于其他網絡,對改進后的DenseNet 與現有網絡進行對比,共做了五組實驗,具體識別網絡包括VGG-19、GoogLeNet、ResNet-18、DenseNet-121 和改進后的DenseNet-71,具體結果如表6 所示。從表6 可以看出,改進后的DenseNet-71 在準確率上優于其他幾個神經網絡,與經典的DenseNet-121 相比準確率提高2.14 個百分點。改進后的DenseNet-71 雖然識別準確率僅比GoogLeNet 高出1.22 個百分點,但是網絡的大小約縮減了3/4。同時,由表1 可知,改進前網絡的準確率、精確率和召回率 分 別 為94.95%、94.79% 和94.96%,采 用SeLU 和DropBlock 改進后,網絡的準確率、精確率和召回率分別提升了2.52個百分點、3.32個百分點和2.94個百分點。

表6 識別網絡對比實驗結果Tab.6 Comparison experiment results of recognition network

4 結語

針對牛眼圖像特征提取識別,本文提出了一種牛眼特征提取網絡算法,通過密集連接提取牛眼特征,利用SeLU 和DropBlock 加強網絡的抗過擬合性和魯棒性。本文所提網絡能對牛眼進行高精度識別,為牛個體識別系統的智能化提供理論基礎。

猜你喜歡
特征提取特征實驗
記一次有趣的實驗
如何表達“特征”
做個怪怪長實驗
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
一種基于LBP 特征提取和稀疏表示的肝病識別算法
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
基于MED和循環域解調的多故障特征提取
主站蜘蛛池模板: 久久中文电影| 五月天福利视频| 综合五月天网| 999国产精品永久免费视频精品久久| 尤物国产在线| 国产对白刺激真实精品91| 国产91成人| 日韩高清无码免费| 国产精品区视频中文字幕| 亚洲视频二| 国内精品九九久久久精品| h视频在线播放| 国产一区二区精品高清在线观看| 国产乱人伦精品一区二区| 99在线视频网站| 国产一级毛片网站| 国产一级无码不卡视频| 99青青青精品视频在线| 在线观看91香蕉国产免费| 玖玖精品视频在线观看| 久久9966精品国产免费| 日本午夜影院| 四虎影视国产精品| 亚洲色偷偷偷鲁综合| 激情在线网| 无码 在线 在线| 久久久久久高潮白浆| 国产区在线观看视频| 色成人综合| 中文字幕亚洲综久久2021| 精品久久蜜桃| 国产天天色| 无码有码中文字幕| 91精品国产自产在线老师啪l| 高潮毛片无遮挡高清视频播放| 国产无遮挡猛进猛出免费软件| 久久综合五月| 成人福利在线免费观看| 露脸国产精品自产在线播| www.亚洲色图.com| 亚洲三级片在线看| 国产精品自在线天天看片| 国产黑人在线| 精品人妻无码中字系列| 婷婷六月激情综合一区| 美女潮喷出白浆在线观看视频| 亚洲国产成人麻豆精品| 久久99热这里只有精品免费看| 精品午夜国产福利观看| 国产在线自乱拍播放| 国产免费网址| 特级aaaaaaaaa毛片免费视频| 波多野结衣在线一区二区| 国产日韩精品一区在线不卡| 国产精品无码制服丝袜| 亚洲 成人国产| 国产区人妖精品人妖精品视频| 亚洲AV无码不卡无码| 伊大人香蕉久久网欧美| 色综合天天娱乐综合网| 精品丝袜美腿国产一区| 三级欧美在线| 久久亚洲中文字幕精品一区| 欧美一级片在线| 在线国产综合一区二区三区| 日本日韩欧美| 国产成人无码AV在线播放动漫 | 日本人又色又爽的视频| AV无码无在线观看免费| 五月天福利视频| 欧美日韩午夜| 动漫精品啪啪一区二区三区| 亚洲欧美日韩另类在线一| 国产精品成人第一区| 国产h视频在线观看视频| 国产精品亚洲精品爽爽| 亚洲动漫h| 午夜丁香婷婷| 国产成本人片免费a∨短片| 国产毛片高清一级国语 | 97视频免费在线观看| 夜夜操国产|