博客專欄

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

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

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

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


前言

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

1.jpg

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


概述

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

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

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

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

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

會有很多人問:什么是語義分割?

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

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

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

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

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

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

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

2.jpg

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

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

參考文章:(“計算機視覺戰(zhàn)隊”微信公眾平臺推送)

DeepLab V3

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

谷歌——DeepLab v1

1)FCN 2014年

3.jpg

主要的貢獻:

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

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

使用 反卷積層 進行上采樣

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

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

2)SegNet 2015年

4.jpg

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

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

3)U-Net 2015 

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

5.jpg

4)Dilated Convolutions 2015年

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

6.gif

主要貢獻:

使用膨脹卷積

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

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

7.jpg

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



關(guān)鍵詞: AI

相關(guān)推薦

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

關(guān)閉