ボタンを押すと、1秒後には写真の背景が消え、きれいな透明の市松模様に置き換わります。魔法のように感じますが、魔法はありませんし、IMG.DIYではサーバーが作業しているわけでもありません。クリックと切り抜きの間で実際に何が起きているのかを見ていきましょう。
本当の仕事:どのピクセルが「被写体」かを決めること

背景を除去するのは、実はラベル付けの問題です。画像の一つひとつのピクセルについて、ソフトは1つの問いに答えなければなりません。これは被写体の一部か、それとも背景の一部か。すべてのピクセルにこれを行えば、マスクができます。マスクとは、白が「残す」、黒が「消す」を意味する白黒の地図です。マスクを元画像に重ね、黒い部分を捨てれば、切り抜きの完成です。
このタスクにはコンピュータービジョンでの名前があります。画像セグメンテーションです。とりわけ背景除去は顕著性オブジェクトセグメンテーションを使い、モデルは人間なら「この写真の主役」と言うものを1つ見つけ出し、それ以外のすべてから分離しようとします。
モデルはどうやって被写体を見分けるようになったのか

モデルは「人の形をしたものを掴め」といった手書きのルールに従っているのではありません。これはニューラルネットワークで、人間があらかじめ完璧なマスクを手で描いた数万枚の画像で訓練されました。訓練の間、ネットワークは推測をし、人間の答えと比べられ、間違いが少しでも減るよう自分をわずかに調整します。これを何百万回も繰り返すうちに、ネットワークは前景の物体を周囲から分ける視覚的パターン、つまり輪郭、質感の変化、ピント、コントラスト、被写体がたいてい中央付近に位置する傾向を学びます。
IMG.DIYの背景リムーバーは、まさにこの用途で知られるU²-Net系のモデルを使います。2つのバージョンが使えます。
- u2netp — 小さく速い4MBのモデル。はっきりした被写体や手早い作業に最適です。
- silueta — より大きな43MBのモデルで、より滑らかな輪郭を生み、細かい切り抜きに向いています。
どちらも画像を取り込み、学習済みフィルターの多くの層に通し、あの「残すか消すか」のマスクを出力します。
なぜサーバーではなくブラウザで動くのか
たいていの背景リムーバーは写真をデータセンターにアップロードし、自社のハードウェアでモデルを実行し、結果を送り返します。それでも動きますが、あなたの画像がたとえ一瞬でも他人のコンピューター上に置かれることを意味します。
IMG.DIYはやり方が違います。同じ種類のニューラルネットワークが、2つのウェブ技術を使ってブラウザ内で動きます。
- WebAssembly (WASM) は、コンパイル済みでほぼネイティブ速度のコードをブラウザに実行させます。モデルの計算にはこれが必要です。
- ONNX Runtime は、その環境で訓練済みモデルを実際に実行するエンジンです。
モデルファイルは一度ダウンロードされ、あとの計算はすべてお使いのCPU(またはGPU)で行われます。写真はディスクから読み込まれ、数値の格子に変換され、ネットワークに通され、切り抜きとして組み直されます。すべて1バイトも端末から出ることなく行われます。
ブラウザ内処理があなたにとって意味すること
この設計から、実用的な結果が3つ導かれます。
プライバシーは約束ではなく構造上のもの。 「あなたの画像は保存しません」と言うサイトは山ほどあります。ここでは画像がどこにも送られないので、保存するものがそもそもありません。証明写真、書類、製品の試作、あるいは見知らぬサーバーに渡したくないものにとって、これが一番大事です。
オフラインで動く。 IMG.DIYはサービスワーカーを備えたPWAなので、ツールは接続なしでも動き続けます。背景除去には1つだけ注釈があります。モデルは初回にダウンロードが必要です(上記の4MBか43MBのファイル)。そのあとは飛行機でも電車でも、電波の悪いホテルの回線でも背景を切り抜けます。
待ち行列もアップロード待ちもない。 共有サーバーを他のユーザーと取り合うこともなく、大きな写真のアップロードを待つこともありません。処理速度はお使いの端末次第なので、現代的なノートPCならほとんどの画像を数秒で処理します。
モデルがまだ苦手なところ
仕組みを理解すれば、どこで破綻するかも分かります。ほつれ毛や毛皮のような細く繊細なディテールは本当に難しく、一本の毛はモデルの確信より細いので、縁沿いで「背景」と推測してしまうことがあります。コントラストの低い場面(灰色のソファに灰色の猫)は、ネットワークに分けるための手がかりをほとんど与えません。そして被写体と色や質感が似たごちゃごちゃした背景は、ラベル付けを混乱させます。
はっきりした背景の上のきれいな被写体なら、結果は上々です。難しいケースでは、縁を手早く手直しすれば仕上がります。いずれにせよ、全工程はお使いの端末で、ブラウザのタブ内で、数秒で行われ、優れた背景リムーバーが重い作業をこなします。
