深度學習又有新坑了!悉尼大學提出全新跨模態任務,用文本指導圖像進行摳圖
圖像摳圖是指提取圖像中準確的前景。當前的自動方法傾向于不加區別地提取圖像中的所有顯著對象。在本文中,作者提出了一個新的任務稱為 參考圖像摳圖 (Referring Image Matting,RIM),指的是提取特定對象的細致的alpha摳圖,它可以最好地匹配給定的自然語言描述。 然而,流行的visual grounding方法都局限于分割水平,可能是由于缺乏高質量的RIM數據集。為了填補這一空白, 作者通過設計一個全面的圖像合成和表達生成引擎,建立了第一個大規模挑戰性數據集RefMatte ,以在當前公共高質量摳圖前景的基礎上生成合成圖像,具有靈活的邏輯和重新標記的多樣化屬性。
RefMatte由230個對象類別、47,500個圖像、118,749個表達式區域實體和474,996個表達式組成,將來可以很容易地進一步擴展。除此之外,作者還構建了一個真實世界測試集,該測試集由100幅自然圖像組成,使用人工生成的短語標注來進一步評估RIM模型的泛化能力。首先定義了基于提示和基于表達兩種背景下的RIM任務,然后測試了幾種典型的圖像摳圖方法以及具體的模型設計。這些結果為現有方法的局限性以及可能的解決方案提供了經驗性的見解。相信新任務RIM和新數據集RefMatte將在該領域開辟新的研究方向,并促進未來的研究。
論文標題:Referring Image Matting
論文地址: https:// arxiv.org/abs/2206.0514 9
代碼地址: https:// github.com/JizhiziLi/RI M
1. Motivation
圖像摳圖是指提取自然圖像中前景的軟ahpha摳圖,這有利于各種下游應用,如視頻會議、廣告制作和電子商務推廣。典型的摳圖方法可以分為兩組:1)基于輔助輸入的方法,例如trimap,以及2)無需任何人工干預即可提取前景的自動摳圖方法。但前者不適用于自動應用場景,后者一般局限于特定的對象類別,如人、動物或所有顯著的物體。如何對任意對象進行可控的圖像摳圖,即提取與給定的自然語言描述最匹配的特定對象的alpha摳圖,仍是一個有待探索的問題。
語言驅動的任務,例如referring expression segmentation(RES)、referring image segmentation(RIS)、視覺問答 (VQA) 和 referring expression comprehension (REC) 已被廣泛探索?;赗eferIt、Google RefExp、RefCOCO、VGPhraseCut和Cops-Ref等許多數據集,這些領域已經取得了很大進展。例如,RES 方法旨在分割由自然語言描述指示的任意對象。然而,獲得的mask僅限于沒有精細細節的分割級別,由于數據集中的低分辨率圖像和粗略的mask標注。因此,它們不可能用于需要對前景對象進行細致 Alpha 摳圖的場景。
為了填補這一空白,作者在本文中提出了一項名為“Referring Image Matting (RIM)”的新任務。 RIM 是指在圖像中提取與給定自然語言描述最匹配的特定前景對象以及細致的高質量 alpha 摳圖。與上述兩種摳圖方法解決的任務不同,RIM 旨在對語言描述指示的圖像中的任意對象進行可控的圖像摳圖。在工業應用領域具有現實意義,為學術界開辟了新的研究方向。
為了促進 RIM 的研究,作者建立了第一個名為 RefMatte 的數據集,該數據集由 230 個對象類別、47,500 個圖像和 118,749 個表達式區域實體以及相應的高質量 alpha matte 和 474,996 個表達式組成。
具體來說,為了構建這個數據集,作者首先重新訪問了許多流行的公共摳圖數據集,如 AM-2k、P3M-10k、AIM-500、SIM,并手動標記仔細檢查每個對象。作者還采用了多種基于深度學習的預訓練模型為每個實體生成各種屬性,例如人類的性別、年齡和衣服類型。然后,作者設計了一個綜合的構圖和表達生成引擎,以生成具有合理絕對和相對位置的合成圖像,并考慮其他前景對象。最后,作者提出了幾種表達邏輯形式,利用豐富的視覺屬性生成不同的語言描述。此外,作者提出了一個真實世界的測試集 RefMatte-RW100,其中包含 100 張包含不同對象和人類注釋表達的圖像,用于評估 RIM 方法的泛化能力。上圖顯示了一些示例。
為了對相關任務中的最新方法進行公平和全面的評估,作者在 RefMatte 上根據語言描述的形式在兩種不同的設置下對它們進行基準測試,即基于提示的設置和基于表達的設置。由于代表性方法是專門為分割任務設計的,直接將它們應用于 RIM 任務時仍然存在差距。
為了解決這個問題,作者提出了兩種為 RIM 定制它們的策略,即 1)在 CLIPSeg 之上精心設計了一個名為 CLIPmat 的輕量級摳圖頭,以生成高質量的 alpha 摳圖結果,同時保持其端到端可訓練的管道; 2)提供了幾種單獨的基于粗圖的摳圖方法作為后期精煉器,以進一步改善分割/摳圖結果。廣泛的實驗結果 1) 展示了所提出的 RefMatte 數據集對于 RIM 任務研究的價值,2) 確定語言描述形式的重要作用; 3) 驗證提議的定制策略的有效性。
本研究的主要貢獻有三方面。 1)定義了一個名為 RIM 的新任務,旨在識別和提取與給定自然語言描述最匹配的特定前景對象的 alpha摳圖;2)建立了第一個大規模數據集RefMatte,由47,500張圖像和118,749個表達區域實體組成,具有高質量的alpha摳圖和豐富的表達; 3)在兩種不同的設置下使用兩種針對 RefMatte 的 RIM 定制策略對具有代表性的最先進方法進行了基準測試,并獲得了一些有用的見解。
2.方法
在本節中,將介紹構建 RefMatte(第 3.1 節和第 3.2 節)的pipeline以及任務設置(第 3.3 節)和數據集的統計信息(第 3.5 節)。 上圖展示RefMatte 的一些示例。此外,作者還構建了一個真實世界的測試集,由 100 張自然圖像組成,并帶有手動標記的豐富語言描述注釋(第 3.4 節)。
2.1 Preparation of matting entities
為了準備足夠多的高質量摳圖實體來幫助構建 RefMatte 數據集,作者重新訪問當前可用的摳圖數據集以過濾出滿足要求的前景。然后手動標記所有候選實體的類別并利用多個基于深度學習的預訓練模型注釋它們的屬性。
Pre-processing and filtering
由于圖像摳圖任務的性質,所有候選實體都應該是高分辨率的,并且在 alpha 摳圖中具有清晰和精細的細節。此外,數據應該通過開放許可公開獲得,并且沒有隱私問題,以促進未來的研究。針對這些要求,作者采用了來自 AM-2k 、P3M-10k 和 AIM-500的所有前景圖像。具體來說,對于 P3M-10k,作者過濾掉具有兩個以上粘性前景實例的圖像,以確保每個實體僅與一個前景實例相關。對于其他可用的數據集,如 SIM、DIM和 HATT,作者過濾掉那些在人類實例中具有可識別面孔的前景圖像。作者還過濾掉那些低分辨率或具有低質量 alpha 摳圖的前景圖像。最終實體總數為 13,187 個。對于后續合成步驟中使用的背景圖像,作者選擇 BG-20k 中的所有圖像。
Annotate the category names of entities
由于以前的自動摳圖方法傾向于從圖像中提取所有顯著的前景對象,因此它們沒有為每個實體提供特定的(類別)名稱。但是,對于 RIM 任務,需要實體名稱來描述它。作者為每個實體標記了入門級類別名稱,它代表人們對特定實體最常用的名稱。在這里,采用半自動策略。具體來說,作者使用帶有 ResNet-50-FPN主干的 Mask RCNN 檢測器來自動檢測和標記每個前景實例的類別名稱,然后手動檢查和糾正它們。 RefMatte 共有 230 個類別。此外,作者采用 WordNet為每個類別名稱生成同義詞以增強多樣性。作者手動檢查同義詞并將其中一些替換為更合理的同義詞。
Annotate the attributes of entities
為了確保所有實體具有豐富的視覺屬性以支持形成豐富的表達式,作者為所有實體標注了顏色、人類實體的性別、年齡和衣服類型等多種屬性。作者還采用半自動策略來生成此類屬性。為了生成顏色,作者將前景圖像的所有像素值聚類,找出最常見的值,并將其與 webcolors 中的特定顏色進行匹配。對于性別和年齡,作者采用預訓練模型。按照常識根據預測的年齡來定義年齡組。對于衣服類型,作者采用 預訓練模型。此外,受前景分類的啟發,作者為所有實體添加了顯著或不顯著以及透明或不透明的屬性,因為這些屬性在圖像摳圖任務中也很重要。最終,每個實體至少有 3 個屬性,人類實體至少有 6 個屬性。
2.2 Image composition and expression generation
基于上一節收集的摳圖實體,作者提出了一個圖像合成引擎和表達式生成引擎來構建RefMatte 數據集。如何將不同的實體排列形成合理的合成圖像,同時生成語義清晰、語法正確、豐富、花哨的表達方式來描述這些合成圖像中的實體,是構建RefMatte的關鍵,也是具有挑戰性的。為此,作者定義了六種位置關系,用于在合成圖像中排列不同的實體,并利用不同的邏輯形式來產生適當的表達。
Image composition engine
為了保持實體的高分辨率,同時以合理的位置關系排列它們,作者為每個合成圖像采用兩個或三個實體。作者定義了六種位置關系:左、右、上、下、前、后。對于每個關系,首先生成前景圖像,并通過 alpha 混合將它們與來自 BG-20k的背景圖像合成。具體來說,對于左、右、上、下的關系,作者確保前景實例中沒有遮擋以保留它們的細節。對于前后關系,通過調整它們的相對位置來模擬前景實例之間的遮擋。作者準備了一袋候選詞來表示每個關系。
Expression generation engine
為了給合成圖像中的實體提供豐富的表達方式,作者從定義的不同邏輯形式的角度為每個實體定義了三種表達方式,其中 代表屬性,
代表類別名稱,
代表參考實體和相關實體之間的關系,具體三種表達的例子如上圖(a),(b)和(c)所示。
2.3 Dataset split and task settings
Dataset split
數據集總共有 13,187 個摳圖實體,其中 11,799 個用于構建訓練集,1,388 個用于測試集。然而,訓練集和測試集的類別并不平衡,因為大多數實體屬于人類或動物類別。具體來說,在訓練集中的 11799 個實體中,有 9186 個人類、1800 個動物和 813 個物體。在包含 1,388 個實體的測試集中,有 977 個人類、200 個動物和 211 個對象。為了平衡類別,作者復制實體以實現人類:動物:對象的 5:1:1 比率。因此,在訓練集中有 10,550 個人類、2,110 個動物和 2,110 個對象,在測試集中有 1,055 個人類、211 個動物和 211 個對象。
為了為 RefMatte 生成圖像,作者從訓練或測試split中挑選 5 個人類、1 個動物和 1 個對象作為一組,并將它們輸入圖像合成引擎。對于訓練或測試split中的每一組,作者生成 20 張圖像來形成訓練集,并生成 10 幅圖像來形成測試集。左/右:上/下:前/后關系的比例設置為 7:2:1。每個圖像中的實體數量設置為 2 或 3。對于前后關系,作者總是選擇 2 個實體來保持每個實體的高分辨率。在這個過程之后,就有 42,200 個訓練圖像和 2,110 個測試圖像。為了進一步增強實體組合的多樣性,我作者所有候選者中隨機選擇 實體和關系,形成另外 2800 個訓練圖像和 390 個測試圖像。最后,在訓練集中有 45,000 張合成圖像,在測試集中有 2,500 張圖像。
Task setting
為了在給定不同形式的語言描述的情況下對 RIM 方法進行基準測試,作者在 RefMatte 中設置了兩個設置:
基于提示的設置(Prompt-based settin):該設置中的文字描述為提示,即實體的入門級類別名稱,例如上圖中的提示分別為花、人、羊駝;
基于表達式的設置(Expression-based setting):該設置中的文字描述是上一節中生成的表達式,從基本表達式、絕對位置表達式和相對位置表達式中選擇。從上圖中也可以看到一些示例。
2.4 Real-world test set
由于 RefMatte 是基于合成圖像構建的,因此它們與真實世界圖像之間可能存在域差距。為了研究在其上訓練的 RIM 模型對真實世界圖像的泛化能力,作者進一步建立了一個名為 RefMatte-RW100 的真實世界測試集,它由 100 張真實世界的高分辨率圖像組成,每張圖像中有 2 到 3 個實體。然后,作者按照3.2節中相同的三個設置來注釋它們的表達式。此外,作者在注釋中添加了一個自由表達式。對于高質量的 alpha 摳圖標簽,作者使用圖像編輯軟件生成它們,例如 Adobe Photoshop 和 GIMP。 RefMatte-RW100 的一些示例如上圖所示。
2.5 Statistics of the RefMatte dataset and RefMatte-RW100 test set
作者計算了 RefMatte 數據集和 RefMatte-RW100 測試集的統計數據如上表所示。對于基于提示的設置,由于文本描述是入門級類別名稱,作者將具有多個實體屬于同一類別的圖像刪除以避免模棱兩可的推理。因此,在此設置中,在訓練集中有 30,391 張圖像,在測試集中有 1,602 張圖像。alpha摳圖的數量、文本描述、類別、屬性和關系分別顯示在上表中。在基于提示的設置中,平均文本長度約為 1,因為每個類別通常只有一個單詞,而在基于表達的設置中則要大得多,即在 RefMatte 中約為 16.8,在 RefMatte-RW100 中約為 12。
作者還在上圖中生成了 RefMatte 中的提示、屬性和關系的詞云。可以看出,數據集有很大一部分人類和動物,因為它們在圖像摳圖任務中非常常見。 RefMatte 中最常見的屬性是男性、灰色、透明和顯著,而關系詞則更加平衡。
3.實驗
由于 RIM 和 RIS/RES 之間存在任務差異,直接將 RIS/RES 方法應用于 RIM 的結果并不樂觀。為了解決這個問題,作者提出了兩種為 RIM 定制它們的策略:
1)Adding matting head:在現有模型之上設計輕量級 matting heads,以生成高質量的 alpha 摳圖,同時保持端到端可訓練pipeline。具體來說,作者在 CLIPSeg之上設計了一個輕量級的摳圖解碼器,稱為 CLIPMat;
2)Using matting refiner:作者采用單獨的基于粗圖的摳圖方法作為后細化器,以進一步改善上述方法的分割/摳圖結果。具體來說,作者訓練 GFM和 P3M,輸入圖像和粗圖作為摳圖細化器。
作者在 RefMatte 測試集的基于提示的設置上評估 MDETR 、CLIPSeg和 CLIPMat,并將定量結果顯示在上表中。可以看出,與 MDETR 和 CLIPSeg 相比, CLIPMat 表現最好,無論是否使用摳圖精煉器,驗證添加摳圖頭為 RIM 任務自定義 CLIPSeg 的有效性。此外,使用兩種摳圖細化器中的任何一種都可以進一步提高三種方法的性能。
作者還在 RefMatte 測試集和 RefMatte-RW100 的基于表達式的設置下評估了這三種方法,并在上表中顯示了定量結果。CLIPMat 再次在 RefMatte 測試集上表現出良好的保留更多細節的能力。在 RefMatte-RW100 上進行測試時,像 CLIPSeg 和 CLIPMat 這樣的單階段方法落后于兩階段方法,即 MDETR,這可能是由于 MDETR 的檢測器在理解跨模態語義方面的能力更好。
為了調查提示輸入形式的影響,作者評估了不同提示模板的性能。除了 使用的傳統模板外,作者還添加了更多專門為圖像摳圖任務設計的模板,例如the foreground/mask/alpha matte of <entity name>。結果如上表所示。可以看到 CLIPmat 在不同提示下的性能差異很大。
由于本文在任務中引入了不同類型的表達式,因此可以看到每種類型對摳圖性能的影響。如上表所示,在 RefMatte 測試集上測試了性能最好的模型 CLIPMat,在 RefMatte-RW100 上測試了模型 MDETR。
4. 總結
在本文中,本文提出了一個名為引用圖像摳圖(RIM)的新任務,并建立了一個大規模的數據集 RefMatte。作者在 RIM 的相關任務中定制現有的代表性方法,并通過在 RefMatte 上的廣泛實驗來衡量它們的性能。本文的實驗結果為模型設計、文本描述的影響以及合成圖像和真實圖像之間的域差距提供了有用的見解。RIM的研究可以有益于交互式圖像編輯和人機交互等許多實際應用。 RefMatte 可以促進該領域的研究。然而,合成到真實的領域差距可能會導致對真實世界圖像的泛化有限。