はじめに
素材作りで「背景透過したい!」と思ったことはありませんか?
オンラインサービス(remove.bg など)も便利ですが、無料版は画質が落ちたり、有料プランが必要になったりします。
今回は、ローカルで動く背景除去AI「rembg」 で背景透過を行う手順をまとめました。
rembgとは?
rembg
は Python 製の背景除去ツール。
裏側で AIモデル(U²Net / ISNetなど) を使って、人物・動物・物体を背景から切り抜いてくれます。
主な特徴
- コマンド1つで一括透過(単発/フォルダ単位/サーバーとして利用も可)
- GPU対応
- モデルを選んで用途に最適化
- オフラインで利用可能
rembgの基本
インストール
pip install rembg
サブコマンドの種類
i
: 単発処理。入力1枚 → 出力1枚p
: フォルダごと処理。複数画像をまとめて変換s
: ローカルサーバーを起動。Web API的に利用可能
例:
rembg i input.png output.png
主なオプション
実際に使える代表的なオプションを整理しました。
--model
背景分離モデルの指定。
isnet-general-use
: 精度重視。細かい縁(髪・糸状のもの)に強い反面やや重いu2net
: 標準的。軽快で速いが精度は少し落ちるu2netp
: 超軽量版。小さい画像や速度重視のとき向け
--alpha-matting
透過率マップを用いた後処理を有効化。
- あり:輪郭がなめらかになり、ジャギーやギザギザが減る
- なし:処理は速いが、切り口がカクつくことも
--alpha-matting-background-threshold
背景と前景の境界を決めるしきい値。
- 数字が小さい → 攻め(背景を強く消すが、前景も削れる可能性)
- 数字が大きい → 守り(前景を守るが、背景が少し残る)
※内部的には 0〜255 の整数値。背景色に合わせて調整。
目安:
240〜255 : 背景がほぼ真っ白のときに推奨(抜けやすい)
200前後 : グレー背景とか、少し色が付いた背景
100以下 : 暗め背景
--alpha-matting-erode-size
輪郭を内側に削るピクセル数。
- 値が大きい → 白縁が消えやすいが、細部が痩せる
- 値が小さい → ディテールを残しやすいが、白縁が残ることも
目安: 5〜10
--only-mask
透過PNGではなく、白黒のマスク画像を出力。
- 白 = 残す部分
- 黒 = 消す部分
- 灰 = 半透明
このマスクを GIMP / Photopea / Photoshop の「レイヤーマスク」として使えば、元画像の画質を落とさずに背景除去できます。
実際のコマンド例
rembg i --model isnet-general-use ^
--alpha-matting ^
--alpha-matting-background-threshold 200 ^
--alpha-matting-erode-size 8 ^
in.png out.png
マスクだけ出力する例
rembg i --model isnet-general-use ^
--only-mask ^
in.png out.pn
GIMPでマスクを適用する手順
- GIMPを起動し、元画像 を開く
- メニューから レイヤー → マスク → レイヤーマスクの追加 を選択
- 「白(完全不透明)」を選ぶ
- 出力したマスク画像 を開き、コピーする
- 元画像のレイヤーマスクに 貼り付け
- アンカーで確定すると、背景が透過される
rembg単体で透過PNGを出すと境界が荒れたり、画質が落ちるケースがあるため、マスクをGIMPで適用 すると、細かい部分まで高画質で抜けることが可能になりました。
まとめ
- rembg はローカルで無料で使える強力な背景除去ツール
i/p/s
サブコマンドで単発・一括・サーバーモードを選べる- モデルやマット処理オプションを組み合わせて調整可能
- マスク画像を活用すると画質劣化なしで背景除去ができる
コメント