cv.cm

AI · AI画像

AIの背景除去(背景切り抜き)はどんな仕組み?

約10分で読めます

結論

AIの背景除去ツールは、セグメンテーションのネットワークで全ピクセルに0(背景)から1(被写体)のスコアを付けます。このスコアマップが画像のアルファチャンネルになり、被写体は不透明、それ以外は透明、髪の毛のような柔らかい輪郭は半透明になります。結果はアルファを持つ形式、ふつうはPNGで保存しないと、背景が元に戻ってしまいます。

背景削除を開く

結論:マスクがアルファチャンネルになる

写真には赤・緑・青の3つの色チャンネルがあります。切り抜き画像にはもう1つ、各ピクセルの不透明度を表す「アルファ」というチャンネルが必要です。背景除去とは、このアルファチャンネルを自動で埋める作業のことです。

モデルが新しい背景を描いたり、ピクセルを動かしたりすることはありません。全ピクセルについて「このピクセルはどのくらい被写体に属するか」という1つの問いに答えるだけです。写真の色の値はそのまま残ります。結果を市松模様や新しい背景の上で開くと、アルファの値によって何が透けて見えるかが決まります。

  1. 写真をモデルの作業サイズにリサイズします。多くのモデルは固定の正方形で動作し、たとえば BiRefNet は1024 × 1024で学習・評価されています。
  2. ネットワークがピクセルごとに1つの数値を出力します。最後にシグモイド関数で0〜1の範囲に収めます。
  3. スコアマップを元の写真のサイズまで拡大します。
  4. スコアがアルファチャンネル(8ビット画像では0〜255)になり、アルファつきでファイルを書き出します。

手順3では、小さいサイズで計算したマスクを拡大します。そのため、非常に大きな写真の細かい輪郭は、どうしても推定になります。6000ピクセルの商品写真が、中央はくっきりしているのに輪郭だけ少し甘く見えることがあるのは、これが理由の1つです。

セグメンテーションとマッティングの違い

背景除去には2つの研究分野が関わっています。この違いを知ると、輪郭の問題のほとんどが説明できます。

セグメンテーションマッティング
答える問いこのピクセルは被写体か背景か?このピクセルのうち被写体の割合はどれくらいか?
典型的な出力ほぼ0か1のマスク0〜1の連続的なアルファマット
追加の入力通常は不要従来の手法ではトライマップ(確実な被写体、確実な背景、不明領域の帯)が必要
得意なもの物体全体、商品、はっきりした輪郭髪、毛皮、煙、モーションブラー、ベール
典型的な失敗切り紙のような硬いエッジ処理が遅く、形の良い初期推定が必要

セグメンテーションは物体がどこにあるかを決め、マッティングは輪郭がどう混ざるかを決めます。髪の毛の先端のピクセルは、30%が髪で70%が空かもしれません。その場合、正しいアルファは0でも1でもなく約0.3です。深層学習によるマッティングの代表的な手法である Deep Image Matting は、画像と手描きのトライマップを入力に、不明領域の中の割合を予測します。

ワンクリックの背景除去ツールはトライマップを使いません。IS-Net や BiRefNet などの高精度二値セグメンテーション(dichotomous image segmentation)系のモデルは、非常に細かい輪郭を持つ高解像度画像で学習されているため、ユーザーの入力なしで細い構造にも追従できます。出力はあくまでセグメンテーションのスコアで、物理的に正しいマットではありませんが、スコアが連続値なので、多くの写真ではマッティングに近い柔らかい輪郭になります。

出力をPNG(またはWebP)にする理由

JPEGにはアルファチャンネルがありません。切り抜きをJPEGで保存すると、透明だったピクセルにも何らかの色を付ける必要があり、ツールは白か黒で埋めます。せっかく除去した背景が、単色の背景に置き換わってしまうのです。

形式アルファチャンネル圧縮用途
PNGあり(8または16ビット)可逆さらに編集する切り抜き、印刷、デザインファイル
WebPあり非可逆または可逆Web向けに軽くした切り抜き
JPEGなし非可逆背景を合成済みの最終画像
AVIFあり非可逆または可逆対応環境でのWeb配信

PNGの仕様では、アルファはストレートアルファ(乗算済みではない)で保存されます。半透明ピクセルの色は最大の強さのまま保たれ、アルファは別に保持されます。そのため、PNGは安全なマスターコピーになります。以前の合成による暗い縁取りが出ることなく、後からどんな背景にも置けます。

白背景を求めるマーケットプレイス向けにJPEGが必要なときは、先にツールで白い背景を合成してからJPEGで書き出します。PNGはマスターとして残しておきましょう。

苦手なケース:髪、毛皮、ガラス、影

  • 髪と毛皮。1本1本の毛は、モデルの作業サイズでは1ピクセルより細く、モデルが見る前に一部が失われます。毛束は残り、飛び出した細い毛は消えやすくなります。どんな設定よりも、無地でコントラストのある壁を背に撮るほうが効果があります。
  • 似た色。黒いソファの上の黒い犬や、白い壁の前の白いシャツでは、ネットワークが見つけられる輪郭がほとんどありません。形の知識に頼ることになり、被写体の内側を削ってしまうことがあります。
  • ガラス、水、ベール。ワイングラスは、そのほとんどが透けて見える背景です。セグメンテーションモデルは、グラスを残す(中の古い背景ごと)か、捨てるかを選ばなければなりません。どちらも物理的には正しくありません。本当の透明感には、マットとガラス本来の色が必要ですが、1枚の写真からは得られません。
  • 影と映り込み。商品の接地影は床に属するため、多くのツールが消してしまい、商品が浮いて見えます。ショップの写真では、後から柔らかい影を足したほうがよく見えることが多いです。
  • 穴。腕と胴体の間や、取っ手の内側、自転車の車輪の中は背景です。高解像度の優れたモデルは捉えますが、弱いモデルは埋めてしまいます。
  • 色かぶり(カラースピル)。被写体の輪郭に反射した緑などの色の光は、背景が消えた後もRGB値に残ります。新しい背景に置くと、色のついた縁として現れます。

きれいに切り抜くコツ

品質の大半は、ツールではなく写真で決まります。簡単なチェックリストです。

  1. 被写体と背景の間に、色と明るさの両方ではっきりしたコントラストをつけて撮影します。
  2. 被写体にピントを合わせます。輪郭のモーションブラーや浅い被写界深度は、不確かなアルファになります。
  3. フレームいっぱいに写します。被写体が画像の大部分を占めていると、モデルの入力サイズに縮小した後でも、より多くのディテールが残ります。
  4. 結果を暗い背景と明るい背景の両方の上で確認します。白の上では見えないハローが黒の上では見え、その逆もあります。
  5. しつこく残る部分は、PNGのマスターを使って、編集ソフトのソフトな消しゴムやマスクブラシで手作業で直します。
  6. 髪のポートレートで完璧を求めるなら、自動で切り抜いた後に、トライマップ式のマッティングツールやエッジ調整ブラシを使います。

具体的な操作は、写真の背景を削除する手順を解説したチュートリアルを参照してください。たとえば cv.cm の背景除去ツールは、ブラウザ内で BiRefNet を実行するため写真はアップロードされず、透明PNGの書き出しのほか、被写体を白や単色、元画像のぼかしコピーの上に置くこともできます。

限界と、現実的な期待値

自動の背景除去は、いまやほとんどの商品掲載、プロフィール写真、スライド資料には十分な品質です。ただし、広告や映像制作で行う丁寧なマスク作業の代わりにはなりません。モデルは学習データから学んだことしか知らないため、珍しい物体、重なり合う人物、何が被写体か曖昧な状況(3人のうち誰が被写体か)では、意外なマスクになることがあります。

また、モデルは何を残したいのかを知りません。カップだけがほしくて、持っている手は要らない場合でも、学習データでは手とカップが1つの前景として扱われているため、自動の切り抜きはたいてい両方を残します。先にトリミングするか、後から余分な部分を消してください。

最後に、背景を除去しても、ほかの情報は消えません。GPSの位置情報などのExifデータは、元のファイルに残っている可能性があります。切り抜きを公開する場合は、新しいファイルとして書き出し、必要に応じてメタデータを削除しましょう。

よくある質問

切り抜き画像に白やグレーの縁が出るのはなぜですか?

輪郭のピクセルに古い背景の色が残っており、そこのアルファが部分的に不透明だからです。暗い背景の上で確認し、編集ソフトで輪郭を少し縮めるかぼかすか、新しい背景に近い色の背景で撮り直してください。

保存した画像の背景が黒や白になってしまうのはなぜですか?

アルファチャンネルを持たない形式、たいていはJPEGで保存したためです。透明を保つには、PNGかWebPで保存してください。

透明なガラスやボトルの背景もAIで除去できますか?

おおまかにしかできません。1枚の写真ではガラスがどれだけ透明かモデルにはわからないため、古い背景が中に見えたままガラスを残すか、取りすぎてしまいます。カタログ用途では、ガラスは無地の明るい背景で撮影し、手作業で仕上げましょう。

AIの背景除去はグリーンバックと同じですか?

違います。グリーンバック(クロマキー)は既知の1色を取り除く方法で、照明が均一なら確実です。AIの背景除去は既知の色がなく被写体を認識する必要があるため、どんな背景でも使えますが、細かい輪郭では結果が予測しにくくなります。

背景を除去すると画質は落ちますか?

PNGで書き出せば、被写体のピクセルは元の色のままです。変わるのはアルファだけです。画質が落ちるのは、小さいサイズで計算したマスクを拡大する輪郭部分と、非可逆形式で書き出した場合です。

AIチュートリアル一覧