謝碧森 段清 劉俊暉 廖赟 張逸
摘 要:為實(shí)現(xiàn)家豬圖像識(shí)別并提高識(shí)別準(zhǔn)確率,提出一種基于遷移學(xué)習(xí)的家豬圖像識(shí)別方法。首先對(duì)現(xiàn)有數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),然后遷移VGG16模型并對(duì)其進(jìn)行微調(diào),從而更好地提取圖像特征并縮短網(wǎng)絡(luò)訓(xùn)練時(shí)間。采用自歸一化神經(jīng)網(wǎng)絡(luò)解決了梯度消失和梯度爆炸問(wèn)題,在網(wǎng)絡(luò)構(gòu)造時(shí)使用全局平均池化代替全連接層,以達(dá)到降低模型過(guò)擬合的效果。實(shí)驗(yàn)對(duì)比結(jié)果表明,該方法分類效果較好,準(zhǔn)確率達(dá)到了84%,召回率和F1值分別提升至0.8、0.82,各項(xiàng)指標(biāo)相比基礎(chǔ)模型均有所提升。
關(guān)鍵詞:家豬圖像識(shí)別;VGG16;遷移學(xué)習(xí);自歸一化;全局平均池化
DOI:10. 11907/rjdk. 192432 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)007-0036-05
Image Recognition of Domestic Pigs Based on Transfer Learning
XIE Bi-sen,DUAN Qing,LIU Jun-hui,LIAO Yun,ZHANG Yi
(School of Software,Yunnan University,Kunming 650504,China)
Abstract:In order to realize and improve the recognition accuracy of domestic pig image, an image recognition method based on transfer learning is proposed. Firstly, the existing data set is enhanced, then VGG16 model is mitigated and fine-tuned to better extract image features and shorten the training time of the network. The problem of gradient disappearance and gradient explosion is solved by using the self-normalized neural network. In network construction, global average pooling is used instead of full connection layer to reduce overfitting. The experimental comparison results show that the classification effect of this method is good, with an accuracy of 84%, the recall rate and F1 value are improved to 0.8 and 0.82 respectively, and all indicators are improved compared with the basic model.
Key Words: domestic pigs image identification; VGG16; migration learning; self-normalized; global average pooling
0 引言
在家豬養(yǎng)殖活動(dòng)中,為了對(duì)每頭豬進(jìn)行標(biāo)記與區(qū)分,常見(jiàn)方法是為每頭豬安裝RFID電子耳標(biāo)。該方法較為直觀且操作簡(jiǎn)單,但豬可能會(huì)產(chǎn)生不適感,從而進(jìn)行刮蹭導(dǎo)致掉標(biāo)。另外,由于大多數(shù)養(yǎng)殖場(chǎng)位置遠(yuǎn)離市區(qū),保險(xiǎn)出險(xiǎn)時(shí)工作人員需要到達(dá)養(yǎng)殖場(chǎng)進(jìn)行線下鑒別理賠,導(dǎo)致保險(xiǎn)公司產(chǎn)生較高的出險(xiǎn)成本。采用基于深度學(xué)習(xí)的動(dòng)物識(shí)別方法可以解決上述問(wèn)題,以實(shí)現(xiàn)家豬區(qū)分及線上出險(xiǎn)。
2006年,Hinton等[1]在《Science》上首次提出深度學(xué)習(xí)思想;2012年,使用8層結(jié)構(gòu)的AlexNet[2]在ImageNet[3]數(shù)據(jù)集上獲得了圖像分類的冠軍;隨后在2014年出現(xiàn)的VGGNet[4]、GoogleNet[5]、ResNet等[6]證明了調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)與增加網(wǎng)絡(luò)深度對(duì)提升模型效果的有效性。神經(jīng)網(wǎng)絡(luò)具有自動(dòng)提取特征的特點(diǎn),相比手工提取特征更加方便,效果也更好。
目前學(xué)者們針對(duì)動(dòng)物圖像分類問(wèn)題已進(jìn)行了一些研究,如李建偉等[7]通過(guò)在神經(jīng)網(wǎng)絡(luò)中加入L2正則化和Dropout的方法提升動(dòng)物識(shí)別準(zhǔn)確率;侯金等[8]利用發(fā)育網(wǎng)絡(luò)建立大熊貓面部識(shí)別模型;周文萱等[9]提出一種基于YOLO的識(shí)別分類系統(tǒng);李新葉等[10]使用Faster RCNN 提升了鳥(niǎo)類識(shí)別效率;Ahrendt等[11]將人臉識(shí)別技術(shù)遷移至豬的識(shí)別,取得了較好效果,但養(yǎng)殖場(chǎng)環(huán)境復(fù)雜,泥土等雜物往往會(huì)覆蓋到豬的身上,每只豬的外表差異小于不同的人類個(gè)體,識(shí)別難度較大;文獻(xiàn)[12]使用人工提取特征區(qū)域的方法對(duì)豬進(jìn)行識(shí)別,但在豬群數(shù)量較多時(shí),手工提取特征區(qū)域工作量巨大;文獻(xiàn)[13]提出基于顏色特征的動(dòng)物圖像分類方法,識(shí)別率較高,但研究對(duì)象是不同種類的動(dòng)物,且顏色特征不足以區(qū)分同種類動(dòng)物之間的不同個(gè)體;文獻(xiàn)[14]提出基于Adaboost分類器的動(dòng)物圖片分類識(shí)別方法,這是一種用于解決動(dòng)物圖片二分類問(wèn)題的方法,但不適用于家豬數(shù)量較多的情況。為解決現(xiàn)有問(wèn)題,本文提出一種基于遷移學(xué)習(xí)與自歸一化神經(jīng)網(wǎng)絡(luò)的家豬圖像識(shí)別方法。
本文使用的數(shù)據(jù)集采集自網(wǎng)絡(luò),共包含30頭豬的圖像信息。首先對(duì)原始數(shù)據(jù)進(jìn)行增強(qiáng)處理以擴(kuò)充數(shù)據(jù)集,然后遷移VGG16模型并在現(xiàn)有數(shù)據(jù)集上進(jìn)行微調(diào),最后通過(guò)連接全局平均池化層與softmax分類器進(jìn)行分類。經(jīng)過(guò)對(duì)比試驗(yàn),本文方法可得到比基準(zhǔn)模型更高的準(zhǔn)確率,召回率和F1指標(biāo)也有所提升。
1 VGG16神經(jīng)網(wǎng)絡(luò)
本文選擇VGG16預(yù)訓(xùn)練模型實(shí)現(xiàn)遷移學(xué)習(xí)提取圖像特征。VGG16由Simonyan等于2014年提出,主要目的在于證明增加網(wǎng)絡(luò)深度能夠影響網(wǎng)絡(luò)性能,是一種簡(jiǎn)潔但高效的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。
VGG16相比AlexNet使用了尺寸更小的卷積核,并使用多個(gè)3*3的卷積核替代5*5和7*7的卷積核,提升了網(wǎng)絡(luò)性能。其具有以下特點(diǎn):①著重于探索增加網(wǎng)絡(luò)深度是否能有效提升模型性能。通過(guò)多層疊加3*3的小卷積核和2*2最大池化層增加模型深度,實(shí)驗(yàn)結(jié)果證明了其有效性;②由多次疊加的卷積層和池化層構(gòu)成,結(jié)構(gòu)簡(jiǎn)潔,每部分的卷積核和最大池化尺寸都相同;③多個(gè)小尺寸卷積核的連接結(jié)構(gòu)使得網(wǎng)絡(luò)具有較少的參數(shù)量,降低了模型復(fù)雜度,多層卷積結(jié)構(gòu)相比單獨(dú)的卷積層可進(jìn)行更多非線性變換,有利于提取圖像高級(jí)特征。在ImageNet上訓(xùn)練得到的VGG16預(yù)訓(xùn)練模型,在其它數(shù)據(jù)集上進(jìn)行預(yù)測(cè)通常也能得到不錯(cuò)的效果。
其中卷積層用于提取圖像特征,卷積層的特征提取過(guò)程可表示為式(1)-式(3)。在公式中[z(l)]為第[l]層的中間結(jié)果,[a(l)]為第[l]層經(jīng)激活函數(shù)處理后的值,則[l+1]層中包含:第[l]層的輸出作為[l+1]層的輸入[a(l)],以及權(quán)重[W(l)]、偏置[b(l)]、激活函數(shù)[f()]、中間結(jié)果[z(l+1)]與輸出[a(l+1)]。卷積層通常需要使用激活函數(shù)得到非線性表示,因?yàn)槠湎啾染€性表示具有更強(qiáng)的表達(dá)能力。常用激活函數(shù)有sigmoid、relu、tanh等,如式(4)-式(6)所示。卷積層具有局部連接與權(quán)值共享的特點(diǎn)。局部連接使其相比全連接層參數(shù)大大減少,有助于防止過(guò)擬合。在卷積核獲取圖像特征時(shí),在同一特征圖上,卷積核在圖像不同位置上的權(quán)值相同,權(quán)值可通過(guò)學(xué)習(xí)得到。
池化層通常在卷積層之后,因此池化層的輸入是卷積層的輸出。池化層的作用是保證特征不變性以及進(jìn)行特征降維,能減小計(jì)算量并減少參數(shù)數(shù)量,從而在一定程度上防止過(guò)擬合的發(fā)生。池化包括平均池化和最大池化,即分別取鄰域內(nèi)的平均值和最小值。
在卷積層、池化層將原始輸入數(shù)據(jù)映射到特征空間之后,全連接層則將學(xué)習(xí)得到的特征映射到樣本的標(biāo)記空間,得到分類輸出。使用softmax分類器實(shí)現(xiàn),softmax定義如式(7)所示。
其中,[S]表示樣本[x]為某一類的概率,[ai]表示分類器前級(jí)層的輸出,[C]表示類別數(shù),softmax將多分類輸出轉(zhuǎn)化為概率。
2 基于VGG16預(yù)訓(xùn)練模型遷移學(xué)習(xí)與自歸一化網(wǎng)絡(luò)的模型構(gòu)建
由于數(shù)據(jù)集不夠大,從頭開(kāi)始訓(xùn)練整個(gè)網(wǎng)絡(luò)的效果并不好。因此,本文只使用在ImageNet上預(yù)先訓(xùn)練好的VGG16網(wǎng)絡(luò),以獲取訓(xùn)練好的權(quán)重,然后通過(guò)微調(diào)進(jìn)行學(xué)習(xí)遷移以適應(yīng)本文研究的問(wèn)題。由此出發(fā),構(gòu)造基于VGG16預(yù)訓(xùn)練模型與自歸一化神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
該網(wǎng)絡(luò)結(jié)構(gòu)主要由3部分組成:①VGG16預(yù)訓(xùn)練模型實(shí)現(xiàn)遷移學(xué)習(xí);②自歸一化網(wǎng)絡(luò)用于緩解梯度消失與梯度爆炸問(wèn)題;③全局平均池化代替全連接層,以減少網(wǎng)絡(luò)參數(shù)。下文簡(jiǎn)稱為VGG16+seluCNN網(wǎng)絡(luò),具體描述如下:
(1)輸入數(shù)據(jù)至VGG16預(yù)訓(xùn)練模型。VGG16結(jié)構(gòu)由5個(gè)block及全連接層組成,其中block1、block2中包含兩個(gè)卷積層,block3、block4、block5中均包含3個(gè)卷積層,每個(gè)block中還包含一個(gè)池化層。同時(shí)對(duì)模型前幾部分參數(shù)進(jìn)行凍結(jié),僅將block5及其之后的網(wǎng)絡(luò)設(shè)置為可訓(xùn)練部分,這是實(shí)現(xiàn)遷移學(xué)習(xí)的常用方法。由于ImageNet是一個(gè)非常龐大的數(shù)據(jù)集,包含超過(guò)1 400萬(wàn)幅圖片,2萬(wàn)多個(gè)類別,其中也包含動(dòng)物類圖片。因此,可以近似認(rèn)為訓(xùn)練ImageNet得到的VGG16網(wǎng)絡(luò)中,網(wǎng)絡(luò)前幾部分已學(xué)習(xí)到比較通用的動(dòng)物特征,通過(guò)訓(xùn)練block5之后的部分實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)參數(shù)的微調(diào),可以提取到與當(dāng)前數(shù)據(jù)集更相關(guān)的高級(jí)特征,從而均衡網(wǎng)絡(luò)訓(xùn)練時(shí)間,提高特征提取的準(zhǔn)確性,在較短的訓(xùn)練時(shí)間內(nèi)取得更好的特征提取效果。
(2)將遷移學(xué)習(xí)部分得到的輸出,輸入至以selu為激活函數(shù)的自歸一化神經(jīng)網(wǎng)絡(luò)作進(jìn)一步處理。在神經(jīng)網(wǎng)絡(luò)理論中,通常認(rèn)為每一層激勵(lì)的均值為0、方差為1能使在各層中傳遞的張量收斂,從而避免梯度消失和梯度爆炸問(wèn)題,提升模型的穩(wěn)定性。使用縮放指數(shù)線性單元(selu)的自歸一化卷積神經(jīng)網(wǎng)絡(luò),通過(guò)函數(shù)映射前后兩層神經(jīng)網(wǎng)絡(luò)的均值和方差實(shí)現(xiàn)歸一化[15]。批歸一化[16]、層級(jí)歸一化[17]、權(quán)值歸一化[18]均能增強(qiáng)訓(xùn)練的魯棒性,并實(shí)現(xiàn)零均值和單位方差,但容易受到隨機(jī)梯度下降、隨機(jī)正則化與估計(jì)歸一化的擾動(dòng)。selu在緩解梯度消失和梯度爆炸問(wèn)題的基礎(chǔ)上,能在多層訓(xùn)練中對(duì)以上擾動(dòng)保持魯棒性,且效果優(yōu)于批歸一化(Batch Normalization)。
基于以上分析,本文在VGG16之后的網(wǎng)絡(luò)結(jié)構(gòu)中使用selu替換relu激活函數(shù),selu如式(8)所示。
其中[λ=1.050 7]、[α]=1.672 6為固定值。selu在ELU[19]基礎(chǔ)上進(jìn)行改進(jìn),在ELU基礎(chǔ)上乘以固定值[λ]。ELU圖像上負(fù)半軸坡度平緩,可在方差過(guò)大時(shí)使其減小,避免梯度爆炸;selu正半軸坡度大于1,可在方差過(guò)小時(shí)使其增大,避免梯度消失。網(wǎng)絡(luò)層數(shù)加深后,每層輸出都能保證均值為0、方差為1。因此,本文使用該方法可以實(shí)現(xiàn)歸一化效果,提升模型性能。
(3) 在圖像分類問(wèn)題中,通常先使用卷積層和池化層提取圖像特征并減小尺寸,增大卷積核感受野,并通過(guò)激活函數(shù)得到非線性特征,然后將卷積層得到的特征圖輸入全連接層展開(kāi)成向量并降維,通過(guò)softmax輸出分類結(jié)果。但全連接層參數(shù)較多,會(huì)增加模型復(fù)雜度,可能會(huì)導(dǎo)致網(wǎng)絡(luò)過(guò)擬合問(wèn)題。
Lin等[20]提出使用全局平均池化(Global Average Pooling)方法代替全連接層,以實(shí)現(xiàn)降維并減少網(wǎng)絡(luò)參數(shù)。本文在經(jīng)過(guò)多層卷積神經(jīng)網(wǎng)絡(luò)提取特征后,采用全局平均池化代替全連接層,并通過(guò)softmax分類器進(jìn)行分類。全連接層將卷積層輸出的特征圖展開(kāi)成向量,然后進(jìn)行分類。全局平均池化則對(duì)上述過(guò)程進(jìn)行了合并,將特征圖進(jìn)行平均,輸出一個(gè)值再進(jìn)行分類。其核心意義在于對(duì)整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行正則化,以減少參數(shù)量,附帶使用全局信息,從而減輕了過(guò)擬合。雖然全局平均池化可能會(huì)使網(wǎng)絡(luò)收斂速度減慢,但能有效減少過(guò)擬合現(xiàn)象。
3 實(shí)驗(yàn)與分析
3.1 數(shù)據(jù)集
本文使用的數(shù)據(jù)集中包含30頭豬的圖像信息,在識(shí)別過(guò)程中將每頭豬視為一類,所有圖像均為分辨率為544*411的彩色圖像,輸入網(wǎng)絡(luò)時(shí)統(tǒng)一處理為500*400。訓(xùn)練集中包含4 800個(gè)樣本,測(cè)試集中包含1 140個(gè)樣本。訓(xùn)練集和測(cè)試集中均包含30類,每類樣本數(shù)相同。訓(xùn)練集用于訓(xùn)練模型,測(cè)試集用來(lái)評(píng)估模型性能。圖3是本實(shí)驗(yàn)中所使用數(shù)據(jù)的部分示例圖片。
由于現(xiàn)有數(shù)據(jù)集中每類樣本數(shù)量較少,而基于神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)方法往往需要大量數(shù)據(jù)才能達(dá)到較好效果,否則可能出現(xiàn)網(wǎng)絡(luò)過(guò)擬合嚴(yán)重、泛化效果差,以及對(duì)測(cè)試數(shù)據(jù)識(shí)別準(zhǔn)確率低等情況。在數(shù)據(jù)量不足的情況下,數(shù)據(jù)增強(qiáng)通常是比較有效的解決辦法之一[21]。它是指利用各種能夠生成可用圖像的隨機(jī)變換增加樣本,從而使模型具有更好的泛化能力。本文使用Keras中的批量生成器方法實(shí)現(xiàn)數(shù)據(jù)增強(qiáng),圖像隨機(jī)旋轉(zhuǎn)角度設(shè)置為40,其它參數(shù)均設(shè)置為0.2。增強(qiáng)后的圖像如圖4所示。
3.2 實(shí)驗(yàn)條件
實(shí)驗(yàn)使用工具為基于Python的Keras深度學(xué)習(xí)庫(kù),以Tensorflow深度學(xué)習(xí)框架作為后端加以實(shí)現(xiàn)。
3.3 實(shí)驗(yàn)設(shè)置
網(wǎng)絡(luò)輸入層圖像shape為(500,400,3),數(shù)據(jù)集中包含30個(gè)類別,因此輸出為30個(gè)類別的概率。原始數(shù)據(jù)經(jīng)數(shù)據(jù)增強(qiáng)后輸入網(wǎng)絡(luò)訓(xùn)練,learning rate根據(jù)相似工作中的經(jīng)驗(yàn)值設(shè)定為1e-4,優(yōu)化器選擇Adam。實(shí)驗(yàn)過(guò)程中導(dǎo)入VGG16預(yù)訓(xùn)練模型以實(shí)現(xiàn)遷移學(xué)習(xí),以ImageNet數(shù)據(jù)集訓(xùn)練好的權(quán)重初始化網(wǎng)絡(luò)。在微調(diào)設(shè)置部分,本文采用的方法為凍結(jié)VGG16中的block1—block4部分,因?yàn)槠渲幸烟崛×溯^多通用特征,故保留Imagenet預(yù)訓(xùn)練權(quán)重。為了更好地提取數(shù)據(jù)特征,并兼顧訓(xùn)練時(shí)間與特征提取效果,選擇繼續(xù)對(duì)block5及后續(xù)部分進(jìn)行訓(xùn)練。對(duì)block5進(jìn)行微調(diào)可以提取到與當(dāng)前數(shù)據(jù)集更相關(guān)的高級(jí)特征,使用VGG16預(yù)訓(xùn)練模型提取特征能獲得更好的效果。另外由于凍結(jié)了部分網(wǎng)絡(luò),訓(xùn)練時(shí)間也大大縮短。
共設(shè)置6組實(shí)驗(yàn)進(jìn)行實(shí)驗(yàn)效果對(duì)比:①CNN1:使用四層卷積神經(jīng)網(wǎng)絡(luò)+最大池化結(jié)構(gòu),卷積核大小為64、128、128、256,激活函數(shù)為relu,softmax分類器輸出分類結(jié)果;②數(shù)據(jù)增強(qiáng)CNN1:經(jīng)過(guò)數(shù)據(jù)增強(qiáng)后采用CNN1結(jié)構(gòu)訓(xùn)練模型;③數(shù)據(jù)增強(qiáng)CNN1+dropout:對(duì)數(shù)據(jù)增強(qiáng)CNN1使用dropout方法;④VGG16:使用VGG16預(yù)訓(xùn)練模型,保留Imagenet訓(xùn)練權(quán)重,直接提取特征后采用softmax分類器進(jìn)行分類;⑤VGG16 fine-tuning(微調(diào)):使用VGG16預(yù)訓(xùn)練模型微調(diào)的方法,結(jié)合softmax分類;⑥VGG16+seluCNN:即本文構(gòu)造的VGG16+seluCNN結(jié)構(gòu),設(shè)置初始訓(xùn)練輪數(shù)為50次,并使用early stopping方法保留性能較好的模型。
3.4 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)與結(jié)果分析
本文各組實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)選用了分類問(wèn)題中的幾種常用指標(biāo),包括precision、recall、f1-score、accuracy,并通過(guò)tensorflow中的tensorboard可視化工具記錄各指標(biāo)數(shù)值變化曲線。其中precision表示識(shí)別出的樣本中,識(shí)別正確的樣本所占比例;recall表示識(shí)別正確的樣本數(shù)與該類別中所有樣本數(shù)的比值,以上兩者呈負(fù)相關(guān)。f1-score是precision與recall的調(diào)和平均,取值范圍為[0,1],目的是綜合評(píng)價(jià)precision和recall。CNN1、數(shù)據(jù)增強(qiáng)CNN1、數(shù)據(jù)增強(qiáng)CNN1+dropout、VGG16、VGG16 fine-tuning(微調(diào))、VGG16+seluCNN的指標(biāo)數(shù)值變化曲線如圖5-圖10所示。
根據(jù)圖像可以看出,在本文數(shù)據(jù)集上,訓(xùn)練層數(shù)較少的卷積神經(jīng)網(wǎng)絡(luò)很快會(huì)達(dá)到過(guò)擬合,且loss與acc變化波動(dòng)較大。CNN1結(jié)構(gòu)在訓(xùn)練開(kāi)始后,loss很快上升,出現(xiàn)了過(guò)擬合;在使用數(shù)據(jù)增強(qiáng)和dropout方法后,loss雖然變化較大,但整體呈下降趨勢(shì),性能有所提升,但還有繼續(xù)提升的空間;在VGG16模型中,loss下降與f1-score提升過(guò)程較為穩(wěn)定;在VGG16+seluCNN圖像中,loss穩(wěn)定下降,在第9輪左右下降趨勢(shì)減弱,f1-score在第10輪左右上升趨勢(shì)開(kāi)始減弱。最終結(jié)果顯示,本文提出的VGG16+seluCNN指標(biāo)優(yōu)于其它方法,相比VGG16 fine-tuning(微調(diào))方法,f1-score提升了0.02,accuracy提升了0.14,證明了該方法的有效性。各組實(shí)驗(yàn)評(píng)價(jià)指標(biāo)如表1所示。
實(shí)驗(yàn)結(jié)果表明,本文提出的VGG16+seluCNN網(wǎng)絡(luò)結(jié)構(gòu)在家豬識(shí)別問(wèn)題中取得了較好效果,全局平均池化和selu方法有助于降低模型復(fù)雜度以及減輕過(guò)擬合,從而在網(wǎng)絡(luò)反向傳播過(guò)程中獲得更優(yōu)參數(shù),并更好地學(xué)習(xí)數(shù)據(jù)特征,提升模型泛化能力。
4 結(jié)語(yǔ)
本文集成了預(yù)訓(xùn)練網(wǎng)絡(luò)初始化權(quán)重的遷移學(xué)習(xí)、自歸一化神經(jīng)網(wǎng)絡(luò)和全局平均池化方法,基于VGG16模型定義了VGG16+seluCNN網(wǎng)絡(luò)結(jié)構(gòu),針對(duì)可用數(shù)據(jù)較少的情況使用數(shù)據(jù)增強(qiáng)方法訓(xùn)練網(wǎng)絡(luò),從而實(shí)現(xiàn)了一種基于深度學(xué)習(xí)的家豬識(shí)別方法。相比于簡(jiǎn)單CNN模型、VGG16和VGG16 fine-tuning(微調(diào))等模型,本文方法在準(zhǔn)確率與其它指標(biāo)上均有所提升,網(wǎng)絡(luò)泛化能力有所增強(qiáng),過(guò)擬合現(xiàn)象也得以緩解,同時(shí)訓(xùn)練速度快、網(wǎng)絡(luò)訓(xùn)練輪數(shù)少,模型最終準(zhǔn)確率達(dá)到了84%,以較簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)在受限的小數(shù)據(jù)集情況下完成圖像識(shí)別工作,說(shuō)明了本文方法的有效性。在未來(lái)研究中,需要考慮構(gòu)造更深層的網(wǎng)絡(luò)結(jié)構(gòu)或其它網(wǎng)絡(luò)模型,以進(jìn)一步提升網(wǎng)絡(luò)識(shí)別率。
參考文獻(xiàn):
[1] HINTON G E, SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J]. Science,2006,313:504-507.
[2] KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural networks[C]. Conference Neural Information Processing Systems, 2012.
[3] DENG J,DONG W,SOCHER R,et al. Imagenet:a large-scale hierar?chical image database[C].? IEEE Conference on Computer Vision and Pattern Recognition,2009:248-255.
[4] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014.
[5] SZEGEDY C,LIU W,JIA Y,et al. Going deeper with convolutions[J].? Computer Science,2014.
[6] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition [C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society,2016.
[7] 李建偉,鄭永果. 基于CNN的動(dòng)物識(shí)別研究[J]. 軟件導(dǎo)刊,2019, 18(3):36-39.
[8] 侯金,鄭伯川,李玉杰,等. 基于發(fā)育網(wǎng)絡(luò)識(shí)別模型的大熊貓面部識(shí)別[J]. 獸類學(xué)報(bào),2019,39(1):46-54.
[9] 周文萱,胡龍?zhí)?,張敏,? 基于YOLO的小型動(dòng)物識(shí)別系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)時(shí)代,2019,321(3):26-29.
[10] 李新葉,王光陛. 基于卷積神經(jīng)網(wǎng)絡(luò)語(yǔ)義檢測(cè)的細(xì)粒度鳥(niǎo)類識(shí)別[J]. 科學(xué)技術(shù)與工程,2018,18(10):240-244.
[11] AHRENDT P,GREGERSEN T,KARSTOFT H.? Development of a real-time computer vision system for tracking loose-housed pigs[J].? Computers and Electronics in Agriculture,2011,76(2):169-174.
[12] WADA N,SHINYA M,SHIRAISHI M. Pig face recognition using eigenspace method[J]. ITE Transactions on Media Techonlogy and Applications,2013(4):328-332.
[13] 張公伯,谷昱良,朱和貴. 基于顏色特征的動(dòng)物圖像分類識(shí)別仿真系統(tǒng)設(shè)計(jì)[J]. 艦船電子工程,2017(5):81-85.
[14] 張公伯,谷昱良,朱和貴. 基于Adaboost的動(dòng)物二分類識(shí)別方法[J]. 計(jì)算機(jī)與數(shù)字工程,2017(4):720-726.
[15] KLAMBAUER G,UNTERTHINER T,MAYR A,et al. Self-normalizing neural networks[C]. Conference and Workshop on Neural Information Processing Systems,2017.
[16] IOFFE S,SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]. 32nd International Conferences on MochineLearil,2015:448-456.
[17] BA J L,KIROS J R,HINTON G E. Layer normalization[C]. Machine Learning,2016.
[18] SALIMANS T,KINGMA D P. Weight normalization: a simple reparameterizationto accelerate training of deep neural networks[C]. Advances in Neural Information Processing Systems,2016:901-909.
[19] CLEVERT D,UNTERTHINER T,HOCHREITER S. Fast and accurate deep network learning by Exponential Linear Units (ELUs)[J].? Computer Science,2015.
[20] LIN M,CHEN Q,YAN S. Network in network[J]. Computer Science,2013.
[21] CHOLLET F. Python深度學(xué)習(xí)[M]. 張亮,譯. 北京:人民郵電出版社,2018.
(責(zé)任編輯:黃 健)