目標檢測和實例分割是計算機視覺的基本任務,在從自動駕駛到醫(yī)學成像的無數(shù)應用中發(fā)揮著關(guān)鍵作用。目標檢測的傳統(tǒng)方法中通常利用邊界框技術(shù)進行對象定位,然后利用逐像素分類為這些本地化實例分配類。但是當處理同一類的重疊對象時,或者在每個圖像的對象數(shù)量不同的情況下,這些方法通常會出現(xiàn)問題。
諸如Faster R-CNN、Mask R-CNN等經(jīng)典方法雖然非常有效,但由于其固有的固定大小輸出空間,它們通常預測每個圖像的邊界框和類的固定數(shù)量,這可能與圖像中實例的實際數(shù)量不匹配,特別是當不同圖像的實例數(shù)量不同時。并且它們可能無法充分處理相同類的對象重疊的情況,從而導致分類不一致。
本文中將介紹Facebook AI Research在21年發(fā)布的一種超越這些限制的實例分割方法MaskFormer??梢钥吹綇哪菚r候開始,F(xiàn)B就對Mask和Transformer進行整合研究了。
1、逐像素分類和掩碼分類的區(qū)別
逐像素分類
該方法指的是為圖像中的每個像素分配一個類標簽。在這種情況下,每個像素都被獨立處理,模型根據(jù)該像素位置的輸入特征預測該像素屬于哪個類。對于邊界清晰、定義明確的對象,逐像素分類可以非常準確。但是當感興趣的對象具有復雜的形狀,相互重疊或位于雜亂的背景中時,它可能會遇到困難,這可以解釋為這些模型傾向于首先根據(jù)其空間邊界來查看對象。
考慮一幅描繪多輛重疊汽車的圖像。傳統(tǒng)的實例分割模型(如逐像素模型)可能難以應對如下所示的情況。如果汽車重疊,這些模型可能會為整個重疊的汽車創(chuàng)建一個單一的并且是合并后的掩碼??赡軙堰@個場景誤認為是一輛形狀奇怪的大型汽車,而不是多輛不同的汽車。
掩碼分類
掩碼分類(在MaskFormer中使用)采用了不同的方法。掩碼分類模型不是獨立對每個像素進行分類,而是為圖像中的每個對象實例預測特定于類的掩碼。這個掩碼本質(zhì)上是一個二值圖像,表示哪些像素屬于對象實例,哪些不屬于。換句話說,單個遮罩代表整個對象,而不僅僅是單個像素。
在前一個例子中,使用掩碼分類使我們能夠識別圖像中有多個“car”類實例,并為每個實例分配一個唯一的掩碼,即使它們重疊。每輛車都被視為一個獨立的實例,并被賦予自己獨特的面具,以保持其與其他汽車分開的身份。
使用掩碼分類/分割的模型示例:掩碼R-CNN, DETR, Max-deeplab…
DETR
DETR的核心是一個被稱為Transformer的強大機制,它允許模型克服傳統(tǒng)逐像素和掩碼分類方法的一些關(guān)鍵限制。
在傳統(tǒng)的掩模分類方法中,如果兩輛車重疊,可能難以將它們區(qū)分為不同的實體。而DETR為這類問題提供了一個優(yōu)雅的解決方案。DETR不是為每輛車生成掩碼,而是預測一組固定的邊界框和相關(guān)的類概率。這種“集合預測”方法允許DETR以驚人的效率處理涉及重疊對象的復雜場景。
雖然DETR徹底改變了邊界框預測,但它并沒有直接提供分割掩碼——這是許多應用程序中至關(guān)重要的細節(jié)。這時就出現(xiàn)了MaskFormer:它擴展了DETR的魯棒集預測機制,為每個檢測到的對象創(chuàng)建特定于類的掩碼。所以MaskFormer建立在DETR的優(yōu)勢之上,并增強了生成高質(zhì)量分割掩碼的能力。
比如在上面提到的汽車場景中,MaskFormer不僅將每輛車識別為一個單獨的實體(感謝DETR的集合預測機制),而且還為每輛車生成一個精確的掩碼,準確捕獲它們的邊界,即使在重疊的情況下也是如此。
DETR和MaskFormer之間的這種協(xié)同作用為更準確、更高效的實例分割打開了一個可能性的世界,超越了傳統(tǒng)的逐像素和掩碼分類方法的限制。
MaskFormer
下面是MaskFormer的架構(gòu):
通過主干提取特征:MaskFormer主干網(wǎng)絡(luò)負責從輸入中提取關(guān)鍵的圖像特征。這個主干可以是任何流行的CNN(卷積神經(jīng)網(wǎng)絡(luò))架構(gòu),比如ResNet,它處理圖像并提取一組特征,用F表示。
逐像素嵌入生成:然后將這些特征F傳遞給像素解碼器,該解碼器逐漸對圖像特征進行上采樣,生成我們所說的“逐像素嵌入”(E像素)。這些嵌入捕獲圖像中每個像素的局部和全局上下文。
段(Per-Segment )嵌入生成:與此同時,Transformer Decoder關(guān)注圖像特征F并生成一組“N”段嵌入,用Q表示,通過“注意力”的機制為圖像的不同部分分配不同的重要性權(quán)重。這些嵌入本質(zhì)上代表了我們想要分類和定位的圖像中的潛在對象(或片段)。
這里的術(shù)“Segment ”是指模型試圖識別和分割的圖像中對象的潛在實例。
一般來說,編碼器處理輸入數(shù)據(jù),解碼器使用處理后的數(shù)據(jù)生成輸出。編碼器和解碼器的輸入通常是序列,就像機器翻譯任務中的句子一樣。
而maskformer的“編碼器”是骨干網(wǎng)絡(luò)(用于maskFormer的Resnet50),它處理輸入圖像并生成一組特征映射。這些特征映射與傳統(tǒng)Transformer中的編碼器輸出具有相同的目的,提供輸入數(shù)據(jù)的豐富的高級表示。
然后使用這些嵌入Q來預測N個類標簽和N個相應的掩碼嵌入(E掩碼)。這就是MaskFormer真正的亮點所在。與傳統(tǒng)分割模型預測每個像素的類標簽不同,MaskFormer預測每個潛在對象的類標簽,以及相應的掩碼嵌入。
在獲得掩碼嵌入后,MaskFormer通過像素嵌入(E像素)與掩碼嵌入(E掩碼)之間的點積產(chǎn)生N個二進制掩碼,然后進行s型激活。這個過程可能會將每個對象實例的二進制掩碼重疊。
最后對于像語義分割這樣的任務,MaskFormer可以通過將N個二進制掩碼與其相應的類預測相結(jié)合來計算最終預測。這種組合是通過一個簡單的矩陣乘法實現(xiàn)的,給我們最終的分割和分類圖像。
MaskFormer用于語義和實例分割
語義分割涉及到用類標簽標記圖像的每個像素(例如“汽車”,“狗”,“人”等)。但是它不區(qū)分同一類的不同實例。例如如果圖像中有兩個人,語義分割會將所有屬于這兩個人的像素標記為“人”,但它不會區(qū)分A和B。
而實例分割不僅對每個像素進行分類,而且對同一類的不同實例進行分離。比如實例分割需要將所有屬于A的像素標記為“A”,所有屬于B的像素標記為“B”。
大多數(shù)傳統(tǒng)的計算機視覺模型將語義分割和實例分割視為獨立的問題,需要不同的模型、損失函數(shù)和訓練過程。但是MaskFormer設(shè)計了一個統(tǒng)一的方式處理這兩個任務:它通過預測圖像中每個對象實例的類標簽和二進制掩碼來工作。這種方法本質(zhì)上結(jié)合了語義和實例分割的各個方面。
對于損失函數(shù),MaskFormer使用統(tǒng)一的損失函數(shù)來處理這個掩碼分類問題。這個損失函數(shù)以一種與語義和實例分割任務一致的方式評估預測掩碼的質(zhì)量。
所以使用相同的損失函數(shù)和訓練過程得到的的MaskFormer模型可以不做任何修改地同時應用于語義和實例分割任務。
總結(jié)
MaskFormer提供了一種新的圖像分割方法,集成了DETR模型和Transformer架構(gòu)的優(yōu)點。它使用基于掩碼的預測,增強了對圖像中復雜對象交互的處理。
MaskFormer的統(tǒng)一方法在圖像分割方面向前邁出了一大步,為計算機視覺的進步開辟了新的可能性。它為進一步的研究奠定了基礎(chǔ),旨在提高我們理解和解釋視覺世界的能力。
論文地址:
https://avoid.overfit.cn/post/3f38050c2a794e33ac9ee66642740fd3文章來源:http://www.zghlxwxcb.cn/news/detail-499590.html
作者:HannaMergui文章來源地址http://www.zghlxwxcb.cn/news/detail-499590.html
到了這里,關(guān)于MaskFormer:將語義分割和實例分割作為同一任務進行訓練的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!