郝艷茹, 張向利, 閆 坤, 張紅梅
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
Logo一般是指代表某個企業、品牌的標志性圖像。Logo檢測應用很廣泛,如人們可以根據視頻或圖像中某品牌出現的次數來判斷該品牌受歡迎的程度,并相應地調整廣告投放;在物流運輸中,通過分析商品上的Logo跟蹤某商品的物流信息,可以及時了解商品的動向等。
本研究的對象為圖像中的Logo,若待測圖像中含有訓練集中的Logo,則能夠迅速顯示出Logo在圖像中的具體位置以及Logo的名稱。圖像檢測受很多因素影響,如圖片的拍攝角度不同,拍攝圖像只含有部分Logo信息,拍攝的圖片光線過強或過暗等,這些都直接增加了檢測的難度。
近幾年,常見的Logo檢測方法有基于機器學習法和基于深度學習法。基于機器學習的方法靠人工提取目標特征,不能充分利用圖片中的信息,導致檢測準確率低。而基于深度學習的方法自動學習目標特征,學習過程不參考人工數據,能夠充分利用圖像信息,完全學習圖像目標特征,檢測準確率高,是目前Logo檢測的重要研究方向。
常見的基于深度學習的Logo檢測方法有CNN、RCNN[1]、YOLO[2]、Fast RCNN[3-4]、SSD[5]、Faster RCNN[6-7]等。文獻[8]實現了一種視頻中標識檢測與識別的系統,通過匹配的方式找到徽標。文獻[9]提出了一種用于重復段檢測的智能算法,可以準確地檢測重放、有無慢動作。文獻[10]提出了一種在文檔圖像中進行徽標檢測和提取的方法,用Fisher分類器執行初始分類,能夠有效識別文檔來源。文獻[11]用視頻幀的時間相關性來檢測和刪除視頻徽標,整合了有關視頻徽標位置及其固有的局部特征。文獻[12]采用空間金字塔的數據挖掘方法,通過發現多種分辨率的關聯規則來學習徽標類別相對應的局部特征。文獻[13]提出了一種基于特征矩形的邊界擴展的文檔圖像標識檢測方法,該方法利用了徽標在文檔中具有背景(白色空間)的布局特點。文獻[14]提出了一種基于車輛標識的車輛視覺分類算法,用圖像中前方車輛標識來高效識別車型。文獻[15]提出了一種基于空間顯著性(SSS)和部分空間背景(PSC)的兩階段檢測方法,該方法適用于不同的徽標檢測場景。文獻[16]提出了一種灰度文檔圖像標識檢測算法,其檢測無需訓練。以上方法都未充分提取特征,對圖像利用不完全,準確率不高。
為此,針對特征提取不充分會影響到logo檢測準確率的問題,提出了一種改進的Logo檢測方法,研究對比其在FlickerLogos-16數據集上的Logo檢測能力。
將原始待檢測圖片輸入卷積神經網絡,提取原始圖片的特征;用區域建議網絡(RPN)生成建議框,對每張含有Logo的圖片生成300張區域建議框,對比建議框和卷積神經網絡生成的特征圖;通過ROI池化層使每個ROI生成一定尺寸的特征圖,然后進行回歸聯合訓練。Logo檢測系統整體框架圖如圖1所示。

圖1 Logo檢測系統整體框架圖
使用目標檢測的ImageNet分類預訓練的模型進行網絡初始化,得到Logo檢測訓練模型的初始參數和權重。
Faster RCNN網絡可看作RPN網絡和Fast RCNN網絡2個部分。這2個網絡共享卷積層,提高了訓練速度,縮短了訓練時間。RPN網絡過程如圖2所示。

圖2 RPN網絡過程圖
為了RPN網絡提取到更完全的特征,經過多次實驗,將IOU(intersection-over-union)閾值設為0.6最合適,即把GT(ground truth)包圍框的IOU大于等于閾值的錨框標為正標簽,GT包圍框的IOU小于閾值的錨框標為負標簽,既不屬于正標簽也不屬于負標簽的錨框對實驗無影響。
為了得到重新計算的錨框,采用如下步驟:
1)根據給定lbase_size值,生成一個Abase_anchor,
Abase_anchor=[0,0,lbase_size-1,lbase_size-1]。
(1)
2)計算出Abase_anchor的中心點坐標xc、yc,將xc、yc和錨框的寬高w、h進行坐標轉化,
(xmin,ymin,xmax,ymax)=(w,h,xc,yc)。
(2)
3)根據w、h計算矩形框的面積,記作S。
4)根據_radio_enums函數,計算出新錨框的長寬比r。計算得到新錨框的寬高w′、h′:
(3)
(4)
5)w′、h′分別乘以縮放參數escale,得到最終錨框的寬高,與xc、yc確定新的錨框。
實驗采用多任務目標損失函數。Logo圖像的損失函數定義如下:
(5)
(6)
回歸損失:
(7)
在進行特征提取時,使用分水嶺算法對原始圖像進行預分割,使得圖像包含待檢測區域的概率大大提高,并使得Logo目標邊緣得到很好的響應。分水嶺算法如下:
當圖像為一個目標時,將包含目標的圖像以目標為中心作矩形,以矩形面積最小進行矩形分割。對含有多目標的圖像,根據歐式距離
(8)
計算目標之間的距離,當2個目標之間的歐氏距離大于閾值時,就將這2個目標看作一個目標來對圖像分割。
RPN網絡中產生的候選框有大量重疊,為了減少不必要的計算,采用如下方法對其進行處理:
1)設物體周圍候選框為集合D,設置空集合W。
2)求出物體周圍所有候選框的面積S,從而得到這些候選框的置信度值,據此對它們從高到低進行排序。找到集合D中置信度最高的候選框Btop,W=W∪Btop。
3)計算Btop與剩余候選框的IOU值,留下其中小于閾值的候選框,返回W。返回步驟1),依次迭代,直至不存在小于閾值的候選框。
這樣就得到了接近真實候選框的候選框,然后對這些候選框進行搜索,搜索得到的結果只是局部最大值。選擇鄰域內置信度高的候選框,抑制置信度低的候選框。
Faster RCNN是端到端進行訓練的,實現簡單快速,在訓練時,RPN和Fast RCNN共享部分卷積層。
實驗采用的數據集為Flickr Logos-16,其組成分為2個部分:
1)選取Flickr Logos-32中按數量排名前16類的Logo(Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona、DHL、Erdinger、Ferrari、HP、Paulaner、Pepsi、Stella Artois、Starbucks、Texaco)作為檢測目標;
2)爬蟲一些網站上的圖片,使得Flickr Logos-16數據集中每類Logo圖片的數量為1 000~1 100張。
Flickr Logos-32是德國奧格斯堡大學一直在維護的數據集,數據主要來源于Flickr。該數據集中有32種共8 240張Logo圖片。部分數據集如圖3所示。

圖3 Flickr Logos-16的部分數據集
本次實驗的操作系統為Ubuntu 16.04,編程環境基于Python,內存為15.5 GiB,GPU為NVIDIA GeForce 1070Ti,在基于深度學習框架PyTorch下進行實驗。
將FlickrLogos-16數據集的格式改為VOC2007格式。PASCAL VOC數據集主要是為圖像識別和分割而制作的數據集,本實驗只用了Annotations、JPEGImages、ImageSet三個文件夾:
1)Annotations:該文件夾下存放的是數據集中每張圖片的.xml格式的標注文件,與JPEGImages文件夾下的圖片呈一一對應關系。
2)JPEGImages:該文件夾存放的是FlickrLogos-16數據集的所有圖片,包括訓練圖片、驗證圖片和測試圖片。
3)ImageSets:存放的是每種Logo類型的challenge對應的圖像數據。
目標框的信息存儲在對應的.mat文件上,包括圖像的序號、Logo類型(Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona等)、目標框中心的縱橫坐標以及目標框的寬高,如圖4所示。

圖4 數據集制作
本實驗共使用15 630張圖片樣本,手工標注數據集中部分圖像的類別:Adidas、Apple、BMW、Carlsberg、Chimay、Coca-Cola、Corona、DHL、Erdinger、Ferrari、HP、Paulaner、Pepsi、Stella Artois、Starbucks、Texaco。
將.mat文件轉化為.xml標簽文件,制作數據集中存放訓練集信息的文件train.txt、存放驗證集信息的文件val.txt、存放訓練驗證集信息的文件trainval.txt及存放測試集信息的文件test.txt。其中測試集和訓練集各占總數據集的50%,訓練集和驗證集分別占訓練驗證集的60%和40%。
平均精度(average precision,簡稱AP),也就是對精度取平均。平均精度均值(mean average precision,簡稱MAP)常用來衡量模型的性能,是一種常見的評價標準,
(9)
其中:QR為數據集R的總的類別數;q為數據集的類別。
精度反映一個類別的正確預測率,即
(10)
其中:NTP為被判定為正確的個數;NFP為被判定為錯誤的個數。
召回率(recall)指的是一類目標有多少被識別出來,即
(11)
其中NFN為漏檢的個數。
Logo檢測網絡loss曲線如圖5所示。由圖5可知,圖5(a)、(b)、(d)、(e)曲線收斂均較快,只有圖5(c)曲線前期的跳動較大,最終總損失曲線值穩定在0.22左右。
Flickr Logos-16數據集的Logo檢測準確率如表1所示。從表1可看出,本方法的MAP比傳統的Faster RCNN方法提高了約0.3,Cocacola的準確率相對其他類的準確率較低,這是因為隨機產生的訓練集中Cocacola的背景過于復雜及此Logo變形較嚴重的圖像占比較多。測試結果如圖6、7所示。從圖6可看出,圖片中BMW標志及其位置被正確檢測出,且準確率達0.99。從圖7可看出,圖片中Texaco標志及其位置被正確檢測出,準確率達0.96。

表1 Flickr Logos-16數據集Logo檢測準確率

圖5 Logo檢測網絡損失曲線

圖6 測試圖1

圖7 測試圖2
針對Logo檢測中特征提取耗時長、檢測率低的問題,提出了一種基于Faster RCNN的Logo檢測方法。實驗驗證了該方法Logo檢測的準確性和魯棒性。下一步將圍繞候選框的篩選進行改進,以進一步提高Logo檢測的準確率,從而提升Faster RCNN的Logo檢測能力。