李東升 杜春梅
河北建筑工程學(xué)院 河北 張家口 075000
近年來,我國商標(biāo)申請量、注冊量連續(xù)實(shí)現(xiàn)較快速度增長。新商標(biāo)必須具有足夠的獨(dú)特性以避免與已注冊的商標(biāo)混淆或沖突[1]。商標(biāo)申請人在進(jìn)行商標(biāo)注冊前會通過專業(yè)的商標(biāo)代理機(jī)構(gòu)進(jìn)行商標(biāo)檢索,國家商標(biāo)局同意商標(biāo)注冊之前會排查該商標(biāo)是否與已注冊商標(biāo)存在過高的相似度,若相似則無法注冊[2]。在圖像檢索中,李振東[3]采用K-means聚類算法對提取的深度特征進(jìn)行聚類,使得對應(yīng)的人臉圖像集劃分為不同的簇,然后在相應(yīng)的簇中進(jìn)行人臉圖像特征相似度匹配執(zhí)行檢索任務(wù),有效地提高了人臉圖像檢索速度,但是這種方法應(yīng)用在巨量的數(shù)據(jù)集上,就會突顯出其檢索速度的不穩(wěn)定性。
在圖像檢索領(lǐng)域主要有AlexNet、VGG、GoogleNet、ResNet4種模型作為特征提取的網(wǎng)絡(luò)。Alexnet模型由5個卷積層,3個池化層和3個全連接層所構(gòu)成。Alexnet模型在卷積后加入了Relu激活函數(shù),解決了Sigmoid的梯度消失問題,使用dropout選擇性地忽略訓(xùn)練中的單個神經(jīng)元,避免模型的過擬合。VGGNet通過反復(fù)堆疊3×3的小型卷積核得出結(jié)論,卷積神經(jīng)網(wǎng)絡(luò)的深度增加和小卷積核的使用對網(wǎng)絡(luò)的最終分類識別效果有很大的作用。VGGNet采用多尺度的方式進(jìn)行訓(xùn)練,對訓(xùn)練圖像進(jìn)行裁剪和縮放,從而提高了檢索任務(wù)的特征不變性。
GoogleNet是一個更深、更寬,具有22層但參數(shù)量卻更少的網(wǎng)絡(luò),這使其具有更高的學(xué)習(xí)效率。GoogleNet能夠重復(fù)使用多個Inception模塊,每個Inception模塊由4個分支組成,使用5×5、3×3、1×1三種卷積核。每個分支的輸出在空間上連接起來,組成一個Inception模塊的最終輸出。ResNet使某些層跳過下一層神經(jīng)元的連接,隔層相連,弱化每層之間的強(qiáng)聯(lián)系,使其隨著網(wǎng)絡(luò)的不斷加深,效果變得更好。
k-means聚類算法是一種迭代求解的聚類分析算法,它的核心是對需要聚類分析的數(shù)據(jù)集隨機(jī)選出k個數(shù)據(jù)點(diǎn)作為初始值[4],這些初始值作為分簇的中心點(diǎn),其他樣本對象根據(jù)離中心點(diǎn)的最近距離進(jìn)行劃分,和最近的中心點(diǎn)劃分為一個簇即實(shí)現(xiàn)分組,在此聚類算法的基礎(chǔ)上進(jìn)行改進(jìn),使中心點(diǎn)中的數(shù)據(jù)平均化,以優(yōu)化商標(biāo)檢索速度的目的。若待分類數(shù)據(jù)集為D并結(jié)合檢索速度v的要求,確定k為聚類中心點(diǎn)個數(shù),根據(jù)數(shù)據(jù)集D中的數(shù)據(jù)量與k值確定雙閾值,本文采用的k-means均勻聚類,算法流程如下:
(4)重復(fù)步驟二,步驟三,若計算得到的中心點(diǎn)與原中心點(diǎn)一致,則本次二分類結(jié)束。
(7)在數(shù)據(jù)集D中計算每個待分類數(shù)據(jù)點(diǎn) , … 與所有中心點(diǎn)的距離,得出所有待分類數(shù)據(jù)點(diǎn)所屬中心點(diǎn),并返回其中心點(diǎn)索引保存在對應(yīng)分類數(shù)據(jù)點(diǎn)的相應(yīng)位置。
(9)得到中心點(diǎn)。
數(shù)據(jù)集采用Logo-2K+,該數(shù)據(jù)集是從谷歌(www.Google.com)和百度(www.Baidu.com)搜索引擎抓取的?!癓ogo-2K+”由2341個類別和167140個圖像組成。它們屬于10個根類別和2341個子類。
本文使用的是Googlenet深度卷積神經(jīng)網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),因?yàn)镚ooglenet在控制了計算量和參數(shù)量的同時,還具有特別好的分類性能,在Imagenet數(shù)據(jù)集上能夠達(dá)到94%以上的準(zhǔn)確率,這得益于Googlenet網(wǎng)絡(luò)中的inception結(jié)構(gòu)以及兩個輔助分類器。inception結(jié)構(gòu)如圖1所示,Inception結(jié)構(gòu)能夠保留輸入信號中的更多特征信息,GoogleNet重復(fù)使用多個Inception模塊,每個Inception模塊由4個分支組成,使用5×5、3×3、1×1 3種卷積核。每個分支的輸出在空間上連接起來,組成一個Inception模塊的最終輸出,使用1、3和5大小的卷積核,有利于限制參數(shù)的規(guī)模和模型的復(fù)雜性[5]。Googlenet中的輔助器主要是防止網(wǎng)絡(luò)深度學(xué)習(xí)中出現(xiàn)的梯度消失結(jié)果。Googlenet的參數(shù)量以及計算量得以減少,則是得益于大量使用卷積核大小為1的濾波器進(jìn)行卷積,通過1×1的濾波器進(jìn)行卷積來減低特征矩陣的通道數(shù),從而減少了網(wǎng)絡(luò)參數(shù)量和計算量,避免了因?yàn)榇罅繀?shù)量而產(chǎn)生過擬合的可能,已經(jīng)證明,更深層次的架構(gòu)有利于學(xué)習(xí)更高層次的抽象特性,以減少語義差距。
圖1 inception結(jié)構(gòu)
聚類使得到中心點(diǎn)平均化以達(dá)到最佳檢索性能的目的。按照1.2小節(jié)當(dāng)中提到的方法,用數(shù)據(jù)集中16.7w商標(biāo)數(shù)據(jù)提取出特征向量,根據(jù)數(shù)據(jù)量進(jìn)行均勻聚1000類的任務(wù),設(shè)定=130,=200,按照1.2中k-means均勻聚類算法流程。設(shè)每次聚類的k值為固定值2,若在某次聚類后得到的某個類數(shù)據(jù)M<,視為無效中心點(diǎn),刪除該中心點(diǎn),若M>,則聚類得到的數(shù)據(jù),再次進(jìn)行聚類。若<=M<=,則視為有效數(shù)據(jù),保存中心點(diǎn)。在NVIDIA RTX 3090上跑了一天,最終得到811個中心點(diǎn),接下來用16.7w商標(biāo)數(shù)據(jù)提取出的特征向量計算所屬中心點(diǎn),并對中心點(diǎn)的所屬數(shù)據(jù)量進(jìn)行從大到小的排序,最終結(jié)果中心點(diǎn)對應(yīng)的數(shù)據(jù)量在200以上的有5個,最大數(shù)據(jù)量為245,這5個中心點(diǎn)所屬數(shù)據(jù)分別執(zhí)行1.2小節(jié)k-means均勻聚類算法中的步驟2到步驟7,最后得到了821個均勻分布的中心點(diǎn)。
利用余弦距離來計算特征向量之間的相似度,通過計算兩個相同維度的向量之間的夾角余弦值來衡量它們之間的相似度。待檢索商標(biāo)特征先與中心點(diǎn)進(jìn)行相似度對比,以縮小檢索相似商標(biāo)的范圍,然后待檢索商標(biāo)特征在相似的中心點(diǎn)內(nèi)進(jìn)行檢索,利用argmax()進(jìn)行排序,得到相似度排序,向量之間夾角越小則余弦值越大代表兩個向量越相似,X和Y表示兩個n維的特征向量,計算特征向量 X 與 Y 的余弦距離公式如下:
得到均勻分布的聚類中心點(diǎn)后,用多進(jìn)程計算每個商標(biāo)特征向量對應(yīng)的中心點(diǎn)(特征向量與那個中心點(diǎn)的余弦距離最大),返回中心點(diǎn)所對應(yīng)的索引并保存,這樣就可以得到16.7w數(shù)據(jù)對應(yīng)的中心點(diǎn)索引,待檢索商標(biāo)經(jīng)過特征提取之后,先和中心點(diǎn)用余弦距離進(jìn)行相似度對比,通過argmax()函數(shù)對結(jié)果進(jìn)行排序,取相似度最高的中心點(diǎn),然后待檢索商標(biāo)與該中心點(diǎn)對應(yīng)的所有數(shù)據(jù)進(jìn)行相似度對比,argmax()排序得到最終結(jié)果,在數(shù)據(jù)集中取商標(biāo)進(jìn)行檢索,檢索結(jié)果如圖2所示,上邊為檢索商標(biāo),下邊為商標(biāo)庫中與檢索商標(biāo)最相似的10張商標(biāo)。
圖2 檢索結(jié)果
本文先通過深度卷積神經(jīng)網(wǎng)絡(luò)提取商標(biāo)的特征,然后對特征庫使用改進(jìn)后的聚類算法進(jìn)行聚類,從而得到了均勻分布的中心點(diǎn),使商標(biāo)數(shù)據(jù)集中的數(shù)據(jù)劃分到不同的中心點(diǎn)當(dāng)中且每個中心點(diǎn)的數(shù)據(jù)量較為平均,待檢索商標(biāo)先通過深度卷積神經(jīng)網(wǎng)絡(luò)提取特征,特征向量先與中心點(diǎn)進(jìn)行相似度對比,然后與相似中心點(diǎn)中的數(shù)據(jù)進(jìn)行相似度對比并排序,得到檢索結(jié)果,大幅縮小了檢索范圍,從而提高檢索性能,本文在傳統(tǒng)的商標(biāo)檢索中對聚類進(jìn)行了改進(jìn),改善了傳統(tǒng)聚類算法應(yīng)用在商標(biāo)檢索中的不穩(wěn)定性,使人們在面對龐大的數(shù)據(jù)量時,能夠達(dá)到較好的檢索性能。