李東升 杜春梅
河北建筑工程學院 河北 張家口 075000
近年來,我國商標申請量、注冊量連續實現較快速度增長。新商標必須具有足夠的獨特性以避免與已注冊的商標混淆或沖突[1]。商標申請人在進行商標注冊前會通過專業的商標代理機構進行商標檢索,國家商標局同意商標注冊之前會排查該商標是否與已注冊商標存在過高的相似度,若相似則無法注冊[2]。在圖像檢索中,李振東[3]采用K-means聚類算法對提取的深度特征進行聚類,使得對應的人臉圖像集劃分為不同的簇,然后在相應的簇中進行人臉圖像特征相似度匹配執行檢索任務,有效地提高了人臉圖像檢索速度,但是這種方法應用在巨量的數據集上,就會突顯出其檢索速度的不穩定性。
在圖像檢索領域主要有AlexNet、VGG、GoogleNet、ResNet4種模型作為特征提取的網絡。Alexnet模型由5個卷積層,3個池化層和3個全連接層所構成。Alexnet模型在卷積后加入了Relu激活函數,解決了Sigmoid的梯度消失問題,使用dropout選擇性地忽略訓練中的單個神經元,避免模型的過擬合。VGGNet通過反復堆疊3×3的小型卷積核得出結論,卷積神經網絡的深度增加和小卷積核的使用對網絡的最終分類識別效果有很大的作用。VGGNet采用多尺度的方式進行訓練,對訓練圖像進行裁剪和縮放,從而提高了檢索任務的特征不變性。
GoogleNet是一個更深、更寬,具有22層但參數量卻更少的網絡,這使其具有更高的學習效率。GoogleNet能夠重復使用多個Inception模塊,每個Inception模塊由4個分支組成,使用5×5、3×3、1×1三種卷積核。每個分支的輸出在空間上連接起來,組成一個Inception模塊的最終輸出。ResNet使某些層跳過下一層神經元的連接,隔層相連,弱化每層之間的強聯系,使其隨著網絡的不斷加深,效果變得更好。
k-means聚類算法是一種迭代求解的聚類分析算法,它的核心是對需要聚類分析的數據集隨機選出k個數據點作為初始值[4],這些初始值作為分簇的中心點,其他樣本對象根據離中心點的最近距離進行劃分,和最近的中心點劃分為一個簇即實現分組,在此聚類算法的基礎上進行改進,使中心點中的數據平均化,以優化商標檢索速度的目的。若待分類數據集為D并結合檢索速度v的要求,確定k為聚類中心點個數,根據數據集D中的數據量與k值確定雙閾值,本文采用的k-means均勻聚類,算法流程如下:
(4)重復步驟二,步驟三,若計算得到的中心點與原中心點一致,則本次二分類結束。
(7)在數據集D中計算每個待分類數據點 , … 與所有中心點的距離,得出所有待分類數據點所屬中心點,并返回其中心點索引保存在對應分類數據點的相應位置。
(9)得到中心點。
數據集采用Logo-2K+,該數據集是從谷歌(www.Google.com)和百度(www.Baidu.com)搜索引擎抓取的?!癓ogo-2K+”由2341個類別和167140個圖像組成。它們屬于10個根類別和2341個子類。
本文使用的是Googlenet深度卷積神經網絡作為特征提取網絡,因為Googlenet在控制了計算量和參數量的同時,還具有特別好的分類性能,在Imagenet數據集上能夠達到94%以上的準確率,這得益于Googlenet網絡中的inception結構以及兩個輔助分類器。inception結構如圖1所示,Inception結構能夠保留輸入信號中的更多特征信息,GoogleNet重復使用多個Inception模塊,每個Inception模塊由4個分支組成,使用5×5、3×3、1×1 3種卷積核。每個分支的輸出在空間上連接起來,組成一個Inception模塊的最終輸出,使用1、3和5大小的卷積核,有利于限制參數的規模和模型的復雜性[5]。Googlenet中的輔助器主要是防止網絡深度學習中出現的梯度消失結果。Googlenet的參數量以及計算量得以減少,則是得益于大量使用卷積核大小為1的濾波器進行卷積,通過1×1的濾波器進行卷積來減低特征矩陣的通道數,從而減少了網絡參數量和計算量,避免了因為大量參數量而產生過擬合的可能,已經證明,更深層次的架構有利于學習更高層次的抽象特性,以減少語義差距。

圖1 inception結構
聚類使得到中心點平均化以達到最佳檢索性能的目的。按照1.2小節當中提到的方法,用數據集中16.7w商標數據提取出特征向量,根據數據量進行均勻聚1000類的任務,設定=130,=200,按照1.2中k-means均勻聚類算法流程。設每次聚類的k值為固定值2,若在某次聚類后得到的某個類數據M<,視為無效中心點,刪除該中心點,若M>,則聚類得到的數據,再次進行聚類。若<=M<=,則視為有效數據,保存中心點。在NVIDIA RTX 3090上跑了一天,最終得到811個中心點,接下來用16.7w商標數據提取出的特征向量計算所屬中心點,并對中心點的所屬數據量進行從大到小的排序,最終結果中心點對應的數據量在200以上的有5個,最大數據量為245,這5個中心點所屬數據分別執行1.2小節k-means均勻聚類算法中的步驟2到步驟7,最后得到了821個均勻分布的中心點。
利用余弦距離來計算特征向量之間的相似度,通過計算兩個相同維度的向量之間的夾角余弦值來衡量它們之間的相似度。待檢索商標特征先與中心點進行相似度對比,以縮小檢索相似商標的范圍,然后待檢索商標特征在相似的中心點內進行檢索,利用argmax()進行排序,得到相似度排序,向量之間夾角越小則余弦值越大代表兩個向量越相似,X和Y表示兩個n維的特征向量,計算特征向量 X 與 Y 的余弦距離公式如下:
得到均勻分布的聚類中心點后,用多進程計算每個商標特征向量對應的中心點(特征向量與那個中心點的余弦距離最大),返回中心點所對應的索引并保存,這樣就可以得到16.7w數據對應的中心點索引,待檢索商標經過特征提取之后,先和中心點用余弦距離進行相似度對比,通過argmax()函數對結果進行排序,取相似度最高的中心點,然后待檢索商標與該中心點對應的所有數據進行相似度對比,argmax()排序得到最終結果,在數據集中取商標進行檢索,檢索結果如圖2所示,上邊為檢索商標,下邊為商標庫中與檢索商標最相似的10張商標。

圖2 檢索結果
本文先通過深度卷積神經網絡提取商標的特征,然后對特征庫使用改進后的聚類算法進行聚類,從而得到了均勻分布的中心點,使商標數據集中的數據劃分到不同的中心點當中且每個中心點的數據量較為平均,待檢索商標先通過深度卷積神經網絡提取特征,特征向量先與中心點進行相似度對比,然后與相似中心點中的數據進行相似度對比并排序,得到檢索結果,大幅縮小了檢索范圍,從而提高檢索性能,本文在傳統的商標檢索中對聚類進行了改進,改善了傳統聚類算法應用在商標檢索中的不穩定性,使人們在面對龐大的數據量時,能夠達到較好的檢索性能。