博客專欄

EEPW首頁 > 博客 > 分割算法——可以分割一切目標(biāo)(各種分割總結(jié))(1)

分割算法——可以分割一切目標(biāo)(各種分割總結(jié))(1)

發(fā)布人:CV研究院 時(shí)間:2021-09-16 來源:工程師 發(fā)布文章

很多關(guān)注的朋友一直會(huì)問“計(jì)算機(jī)視覺戰(zhàn)隊(duì)平臺(tái)有基礎(chǔ)性的內(nèi)容嗎?”,今天我和大家說一次,我們平臺(tái)之前有推送很多基礎(chǔ)的知識(shí)


前言

很多關(guān)注的朋友一直會(huì)問“計(jì)算機(jī)視覺研究院“有基礎(chǔ)性的內(nèi)容嗎?”,今天我和大家說一次,我們平臺(tái)之前有推送很多基礎(chǔ)的知識(shí),有興趣的或者是剛剛接觸CV&DL的你,可以去歷史消息閱讀,在這也感謝所有一直關(guān)注和支持我們的小伙伴!接下來就和大家說說目標(biāo)分割的事吧~

1.jpg

分割其實(shí)在很多領(lǐng)域是非常重要的研究對(duì)象,現(xiàn)在也有很多研究者在該領(lǐng)域大展身手,比如何大神,一直在該方面的做的最優(yōu)秀之一,今天就基于他CVPR 2018的一篇優(yōu)秀Paper說起。


概述

大多數(shù)目標(biāo)實(shí)例分割的方法都要求所有的訓(xùn)練樣本帶有segmentation masks。這種要求就使得注釋新類別的開銷很大,并且將實(shí)例分段模型限制為~100注釋良好的類。

本次技術(shù)目的是提出一種新的部分監(jiān)督的訓(xùn)練模式,該模式具有一種新的權(quán)重傳遞函數(shù),結(jié)合一種新的權(quán)重傳遞函數(shù),可以在一大組類別上進(jìn)行訓(xùn)練實(shí)例分割模型,所有這些類別都有框注釋,但只有一小部分有mask注釋。這些設(shè)計(jì)允許我們訓(xùn)練MASK R-CNN,使用VisualGenome數(shù)據(jù)集的框注釋和COCO數(shù)據(jù)集中80個(gè)類的mask注釋來檢測(cè)和分割3000種視覺概念。

最終,在COCO數(shù)據(jù)集的對(duì)照研究中評(píng)估了提出的方法。這項(xiàng)工作是邁向?qū)σ曈X世界有廣泛理解的實(shí)例分割模型的第一步。

在正式細(xì)說本次分割技術(shù)之前,還是簡(jiǎn)單說下分割的事,有一個(gè)簡(jiǎn)單的引言和大家分享下,沒有興趣的您可以直接跳過,閱讀關(guān)鍵技術(shù)部分,謝謝!

目標(biāo)檢測(cè)器已經(jīng)變得更加精確,并獲得了重要的新功能。最令人興奮的是能夠預(yù)測(cè)每個(gè)檢測(cè)到的目標(biāo)前景分割mask,這是一個(gè)稱為instance segmentation的任務(wù)。在實(shí)踐中,典型的instance segmentation系統(tǒng)僅限于僅包含大約100個(gè)目標(biāo)類別的廣闊視覺世界的一小部分。

會(huì)有很多人問:什么是語義分割?

語義分割其實(shí)就是對(duì)圖片的每個(gè)像素都做分類。其中,較為重要的語義分割數(shù)據(jù)集有:VOC2012 以及 MSCOCO 。

比較流行經(jīng)典的幾種方法

傳統(tǒng)機(jī)器學(xué)習(xí)方法:如像素級(jí)的決策樹分類,參考TextonForest以及Random Forest based classifiers。再有就是深度學(xué)習(xí)方法。

深度學(xué)習(xí)最初流行的分割方法是,打補(bǔ)丁式的分類方法 (patch classification) 。逐像素地抽取周圍像素對(duì)中心像素進(jìn)行分類。由于當(dāng)時(shí)的卷積網(wǎng)絡(luò)末端都使用全連接層 (full connected layers) ,所以只能使用這種逐像素的分割方法。

但是到了2014年,來自伯克利的Fully Convolutional Networks(FCN)【點(diǎn)擊藍(lán)色,有鏈接直接可以閱讀全卷積網(wǎng)絡(luò)相關(guān)資料】卷積網(wǎng)絡(luò),去掉了末端的全連接層。隨后的語義分割模型基本上都采用了這種結(jié)構(gòu)。除了全連接層,語義分割另一個(gè)重要的問題是池化層。池化層能進(jìn)一步提取抽象特征增加感受域,但是丟棄了像素的位置信息。但是語義分割需要類別標(biāo)簽和原圖像對(duì)齊,因此需要從新引入像素的位置信息。有兩種不同的架構(gòu)可以解決此像素定位問題。

第一種是編碼-譯碼架構(gòu)。編碼過程通過池化層逐漸減少位置信息、抽取抽象特征;譯碼過程逐漸恢復(fù)位置信息。一般譯碼與編碼間有直接的連接。該類架構(gòu)中U-net 是最流行的。

第二種是膨脹卷積 (dilated convolutions) 【這個(gè)核心技術(shù)值得去閱讀學(xué)習(xí)】,拋棄了池化層。使用的卷積核如下圖所示:

2.jpg

居然都說到這里,那我繼續(xù)來簡(jiǎn)單說一些相關(guān)的文獻(xiàn)吧。

按時(shí)間順序總結(jié),大概我能總結(jié)9篇paper,看語義分割的結(jié)構(gòu)是如何演變的。分別有FCN 、SegNet 、U-Net、Dilated Convolutions 、DeepLab (v1 & v2) 、RefineNet 、PSPNet 、Large Kernel Matters 、DeepLab v3 。

參考文章:(“計(jì)算機(jī)視覺戰(zhàn)隊(duì)”微信公眾平臺(tái)推送)

DeepLab V3

Deeplab v2 安裝及調(diào)試全過程

谷歌——DeepLab v1

1)FCN 2014年

3.jpg

主要的貢獻(xiàn):

為語義分割引入了 端到端 的全卷積網(wǎng)絡(luò),并流行開來

重新利用 ImageNet 的預(yù)訓(xùn)練網(wǎng)絡(luò)用于語義分割

使用 反卷積層 進(jìn)行上采樣

引入跳躍連接來改善上采樣粗糙的像素定位

比較重要的發(fā)現(xiàn)是,分類網(wǎng)絡(luò)中的全連接層可以看作對(duì)輸入的全域卷積操作,這種轉(zhuǎn)換能使計(jì)算更為高效,并且能重新利用ImageNet的預(yù)訓(xùn)練網(wǎng)絡(luò)。經(jīng)過多層卷積及池化操作后,需要進(jìn)行上采樣,F(xiàn)CN使用反卷積(可學(xué)習(xí))取代簡(jiǎn)單的線性插值算法進(jìn)行上采樣。

2)SegNet 2015年

4.jpg

編碼-譯碼架構(gòu)

主要貢獻(xiàn):將池化層結(jié)果應(yīng)用到譯碼過程。引入了更多的編碼信息。使用的是pooling indices而不是直接復(fù)制特征,只是將編碼過程中 pool 的位置記下來,在 uppooling 是使用該信息進(jìn)行 pooling 。

3)U-Net 2015 

U-Net有更規(guī)整的網(wǎng)絡(luò)結(jié)構(gòu),通過將編碼器的每層結(jié)果拼接到譯碼器中得到更好的結(jié)果。

5.jpg

4)Dilated Convolutions 2015年

通過膨脹卷積操作聚合多尺度的信息

6.gif

主要貢獻(xiàn):

使用膨脹卷積

提出 ’context module‘ ,用來聚合多尺度的信息

池化在分類網(wǎng)絡(luò)中能夠擴(kuò)大感知域,同樣降低了分辨率,所以提出了膨脹卷積層。

7.jpg

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉