Inpaint Anything官网,Stable Diffusion插件,一键實现物体移除,内容填补,場景替换
Inpaint Anything简介
Inpaint Anything是一个結合了SAMQ、圖像修补模型(例如 LaMa)和 AIGC 模型(例如 Stable Diffusion)等視觉基礎模型的AI圖像替换,修补系統。基于此系統,用户可以方便的使用IA进行圖像替换,處理具有任意长宽比和2K高清分辨率的圖像,且不受圖像原始内容限制,并且使用方便。
Inpaint Anything官网: https://github.com/Uminosachi/sd-webui-inpaint-anything
Inpaint Anything核心思想
Inpaint Anything背后的核心思想是結合不同模型的優势,以建立一个功能强大且用户友好的 圖像修复Q 系統。
一、Inpaint Anything:一键實现物体移除、内容填补、場景替换
IMCL實验室基于Meta發布的圖像分割基礎模型SAM (Segment Anything Model),提出了修补一切模型(Inpaint Anything,简称IA) ,
具有功能:
1.移除一切(Remove Anything):点擊一下想要移除的物体,IA 將無痕地移除该物体;
2.填补一切(Fill Anything) :可以进一步透過文本提示告诉IA想要在物体内填充什么, IA随即透過驱动已嵌入的stable diffusion模型生成相应的内容填充物体,實现随心「内容創作」;
3替换一切(Replace Anything) :可以透過点擊選择需要保留的物体對象,并用文本提示告诉IA想要把物体的背景替换成什么,即可將物体背景替换為指定内容,實现生动「環境轉换」。
整体框架:
Inpaint Anything主要功能
Inpaint Anything擁有三个主要功能
1、移除一切(Remove Anything) :用户只需点擊一下想要移除的物体,IA 將無痕地移除该物体,實现高效「魔法消除」;
2、填补一切(Fill Anything) :同时,用户还可以进一步透過文本提示(Text Prompt)告诉 IA 想要在物体内填充什么, IA 随即透過驱动 已嵌入的 AIGC (Al-Generated Content)模型(如 Stable Diffusion)生成相应的内容填充物体,實现随心「内容創作」;
3、替换一切(Replace Anything) :用户也可以透過点擊選择需要保留的物体對象,并用文本提示告诉IA想要把物体的背景替换成什么,即可將物体背景替换為指定内容,實现生动「環境轉换」。
4、移除3D材质物品(Remove Anything 3D)
修复任何内容以實现穩定的擴散 Web UI
Inpaint Anything 擴展使用从Segment Anything的输出中選择的任何蒙版在浏览器 UI 上执行穩定的擴散修复。
使用 Segment Anything,用户可以透過简單地指向所需区域来指定蒙版,而不是手动填充它们。这可以提高蒙版創建过程的效率和准确性,从而可能獲得更高质量的修复結果,同时節省时间和精力。
Inpaint Anything工作原理
Inpaint Anything結合了 SAM、圖像修补模型(例如 LaMa)和 AIGC 模型(例如 Stable Diffusion)等視觉基礎模型。
- SAM(Segment Anything Model)可以透過点或框等输入提示生成高质量的對象分割区域,實现指定目标的分割。更多相關的介绍可以参考一键分割圖像。
- 圖像修补模型LaMa,则能够在高分辨率圖像的情况下,随意删除圖像中的各种元素。模型的主要架构如下圖所示。包含一个mask的黑白圖,一張原始圖像。將掩碼圖覆蓋圖像后输入Inpainting網路中,先是降采样到低分辨率,再經过几个快速傅里叶卷积FFC残差块,最后输出上采样,生成了一張高分辨的修复圖像。
- AIGC模型Stable Diffusion,则只要简單的输入一段文本,Stable Diffusion 就可以迅速將其轉换為圖像。更多相關的介绍可以参考AI作画。
將三个模型結合到一起,我们可以做出很多的功能。本文就實现了在圖片/影片中移除一切物体、在圖片中填充一切物体和在圖片中替换一切背景这三种功能,其具体實现步驟如下:
單机版
安装
要安装该軟體,请按照下列步驟操作:
- 打開
Extensions
AUTOMATIC1111 的穩定擴散 Web UI上的選项卡。 - 選择该
Install from URL
選项。 https://github.com/Uminosachi/sd-webui-inpaint-anything.git
在字段中输入URL for extension's git repository
。- 單擊按鈕
Install
。 - 安装完成后,重新启动 Web UI。
- 注意:此擴展支持 AUTOMATIC1111 的穩定擴散 Web UI v1.3.0 或更高版本。
運行应用程式
- 如果您打算使用記憶體高效的 xformers,请將参數附加
--xformers
到您的启动命令中。例如,運行./webui.sh --xformers
或webui.bat --xformers
- 注意:如果您在網路浏览器中启用了隐私保護擴展程式(例如 DuckDuckGo),您可能無法从草圖中检索蒙版。
- 注意:在 Gradio 版本 3.23.0 或更早版本中,分割圖像在 Web UI 上可能会顯得很小。
下载模型
- 導航到
Inpaint Anything
Web UI 中的選项卡。 - 單擊“Segment Anything Model ID”
Download model
旁邊的按鈕。这包括Segment Anything in High Quality Model ID、Fast Segment Anything和Faster Segment Anything (MobileSAM)。- 请注意,SAM 提供三种尺寸:基本型、大型型和巨型型。请記住,較大的尺寸会消耗更多的 VRAM。
- 等待下载完成。
- 下载的模型文件將存儲在
models
该应用程式存儲库的目錄中。
用法
- 將圖像拖放到输入圖像区域。
- 可以透過
Padding options
配置比例和平衡,然后單擊Run Padding
按鈕来實现繪制。 - 该
Anime Style
复選框增强了分割蒙版检测,特别是在动漫風格的圖像中,但代价是蒙版质量略有下降。
- 可以透過
- 單擊按鈕
Run Segment Anything
。 - 使用草圖来指出要修复的区域。您可以撤消和调整笔大小。
- 將滑鼠悬停在 SAM 圖像或遮罩圖像上,然后按
S
全屏模式键或R
重置缩放键。
- 將滑鼠悬停在 SAM 圖像或遮罩圖像上,然后按
- 單擊按鈕
Create mask
。蒙版將出现在選定的蒙版圖像区域中。
面罩调整
Expand mask region
按鈕:使用此按鈕可以稍微擴大遮罩的区域以獲得更广泛的覆蓋范围。Trim mask by sketch
按鈕:單擊此按鈕將从蒙版中排除草繪区域。Add mask by sketch
按鈕:單擊此按鈕会將草繪区域添加到蒙版中。
修复選项卡
- 输入所需的提示和否定提示,然后選择修复模型 ID。
- 單擊按鈕
Run Inpainting
(请注意,第一次下载模型可能需要一些时间)。- 在“高級”選项中,您可以调整采样器、采样步驟、指導比例和种子。
- 如果启用该
Mask area Only
選项,修改將仅限于指定的遮罩区域。
- 调整迭代滑块以使用不同的种子多次执行修复。
- 修复过程由擴散器提供动力。
尖端
- 您可以直接將修复后的圖像拖放到 Web UI 上的输入圖像字段中。(适用于 Chrome 和 Edge 浏览器)
- 要加载保存在 PNG 文件中的提示,请按照下列步驟操作:
- 將圖像拖放到 Web UI 上的“PNG 信息”選项卡中,然后單擊
Send to txt2img (or img2img)
。 - 導航至“修复任何内容”選项卡中的“修复”部分,然后單擊 按鈕
Get prompt from: txt2img (or img2img)
。
- 將圖像拖放到 Web UI 上的“PNG 信息”選项卡中,然后單擊
模型快取
- 修复模型保存在 HuggingFace 的快取中,并
inpaint
在其 repo_id 中包含(不区分大小寫),也將添加到修复模型 ID 下拉列表中。- 如果您想使用特定模型,可以使用以下 Python 命令(對于 Linux 和 MacOS 為 venv/bin/python)提前快取它:
venv\Scripts\python.exe
from diffusers import StableDiffusionInpaintPipeline
pipe = StableDiffusionInpaintPipeline.from_pretrained("Uminosachi/dreamshaper_5-inpainting")
exit()
- 下载的擴散器模型通常存儲在您的主目錄中。
/home/username/.cache/huggingface/hub
對于 Linux 和 MacOS 用户,您可以在以下位置找到它;C:\Users\username\.cache\huggingface\hub
對于 Windows 用户,您可以在以下位置找到它。
清洁标簽
- 選择清洁器型号 ID。
- 單擊按鈕
Run Cleaner
(请注意,第一次下载模型可能需要一些时间)。 - 使用Lama Cleaner执行清洁过程。
修复 webui 選项卡
- 当您有修复模型时,可以訪問此選项卡。
- 所需的模型应
inpaint
在其文件名中包含(不区分大小寫),并且必须位于该stable-diffusion-webui/models
目錄中。 - 一旦模型被辨識,就可以从修复模型 ID 下拉列表中进行選择。
- 当穩定擴散检查点(位于 Web UI 的左上角)与所選的修复模型 ID 匹配时,该过程可以快速执行,無需加载模型。
ControlNet 修复選项卡
- 要执行修复,请使用位于 Web UI 左上角的穩定擴散检查点,并將其与 ControlNet 修复模型配對。
- 输入您想要的提示和否定提示。
- 單擊
Run ControlNet Inpaint
按鈕開始该过程。- 在“高級”選项中,您可以调整采样器、采样步驟、指導比例、去噪强度和种子。
- 控制重量和控制模式可以在 ControlNet 選项中修改。
- 如果多 ControlNet 設置配置為 2 或更高,则可以使用仅参考控制。
- 如果目錄中存在IP 适配器型号
extensions/sd-webui-controlnet/models
,并且 ControlNet 版本已更新,则可以使用 IP 适配器。
- 确保安装支持
inpaint_only
预處理器和 ControlNet 修复模型的 ControlNet 擴展。 - 需要:目錄中的sd-webui-controlnet擴展和ControlNet-v1-1修复模型
extensions/sd-webui-controlnet/models
。
仅掩模選项卡
- 能够仅保存蒙版而不进行任何其他處理,因此可以將 img2img 中的蒙版
Inpaint upload
与 AUTOMATIC1111 中已有的任何模型/擴展/工具一起使用。 Get mask as alpha of image
按鈕:將蒙版保存為 RGBA 圖像,并將蒙版放入输入圖像的 Alpha 通道中。Get mask
按鈕:將蒙版保存為 RGB 圖像。- 按下按鈕后,
Get mask
您可以使用Send to img2img inpaint
遮罩圖像下方的按鈕將输入圖像和遮罩發送到 img2img 選项卡。
自动保存圖像
- 修复后的圖像將自动保存在
outputs/inpaint-anything
目錄中与当前日期匹配的資料夾中。 outputs/img2img-images
您可以透過Web UI 選项卡Inpaint Anything
中的部分切换到目錄。Settings
發展
借助Inpaint Anything 库,您可以使用其他擴展中的草圖执行分割并創建蒙版。
执照
源代碼根据Apache 2.0 許可證獲得許可。
数据评估
本站ai工具百寶箱提供的Inpaint Anything都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai工具百寶箱实际控制,在2025年5月30日 上午5:50收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai工具百寶箱不承担任何责任。