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