郝艷茹, 張向利, 閆 坤, 張紅梅
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
Logo一般是指代表某個企業(yè)、品牌的標(biāo)志性圖像。Logo檢測應(yīng)用很廣泛,如人們可以根據(jù)視頻或圖像中某品牌出現(xiàn)的次數(shù)來判斷該品牌受歡迎的程度,并相應(yīng)地調(diào)整廣告投放;在物流運輸中,通過分析商品上的Logo跟蹤某商品的物流信息,可以及時了解商品的動向等。
本研究的對象為圖像中的Logo,若待測圖像中含有訓(xùn)練集中的Logo,則能夠迅速顯示出Logo在圖像中的具體位置以及Logo的名稱。圖像檢測受很多因素影響,如圖片的拍攝角度不同,拍攝圖像只含有部分Logo信息,拍攝的圖片光線過強或過暗等,這些都直接增加了檢測的難度。
近幾年,常見的Logo檢測方法有基于機器學(xué)習(xí)法和基于深度學(xué)習(xí)法?;跈C器學(xué)習(xí)的方法靠人工提取目標(biāo)特征,不能充分利用圖片中的信息,導(dǎo)致檢測準(zhǔn)確率低。而基于深度學(xué)習(xí)的方法自動學(xué)習(xí)目標(biāo)特征,學(xué)習(xí)過程不參考人工數(shù)據(jù),能夠充分利用圖像信息,完全學(xué)習(xí)圖像目標(biāo)特征,檢測準(zhǔn)確率高,是目前Logo檢測的重要研究方向。
常見的基于深度學(xué)習(xí)的Logo檢測方法有CNN、RCNN[1]、YOLO[2]、Fast RCNN[3-4]、SSD[5]、Faster RCNN[6-7]等。文獻[8]實現(xiàn)了一種視頻中標(biāo)識檢測與識別的系統(tǒng),通過匹配的方式找到徽標(biāo)。文獻[9]提出了一種用于重復(fù)段檢測的智能算法,可以準(zhǔn)確地檢測重放、有無慢動作。文獻[10]提出了一種在文檔圖像中進行徽標(biāo)檢測和提取的方法,用Fisher分類器執(zhí)行初始分類,能夠有效識別文檔來源。文獻[11]用視頻幀的時間相關(guān)性來檢測和刪除視頻徽標(biāo),整合了有關(guān)視頻徽標(biāo)位置及其固有的局部特征。文獻[12]采用空間金字塔的數(shù)據(jù)挖掘方法,通過發(fā)現(xiàn)多種分辨率的關(guān)聯(lián)規(guī)則來學(xué)習(xí)徽標(biāo)類別相對應(yīng)的局部特征。文獻[13]提出了一種基于特征矩形的邊界擴展的文檔圖像標(biāo)識檢測方法,該方法利用了徽標(biāo)在文檔中具有背景(白色空間)的布局特點。文獻[14]提出了一種基于車輛標(biāo)識的車輛視覺分類算法,用圖像中前方車輛標(biāo)識來高效識別車型。文獻[15]提出了一種基于空間顯著性(SSS)和部分空間背景(PSC)的兩階段檢測方法,該方法適用于不同的徽標(biāo)檢測場景。文獻[16]提出了一種灰度文檔圖像標(biāo)識檢測算法,其檢測無需訓(xùn)練。以上方法都未充分提取特征,對圖像利用不完全,準(zhǔn)確率不高。
為此,針對特征提取不充分會影響到logo檢測準(zhǔn)確率的問題,提出了一種改進的Logo檢測方法,研究對比其在FlickerLogos-16數(shù)據(jù)集上的Logo檢測能力。
將原始待檢測圖片輸入卷積神經(jīng)網(wǎng)絡(luò),提取原始圖片的特征;用區(qū)域建議網(wǎng)絡(luò)(RPN)生成建議框,對每張含有Logo的圖片生成300張區(qū)域建議框,對比建議框和卷積神經(jīng)網(wǎng)絡(luò)生成的特征圖;通過ROI池化層使每個ROI生成一定尺寸的特征圖,然后進行回歸聯(lián)合訓(xùn)練。Logo檢測系統(tǒng)整體框架圖如圖1所示。
圖1 Logo檢測系統(tǒng)整體框架圖
使用目標(biāo)檢測的ImageNet分類預(yù)訓(xùn)練的模型進行網(wǎng)絡(luò)初始化,得到Logo檢測訓(xùn)練模型的初始參數(shù)和權(quán)重。
Faster RCNN網(wǎng)絡(luò)可看作RPN網(wǎng)絡(luò)和Fast RCNN網(wǎng)絡(luò)2個部分。這2個網(wǎng)絡(luò)共享卷積層,提高了訓(xùn)練速度,縮短了訓(xùn)練時間。RPN網(wǎng)絡(luò)過程如圖2所示。
圖2 RPN網(wǎng)絡(luò)過程圖
為了RPN網(wǎng)絡(luò)提取到更完全的特征,經(jīng)過多次實驗,將IOU(intersection-over-union)閾值設(shè)為0.6最合適,即把GT(ground truth)包圍框的IOU大于等于閾值的錨框標(biāo)為正標(biāo)簽,GT包圍框的IOU小于閾值的錨框標(biāo)為負(fù)標(biāo)簽,既不屬于正標(biāo)簽也不屬于負(fù)標(biāo)簽的錨框?qū)嶒灍o影響。
為了得到重新計算的錨框,采用如下步驟:
1)根據(jù)給定lbase_size值,生成一個Abase_anchor,
Abase_anchor=[0,0,lbase_size-1,lbase_size-1]。
(1)
2)計算出Abase_anchor的中心點坐標(biāo)xc、yc,將xc、yc和錨框的寬高w、h進行坐標(biāo)轉(zhuǎn)化,
(xmin,ymin,xmax,ymax)=(w,h,xc,yc)。
(2)
3)根據(jù)w、h計算矩形框的面積,記作S。
4)根據(jù)_radio_enums函數(shù),計算出新錨框的長寬比r。計算得到新錨框的寬高w′、h′:
(3)
(4)
5)w′、h′分別乘以縮放參數(shù)escale,得到最終錨框的寬高,與xc、yc確定新的錨框。
實驗采用多任務(wù)目標(biāo)損失函數(shù)。Logo圖像的損失函數(shù)定義如下:
(5)
(6)
回歸損失:
(7)
在進行特征提取時,使用分水嶺算法對原始圖像進行預(yù)分割,使得圖像包含待檢測區(qū)域的概率大大提高,并使得Logo目標(biāo)邊緣得到很好的響應(yīng)。分水嶺算法如下:
當(dāng)圖像為一個目標(biāo)時,將包含目標(biāo)的圖像以目標(biāo)為中心作矩形,以矩形面積最小進行矩形分割。對含有多目標(biāo)的圖像,根據(jù)歐式距離
(8)
計算目標(biāo)之間的距離,當(dāng)2個目標(biāo)之間的歐氏距離大于閾值時,就將這2個目標(biāo)看作一個目標(biāo)來對圖像分割。
RPN網(wǎng)絡(luò)中產(chǎn)生的候選框有大量重疊,為了減少不必要的計算,采用如下方法對其進行處理:
1)設(shè)物體周圍候選框為集合D,設(shè)置空集合W。
2)求出物體周圍所有候選框的面積S,從而得到這些候選框的置信度值,據(jù)此對它們從高到低進行排序。找到集合D中置信度最高的候選框Btop,W=W∪Btop。
3)計算Btop與剩余候選框的IOU值,留下其中小于閾值的候選框,返回W。返回步驟1),依次迭代,直至不存在小于閾值的候選框。
這樣就得到了接近真實候選框的候選框,然后對這些候選框進行搜索,搜索得到的結(jié)果只是局部最大值。選擇鄰域內(nèi)置信度高的候選框,抑制置信度低的候選框。
Faster RCNN是端到端進行訓(xùn)練的,實現(xiàn)簡單快速,在訓(xùn)練時,RPN和Fast RCNN共享部分卷積層。
實驗采用的數(shù)據(jù)集為Flickr Logos-16,其組成分為2個部分:
1)選取Flickr Logos-32中按數(shù)量排名前16類的Logo(Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona、DHL、Erdinger、Ferrari、HP、Paulaner、Pepsi、Stella Artois、Starbucks、Texaco)作為檢測目標(biāo);
2)爬蟲一些網(wǎng)站上的圖片,使得Flickr Logos-16數(shù)據(jù)集中每類Logo圖片的數(shù)量為1 000~1 100張。
Flickr Logos-32是德國奧格斯堡大學(xué)一直在維護的數(shù)據(jù)集,數(shù)據(jù)主要來源于Flickr。該數(shù)據(jù)集中有32種共8 240張Logo圖片。部分?jǐn)?shù)據(jù)集如圖3所示。
圖3 Flickr Logos-16的部分?jǐn)?shù)據(jù)集
本次實驗的操作系統(tǒng)為Ubuntu 16.04,編程環(huán)境基于Python,內(nèi)存為15.5 GiB,GPU為NVIDIA GeForce 1070Ti,在基于深度學(xué)習(xí)框架PyTorch下進行實驗。
將FlickrLogos-16數(shù)據(jù)集的格式改為VOC2007格式。PASCAL VOC數(shù)據(jù)集主要是為圖像識別和分割而制作的數(shù)據(jù)集,本實驗只用了Annotations、JPEGImages、ImageSet三個文件夾:
1)Annotations:該文件夾下存放的是數(shù)據(jù)集中每張圖片的.xml格式的標(biāo)注文件,與JPEGImages文件夾下的圖片呈一一對應(yīng)關(guān)系。
2)JPEGImages:該文件夾存放的是FlickrLogos-16數(shù)據(jù)集的所有圖片,包括訓(xùn)練圖片、驗證圖片和測試圖片。
3)ImageSets:存放的是每種Logo類型的challenge對應(yīng)的圖像數(shù)據(jù)。
目標(biāo)框的信息存儲在對應(yīng)的.mat文件上,包括圖像的序號、Logo類型(Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona等)、目標(biāo)框中心的縱橫坐標(biāo)以及目標(biāo)框的寬高,如圖4所示。
圖4 數(shù)據(jù)集制作
本實驗共使用15 630張圖片樣本,手工標(biāo)注數(shù)據(jù)集中部分圖像的類別:Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona、DHL、Erdinger、Ferrari、HP、Paulaner、Pepsi、Stella Artois、Starbucks、Texaco。
將.mat文件轉(zhuǎn)化為.xml標(biāo)簽文件,制作數(shù)據(jù)集中存放訓(xùn)練集信息的文件train.txt、存放驗證集信息的文件val.txt、存放訓(xùn)練驗證集信息的文件trainval.txt及存放測試集信息的文件test.txt。其中測試集和訓(xùn)練集各占總數(shù)據(jù)集的50%,訓(xùn)練集和驗證集分別占訓(xùn)練驗證集的60%和40%。
平均精度(average precision,簡稱AP),也就是對精度取平均。平均精度均值(mean average precision,簡稱MAP)常用來衡量模型的性能,是一種常見的評價標(biāo)準(zhǔn),
(9)
其中:QR為數(shù)據(jù)集R的總的類別數(shù);q為數(shù)據(jù)集的類別。
精度反映一個類別的正確預(yù)測率,即
(10)
其中:NTP為被判定為正確的個數(shù);NFP為被判定為錯誤的個數(shù)。
召回率(recall)指的是一類目標(biāo)有多少被識別出來,即
(11)
其中NFN為漏檢的個數(shù)。
Logo檢測網(wǎng)絡(luò)loss曲線如圖5所示。由圖5可知,圖5(a)、(b)、(d)、(e)曲線收斂均較快,只有圖5(c)曲線前期的跳動較大,最終總損失曲線值穩(wěn)定在0.22左右。
Flickr Logos-16數(shù)據(jù)集的Logo檢測準(zhǔn)確率如表1所示。從表1可看出,本方法的MAP比傳統(tǒng)的Faster RCNN方法提高了約0.3,Cocacola的準(zhǔn)確率相對其他類的準(zhǔn)確率較低,這是因為隨機產(chǎn)生的訓(xùn)練集中Cocacola的背景過于復(fù)雜及此Logo變形較嚴(yán)重的圖像占比較多。測試結(jié)果如圖6、7所示。從圖6可看出,圖片中BMW標(biāo)志及其位置被正確檢測出,且準(zhǔn)確率達0.99。從圖7可看出,圖片中Texaco標(biāo)志及其位置被正確檢測出,準(zhǔn)確率達0.96。
表1 Flickr Logos-16數(shù)據(jù)集Logo檢測準(zhǔn)確率
圖5 Logo檢測網(wǎng)絡(luò)損失曲線
圖6 測試圖1
圖7 測試圖2
針對Logo檢測中特征提取耗時長、檢測率低的問題,提出了一種基于Faster RCNN的Logo檢測方法。實驗驗證了該方法Logo檢測的準(zhǔn)確性和魯棒性。下一步將圍繞候選框的篩選進行改進,以進一步提高Logo檢測的準(zhǔn)確率,從而提升Faster RCNN的Logo檢測能力。