背景除去Background Removal

写真から背景を消して対象だけ残す仕事

  • 入門
  • 6分で読める
  • 図 3点

ポイント

  • 背景除去は写真のマスごとにどれだけ手前かを判定し、奥に近いマスを空にする仕事です。
  • 判定結果は絵と同じ大きさのマスク一枚です。このマスクを元の絵に重ねて残す場所と消す場所を分けます。
  • 難しいのは広い面ではなく境界です。細くまばらな部分で背景の切れ端が付いてきたり、まるごと切り取られたりします。
  • 良い結果は残すか消すかを半々に分ける代わりに境界を半分透けるように処理します。
  • 背景を消すこと自体が目的であることは少ないです。たいてい新しい背景を敷いたり別の絵に重ねたりする前段階です。

たとえで理解する

雑誌で気に入った写真を切り抜いてノートに貼るとき、最初にすることは切ることではなく線を決めることです。どこまでが残す部分でどこからが捨てる部分か目でたどって境目を決めておき、はさみはその線をたどるだけです。

このとき腕前が出るのは広くて平らな部分ではありません。ぎざぎざした端、糸のように細く飛び出た部分で差が出ます。急いで切ると周りに白い紙が残って貼ったあと縁取りのように見え、切りすぎると残すべき部分まで切れてしまいます。

背景除去がすることはこの切り抜きです。ただしはさみの代わりにマスごとの判定で線を決め、残した切れ端を別の絵の上に貼ります。

くわしく

マスごとに手前か奥かを判定します

写真は細かいマスの集まりです。背景除去はこのマス一つ一つに「残すもの」と「消すもの」を付けます。広い面はどちらかに分かれ、境界のマスは後で見るように「どれだけ残すか」を中間の値で受け取ることもあります。結果として出てくるのは元と同じ大きさの板一枚で、絵の代わりに判定だけが入っているのでマスクと呼ばれます。

判定の根拠は色だけではありません。緑の布の前で撮った映像は色だけを見ても背景を消せますが、どこで撮ったか分からない写真ではそうはいきません。モデルは学習の過程で見た数多くの例をもとに、「どこまでが一つの塊なのか」を形と文脈から見当を付けます。

マスクができれば、そのあとは簡単です。元の絵とマスクを重ねて残すマスだけ通せば切り抜いた断片になり、逆に消すマスだけ通せば背景だけが残ります。同じマスクを裏返して使えば背景ぼかしや背景差し替えになる理由です。

差が出るのはたいてい境界です

対象を正しく選べていれば、広い面はたいてい合います。問題は境界線です。一マスの中に手前と奥の色がいっしょに混じり込んでいる場所があり、このマスを残すか消すか片方だけに決めると不自然になります。

消す側に決めると対象が少しずつ削れます。残す側に決めると元の背景色が周りに薄く残り、別の背景に乗せたとき縁取りのように見えます。明るい背景から切り抜いた断片を暗い背景に貼ったとき特に目立つあの薄い帯がこれです。

細くまばらな部分はさらに難しいです。毛や網、木の枝のように一マスの中で手前と奥が何度も入れ替わる場所は、どちらに決めても不自然なので、写真の大きさを上げて計算し直したり、境界だけ別に精密に整える段階を付け加えたりします。

半分透けるように残す方法

この問題を解く方式が、残す度合いを中間の値にすることです。完全に残すか完全に消すかの代わりに、マスごとに「どれだけ残すか」を0から1の間の値で付けます。境界のマスは0.4や0.7のような中途半端な値を受け取ります。

この値があると重ねたとき自然になります。値が0.6のマスは手前の色と新しい背景の色を6対4で混ぜて塗ります。ガラスコップや薄い布のようにもともと透けているものもこの方式で扱えます。

質の良い道具が結果を透明背景で出す理由がここにあります。この中間の値をいっしょに持てる形式で保存して初めて、別の背景に乗せたときに境界が生きます。境界のマスの色には元の背景色も少し混じっているので、質の良い道具はその色まで取り除いて、対象本来の色を別に見積もっておきます。中間の値を捨てて保存すると、その瞬間に薄い縁取りが固定されてしまいます。

消すこと自体が目的ではありません

背景を消した絵をそのまま使うことは多くありません。たいていそのあとがあります。商品写真を白い背景に乗せたり、ビデオ会議で部屋を隠したり、人物だけ切り抜いて別の場面に乗せたりする具合です。

生成系の道具とつながると使い道がさらに広がります。対象だけ残したあと空いた場所に新しい背景を作って埋める流れがよく見られます。手前のものを消してその場所を周りに合わせて埋める仕事はインペインティングが受け持ち、新しい背景をまるごと描き込む仕事は画像生成が受け持ちます。背景除去はその前で「どこに手を付けてどこはそのままにするか」を決める役割です。

映像ではもう一つ条件が付きます。場面ごとに別々に計算すると境界が瞬間ごとに微妙にずれて輪郭がぶれます。そこで前の場面で見たものを覚えて引き継いだり、前後の場面のマスクをいっしょに見て整えたりします。後の場面まで待って見る方式は反応が少し遅れ、過去の場面だけを引き継ぐ方式はリアルタイムでも動きます。

もう少し正確に

背景除去はセグメンテーションの一分野です。複数の対象をそれぞれ分ける代わりに手前と奥の二種類だけに分けます。ビデオ会議向けに軽く作ったモデルはブラウザでもリアルタイムで動きますが、髪の毛一本まで生かす精密なモデルはずっと重くなります。境界を中間の値で扱うほうは別にマッティングと呼び、手前と奥をきっぱり分ける作業と区別することもあります。

何を手前と見るかは道具があらかじめ決めています。人だけを手前と見るよう作った道具に物の写真を入れると全部背景と判定されます。うまくいかないときは性能の問題ではなく、その道具が想定した対象ではない場合が多いです。

たとえがずれる点もあります。はさみを入れたら一度切ると元に戻せませんが、背景除去は元の絵に手を付けず、マスクだけ別に作ります。だから基準を変えて何度でも作り直せます。また紙は切った場所がきっぱり分かれますが、写真のマスは手前と奥の色が混じっていて、そもそもきっぱり分かれる線がありません。切り抜きが腕前の問題なら、背景除去は最初から答えがぼやけた問題を扱っているわけです。

やってみる

よくある誤解

  • 背景除去が対象を見分けた結果だと思われがちですが、実際にはマスごとに手前と奥を分ける判定にすぎず、それが何かまでは分からないことが多いです。

  • 結果が不自然なのは画質のせいだと見なされがちですが、実際には一マスの中に手前と奥の色が混じった境界の問題なので、画質を上げても完全には消えません。

  • 透明背景で保存すればいつもきれいだと信じられがちですが、実際には中間の値を捨てる形式で保存すると、その瞬間に薄い縁取りがそのまま固まってしまいます。

ひとこと要約

つまり

背景除去はマスごとに手前と奥を分けてマスク一枚を作る仕事で、結果の質は広い面ではなく境界で決まります。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新 2026-10-17