ONNX 模型库
返回模型

说明文档

BRIA 背景移除 v1.4 模型卡片

RMBG v1.4 是我们最先进的背景移除模型,旨在有效分离各种类别和图像类型的前景与背景。该模型经过精心挑选的数据集训练,包括: 通用库存图片、电子商务、游戏和广告内容,适用于大规模企业内容创作的商业使用场景。其准确性、效率和多功能性目前可与领先的开放源码模型相媲美。非常适合内容安全、合法授权数据集和偏见消除至关重要的场景。

RMBG v1.4 由 BRIA AI 开发,作为开放源码模型供非商业用途使用。

如需购买商业许可证,请点击此处

点击此处查看演示

注意 新的 RMBG 版本已推出!请查看 RMBG-2.0

加入我们的 Discord 社区,获取更多信息、教程和工具,并与其它用户建立联系!

examples

模型描述

  • 开发者: BRIA AI

  • 模型类型: 背景移除

  • 许可证: bria-rmbg-1.4

    • 该模型以 Creative Commons 许可证发布,仅供非商业用途使用。
    • 商业使用需与 BRIA 签订商业协议。如需购买商业许可证,请点击此处
  • 模型描述: BRIA RMBG 1.4 是一个显著性分割模型,仅使用专业级数据集进行训练。

  • BRIA: 更多资源信息:BRIA AI

训练数据

Bria-RMBG 模型使用超过 12,000 张高质量、高分辨率、手动标注(像素级精度)、完全授权的图像进行训练。 我们的基准测试包含均衡的性别均衡、均衡的种族以及不同类型的残障人士。 为清晰起见,我们按不同类别提供数据分布,展示模型的多功能性。

图像分布:

类别 分布
仅物体 45.11%
人与物体/动物 25.24%
仅人 17.35%
人/物体/动物与文字 8.52%
仅文字 2.52%
仅动物 1.89%
类别 分布
照片级真实感 87.70%
非照片级真实感 12.30%
类别 分布
非纯色背景 52.05%
纯色背景 47.95%
类别 分布
单个主要前景物体 51.42%
前景中多个物体 48.58%

定性评估

examples

架构

RMBG v1.4 基于 IS-Net 开发,并结合了我们独特的训练方案和专有数据集进行了增强。 这些改进显著提高了模型在各种图像处理场景中的准确性和有效性。

安装

pip install -qr https://huggingface.co/briaai/RMBG-1.4/resolve/main/requirements.txt

使用方法

加载管道:

from transformers import pipeline
image_path = \"https://farm5.staticflickr.com/4007/4322154488_997e69e4cf_z.jpg\"
pipe = pipeline(\"image-segmentation\", model=\"briaai/RMBG-1.4\", trust_remote_code=True)
pillow_mask = pipe(image_path, return_mask = True) # outputs a pillow mask
pillow_image = pipe(image_path) # applies mask on input and returns a pillow image

或加载模型:

from PIL import Image
from skimage import io
import torch
import torch.nn.functional as F
from transformers import AutoModelForImageSegmentation
from torchvision.transforms.functional import normalize
model = AutoModelForImageSegmentation.from_pretrained(\"briaai/RMBG-1.4\",trust_remote_code=True)
def preprocess_image(im: np.ndarray, model_input_size: list) -> torch.Tensor:
    if len(im.shape) < 3:
        im = im[:, :, np.newaxis]
    # orig_im_size=im.shape[0:2]
    im_tensor = torch.tensor(im, dtype=torch.float32).permute(2,0,1)
    im_tensor = F.interpolate(torch.unsqueeze(im_tensor,0), size=model_input_size, mode='bilinear')
    image = torch.divide(im_tensor,255.0)
    image = normalize(image,[0.5,0.5,0.5],[1.0,1.0,1.0])
    return image

def postprocess_image(result: torch.Tensor, im_size: list)-> np.ndarray:
    result = torch.squeeze(F.interpolate(result, size=im_size, mode='bilinear') ,0)
    ma = torch.max(result)
    mi = torch.min(result)
    result = (result-mi)/(ma-mi)
    im_array = (result*255).permute(1,2,0).cpu().data.numpy().astype(np.uint8)
    im_array = np.squeeze(im_array)
    return im_array

device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")
model.to(device)

# prepare input
image_path = \"https://farm5.staticflickr.com/4007/4322154488_997e69e4cf_z.jpg\"
orig_im = io.imread(image_path)
orig_im_size = orig_im.shape[0:2]
model_input_size = [1024, 1024]
image = preprocess_image(orig_im, model_input_size).to(device)

# inference 
result=model(image)

# post process
result_image = postprocess_image(result[0][0], orig_im_size)

# save result
pil_mask_im = Image.fromarray(result_image)
orig_image = Image.open(image_path)
no_bg_image = orig_image.copy()
no_bg_image.putalpha(pil_mask_im)

briaai/RMBG-1.4

作者 briaai

image-segmentation transformers
↓ 349.4K ♥ 2K

创建时间: 2023-12-12 19:52:35+00:00

更新时间: 2025-07-06 08:27:49+00:00

在 Hugging Face 上查看

文件 (20)

.gitattributes
MyConfig.py
MyPipe.py
README.md
briarmbg.py
config.json
example_inference.py
example_input.jpg
model.pth
model.safetensors
onnx/model.onnx ONNX
onnx/model_fp16.onnx ONNX
onnx/model_quantized.onnx ONNX
onnx/quantize_config.json
preprocessor_config.json
pytorch_model.bin
requirements.txt
results.png
t4.png
utilities.py