于奧運
(四川大學(xué)計算機學(xué)院,成都 610065)
犬類是與人類最緊密相連的動物,是人類患難與共的朋友。隨著人類生活水平的日益提高,越來越多的家庭會選擇養(yǎng)狗作為寵物或者“護院者”,人類對犬類越來越關(guān)注。犬類的種類有很多,對犬類的識別有重要的意義:既可以增進對狗的了解,又可以促進動物學(xué)科的發(fā)展。
傳統(tǒng)的,犬類可以根據(jù)專家方法和基于DNA鑒定的方式進行分類,然而這些方式,在評估中需要花費大量的時間和金錢。此外,還可以借助對人臉圖像進行分類的粗糙圖像處理技術(shù),它是利用輪廓分類器進行粗分類和基于主成分分析(PCA)的分類器進行精細分類。隨后,又提出了基于人臉局部、NCC圖像匹配算法和PCA[1-2]進行分類的犬種分類,然而NCC方法用于發(fā)現(xiàn)和捕獲犬類圖像的每個局部區(qū)域是相當耗時的。
多年以來,人們通常依靠人工設(shè)計的特征,如尺度不變特征變換(SIFT)、方向梯度直方圖(HOG)等完成計算機視覺、圖像目標識別等相關(guān)任務(wù)。這種方式對圖像中的高級信息如:局部外觀、邊緣交叉的處理效果欠佳。深度學(xué)習(xí)是近些年來在人工智能領(lǐng)域取得的重大突破之一。如今深度學(xué)習(xí)已廣泛應(yīng)用于以下領(lǐng)域:圖像識別、文字識別、人臉技術(shù)、智能監(jiān)控以及圖像視頻編輯等。在圖像目標識別任務(wù)中,深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)已被證明具有杰出的分類性能。
從Clickture挖掘更多的犬類相關(guān)數(shù)據(jù)。Clickture提供包含93k張340余種狗的圖片,在Clickture獲取圖片數(shù)據(jù)過程,分為兩步。第一步通過輸入關(guān)鍵字(如:dog,puppy等),點擊查詢結(jié)果即為犬類相關(guān)數(shù)據(jù),然后這些狗的圖像分發(fā)到340余犬種中[3-4]。更類似的詞(包括許多常見的犬種稱呼和常見的拼寫錯誤,例如,Breed,Akita,doggs等)與狗有關(guān),并進一步用于查找70k的與狗相關(guān)的圖片。因此,340余種狗的訓(xùn)練圖像的總數(shù)明顯增加到163k。
充分利用在ImageNet上預(yù)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)(DCNNs)而獲取的信息。DCNNs通過一個端到端的訓(xùn)練方案大大改進了圖像分類任務(wù),而DCNNs在像Ima?geNet這樣的大型數(shù)據(jù)集上進行預(yù)訓(xùn)練也能很好地推廣到其他視覺任務(wù)。考慮到DCNNs的廣泛使用,可以將DCNNs作為特征提取器,很好地應(yīng)用在犬類識別的系統(tǒng)中。在新分類任務(wù)中,相比正常使用預(yù)訓(xùn)練DCNNs切掉最后一層(包括ImageNet中1000個類別的1000個神經(jīng)元)或者更換一個新網(wǎng)絡(luò)層(包括340個犬種的340個神經(jīng)元),我們試著在預(yù)先訓(xùn)練的DCNNs中保持更多有用的信息,通過在1000個類別中使用最相似的神經(jīng)元的權(quán)重來初始化每一個新的神經(jīng)元。通過這種修改,網(wǎng)絡(luò)中的所有權(quán)重都可以有更好的初始化。
優(yōu)化分類識別效果的第一個方式是獲取更多的犬類相關(guān)的圖片數(shù)據(jù)。因為在犬類識別的有監(jiān)督學(xué)習(xí)尤其是犬類耳部的深度學(xué)習(xí)過程中,越多的訓(xùn)練集獲得的效果越好,即使訓(xùn)練集是存在噪聲的數(shù)據(jù)[5]。采用的數(shù)據(jù)集由Clicktrue提供,在Clicktrue中,因為每個圖像都與一組相關(guān)聯(lián)的文本查詢匹配,獲得狗相關(guān)的圖像可以轉(zhuǎn)化為尋找狗相關(guān)的查詢這樣一個簡單的任務(wù)。
這里的狗相關(guān)的數(shù)據(jù)查詢可以包含的相關(guān)詞匯,記為R.IRC組織者定義犬類相關(guān)詞匯為R={dog、dogs、puppy、puppies}。按照這種常規(guī)查詢方式,可以獲得93k狗相關(guān)的圖片。我們借助單詞嵌入來自動找到與狗相似的單詞:
R={r:sim(R,dog)>α ||sim(R,puppy)>α};
其中,sim(,)是構(gòu)造的單詞嵌入空間中定義的余弦相似度;α表示閾值參數(shù),將其設(shè)置為0.4。
通過上述方式拓展,可以獲得額外70k狗相關(guān)的圖片。所以我們總共有163k的圖片,值得注意的是,即使是狗的圖片數(shù)據(jù)獲取增多,但是仍然小于ImageN?et所需的數(shù)目,并且一些稀有品種的狗圖片僅有幾張。對于此類問題通過對原始圖像隨機裁剪、鏡像以及旋轉(zhuǎn)等方式來拓展數(shù)據(jù)集。
使用ImageNet的深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)被廣泛地用于初始化新的DCNN,用于其他識別任務(wù),特別是在訓(xùn)練數(shù)據(jù)有限的情況下[6]。在這個工作中,我們還使用了一些在ImageNet上預(yù)先訓(xùn)練的不同架構(gòu)的DCNNs來初始化我們的DCNNs。與大多數(shù)現(xiàn)有的方法不同,通過對預(yù)先訓(xùn)練的DCNN的最后一層進行截斷,用隨機初始化的權(quán)重來替換一個新的層,我們的方法可以在最后一層和相應(yīng)的權(quán)重中保留有用的神經(jīng)元。這種修改可以幫助挖掘更多的與狗相關(guān)的信息。除此之外,這對只有少數(shù)圖像的品種是很有幫助的,因為對于這些品種,即使得到最后一層參數(shù)權(quán)重,也難以借此得到全部層次的參數(shù)權(quán)重。具體地說,在最后一層中,每個犬種都有最相似的神經(jīng)元ni,重新定義神經(jīng)元ni來預(yù)測犬種cj。神經(jīng)元ni和犬種cj之間的相似性,是通過對犬種cj圖像中神經(jīng)元的平均預(yù)測得分來定義的,即:
Icj是一組cj的圖像集,而Sni(I)是在神經(jīng)元ni上的圖像I的預(yù)測得分。相似的犬種類別對應(yīng)的神經(jīng)元之間看起來也是相似的,有些甚至是相同的。通過相似性,犬種cj|最相似的神經(jīng)元ni輸出高預(yù)測分數(shù)的狗狗品種,那么,即使沒有進一步的訓(xùn)練,也可以以此做出預(yù)測。然后,識別340余種犬類的深度卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)犬種可以完全由預(yù)訓(xùn)練的DCNN實現(xiàn)初始化。
在本節(jié)中,我們通過兩組評價來驗證所提出的方法,一個是在算法設(shè)計階段中廣泛的離線比較,另一個則是在線評估。
我們使用Caffe進行DCNN的訓(xùn)練和測試[7]。在我們的實驗中使用了 5個 DCNNs,包括 AlexNet[8],vgg-A[9],vgg-16[9],ResNet-50[10]和 ResNet-101[10]。對于AlexNet、vgg-A 和 vgg-16,批處理大小設(shè)置為 256,而ResNet-50和ResNet-101的批處理大小設(shè)置為128。學(xué)習(xí)速率最初設(shè)置為0.001,用于微調(diào)。
為了驗證提出的兩步挖掘更多狗相關(guān)信息的有效性,我們以增量的方式設(shè)計了三組實驗:
實驗1 93k:這是使用Clickture提供的93k圖片作為數(shù)據(jù)集進行訓(xùn)練,用隨機權(quán)值初始化的新層取代最后一層預(yù)先訓(xùn)練的DCNNs;
實驗2 163k:拓展獲得的70k狗圖像被添加到原始的93k圖片集中,同實驗1樣使用預(yù)先訓(xùn)練的DCNNs;
實驗3 163K+預(yù)訓(xùn)練網(wǎng)絡(luò):拓展獲得的70k狗狗圖像被添加到原始的93k圖片集中,并使用預(yù)訓(xùn)練方式對DCNNs進行完全初始化。
IRC只提供了Clicktrue-full和它的子集Click?true-dog[11]進行訓(xùn)練,但是在算法開發(fā)階段沒有測試集進行評估。為了評估不同的方法,我們構(gòu)建了一個由3個犬類基準(Stanford-Dog[12],Columbia-Dog[13]和 Ima?geNet-Dog[14])的評估集。首先,我們加入了Stanford-Dog測試集、Columbia-Dog測試集和ImageNet-Dog驗證集,以形成一個大的集合(相同的狗狗在不同的數(shù)據(jù)集上的圖像被合并)。其次,我們將狗的品種和它們的圖像作為我們的測試集。測試集包含128個犬種共12000張圖片。
在IRC組織的在線評估中,只會評估100只狗的品種,但沒有給出100只狗的品種。因此,參與者需要對所有340余種犬種進行預(yù)測,這比通常的評估設(shè)定更困難,因為它們的訓(xùn)練和測試類別都是相同的,因為當預(yù)測類別不在評估列表中時,會出現(xiàn)額外的錯誤。評估設(shè)置更接近真實場景,很難知道在將模型成功部署后,用戶將對哪些類別進行測試,因此基本策略是盡可能多地構(gòu)建模型。為了使評價一致,我們還通過假設(shè)測試類別是未知的,并對340余種犬種進行預(yù)測,從而對我們的線下實驗進行評估設(shè)置。
在表1中,顯示構(gòu)建的測試集在離線評估上具有最高的精度結(jié)果。實驗1一列顯示了所有深度卷積神經(jīng)網(wǎng)絡(luò)(DCNNs)的基準數(shù)據(jù),而更深層的模型(VGG?Nets和ResNet)比AlexNet獲得了更高的精度。實驗2一列通過在放大的數(shù)據(jù)集上訓(xùn)練DCNNs來顯示數(shù)字,這大大提高了識別的準確度。最后一列實驗3是我們的方法的全模式,在所有DCNNs上取得了最好的結(jié)果。結(jié)果表明,該方法對建立更好的犬種識別模型有一定的效果。
表1 三組實驗訓(xùn)練模型的性能比較
通過參與“IRC@ICME2016”進行在線評估,并用其提供的10k測試圖像上測試我們的方法。為了獲得更好的性能,我們將包括vgg16、ResNet-50和ResNet-101在內(nèi)的三種模型的輸出結(jié)合在一起,權(quán)重分別為0.5、0.3和0.2。該融合模型在離線評價中達到了67.31%的最高精度。值得注意的是,訓(xùn)練所需數(shù)據(jù)源僅僅使用Clicktrue-Full,而沒使用其他外部數(shù)據(jù)。
在最后的評估中,我們獲得了第二名,比較了其他9個團隊(包括7個使用外部數(shù)據(jù)的團隊和2個沒有使用外部數(shù)據(jù)的團隊)。更公平的比較,僅比較不使用外部數(shù)據(jù)的團隊,本文的方法也更優(yōu)于其他方法。
本文提出了兩種提高犬類識別準確率的方法,即通過拓展犬類相關(guān)數(shù)據(jù)和預(yù)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的方式對犬類品種進行識別。通過大量的離線實驗,驗證了所挖掘的信息可以顯著提高性能。與其他團隊相比、在線評估都顯示了該策略的優(yōu)勢。在未來,我們將繼續(xù)研究這兩個方向,并將它們統(tǒng)一為更優(yōu)化的方式。
參考文獻:
[1]Prasong,P.,Chamnongthai,K.Face-recognition-based Dog-Breed Classification Using Size and Position of Each Local Part,and PCA.P Electrical Engineering/Electronics,Computer,Telecommunications and Information Technology(ECTI-CON),2012 9th International Conference on 2012:1-3.
[2]Chanvichitkul,M.,Kumhom,P.,Chamnongthai,K.Face Recognition Based Dog Breed Classification Using Coarse-to-fine Concept and PCA.2007 Asia-Pacific Conference on Communications,2007:25-29.
[3]Yalong Bai,Wei Yu,Tianjun Xiao,Chang Xu,Kuiyuan Yang,WeiYing Ma,and Tiejun Zhao.Bag-of-words Based Deep Neural Network for Image Retrieval.in ACM Multimedia,2014.
[4]Yalong Bai,Kuiyuan Yang,Wei Yu,Chang Xu,Wei-Ying Ma,Tiejun Zhao.Automatic Image Dataset Construction from Click-Through logs Using Deep Neural Network.in Proceedings of the 23rd Annual ACM Conference on Multimedia Conference.ACM,2015:441-450.
[5]Jonathan Krause,Benjamin Sapp,Andrew Howard,Howard Zhou,Alexander Toshev,Tom Duerig,James Philbin,and Li Fei-Fei.The Unreasonable Effectiveness of Noisy Data for Fine-grained recognition.arXiv preprint arXiv:1511.06789,2015.
[6]Hossein Azizpour,Ali Sharif Razavian,Josephine Sullivan,Atsuto Maki,and Stefan Carlsson.From Generic to Specific Deep Representations for Visual Recognition.arXiv Preprint arXiv:1406.5774,2014.
[7]Yangqing Jia,Evan Shelhamer,Jeff Donahue,Sergey Karayev,Jonathan Long,Ross Girshick,Sergio Guadar-Rama,and Trevor Darrell.Caffe:Convolutional Architecture for Fast Feature Embedding,”arXiv preprint arXiv:1408.5093,2014.
[8]Alex Krizhevsky,Ilya Sutskever,Geoffrey E Hin-ton.Imagenet Classification with Deep Convolutional Neural Networks.in Advances in Neural Information Processing Systems,2012:1097-1105.
[9]Karen Simonyan,Andrew Zisserman.Very Deep Convolutional Networks for Large-Scale Image Recognition.arXiv Preprint arXiv:1409.1556,2014.
[10]HEKai-ming,ZHANG Xiang-yu,REN Shao-qing,SUN Jian.Deep Residual Learning for Image Recognition.arXiv Preprint arXiv:1512.03385,2015.
[11]HUA Xian-sheng,YANGLin-jun,WANG Jing-dong,WANG Jing,YE Ming,WANG Kuan-san,RUI Yong,LI Jin.Clickage:Towards Bridging Semantic and Intent Gaps Via Mining Click Logs of Search Engines.in Proceedings of the 21st ACM International Conference on Multimedia.ACM,2013:243-252.
[12]Aditya Khosla,Nityananda Jayadevaprakash,YAO Bang-peng,LI Fei-fei.Novel Dataset for Fine-Grained Image Categorization.in First Workshop on Fine-Grained Visual Categorization,IEEE Conference on Computer Vision and Pattern Recognition,2011.
[13]LIU Jiong-xin,Angjoo Kanazawa,David Jacobs,Peter Belhumeur.Dog Breed Classification Using Part Lo-calization.in Computer Vision-ECCV 2012.2012:172-185,Springer.
[14]Olga Russakovsky,DENG Jia,SU Hao,Jonathan Krause,Sanjeev Satheesh,Sean Ma,HUANG Zhi-heng,Andrej Karpathy,Aditya Khosla,Michael Bernstein,Alexan-der C.Berg,LI Fei-fei.ImageNet Large Scale Visual Recognition Challenge.International Journal of Computer Vision(IJCV),2015,115(3):211-252.