李思瑤 劉宇紅 張榮芬
摘要:犬種識(shí)別研究屬于細(xì)粒度圖像分類的典型代表,使用傳統(tǒng)圖像分類方法與普通卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行犬種識(shí)別,會(huì)出現(xiàn)準(zhǔn)確率普遍很低等問(wèn)題。本文提出了一種將遷移學(xué)習(xí)與模型融合相結(jié)合的方法。通過(guò)運(yùn)用四種常用的卷積神經(jīng)網(wǎng)絡(luò)模型分別進(jìn)行部分圖像的特征提取,選取表現(xiàn)最佳的兩種模型Inception_v3以及Resnet152_vl進(jìn)行雙模型融合,將得到的融合網(wǎng)絡(luò)用于犬種圖像進(jìn)行遷移學(xué)習(xí)訓(xùn)練。針對(duì)120類犬種圖片,訓(xùn)練得到了驗(yàn)證集精度可達(dá)93.02%的網(wǎng)絡(luò)模型。同時(shí)考慮將測(cè)試集圖片經(jīng)過(guò)YOLO目標(biāo)檢測(cè)算法識(shí)別,定位目標(biāo)區(qū)域后再送人網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果表明該方法在融合模型中能進(jìn)一步提高犬種識(shí)別檢測(cè)精度。
關(guān)鍵詞:遷移學(xué)習(xí);模型融合;犬種識(shí)別;深度學(xué)習(xí)
0引言
深度學(xué)習(xí)(Deep Learning)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究,深度學(xué)習(xí)實(shí)際上是深度神經(jīng)網(wǎng)絡(luò)DNN。而神經(jīng)網(wǎng)絡(luò)技術(shù)的開展可以追溯到1943年。近年來(lái),深度學(xué)習(xí)在目標(biāo)檢測(cè)、表情識(shí)別、目標(biāo)跟蹤等諸多領(lǐng)域有了巨大的研究進(jìn)展,特別是在圖像分類方面有許多突破。目前大部分的圖像分類工作都集中在通用分類,比如對(duì)手寫體數(shù)字的分類等多種不相關(guān)類別。因此,子類別的圖像的區(qū)分也就是細(xì)粒度圖像分類成為這幾年計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)。其研究目標(biāo)從不同類別轉(zhuǎn)換為同一類別不同子類之上,是一項(xiàng)極具挑戰(zhàn)的研究任務(wù)。犬類是與人類最密切相連的動(dòng)物,人們對(duì)于犬類普遍比較熟悉,素材照片等更容易獲取,一定程度方便了深度學(xué)習(xí)的開展。
犬種識(shí)別的研究是進(jìn)階陸的過(guò)程,由于犬類的類間相似性和類內(nèi)差異性以及圖片的背景、拍攝光線、目標(biāo)姿態(tài)等的影響,其研究具有一定的難度。犬類的區(qū)分一般是通過(guò)專家鑒定或者基因檢測(cè)來(lái)實(shí)現(xiàn),然而這些方法會(huì)消耗極大的人力與時(shí)間。此外,還出現(xiàn)了利用人臉識(shí)別、圖片局部定位和PCA技術(shù)的由粗到細(xì)的犬種分類,基于地標(biāo)形狀的犬種分類方法,以及使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法來(lái)進(jìn)行圖像分類等方法。但由于犬類的數(shù)據(jù)集對(duì)于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練遠(yuǎn)遠(yuǎn)不夠、對(duì)圖像局部(關(guān)鍵)區(qū)域的細(xì)節(jié)特征提取不充分等原因,以上這些方法在識(shí)別準(zhǔn)確率上普遍不高,識(shí)別種類也不是很多。
本文提出了一種基于遷移學(xué)習(xí)和雙模型融合的犬種識(shí)別算法。使用已在大規(guī)模數(shù)據(jù)集ImageNet上預(yù)訓(xùn)練的四種常用深度神經(jīng)網(wǎng)絡(luò)Vggl6_bn、Densenetl61、Inception_v3和Resnetl52_v1分別進(jìn)行部分圖像的特征提取。由于不同的卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu)在提取圖像特征時(shí)表現(xiàn)的學(xué)習(xí)過(guò)程不同,導(dǎo)致視覺(jué)分類有不同結(jié)果。為組合多方位的信息表示,達(dá)到更優(yōu)化的性能,選取表現(xiàn)最佳的兩個(gè)網(wǎng)絡(luò)Inception_v3和Resnetl52_v1進(jìn)行雙模型融合。然后將該融合網(wǎng)絡(luò)用于120類犬種圖像進(jìn)行遷移訓(xùn)練。同時(shí)將測(cè)試集圖片經(jīng)過(guò)YOLO目標(biāo)檢測(cè)算法識(shí)別目標(biāo)區(qū)域后再送人融合網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),進(jìn)一步減少背景干擾。
1相關(guān)理論
1.1Inception_v3模型
卷積神經(jīng)網(wǎng)絡(luò)包含多種模型,例如Alexnet、VGG、Googlenet等。其中,Google Inception Net在2014年的ILSVRC比賽中取得第一名。Inception-v3模型在v2的基礎(chǔ)上改進(jìn)了三種Inception模塊:使用兩個(gè)3×3的卷積替代每個(gè)5×5的卷積,將n×n的卷積分解成一維的n×1和1×n卷積的串聯(lián)。壓縮特征維度數(shù)不僅促進(jìn)了高尺寸圖像的表示,也減輕了過(guò)擬合現(xiàn)象。全連接層被全局平均池化層所取代,極大地降低了參數(shù)數(shù)量。該網(wǎng)絡(luò)包含47層,其詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
Inception_v3網(wǎng)絡(luò)輸入圖片大小為299×299,在減少計(jì)算量的同時(shí)提升了網(wǎng)絡(luò)性能。除了在模型中使用分支,也實(shí)現(xiàn)了在分支中使用分支。同時(shí)增加了一層非線性擴(kuò)展模型表達(dá)能力,可以處理更多的空間信息,增加特征多樣性。
1.2Resnetl52_v1模型
Resnet在2015年的ILSVRC比賽中取得第一名。該網(wǎng)絡(luò)多達(dá)152層,網(wǎng)絡(luò)深度和維度的增大使其可以進(jìn)行更加復(fù)雜的特征模式提取。同時(shí)該網(wǎng)絡(luò)的作者還提出了殘差學(xué)習(xí)來(lái)解決深度網(wǎng)絡(luò)的退化問(wèn)題,殘差學(xué)習(xí)單元如圖2所示。
其中,輸入為x,學(xué)習(xí)到的特征記為H(x),這樣殘差就表示為F(x)=H(x)-x。殘差單元可以表示為:
其中,xi和xj+1分別表示第j個(gè)殘差單元的輸入與輸出,f為激活函數(shù)relu。推導(dǎo)可得從淺層了到深層J的學(xué)習(xí)特征為:
在實(shí)際操作中殘差不等于零。因此考慮殘差函數(shù)會(huì)使得堆積層在輸入特征基礎(chǔ)上學(xué)習(xí)到新的特征,從而擁有更好性能。
1.3 遷移學(xué)習(xí)
在面對(duì)圖像分類領(lǐng)域的具體應(yīng)用場(chǎng)景時(shí),通常可能無(wú)法得到用以構(gòu)建神經(jīng)網(wǎng)絡(luò)模型所需規(guī)模已標(biāo)記的數(shù)據(jù)。遷移學(xué)習(xí)(Transfer learning)提出,通過(guò)從相關(guān)域中的數(shù)據(jù)中提取有用信息,并將其轉(zhuǎn)移以用于目標(biāo)任務(wù)來(lái)解決此類跨域?qū)W習(xí)問(wèn)題。即除了目標(biāo)域中的數(shù)據(jù)之外,還可以包括不同域中的相關(guān)數(shù)據(jù),以擴(kuò)展目標(biāo)未來(lái)數(shù)據(jù)的先前知識(shí)的可用性。本文主要以常見的120類犬種數(shù)據(jù)為基礎(chǔ)展開研究。然而犬類的數(shù)據(jù)集遠(yuǎn)遠(yuǎn)不夠用來(lái)重新訓(xùn)練深層神經(jīng)網(wǎng)絡(luò),因此借助遷移學(xué)習(xí)的思想,在訓(xùn)練數(shù)據(jù)集規(guī)模較小的情況下可以使用預(yù)訓(xùn)練過(guò)的模型。通過(guò)對(duì)預(yù)訓(xùn)練網(wǎng)絡(luò)瓶頸層之后進(jìn)行截?cái)?,保留可重用層的有用神?jīng)元,以挖掘出更多的犬種分類特征。另外,遷移學(xué)習(xí)可以使訓(xùn)練數(shù)據(jù)保持在相同特征空間中或具有與未來(lái)數(shù)據(jù)相同的分布,避免了過(guò)度擬合問(wèn)題,因此可以學(xué)習(xí)到更出色的底層規(guī)則。
1.4 YOLO目標(biāo)檢測(cè)網(wǎng)絡(luò)
YOLO網(wǎng)絡(luò)將物體檢測(cè)任務(wù)當(dāng)做一個(gè)回歸問(wèn)題來(lái)處理,使用一個(gè)神經(jīng)網(wǎng)絡(luò),直接從一整張圖像來(lái)預(yù)測(cè)出邊界框的坐標(biāo)、框中包含物體的置信度和物體的可能性。YOLO將目標(biāo)區(qū)域檢測(cè)和類別預(yù)測(cè)整合于一個(gè)神經(jīng)網(wǎng)絡(luò)中,端到端的訓(xùn)練過(guò)程優(yōu)化了物體檢測(cè)性能。如圖3所示,YOLO將輸入圖像劃分為S * S的柵格,每個(gè)格子負(fù)責(zé)檢測(cè)中心落在這個(gè)格子中的物體。
其中,每個(gè)柵格對(duì)其預(yù)測(cè)的邊界框判斷條件為:
通過(guò)得到的結(jié)果來(lái)判斷該邊界框中是否含有目標(biāo)。
在本文的研究中,借助YOLO網(wǎng)絡(luò)能夠快速檢測(cè)數(shù)據(jù)集,并能較為準(zhǔn)確地將狗與圖片背景分開,在一定程度上減少了背景對(duì)品種分類的影響。
2 犬種識(shí)別
2.1 基本思想
犬種分類時(shí),由于不同種類的狗外觀具有一定的相似性,同一種類的狗也有毛發(fā)顏色、姿勢(shì)不同等原因,因此需要充分包含目標(biāo)紋理中的細(xì)節(jié)信息。為了能在得到全局視覺(jué)特征信息的同時(shí),還能夠得到圖像局部(關(guān)鍵)區(qū)域的細(xì)節(jié)特征共同進(jìn)行對(duì)比分析,本文提出了如圖4的實(shí)驗(yàn)過(guò)程以找到表現(xiàn)更好的網(wǎng)絡(luò)結(jié)構(gòu),從而進(jìn)一步提高識(shí)別準(zhǔn)確率。具體實(shí)驗(yàn)步驟如下:
(1)將4種基礎(chǔ)網(wǎng)絡(luò)在大規(guī)模數(shù)據(jù)集ImageNet上進(jìn)行訓(xùn)練得到相關(guān)預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。
(2)將部分?jǐn)?shù)據(jù)集分為訓(xùn)練集與驗(yàn)證集,并分別導(dǎo)人4個(gè)網(wǎng)絡(luò)。
(3)選取表現(xiàn)最佳即在驗(yàn)證集上損失函數(shù)最小的2個(gè)網(wǎng)絡(luò)進(jìn)行模型融合。
(4)改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),使其適用于犬種圖像的數(shù)據(jù)集。
(5)再次將全部數(shù)據(jù)中的訓(xùn)練集與驗(yàn)證集導(dǎo)人融合后的網(wǎng)絡(luò),進(jìn)行遷移學(xué)習(xí)。
(6)對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)使其表現(xiàn)出更好的性能,最終得到的網(wǎng)絡(luò)用于犬種圖像的分類預(yù)測(cè)。
(7)將測(cè)試集圖像輸入網(wǎng)絡(luò),查看預(yù)測(cè)結(jié)果。
(8)將測(cè)試集圖像經(jīng)過(guò)YOLO檢測(cè)算法,分割目標(biāo)區(qū)域后送人網(wǎng)絡(luò),比較兩次操作的預(yù)測(cè)結(jié)果。
其中,在網(wǎng)絡(luò)遷移學(xué)習(xí)過(guò)程中,凍結(jié)融合網(wǎng)絡(luò)的相關(guān)權(quán)重,訓(xùn)練最后添加的分類頭淺層網(wǎng)絡(luò)。由于訓(xùn)練參數(shù)比較少。選擇能對(duì)梯度的一階矩估計(jì)和二階矩估計(jì)進(jìn)行綜合考慮,計(jì)算出更新步長(zhǎng)的Adam優(yōu)化器。訓(xùn)練過(guò)程中,梯度下降時(shí),每個(gè)批次包含128個(gè)樣本,迭代輪數(shù)設(shè)為100輪。
2.2模型融合
由于搜集到的人工標(biāo)記犬類圖片數(shù)量遠(yuǎn)不及訓(xùn)練高廣義CNN模型所需要的大規(guī)模標(biāo)記數(shù)據(jù)集合,尤其是對(duì)于復(fù)雜且非常深的CNN架構(gòu)。單靠本文準(zhǔn)備的數(shù)據(jù)集無(wú)法獲得合理的分類模型。因此,本研究利用大規(guī)模ImageNet數(shù)據(jù)集,利用預(yù)訓(xùn)練模型探索了犬種分類的轉(zhuǎn)移學(xué)習(xí)策略。通過(guò)在預(yù)訓(xùn)練模型中用犬類數(shù)量的神經(jīng)元替換最終的分類器層(1000個(gè)神經(jīng)元),并保留相同的條件。例如其它層的內(nèi)核大小數(shù),使用預(yù)訓(xùn)練的CNN模型的學(xué)習(xí)參數(shù)作為初始值。之后,使用加權(quán)表決融合方式將兩種網(wǎng)絡(luò)訓(xùn)練所得特征進(jìn)行拼接。不同的模型具有不同內(nèi)核大小和體系結(jié)構(gòu)。這可以學(xué)習(xí)不同方面的圖像表示,例如多尺度屬性,并在后層中載人特征提取后的數(shù)據(jù)以用于犬品種分類學(xué)習(xí)。本文選擇Inception_v3與Resnetl52_vl網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。具體融合方法如圖5所示。
其中。添加GlobalAvgPool2D層是為了對(duì)兩個(gè)網(wǎng)絡(luò)的輸出尺寸進(jìn)行調(diào)整從而可以合并。GlobalAvgPool2D層沒(méi)有數(shù)據(jù)參數(shù)。兩個(gè)網(wǎng)絡(luò)的特征輸出尺寸均為(28440,2048,1,1),是四維矩陣。而全連接層的輸入要求是二維矩陣,兩個(gè)輸入尺寸分別進(jìn)入GlobalAvgPool2D層后被調(diào)整為(28440,2048)大小,特征拼接后的輸出尺寸為(28440,4096),可見進(jìn)行網(wǎng)絡(luò)融合后可以學(xué)習(xí)到更多的圖像特征。添加的兩層完全連接層的神經(jīng)單元數(shù)分別為256以及120.激活函數(shù)為RELU函數(shù),為了防止訓(xùn)練過(guò)擬合,設(shè)置Dropout為0.5.
3 實(shí)驗(yàn)驗(yàn)證與分析
3.1 犬種數(shù)據(jù)集及其預(yù)處理
本文所使用的犬種數(shù)據(jù)集包括斯坦福大學(xué)搜集的120種犬類數(shù)據(jù),以及Kaggle競(jìng)賽所使用的有標(biāo)簽的訓(xùn)練數(shù)據(jù),兩個(gè)數(shù)據(jù)集包含的圖片有部分重復(fù)。同時(shí),用到了自行在網(wǎng)絡(luò)搜集的部分圖片。圖片總和為31600張。實(shí)驗(yàn)中隨機(jī)抽取每種類別圖片的80%作為訓(xùn)練集,10%為驗(yàn)證集,剩余10%為測(cè)試集。首先通過(guò)對(duì)數(shù)據(jù)集進(jìn)行隨機(jī)鏡像、增加適當(dāng)高斯噪聲、垂直方向圖像隨機(jī)旋轉(zhuǎn)等處理實(shí)行圖像增強(qiáng)。數(shù)據(jù)集增強(qiáng)在一定程度上彌補(bǔ)了數(shù)據(jù)集樣本不足的問(wèn)題,減少網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象,可得到泛化能力更強(qiáng)的網(wǎng)絡(luò),更好地適應(yīng)應(yīng)用場(chǎng)景。之后,對(duì)圖像進(jìn)行預(yù)處理:由于圖片將分別進(jìn)入兩個(gè)網(wǎng)絡(luò),所有圖片應(yīng)縮放為224x224以及299x299像素,滿足兩個(gè)網(wǎng)絡(luò)不同的輸入要求。圖像的均值和方差按照數(shù)據(jù)集ImageNet來(lái)設(shè)置。根據(jù)模型預(yù)先訓(xùn)練時(shí)的處理方式來(lái)處理數(shù)據(jù),這樣才能保證最好的效果。
3.2 實(shí)驗(yàn)環(huán)境及評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)采用的GPU顯卡為GTX 1080Ti,內(nèi)存為64GB。在Linux系統(tǒng)下,犬種分類過(guò)程采用基于mxnet的gluon深度學(xué)習(xí)框架對(duì)圖片進(jìn)行分類。
模型的性能評(píng)價(jià)指標(biāo)包括訓(xùn)練集、驗(yàn)證集、測(cè)試集的準(zhǔn)確率以及訓(xùn)練集和驗(yàn)證集的損失率。其中,訓(xùn)練集的準(zhǔn)確率和損失率體現(xiàn)了模型訓(xùn)練時(shí)的性能,驗(yàn)證集的損失率用于判斷模型在迭代過(guò)程中是否出現(xiàn)過(guò)擬合等情況,測(cè)試集的準(zhǔn)確率直接反映了已訓(xùn)練好的模型的預(yù)測(cè)能力。這兩個(gè)指標(biāo)由如下公式定義:
其中,M是樣本數(shù)量;yi是標(biāo)簽;f(xi)為模型預(yù)測(cè)結(jié)果:I是條件判斷函數(shù):a為神經(jīng)元經(jīng)過(guò)激活函數(shù)的非線性輸出。
3.3 實(shí)驗(yàn)驗(yàn)證與分析
實(shí)驗(yàn)工
將數(shù)據(jù)集中Kaggle所包含的10222張圖片經(jīng)過(guò)預(yù)處理后分別送人Densenetl61、Inception_v3、resnetl52_vl以及vggl6_bn的預(yù)訓(xùn)練網(wǎng)絡(luò)。預(yù)訓(xùn)練模型是由其它組織使用包含許多類別的大量數(shù)據(jù)集訓(xùn)練而成,其中有幾千萬(wàn)的樣本。在這種情況下,還需要訓(xùn)練模型最后的分類頭。卷積層從圖片中提取特征,完成連接層對(duì)圖片進(jìn)行分類,需要調(diào)整最后的完全連接層來(lái)制作模型以適應(yīng)犬種的數(shù)據(jù)。通過(guò)比較四種網(wǎng)絡(luò)的性能,找到在驗(yàn)證集上損失率較小的前兩個(gè)網(wǎng)絡(luò)進(jìn)行雙網(wǎng)絡(luò)融合。網(wǎng)絡(luò)的批量處理大小為64,學(xué)習(xí)速率設(shè)置為0.001,用于微調(diào)。四個(gè)模型訓(xùn)練后得到的訓(xùn)練集與驗(yàn)證集的損失曲線如
由此可見,對(duì)于犬種數(shù)據(jù)學(xué)習(xí)性能較好的為resnetl52_vl網(wǎng)絡(luò)和Inception_v3網(wǎng)絡(luò)。接下來(lái),將這兩個(gè)網(wǎng)絡(luò)按照本文2.2節(jié)所介紹的方法進(jìn)行模型融合。為了兩個(gè)網(wǎng)絡(luò)進(jìn)行融合,需要自定義一個(gè)網(wǎng)絡(luò)合并層,保證這兩個(gè)神經(jīng)網(wǎng)絡(luò)在合并前的輸入尺寸一致。之后,添加分類頭,也就是輸出層。將上述兩個(gè)網(wǎng)絡(luò)拼接起來(lái),逐步構(gòu)建完整網(wǎng)絡(luò)結(jié)構(gòu)。然后將總數(shù)據(jù)集中的90%圖片作為訓(xùn)練集與驗(yàn)證集送人融合后的網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),訓(xùn)練得到的準(zhǔn)確率與損失率結(jié)果如圖7所示。
由圖可見,融合網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)后,驗(yàn)證集的損失率下降到0.24,驗(yàn)證集的準(zhǔn)確率可達(dá)到93.02%。并且,遷移學(xué)習(xí)能通過(guò)較短的訓(xùn)練時(shí)間進(jìn)行特征學(xué)習(xí)。然而,通過(guò)對(duì)比數(shù)據(jù)發(fā)現(xiàn)損失率在經(jīng)過(guò)30次左右的迭代后出現(xiàn)了下降速度緩慢、不能降到很低等問(wèn)題。這可能是由于僅訓(xùn)練最后添加的分類頭使網(wǎng)絡(luò)不能更好地匹配犬種數(shù)據(jù)集所造成的。
實(shí)驗(yàn)2 首先將測(cè)試集圖片送人訓(xùn)練好的網(wǎng)絡(luò)檢測(cè)其預(yù)測(cè)能力。通過(guò)觀察發(fā)現(xiàn)犬種圖片僅出現(xiàn)在圖片的部分區(qū)域,背景在一定程度上分散了網(wǎng)絡(luò)學(xué)習(xí)。為驗(yàn)證該設(shè)想,隨機(jī)選取五張圖片進(jìn)行YOLO目標(biāo)檢測(cè)網(wǎng)絡(luò),隨后將得到的五組圖片送人網(wǎng)絡(luò)進(jìn)行犬種分類。實(shí)驗(yàn)結(jié)果對(duì)比見表2.分析表中結(jié)果可知,若是圖片中目標(biāo)面積較大,圖片分割前后均能識(shí)別出正確的類別名稱:若圖片中的背景環(huán)境較為復(fù)雜,分割出目標(biāo)后再進(jìn)行檢測(cè)可以有效提高預(yù)測(cè)精度;若是拍攝照片時(shí)的角度、光線等出現(xiàn)變化,分割前后的結(jié)果均容易受到影響??梢姡瑢⒛繕?biāo)區(qū)域定位后再送人網(wǎng)絡(luò)能夠在一定程度上減少識(shí)別誤差。
經(jīng)過(guò)將測(cè)試集分組實(shí)驗(yàn),對(duì)比測(cè)試圖片經(jīng)過(guò)YOLO檢測(cè)算法分割目標(biāo)區(qū)域前、后的識(shí)別效果并取識(shí)別率均值,結(jié)果得到目標(biāo)分割前后準(zhǔn)確率分別為67.20%和68.45%,提高了1.05%。表3是本文測(cè)試結(jié)果與其它文獻(xiàn)中識(shí)別方法的對(duì)比。
可以看出,文獻(xiàn)[6]是基于傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)Alexnet而展開的訓(xùn)練,其檢測(cè)精度明顯低于其它方法,這是由于傳統(tǒng)的網(wǎng)絡(luò)參數(shù)訓(xùn)練對(duì)數(shù)據(jù)有極大依賴性,圖像特征的提取也與先驗(yàn)知識(shí)有密切關(guān)系。特別是隨著網(wǎng)絡(luò)層數(shù)的不斷增加,Alexnet包含8個(gè)隱藏層,而本文所使用的網(wǎng)絡(luò)的層數(shù)明顯更深,單純利用數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練是不能更好地實(shí)現(xiàn)分類任務(wù)的。文獻(xiàn)[8]使用的數(shù)據(jù)集多達(dá)163K張,使用預(yù)訓(xùn)練方式對(duì)DCNNs進(jìn)行完全初始化訓(xùn)練。該方法雖然增加了數(shù)據(jù)總量,但訓(xùn)練學(xué)習(xí)到的特征過(guò)于單一。文獻(xiàn)[9]的結(jié)果雖然比本文方法稍高一點(diǎn),不過(guò)在該實(shí)驗(yàn)中使用了比本文更多的圖片用于訓(xùn)練,并且在網(wǎng)絡(luò)訓(xùn)練過(guò)程中首先訓(xùn)練了一個(gè)狗臉探測(cè)器用于之后的寵物識(shí)別,這無(wú)疑會(huì)消耗更多的訓(xùn)練時(shí)間,降低工作效率。
最后,值得一提的是,在本文所搜集的數(shù)據(jù)中,Kaggle數(shù)據(jù)集存在少數(shù)犬類圖片人工標(biāo)記分類錯(cuò)誤等問(wèn)題。同時(shí)總數(shù)據(jù)集的每個(gè)種類包含的圖片數(shù)量并不均勻,這些都會(huì)對(duì)網(wǎng)絡(luò)的訓(xùn)練造成一些影響。
4 結(jié)束語(yǔ)
本文提出了一套基于遷移學(xué)習(xí)與融合基本CNN模型實(shí)現(xiàn)犬種分類的方法。實(shí)驗(yàn)證明該方法對(duì)于屬于細(xì)粒度圖像分類的犬種識(shí)別有一定的性能改進(jìn)。由于訓(xùn)練樣本數(shù)量不足等問(wèn)題,本文研究了遷移學(xué)習(xí)策略。另外,由于不同網(wǎng)絡(luò)的內(nèi)核大小、層數(shù)和結(jié)構(gòu)等的不同,深度CNN架構(gòu)可能會(huì)提取出圖像的不同表示特征,從而導(dǎo)致視覺(jué)分類的不同表現(xiàn)。通過(guò)將4種常用CNN模型在大規(guī)模ImageNet數(shù)據(jù)集上進(jìn)行預(yù)先訓(xùn)練,學(xué)習(xí)調(diào)整網(wǎng)絡(luò)的各層參數(shù),以增加不同特征信息的表示。再次將犬種數(shù)據(jù)集分別輸入4個(gè)網(wǎng)絡(luò),選取表現(xiàn)最佳的2個(gè)網(wǎng)絡(luò)進(jìn)行模型融合以結(jié)合多方位信息來(lái)獲取更加準(zhǔn)確的分類,這是本文創(chuàng)新之一。
論文在選取Inception_v3以及Resbetl52_vl網(wǎng)絡(luò)進(jìn)行雙模型融合后。將生成的新網(wǎng)絡(luò)用于犬種圖像的遷移學(xué)習(xí)。針對(duì)120類犬種圖片,訓(xùn)練得到了驗(yàn)證集精度可達(dá)93.02%的網(wǎng)絡(luò)模型。之后將測(cè)試集圖片經(jīng)過(guò)YOLO目標(biāo)檢測(cè)算法識(shí)別大目標(biāo)區(qū)域后再送人融合網(wǎng)絡(luò),結(jié)果表明該測(cè)試集經(jīng)過(guò)目標(biāo)定位分割后在模型中提高了1.05%的檢測(cè)精度。說(shuō)明減少背景信息的干擾可以顯著提高性能,這是本文另一個(gè)創(chuàng)新之處。橫向?qū)Ρ葘?shí)驗(yàn)結(jié)果進(jìn)一步驗(yàn)證了本文方法用于犬種識(shí)別的可行性。在之后的工作中,將繼續(xù)沿著這個(gè)方向研究并做出改進(jìn),進(jìn)一步提高犬種識(shí)別的性能,探索其應(yīng)用潛能。