本篇文章,我們講解圖像分割需要掌握的重要知識點。本文將帶你走進圖像分割的大門,著重關(guān)注該領(lǐng)域的研究方向以及重點難點,講述如何學好圖像分割算法。
1 圖像分割簡介
圖像分割,是指將圖像分成若干語義目標的過程,可以細分為3個方向,見下圖對比。
首先我們要把圖像中的目標歸為不可數(shù)目標(stuff類別,比如天空只有一個,不能數(shù))和可數(shù)目標(things類別,比如人可以有多個),然后我們看3個方向的對比。
語義分割(semantic segmention),也就是通常理解的圖像分割,它是一個逐像素的圖像分類問題,每個像素預測類別唯一,可數(shù)目標與不可數(shù)目標都要分類。
實例分割(Instance Segmentation),不僅要預測可數(shù)目標的語義標簽,還有區(qū)分個體的ID,語義標簽指的是物體的類別,而實例ID則對應(yīng)同類物體的不同編號,注意不可數(shù)目標不需要預測。
全景分割(Panoptic Segmentation),它要求圖像中的每個像素點都必須被分配一個語義標簽和一個實例id。
全景分割與語義分割的關(guān)系是:如果所有的類別都是stuff,那么全景分割除了度量與語義分割不同外,其它相同。與語義分割相比,全景分割的困難在于要使網(wǎng)絡(luò)結(jié)構(gòu)能夠區(qū)分不同實例;
全景分割與實例分割的關(guān)系是:全景分割中不允許重疊,但實例分割可以;此外實例分割需要每個分割的置信概率,但全景分割不需要。
近些年來隨著深度學習技術(shù)的發(fā)展,圖像分割技術(shù)有了突飛猛進的進步,從研究方向上來說,存在以下幾個大的方向:
對人類而言,由于有大量的先驗知識和相關(guān)的學習經(jīng)驗,可以迅速識別圖像的相關(guān)內(nèi)容。然而對于計算機而言,對各類復雜形狀和紋理的目標進行分割是有挑戰(zhàn)的。
(1) 多尺度:圖像中目標尺寸的巨大差異,給分割模型構(gòu)成挑戰(zhàn)。
(2) 實例與全景分割:實例與全景分割不僅要分割出目標,還要識別不同的個體,圖像中存在非常多的ID以及遮擋時,給分割模型構(gòu)成挑戰(zhàn)。
(3) 分割精度:分割需要進行像素級的分類,因此對分割精度要求很高,比如在邊緣處的分割瑕疵容易被放大。
本文剩余部分將介紹基于深度學習的圖像分割任務(wù)中各個研究方向的核心技術(shù),并對重難點加以解讀。
語義分割屬于圖像分割的一個主要方向,自深度學習技術(shù)得到快速發(fā)展之后,這個任務(wù)已經(jīng)得到較好的解決,我們公眾號此前也寫過不少語義分割模型的介紹文章,接下來我們介紹語義分割中的核心概念與技術(shù)。
所謂語義分割,其實就是一個逐像素的圖像分類問題,輸出是一張與輸入圖大小相等的圖,每一個像素值表示語義的類別。基本的原理如下圖2所示,包括一個卷積特征提取模塊和反卷積模塊:
圖2左半部就是對空間分辨率降采樣的卷積特征提取網(wǎng)絡(luò),右半部就是恢復分辨率的反卷積網(wǎng)絡(luò)。這里的反卷積也被稱為轉(zhuǎn)置卷積,即Transposed Convolution,實際上它仍然是一個卷積操作,和卷積操作的對比如下。
卷積操作可以查看下圖3,上方2×2是輸出,下方的4×4是輸入,卷積核大小為3×3,經(jīng)過步長等于1的卷積后,得到了2×2的矩陣。
反卷積,則要實現(xiàn)從2×2的輸入,得到4×4的輸出,對應(yīng)的就是下面的圖4。
當然反卷積模塊也可以采用一些線性插值法來實現(xiàn),比如雙線性插值,如下圖5。
假如我們已經(jīng)知道4個點,Q11=(x1,y1),Q12=(x1,y2),Q21=(x2,y1),Q22=(x2,y2),如果要知道任意點P的值P(x,y),可以采用插值法。
另一方面,語義分割模型需要進行評測,在這里簡單介紹其中的損失目標和評估指標。
首先是損失目標,作為一個逐像素的分類問題,交叉熵損失函數(shù)是最常用的語義分割損失函數(shù),令n對應(yīng)于樣本數(shù)量,m是類別數(shù)量,yij 表示第i個像素樣本屬于分類j的標簽,它是0或者1,f(xij)是預測第i個像素樣本屬于分類j的概率,定義如下。
與圖像分類相比,區(qū)別僅在于將對整個圖像的預測,轉(zhuǎn)換到逐個像素的預測,最后取均值。當然如果要對不同像素做不同加權(quán),或者對不同的類別進行加權(quán),則可以設(shè)定經(jīng)驗加權(quán)值。
另外還有一個很常用的二分類分割損失函數(shù),稱之為Dice距離,定義如下。
其中p,q分別是預測值,Dice距離相對于softmax loss可以更好地應(yīng)對2分類目標的類別不平衡問題;
最后我們簡單說一下語義分割任務(wù)的評測指標,常見的評測指標是逐像素分類精度,類別分類精度,以及IoU。
通過計算兩個區(qū)域的交并比,就可以獲得0~1的IoU指標,該指標相對于像素分類精度更敏感,更適合用于評估語義分割模型。根據(jù)類別還可以設(shè)置不同的權(quán)重進行加權(quán),得到不同的mIoU值,可以參考各類benchmark。
語義分割還有許多核心技術(shù),包括編解碼模型設(shè)計,多尺度特征融合,膨脹卷積與可變形卷積,注意力模型等,接下來進行介紹。
上面介紹的語義分割原理示意圖就是一個編解碼模型,卷積為編碼部分,編碼器(encoder)的任務(wù)是在給定輸入圖像后,通過網(wǎng)絡(luò)學習得到輸入圖像的特征圖;反卷積為解碼部分,它在編碼器提供特征圖后,逐步實現(xiàn)每個像素的類別標注。除此之外,還有若干被廣泛驗證有效的編解碼模型經(jīng)典模型,包括SegNet[1],F(xiàn)CN[2],U-Net[3],它們都在同一時期被提出。
SegNet中的編碼器結(jié)構(gòu)與解碼器結(jié)構(gòu)是一一對應(yīng)的,即一個解碼器具有與其對應(yīng)的編碼器相同的空間尺寸和通道數(shù),如下圖7所示。
對于基礎(chǔ)SegNet結(jié)構(gòu),二者各有13個卷積層,其中編碼器的卷積層對應(yīng)了VGG16網(wǎng)絡(luò)結(jié)構(gòu)中的前13個卷積層。SegNet記錄下池化過程中的位置信息來替代反卷積操作,其基本原理如下圖8,即使用卷積過程中記錄好的最大池化位置信息從低分辨率的特征圖恢復高分辨率的稀疏特征圖。
Fully connected Network(FCN)也使用了跳層連接的方案,將不同全局步長下的層進行連接,如下圖9。
卷積conv7對應(yīng)全局步長為32,直接對其上采樣得到結(jié)果的模型為FCN32s。如果將步長為16的pool4的結(jié)果經(jīng)過卷積變換后和conv7的上采樣結(jié)果進行融合,則模型為FCN16s。隨著pool4細節(jié)信息的加入,F(xiàn)CN16s比FCN32s的分割結(jié)果更好,以此類推。
UNet則將各級具有相同分辨率的卷積特征圖和反卷積特征圖進行了一一對應(yīng)融合。
相比于SegNet和FCN,U-Net是一種更為常見的圖像分割模型,它充分利用了卷積和反卷積層的特征融合,結(jié)構(gòu)簡單,性能魯棒。
這三個模型結(jié)構(gòu)代表了最經(jīng)典的分割編解碼模型架構(gòu),其核心為跳層連接,實現(xiàn)卷積核和反卷積核的信息融合。
為了對多尺度的目標進行分割,各種尺度的特征融合對于模型來說是有益的,上一節(jié)介紹的基于跳層連接的編解碼模型就實現(xiàn)了卷積和反卷積過程中不同抽象層級的特征融合,除此之外還有一些有代表性的技術(shù)。
如ParseNet[4]將基于池化的全局特征與局部特征進行了融合。全局特征擁有更好的抽象層級和全局感受野,局部特征則擁有更多的細節(jié),兩者融合理論上可以提升模型的性能,原理如下圖11。
PSPNet[5]則在ParseNet的基礎(chǔ)上進一步改進,提出了金字塔池化模塊Pyramid Pooling Module,如圖12。它與目標檢測中的SPPNet結(jié)構(gòu)類似,在使用CNN進行特征提取后,對特征圖使用了多個不同尺度的池化,從而得到了不同級別的池化后的特征圖。隨后對這些特征圖分別進行特征學習,上采樣,然后串接成最終的特征向量,其中相鄰的池化采樣層采樣倍率為1/2。
對于圖像分割任務(wù),全局特征通常是與整體輪廓相關(guān)的信息,而局部特征則是圖像的細節(jié)紋理,要想對多尺度的目標很好的完成分割,這兩部分信息都是必須的。多尺度特征融合的模型變種再多,本質(zhì)上都是類似的思想。
膨脹卷積由Google的研究人員在文章[6]中提出,也被稱為帶孔卷積或者空洞卷積,這是一個在不增加計算量的情況可以增加卷積核感受野的卷積操作。它的原理就是原始卷積核相鄰元素之間的距離不是1,而是根據(jù)膨脹系數(shù)的大小而不同,如下圖3所示就是膨脹系數(shù)為2的帶孔卷積,它的感受野是原始的3×3卷積的兩倍。
通過控制膨脹系數(shù)(即相鄰卷積元素的距離),就可以控制卷積核的感受野,如下圖14展示膨脹系數(shù)分別是1,2,4的對比。
感受野越大,越有利于綜合上下文信息,這對于圖像分割任務(wù)非常有效。在膨脹卷積被提出以前,大部分的空間尺寸恢復工作都是由上采樣或反卷積實現(xiàn)的。前者通常是通過線性或雙線性變換進行插值,雖然計算量小,但是效果有時不能滿足要求;后者則是通過卷積實現(xiàn),雖然精度高,但是參數(shù)計算量增加了。如果使用膨脹卷積,可以在不控制特征分辨率下降的情況下,繼續(xù)擴大感受野抽象特征,如下圖15實現(xiàn)stride=16的卷積特征提取模塊。
另外,基于膨脹卷積結(jié)構(gòu),研究者們提出了ASPP(Atrous Spatial Pyramid Pooling)[7],這種結(jié)構(gòu)使用了并聯(lián)的膨脹卷積,在同一級特征圖上提取了多尺度的特征。
如果將感受野的控制擴展到全圖,則可以采用自注意力機制,其中非局部卷積[8]以自注意的方式可以獲得全局的感受野,如圖17。
圖17中輸入與輸出都是T×H×W×1024的4維張量,輸入block首先使用1×1×1卷積進行降維,得到三個T×H×W×512的數(shù)據(jù)塊。它們各自進行維度變換,其中兩個變換為THW×512,另一個變換為512×THW。一個THW×512和512×THW的矩陣相乘得到THW×THW的矩陣,并經(jīng)過Softmax函數(shù),得到權(quán)重函數(shù)。所以f(.)的操作就是每個通道上每個點的特征向量進行內(nèi)積,空間信息得到了保留。權(quán)重向量與另一路經(jīng)過維度變換的THW×512的數(shù)據(jù)進行計算,然后進行維度變換,得到輸出結(jié)果。下圖16便是一個基于自注意力機制的分割模型[9]。
另外圖像金字塔[10]也是一種簡單的多尺度技術(shù),但是因為導致計算量的快速增加而不是很流行。
由于經(jīng)典的CNN感受野是局部而不是整個圖像,并且具有一定的空間變換不變性,這降低了分割的邊緣定位精度。因此圖像分割常常使用一些后處理技術(shù),這里我們主要介紹CRF技術(shù)。
CRF(Conditional random field)即條件概率隨機場,它是一種非局部的方法,可以融合場景信息。Google的語義分割模型Deeplab系列前幾篇[6,7]文章就使用了CNN加上全連接的CRF的設(shè)計。目前,全連接的CRF(DenseCRF)[11]是其中最好的方法,該方法中每一個圖像像素都跟其他所有像素相連。
為了能夠優(yōu)化如此海量的連接圖,研究者們采用了在特征空間使用高斯濾波的方法完成。這個方法的思路是通過采用高效的近似高維濾波來減少圖中消息傳遞,從而將消息傳遞的二次復雜度降低為線性復雜度。目前在主流的CPU和500×500尺度上,全連接CRF的速度在100ms左右,可以近似達到實時。
將CRF與CNN進行融合也有兩種思路,一種是直接分步后處理,如Google的Deeplab系列文章的研究,將其用于處理CNN網(wǎng)絡(luò)的輸出;另一種就是直接融合進CNN框架,以同樣的方式進行反向傳播,典型如牛津大學的Torr-Vision研究組提出的《CRF as RNN》[12]。它用一個FCN模型完成第一階段的分割任務(wù),用RNN形式的CRF完成第二階段的后處理。
融合了CRF方法的CNN在邊緣的定位精度上通常都取得了很大的提升。
語義分割的應(yīng)用往往是為了做背景替換,而上面介紹的語義分割技術(shù)無法做好這件事,簡單的替換會導致出現(xiàn)很假的效果圖,比如下面的效果圖20。
另一方面,也很難僅僅通過二分類的分割模型對非常復雜的結(jié)構(gòu)進行分割,比如人的發(fā)絲(如圖21)。要想獲得更好的結(jié)果,需要用到軟分割,即Image Matting技術(shù),Image Matting能預測出前景,背景,以及它們?nèi)诤系耐该鞫认禂?shù)。
image matting問題可以用一個簡單的數(shù)學表達式表達,I = aF + (1-a)B,其中F是前景,B是背景,a是透明度,一張圖可以看作是在透明度圖像的控制下,前景和背景的線性融合。比如上圖左下角就是 Image Matting得到的透明度通道,右下角就是基于透明度通道的背景替換,得到比較自然的結(jié)果圖。
要解Image Matting問題有點病態(tài),對于三通道的RGB圖像,只有3個方程,卻需要解出7個變量(前景與背景顏色以及透明度通道),所以許多傳統(tǒng)方法如closed form matting都要做局部區(qū)域顏色不變的約束才能求出解析解。
Image Matting方法從傳統(tǒng)方法發(fā)展到了深度學習,
www.alphamatting.com這里有主流方法的比較,傳統(tǒng)的Image Matting方法都基于trimap進行求解。
所謂trimap,就是包含3種區(qū)域的圖,分別為確定性前景,確定性前景,不確定性區(qū)域。如下圖22中間圖的紅色,藍色,綠色部分;對trimap求解,就是要優(yōu)化不確定性區(qū)域,得到0~1的概率,即最右邊圖。
當前基于深度學習的Image Matting方法主要歸為兩類,基于Trimap和不基于Trimap的模型,這里我們不對整個領(lǐng)域的內(nèi)容進行總結(jié),而是各自介紹一個典型模型。
Adobe提出的Deep image matting[13]是早期基于深度學習的Image Matting模型。
輸入RGB圖與Trimap,然后采用標準的語義分割模型預測最終的結(jié)果,主要區(qū)別在于優(yōu)化目標上增加了透明度通道的回歸損失。Deep image matting雖然簡單,但不是一個端到端的模型,因此使用起來不是那么簡潔。
如果能夠擺脫trimap的約束,Image Matting模型就可以獲得end-to-end的解法,而且可以擺脫對需要非常精確的matting標注數(shù)據(jù)集的依賴,這才是更好的方案,也是當前Image Matting的研究重點,這里我們簡單介紹一個框架代表,即Boost Matting[14]。
這樣的框架包括3部分:Mask Prediction Network:就是普通的分割網(wǎng)絡(luò),所以采用了編解碼結(jié)構(gòu),同時可以使用高質(zhì)量精細標注數(shù)據(jù)集和低粗標注數(shù)據(jù)集進行訓練。Quality Unification Network:它是一個對Mask Prediction Network結(jié)果進行歸一化的網(wǎng)絡(luò),即降低精細標注數(shù)據(jù)集的預測結(jié)果,提高粗標注數(shù)據(jù)集的預測結(jié)果。Matting Refinement Network:基于輸入圖和Quality Unification Network結(jié)果預測輸出RGB和Alpha通道。
Image Matting問題既是一個非常經(jīng)典的圖像處理問題,也作為語義分割的一個延伸問題,這一個子領(lǐng)域由于落地商業(yè)價值比較大,仍然在吸引一些研究人員改進相關(guān)模型。
那么時至今日,語義分割還有哪些研究點呢?可以關(guān)注以下方向。
(1) 語義分割剩余難點,包括因為樣本數(shù)量或者樣本尺度帶來的各類別不平衡的問題,更高效的感受野與上下文信息控制機制,更簡潔有效的Image Matting框架,更好的優(yōu)化目標。
(2) 新的模型架構(gòu)的嘗試,如基于圖神經(jīng)網(wǎng)絡(luò)的分割[15]。
(3) 弱監(jiān)督分割,如何在少量標注樣本的基礎(chǔ)上,實現(xiàn)高精度模型的訓練與數(shù)據(jù)的自動標注迭代[16-17]。
(4) 遷移學習,如何基于數(shù)據(jù)集更好地泛化到相似但分布差異較大的場景,典型如自動駕駛的各種天氣環(huán)境與不同路面情況[18]。
(5) 3D圖像與視頻分割,這既是二維圖像分割的延伸,也可以看作是新的研究方向[19-20]。
實例分割是另一個重要方向,它不僅要預測目標的語義標簽,還要區(qū)分個體的ID,相比于語義分割任務(wù)更加復雜。
因為實例分割框架很多都基于目標檢測分支,所以從優(yōu)化目標上來看,實例分割至少包含3個優(yōu)化目標:
(1) 一個是像素類別分類損失,這與語義分割相同;
(2) 一個是目標檢測損失,這就是目標檢測框架里的回歸損失。
(3) 一個是實例分類損失,指目標框里的前景與背景二分類損失。
當然,最新的許多實例分割模型也不需要基于候選框,各自的優(yōu)化目標也有所不同,可參考具體的工作。
這一類方法,即首先通過目標檢測的方法找出實例所在的區(qū)域(bounding box),再在檢測框內(nèi)進行語義分割,每個分割結(jié)果都作為不同的實例輸出。
實例分割中最核心的問題在于區(qū)分個體ID,按照人類的思維習慣,可以采用遍歷的方法在圖像中進行掃描,早期的DeepMask網(wǎng)絡(luò)[21]就是這樣的一個實例分割框架,如下圖25。它給定一個圖像塊作為輸入,輸出一個與類別無關(guān)的mask和一個取值為0或者1的score,來估計這個圖像塊完全包含一個物體的概率。score=1需要滿足兩個條件:一是這個圖像塊中間位置包含一個物體,二是物體在一定尺度范圍內(nèi)是全部被包含在這個圖像塊中,只有score=1的時候,mask才有效。
圖25中輸入原圖其實有多個目標,但是模型只預測該圖的中心位置是否有目標,那如何能夠預測出所有目標呢?在預測的時候,采用多尺度的滑動窗口對圖像進行滑動窗口預測,最后再把相同的目標合并掉,不同的目標則標記為不同ID。DeepMask由于是早期框架,過于復雜,不僅采用全連接層預測mask,還采用低效率的滑動窗口重復計算各個圖像塊的特征,所以沒有實用價值。
后來的InstanceFCN[22]雖然也采用滑動窗口的方式來尋找目標,但它共享了卷積特征,并且是在特征圖上進行滑動,是更加高效的方式,如下圖26所示。
我們知道實例分割的結(jié)果是可以重疊的,就是說在不同的候選框內(nèi),同一個像素可能有不同的預測結(jié)果,可以同時屬于A目標的左上角和B目標的右下角,那怎么樣才能對同一個像素預測出不同標簽?zāi)兀縄nstanceFCN提出了一個位置敏感圖(position-sensitive score maps)的概念,用于預測一個像素屬于某個物體的相對位置的得分。比如上圖26中間有9個圖,就是將相對位置分為了9種,從左上到右下,每個圖不是直接預測屬于某個目標的概率,而是預測其屬于某個目標相對位置的概率,最后進行合并推斷,理論上一個點最多可以預測出9個ID。
InstanceFCN需要單獨的分類分支來進行類別分類,后面的FCIS[23]綜合了Faster RCNN框架中的RPN和InstanceFCN的思想,提出了同時做檢測與分割的框架。由于本文篇幅問題,我們不細講,請讀者閱讀拓展資料。
Mask-RCNN[24]是一個隨后被提出的更加簡單的框架,把實例區(qū)分的問題直接交給Faster RCNN框架,而對RPN輸出的每一個RoI預測分割掩膜,即像素類別。訓練時Mask RCNN的參數(shù)設(shè)置也與Faster RCNN一致。
對于每一個RoI,如果類別為k,則產(chǎn)生k個掩膜,即每一個類別都輸出一個掩膜。這樣的好處在于,各個類別之間不產(chǎn)生競爭,對于實例分割來說這很重要,因為實例分割可以重疊,故損失的定義也只在對應(yīng)的通道。
目標檢測模型從多階段發(fā)展到了一階段,從基于候選框的框架發(fā)展到了anchor free框架,實例分割模型也是如此。
YOLACT[25]是一個實時的實例分割框架,它通過將掩模分支添加到現(xiàn)有的一階段(one-stage)目標檢測模型來實現(xiàn)實例分割,如圖28。
YOLACT實際上是對每個實例預測分割候選集中k個分割的線性組合系數(shù)(Mask Coefficients),最后通過線性組合來生成實例mask。
SOLO(Segmenting Objects by Locations)[26]則是另一個非常簡潔的實例分割框架,它通過提出實例類別概念(Instance Category)來表示量化后的物體中心位置和物體的尺寸,從而區(qū)分不同的實例。SOLO認為由目標的中心位置和尺寸就可以區(qū)分不同的實體,因此將圖片劃分成S×S的網(wǎng)格,如果物體的中心落在了某個網(wǎng)格中,那么該網(wǎng)格就有了兩個任務(wù),預測類別和實例掩膜,如圖29。
PolarMask則是一個anchor-box[27]的實例分割框架,它通過預測實例的輪廓而不是二值掩膜來實現(xiàn)分割,將實例分割問題轉(zhuǎn)化為實例中心點分類(instance center classification)問題和密集距離回歸(dense distance regression)問題,這也是將目標檢測最新研究遷移到實例分割中。
另外還有一些自下而上的方法,即先對語義目標進行分割,再對實例進行聚類,如SGN[28],但是對密集分割的質(zhì)量要求很高,后處理方法繁瑣,并不是好的方法,這里就不再展開介紹。
全景分割任務(wù)(Panoptic Segmentation)[29]要求圖像中的每個像素點都必須被分配給一個語義標簽和一個實例id,全景分割的具體分割形式有以下兩點要求:
(1) 圖像中的每個像素點都有一個對應(yīng)的語義類別和一個實例id,如果無法確定可以給予空標注。
(2) 所有語義類別要么屬于stuff,要么屬于things,不能同時屬于二者;且stuff類別沒有實例id。
一個典型的全景分割框架[30]包括語義分割預測和實例分割預測分支,最后對其進行合并處理。實例標簽可以從實例分割分支給出,而類別則可以綜合兩個分支的結(jié)果,詳情可以閱讀該文了解。
全景分割的評估指標也有所不同,下圖32分別展示了全景分割中的true positives、false positives和false negative ,對應(yīng)配對的實例分割、不配對的錯誤分割和未召回的分割。
其中分子是對所有匹配上的分割求平均IoU;分母后兩項是懲罰匹配錯誤的像素。
時至今日,實例分割和全景分割的研究點在哪里呢?可以關(guān)注以下方向。
(1) 現(xiàn)有檢測模塊的優(yōu)化。
(2) Anchor free框架,如基于輪廓的分割預測。
研究圖像分割問題需要標準數(shù)據(jù)集來橫向比較模型,我們簡單介紹幾個常見的數(shù)據(jù)集與評測指標。
數(shù)據(jù)集地址:http://host.robots.ox.ac.uk/pascal/VOC/,初始發(fā)布于2005年,至2012年止。The PASCAL Visual Object Classes(VOC)項目是由Mark Everingham等人牽頭舉辦的比賽,這是一個時間跨度很大的比賽,從2005年開始到2012年結(jié)束。它起初主要用于object detection(目標檢測),最后包含了5個比賽,classification,detection,segmentation,action classification,person layout。
分割標注包含了20類,語義分割和實例分割兩個任務(wù),VOC2012包含了6929張圖。
數(shù)據(jù)集地址:http://cocodataset.org/,發(fā)布于2014年,由微軟亞洲研究院整理。Microsoft COCO數(shù)據(jù)集,是對標PASCAL VOC,ImageNet數(shù)據(jù)集而誕生的,同樣可以用于圖像分類,分割,目標檢測等任務(wù),共30多萬的數(shù)據(jù)。
從COCO的全稱Common Objects in Context可以看出,這個數(shù)據(jù)集以場景理解為目標,特別選取比較復雜的日常場景,相比于PASCAL VOC的建立是為了推進目標檢測任務(wù),COCO的建立則是為了推進自然背景下的定位與分割任務(wù),所以圖像中的目標通過非常精確的分割掩模進行位置的標定。
COCO數(shù)據(jù)集有91類,以人類4歲小孩能夠辨識為基準。其中82個類有超過5000個instance。
數(shù)據(jù)集的建立動機是研究3個問題:
(1) non-iconic views。要求數(shù)據(jù)集中的圖像,盡量不要只是包括一個大的目標或者一個空的場景的圖像,而是兩者都有,保證場景的復雜性。
(2) contextual reasoning between objects,即場景的覆蓋性,需要廣而且足夠復雜。數(shù)據(jù)集總共有328000個圖像和2500000個標注。與ImageNet和SUN數(shù)據(jù)集(另一個場景分類數(shù)據(jù)集)相比,類別數(shù)目更少,但是每一個類別的instance更多,這其實是有利于目標定位任務(wù)的,因為多樣性更好。對比PASCAL VOC,COCO數(shù)據(jù)集則要大的多,有更多類和instance。
(3) precise 2D localization。即精確定位,要求分割的標注結(jié)果非常精確,定位的邊框也是從分割掩膜生成而不是直接畫框標注,保證了極高的精度。
數(shù)據(jù)集地址:https://www.cityscapes-dataset.com/Cityscapes,發(fā)布于2016年,這是由奔馳采集的面向城市道路街景語義理解的數(shù)據(jù)集。Cityscapes包含50個城市在春夏秋三個季節(jié)不同時間段不同場景、背景的街景圖。
分割標注包含了30類,語義分割和實例分割兩個任務(wù),提供5000張精細標注的圖像、20000張粗略標注的圖像。
數(shù)據(jù)集地址:http://groups.csail.mit.edu/vision/datasets/ADE20K/,發(fā)布于 2017年,有2萬張圖片150種目標的場景數(shù)據(jù)集,可用于場景感知、解析、分割、多物體識別和語義理解。
圖像分割是計算機視覺領(lǐng)域的基礎(chǔ)任務(wù)之一,是從事計算機視覺必須掌握的方向。本文主要介紹圖像分割任務(wù)的全貌,許多細節(jié)并非全面,但仍希望能在你初學的道路上給予一定的幫助!