🚀 BRIA 背景削除 v1.4 モデルカード
RMBG v1.4は、最先端の背景削除モデルです。様々なカテゴリや画像タイプにおいて、前景と背景を効果的に分離するように設計されています。このモデルは、一般的なストック画像、電子商取引、ゲーム、広告コンテンツなどを含む、慎重に選択されたデータセットで学習されており、エンタープライズのコンテンツ作成を大規模にサポートする商用ユースケースに適しています。現在、その精度、効率、汎用性は、主要なソースオープンモデルに匹敵します。コンテンツの安全性、法的にライセンスされたデータセット、バイアスの軽減が重要視される場面に最適です。
BRIA AIによって開発されたRMBG v1.4は、非商用利用のためのソースオープンモデルとして提供されています。
商用ライセンスを購入するには、こちらをクリックしてください。
デモを見るにはここをクリック
注意 新しいRMBGバージョンが利用可能です!RMBG-2.0をチェックしてください。
詳細、チュートリアル、ツールについて、他のユーザーと交流するために、Discordコミュニティに参加しましょう!

🚀 クイックスタート
モデルの説明
- 開発元: BRIA AI
- モデルの種類: 背景削除
- ライセンス: bria-rmbg-1.4
- このモデルは、非商用利用のためにクリエイティブ・コモンズライセンスの下で公開されています。
- 商用利用については、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% |
定性的評価

アーキテクチャ
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)
pillow_image = pipe(image_path)
高度な使用法
モデルをロードする場合
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]
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)
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]
image = preprocess_image(orig_im, model_input_size).to(device)
result=model(image)
result_image = postprocess_image(result[0][0], orig_im_size)
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)
📄 ライセンス
このモデルは、bria-rmbg-1.4ライセンスの下で提供されています。非商用利用の場合はクリエイティブ・コモンズライセンスが適用され、商用利用についてはBRIAとの商用契約が必要です。