Image Segmentation
Transformers
PyTorch
ONNX
Safetensors
Transformers.js
SegformerForSemanticSegmentation
remove background
background
background-removal
Pytorch
vision
legal liability
custom_code
Instructions to use briaai/RMBG-1.4 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use briaai/RMBG-1.4 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-segmentation", model="briaai/RMBG-1.4", trust_remote_code=True)# Load model directly from transformers import AutoModelForImageSegmentation model = AutoModelForImageSegmentation.from_pretrained("briaai/RMBG-1.4", trust_remote_code=True, dtype="auto") - Transformers.js
How to use briaai/RMBG-1.4 with Transformers.js:
// npm i @huggingface/transformers import { pipeline } from '@huggingface/transformers'; // Allocate pipeline const pipe = await pipeline('image-segmentation', 'briaai/RMBG-1.4'); - Notebooks
- Google Colab
- Kaggle
How to run onnx model inference?
#32
by nived2 - opened
Can somebody share the code snippet to run the onnx files in this repo?
import onnxruntime as ort
import numpy as np
import torch
from PIL import Image
from io import BytesIO
from utilities import postprocess_image, preprocess_image
def initialize_model(model_path):
ort_sess = ort.InferenceSession(model_path)
return ort_sess
def process_image_buffer(image_buffer, ort_sess):
image = Image.open(BytesIO(image_buffer))
image_np = np.array(image)
orig_im_size = image_np.shape[0:2]
model_input_size = [1024, 1024]
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
processed_image = preprocess_image(image_np, model_input_size).to(device)
image_np_for_model = processed_image.cpu().numpy(
) if device.type == 'cuda' else processed_image.numpy()
input_name = ort_sess.get_inputs()[0].name
result = ort_sess.run(None, {input_name: image_np_for_model})
result_tensor = torch.tensor(result[0][0], dtype=torch.float32)
result_image = postprocess_image(result_tensor, orig_im_size)
pil_im = Image.fromarray(result_image)
no_bg_image = Image.new("RGBA", pil_im.size, (0, 0, 0, 0))
no_bg_image.paste(image, mask=pil_im)
output_buffer = BytesIO()
no_bg_image.save(output_buffer, format='PNG')
output_buffer.seek(0)
return output_buffer.getvalue()
model_path = "model/model_fp16.onnx"
ort_sess = initialize_model(model_path)