商品写真やアイコンの背景を抜きたいだけなのに、オンラインの背景除去サービスは枚数制限や画質劣化、何より「画像をどこかへアップロードする」のが気になる。全部ローカルで、しかも綺麗に抜けるツールを自分で持ちたかった。作ったアプリを、このページを入口に全7回で1から組み立てていく。
このガイドで作るもの
PyQt6 + OpenCV + ONNX による、完全オフラインの背景除去 GUI「Background Removal Studio Pro」。AI自動(BiRefNet)・白/単色背景・クロマキー・マジックワンド・指定カラー透過の5モードを持ち、ドラッグ&ドロップで一括処理できる。ネットに何も送らず、手元で透過PNGを量産する。
このアプリを1から作る連載(全7回)
このページは連載の入口だ。上のアプリを、実際のコードで・順を追って・自分で再現できる形で1から作っていく。各回は下の日程で順に公開する。
- ① 土台と全体設計 … PyQt6と3枚の純関数レイヤで壊れない骨格を作る(7/24 公開予定)
- ② 古典CVエンジン … FloodFill・クロマキー・Color-to-Alpha をAIなしで書く(7/27 公開予定)
- ③ 2つの難所 … 囲まれた背景ポケットとアイコンの穴を実測で解く(7/30 公開予定)
- ④ AIをローカルで動かす … BiRefNetをONNXで推論しDirectMLで速くする(8/2 公開予定)
- ⑤ 仕上げ … 5スライダー後処理・消去/復元ブラシ・20段Undo(8/5 公開予定)
- ⑥ UI/UX … ズーム・スポイト・非同期推論・ドラッグ&ドロップ一括処理(8/8 公開予定)
- ⑦ 完結 … 目視を数値化して品質を担保し、配布する(8/11 公開予定)
下の「使い分け」までがこのページの中身で、各モードの中身と実装は各回で開いていく。まず完成品の使い方だけ知りたい人は、このページだけで足りる。
設計の起点:1つの抜き方では全部は抜けない
背景除去に「万能の一手」はない。複雑な被写体は AI(BiRefNet)が強いが、白背景の商品写真は四隅からの FloodFill の方が速くて正確、グリーンバックはクロマキーが最適だ。だから抜き方をモードで切り替えられる設計にした。被写体に合わせて手段を選べることが、仕上がりを決める。

例えば、どのモードをいつ使うか
5モードの使い分けを、よくある被写体で具体化しておく。
- 白背景の商品写真(メルカリ・EC向け) … 白/単色背景モード。四隅からの FloodFill が最速で、輪郭も安定する。AIモードより速くて正確なことが多い。
- 人物・ペット・複雑な形の被写体 … AI自動(BiRefNet)。髪の毛や毛並みのような境界は、古典手法では追い切れない。
- グリーンバックの動画素材・配信画像 … クロマキー。背景色が決まっているなら、これが一番きれいに抜ける。
- ロゴ・アイコン・イラスト … マジックワンドか指定カラー透過。ベタ塗りの背景は、色を指定して抜く方が輪郭がシャープに残る。
迷ったらAI自動で試し、境界が汚れたら被写体に合うモードへ切り替える。この「まず試す→ダメなら持ち替える」の順番が、結局一番速い。

各モードの中身は、連載で1つずつ開く
ここからは実装の話になる。要点だけ先に置いて、コードと判断の中身は各回で詳しく開いていく。
- 白/単色背景(FloodFill+カラーゲート) … 四隅をシードに背景を塗りつぶし、被写体色に近い領域はカラーゲートで守る。→ 第2回で実装。
- クロマキー・マジックワンド・指定カラー透過 … HSVの色相で緑を飛ばす、クリックで背景色を指定する、色距離でソフトに抜く。→ 第2回で実装。
- 囲まれた背景とアイコンの穴 … 弓の内側は消したいが、エンブレム内部の黒は残したい。相反する2ケースを2つのオプションで持つ。→ 第3回で実測して解く。
- AI自動(BiRefNet/ONNX) … PyTorchを同梱せずONNXで軽く動かし、DirectMLでGPU、無ければCPUに自動フォールバック。実測 MAE 0.0271 / IoU 0.906。→ 第4回。
- 後処理・ブラシ・Undo … 自動で9割抜けた後の残り1割を、5つのスライダーと消去/復元ブラシで詰める。→ 第5回。
- 一括処理とUI/UX … 十数秒のAI推論でUIを固まらせない非同期化、ドラッグ&ドロップの一括保存。→ 第6回。
- プリセットは勘で決めない … パラメータを掃引して MAE/IoU で実測し、根拠を持って固定する。→ 第7回。


正直なまとめ
綺麗に抜く鍵は単一の最強アルゴリズムではなく、「被写体でモードを切り替え、囲まれた背景の扱いを2択で持ち、最後は人の手で詰める」という設計判断にある。完全オフラインなので画像を外に出さずに済む。GPU が無くても CPU フォールバックで動く。この判断を1つずつコードに落としていく過程が、この連載だ。第1回から順に読めば、同じものが手元で組み上がる。
この制作で使ったもの PR
🖥 サーバ/ドメイン
🤖 使ったAIツール(公式)
📚 技術書(Amazon)
👉 連載は7/24から順次公開。関連: 開発実例ギャラリー ・ ほかのアプリの作り方



