余松森,陳曉升,蘇 海+,鐘 莉,張智輝
(1.華南師范大學 軟件學院,廣東 佛山 528000;2.華南師范大學 計算機學院,廣東 廣州 510000)
商標Logo是區分商品和服務來源的一種標記。目前存在的有效商標注冊量超過2274萬。平均每5.2個市場主體就擁有一件有效商標。商標的注冊需要規避已注冊的相同相似商標;商標量的增加導致商標審查員目不暇接,容易錯判誤判。商標申請人在進行商標注冊前會通過專業的商標代理機構進行商標檢索,國家商標局同意商標注冊之前會排查該商標是否與已注冊商標存在過高的相似度,若相似則無法注冊[1]。
商標圖像與普通圖像存在較大的差異,其中最常用的商標由文字和圖案組成,換句話說,該類型的商標在市場上的申請量是最普遍的,也是商標代理企業處理最多的一種類型的商標圖像。在商標圖像數據庫中檢索到一組相似度最高的商標圖像,該過程雖然可以用傳統意義的圖像檢索算法來實現,但是檢索的效果卻不盡人意,究其原因是商標圖像存在以下特點:①圖案單一,像素點之間沒有太大的聯系;②包含相同文字的商標圖像,其字體形狀在不同商標圖像中呈現較大差異,但屬于相似商標;③不同商標圖像中包含的不同文字可能為同音字,但屬于相似商標。
綜上所述,商標圖像檢索與傳統圖像檢索的最大差異在于,與查詢目標圖像相似的一組商標圖像在視覺上并不一定特別相似。因此,本文主要研究基于內容的圖像檢索技術(CBIR)[2]在提高商標檢索系統效率中的應用,提出一種特征融合的商標檢索方法。CBIR的關鍵技術在于特征提取和特征匹配,提取圖像的關鍵信息作為特征描述符,并以此作為檢索的匹配依據。
早期的商標檢索系統,大多方法利用基于形狀特征的方法來實現,因為當時的商標圖像通常是二進制圖像,由簡單的圖形單元組成,采用形狀描述符就能很好地表示商標圖像。Wu等[3]提出了一種基于形狀區域特征和邊界特征融合的商標圖像檢索方法。Rusinol等[4]通過計算圖像的顏色直方圖結合形狀特征作為檢索的綜合特征。雷蕾等[5]提出使用Zernike矩作為全局特征,并使用邊緣梯度共現矩陣作為局部特征,將特征進行融合檢索從而提高檢索精度與魯棒性。胡明娣等[6]提出了一種新的顏色特征量化算法與HU不變矩的形狀特征進行融合進一步提高檢索效率。Yan Y等[7]提出了顏色和空間描述符的自適應融合,用于彩色商標圖像檢索。將顏色量化和k均值相結合以進行有效的主色提取,通過分析圖像直方圖,實現這兩個功能的自適應融合,從而實現更有效準確的商標圖像檢索。Qing等[8]提取圖像的LBP特征來作為圖像檢索的描述符。還有一些其它流行的基于SIFT的方法,比如將SIFT與MSER相結合進行圖像匹配和PCA-sift等。Chen[9]提出了一種基于SIFT的商標圖像搜索算法。通過計算鄰近區域的梯度直方圖來檢測和描述特征點。再通過歐幾里得距離得到從兩個對應圖像中提取的SIFT特征之間的相似性。汪慧蘭等[10]提出一種將小波變換與SIFT特征相結合的方法,用小波變換提取到的圖像輪廓與SIFT特征進行融合。商標圖像規模的增多使得哈希技術也應用到商標圖像檢索技術中,哈希檢索可以將圖片的高維內容特征轉為低維的哈希序列,降低了圖像檢索對計算機內存的要求,加快了檢索速度。Yannis等[11]將CNN最后一個卷積層提取出的特征進行加權,改變特征平面權重的同時也對每個通道進行加權,取得了不錯的效果。Noh H等[12]提出了一種大規模商標圖像檢索技術,利用采用全卷積神經網絡模型ResNet50提取局部密集特征,提取的特征具有語義局部特征,還引入了一個對關鍵點進行選取的注意力機制,使特征匹配更加精確。Perez等[13]提出使用兩個經過預訓練的VGG卷積神經網絡在商標圖像的數據庫中分別對商標圖像的視覺相似性和概念相似性進行了微調訓練,結果表明這兩種方法融合在METU數據庫上取得了不錯的效果。以上的方法能提取到商標圖像很好的視覺特征,而絕大部分常用的商標包含文字,由于字體千變萬化,相同文字在視覺感知上卻不盡相同。然而,這部分文字信息對檢索算法確是非常關鍵的,對于商標而言,包含相同或形近字就是近似商標的充分非必要條件。但也由于這部分關鍵信息在視覺感知上差異較大,導致該文字信息不僅沒有提取到,反而使得特征的差異更大了。
基于以上的研究,本文提出一種融合卷積特征和文字特征的方法來作為商標圖像的描述,主要有以下兩點貢獻:①針對文字特征匹配改進編輯距離算法,提高形近字的匹配度。②提出一種基于結果融合的重排序方法,將卷積特征檢索結果與文字特征匹配結果進行融合重排序,得到最終的結果。
本節介紹詳細的商標檢索方法,如圖1所示,本文檢索的方法在基于深度學習的基礎上融合文字檢索的結果,特征提取過程需要對商標圖像進行文字識別和卷積特征提取,檢索過程分為基于深度學習商標檢索和基于文字商標檢索。最后將兩者檢索的結果進行融合重排序得到最終的檢索結果。
本節介紹卷積神經網絡的檢索方法,本文收集200組不同的商標,每組共20張相似商標(如圖2所示)。利用商標庫的200類商標對深度網絡模型NetVLAD進行分類訓練。將訓練好的模型保存之后,用來提取商標數據庫圖像的卷積特征,經過加權和局部聚合成一維向量之后,以此作為檢索的索引向量。
2.1.1 特征處理
本節介紹詳細的特征處理方法,本文利用商標數據集訓練NetVLAD進行特征提取。對于輸入的圖像首先做一個預處理,使得圖像輸入卷積神經網絡的尺寸為224*224*3,X∈RN×W×H為卷積層提取到的三維矩陣,其中N為通道(Channel)數,W和H分別為每一層特征平面(Feature Map)的長和寬。即利用提取到的卷積層特征進一步對每一個特征平面的元素進行一個權重的賦予,并且每個通道也賦予不同的權重。按照這樣的方式。假設xkij∈X,s為三維的權重矩陣,x′kij表示加權后的特征,那么
(1)

圖1 本文方法框架

圖2 商標分類數據集
bk表示每個通道的權重大小,aij表示特征平面上每個元素賦予的權重,因此skij=bkaij。 由于圖像感興趣區域經過卷積濾波之后會有較強的響應,本文利用卷積特征平面的特征值作為加權的依據
(2)
(3)
其中,對平面 (i,j) 點處的權重參數為該點的通道權重與平面權重的乘積。
2.1.2 特征聚合
局部聚合的思想來源于局部特征擁有更好的匹配效果,全局的CNN特征缺少幾何不變性,限制了對可變場景的分類和匹配,因為全局的CNN特征包含了太多的空間信息。以往對局部特征的描述也有很多方法,比如SIFT(尺度不變特征變換)描述子,它的思想是在圖像感興趣區域提取到穩定的特征點,比如邊緣或目標物體的區域,該特征點不隨圖像的縮放或者旋轉等操作而改變。對于商標圖像而言,感興趣區域比較集中。通過對CNN特征加權,實際上也是為了突出感興趣區域。這樣在進行局部特征聚合的時候,可以使得商標有Logo的區域得到更大的權重。
通過對卷積層加權后輸出的特征為X′∈RN×W×H, 我們將該三維的向量視為共 (W×H) 個長度為D一維的向量。聚合的思想與Bag of Features[14]和文獻[15]類似,也是將已提取到的描述子進行聚類最終得到一維的向量特征。本文采用NetVLAD池化方法,將長度為D的一維向量看作一個個的描述子,NetVLAD可以理解成一種Pooling的方式,即將多個維度不同的特征聚合,生成一個能夠描述這些特征集的向量。
2.1.3 特征匹配
利用余弦距離來度量向量之間的相似度,通過計算兩個相同長度的向量之間的夾角余弦值來衡量它們之間的相似度。向量夾角余弦值的范圍在[-1,1]之間,向量之間夾角越小則余弦值越大,代表兩個向量越相似,反之亦然。余弦距離對向量的絕對值數值大小不敏感,因為它反映的是兩個向量在方向上的相似度。上一步將圖像聚合成一維向量特征后,本節將采用L2歸一化和PCA-Whitening對特征進一步處理,由于本文采用的是余弦距離,所以向量絕對值的大小不影響最后的距離計算。計算特征向量X與Y的余弦距離公式如下
(4)
本文采用CRNN算法進行商標文字識別,CRNN網絡是端到端可訓練的網絡模型,只需要圖像和文字標注即可進行訓練。百度中文識別大賽的數據集都采集自中國街景,并由街景圖片中的文字行區域(例如店鋪商標、地標等)截取出來而形成,所有圖像的文字區域利用仿射變換,等比映射為一張大小為100*32像素的圖片。該數據集部分圖像如圖3和圖4所示。

圖3 七星豹電動車

圖4 魅派集成吊頂
通過CRNN文字識別將商標庫中的文字商標圖像的識別結果作為數據庫中商標圖像的文字特征關鍵字。
2.2.1 文字匹配
基于文字特征關鍵字來進行檢索相當于給定一個字符串集合和待查詢字符串,從字符串集合中找出相似的字符串,通過該方法找到對應的相似商標圖像。返回相似結果采用基于top-k的字符串匹配,給定數據庫中商標文字的字符串集合P,從圖片識別的文字結果作為待查詢的字符串q,從字符串集合中P中查找與待查詢字符串q比較相似的前k個字符串。比如從字符串集合P={“阿里巴巴”, “阿里”, “阿里爸爸”, “啊里巴”}, 對于待匹配字符串q=“阿里巴巴”,使用top-1查詢得到的結果為 {“阿里巴巴”}。 字符串近似匹配一般有海明距離,J-W距離、編輯距離[16,17]等。商標圖像中文字的音、形相似也可以判斷為相似圖像的特點,本文提出一種基于融合音形的編輯距離算法,利用漢子的拼音編碼和筆形編碼,通過比較漢字的編碼得到單個漢字的相似度,結合單個漢字的相似度的和以及編輯距離的值得出兩個字符串的相似度。
編輯距離算法是根據計算一個字符串轉換到另一個字符串所需要最少操作(對字符串進行插入、刪除或替換)來度量兩個字符串的相似度[17]。如果編輯距離越小,兩個字符串就越相似,比如計算a,b兩個字符串的相似度,編輯距離為ED(a,b), 標準化編輯距離為NED(a,b), 公式如式(5)所示
(5)
標準化編輯距離NED的取值范圍是[0,1],標準化編輯距離越大說明兩個字符串越相似。兩個字符串a,b的編輯距離可以通過動態規劃的算法進行計算,首先構造一個以 |a|+1為行, |b|+1為列的矩陣D[|a|+1,|b|+1], 先給矩陣D[|a|+1,|b|+1] 的第一行和第一列賦值從0開始遞增,D[i][0]=i, 0≤i≤|a|,D[0][j]=j, 0≤j≤|b|。 編輯距離計算公式如式(6)所示
D[a][b]=min(D[i-1][j]+1,D[i][j-1]+1,D[i-1][j-1]+cost)
(6)
其中,D[i-1][j]+1為刪除一個字符的操作,D[i][j-1]+1為增加一個字符串的操作,D[i-1][j-1]+cost為替換字符操作,如果a[i]=b[j],cost的值為1,否則cost的值為0。以此迭代計算出最后D[a][b] 的值為編輯距離ED(a,b) 的值。
2.2.2 改進編輯距離算法
由于傳統的編輯距離算法并沒有考慮到中文字符的音和形,在替換、刪除和增加操作的權重都是1,而商標圖像中文字的音和形相似對于判斷近似商標圖像都比較重要,為了增加商標圖像中漢字的音和形的影響,本文提出一種改進的編輯距離算法,融合漢字的音和形,也就是拼音和五筆,表1為一些漢字的五筆編碼和拼音。將基本字符集中使用五筆編碼方式的常用的6757個漢字,按照編碼規則,表示成代表其字形信息的五筆編碼,并組建常用漢字的字形數據庫。每個漢字都可以使用至多4個字母表示其五筆編碼,部分漢字的拼音和五筆編碼見表1。

表1 漢字編碼
提出一種融合音和形的編輯距離算法如式(7)~式(9)所示
(7)
(8)

(9)
其中,式(7)中的DWB為兩個字符的五筆差異,式(8)中的DPY為兩個字符的拼音差異,EDWB(a[i],b[j]) 為兩個字符的五筆編輯距離,EDPY(a[i],b[j]) 為兩個字符拼音的編輯距離,MAX(|a[i]WB|,|b[j]WB|) 為兩個字符五筆長度取較長的值,MAX(|a[i]PY|,|b[j]PY|) 為兩個字符拼音長度取較長的值。一般來說漢字的五筆編碼不超過4個字母,所以兩個字符五筆編碼的編輯距離不會超過4,漢字的拼音編碼最長為6個字母,兩個字符拼音的編輯距離最大為6。在漢字中存在著多音字的情況,在3500個常用漢字中,就有250多個多音字,一個漢字的讀音有可能有5個之多。如“重”字就有“chong”和“zhong”兩種讀音,在計算兩個字符的拼音的編輯距離時,如果一個漢字存在多音字,選取兩個字符的拼音編輯距離較小的讀音。該算法的偽代碼如算法1所示。
算法1:改進的編輯距離算法
開始
輸入:a:待匹配的字符串
b:目標匹配的字符串
輸出:a,b兩個字符串的編輯距離d[i,j]
字符串a的長度為n,字符串b的長度為m
構造一個矩陣d[m+1,n+1], 初始化矩陣第一行為0到n,初始化第一列為0到m
for(i ← 1 tom) do
for(j ← 1 to n) do
ifa[i]==b[j] then
cost=0
else
cost=d[i-1,j-1] +1/2(DWB +DPY) //DWB和DPY為拼音和五筆的編輯距離的均值
d[i,j]=min{d[i-1,j]+1,d[i,j-1]+1,d[i-1,j-1]+cost}
returnd[m,n]
結束
檢索結果融合與重排序,本節詳細介紹如何將2.1與2.2的檢索結果進行融合重排序進而得到最終的檢索結果,單純利用2.1或2.2得到的檢索結果并不算特別好,都有各自的局限性。本文針對大量商標圖像中含有文字和圖形組成的混合圖像,提出一種基于排序列表相似度分數融合的圖像相似度方法,在計算圖像相似度時,將基于深度學習和文字識別的檢索結果的排序表融合在一起得到最后的檢索排序結果。現有的根據多個排序列表進行相似度融合的方法主要有:IRP(inverse rank positon)算法、BC(borda count)算法等。
本文提出的相似度排名列表融合算法首先在基于深度學習的相似度排名表中依次判斷是否出現在文字檢索相似度排名列表中,如果該圖像在兩種排名列表中均出現,則將該圖片排在最終相似度排名列表的前面,然后將兩種排名列表剩下的圖片依次循環插入到最終相似度排名列表中。該算法的如算法2所示。
算法2:排名融合
開始
輸入:Q:基于深度學習的檢索結果排名圖像,{Q[q]:1≤q≤N}
T:基于文字的檢索結果排名圖像, {T[t]:1≤t≤N}
輸出:S:Q、T兩者排名結果進行融合的相似度排名圖像, {S[s]:1≤s≤N}
for(q←1 toN) do
for(t←1 toN) do
ifQ[q]==T[t] then
S[s]←Q[q]
Break;
for(循環次數←1 toN-s) do
S←將T[t]?S圖像插入最終相似度排序列表中
S←將Q[q]?S圖像插入最終相似度排序列表中
returnS
結束
圖5是利用排名融合算法對基于深度學習檢索和文字檢索的相似度排名列表進行融合的前5個檢索圖像的排序,基于深度學習檢索的前5個檢索圖像的排序結果為 {a,b,c,d,e}, 文字檢索的前5個檢索圖像的排序結果為 {f,a,g,c,b}, 根據算法2,首先依次遍歷基于深度學習檢索的前5個檢索圖像的排序a,圖片a也出現在文字檢索結果排名列表中,將圖片a排在最終檢索列表的第一位,后面依照此規則得到檢索結果排名為{a,b,c}, 再依次將兩種排名剩下的圖片插入到最終檢索結果排名列表中,得到最終的檢索結果排名為 {a,b,c,f,d}。

圖5 融合排序算法
本文收集1000組商標進行檢索實驗,每一組包含15張相似商標圖像,一共15 000張商標圖像作為測試集(以下稱為Logos)。每一組商標圖像從Logo1-Logo15進行編號,每一組的Logo1作為檢索的查詢圖像,按照與Logo1的相似度從大到小排序的原則從Logo2到Logo15對該組的商標進行編號。圖6為兩組相似商標。

圖6 相似商標圖像
本文首先在包含形近字或同音字的商標上面進行實驗,利用本文提出的改進編輯距離算法1計算包含形近字或同音字的部分詞語的距離,并與改進前的算法作比較,表2為改進后和改進前的編輯距離一些字符串相似度的比較結果。

表2 比較結果/%
上面的字符串列表中,列舉了一些易混淆的商標名稱,這些商標名稱中包含了形近字和同音字的情況。從改進后算法的相似度結果來看,針對易混淆的商標名稱,改進后的結果比傳統的編輯距離計算相似度效果更好。因此,利用改進的編輯距離算法就可以更好找出含有相似度比較高的文字的商標圖像。
本文的檢索方法在Logos上進行評估,對Logos分別進行文字檢索和卷積特征檢索,最終將結果進行融合重排序。檢索精度相比于深度學習檢索方法得到的結果要高出將近3個百分點。評估結果如圖7所示。

圖7 評估結果
本文對文中提到的部分方法進行實驗評估,本文選取3個比較有代表性的算法在商標數據集上評估,包括深度學習算法經典模型VGG16、HU矩特征和SIFT這3種圖像檢索算法。由于Logos數據集的商標圖像都包含文字部分,為了使得結果更加公平,所有算法都在Logos上進行實驗評估,圖8展示了不同算法在返回圖像數量10張到50張的查全率的變化。

圖8 實驗評估結果
本文分別對不同算法之間的查準率和查全率進行實驗比對。在實驗過程中,設置返回的前top-k=50。表3是實驗對比結果。

表3 不同方法實驗對比結果/%
本文提出一種商標Logo的檢索方法,利用商標圖像的包含文字的特性,將文字匹配的結果與卷積特征檢索的結果進行融合。另外,本文提出一種改進的編輯距離算法,能大大提高形近字的匹配率。隨著我國的商標注冊量直線飆升,在數據庫中更加精準找到相似商標可以降低企業申請商標的成本。為了提高卷積特征的匹配率,針對商標圖像的特性重新訓練了網絡模型,利用訓練后的網絡模型來提取特征,并對特征進一步加權和局部聚合,使得最后得到的特征描述符能更好地表示商標Logo圖像。在融合文字特征搜索結果之后結果提高了3個百分點。實驗結果表明,本文方法對商標檢索方面具有良好的表現,更加適用于商標Logo圖像的檢索。