0
圖像語義分割是在圖像中識(shí)別問題對(duì)象及其類別的問題(如人和汽車)。它與目標(biāo)檢測(cè)不同之處在于,輸出是表示每個(gè)對(duì)象的形狀的掩碼,而不僅僅是一個(gè)邊界框。
而它與語義分割的不同之處在于,研究目標(biāo)不僅僅是使用標(biāo)簽(或背景)對(duì)每個(gè)像素進(jìn)行分類,而且還要區(qū)分同一類別的各個(gè)實(shí)例。因此,標(biāo)簽空間是沒有大小限制的(例如,假設(shè)有兩個(gè)人和一輛車,可能會(huì)標(biāo)記“人-1”,“人-2”和“車-1”)。
這個(gè)問題在諸如無人駕車、機(jī)器人、照片編輯等領(lǐng)域有許多實(shí)際應(yīng)用。雷鋒網(wǎng)了解到,谷歌研究院近日與UCLA合作,提出了一種新的語義實(shí)例分割方法:首先計(jì)算兩個(gè)像素屬于同一對(duì)象的可能性,然后將相似的像素分組在一起。其中,相似性度量是基于深度,完全卷積的嵌入模型,而分組方法是基于選擇所有與一組“種籽點(diǎn)”足夠相似的點(diǎn),這個(gè)選擇模型是一個(gè)深度的、完全卷積的評(píng)分模型。
據(jù)雷鋒網(wǎng)了解,這個(gè)問題的常見解決方法是:首先使用一些機(jī)制來預(yù)測(cè)對(duì)象的邊界框(例如,通過運(yùn)行類別對(duì)象檢測(cè)器,或者通過使用類別不可知框方法,如EdgeBoxes),然后在每個(gè)提出的框中運(yùn)行分割和分類。最近還出現(xiàn)了一種“無盒”方法,即嘗試直接預(yù)測(cè)每個(gè)對(duì)象的掩碼。然而,這種方法要求整個(gè)對(duì)象實(shí)例符合在進(jìn)行預(yù)測(cè)的單元的接收域中。 這對(duì)于許多細(xì)長(zhǎng)結(jié)構(gòu)的,可能跨越圖像的像素來說是有些困難的。
谷歌及UCLA則采取了一種不同的方法,通過計(jì)算兩個(gè)像素屬于同一個(gè)對(duì)象實(shí)例的可能性,并使用這種可能性將相似像素分組在一起來實(shí)現(xiàn)實(shí)例分割。研究者明確了“正確”段是什么,即整個(gè)對(duì)象的空間范圍。這避免了模棱兩可的情況諸如是否將對(duì)象(例如,人的襯衫和褲子)的部分視為單獨(dú)的片段,這種片段對(duì)無監(jiān)督方法的評(píng)估是一種困擾。
團(tuán)隊(duì)建議使用深度嵌入模型來學(xué)習(xí)相似性度量。 這類似于其他方法,例如FaceNet ,其學(xué)習(xí)了兩個(gè)邊界框?qū)儆谕粋€(gè)實(shí)例(人)的可能性,除了學(xué)習(xí)如何預(yù)測(cè)像素的相似性,同時(shí)要考慮到它們?cè)镜纳舷挛摹?/p>
谷歌及UCLA團(tuán)隊(duì)使用計(jì)算(在嵌入空間中)到一組K“種籽點(diǎn)”的距離; 這可以用張量乘法實(shí)現(xiàn)。要找到這些種籽點(diǎn),需要學(xué)習(xí)一個(gè)單獨(dú)的模型,預(yù)測(cè)一個(gè)像素做為好種籽的可能性; 我們稱之為每個(gè)像素的“種籽”得分。這類似于先前方法中使用的“中心”分?jǐn)?shù),除了不需要識(shí)別對(duì)象中心; 相反,種籽分?jǐn)?shù)是在這種情況下相對(duì)于其他像素的“典型性”的度量。在實(shí)踐中只需要取得前100名種籽,就可以獲得對(duì)圖像中幾乎所有對(duì)象的良好覆蓋。
谷歌及UCLA團(tuán)隊(duì)從預(yù)先訓(xùn)練語義分割的模型開始,然后通過添加兩種不同類型的輸出“端”來修改它來執(zhí)行實(shí)例分割。 第一個(gè)輸出端產(chǎn)生每個(gè)像素的嵌入矢量。理想情況下,類似的向量更可能屬于同一對(duì)象實(shí)例。 在第二個(gè)端,該模型預(yù)測(cè)了以每個(gè)像素為中心的掩碼的類別標(biāo)簽,以及可以使該像素創(chuàng)造掩碼的良好的“種籽”的置信度分?jǐn)?shù)。該團(tuán)隊(duì)勾畫了圖1中的整體模型,并給出了下面的細(xì)節(jié)。
圖1:給定一個(gè)圖像,使用該模型預(yù)測(cè)每個(gè)像素(網(wǎng)絡(luò)的頂端)的嵌入矢量以及每個(gè)像素如果被選為種籽(網(wǎng)絡(luò)的底端)將產(chǎn)生的掩模的類別分?jǐn)?shù)。從類別分?jǐn)?shù)得出種籽分?jǐn)?shù),并使用它們來選擇圖像中的哪個(gè)種籽點(diǎn)進(jìn)行抽樣。每個(gè)種籽點(diǎn)基于嵌入向量生成掩碼; 然后將每個(gè)掩碼與類別標(biāo)簽和置信度得分相關(guān)聯(lián)。在這個(gè)圖中,粉紅色對(duì)應(yīng)于“牛”類別,藍(lán)色對(duì)應(yīng)于“背景”類別。
首先學(xué)習(xí)一個(gè)嵌入空間,使相對(duì)來說同一個(gè)對(duì)象實(shí)例的像素更相近,并且對(duì)應(yīng)于不同對(duì)象(包括背景)的像素很遠(yuǎn)。網(wǎng)絡(luò)的嵌入端將卷積特征提取器的特征圖作為輸入。 它輸出一個(gè)[h, w, d]張量(如下圖所示),其中h是圖像高度,w是圖像寬度,d是嵌入空間維度(該實(shí)驗(yàn)中使用64維嵌入)。
給定嵌入向量,則可以計(jì)算像素p和q之間的相似度如下:
可以看到,對(duì)于在嵌入空間中接近的像素對(duì),有σ(p, q)= 2/(1 + e0) = 1,對(duì)于在嵌入空間中的像素對(duì),有σ(p, q) = 2/(1 + e∞) = 0。
通過最小化以下的損失來訓(xùn)練網(wǎng)絡(luò):
其中S是選定的像素集合,yp是像素p的實(shí)例標(biāo)簽,ωpq是p和q之間相似性的損失的權(quán)重。權(quán)重ωpq被設(shè)置為與實(shí)例p和q所屬的大小成反比的值,所以損失不會(huì)偏向更大的示例。 通過歸一化權(quán)重,使Σp,q ωpq = 1。
在訓(xùn)練中,可以通過對(duì)圖像中的每個(gè)對(duì)象實(shí)例隨機(jī)抽取K個(gè)點(diǎn)來選擇像素集S。 對(duì)于每對(duì)點(diǎn),計(jì)算目標(biāo)標(biāo)簽,如果它們來自相同的實(shí)例,則為1,否則為0,如圖2所示。然后將|S|2集合點(diǎn)的橫斷面損失最小化。 整體程序與度量學(xué)習(xí)中[27]中使用的N對(duì)損失密切相關(guān)。
圖2:通過對(duì)每個(gè)實(shí)例中的K個(gè)像素的嵌入向量進(jìn)行采樣來計(jì)算嵌入損耗,得到總共的NK嵌入向量,其中N是圖像中的實(shí)例數(shù)。然后計(jì)算每一對(duì)嵌入矢量σ(ep; eq)之間的相似度,如公式1。屬于同一個(gè)實(shí)例的一對(duì)嵌入向量的度量的返回相似度為1,屬于不同實(shí)例的一對(duì)嵌入向量,相似度則為0。因此,可以根據(jù)嵌入矢量是否屬于同一個(gè)實(shí)例,將地面實(shí)數(shù)值設(shè)置為0和1,為嵌入矢量之間的相似性增加了交叉熵?fù)p失
圖3說明了少量示例圖像的嵌入學(xué)習(xí)。 隨機(jī)地將64d向量投影到RGB空間,然后可以看到生成的假彩色圖像??梢钥吹剑鶕?jù)需要,相同類的實(shí)例(例如,兩個(gè)人或兩個(gè)摩托車)被映射到嵌入空間的不同部分。
一旦有了一個(gè)嵌入空間,并因此有一個(gè)成對(duì)的相似性度量,可以以下列方式創(chuàng)建一組掩碼。選擇“種籽”像素p,然后通過找到與p有相似度并且大于閾值τ的所有其他像素q來“種植”種籽:m(p, τ) = {q: σ (p,q)≥ τ}。理想中,掩碼中的所有像素屬于與種子p相同的對(duì)象。通過改變?chǔ)?,可以檢測(cè)不同大小的對(duì)象。 在試驗(yàn)中使用τ∈{0.25, 0.5, 0.75} .(還使用圖像的多種尺寸表示作為輸入)
有效的實(shí)現(xiàn)方法如下。 首先,計(jì)算一個(gè)大小為[h, w, d]的張量A(其中h是圖像的高度,w是寬度,d是嵌入維數(shù)),表示每個(gè)像素的嵌入矢量。 接下來,計(jì)算張量B[k, d],表示K個(gè)種籽點(diǎn)的嵌入向量。可以計(jì)算A中每個(gè)向量到B中每個(gè)向量的距離,使用 A2+ B2-2A⊙B。然后,可以通過對(duì)該距離矩陣進(jìn)行閾值來選擇與每個(gè)種籽足夠相似的所有像素。
圖4:可視化每個(gè)像素的相似度和每個(gè)圖像中隨機(jī)選擇的種籽像素。隨機(jī)選擇的種籽像素由圖像中的紅色標(biāo)記顯示。每個(gè)像素和種籽像素之間的相似度是基于公式 1并顯示在每張圖片中。 可以對(duì)相似度值進(jìn)行閾值生成二進(jìn)制掩碼。像素越亮,相似度越高
圖5:采樣種籽像素的可視化。該團(tuán)隊(duì)的方法將利用考察的距離度量和掩碼分類分?jǐn)?shù)來采樣高質(zhì)量的種籽像素,
因此具有高回調(diào)和精度的實(shí)例段
但是仍然需要一種選擇種籽的機(jī)制。 谷歌團(tuán)隊(duì)建議學(xué)習(xí)一個(gè)“種籽”熱圖Sp,它可以展示,從p生長(zhǎng)的掩模將是一個(gè)好掩碼(一個(gè)與一些地面真值掩碼重疊多于IoU閾值)的可能性。 下面將討論如何計(jì)算種籽分?jǐn)?shù)。
一旦有了種籽熱圖,則可以根據(jù)其模式(峰值)挑選種籽點(diǎn)。 不過,谷歌及UCLA團(tuán)隊(duì)希望被選擇的種籽點(diǎn)具有空間多樣性,以確保對(duì)正確的掩碼集有較高的覆蓋。
因此,還需要計(jì)算每個(gè)點(diǎn)和所有先前選擇的點(diǎn)之間的距離(在嵌入空間中),并選擇一個(gè)遠(yuǎn)離已經(jīng)選擇的點(diǎn)的點(diǎn)(類似于由Kmeans ++初始化使用的啟發(fā)式[1])。 更準(zhǔn)確地說,在算法的步驟t中,被選擇種籽點(diǎn)如下:
其中
選擇具有高種籽分?jǐn)?shù)的種籽像素可以保證高精度,并且選擇多樣的種籽點(diǎn)還可以保證高召回。 請(qǐng)注意,采樣的策略與非最大抑制算法不同。在NMS中,在x-y圖像坐標(biāo)空間附近的點(diǎn)被抑制,而在該算法中鼓勵(lì)嵌入空間的多樣性。
一旦選擇了一個(gè)種籽,將選擇最合適的閾值τ,然后可以將它轉(zhuǎn)換成掩碼,mt = m(pt, τ),如上所述。 最后,將一個(gè)置信區(qū)間st和一個(gè)類標(biāo)簽ct附加到掩碼。 為此,谷歌及UCLA團(tuán)隊(duì)利用語義分割模型將預(yù)測(cè)的類標(biāo)簽與每個(gè)像素相關(guān)聯(lián)。
網(wǎng)絡(luò)的掩碼分類端從卷積特征提取器輸入一個(gè)特征圖,并輸出一個(gè)[h, w, C+1]張量,如圖1所示。其中C是類別的數(shù)量,標(biāo)簽0表示背景。與語義分割相反,像素本身被分類,在這里,如果被選擇為種籽,將對(duì)每個(gè)像素生成的掩碼進(jìn)行分類。 例如,假設(shè)像素落在一個(gè)實(shí)例為馬中。語義分割將在該像素上產(chǎn)生“馬”類別的高分。 然而,如果給定像素不是一個(gè)好的生成馬掩碼的種籽點(diǎn),則該方法可能會(huì)反過來預(yù)測(cè)背景。下面圖6展示出了掩碼分類熱圖。 可以看到,物體內(nèi)的大部分像素都是良好的種籽,但邊界附近的像素(例如,牛的腿部)并不是那么好。
圖6:掩碼分類評(píng)分的可視化。每個(gè)被選作種籽點(diǎn)的像素處的顏色標(biāo)識(shí)可以識(shí)別掩碼的標(biāo)簽。更有可能生成背景掩碼的像素為白色。較深的顏色對(duì)應(yīng)于將產(chǎn)生質(zhì)量差的前景掩碼的像素。較亮的顏色對(duì)應(yīng)于產(chǎn)生高質(zhì)量掩碼的像素
訓(xùn)練模型來模擬下面這種行為。 對(duì)于每個(gè)圖像,為每個(gè)對(duì)象實(shí)例選擇K = 10個(gè)隨機(jī)點(diǎn),并在每個(gè)圖像周圍增加一個(gè)掩碼。對(duì)于給定的相似性閾值τ,令m(p, τ)為從像素p生成的掩碼。 如果提出的掩碼與一個(gè)地面真相掩模重疊超過一些固定的IoU閾值,則認(rèn)為這是一個(gè)“好的”提案; 然后,從地面真值掩碼中復(fù)制標(biāo)簽并將其分配給像素p。如果生成的掩碼與任何地面真相掩模沒有充分重疊,則認(rèn)為這是一個(gè)“壞”提案,并將背景標(biāo)簽分配給像素p。然后,將分配的標(biāo)簽轉(zhuǎn)換為單熱形式,并每個(gè)對(duì)象實(shí)例的每個(gè)K個(gè)選擇點(diǎn)使用softmax交叉熵?fù)p失訓(xùn)練。 分類模型是完全卷積的,但只需要評(píng)估NK點(diǎn)的損失,其中N是實(shí)例的數(shù)量。 因此,最后整體損失函數(shù)有如下:
其中Cpc是從種籽像素p生成的掩碼屬于類c的概率。
為了處理不同大小的對(duì)象,為每個(gè)值的τ訓(xùn)練使用不同的類別分類模型; 在該實(shí)驗(yàn)中,谷歌及UCLA團(tuán)隊(duì)使用τ= {0.25,0.5,0.75,0.9}。 具體來說,令Cτpc表示當(dāng)使用相似度閾值τ時(shí),像素p是實(shí)例類別c的良好種子的概率。
像素p的“隨機(jī)性”定義如下:
(請(qǐng)注意,max是基于對(duì)象類別上計(jì)算的,而不是在背景類別上計(jì)算)。因此可以得出,種籽張量是從分類張量計(jì)算出來的。
為了理解為什么這是合理的,假設(shè)像素p處的背景分?jǐn)?shù)非常高,如0.95。 然后將最大值與Cpc的和對(duì)約束進(jìn)行比較,這意味著這不是生成掩碼的有效像素。 但是如果最大值是0.6,這意味著這是一個(gè)很好的種子像素,因?yàn)樗鼘⒊砷L(zhǎng)為概率為0.6的前景類的一個(gè)實(shí)例。
一旦根據(jù)Sp選擇了最好的種籽,則可以找到相應(yīng)的最佳閾值 ,并通過計(jì)算標(biāo)記c。
相應(yīng)的置信度分?jǐn)?shù)為
谷歌及UCLA團(tuán)隊(duì)對(duì)COCO的語義分割進(jìn)行預(yù)先訓(xùn)練,這是標(biāo)準(zhǔn)的與PASCAL VOC進(jìn)行競(jìng)爭(zhēng)的方法,然后“切斷”最后一層。Deeplab v2模型是完全卷積的,它在大小為[2h, 2w, 3]的圖運(yùn)行輸出一個(gè)[h/4, w/4, 2048]的尺寸特征圖,它的輸入是嵌入模型和分類/種子模型。
可以通過定義損失來共同訓(xùn)練兩個(gè)產(chǎn)出的“端”,并將其反饋到共享的“體”
其中Le是嵌入損失,Lcl是分類損失,λ是平衡系數(shù)。在該實(shí)驗(yàn)中,最初將λ設(shè)置為0,給嵌入模型時(shí)間學(xué)習(xí)正確的嵌入。 一旦有一個(gè)合理的相似性度量,就可以開始學(xué)習(xí)掩碼分類損失了。然后逐漸將λ增加到最大值0.2(這是根據(jù)驗(yàn)證集的經(jīng)驗(yàn)選擇)。 這兩個(gè)損失都被反向傳播到同一個(gè)特征提取器中。然而,由于對(duì)Pascal VOC進(jìn)行訓(xùn)練,而Pascal VOC是一個(gè)小數(shù)據(jù)集,所以將共享特征的學(xué)習(xí)速度設(shè)置為小于兩個(gè)輸出端的學(xué)習(xí)速度,所以原始特征(在COCO上學(xué)習(xí))并沒有太大變化。
為了處理多個(gè)尺度的對(duì)象,可以計(jì)算4個(gè)尺度(0.25, 0.5, 1.0, 2.0)的圖像金字塔,然后通過特征提取器運(yùn)行。然后再將這些特征圖重新縮放到相同的大小,并進(jìn)行平均。最后,如上所述,將結(jié)果饋送到兩個(gè)不同的端。
實(shí)驗(yàn)結(jié)果
該團(tuán)隊(duì)使用PASCAL VOC 2012培訓(xùn)課程進(jìn)行了培訓(xùn),并對(duì)PASCAL VOC 2012驗(yàn)證集進(jìn)行了評(píng)估。
在訓(xùn)練模型之后,根據(jù)所有測(cè)試數(shù)據(jù)計(jì)算每個(gè)類別的精確回憶曲線。這需要一個(gè)真實(shí)和虛假的定義。該團(tuán)隊(duì)遵循標(biāo)準(zhǔn)實(shí)驗(yàn),并且一個(gè)預(yù)測(cè)的掩碼需要與IoU有交集并且在一個(gè)閾值β(例如50%)之上才是真正的正,除非已經(jīng)檢測(cè)到真實(shí)掩碼,在這種情況下,檢測(cè)是虛假的正。
提供三個(gè)IoU{0.5, 0.6, 0.7}閾值的結(jié)果,這與之前的工作類似。然后,計(jì)算PR曲線下的面積,稱為“平均精度”或APτ分?jǐn)?shù) [9].。最后,平均這個(gè)類別以獲得平均精度或分?jǐn)?shù)。
還可以將該方法的質(zhì)量評(píng)估為“不可知類別”區(qū)域提案生成器。在這種情況下,主要有兩種衡量質(zhì)量的方法。第一個(gè)是繪制召回(在固定的IoU)與建議數(shù)量。第二個(gè)是為固定數(shù)量的提案繪制召回率與IoU閾值,該曲線下方的區(qū)域稱為“平均召回”或AR 。
訓(xùn)練期間使用以下數(shù)據(jù)增強(qiáng)組件:
隨機(jī)旋轉(zhuǎn):將以在[-10, 10]范圍內(nèi)以任意角度旋轉(zhuǎn)訓(xùn)練圖像。
隨機(jī)調(diào)整大小:在訓(xùn)練階段按照任意比例調(diào)整輸入圖像的大小,取值范圍為[0.7, 1.5]。
隨機(jī)裁剪:在訓(xùn)練階段隨機(jī)裁剪圖像。在每一步,隨機(jī)裁剪100個(gè)窗口。隨機(jī)地將一幅圖像加權(quán)到具有更多對(duì)象實(shí)例的裁剪窗口。
隨機(jī)翻轉(zhuǎn):隨機(jī)水平地翻轉(zhuǎn)訓(xùn)練圖像。
谷歌及UCLA團(tuán)隊(duì)首先嘗試了不同的α值(當(dāng)選擇下一個(gè)種籽時(shí),它會(huì)隨著種籽的多樣性而變化)以找到最佳的種籽采樣策略。表2展示出不同α值的結(jié)果。該團(tuán)隊(duì)還嘗試了從2到256的各種大小的嵌入,64是最好的(在驗(yàn)證集中)。進(jìn)一步分析表3中不同數(shù)量的掩碼提案(采樣種籽點(diǎn)數(shù))的模型的性能。只有當(dāng)提出10個(gè)地區(qū)時(shí),該模型達(dá)到了59.7的mAPτ性能。在表3中,還顯示不同數(shù)量的掩碼提案的類別不可知平均召回。
圖7顯示了一些定性結(jié)果,表1顯示了定量結(jié)果。在性能方面,該實(shí)驗(yàn)結(jié)果在0.5 IoU閾值排名第四,在0.6 IoU閾值排名第二,在0.7 IoU閾值排名第三。所以谷歌團(tuán)隊(duì)的方法即使不是最先進(jìn)的技術(shù)但也是很有競(jìng)爭(zhēng)力的。
關(guān)于個(gè)別類別的表現(xiàn),可以看到在大型物品(如火車,狗和摩托車)上表現(xiàn)非常出色,但是在自行車類別方面做得很差。 (有些例子見圖6)其他方法也是如此。
谷歌及UCLA團(tuán)隊(duì)提出了一種新的語義實(shí)例分割問題的方法,并在PASCAL VOC數(shù)據(jù)集上獲得了有希望的初步結(jié)果。將來,該團(tuán)隊(duì)想評(píng)估在COCO和Cityscapes上的方法。同時(shí)該團(tuán)隊(duì)還想設(shè)計(jì)一種以可微的方式進(jìn)行區(qū)域增長(zhǎng)的方法,以便能夠進(jìn)行端到端的培訓(xùn)。
圖7:實(shí)例分割結(jié)果示例
表1:在PASCAL VOC 2012驗(yàn)證集上,每個(gè)類別實(shí)例級(jí)分割比較使用度量超過20類別,分別為0.5,0.6和0.7 IoU。所有數(shù)字均為百分比
表2:采樣種籽點(diǎn)的最佳性能參數(shù)為0.3。該表比較了不同α值的mAPτ性能
表3:用給定的數(shù)量的采樣種籽點(diǎn)分析模型的性能
via arxiv,雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。