AIで背景透過!ローカル環境で使える rembg

はじめに

素材作りで「背景透過したい!」と思ったことはありませんか?
オンラインサービス(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でマスクを適用する手順

  1. GIMPを起動し、元画像 を開く
  2. メニューから レイヤー → マスク → レイヤーマスクの追加 を選択
    • 「白(完全不透明)」を選ぶ
  3. 出力したマスク画像 を開き、コピーする
  4. 元画像のレイヤーマスクに 貼り付け
  5. アンカーで確定すると、背景が透過される

rembg単体で透過PNGを出すと境界が荒れたり、画質が落ちるケースがあるため、マスクをGIMPで適用 すると、細かい部分まで高画質で抜けることが可能になりました。


まとめ

  • rembg はローカルで無料で使える強力な背景除去ツール
  • i/p/s サブコマンドで単発・一括・サーバーモードを選べる
  • モデルやマット処理オプションを組み合わせて調整可能
  • マスク画像を活用すると画質劣化なしで背景除去ができる

コメント

タイトルとURLをコピーしました