多標籤影像分類綜述
- 2019 年 10 月 31 日
- 筆記
影像分類作為電腦視覺領域的基礎任務,經過大量的研究與試驗,已經取得了傲人的成績。然而,現有的分類任務大多是以單標籤分類展開研究的。當圖片中有多個標籤時,又該如何進行分類呢?本篇綜述將帶領大家了解多標籤影像分類這一方向,了解更具難度的影像分類。
作者 | 郭冰洋
編輯 | 言有三
1 簡介
隨著科學技術的進步與發展,影像作為資訊傳播的重要媒介,在通訊、無人駕駛、醫學影像分析、航天、遙感等多個領域得到了廣泛的研究,並在國民社會、經濟生活中承擔著更加重要的角色。人們對影像研究的愈發重視,也促使電腦視覺領域迎來了蓬勃發展的黃金時代。
作為電腦視覺領域的基礎性任務,影像分類是目標檢測、語義分割的重要支撐,其目標是將不同的影像劃分到不同的類別,並實現最小的分類誤差。經過近30年的研究,影像分類已經成功應用至社會生活的方方面面。如今,在我們的生活中隨處可見——智慧手機的相冊自動分類、產品缺陷識別、無人駕駛等等。

根據分類任務的目標不同,可以將影像分類任務劃分成兩部分:(1)單標籤影像分類;(2)多標籤影像分類。
單標籤影像分類是指每張圖片對應一個類別標籤,根據物體類別的數量,又可以將單標籤影像分類劃分成二分類、多類別分類。如下圖所示,可以將該圖的標籤記為海洋,通過單標籤影像分類我們可以判定該影像中是否含有海洋。
然而,現實生活中的圖片中往往包含多個類別的物體,這也更加符合人的認知習慣。我們再來觀察下圖,可以發現圖中不僅包含海洋,還包括了海豚。多標籤影像分類可以告知我們影像中是否同時包含這些內容,這也能夠更好地解決實際生活中的問題。

2 傳統機器學習演算法
機器學習演算法主要包括兩個解決思路:
(1) 問題遷移,即將多標籤分類問題轉化為單標籤分類問題,如將標籤轉化為向量、訓練多個分類器等;
(2) 根據多標籤特點,提出新的適應性演算法,包括ML-KNN、Ranking SVM、Multi-label Decision Tree等。現對其中具有代表性的演算法進行總結。
2.1 問題遷移
問題遷移方法的主要思想是先將多標籤數據集用某種方式轉換成單標籤數據集,然後運用單標籤分類方法進行分類。該方法有可以包括基於標籤轉換和基於樣本實例轉換。
2.1.1 基於標籤轉換
針對每個標籤,將屬於這個標籤的所有實例分為一類,不屬於的分為另一類,將所有數據轉換為多個單標籤分類問題(如下圖)。典型演算法主要有Binary Relevance和Classifier Chain兩種。

2.1.2 基於樣本實例轉換
這種方法是將多標籤實例分解成多個單標籤實例。如下圖所示。實例E3對應標籤y3和y4,則通過分解多標籤方法法將E3分解成單獨選中標籤y3和y4的實例,然後對每一個標籤作單獨預測。

2.2 適應性方法
如上文所述,新的適應性演算法是根據多標籤分類的特殊性,改進現有的單標籤分類演算法,主要包括以下三種:
2.2.1 ML-KNN

ML-KNN由傳統的KNN演算法發展而來。首先通過KNN演算法得到樣本最接近的K個鄰近樣本,然後根據K個鄰近樣本的標籤,統計屬於某一標籤的鄰近樣本個數,最後利用最大後驗概率原則(MAP)決定測試樣本含有的標籤集合。
2.2.2 Rank SVM

Rank SVM是在SVM的基礎上,加入Ranking Loss損失函數和相應的邊際函數作為約束條件,並擴展目標函數而提出的一種多標籤學習演算法。該演算法的簡要思路是:首先定義函數s(x)是樣本x的標籤集的規模大小,然後定義rk(x)=wkTx+bk,如果求得的rk(x)值在最大的s(x)個元素(r1(x),…rQ(x))之間,則認為該樣本x選中該標籤k,否則就沒被選中。在求解過程中定義新的排序函數rk(x)-rl(x)≥1,其中k表示被樣本x選中的標籤,l表示沒有被選中的標籤,並基於這個新的排序函來大間隔分類器,同時最小化Ranking Loss,從而推導出適合多標籤分類的目標函數和限制條件。
2.2.3 Multi-label Decision Tree

該演算法採用決策樹技術處理多標籤數據,利用基於多標籤熵的資訊增益準則遞歸地構建決策樹。樹形結構包括非葉結點、分支、葉節點。決策樹模型用於分類時,特徵屬性用非葉節點表示,特徵屬性在某個值域上的輸出用非葉節點之間的分支表示,而類別則用葉節點存放。
計算思想如下:首先計算每個特徵的資訊增益,挑選增益最大的特徵來劃分樣本為左右子集,遞歸下去,直到滿足停止條件,完成決策樹的構建。對新的測試樣本,沿根節點遍歷一條路徑到葉子節點,計算葉子節點樣本子集中每個標籤為0和1的概率,概率超過0.5則表示含有該標籤。當遍歷所有路徑到底不同的葉節點之後,則可判斷涵蓋的所有標籤資訊。
除了上述三類主要演算法外,還包括諸多以單標籤分類進行改進的演算法,在此不再贅述。
3 深度學習演算法
深度學習的發展帶動了影像分類精度的大幅提升,神經網路強大的非線性表徵能力可以在大規模數據中學習到更加有效的特徵。近年來,多標籤影像分類也開始使用深度學習的思想展開研究。

魏雲超等在程明明教授提出的BING理論基礎上,提出了Hypotheses-CNN-Pooling。首先對每張圖片提取含有標籤資訊的候選區域(如上圖中的Hypotheses Extraction過程),然後將每個候選區域送入CNN進行分類訓練,最後利用cross-hypothesis max-pooling融合所有候選區域的分類結果,從而得到多個標籤資訊完整的圖片。

CNN具有強大的語義資訊提取能力,而RNN則可以建立資訊之間的關聯。根據這一理論觀點,Jiang Wang等提出了CNN-RNN聯合的網路結構。首先利用CNN對輸入影像進行訓練,得到相應的特徵,然後將圖片對應的特徵投影到與標籤一致的空間中,在該空間利用RNN進行單詞的搜索訓練。該演算法充分考慮了類別之間的相關性,可以有效對影像中具有一定關係的標籤進行識別。

在CNN-RNN結構的基礎上,後續文章又加入Regional LSTM模組。該模組可以對CNN的特徵進行導向處理,從而獲取特徵的位置資訊,並計算位置資訊和標籤之間的相關性。在上文的結果上進一步考慮了特徵、位置和標籤之間潛在的依賴關係,可以有效計算圖片中多個標籤同時存在的可能性,並進行圖片的分類。
最近,諸多基於image-level進行弱監督分割研究的文章,充分利用了多標籤分類網路的資訊。其主要思想是將標籤統一處理為向量形式,為每幅圖片構建一個維度為1xN的矩陣標籤(如[0,0,0,1,1,0]形式),並採用專門的損失函數(Hanming loss、Ranking loss等)進行訓練。這一方法成功地將多標籤的複雜問題,轉化為單標籤問題,從而可以利用傳統的分類網路進行訓練。
多標籤影像分類的相關演算法仍然層出不窮,但不論是基於機器學習還是基於深度學習的演算法,都有其優勢和不足,如何根據實際應用需求選用合適的演算法,才是我們應當關注的重點內容。
4 評價指標
單標籤分類中通常採用準確率(Precision),召回率(Recall)、F值(F-measure)和AUC曲線對分類結果進行評價。然而,在多標籤分類中一個圖片與多個標籤同時關聯,其複雜程度遠遠高於單標籤分類。因此,在繼承單標籤分類評價指標的基礎上,許多關於多標籤分類的評價指標也被提出。在這裡只介紹多標籤分類常用的指標,有關單標籤分類的指標不再贅述。
4.1 平均準確率(AP)和平均準確率均值(mAP)

同單標籤分類一樣,當一張圖片中的所有標記均預測正確時,準確率才可以置1,否則置零。每個類別下的標籤分別進行計算後,取其平均值即可獲得平均準確率,對所有平均準確率取均值即可獲得平均準確率均值。平均準確率可以衡量模型在每個類別的好壞程度,而平均準確率均值則衡量的是在所有類別的好壞程度。
4.2 漢明距離

將預測的標籤集合與實際的標籤集合進行對比,按照漢明距離的相似度來衡量。漢明距離的相似度越高,即漢明損失函數越小,則模型的準確率越高。
4.3 1-錯誤率

1-錯誤率用來計算預測結果中排序第一的標籤不屬於實際標籤集中的概率。其思想相當於單標籤分類問題中的錯誤率評價指標。1-錯誤率越小,說明預測結果越接近實際標籤,模型的預測結果也就越好。
4.4 覆蓋率

覆蓋率用來度量「排序好的標籤列表」平均需要移動多少步數,才能覆蓋真實的相關標籤集合。對預測集合Y中的所有標籤{y1,y2,… yi … yn}進行排序,並返回標籤yi在排序表中的排名,排名越高,則相關性越差,反之,相關性越高。
4.5 排序損失

排序損失計算的是不相關標籤比相關標籤的相關性還要大的概率。
5 數據集
高品質的數據集是影像分類的基礎,更是關鍵所在。隨著人們對數據品質的重視程度越來越高,如今已有諸多完備的多標籤影像分類數據集。

5.1 Pascal VOC
Pascal VOC數據集的主要任務是在真實場景中識別來自多個類別的目標。該數據集共有近兩萬張圖片,共有20個類別組成。Pascal VOC官方對每張圖片都進行了詳細的資訊標註,包括類別資訊、邊界框資訊和語義資訊,均保存在相應的xml格式文件中。通過讀取xml文件中的<name>項,我們可以獲取到單張圖片中包含的多個物體類別資訊,從而構建多標籤資訊集合併進行分類訓練。
5.2 COCO
COCO(Common Objects in Context)數據集由微軟公司贊助搭建。該數據集包含了91個類別,三十餘萬張圖片以及近二百五十萬個標籤。與Pascal VOC相類似,COCO數據的標註資訊均保存在圖片對應的json格式文件中。通過讀取json文件中的annotation欄位,可以獲取其中的category_id項,從而獲取圖片中的類別資訊。同一json文件中包含多個category_id項,可以幫助我們構建多標籤資訊。COCO數據集的類別雖然遠遠大於Pascal VOC,而且每一類包含的影像更多,這也更有利於特定場景下的特徵學習。
除了上述兩個個主流數據集之外,比較常用的還包括ImageNet數據集、NUS-WIDE數據集。近年來,諸多公司、科研機構也提出了諸多全新的數據集,如ML-Images等。這些標註完善的數據,為多標籤影像分類的研究提供了有力的支援,同樣也為影像處理領域的發展做出了巨大貢獻。
6 多標籤影像分類面臨的挑戰
(1) 多標籤影像分類的可能性隨著圖片中標籤類別的增加呈指數級增長,在現有的硬體基礎上會加劇訓練的負擔和時間成本,如何有效的降低資訊維度是面臨的最大挑戰。
(2) 多標籤分類往往沒有考慮類別之間的相關性,如房子大概率不會出現老虎、海洋上不太可能出現汽車。對於人類來說,這些均是常識性的問題,但對於電腦卻是非常複雜的過程,如何找到類別之間的相關性也能夠更好的降低多標籤影像分類的難度。
古語有云:「紙上得來終覺淺,絕知此事要躬行」,理論知識的學習必須通過實踐才能進一步強化,完成了綜述內容的書寫。