/ Модель

Характеристики

Лицензия
CC BY-NC 4.0
Архитектура
birefnet · dense
Библиотека
onnx
Опубликована
7 июл 2026

RMBG-2.0-WebGPU

Сегментация изображенийИзображение → mask3 профессии

Экспорт BiRefNet в ONNX для удаления фона на изображениях в браузере с использованием WebGPU.

38скачиваний за 30 дней4лайкавеса обновлены8 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

RMBG-2.0-WebGPU — экспорт модели удаления фона briaai/RMBG-2.0 в формат ONNX, подготовленный для запуска через ONNX Runtime Web с бэкендом WebGPU. В основе лежит архитектура BiRefNet для сегментации изображений; файл модели имеет размер 490 МБ и хранит веса в fp16 с приведением к fp32 перед вычислениями.

Модель предназначена для выделения объекта переднего плана и удаления фона в веб-приложениях. Экспорт изменён так, чтобы большие операции Split и Concat выполнялись каскадными группами и укладывались в ограничение WebGPU на число привязок буферов. По README результат численно совпадает с исходной моделью в пределах точности fp16. Лицензия CC BY-NC 4.0 запрещает коммерческое использование.

Сценарии применения

  • удаление фона с фотографий в веб-приложении
  • выделение переднего плана на изображении
  • создание прозрачного фона для изображений товаров
  • обработка изображений локально в браузере через WebGPU

Ограничения

Экспорт предназначен для ONNX Runtime Web с WebGPU и использует веса fp16; численная точность соответствует исходной модели в пределах допуска fp16. Лицензия CC BY-NC 4.0 не разрешает коммерческое использование.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

RMBG-2.0 — WebGPU

A WebGPU-compatible ONNX export of briaai/RMBG-2.0 background removal model, built for ONNX Runtime Web with WebGPU backend.

The Problem

The original ONNX model contains Split ops with 32 outputs (33 storage buffer bindings) and a Concat op with 1024 inputs (1025 bindings). WebGPU has a maxStorageBuffersPerShaderStage limit of 16, so the model fails at runtime with:

Uncaught (in promise) Error: MaxStorageBuffersPerShaderStage (16) exceeded. Created 33 bindings.

The Fix

Large Split and Concat ops are cascaded into trees where every node has ≤8 outputs or inputs — max 9 bindings per shader stage, well under the WebGPU limit.

BeforeAfter
50× Split(32/16 outputs)Split(4) + 4×Split(8) / Split(2) + 2×Split(8) trees
Concat(1024 inputs)4-level group-of-8 Concat tree
Concat(256 inputs)3-level group-of-8 Concat tree
Concat(64 inputs)2-level group-of-8 Concat tree
Concat(16 inputs)2-level group-of-8 Concat tree

Weights are stored as fp16 (Cast to fp32 before compute). Output is numerically identical within fp16 tolerance.

Model

FileSize
onnx/model_fp16.onnx490 MB

Usage (ONNX Runtime Web + WebGPU)

<script type="module">
import { InferenceSession, Tensor } from "https://cdn.jsdelivr.net/npm/onnxruntime-web@latest/dist/ort.js";

const session = await InferenceSession.create(
  "https://huggingface.co/yamura4/RMBG-2.0-WebGPU/resolve/main/onnx/model_fp16.onnx",
  { executionProviders: ["webgpu"] }
);

const input = new Tensor("float32", new Float32Array(3 * 1024 * 1024), [1, 3, 1024, 1024]);
const { alphas } = await session.run({ pixel_values: input });
// alphas.data is a Float32Array of shape (1, 1, 1024, 1024)
</script>

Usage (Node.js / Python ONNX Runtime)

import onnxruntime as ort
import numpy as np
from PIL import Image
from torchvision import transforms

sess = ort.InferenceSession("onnx/model_fp16.onnx")

img = Image.open("photo.jpg").convert("RGB")
transform = transforms.Compose([
    transforms.Resize((1024, 1024)),
    transforms.ToTensor(),
    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
])
input_tensor = transform(img).unsqueeze(0).numpy().astype(np.float32)

alphas = sess.run(["alphas"], {"pixel_values": input_tensor})[0][0, 0]
mask = (alphas * 255).astype(np.uint8)
Image.fromarray(mask).save("mask.png")

Files

  • onnx/model_fp16.onnx — WebGPU-compatible model
  • config.json, preprocessor_config.json — model config
  • BiRefNet_config.py — custom config class (required by HF Hub)

License

CC-BY-NC-4.0 (same as briaai/RMBG-2.0).

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · onnx

Нельзя запустить

В репозитории нет весов в формате PyTorch/safetensors.

Класс архитектуры
BiRefNet
Ревизия весов
065fd80

0 моделей