ローカル背景除去の仕組み
これはバスルームの図版です。紙ではなくパイプラインを信頼するのに十分です。
1. 入力はピクセルになります
ファイルまたはビットマップ (ドロップ、ピッカー、貼り付け、またはページ キャプチャ) を提供します。エディターはそれを画像ビットマップにデコードします。 HEIC のような形式では、追加のデコード手順が必要です。失敗すると、空白のキャンバスではなくエラーが発生して早期に停止します。
2. モデルの準備
推論では、Web ワーカーとブラウザー ONNX ランタイムで実行されるオンデバイス セグメンテーション モデル (ISNet クラス ONNX) を使用します。重みがまだキャッシュされていない場合は、ダウンロード スプラッシュが表示されます。キャッシュにより、毎回そのヒットを繰り返すことがなくなります。
3. セグメンテーション → マスク
ワーカーはアルファ マスク (主題と背景とは何か) を返します。 UI は、チェッカーボードまたは選択した背景 (色、グラデーション、画像) の上に被写体を合成します。
4.人間性を磨く
追加/消去ブラシは、CPU キャンバス上の作業マスクを編集します。柔らかさによって、ストロークの着地の強さが変わります。エクスポートでは、忘れられた自動専用スナップショットではなく、表示されているマスクが使用されます。
5. 歴史と輸出
IndexedDB の短い履歴には、最近の元と結果のペアを保存できます。ダウンロードしてコピーすると、現在の透明度または塗りつぶしで PNG が生成されます。
パフォーマンス上の注意点に気づくでしょう
- 初回実行: ネットワーク + モデルの初期コスト。
- 巨大な画像: 内部解像度を下げて処理する場合があり、警告が表示されます。エクスポートは依然としてフルサイズをターゲットとしています。
- ワーカー内で重い推論が行われるため、UI スレッドは使用可能なままになります。ワーカーがクラッシュすると、タブが永久にフリーズするのではなく、ワーカー エラーが発生します。