【图像分割模型】从FCN说起
今天開啟新的專欄《圖像分割模型》。在這里,我們將共同探索解決分割問題的主流網(wǎng)絡(luò)結(jié)構(gòu)和設(shè)計(jì)思想,這是第1篇文章。
今天要說的是占據(jù)了圖像分割編解碼結(jié)構(gòu)大半江山的Fully Convolutional Network(FCN)。
作者 | 孫叔橋
編輯 | 言有三
?
1 什么是分割
分割,顧名思義,就是把一個(gè)完整的東西按照某種方式或規(guī)則分成若干個(gè)部分。
那么什么是圖像分割呢?簡(jiǎn)單來說,就是把圖像中屬于同一類別或同一個(gè)體的東西劃分在一起,并將各個(gè)子部分區(qū)分開來。像下圖這樣:
為了訓(xùn)練神經(jīng)網(wǎng)絡(luò),圖片中這些像素點(diǎn)會(huì)按照某種規(guī)則被貼上一個(gè)“標(biāo)簽”,比如這個(gè)像素點(diǎn)是屬于人、天空、草地還是樹;更詳細(xì)一點(diǎn),可以再給它們第二個(gè)標(biāo)簽,聲明它們是屬于“哪一個(gè)人”或“哪一棵樹”。
對(duì)于只有一個(gè)標(biāo)簽的(只區(qū)分類別)的任務(wù),我們稱之為“語(yǔ)義分割”(semantic segmentation);對(duì)于區(qū)分相同類別的不同個(gè)體的,則稱之為實(shí)例分割(instance segmentation)。由于實(shí)例分割往往只能分辨可數(shù)目標(biāo),因此,為了同時(shí)實(shí)現(xiàn)實(shí)例分割與不可數(shù)類別的語(yǔ)義分割,2018年Alexander Kirillov等人提出了全景分割(panoptic segmentation)的概念。
下圖分別展示了(a)原始圖像,(b)語(yǔ)義分割,(c)實(shí)例分割和(d)全景分割。
?
2 FCN
目前在圖像分割領(lǐng)域比較成功的算法,有很大一部分都來自于同一個(gè)先驅(qū):Long等人提出的Fully Convolutional Network(FCN),也就是今天我們要討論的網(wǎng)絡(luò)結(jié)構(gòu)。FCN將分類網(wǎng)絡(luò)轉(zhuǎn)換成用于分割任務(wù)的網(wǎng)絡(luò)結(jié)構(gòu),并證明了在分割問題上,可以實(shí)現(xiàn)端到端的網(wǎng)絡(luò)訓(xùn)練。基于此,FCN成為了深度學(xué)習(xí)解決分割問題的奠基石。
目標(biāo)識(shí)別網(wǎng)絡(luò)(分類網(wǎng)絡(luò))盡管表面上來看可以接受任意尺寸的圖片作為輸入,但是由于網(wǎng)絡(luò)結(jié)構(gòu)最后全連接層的存在,使其丟失了輸入的空間信息,因此,這些網(wǎng)絡(luò)并沒有辦法直接用于解決諸如分割等稠密估計(jì)的問題。
考慮到這一點(diǎn),FCN用卷積層和池化層替代了分類網(wǎng)絡(luò)中的全連接層,從而使得網(wǎng)絡(luò)結(jié)構(gòu)可以適應(yīng)像素級(jí)的稠密估計(jì)任務(wù)。如下圖所示,這種全卷積網(wǎng)絡(luò)結(jié)構(gòu)不僅能夠支持稠密估計(jì),而且能夠?qū)崿F(xiàn)端到端的訓(xùn)練。
輸入:整幅圖像。
輸出:空間尺寸與輸入圖像相同,通道數(shù)等于全部類別個(gè)數(shù)。
真值:通道數(shù)為1(或2)的分割圖像。
(1)全連接層轉(zhuǎn)換成卷積層
如前文所述,將全連接層替換成卷積層的優(yōu)勢(shì)之一,是可以使網(wǎng)絡(luò)用于稠密估計(jì)任務(wù),并實(shí)現(xiàn)端到端訓(xùn)練。比如下圖中,將全連接層替換成卷積層后,可以使得網(wǎng)絡(luò)輸出一個(gè)熱度圖(heatmap),而非單個(gè)類別標(biāo)簽。
而這種做法的另外一個(gè)優(yōu)勢(shì)就是,通過接收整幅圖像作為輸入,而非以圖塊的形式處理圖片,網(wǎng)絡(luò)在處理速度上也有了明顯提升。
(2)連接不同尺度下的層
分類網(wǎng)絡(luò)通常會(huì)通過設(shè)置步長(zhǎng)的方式逐漸減小每層的空間尺寸,這種方式可以同時(shí)實(shí)現(xiàn)計(jì)算量的縮小和信息的濃縮。盡管這種操作對(duì)于分類任務(wù)是很有效的,但是對(duì)于分割這樣需要稠密估計(jì)的任務(wù)而言,這種濃縮就未必是好事了。
比如下面這張圖就是全局步長(zhǎng)32下的分割效果。雖然實(shí)現(xiàn)了分割,但是結(jié)果很粗糙,看不出來目標(biāo)的細(xì)節(jié)。
于是,為了解決這個(gè)問題,FCN將不同全局步長(zhǎng)下的層之間進(jìn)行連接。具體網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示。
這樣一來,隨著細(xì)節(jié)信息的逐漸加入,分割的結(jié)果也越來越好。比如下圖從左到右分別對(duì)應(yīng)了全局步長(zhǎng)32、全局步長(zhǎng)16和全局步長(zhǎng)8下的結(jié)果。最右側(cè)是真值。
?
3 實(shí)驗(yàn)結(jié)果
FCN可以與大部分分類網(wǎng)絡(luò)有效結(jié)合,下表中給出了在PASCAL VOC 2011數(shù)據(jù)庫(kù)下,FCN與AlexNet、FCN-VGG16和FCN-GoogLeNet結(jié)合的結(jié)果。
?
4 總結(jié)與思考
盡管FCN意義重大,在當(dāng)時(shí)來講效果也相當(dāng)驚人,但是FCN本身仍然有許多局限。比如:
沒有考慮全局信息
無法解決實(shí)例分割問題
速度遠(yuǎn)不能達(dá)到實(shí)時(shí)
不能夠應(yīng)對(duì)諸如3D點(diǎn)云等不定型數(shù)據(jù)
基于此,各路研究大神們提出了針對(duì)不同局限的各種方法。下圖給出了部分研究成果與FCN的關(guān)系。
今天的圖像分割模型到此結(jié)束,下回再見。
本專欄文章:
第一期:【圖像分割模型】從FCN說起
第二期:【圖像分割模型】編解碼結(jié)構(gòu)SegNet
第三期:【圖像分割模型】感受野與分辨率的控制術(shù)—空洞卷積
如果想加入我們,后臺(tái)留言吧
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續(xù)內(nèi)容將會(huì)不定期奉上,歡迎大家關(guān)注有三公眾號(hào) 有三AI!
總結(jié)
以上是生活随笔為你收集整理的【图像分割模型】从FCN说起的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识星球】每日干货看图猜技术,你都会吗
- 下一篇: 【图像分割模型】编解码结构SegNet