FeyNoBg抠图笔记 NoBg使用示例

FeyNoBg抠图笔记 NoBg使用示例

FeyNoBg 是一个开源的、基于 AI 的图像背景移除模型,它能实现发丝级的高精度抠图。它的使用方法主要有两种:一是通过其背后的NoBg Python 库进行编程调用,二是通过Hugging Face Space在线体验。

由于目前公开信息主要聚焦于其库的用法,以下核心操作步骤是基于NoBg 库的 Python 工作流整理的。

使用步骤

1. 环境准备


首先,确保你的 Python 版本 >= 3.10,并安装好 PyTorch (>= 2.0)。然后通过 pip 安装 NoBg 库:

pip install nobg torch

2.抠图代码示例

被扣的是input.jpg,扣好输出是output.png

import os # 1. 关键步骤:设置环境变量,指向国内镜像源 os.environ["HF_ENDPOINT"] = "https://hf-mirror.com" import torch from loadimg import load_img from nobg import AutoModel, AutoProcessor # 2. 加载模型 (现在会从 hf-mirror.com 下载) model = AutoModel.from_pretrained("feyninc/FeyNobg").eval().to("cuda") processor = AutoProcessor.from_pretrained("feyninc/FeyNobg") # 3. 读取图片并预处理 image = load_img("input.jpg").convert("RGB") inputs = processor(image, return_tensors="pt").to("cuda") # 4. 模型推理 with torch.no_grad(), torch.autocast("cuda", dtype=torch.bfloat16): outputs = model(pixel_values=inputs["pixel_values"]) # 5. 生成透明背景图片 alpha = processor.post_process_alpha_matting( outputs, target_sizes=[(image.height, image.width)] )[0] processor.cutout(image, alpha).save("output.png")

注意

a、第一次使用,会下载模型到C:\Users\你的用户名\.cache\huggingface\hub\

models--feyninc--FeyNobg命名的文件夹,这就是 FeyNoBg 模型的存放位置。

b、因为是国内,添加了国内镜像源

c、这个是有cuda的显卡的代码

如果没cuda显卡应该这么写

import os # 1. 关键步骤:设置环境变量,指向国内镜像源 os.environ["HF_ENDPOINT"] = "https://hf-mirror.com" import torch from loadimg import load_img from nobg import AutoModel, AutoProcessor # 1. 从 Hugging Face 加载模型和处理器 model = AutoModel.from_pretrained("feyninc/FeyNobg").eval() processor = AutoProcessor.from_pretrained("feyninc/FeyNobg") # 2. 读取并预处理图片 image = load_img("input.jpg").convert("RGB") inputs = processor(image, return_tensors="pt") # 3. 模型推理(不计算梯度) with torch.no_grad(): outputs = model(pixel_values=inputs["pixel_values"]) # 4. 后处理,生成与原始图片尺寸一致的 Alpha 遮罩 alpha = processor.post_process_alpha_matting( outputs, target_sizes=[(image.height, image.width)] )[0] # 5. 合成并保存透明背景的 PNG 图片 processor.cutout(image, alpha).save("output.png")

测试成功的shell截图(含有第一次下载模型)