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