CVPR 2017論文解讀:Instance-Aware圖像語(yǔ)義分割
本屆 CVPR 2017大會(huì)上出現(xiàn)了很多值得關(guān)注的精彩論文,國(guó)內(nèi)自動(dòng)駕駛創(chuàng)業(yè)公司 Momenta 聯(lián)合機(jī)器之心推出 CVPR 2017 精彩論文解讀專欄,本文是此系列專欄的第五篇,介紹了清華大學(xué)與微軟的論文《Fully Convolutional Instance-aware Semantic Segmentation》,作者為 Momenta 高級(jí)研發(fā)工程師梁繼。
論文鏈接:https://arxiv.org/pdf/1611.07709.pdf
自從 FCN(Fully Convolutional Networks for Semantic Segmentation)一文將全卷積,端到端的訓(xùn)練框架應(yīng)用在了圖像分割領(lǐng)域,這種高效的模式被廣泛應(yīng)用在了大多數(shù)的語(yǔ)義分割任務(wù)(semantic segment)中。它在網(wǎng)絡(luò)結(jié)構(gòu)中只使用卷積操作,輸出結(jié)果的通道個(gè)數(shù)和待分類的類別個(gè)數(shù)相同。后接一個(gè) softmax 操作來(lái)實(shí)現(xiàn)每個(gè)像素的類別訓(xùn)練。
物體分割(instance aware segment)有別于語(yǔ)義分割。在語(yǔ)義分割中,同一類的物體并不區(qū)分彼此,而是統(tǒng)一標(biāo)記為同一類。但物體分割需要區(qū)分每一個(gè)獨(dú)立的個(gè)體。
上圖的示例可以看出兩個(gè)任務(wù)的區(qū)別。左圖中的五只羊,在語(yǔ)義分割任務(wù)中(中圖),被賦予了同一種類別標(biāo)簽。而在物體分割中(右圖),每只羊都被賦予了不同的類別。
在一張圖像中,待分割的物體個(gè)數(shù)是不定的,每個(gè)物體標(biāo)記一個(gè)類別的話,這張圖像的類別個(gè)數(shù)也是不定的,導(dǎo)致輸出的通道個(gè)數(shù)也無(wú)法保持恒定,所以不能直接套用 FCN 的端到端訓(xùn)練框架。
因此,一個(gè)直接的想法是,先得到每個(gè)物體的檢測(cè)框,在每個(gè)檢測(cè)框內(nèi),再去提取物體的分割結(jié)果。這樣可以避免類別個(gè)數(shù)不定的問(wèn)題。比如,在 faster rcnn 的框架中,提取 ROI 之后,對(duì)每個(gè) ROI 區(qū)域多加一路物體分割的分支。
這種方法雖然可行,但留有一個(gè)潛在的問(wèn)題:label 的不穩(wěn)定。想象一下有兩個(gè)人(A,B)離得很近,以至于每個(gè)人的檢測(cè)框都不得不包含一些另一個(gè)人的區(qū)域。當(dāng)我們關(guān)注 A 時(shí),B 被引入的部分會(huì)標(biāo)記為背景;相反當(dāng)我們關(guān)注 B 時(shí),這部分會(huì)被標(biāo)記為前景。
為了解決上述問(wèn)題,本文引用了一種 Instance-sensitive score maps 的方法(首先在 Instance-sensitive Fully Convolutional Networks 一文中被提出),簡(jiǎn)單卻有效的實(shí)現(xiàn)了端到端的物體分割訓(xùn)練。
具體的作法是:
將一個(gè) object 的候選框分為 NxN 的格子,每個(gè)格子的 feature 來(lái)自不同通道的 feature map。
以上圖為例,可以認(rèn)為,將物體分割的輸出分成了 9 個(gè) channel,分別學(xué)習(xí) object 的左上,上,右上,….. 右下等 9 個(gè)邊界。
這種改變將物體從一個(gè)整體打散成為 9 個(gè)部分,從而在任何一張 feature map 上,兩個(gè)相鄰的物體的 label 不再連在一起(feature map 1 代表物體的左上邊界,可以看到兩個(gè)人的左上邊界并沒(méi)有連在一起),因此,在每張 feature map 上,兩人都是可區(qū)分的。
打個(gè)比喻,假設(shè)本來(lái)我們只有一個(gè) person 類別,兩個(gè)人如果肩并肩緊挨著站在一起,則無(wú)法區(qū)分彼此。如果我們劃分了左手,右手,中心軀干等三個(gè)類別,用三張獨(dú)立的 feature map 代表。那么在每張 feature map 上兩個(gè)人都是可區(qū)分的。當(dāng)我們需要判斷某個(gè)候選框內(nèi)有沒(méi)有人時(shí),只需要對(duì)應(yīng)的去左手,右手,中心軀干的 feature map 上分別去對(duì)應(yīng)的區(qū)域拼在一起,看能不能拼成一個(gè)完整的人體即可。
借用這個(gè)方法,本文提出了一個(gè)物體分割端到端訓(xùn)練的框架,如上圖所示,使用 region proposal 網(wǎng)絡(luò)提供物體分割的 ROI,對(duì)每個(gè) ROI 區(qū)域,應(yīng)用上述方法,得到物體分割的結(jié)果。
文章中還有一些具體的訓(xùn)練細(xì)節(jié),不過(guò)這里不再占用篇幅贅述。本文***的價(jià)值在于,***個(gè)提出了在物體分割中可以端到端訓(xùn)練的框架,是繼 FCN 之后分割領(lǐng)域的又一個(gè)重要進(jìn)展。
Q&A
1 文中將物體劃分為 NxN 的格子,這種人為規(guī)則是否有不適用的情況?
A:目前還沒(méi)有發(fā)現(xiàn)不適用的情況。對(duì)于硬性劃分帶來(lái)的潛在問(wèn)題,可以考慮一些 soft 分格的方法。
2 是否考慮去掉 rpn 提取 proposal 的步驟,直接在整圖上做 multi class 的 instance aware segment?
A:這也是我們要嘗試實(shí)現(xiàn)的。
3 instance aware segment 目前主要的應(yīng)用場(chǎng)景是什么?
A:不清楚。留給做應(yīng)用開發(fā)的人去發(fā)掘。
【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)文章,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】