CNN-RNN: A Unified Framework for Multi-label Image Classification
Paper PDF
文章目錄
Introduction
隨着大規模數據集的出現和深度神經網絡的進步,圖像分類的精度越來越高。但通常一副圖像往往含有多種元素,包括對象,部分,場景,動作等等。對圖像中豐富的語義信息及其依賴關係進行建模是圖像理解的基礎。傳統的圖像分類任中,每一張圖片只有一個標籤,而在多標籤分類任務中一張圖像往往具有若干個與之相關的標籤。這種任務顯然能夠讓計算機進一步理解圖像內容。
在以往的多標籤分類的解決辦法中,一類常見的解決方法是講多標籤分類任務轉化爲單標籤分類,如利用利用rank-loss或者cross-entropy loss訓練的神經網絡。這些方法往往沒有考慮不同標籤之間的依賴關係。當然現在也存在基於圖模型的辦法來對標籤之間的關係進行建模,如利用馬爾科夫隨機場或共現概率等方法來推斷標籤對的聯合概率。但這類方法僅僅考慮了標籤之間的low-level關係,在面對標籤數量增多的情況下,往往會導致計算量巨大。甚至在存在相似標籤,如“cat" 和”kitten“的時候,就會導致大量的冗餘信息。
本文提出了一種用於多標籤圖像分類的統一的CNN-RNN框架,該框架以端到端方式有效地學習了語義冗餘和依賴關係。爲了獲取標籤之間的high-level關係,本文利用LSTM顯式地建模label的語義信息以及依賴關係,同時這種RNNs框架利用前一階段的預測標籤來動態調整輸入圖像的提取特徵,這使得在預測不同標籤時,網絡能夠注意不同的圖像區域。在標籤存在的冗餘語義問題上,論文提出構建圖像-標籤的聯合embedding。這種embedding將每一個標籤或圖像向低維歐幾里得空間進行映射,以使語義相似標籤彼此接近,並且每個圖像的應與其關聯的標籤接近。
Innovation
- joint image/label embedding
- 利用RNN學習在joint image/label embedding 空間下不同標籤間的co-occurrence dependency。
Method
Model
模型通過CNN來提取圖像的特徵,標籤則映射到相同的低維空間。如下式:
其中,表示k-th標籤的one-hot向量, 則表示標籤映射矩陣(label embedding matrix),其中k-th行表示k-th標籤的embedding 。(我覺得論文中表述有問題,應該是,得到一個(1 * n)的k-th標籤的embedding)
將上一預測的標籤embedding輸入LSTM,通過其內部的非線性函數以及其隱藏遞歸狀態對標籤的共現依賴關係進行建模。
其中,和分別表示t時刻的隱藏狀態以及輸出。是預測路徑中第t個標籤的embedding。
遞歸層的輸出和圖像特徵做融合並被投影到與標籤embedding相同的低維空間中。
其中,和分別表示循環層輸出和圖像特徵映射矩陣。
最後,通過將和的轉置相乘來計算標籤分數,結果代表了和每個標籤embedding之間的距離。
通過對標籤得分softmax並歸一化,可以計算出預測的標籤概率。
Training
訓練多標籤CNN-RNN模型的一個重要問題是確定標籤的順序。本文中標籤的順序根據它們在訓練數據中的出現頻率來確定。頻繁出現的標籤比不頻繁出現的標籤出現得早,這與直覺相一致,即應該先預測較容易的物體,以幫助預測較難的物體。
Inference
通過beam search算法來尋找最大概率標籤集合。
Experiment
Compare with SOTA
- 總體性能上超過SOTA,對大目標和相關性較強的目標檢測性能好
- 很難檢測相關性較小的小物體標籤
Label embedding
embedding相近的標籤具有較強的語義相關性。
Attention Visualization
雖然RNN框架沒有學習明確的注意力模型,但在對不同目標進行分類時,它能夠將注意力轉向不同的圖像區域。