當「分割一切」遇上圖像修補:無需精細標記,單擊物體實現物體移除、內容填補、場景替換
4 月初,Meta 發布了史上首個圖像分割基礎模型--SAM(Segment Anything Model)[1]。作為分割模型,SAM 的能力強大,操作使用方式也十分友好,比如用戶簡單地點擊來選擇對應物體,物體就會立即被分割出來,且分割結果十分精準。截至 4 月 15 號,SAM 的 GitHub 倉庫的 Star 數高達 26k。
如何利用好如此強大的「分割一切」模型,并拓展到更加有實際需求的應用場景至關重要。例如,當 SAM 遇上實用的圖像修補(Image Inpainting)任務會碰撞出什么樣的火花?
來自中國科學技術大學和東方理工高等研究院的研究團隊給出了令人驚艷的答案。基于 SAM,他們提出「修補一切」(Inpaint Anything,簡稱 IA)模型。區別于傳統圖像修補模型,IA 模型無需精細化操作生成掩碼,支持了一鍵點擊標記選定對象,IA 即可實現移除一切物體(Remove Anything)、填補一切內容(Fill Anything)、替換一切場景(Replace Anything),涵蓋了包括目標移除、目標填充、背景替換等在內的多種典型圖像修補應用場景。
- 論文鏈接:http://arxiv.org/abs/2304.06790
- 代碼庫鏈接:https://github.com/geekyutao/Inpaint-Anything
方法介紹
盡管當前圖像修補系統取得了重大進展,但它們在選擇掩碼圖和填補空洞方面仍然面臨困難。基于 SAM,研究者首次嘗試無需掩碼(Mask-Free)圖像修復,并構建了「點擊再填充」(Clicking and Filling) 的圖像修補新范式,他們將其稱為修補一切 (Inpaint Anything)(IA)。IA 背后的核心思想是結合不同模型的優勢,以建立一個功能強大且用戶友好的圖像修復系統。
IA 擁有三個主要功能:(i) 移除一切(Remove Anything):用戶只需點擊一下想要移除的物體,IA 將無痕地移除該物體,實現高效「魔法消除」;(ii) 填補一切(Fill Anything):同時,用戶還可以進一步通過文本提示(Text Prompt)告訴 IA 想要在物體內填充什么,IA 隨即通過驅動已嵌入的 AIGC(AI-Generated Content)模型(如 Stable Diffusion [2])生成相應的內容填充物體,實現隨心「內容創作」;(iii) 替換一切(Replace Anything):用戶也可以通過點擊選擇需要保留的物體對象,并用文本提示告訴 IA 想要把物體的背景替換成什么,即可將物體背景替換為指定內容,實現生動「環境轉換」。IA 的整體框架如下圖所示:
Inpaint Anything(IA)示意圖。用戶可以通過單擊來選擇圖像中的任何物體。借助強大的視覺模型,如 SAM [1]、LaMa [3] 和 Stable Diffusion (SD) [3],IA 能夠平滑移除選定物體(即 Remove Anything)。進一步地,通過向 IA 輸入文本提示,用戶可以用任何想要的內容填充物體(即 Fill Anything)或者任意替換對象的物體(即 Replace Anything)。
移除一切
移除一切(Remove Anything)示意圖
「移除一切」步驟如下:
- 第 1 步:用戶點擊想要移除的物體;
- 第 2 步:SAM 將該物體分割出來;
- 第 3 步:圖像修補模型(LaMa)填補該物體。
填補一切
填補一切(Fill Anything)示意圖,圖中使用的文本提示:a teddy bear on a bench
「填補一切」步驟如下:
- 第 1 步:用戶點擊想要移除的物體;
- 第 2 步:SAM 將該物體分割出來;
- 第 3 步:用戶通過文本示意想要填充的內容;
- 第 4 步:基于文本提示的圖像修補模型(Stable Diffusion)根據用戶提供的文本對物體進行填充。
替換一切
替換一切(Replace Anything)示意圖,圖中使用的文本提示:a man in office
「填補一切」步驟如下:
- 第 1 步:用戶點擊想要移除的物體;
- 第 2 步:SAM 將該物體分割出來;
- 第 3 步:用戶通過文本示意想要替換的背景;
- 第 4 步:基于文本提示的圖像修補模型(Stable Diffusion)根據用戶提供的文本對物體的背景進行替換。
模型結果
研究者隨后在 COCO 數據集 [4]、LaMa 測試數據集 [3] 和他們自己用手機拍攝的 2K 高清圖像上對 Inpaint Anything 進行測試。值得注意的是,研究者的模型還支持 2K 高清圖和任意長寬比,這使得 IA 系統在各種集成環境和現有框架中都能夠實現高效的遷移應用。
移除一切實驗結果
填充一切實驗結果
文本提示:a camera lens in the hand
文本提示:an aircraft carrier on the sea
文本提示:a sports car on a road
文本提示:a Picasso painting on the wall
替換一切實驗結果
文本提示:sit on the swing
文本提示:breakfast
文本提示:a bus, on the center of a country road, summer
文本提示:crossroad in the city
總結
研究者建立這樣一個有趣的項目,來展示充分利用現有大型人工智能模型所能獲得的強大能力,并揭示「可組合人工智能」(Composable AI)的無限潛力。項目所提出的 Inpaint Anything (IA) 是一種多功能的圖像修補系統,融合了物體移除、內容填補、場景替換等功能(更多的功能正在路上敬請期待)。
IA 結合了 SAM、圖像修補模型(例如 LaMa)和 AIGC 模型(例如 Stable Diffusion)等視覺基礎模型,實現了對用戶操作友好的無掩碼化圖像修復,同時支持「點擊刪除,提示填充」的等「傻瓜式」人性化操作。此外,IA 還可以處理具有任意長寬比和 2K 高清分辨率的圖像,且不受圖像原始內容限制。
目前,項目已經完全開源。最后,歡迎大家分享和推廣 Inpaint Anything (IA) ,也很期待看見更多基于 IA 所拓展的新項目。未來,研究者將進一步挖掘 Inpaint Anything (IA) 的潛力 以支持更多實用的新功能,如細粒度圖像摳圖、編輯等,并將其應用到更多現實應用中。