石靈奇,王玉玫
(華北計(jì)算技術(shù)研究所,北京 100083)
基于內(nèi)容的圖像檢索(CBIR)是計(jì)算機(jī)視覺(jué)領(lǐng)域重要的研究分支,近年來(lái)隨著圖像數(shù)據(jù)的大規(guī)模增長(zhǎng),傳統(tǒng)的圖像檢索方式不能滿足準(zhǔn)確率和效率上的要求,因此卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)成為圖像檢索領(lǐng)域更重要的工具[1]。
由于CNN 在提取圖像特征時(shí)對(duì)于圖像的全部特征等價(jià)處理,因此其提取到的圖像特征不僅包含目標(biāo)信息,還包含雜亂的背景信息。文中提出一種改進(jìn)的殘差注意力網(wǎng)絡(luò)(Residual Attention Network,RAN)[2]用于提取圖像特征,該網(wǎng)絡(luò)結(jié)合了殘差網(wǎng)絡(luò)(Residual Network,ResNet)[3]和注意力機(jī)制[4]的特點(diǎn),將提取出的特征向量輸入到哈希層得到圖像的二進(jìn)制編碼,最后通過(guò)對(duì)比待查詢圖像的哈希碼與訓(xùn)練集中每一張圖像的哈希碼之間的漢明距離來(lái)檢索圖像,實(shí)現(xiàn)端到端的訓(xùn)練和檢索。
近年來(lái),CNN 在圖像分類和目標(biāo)檢測(cè)等視覺(jué)任務(wù)上取得了重大突破[5],與人工提取特征相比,CNN可以通過(guò)自我學(xué)習(xí)的方式得到圖像的高級(jí)語(yǔ)義特征表達(dá),提取的特征也更準(zhǔn)確[6-7]。但由于CNN 在提取圖像特征時(shí)對(duì)于圖像的全部特征等價(jià)處理,沒(méi)有對(duì)圖像重點(diǎn)區(qū)域進(jìn)行關(guān)注,因此當(dāng)圖片背景信息復(fù)雜時(shí),CNN 無(wú)法只關(guān)注目標(biāo)信息。
在注意力研究的早期階段,通過(guò)分析大腦成像機(jī)制并采用門(mén)控機(jī)制對(duì)注意力建模。近年來(lái),越來(lái)越多的注意力研究工作與深度學(xué)習(xí)相結(jié)合。其中從注意力域的角度分析軟注意力的實(shí)現(xiàn)方法主要包括3 種注意力域,即空間域、通道域和混合域。
1)空間域:圖片中的空間域信息通過(guò)空間轉(zhuǎn)換器[8]模塊可以提取出關(guān)鍵信息。但空間域注意力對(duì)所有通道中的特征向量進(jìn)行相同操作,容易忽略通道域中的特征信息,其對(duì)應(yīng)的激活函數(shù)公式為:
其中,i表示位置,c代表通道。meanc代表c通道的平均值,stdc代表c通道的標(biāo)準(zhǔn)差。
2)通道域:對(duì)于輸入圖像,使用多個(gè)卷積核可以從圖像中提取多種特征[9]。輸出圖像的每個(gè)通道上的特征就代表該圖像在不同卷積核上的分量,產(chǎn)生的多個(gè)通道對(duì)于圖像關(guān)鍵信息的貢獻(xiàn)不同。為了表示每個(gè)通道與關(guān)鍵信息之間的關(guān)聯(lián),可以給每個(gè)通道上的特征都增加相應(yīng)權(quán)重。但該方法對(duì)每個(gè)通道的特征向量都進(jìn)行了全局平均池化(global averagepooling),忽略了每個(gè)通道的局部特征,其對(duì)應(yīng)的激活函數(shù)公式為:
3)混合域:混合域注意力機(jī)制結(jié)合以上兩種注意力域的優(yōu)點(diǎn),其原理是將注意力機(jī)制與ResNet 結(jié)合使用。殘差注意力學(xué)習(xí)機(jī)制把掩碼操作之前的特征向量和掩碼操作之后的特征向量結(jié)合起來(lái)作為下一層的輸入,以便于定位圖像的關(guān)鍵特征,其對(duì)應(yīng)的sigmoid 激活函數(shù)公式為:
提出的基于RAN 和深度哈希的模型結(jié)合了ResNet 和混合域注意力機(jī)制的優(yōu)點(diǎn),將圖像輸入到RAN 模型中進(jìn)行特征提取,然后將提取到的特征向量輸入到哈希層得到圖像的二進(jìn)制編碼[10],可用于圖像間的相似度測(cè)量,實(shí)現(xiàn)端到端的圖像檢索。
該文在模型設(shè)計(jì)上主要基于RAN 的結(jié)構(gòu)層次,根據(jù)圖像檢索的特點(diǎn),對(duì)RAN 中的模型進(jìn)行改進(jìn),以便于提高圖像特征提取和相似度度量的效率。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)由兩部分組成,分別是RAN 和哈希層。其中RAN 主要由4 個(gè)殘差單元和3 個(gè)注意力模塊交叉堆疊而成,再經(jīng)過(guò)哈希層得到圖像的二進(jìn)制編碼。文中提出的模型結(jié)構(gòu)如圖1 所示。
圖1 基于RAN與深度哈希算法的模型結(jié)構(gòu)
文中選取ResNet-50 中的子結(jié)構(gòu)作為殘差單元。由于AlexNet、VGGNet 等網(wǎng)絡(luò)加深到一定層次后繼續(xù)加深也不能提升效果,反而會(huì)導(dǎo)致訓(xùn)練集準(zhǔn)確率下降。ResNet 的出現(xiàn)很大程度上解決了深層網(wǎng)絡(luò)退化和梯度消失問(wèn)題,其可使網(wǎng)絡(luò)加深到更深的層次。使用殘差學(xué)習(xí)結(jié)構(gòu)H(x)=F(x)+x代替原來(lái)的結(jié)構(gòu)H(x)=x,這樣更容易更新冗余層的參數(shù)。而殘差學(xué)習(xí)結(jié)構(gòu)也使得在反向傳播更新參數(shù)時(shí)不會(huì)導(dǎo)致梯度消失,殘差學(xué)習(xí)結(jié)構(gòu)如圖2 所示。
圖2 殘差學(xué)習(xí)結(jié)構(gòu)
注意力模塊由主干分支和掩碼分支組成,主干分支用于提取特征,掩碼分支進(jìn)行特征選擇。其中掩碼分支使用自底向上、自頂向下的結(jié)構(gòu)學(xué)習(xí)與該分支輸入圖像相同大小的掩碼,得到注意力特征圖,該特征圖上的每個(gè)像素值相當(dāng)于輸入圖像上對(duì)應(yīng)位置像素的權(quán)重,它會(huì)增強(qiáng)有意義的特征且抑制無(wú)意義的特征。將主干分支與掩碼分支輸出的特征圖的對(duì)應(yīng)位置元素相乘得到加權(quán)注意力特征圖。此時(shí)注意力模塊H的輸出為:
其中,i代表圖像中的位置,c代表通道索引下標(biāo)[11],M(x)代表掩碼分支的輸出,T(x)代表主干分支的輸出。
由于注意力模塊中掩碼分支的激活函數(shù)是sigmoid 函數(shù),其輸出值在(0,1)之間,因此通過(guò)一系列乘法將會(huì)導(dǎo)致特征圖的值變小,原始網(wǎng)絡(luò)的特性也可能被破壞,導(dǎo)致層次極深時(shí)訓(xùn)練困難。因此可使用類似殘差學(xué)習(xí)的方式解決該問(wèn)題,即將上述得到的加權(quán)注意力特征圖與主干特征圖中對(duì)應(yīng)位置元素相加,此時(shí)注意力模塊的輸出為:
當(dāng)M(x)=0 時(shí),該層的輸出等于T(x)且該層的效果不會(huì)變差,這使得主干分支輸出的特征圖中顯著的特征得以進(jìn)一步增強(qiáng)。通過(guò)將RAN 進(jìn)行堆疊就可以使模型的深度達(dá)到很深的層次,可以逐漸提升網(wǎng)絡(luò)的表達(dá)能力。注意力模塊結(jié)構(gòu)如圖3 所示。
圖3 注意力模塊結(jié)構(gòu)
在注意力模塊中,掩碼分支輸入特征的掩碼梯度為:
其中,θ代表掩膜分支的參數(shù),φ代表主干分支的參數(shù)。這使得注意力模塊對(duì)噪聲的魯棒性增強(qiáng),能有效減少噪聲對(duì)梯度更新的影響[12]。
在ResNet 特征提取模塊的各殘差單元之間加入注意力模塊,可使得該網(wǎng)絡(luò)提取的特征更好地聚焦于圖像的目標(biāo)對(duì)象。通過(guò)RAN 提取出圖像的高維特征表達(dá),然后將該特征向量輸入到哈希層得到圖像的二進(jìn)制編碼。文中使用的基于RAN 與深度哈希算法的模型參數(shù)如表1 所示。
通過(guò)RAN 與深度哈希算法,借助注意力機(jī)制識(shí)別出圖像中目標(biāo)對(duì)象的近似位置,將圖像映射成專注的特征向量,然后將該特征向量通過(guò)哈希層映射成二值編碼。其中哈希碼編碼的主要對(duì)象為圖像的目標(biāo)信息。
為了解決圖像檢索中的檢索效率問(wèn)題,提出一種改進(jìn)的RAN 模型,將原來(lái)RAN 模型中的最后一層——分類層替換為哈希層,該哈希層把網(wǎng)絡(luò)提取出的高維圖像特征表達(dá)映射成二進(jìn)制編碼。哈希層中使用tanh 函數(shù)作為激活函數(shù),可將哈希層的連續(xù)輸出用作哈希碼的松弛[13]。深度哈希函數(shù)定義為:
表1 基于RAN與深度哈希算法的模型參數(shù)
其中,w表示哈希層的權(quán)重,f(x)為上一層輸出的特征向量。
文中將相似性損失函數(shù)設(shè)置為如下公式:
其中,Y=[y1,y2,…,yn]表示標(biāo)簽向量,W表示權(quán)重值,B表示二進(jìn)制哈希碼的集合,其中第i個(gè)樣本的哈希碼bi∈{-1,1}。
哈希碼從連續(xù)值經(jīng)過(guò)閾值化得到離散值的過(guò)程中會(huì)產(chǎn)生一定的量化誤差[13-14],為促使深度哈希網(wǎng)絡(luò)的輸出接近二值編碼,文中引入量化損失函數(shù),其公式如下:
其中,di表示閾值化后的離散值哈希碼,c表示未經(jīng)閾值化的連續(xù)值編碼,||·||2是l2范數(shù)。
通過(guò)整合相似性損失和量化損失,得到最終的目標(biāo)損失函數(shù),公式如下:
其中,a為用于控制量化損失的比重系數(shù)。
文中實(shí)驗(yàn)使用Flickr 和NUS-WIDE 數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練和驗(yàn)證[13,15]。其中Flickr 數(shù)據(jù)集包含25 000 張圖片,每張圖像至少和38 個(gè)語(yǔ)義標(biāo)簽中的一個(gè)相關(guān)聯(lián)。從中選取5 000 張圖片,測(cè)試集與訓(xùn)練集比例為4∶1,故訓(xùn)練集包含4 000 張圖片,測(cè)試集包含1 000 張圖片。NUS-WIDE 數(shù)據(jù)集包含81 個(gè)對(duì)象類別,每張圖像都與一個(gè)或多個(gè)標(biāo)簽相關(guān)聯(lián)。從中選取21 個(gè)標(biāo)簽,從每個(gè)標(biāo)簽中挑選600 張圖片,訓(xùn)練集與測(cè)試集比例為5∶1。因此訓(xùn)練集圖片共10 500張,測(cè)試集圖片共2 100 張。實(shí)驗(yàn)中,將模型的輸入圖像大小調(diào)整為224*224。
該實(shí)驗(yàn)基于Keras 深度學(xué)習(xí)框架實(shí)現(xiàn),編程語(yǔ)言為Python3.7。GPU 并行開(kāi)發(fā)環(huán)境為CUDA 10.0、CuDNN 7.0 版本。在GPU 加速下完成算法訓(xùn)練與測(cè)試。實(shí)驗(yàn)中使用隨機(jī)梯度下降算法訓(xùn)練網(wǎng)絡(luò),使用批歸一化加快訓(xùn)練速度。
為評(píng)估提出的基于RAN 與深度哈希算法的模型在圖像檢索應(yīng)用上的具體效果,在相同訓(xùn)練集的條件下,將改進(jìn)的模型與ResNet 以及4 種哈希方法分別比較,其中無(wú)監(jiān)督哈希方法選取局部敏感哈希和譜哈希。監(jiān)督哈希方法選取KSH 和DLBHC[16]。為評(píng)估圖像檢索的質(zhì)量,該實(shí)驗(yàn)采用不同位數(shù)的mAP(mean Average Precision)和不同返回最近鄰樣本數(shù)的準(zhǔn)確率作為評(píng)估指標(biāo)。
表2、表3 分別為Flickr 數(shù)據(jù)集與NUS-WIDE 數(shù)據(jù)集中不同bit 位的mAP 結(jié)果,可以看出,相較于ResNet,文中使用的網(wǎng)絡(luò)結(jié)構(gòu)在Flickr 數(shù)據(jù)集上對(duì)應(yīng)不同哈希編碼長(zhǎng)度的mAP 提升了1.2%~2.3%。在NUS-WIDE 數(shù)據(jù)集上對(duì)應(yīng)不同哈希編碼長(zhǎng)度的mAP提升了1.1%~2.7%。
與其他哈希方法中表現(xiàn)最佳的DLBHC 對(duì)比,文中改進(jìn)的方法在Flickr 數(shù)據(jù)集和NUS-WIDE 數(shù)據(jù)集上對(duì)應(yīng)不同哈希編碼長(zhǎng)度的mAP 也分別提升了大約19%和22%。
圖4、圖5 分別表示Flickr 和NUS-WIDE 數(shù)據(jù)集中不同返回最近鄰樣本數(shù)的準(zhǔn)確率,可以看出該實(shí)驗(yàn)方法有較高的準(zhǔn)確率且性能較穩(wěn)定。
表2 Flickr數(shù)據(jù)集中不同bit位的mAP對(duì)比
表3 NUS-WIDE數(shù)據(jù)集中不同bit位的mAP對(duì)比
圖4 Flickr數(shù)據(jù)集上不同返回最近鄰個(gè)數(shù)的準(zhǔn)確率
圖5 NUS-WIDE數(shù)據(jù)集上不同返回最近鄰個(gè)數(shù)的準(zhǔn)確率
該文從解決CNN 提取的圖像特征可能包括圖像的雜亂背景信息角度出發(fā),設(shè)計(jì)了基于RAN 與深度哈希算法的圖像檢索模型,將ResNet、注意力模塊和哈希算法集成到同一網(wǎng)絡(luò),實(shí)現(xiàn)端到端的圖像檢索,提高了圖像檢索的準(zhǔn)確率。