◆程鐘琪 石江豪 毛懿俊
基于深度學(xué)習(xí)的圖像檢索技術(shù)的實(shí)現(xiàn)
◆程鐘琪 石江豪 毛懿俊
(華東理工大學(xué)信息科學(xué)與工程學(xué)院 上海 200237)
本文在傳統(tǒng)檢索技術(shù)的基礎(chǔ)上,研究基于深度學(xué)習(xí)CNN網(wǎng)絡(luò)模型的圖像檢索算法,實(shí)現(xiàn)了基于MNIST手寫(xiě)字庫(kù)的圖像檢索,并且具有較高的檢索精度。實(shí)驗(yàn)結(jié)果表明,基于深度學(xué)習(xí)的圖像特征提取算法對(duì)于圖像檢索應(yīng)用具有較好的適應(yīng)性和可擴(kuò)展性。
圖像檢索;深度學(xué)習(xí);MNIST手寫(xiě)字庫(kù)
圖像檢索是信息時(shí)代一個(gè)十分重要的研究方向,隨著圖像數(shù)據(jù)的迅猛增長(zhǎng),傳統(tǒng)的圖像檢索方式并不能夠有效地處理大規(guī)模的圖像數(shù)據(jù),因此基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型成為當(dāng)前在圖像檢索領(lǐng)域更重要的工具。Krizhevsky提出的AlexNet新型卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在ImageNet 圖像分類中競(jìng)賽取得了最好的成績(jī)。此后,研究者又進(jìn)一步提出了Goole Net和 VGG等,通過(guò)加深網(wǎng)絡(luò)層數(shù),修改損失函數(shù)、激活函數(shù),正則項(xiàng)等對(duì)現(xiàn)有網(wǎng)絡(luò)進(jìn)行改進(jìn)并取得了很大成果。利用基于深度學(xué)習(xí)的方法在圖像分類、目標(biāo)檢測(cè)等方面都展現(xiàn)了相當(dāng)?shù)膬?yōu)越性。為進(jìn)一步探究卷積神經(jīng)網(wǎng)絡(luò)模型在圖像檢索領(lǐng)域的應(yīng)用,本文以CNN網(wǎng)絡(luò)為基礎(chǔ)模型,提出適用于MNIST手寫(xiě)字庫(kù)的圖像檢索算法,并且實(shí)現(xiàn)了較高的檢索精度。實(shí)驗(yàn)結(jié)果表明,在較為大量的圖像數(shù)據(jù)檢索領(lǐng)域,深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)模型具有相當(dāng)?shù)膶?shí)用性。
神經(jīng)網(wǎng)絡(luò)是通過(guò)計(jì)算機(jī)模擬動(dòng)物的中樞神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)進(jìn)行數(shù)據(jù)的處理,使得計(jì)算機(jī)能夠像人腦一樣識(shí)別和處理輸入的數(shù)據(jù),并且能夠具有一定的學(xué)習(xí)能力。
神經(jīng)元由若干個(gè)二進(jìn)制輸入和一個(gè)二進(jìn)制輸出,是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)運(yùn)算單元。
圖1 神經(jīng)元結(jié)構(gòu)
神經(jīng)元運(yùn)算需要激活函數(shù),本文采用的激活函數(shù)為sigmoid函數(shù)。其公式如下:
神經(jīng)網(wǎng)絡(luò)即將多個(gè)神經(jīng)元進(jìn)行連接,下一個(gè)神經(jīng)元的輸入即為上一個(gè)神經(jīng)元的輸出,由此構(gòu)成多級(jí)別的運(yùn)算,運(yùn)算式如下。
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練即通過(guò)參數(shù)與激活函數(shù)來(lái)提取圖像的特征,由此可以根據(jù)圖像的特征向量對(duì)圖片進(jìn)行分類與檢索,對(duì)于參數(shù)的調(diào)整可以有效修正網(wǎng)絡(luò)的權(quán)重,使得代價(jià)函數(shù)最小化。
同時(shí)本神經(jīng)網(wǎng)絡(luò)的softmax監(jiān)督算法代價(jià)函數(shù)如下:
使用網(wǎng)絡(luò)模型使用交叉熵的形式算出的預(yù)期值與實(shí)際值之間的距離,為式(1-6)
使用最小化交叉熵的形式更新每個(gè)結(jié)點(diǎn)的權(quán)重和偏置,然后將整體代價(jià)函數(shù)對(duì)W和b求偏導(dǎo),通過(guò)這樣的方式訓(xùn)練出更好的卷積核,從而訓(xùn)練出誤差率更小的神經(jīng)網(wǎng)絡(luò)模型。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)模擬動(dòng)物視覺(jué)皮層的神經(jīng)功能,對(duì)于圖像處理有著更好的支持。相比于普通的神經(jīng)網(wǎng)絡(luò),有著如下特性:
局部鏈接:卷積神經(jīng)網(wǎng)絡(luò)在每一層之間并不將所有的神經(jīng)元都進(jìn)行鏈接,每一個(gè)神經(jīng)元都只連接一部分下層神經(jīng)元構(gòu)成局部連接,可以有效降低訓(xùn)練參數(shù),提升訓(xùn)練效率。
池化采樣:通過(guò)卷積提取特征將產(chǎn)生大量運(yùn)算與數(shù)據(jù),可以將卷積結(jié)果劃分并采取劃分中的特殊值作為采樣。
Softmax回歸:為了使神經(jīng)元的輸出變?yōu)楦怕市问剑梢允褂霉剑?/p>
MNIST手寫(xiě)字識(shí)別庫(kù)包含了一系列的二進(jìn)制手寫(xiě)字圖像,訓(xùn)練集與測(cè)試集中各有60000與10000張28×28的歸一化圖片,是十分適宜的圖像檢索數(shù)據(jù)庫(kù)。
由文獻(xiàn)[1]可知,LeNet-5對(duì)于手寫(xiě)字的識(shí)別十分高效,因此本文選擇其為實(shí)驗(yàn)測(cè)試的網(wǎng)絡(luò)模型。
神經(jīng)網(wǎng)絡(luò)模型的具體建立如下:
(1)確立參數(shù),learningrate=0.1,batchsize=100,epoch=20,以此為基準(zhǔn)進(jìn)行模型的訓(xùn)練與測(cè)試。
(2)利用M-P神經(jīng)元模型模擬每個(gè)像素點(diǎn)的輸入
(3)使用激活函數(shù)激活神經(jīng)元輸出的值,本方法內(nèi)使用sigmoid函數(shù)。
(4)設(shè)立卷積層得到更深層次的特征圖。
(5)設(shè)立池化層使用Max-Pooling方法進(jìn)行特征圖的壓縮。
(6)利用softmax方法事先進(jìn)行比對(duì)圖像類別的分類。
圖2 CNN結(jié)構(gòu)示意圖
將實(shí)驗(yàn)圖片作為輸入后,在前向傳播的過(guò)程中通過(guò)有6個(gè)卷積核的C1經(jīng)過(guò)提取得到六個(gè)28×28的圖片。之后經(jīng)過(guò)一個(gè)2×2的下采樣層S2得到6個(gè)14×14的降維后的特征圖像。再通過(guò)有16個(gè)卷積的卷積層C3得到16個(gè)10×10的特征圖像,同時(shí)通過(guò)下采樣層S4可以得到16個(gè)特征圖像。經(jīng)過(guò)一層全連接層后,將得到120個(gè)1×1的圖像,可以將其視為一個(gè)120維的特征向量,經(jīng)過(guò)一個(gè)卷積層與全連接層之后將得到的特征向量通過(guò)與輸出層的全連接輸出至分類器分類從而完成整個(gè)檢索過(guò)程。
本文主要實(shí)現(xiàn)了兩種圖像檢索結(jié)果,手寫(xiě)字圖像的分類,即手寫(xiě)數(shù)字圖像的數(shù)字識(shí)別與圖像相似度檢索排序。二者均利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。
在網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練后,隨機(jī)選取測(cè)試集中的圖片輸入網(wǎng)絡(luò),在經(jīng)過(guò)兩次池化與采樣的不斷重復(fù)后,輸出至全連接層的即是一個(gè)一維的向量,再經(jīng)過(guò)一個(gè)卷積層與全連接層之后,得到的一維向量就是圖片的特征向量。網(wǎng)絡(luò)的最后一層作為分類器將輸入的特征向量按訓(xùn)練結(jié)果分類,即獲得了手寫(xiě)字?jǐn)?shù)字識(shí)別的結(jié)果。
圖像相似度順序排列也是基于神經(jīng)網(wǎng)絡(luò)求解出的特征向量,即通過(guò)計(jì)算輸入圖片的特征向量與所選中圖片的特征向量的漢明距離并進(jìn)行排序從而獲得圖像相似度的排序。
實(shí)驗(yàn)最終實(shí)現(xiàn)了手寫(xiě)字?jǐn)?shù)字的識(shí)別與依據(jù)圖片相似度進(jìn)行匹配,示意圖如圖3:
圖3 實(shí)驗(yàn)實(shí)現(xiàn)示意圖
輸入數(shù)據(jù)為MNIST手寫(xiě)字庫(kù),通過(guò)選取庫(kù)中已有的60000張手寫(xiě)字訓(xùn)練圖片從而獲取訓(xùn)練完成的網(wǎng)絡(luò)。當(dāng)我們輸入一張測(cè)試圖片時(shí),可以通過(guò)對(duì)于圖片特征向量的提取對(duì)其進(jìn)行分類,同時(shí)我們?cè)跍y(cè)試部分增添了通過(guò)與特征向量對(duì)比獲取圖像相似度,從而對(duì)與輸入圖片相似度較高的圖片進(jìn)行一個(gè)相似度由高到低的排序。
圖像分類的結(jié)果如圖4所示,相似度排序的結(jié)果如圖5所示。
圖4 圖像識(shí)別的準(zhǔn)確率圖示
圖5 相似度排序結(jié)果(左圖為排序前)
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別分類算法與圖像相似度排序算法,利用sigmoid激活函數(shù)與卷積采樣相結(jié)合的神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了高準(zhǔn)確率的圖像識(shí)別分類結(jié)果與基于圖像特征向量的相似度排序功能。實(shí)驗(yàn)結(jié)果表明,卷積神經(jīng)網(wǎng)絡(luò)在圖像檢索領(lǐng)域具有較高的實(shí)用性。但對(duì)于網(wǎng)絡(luò)輸入的圖片大小有所限制,圖片檢索精度仍有提高空間,網(wǎng)絡(luò)訓(xùn)練時(shí)間較長(zhǎng)等問(wèn)題,在未來(lái)的工作中,也可以考慮進(jìn)一步優(yōu)化網(wǎng)絡(luò)模型與圖像特征提取算法,從而提高檢索的精確程度。
[1]Y.Lecun,L.Bottou,Y.Bingo,P.Hanffer. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE.1998.
[2]Hearst M A,Dumais S T,Osman E, et a1.Support vector machines [J]. Intelligent Systems and their Applications, IEEE,1999,13(4):18-28.
[3]孫志軍,薛磊,許陽(yáng)明,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究.2012,29(8):2806-2810.
[4]鄭瑩雪.基于深度學(xué)習(xí)的圖像檢索[D].吉林大學(xué),2016.
[5]曹衛(wèi)娜.基于深度學(xué)習(xí)的圖像檢索研究[D].電子科技大學(xué),2016.