徐有正,黃 剛
(南京郵電大學計算機學院,江蘇 南京 210003)
多標簽圖像的識別分類處理算法*
徐有正,黃 剛
(南京郵電大學計算機學院,江蘇 南京 210003)
目前卷積神經(jīng)網(wǎng)絡已在單標簽圖像的識別上得到了高效的應用,而多標簽圖像的識別需要處理包括尺寸、形狀、布局等多個對象,所以單標簽圖像分類的網(wǎng)絡模型架構不能很好地識別出復雜的對象布局和多標簽圖像場景。文章提出了端到端方式訓練的多標簽圖像識別算法,在對圖像進行隨機縮放和裁剪后,再進入卷積神經(jīng)網(wǎng)絡,其輸出經(jīng)過池化分類層,篩選出有效區(qū)域。同時提出加權、動態(tài)的歐式距離損失函數(shù)用于神經(jīng)網(wǎng)絡的優(yōu)化。實驗結果顯示,該算法有效提高了多標簽圖像識別的精度。
多標簽圖像;卷積神經(jīng)網(wǎng)絡;圖像識別;動態(tài)損失函數(shù)
近幾年圖像識別技術迅速發(fā)展,卷積神經(jīng)網(wǎng)絡(Convolutional neural network,CNN)[1]已經(jīng)能很好地應對單標簽圖像識別問題[2-3]。而對于多標簽圖像,盡管可以通過單標簽數(shù)據(jù)集(ImageNet[4])進行訓練,從而實現(xiàn)自動識別,但卻不能識別多標簽圖像中的復雜對象和布局。
目前有一些方法用于解決以上多標簽圖像分類問題[3],其中一種是將多標簽識別問題轉化為單標簽預測問題,即對圖像內的對象進行分析定位并分類,但收集對象邊界信息需要耗費大量的計算資源。另一種方法是引入對象方案。如MCG[5]通過計算某個點的像素是否屬于邊緣的概率,對邊緣圖進行一系列操作得到UCM圖,但結果有不可預測性,需要計算數(shù)千個方案實現(xiàn)高召回率。魏等人是通過聚類算法選擇對象方案的一小部分,從所有方案中提取標簽,再通過池化層處理獲取圖像分類結果[6]。楊等人提取了200個對象方案,通過雙流CNN網(wǎng)絡編碼成為Fisher矢量,用于表示每個多標簽的對象[7]。但他們忽略了多標簽圖像中的標簽關系,且都不是端到端的可訓練的方法。在網(wǎng)絡訓練過程中,由于對象方案僅能覆蓋部分信息,都會不可避免地使部分有效信息缺失。
本文提出了端到端方式訓練的多標簽圖像識別算法,在進入卷積神經(jīng)網(wǎng)絡之前,通過對圖像進行隨機縮放和裁剪,再經(jīng)過卷積神經(jīng)網(wǎng)絡的分類。
由于不同區(qū)域對應不同的標簽,為了實現(xiàn)高召回率,本文設計出了新的最大池化分類層,該層通過對比所有樣本,篩選出被激活的得分最高區(qū)域,并通過反向傳播算法優(yōu)化網(wǎng)絡。為了進一步提高圖像識別的準確度,本文提出了新的動態(tài)損失函數(shù)用于神經(jīng)網(wǎng)絡的訓練。該損失函數(shù)根據(jù)每個標簽的置信度,懲罰那些置信度低的標簽來校驗網(wǎng)絡,以此更好地監(jiān)督網(wǎng)絡訓練過程。
在圖像預處理階段,本文方法將一個圖像I采用隨機縮放的方法,保持其長寬比將其寬縮放至x像素,變?yōu)閳D像M。在依次采用隨機比例a∈[0.5,1]重新縮放{M1,M2,…,Mt},最后再從 Mt中隨機裁剪出 b 個224×224的圖像{O1,O2,…,Ob}。最終得到k(k=a×b)個不同信息的特征子圖。在進行訓練時,單從一個特征子圖上看,并不能很好地計算原圖像中所有內容??紤]到這一點,本文方法將來自同一個圖像的樣本的特征子圖都放,在同一個mini-batch進行訓練。整體處理過程如圖1所示。
圖1 處理全過程
隨機縮放和裁剪的處理將一個圖像生成了k個不同的特征子圖,每一個子圖都代表著不同尺度和位置的信息。因為子圖中僅能提供有限的識別信息,甚至僅覆蓋小部分。所以問題的關鍵是如何讓這些動態(tài)生成的子圖代表整個圖像中的有效信息。本文方法在共享卷積神經(jīng)網(wǎng)絡后增加一層最大池化分類層以解決這個問題。如公式⑴,我們用pnkc∈Rn×k×c來表示一個mini-batch的預測分數(shù)。其中C={1,2,…,c}表示一個不同類別的標簽集合,c是其中一個分類。每一次訓練的mini-batch的大小為N,n表示{1,2,…,N}其中一個樣本數(shù)據(jù),k表示第k個子圖。
經(jīng)過最大池化分類層的合并處理,某個特征子圖最適合代表的某個分類,其預測值將會最大,便于篩選每一個分類最容易被識別的特征,詳細處理過程如圖2所示。
圖2 融合分類示意圖
Softmax regression作為Logistics regression的一種擴展,常常多用于解決多分類問題。該損失函數(shù)如公式⑵。
其中,N為mini-bacth的大小,Pn是第n個樣本經(jīng)過歸一化處理后,得到正確標簽的概率。其表達式如公式⑶。
其中,C是所有類別標簽的總個數(shù)。tn是第n個類別中原始預測分數(shù)。
然而直接將Softmax的損失函數(shù)用于多標簽分類問題顯然是不合適的,因為從上述的公式中可以看出,從每一次的mini-batch的訓練中,它只能計算出一個正確標簽的概率。而我們一個圖片中是多個標簽,即對應著多個類別。
針對多標簽識別問題的分析如下。
假設該識別系統(tǒng)中共20個分類,當進行圖像識別時,該系統(tǒng)會針對當前圖像對所有的分類得出一個預測值。例如一個圖像中有狗,人,帽子,那么在理想狀態(tài)下,狗,人,帽子的預測值都會比較高,其他如馬,車等類別的預測值就會降低。但是在實際操作中,所有預測值并不都是完美的,有可能錯誤的類別預測值會很高。所以針對這樣的情況,本文提出了一種動態(tài)的基于歐式距離的損失函數(shù),如公式⑷。其中N表示一個mini-batch中所有樣本,n表示第n個樣本。Rnh所表示的是第n個樣本中第h個錯誤標簽的預測值。代表的是錯誤標簽集合的基數(shù)。Yn代表的是分類正確的集合,Zh表示錯誤集合。png代表的是第n個樣本中第g個類別中實際正確標簽的預測值,pnh代表的是第n個樣本中第h個類別實際錯誤標簽的預測值。f是用于學習排序的重新加權函數(shù),如公式⑸所示。用和來表示第n個批次的期望輸出值,本文就直接用1和0來表示。從公式⑷可以看出,如果錯誤的樣本數(shù)很多,通過加權函數(shù)的運算將會使整體的損失函數(shù)變大,從而達到懲罰效果。
本文采用了隨機梯度下降法來優(yōu)化,其優(yōu)化過程如下。
將式⑹分解,以便于計算。如公式⑺⑻所示。
綜合公式⑹-公式⑻,可以容易地計算梯度,并可通過標準誤差反向傳播算法來最小化損失函數(shù)。
本次實驗采用了PASCAL VOC 2007數(shù)據(jù)集和PASCAL VOC 2012數(shù)據(jù)集。VOC是一個多標簽的數(shù)據(jù)集。其中PASCAL VOC 2007數(shù)據(jù)集中共有9953幅圖像用于訓練和測試。該數(shù)據(jù)集中每個圖像都存在著1-7個對象,每個對象對應著10個分類中的一類。PASCAL VOC 2012數(shù)據(jù)集具備更多的數(shù)據(jù),共22531幅圖像。在測試集中并沒有正確標簽,所以需在最后用PASCAL VOC評估服務器來測試結果。本文采用了VGG-16作為CNN的模型。VGG有很多版本,它的特點是連續(xù)的卷積層多,計算量也比較大。
訓練:在訓練前先使用ImageNet數(shù)據(jù)集來預訓練CNN模型,以便初始化網(wǎng)絡,再在VOC數(shù)據(jù)集上進行微調。復制所有預訓練的參數(shù),并將偏置初始值設為0,設置學習速率為0.0002,最后全連接層的學習速率設置為0.002。
測試:先將已經(jīng)訓練好的CNN模型后添加三層全連接神經(jīng)網(wǎng)絡,使其轉換為完全卷積神經(jīng)網(wǎng)絡,后添加的全連接網(wǎng)絡此時并不需要訓練。開始測試圖像,先將圖像將寬分別縮放為{256,384,512,640,768}五個不同尺度的圖像,并保持長寬比。最后分別在完全卷積模型中訓練五個不同尺度。
本文將此方法與當下流行的比較先進的方法進行比較。其結果在圖3中可以看出。本文方法在兩個數(shù)據(jù)集中的表現(xiàn)都明顯優(yōu)于其他方法。HCP-VGG引入了對象提案的辦法,它和本文的方法相比略麻煩,因為需要先提取數(shù)百個對象提案,然后再對不同類型的對象進行后續(xù)處理,最后才能學習到多標簽圖像的識別方法。本文方法可以直接利用隨機抽取樣本的方式,生成一個圖像多角度的樣本,不需要選用上百個對象就可以達到不錯的識別率。
圖3 各種方法準確率對比
⑴ 本文方法共分為隨機縮放,隨機截取和動態(tài)損失函數(shù)優(yōu)化三個步驟。為了探究預處理的必要性,本文重新采用PASCAL VOC 2007數(shù)據(jù)集,對每個步驟進行單獨測試。單尺度隨機裁剪:直接將圖像的寬縮放至256像素,直接進行隨機裁取。
⑵ 隨機尺度無裁剪:采用無裁剪的隨機尺度的方法,因此不需要使用合并類別最大池操作。
⑶ 使用加權動態(tài)歐式距離損失函數(shù)。
實驗結果如表1所示,如果采用了單一尺度隨機裁剪方法,識別率對比本文方法下降了2.1%。如果采用隨機尺度單一裁剪的方法,識別率相比本文方法也下降了1.3%。如果采用了標準的歐幾里德?lián)p失函數(shù),識別率也比本文方法少了0.6%。
表1 不同方法結果比較
針對多標簽圖像的識別問題,目前大多數(shù)有效方法是采用對象提案法來解決的,即在訓練之前,生成上百個對象區(qū)域,再用離線對象建議訓練網(wǎng)絡,這些方法實際上是不斷修復調整候選區(qū)域。而本文方法并非如此,其本質是直接尋找有效區(qū)域,從而節(jié)省了大量的計算機計算資源。另外,本方法不局限于一種卷積神經(jīng)網(wǎng)絡,可更換其他卷積神經(jīng)網(wǎng)絡,因而有廣泛的適用性,具有較好的應用前景。
[1]常亮,鄧小明,周明全,武仲科,袁野,楊碩,王宏安.圖像理解中的卷積神經(jīng)網(wǎng)絡[J].自動化學報,2016.9:1300-1312
[2]C.Xu,D.Tao,and C.Xu,"Large-margin multi-view information bottleneck," IEEE Trans. Pattern Anal.Mach.Intell.,2014.36(8):1559-1572
[3]Donahue J,Jia Y,Vinyals O,et al.DeCAF:a deep convolutional activation feature for generic visual recognition[C]//InternationalConference on International Conference on Machine Learning.JMLR.org,2014:I-647
[4]J.Deng,W.Dong,R.Socher,L.-J.Li,K.Li,and L.Fei-Fei,"ImageNet:A large-scale hierarchical image database,"in Proc.CVPR,2009:248-255
[5]P.Arbeláez,J.Pont-Tuset,J.T.Barron,F.Marques,and J.Malik,"Multiscale combinatorial grouping,"in Proc.CVPR,2014:328-335
[6]Wei Y,Xia W,Huang J,et al.CNN:Single-label to Multi-label[J].Computer Science,2014.
[7]Yang H,Zhou J T,Zhang Y,et al.Exploit Bounding Box Annotations for Multi-label Object Recognition[J].Computer Science,2016.
Recognition and classification algorithm for multi-label image
Xu Youzheng,Huang Gang
(School of Computer Science and Technology,Nanjing University of Posts and Telecommunications,Nanjing,Jiangsu 210003,China)
Convolutionalneuralnetwork hasbeen widely applied in single-tagged imagerecognition.Formulti-labelimage recognition,it is necessary to deal with various objects including size,shape,and layout and so on.Therefore,the network model architecture of single-label image classification cannot recognize well in complex object layout and multi-label image scene.The multi-label image recognition algorithm trained by the end-to-end training method is proposed in this paper.After random zooming and cutting the image is processed by convolutional neural network,and then the effective area is screened through the pooled classification layer.Meanwhile,a weighted and dynamic Euclidean distance loss function is proposed also for the optimization of neural network.Experimental results show that the accuracy of multi-label image recognition is improved effectively.
multi-label image;convolutional neural network;image recognition;dynamic loss function
TP391.4
A
1006-8228(2017)10-04-04
2017-08-16
國家自然科學基金項目(61171053);南京郵電大學基金(SG1107)
徐有正(1992-),男,江蘇宿遷人,碩士研究生,主要研究方向:機器學習與圖像識別。
黃剛(1961-),男,江蘇南京人,教授,碩士研究生導師,主要研究方向:計算機軟件理論及應用。
10.16644/j.cnki.cn33-1094/tp.2017.10.002