方潛生,李 惠,蘇亮亮,楊亞龍
(1. 安徽建筑大學(xué)智能建筑與建筑節(jié)能安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230601;2. 安徽省建設(shè)領(lǐng)域碳達(dá)峰碳中和戰(zhàn)略研究院,安徽 合肥 230601;3. 安徽建筑大學(xué)電子與信息工程學(xué)院,安徽 合肥 230022)
當(dāng)前基于內(nèi)容的圖像檢索技術(shù)(Content-Based Image Retrieval,CBIR)[1]已得到廣泛的研究,然而絕大部分都是基于圖像搜索圖像,而現(xiàn)實(shí)中卻存在待檢索的圖像示例不容易獲取或者不存在,導(dǎo)致不能實(shí)現(xiàn)圖像的查找與檢索,于是手繪草圖[2]作為一種能夠直觀表達(dá)用戶檢索意圖的輸入模態(tài),可以有效彌補(bǔ)缺少待檢索圖像的不足,并且伴隨著觸摸屏等電子設(shè)備的普及,使得手繪草圖的繪制也變得更加簡單、便捷。由此導(dǎo)致基于草圖的圖像檢索技術(shù)(Sketch-Based Image Retrieval,SBIR)[3]逐漸成為了計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)。
目前的SBIR研究可以劃分為兩大類,一類是基于手工特征設(shè)計(jì)的SBIR研究。手工特征包括顏色、紋理、形狀、梯度等,能夠有效刻畫邊緣輪廓信息,且相對(duì)簡單。例如常見的邊緣關(guān)系直方圖(Edge Relation Histogram,ERH)[4]、尺度不變性特征(Scale Invariant Feature Transform,SIFT)[5]、局部二值模式(Local Binary Pattern,LBP)[6]、以及方向梯度直方圖(Histogramof Gradient,HOG)[7]、視覺詞袋模型(Bag of Visual Word,BoVW)[8]等。其優(yōu)點(diǎn)是目的明確、解釋性強(qiáng)以及效率高,不足在于需要根據(jù)數(shù)據(jù)特點(diǎn)進(jìn)行設(shè)計(jì)。另一類是基于深度特征的SBIR研究,即以深度網(wǎng)絡(luò)為基礎(chǔ)來進(jìn)行特征學(xué)習(xí),如AlexNet[9]、VGG[10]、GoogleNet[11]等,這類方法往往能夠獲得更加接近語義層面的特征表示,然而前提是需要大量數(shù)據(jù)進(jìn)行訓(xùn)練以支撐其復(fù)雜的網(wǎng)絡(luò)模型。
綜合考慮上述兩類方法的優(yōu)勢(shì),并結(jié)合手繪草圖線條輪廓豐富與語義較抽象的特點(diǎn),本文分別選取HOG特征和AlexNet網(wǎng)絡(luò),擬將傳統(tǒng)手工特征與深度特征進(jìn)行融合提出了基于HOG與深度特征融合的草圖檢索方法,通過在公開數(shù)據(jù)集上與其它方法的實(shí)驗(yàn)對(duì)比,其結(jié)果顯示了本文方法的有效性,同時(shí)本文方法同樣可以擴(kuò)展到其它手工特征與不同深度特征的融合。
邊緣檢測(cè)是草圖-圖像檢索的基礎(chǔ),能否從復(fù)雜的自然圖像中獲取有效的邊緣圖像對(duì)草圖檢索的結(jié)果有著重要影響。邊緣檢測(cè)的目的是找到圖像中亮度變化明顯的點(diǎn)的集合。常用的邊緣檢測(cè)方法有Canny[12]、Sobel[13]等。
自然圖像經(jīng)過單純的邊緣檢測(cè)后得到的仍然是充滿冗雜信息的邊緣圖像。為了解決這個(gè)問題,本文采用多尺度[14]的Canny算子。使用比例為0.5的因子對(duì)圖像進(jìn)行下采樣,迭代進(jìn)行,最后得到圖像的尺寸大小約為200×200像素,并提取每個(gè)尺度下圖像的邊緣圖。整個(gè)過程迭代多次后停止。經(jīng)過本文多次實(shí)驗(yàn),發(fā)現(xiàn)保存第三尺度的邊緣圖可以達(dá)到邊緣信息的有效保留。圖1為整個(gè)下采樣邊緣提取過程。從圖中可以看出,相對(duì)于原始圖像的邊緣圖,第三尺度下邊緣圖中的噪聲信息顯著降低。
圖1 自然圖像及其多尺度邊緣圖
圖2 深度特征提取示意圖
在一副圖像中,局部目標(biāo)的表象和形狀能夠被梯度或邊緣的方向密度分布很好地描述。HOG作為一種在計(jì)算機(jī)視覺領(lǐng)域以及圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子,正是通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征,是草圖檢索最原始且最具有代表性的特征之一。與其它的特征描述方法相比,HOG特征對(duì)于幾何和光學(xué)等的形變都具有很好的魯棒性,能夠克服梯度特征的少量偏移和局部變形的影響。HOG特征提取算法的具體實(shí)現(xiàn)過程如下:
1)將目標(biāo)圖像M(x, y)灰度化并且歸一化。首先將目標(biāo)圖像轉(zhuǎn)化成灰度圖,其次采用gamma校正法對(duì)輸入圖像進(jìn)行歸一化,處理后可以有效地降低圖像局部的陰影和光照變化所造成的影響,以及減少噪聲的干擾。其中g(shù)amma通常取值為0.5。
M′(x,y)=(M(x,y)/255)gamma,gamma∈(0,1)
(1)
2)計(jì)算圖像中每個(gè)像素的梯度。分別由式(2)、式(3)計(jì)算出每個(gè)像素的梯度大小G(x,y)和方向θ(x,y)。其中,Gx(x,y)表示水平方向梯度,Gy(x,y)表示垂直方向梯度。
(2)
(3)
3)統(tǒng)計(jì)每個(gè)胞元(cell)的梯度方向直方圖。將檢測(cè)窗口劃分為多個(gè)cell,再將每個(gè)cell的梯度方向共360°平均分成9個(gè)方向塊(bin),接著對(duì)cell內(nèi)每個(gè)像素用梯度方向在直方圖上加權(quán)投影,得到每個(gè)cell的梯度方向直方圖。
4)生成圖像塊(block)特征描述符。將若干cell合成一個(gè)block,并將block內(nèi)所有cell的梯度方向直方圖進(jìn)行歸一化串聯(lián)處理,生成該block的特征描述符。
5)生成HOG特征描述符。將圖像作為滑動(dòng)窗在檢測(cè)窗口進(jìn)行掃描,滑動(dòng)步長為一個(gè)cell,則一個(gè)cell的特征會(huì)以不同結(jié)果出現(xiàn)在若干block中。最后將檢測(cè)窗口所有block特征描述符串聯(lián),從而即可得到該圖像的HOG特征描述符。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[15]是由多層感知機(jī)演變而來的一種網(wǎng)絡(luò)模型。自2012年AlexNet[9]被提出以來,基于CNN的深度學(xué)習(xí)技術(shù)開始應(yīng)用于圖像檢索領(lǐng)域,且逐漸成為解決相關(guān)問題的主流方法。不同于傳統(tǒng)手工設(shè)計(jì)特征的提取需要層層設(shè)計(jì),CNN網(wǎng)絡(luò)提取的深度特征能夠根據(jù)特定的任務(wù)自動(dòng)對(duì)手繪草圖與自然圖像分別進(jìn)行低、中、高多層次的深度特征學(xué)習(xí)[16,17],并且網(wǎng)絡(luò)的深度和廣度都可以進(jìn)行自主調(diào)整,彌補(bǔ)了傳統(tǒng)方法的不足。
基于CNN提取的深度特征主要分為兩類:深度全局特征與深度卷積特征。
深度全局特征具有向量化,便于提取與相似性計(jì)算等特點(diǎn),同時(shí)包含了圖像更高層次的語義信息;而深度卷積特征更關(guān)注圖像的細(xì)節(jié)信息,結(jié)構(gòu)復(fù)雜??紤]草圖信息較少,因此選用深度全局特征作為圖像的深度特征。
傳統(tǒng)的手工特征具有明確的設(shè)計(jì)目的,能夠有效刻畫圖像特定方面的信息,并且計(jì)算速度快;而基于神經(jīng)網(wǎng)絡(luò)的深度特征具有更好的語義信息,對(duì)圖像形變和旋轉(zhuǎn)不敏感。于是結(jié)合兩類特征的優(yōu)勢(shì),同時(shí)考慮到手繪草圖線條輪廓豐富與語義較抽象的特點(diǎn),嘗試將傳統(tǒng)手工特征HOG與基于AlexNet網(wǎng)絡(luò)的深度特征進(jìn)行融合后形成新的特征表示,再進(jìn)行相似性檢索。圖3給出了本文方法實(shí)現(xiàn)草圖-圖像檢索整體流程。
圖3 基于HOG與深度特征融合的草圖檢索流程
具體步驟如下:
①預(yù)處理。首先獲取數(shù)據(jù)集中所有自然圖像多尺度下的Canny邊緣圖,并保存第三尺度下的邊緣圖;對(duì)于數(shù)據(jù)集中的手繪草圖進(jìn)行下采樣,保存第三尺度下的草圖。相較于自然圖像,草圖省略了邊緣提取這一步驟。
②特征提取。先提取HOG特征。分別提取第三尺度下邊緣圖的HOG特征Fi1以及手繪草圖的HOG特征Fs1。提取深度特征。首先按照9:1的比例將預(yù)處理后的邊緣圖劃分為訓(xùn)練集與驗(yàn)證集對(duì)AlexNet網(wǎng)絡(luò)進(jìn)行訓(xùn)練,保存參數(shù)。接著在訓(xùn)練好的網(wǎng)絡(luò)中分別提取第三尺度下邊緣圖的深度特征Fi2以及手繪草圖的深度特征Fs2。
③特征融合。將HOG特征F1與深度特征F2級(jí)聯(lián)融合成新的特征表示。形成最終圖像的特征向量Fi與手繪草圖的特征向量Fs。
④相似性度量。分別計(jì)算出手繪草圖的特征向量Fs與數(shù)據(jù)集中所有圖像的特征向量Fi之間的余弦距離,按照從大到小的順序排列輸出。
本次實(shí)驗(yàn)采用Flickr15k公開數(shù)據(jù)集[18]與TU-Berlin公開數(shù)據(jù)集。
其中Flickr15k數(shù)據(jù)集由Hu等人構(gòu)建,是草圖檢索任務(wù)的常用數(shù)據(jù)集之一,其中包含BigBen、Bird、Sydney Opera等33個(gè)類別共10244張圖像。由于數(shù)據(jù)集中每個(gè)類別圖像的數(shù)量不一,從最少的Horse類21張,到最多的Eiffeltower類1607張,并且各類別圖像的復(fù)雜程度也不盡相同,由此導(dǎo)致Flickr15k數(shù)據(jù)集極具挑戰(zhàn)性。此外,該數(shù)據(jù)集的查詢草圖包含與之對(duì)應(yīng)的33個(gè)類別,每類10張,分別由10位非專業(yè)人員繪制,因此查詢草圖缺乏專業(yè)相關(guān)水平和細(xì)節(jié),且各查詢草圖之間具有很大差異。如圖4所示為Flickr15k數(shù)據(jù)集中部分類別圖像與查詢草圖示例。
圖4 Flickr15k數(shù)據(jù)集中不同類別圖像與對(duì)應(yīng)不同繪圖者的手繪草圖示例
不同于Flickr15k數(shù)據(jù)集,TU-Berlin數(shù)據(jù)集為草圖數(shù)據(jù)集,其中總共包含250類,每類80張1111×1111大小的手繪草圖。
為了驗(yàn)證本文方法的有效性,本文選取了基于Canny邊緣提取的草圖檢索[19],基于Canny邊緣提取與HOG特征的草圖檢索[20],基于AlexNet深度特征的草圖檢索[9]和基于VGG16深度特征[10]的草圖檢索,共4種方法作為對(duì)比,分別簡記為Canny、Canny+HOG、AlexNet和VGG16,實(shí)驗(yàn)發(fā)現(xiàn)基于VGG16網(wǎng)絡(luò)的草圖檢索效果反而沒有基于AlexNet的草圖檢索效果好。因此采用基于HOG與AlexNet深度特征融合的草圖檢索方法,記為AlexNet+HOG。
將以上五種算法首先在Flickr15k數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。本次實(shí)驗(yàn)采用P-R曲線與各圖像類別的平均檢索精度(mean Average Precision, mAP)以及所有類別的mAP值作為評(píng)價(jià)標(biāo)準(zhǔn)。實(shí)驗(yàn)中,將數(shù)據(jù)集按照9:1的比例進(jìn)行分割。深度網(wǎng)絡(luò)模型在訓(xùn)練集完成訓(xùn)練并收斂之后,再在測(cè)試集上進(jìn)行測(cè)試,從而獲得模型的檢索精度。如圖5為AlexNet網(wǎng)絡(luò)模型在訓(xùn)練過程中損失函數(shù)值變化情況,由圖6可知,大約在140次迭代后,趨于收斂。
圖5 TU-Berlin數(shù)據(jù)集中不同類別草圖示例
圖6 損失函數(shù)值變化圖
選取背景較為簡單的Moon圖像類別以及背景較為復(fù)雜的Eiffeltower圖像類別,通過比較這兩種特定圖像類別的P-R曲線,來對(duì)五種算法進(jìn)行對(duì)比。如圖7所示為P-R曲線。
圖7 P-R曲線
通過圖7可以發(fā)現(xiàn),無論是對(duì)于背景較為簡單的Moon圖像類別,還是對(duì)于背景較為復(fù)雜的Eiffeltower圖像類別,與其它4種算法相比,AlexNet+HOG算法(本文方法)的檢索效果都是最好的。
為了進(jìn)一步比較不同算法在實(shí)現(xiàn)SBIR任務(wù)上的結(jié)果差異,隨后在Flickr15k數(shù)據(jù)庫上進(jìn)行了全部33個(gè)圖像類別的SBIR實(shí)驗(yàn)并給出了所有類別的mAP值,其結(jié)果如表1所示。圖8用折線圖更加直觀的顯示了實(shí)驗(yàn)結(jié)果。
圖8 不同算法在Flickr15k所有圖像類別上草圖檢索的mAP值
通過圖7可以發(fā)現(xiàn),無論是對(duì)于背景較為簡單的Moon圖像類別,還是對(duì)于背景較為復(fù)雜的Eiffeltower圖像類別,與其它4種算法相比,AlexNet+HOG算法(本文方法)的檢索效果都是最好的。
為了進(jìn)一步比較不同算法在實(shí)現(xiàn)SBIR任務(wù)上的結(jié)果差異,隨后在Flickr15k數(shù)據(jù)庫上進(jìn)行了全部33個(gè)圖像類別的SBIR實(shí)驗(yàn)并給出了所有類別的mAP值,其結(jié)果如表1所示。圖8用折線圖更加直觀的顯示了實(shí)驗(yàn)結(jié)果。
從表1和圖8中可以更加直觀的說明AlexNet+HOG算法的檢索效果優(yōu)于其它四種算法。為了驗(yàn)證該結(jié)論,在TU-Berlin數(shù)據(jù)庫上繼續(xù)基于五類算法的SBIR實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 不同算法在TU-Berlin數(shù)據(jù)集上的mAP值
由表2也驗(yàn)證了本文方法最優(yōu)。由此得出如下結(jié)論:相較于其它幾類單一特征提取算法,Alexnet+HOG算法使得整個(gè)圖像類別的mAP值有所提升,檢索效果最好。另外,層數(shù)更深的VGG16網(wǎng)絡(luò)反而沒有AlexNet對(duì)草圖的檢索效果好??紤]可能是由于手繪草圖的隨意性、高抽象性以及信息量較少的原因,深層次的網(wǎng)絡(luò)更適合于色彩信息豐富的自然圖像檢索。并且,由于數(shù)據(jù)集中,各個(gè)類別的圖像數(shù)量不一,對(duì)于數(shù)量過少的類別或沒有顯著特征的類別,由于訓(xùn)練樣本過少,無法得到好的檢索結(jié)果,需要通過多種方法增加數(shù)據(jù)量。
本文嘗試一種新的草圖-圖像檢索算法,將傳統(tǒng)手工特征HOG與基于AlexNet的深度特征進(jìn)行融合,形成新的特征表示,再進(jìn)行相似性檢索。該方法不僅具有傳統(tǒng)手工特征的優(yōu)點(diǎn),能夠克服圖像中光線因素的影響,另一方面也綜合了深度學(xué)習(xí)的優(yōu)點(diǎn),對(duì)圖像形變和旋轉(zhuǎn)不敏感,并且能夠?qū)W習(xí)到更好的語義信息。通過將兩種方法得到的特征進(jìn)行融合,使得草圖檢索的性能得到了提高。在公開的數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果顯示,本文方法優(yōu)于使用單一特征的檢索方法,證明了本文方法的可行性和有效性。下一步工作考慮契合草圖應(yīng)用的具體場(chǎng)景,如建筑設(shè)計(jì)、城市安防、公安偵查等,進(jìn)一步優(yōu)化特征提取與融合策略,將融合深度特征與優(yōu)秀的手工特征的思想延伸到這些領(lǐng)域,提供新的解決途徑和方法。