陳宏彩
(1.河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所,河北 石家莊 050081; 2. 河北省信息安全認(rèn)證工程技術(shù)研究中心, 河北 石家莊 050081)
隨著交通卡口車輛視頻圖像文件的增多,車輛圖像的大規(guī)模檢索問(wèn)題變得越來(lái)越復(fù)雜。當(dāng)電子警察抓拍到的車牌圖像模糊或是涉事車輛屬于無(wú)牌、假牌或套牌等情況時(shí),如何快速、準(zhǔn)確地從海量圖像數(shù)據(jù)中找到相關(guān)車輛已成為公安和交管部門一個(gè)非常棘手的問(wèn)題。
哈希算法利用映射函數(shù)能夠?qū)⒁粋€(gè)高維特征向量轉(zhuǎn)化成一個(gè)具有緊致表達(dá)能力的二值編碼[1,2,3],哈希方法在圖像快速檢索中已經(jīng)取得了巨大成功。最近幾年,隨著深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的快速發(fā)展, 一些基于哈希方法的CNN已經(jīng)被提出并且取得了很好的效果[4,5]。根據(jù)是否利用了語(yǔ)義信息,可以把哈希方法劃分為三類:有監(jiān)督的哈希方法[6,7]、半監(jiān)督哈希方法[8]和無(wú)監(jiān)督哈希方法[1,2,3,9,10]。無(wú)監(jiān)督哈希方法不需要為訓(xùn)練數(shù)據(jù)設(shè)置標(biāo)簽,使用起來(lái)更加方便,近年來(lái),基于無(wú)監(jiān)督哈希學(xué)習(xí)方法受到持續(xù)關(guān)注。
早期的無(wú)監(jiān)督哈希利用堆疊的受限波爾茲曼機(jī)(stacked Restricted Boltzmann Machines, RBMs)進(jìn)行二進(jìn)制編碼[6,9]。然而,RBMs計(jì)算復(fù)雜度高,并且需要預(yù)訓(xùn)練,這種方法在實(shí)際應(yīng)用中并不是有效的。局部敏感哈希(Local Sensitive Hashing,LSH)是一種經(jīng)典的無(wú)監(jiān)督哈希方法。LSH[1]利用隨機(jī)投影構(gòu)造哈希函數(shù),使得在原始空間中保持較小距離的樣本在哈??臻g也保持較短的漢明距離。2009年,Salakhutdinov等人[6]提出了語(yǔ)義哈希(Semantic Hashing, SH),SH 利用RBMs作為一個(gè)自動(dòng)編碼網(wǎng)絡(luò)來(lái)生成有效的二值編碼。Lin等人[11]提出了DeepBit方法,通過(guò)插入一個(gè)潛層到先前的模型中并且結(jié)合原始圖像和它的旋轉(zhuǎn)圖像構(gòu)造一對(duì)組合訓(xùn)練數(shù)據(jù),通過(guò)結(jié)合學(xué)習(xí)一組非線性映射函數(shù),DeepBit優(yōu)化了圖像和旋轉(zhuǎn)圖像間的旋轉(zhuǎn)不變性,這個(gè)將為圖像提供旋轉(zhuǎn)不變描述子。然而,該方法不能保證模型對(duì)不同圖像能夠產(chǎn)生具有判別能力的二值編碼。2017年,黃等人[12]提出了一個(gè)非監(jiān)督三元組哈希方法(Unsupervised Triplet Hashing, UTH)用于圖像檢索,在三個(gè)公共數(shù)據(jù)集CIFAR-10,MINIST和In-shop上實(shí)現(xiàn)了快速的圖像檢索,其檢索精度也較之前方法有較大提升。
黃等人[12]提出的非監(jiān)督三元組哈希結(jié)構(gòu)利用三個(gè)標(biāo)準(zhǔn)學(xué)習(xí)有效的編碼:1)通過(guò)一個(gè)三元組損失,學(xué)習(xí)更具判別力的圖像檢索特征表示;2)最小化原始特征描述子與學(xué)習(xí)到的哈希編碼間的損失,以此保持最高圖像檢索性能;3)對(duì)于已學(xué)習(xí)到的哈希編碼,通過(guò)最大化信息熵來(lái)保持盡可能多的信息。
本文在黃等人提出的非監(jiān)督三元組哈希方法基礎(chǔ)上,設(shè)計(jì)了一個(gè)車輛圖像快速檢索框架(UTH-CR),整個(gè)模型結(jié)構(gòu)如圖1所示。結(jié)構(gòu)的輸入是一個(gè)圖像三元組,包含一個(gè)錨點(diǎn)圖像,錨點(diǎn)圖像對(duì)應(yīng)的旋轉(zhuǎn)圖像和一個(gè)隨機(jī)圖像。在框架中這些圖像三元組共享參數(shù)。在UTH-CR中,使用文獻(xiàn)[12]提出的三個(gè)標(biāo)準(zhǔn)學(xué)習(xí)有效的編碼。
圖1 非監(jiān)督三元組哈希車輛圖像檢索框架(UTH-CR)
假設(shè)LT是一個(gè)定義的三元組損失函數(shù),LQ是定義的量化損失函數(shù),LE定義熵?fù)p失函數(shù)。定義一個(gè)統(tǒng)一的損失函數(shù):
L=αLT+βLQ+γLE
(1)
其中,α,β和γ是每個(gè)目標(biāo)的參數(shù)。下面各節(jié)將對(duì)這些損失函數(shù)作出解釋。
為了使哈希編碼具有更強(qiáng)的判別力,根據(jù)UTH方法[12]構(gòu)建一個(gè)非監(jiān)督三元組神經(jīng)網(wǎng)絡(luò)。從非標(biāo)簽數(shù)據(jù)中構(gòu)建一個(gè)三元組訓(xùn)練集合,這個(gè)三元組由三部分構(gòu)成:非標(biāo)簽集合中的一張圖像(錨點(diǎn)圖像)、錨點(diǎn)圖像對(duì)應(yīng)的旋轉(zhuǎn)圖像、數(shù)據(jù)集中除了錨點(diǎn)圖像以外隨機(jī)挑選的一張圖像。假設(shè)旋轉(zhuǎn)圖像和錨點(diǎn)圖像間的距離小于錨點(diǎn)圖像和隨機(jī)挑選圖像間的距離。
在訓(xùn)練數(shù)據(jù)的預(yù)處理中,對(duì)每張圖像p進(jìn)行一些固定角度旋轉(zhuǎn)得到p+,除了圖像本身外,隨機(jī)選擇一張圖像作為p-,這些圖像構(gòu)成了一個(gè)三元組(p,p+,p-)。
假設(shè)(p,p+,p-)定義了一個(gè)三元組例子。F( )定義為已經(jīng)學(xué)習(xí)到的哈希函數(shù)。特別地,F(xiàn)(p)是選定錨點(diǎn)圖像的特征,F(xiàn)(p+)和 F(p-)分別是選定錨點(diǎn)圖像對(duì)應(yīng)的旋轉(zhuǎn)圖像和隨機(jī)圖像的特征。則三元組損失函數(shù)能夠表示為公式(2):
LT=max{0,m+Dε(F(p),F(p+))-Dε(F(p),F(p-))}=
(2)
其中,Dε定義兩個(gè)目標(biāo)間的歐式距離,利用L2范數(shù)計(jì)算距離,m是在這個(gè)方法中選擇的外邊距。
為了學(xué)習(xí)多個(gè)非線性哈希函數(shù),在哈希層前面增加一個(gè)激活函數(shù)層。在研究中,選擇ReLU作為激活函數(shù),因?yàn)樵谟?xùn)練過(guò)程中這個(gè)激活函數(shù)能夠阻止梯度消失問(wèn)題。通過(guò)量化輸出特征生成一個(gè)二值哈希編碼。量化規(guī)則為:
(3)
設(shè)置閾值為0.5,并且增加一個(gè)限制來(lái)縮小圖像特征量化之前和之后的檢索性能。最小化量化損失LQ定義為:
(4)
這里N是訓(xùn)練數(shù)據(jù)的數(shù)目,M是哈希編碼的長(zhǎng)度。
損失函數(shù)(4)把每一維特征的實(shí)際值壓縮成0或是1,這樣,通過(guò)使用量化的圖像特征,例如哈希編碼,其檢索性能和實(shí)際的圖像特征檢索性能是相似的。
根據(jù)信息熵理論,在編碼中,當(dāng)每一位的信息分布均勻時(shí),信息熵達(dá)到最大。因此,更高的熵意味著編碼帶有更多的信息。受這個(gè)理論和DeepBit[11]方法的啟發(fā),增加一個(gè)限制條件來(lái)促使輸出的二值編碼更加均勻。最大熵?fù)p失公式為:
(5)
把上述公式方程(2),(4)和(5)帶入方程(1)中,就能夠獲得完整的損失函數(shù)。
實(shí)驗(yàn)硬件配置為環(huán)境為內(nèi)存為16G的NVIDIA Tesla K40 GPU顯卡,CPU為Intel Core i7,主頻2GHz。
車輛圖像檢索性能指標(biāo)采用召回率(Recall)和平均查準(zhǔn)率均值(Mean Average Precision,MAP)來(lái)評(píng)估,各指標(biāo)定義如下:
(6)
(7)
為了測(cè)試本文構(gòu)建的非監(jiān)督哈希方法在車輛圖像檢索中的性能,構(gòu)建了一個(gè)車輛圖像數(shù)據(jù)庫(kù)CAR-CR進(jìn)行評(píng)估。車輛圖像總數(shù)有5120張,選擇3600張用于訓(xùn)練,剩下的1520張用于測(cè)試,車輛類別數(shù)目為240類。同時(shí),為了測(cè)試本文構(gòu)建的車輛檢索方法UTH-CR的有效性,與經(jīng)典的的非監(jiān)督哈希方法:LSH[1],DeepBit[11]進(jìn)行了比較。與前面的研究類似,我們利用兩個(gè)被廣泛采用的度量估計(jì)哈希方法的性能:前1000張的平均正確率均值(MAP)和召回率曲線。
利用開(kāi)源的Caffe框架進(jìn)行實(shí)驗(yàn),使用VGGNet模型進(jìn)行預(yù)訓(xùn)練,在激活函數(shù)ReLU層之前增加一個(gè)新的哈希層。采用隨機(jī)梯度下降法更新參數(shù)。當(dāng)生成p+時(shí),分別以-10度,-5度,5度,10度旋轉(zhuǎn)每張圖像。在訓(xùn)練過(guò)程,設(shè)置α=β=γ=1,并且與DeepBit[11]的設(shè)置一致。首先,使用原始訓(xùn)練數(shù)據(jù)通過(guò)最小化量化誤差和熵誤差更新網(wǎng)絡(luò)的參數(shù),其次,利用已經(jīng)構(gòu)造的三元組例子增加一個(gè)三元組損失來(lái)調(diào)整網(wǎng)絡(luò)參數(shù)。在CAR-CR數(shù)據(jù)庫(kù)中,分別設(shè)置哈希層的輸出為32位,64位和128位。
遵循DeepBit方法,隨機(jī)采樣1000張圖像作為查詢圖像。表1給出了LSH方法[1]、DeepBit方法[11]和本文方法UTH-CR在CAR-CR數(shù)據(jù)庫(kù)中top1000的MAP值。從MAP結(jié)果看出,與DeepBit方法相比,本文方法在32位,64位,128位哈希編碼中提升的檢索精度分別為10.33%,9.91%和5.33%。這意味著本文設(shè)計(jì)的車輛檢索方法在緊致哈希編碼上比DeepBit方法具有更高的檢索精度。
表1 不同非監(jiān)督哈希方法在CAR-CR數(shù)據(jù)庫(kù)中的平均正確率均值(MAP,%)
LSH方法[1]、DeepBit方法[11]和本文方法UTH-CR的召回率曲線如圖2所示。圖2中(a)、(b)、(c)分別對(duì)應(yīng)哈希層輸出為32位、64位和128位的情況。從圖2三張圖可以看出,本文設(shè)計(jì)的UTH-CR車輛檢索方法在召回率上要比其他兩個(gè)非監(jiān)督哈希方法更加有優(yōu)勢(shì),而且隨著哈希層輸出位數(shù)的增多,同等召回率下,車輛檢索的精度也不斷提高。例如,當(dāng)哈希層輸出是64位情況下,UTH-CR方法在召回率等于0.5時(shí),其檢索精度為0.312,如圖2(b)紅色曲線;而當(dāng)哈希層輸出位數(shù)增大到128位時(shí),該方法在召回率等于0.5時(shí),其檢索精度達(dá)到0.388。這表明本文設(shè)計(jì)的UTH-CR方法能夠?qū)W習(xí)到用于車輛圖像檢索更具判別能力的哈希編碼。
圖2 在CAR-CR數(shù)據(jù)庫(kù)中不同方法的召回率曲線
本文設(shè)計(jì)了一個(gè)基于非監(jiān)督三元組哈希編碼的車輛圖像檢索方法(UTH-CR)。UTH-CR是由一個(gè)三元組網(wǎng)絡(luò)結(jié)構(gòu),這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)了下面三個(gè)目標(biāo):1)用于車輛圖像快速檢索的判別表示;2)精確的二值特征描述子;3)最大化已學(xué)習(xí)哈希編碼的信息。在自建車輛數(shù)據(jù)庫(kù)CAR-CR上的大量實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的無(wú)監(jiān)督三元組哈希車輛檢索方法能夠?qū)崿F(xiàn)較準(zhǔn)確的車輛圖像檢索。
[1] Sariel Har-Peled,Piotr Indyk,Rajeev Motwani.Approximate nearest neighbor:Towards removing the curse of dimensionality[J].Theory of computing,2012,8(1):321-350.
[2] Yunchao Gong,Svetlana Lazebnik.Iterative quantization: A procrustean approach to learning binary codes[J].Computer Vision and Pattern Recognition (CVPR),IEEE,2011,817-824.
[3] Yair Weiss,Antonio Torralba,Rob Fergus.Spectral hashing[J].Advances in neural information processing systems,2009,1753-1760.
[4] 劉冶,潘炎,夏榕楷,等.FP-CNNH:一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的快速圖像哈希算法[J]. 計(jì)算機(jī)科學(xué),2016,43(9): 39-46.
[5] 柯圣財(cái),趙永威,李弼程,等.基于卷積神經(jīng)網(wǎng)絡(luò)和監(jiān)督核哈希的圖像檢索方法[J].電子學(xué)報(bào),2017,45(1): 157-163.
[6] Ruslan Salakhutdinov,Geoffrey Hinton.Semantic hashing[J].International Journal of Approximate Reasoning,2009,50(7):969-978.
[7] Lin J,Morere O,Chandrasekhar V,et al.Deephash: Getting regularization,depth and fine-tuning right[J].arXiv preprint arXiv:1501.04711,2015.
[8] Jun Wang,Sanjiv Kumar,Shih-Fu Chang.Semisupervised hashing for large-scale search[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(12):2393-2406.
[9] Jie Lin,Olivier Morere,Julie Petta,Vijay Chandrasekhar,Antoine Veillard.Tiny descriptors for image retrieval with unsupervised triplet hashing[J].arXiv preprint arXiv:1511.03055,2015.
[10] Kevin Lin,Jiwen Lu,Chu-Song Chen,Jie Zhou.Learning compact binary descriptors with unsupervised deep neural networks[J].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016,1183-1192.
[11] Lin K,Lu J,Chen C S,et al.Learning compact binary descriptors with unsupervised deep neural networks[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:1183-1192.
[12] Huang S,Xiong Y,Zhang Y,et al.Unsupervised Triplet Hashing for Fast Image Retrieval[J].arXiv preprint arXiv:1702.08798,2017.
[13] Yosinski J,Clune J,Bengio Y,et al.How transferable are features in deep neural networks?[C]//Advances in neural information processing systems.2014:3320-3328.