多標(biāo)簽圖像分類綜述
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)載自:言有三
圖像分類作為計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)任務(wù),經(jīng)過大量的研究與試驗(yàn),已經(jīng)取得了傲人的成績。然而,現(xiàn)有的分類任務(wù)大多是以單標(biāo)簽分類展開研究的。當(dāng)圖片中有多個(gè)標(biāo)簽時(shí),又該如何進(jìn)行分類呢?本篇綜述將帶領(lǐng)大家了解多標(biāo)簽圖像分類這一方向,了解更具難度的圖像分類。
隨著科學(xué)技術(shù)的進(jìn)步與發(fā)展,圖像作為信息傳播的重要媒介,在通信、無人駕駛、醫(yī)學(xué)影像分析、航天、遙感等多個(gè)領(lǐng)域得到了廣泛的研究,并在國民社會、經(jīng)濟(jì)生活中承擔(dān)著更加重要的角色。人們對圖像研究的愈發(fā)重視,也促使計(jì)算機(jī)視覺領(lǐng)域迎來了蓬勃發(fā)展的黃金時(shí)代。
作為計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)性任務(wù),圖像分類是目標(biāo)檢測、語義分割的重要支撐,其目標(biāo)是將不同的圖像劃分到不同的類別,并實(shí)現(xiàn)最小的分類誤差。經(jīng)過近30年的研究,圖像分類已經(jīng)成功應(yīng)用至社會生活的方方面面。如今,在我們的生活中隨處可見——智能手機(jī)的相冊自動分類、產(chǎn)品缺陷識別、無人駕駛等等。

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

機(jī)器學(xué)習(xí)算法主要包括兩個(gè)解決思路:
(1) 問題遷移,即將多標(biāo)簽分類問題轉(zhuǎn)化為單標(biāo)簽分類問題,如將標(biāo)簽轉(zhuǎn)化為向量、訓(xùn)練多個(gè)分類器等;
(2) 根據(jù)多標(biāo)簽特點(diǎn),提出新的適應(yīng)性算法,包括ML-KNN、Ranking SVM、Multi-label Decision Tree等?,F(xiàn)對其中具有代表性的算法進(jìn)行總結(jié)。
2.1 問題遷移
問題遷移方法的主要思想是先將多標(biāo)簽數(shù)據(jù)集用某種方式轉(zhuǎn)換成單標(biāo)簽數(shù)據(jù)集,然后運(yùn)用單標(biāo)簽分類方法進(jìn)行分類。該方法有可以包括基于標(biāo)簽轉(zhuǎn)換和基于樣本實(shí)例轉(zhuǎn)換。
2.1.1 基于標(biāo)簽轉(zhuǎn)換
針對每個(gè)標(biāo)簽,將屬于這個(gè)標(biāo)簽的所有實(shí)例分為一類,不屬于的分為另一類,將所有數(shù)據(jù)轉(zhuǎn)換為多個(gè)單標(biāo)簽分類問題(如下圖)。典型算法主要有Binary Relevance和Classifier Chain兩種。

2.1.2 基于樣本實(shí)例轉(zhuǎn)換
這種方法是將多標(biāo)簽實(shí)例分解成多個(gè)單標(biāo)簽實(shí)例。如下圖所示。實(shí)例E3對應(yīng)標(biāo)簽y3和y4,則通過分解多標(biāo)簽方法法將E3分解成單獨(dú)選中標(biāo)簽y3和y4的實(shí)例,然后對每一個(gè)標(biāo)簽作單獨(dú)預(yù)測。

2.2?適應(yīng)性方法
如上文所述,新的適應(yīng)性算法是根據(jù)多標(biāo)簽分類的特殊性,改進(jìn)現(xiàn)有的單標(biāo)簽分類算法,主要包括以下三種:
2.2.1 ML-KNN

ML-KNN由傳統(tǒng)的KNN算法發(fā)展而來。首先通過KNN算法得到樣本最接近的K個(gè)鄰近樣本,然后根據(jù)K個(gè)鄰近樣本的標(biāo)簽,統(tǒng)計(jì)屬于某一標(biāo)簽的鄰近樣本個(gè)數(shù),最后利用最大后驗(yàn)概率原則(MAP)決定測試樣本含有的標(biāo)簽集合。
2.2.2 Rank SVM

Rank SVM是在SVM的基礎(chǔ)上,加入Ranking Loss損失函數(shù)和相應(yīng)的邊際函數(shù)作為約束條件,并擴(kuò)展目標(biāo)函數(shù)而提出的一種多標(biāo)簽學(xué)習(xí)算法。該算法的簡要思路是:首先定義函數(shù)s(x)是樣本x的標(biāo)簽集的規(guī)模大小,然后定義rk(x)=wkTx+bk,如果求得的rk(x)值在最大的s(x)個(gè)元素(r1(x),...rQ(x))之間,則認(rèn)為該樣本x選中該標(biāo)簽k,否則就沒被選中。在求解過程中定義新的排序函數(shù)rk(x)-rl(x)≥1,其中k表示被樣本x選中的標(biāo)簽,l表示沒有被選中的標(biāo)簽,并基于這個(gè)新的排序函來大間隔分類器,同時(shí)最小化Ranking?Loss,從而推導(dǎo)出適合多標(biāo)簽分類的目標(biāo)函數(shù)和限制條件。
2.2.3 Multi-label Decision Tree

該算法采用決策樹技術(shù)處理多標(biāo)簽數(shù)據(jù),利用基于多標(biāo)簽熵的信息增益準(zhǔn)則遞歸地構(gòu)建決策樹。樹形結(jié)構(gòu)包括非葉結(jié)點(diǎn)、分支、葉節(jié)點(diǎn)。決策樹模型用于分類時(shí),特征屬性用非葉節(jié)點(diǎn)表示,特征屬性在某個(gè)值域上的輸出用非葉節(jié)點(diǎn)之間的分支表示,而類別則用葉節(jié)點(diǎn)存放。
計(jì)算思想如下:首先計(jì)算每個(gè)特征的信息增益,挑選增益最大的特征來劃分樣本為左右子集,遞歸下去,直到滿足停止條件,完成決策樹的構(gòu)建。對新的測試樣本,沿根節(jié)點(diǎn)遍歷一條路徑到葉子節(jié)點(diǎn),計(jì)算葉子節(jié)點(diǎn)樣本子集中每個(gè)標(biāo)簽為0和1的概率,概率超過0.5則表示含有該標(biāo)簽。當(dāng)遍歷所有路徑到底不同的葉節(jié)點(diǎn)之后,則可判斷涵蓋的所有標(biāo)簽信息。
除了上述三類主要算法外,還包括諸多以單標(biāo)簽分類進(jìn)行改進(jìn)的算法,在此不再贅述。
深度學(xué)習(xí)的發(fā)展帶動了圖像分類精度的大幅提升,神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線性表征能力可以在大規(guī)模數(shù)據(jù)中學(xué)習(xí)到更加有效的特征。近年來,多標(biāo)簽圖像分類也開始使用深度學(xué)習(xí)的思想展開研究。

魏云超等在程明明教授提出的BING理論基礎(chǔ)上,提出了Hypotheses-CNN-Pooling。首先對每張圖片提取含有標(biāo)簽信息的候選區(qū)域(如上圖中的Hypotheses Extraction過程),然后將每個(gè)候選區(qū)域送入CNN進(jìn)行分類訓(xùn)練,最后利用cross-hypothesis max-pooling融合所有候選區(qū)域的分類結(jié)果,從而得到多個(gè)標(biāo)簽信息完整的圖片。

CNN具有強(qiáng)大的語義信息提取能力,而RNN則可以建立信息之間的關(guān)聯(lián)。根據(jù)這一理論觀點(diǎn),Jiang Wang等提出了CNN-RNN聯(lián)合的網(wǎng)絡(luò)結(jié)構(gòu)。首先利用CNN對輸入圖像進(jìn)行訓(xùn)練,得到相應(yīng)的特征,然后將圖片對應(yīng)的特征投影到與標(biāo)簽一致的空間中,在該空間利用RNN進(jìn)行單詞的搜索訓(xùn)練。該算法充分考慮了類別之間的相關(guān)性,可以有效對圖像中具有一定關(guān)系的標(biāo)簽進(jìn)行識別。

在CNN-RNN結(jié)構(gòu)的基礎(chǔ)上,后續(xù)文章又加入Regional LSTM模塊。該模塊可以對CNN的特征進(jìn)行導(dǎo)向處理,從而獲取特征的位置信息,并計(jì)算位置信息和標(biāo)簽之間的相關(guān)性。在上文的結(jié)果上進(jìn)一步考慮了特征、位置和標(biāo)簽之間潛在的依賴關(guān)系,可以有效計(jì)算圖片中多個(gè)標(biāo)簽同時(shí)存在的可能性,并進(jìn)行圖片的分類。
最近,諸多基于image-level進(jìn)行弱監(jiān)督分割研究的文章,充分利用了多標(biāo)簽分類網(wǎng)絡(luò)的信息。其主要思想是將標(biāo)簽統(tǒng)一處理為向量形式,為每幅圖片構(gòu)建一個(gè)維度為1xN的矩陣標(biāo)簽(如[0,0,0,1,1,0]形式),并采用專門的損失函數(shù)(Hanming loss、Ranking loss等)進(jìn)行訓(xùn)練。這一方法成功地將多標(biāo)簽的復(fù)雜問題,轉(zhuǎn)化為單標(biāo)簽問題,從而可以利用傳統(tǒng)的分類網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
多標(biāo)簽圖像分類的相關(guān)算法仍然層出不窮,但不論是基于機(jī)器學(xué)習(xí)還是基于深度學(xué)習(xí)的算法,都有其優(yōu)勢和不足,如何根據(jù)實(shí)際應(yīng)用需求選用合適的算法,才是我們應(yīng)當(dāng)關(guān)注的重點(diǎn)內(nèi)容。
單標(biāo)簽分類中通常采用準(zhǔn)確率(Precision),召回率(Recall)、F值(F-measure)和AUC曲線對分類結(jié)果進(jìn)行評價(jià)。然而,在多標(biāo)簽分類中一個(gè)圖片與多個(gè)標(biāo)簽同時(shí)關(guān)聯(lián),其復(fù)雜程度遠(yuǎn)遠(yuǎn)高于單標(biāo)簽分類。因此,在繼承單標(biāo)簽分類評價(jià)指標(biāo)的基礎(chǔ)上,許多關(guān)于多標(biāo)簽分類的評價(jià)指標(biāo)也被提出。在這里只介紹多標(biāo)簽分類常用的指標(biāo),有關(guān)單標(biāo)簽分類的指標(biāo)不再贅述。
4.1 平均準(zhǔn)確率(AP)和平均準(zhǔn)確率均值(mAP)

同單標(biāo)簽分類一樣,當(dāng)一張圖片中的所有標(biāo)記均預(yù)測正確時(shí),準(zhǔn)確率才可以置1,否則置零。每個(gè)類別下的標(biāo)簽分別進(jìn)行計(jì)算后,取其平均值即可獲得平均準(zhǔn)確率,對所有平均準(zhǔn)確率取均值即可獲得平均準(zhǔn)確率均值。平均準(zhǔn)確率可以衡量模型在每個(gè)類別的好壞程度,而平均準(zhǔn)確率均值則衡量的是在所有類別的好壞程度。
4.2 漢明距離

將預(yù)測的標(biāo)簽集合與實(shí)際的標(biāo)簽集合進(jìn)行對比,按照漢明距離的相似度來衡量。漢明距離的相似度越高,即漢明損失函數(shù)越小,則模型的準(zhǔn)確率越高。
4.3 1-錯誤率

1-錯誤率用來計(jì)算預(yù)測結(jié)果中排序第一的標(biāo)簽不屬于實(shí)際標(biāo)簽集中的概率。其思想相當(dāng)于單標(biāo)簽分類問題中的錯誤率評價(jià)指標(biāo)。1-錯誤率越小,說明預(yù)測結(jié)果越接近實(shí)際標(biāo)簽,模型的預(yù)測結(jié)果也就越好。
4.4 覆蓋率

覆蓋率用來度量“排序好的標(biāo)簽列表”平均需要移動多少步數(shù),才能覆蓋真實(shí)的相關(guān)標(biāo)簽集合。對預(yù)測集合Y中的所有標(biāo)簽{y1,y2,… yi … yn}進(jìn)行排序,并返回標(biāo)簽yi在排序表中的排名,排名越高,則相關(guān)性越差,反之,相關(guān)性越高。
4.5 排序損失

排序損失計(jì)算的是不相關(guān)標(biāo)簽比相關(guān)標(biāo)簽的相關(guān)性還要大的概率。
高質(zhì)量的數(shù)據(jù)集是圖像分類的基礎(chǔ),更是關(guān)鍵所在。隨著人們對數(shù)據(jù)質(zhì)量的重視程度越來越高,如今已有諸多完備的多標(biāo)簽圖像分類數(shù)據(jù)集。

5.1 Pascal VOC
Pascal VOC數(shù)據(jù)集的主要任務(wù)是在真實(shí)場景中識別來自多個(gè)類別的目標(biāo)。該數(shù)據(jù)集共有近兩萬張圖片,共有20個(gè)類別組成。Pascal VOC官方對每張圖片都進(jìn)行了詳細(xì)的信息標(biāo)注,包括類別信息、邊界框信息和語義信息,均保存在相應(yīng)的xml格式文件中。通過讀取xml文件中的
5.2 COCO
COCO(Common Objects in Context)數(shù)據(jù)集由微軟公司贊助搭建。該數(shù)據(jù)集包含了91個(gè)類別,三十余萬張圖片以及近二百五十萬個(gè)標(biāo)簽。與Pascal VOC相類似,COCO數(shù)據(jù)的標(biāo)注信息均保存在圖片對應(yīng)的json格式文件中。通過讀取json文件中的annotation字段,可以獲取其中的category_id項(xiàng),從而獲取圖片中的類別信息。同一json文件中包含多個(gè)category_id項(xiàng),可以幫助我們構(gòu)建多標(biāo)簽信息。COCO數(shù)據(jù)集的類別雖然遠(yuǎn)遠(yuǎn)大于Pascal VOC,而且每一類包含的圖像更多,這也更有利于特定場景下的特征學(xué)習(xí)。
除了上述兩個(gè)個(gè)主流數(shù)據(jù)集之外,比較常用的還包括ImageNet數(shù)據(jù)集、NUS-WIDE數(shù)據(jù)集。近年來,諸多公司、科研機(jī)構(gòu)也提出了諸多全新的數(shù)據(jù)集,如ML-Images等。這些標(biāo)注完善的數(shù)據(jù),為多標(biāo)簽圖像分類的研究提供了有力的支持,同樣也為圖像處理領(lǐng)域的發(fā)展做出了巨大貢獻(xiàn)。
(1)?多標(biāo)簽圖像分類的可能性隨著圖片中標(biāo)簽類別的增加呈指數(shù)級增長,在現(xiàn)有的硬件基礎(chǔ)上會加劇訓(xùn)練的負(fù)擔(dān)和時(shí)間成本,如何有效的降低信息維度是面臨的最大挑戰(zhàn)。
(2) 多標(biāo)簽分類往往沒有考慮類別之間的相關(guān)性,如房子大概率不會出現(xiàn)老虎、海洋上不太可能出現(xiàn)汽車。對于人類來說,這些均是常識性的問題,但對于計(jì)算機(jī)卻是非常復(fù)雜的過程,如何找到類別之間的相關(guān)性也能夠更好的降低多標(biāo)簽圖像分類的難度。
古語有云:“紙上得來終覺淺,絕知此事要躬行”,理論知識的學(xué)習(xí)必須通過實(shí)踐才能進(jìn)一步強(qiáng)化,想親身體會算法細(xì)節(jié)還需要認(rèn)真實(shí)戰(zhàn)。
好消息,小白學(xué)視覺團(tuán)隊(duì)的知識星球開通啦,為了感謝大家的支持與厚愛,團(tuán)隊(duì)決定將價(jià)值149元的知識星球現(xiàn)時(shí)免費(fèi)加入。各位小伙伴們要抓住機(jī)會哦!

交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

