Gemini画像のウォーターマークを高速に除去するまでの試行錯誤(Nano Banana対応)
Geminiで画像を生成すると、右下にウォーターマークが付きます。
品質は高いのに、このロゴのせいでそのまま使えないケースも多く、個人的にかなりストレスでした。
そこで「ローカルで高速に消せないか?」をテーマにいくつか試してみました。

🎯 やりたいこと
- ユーザー操作を増やさない
- ローカル処理(プライバシー)
- できればリアルタイム
🧪 フェーズ1:単純な画像処理(OpenCV的アプローチ)
最初はシンプルに:
- 固定位置でウォーターマーク検出
- 周囲の色で塗りつぶし(inpainting)
👍 良かった点
- 高速
- 実装が簡単
👎 問題点
- 背景が単色ならOK
- 写真やグラデーションで破綻
👉 実用性は低め
🤖 フェーズ2:AI Inpainting(LaMaなど)
次に試したのがAIモデル。
- セマンティック補完
- 複雑な背景でも自然
👍
- 精度はほぼ完璧
👎
- 重い(数百MB)
- 遅い(CPUで数十秒)
👉 拡張機能には不向き
⚡ フェーズ3:軽量アルゴリズム
最終的にたどり着いたのは:
- ウォーターマークの形状に特化
- エッジベース補完
- 周辺ピクセルから再構成
特徴
- モデル不要
- 数ミリ秒で処理
- ブラウザでも動く
👉 精度と速度のバランスが取れた
🧩 実装メモ
ざっくりやっていること:
- ロゴの幾何パターン検出
- アルファ領域の分離
- エッジ保持しながら補完
(ここは改善余地あり)
🧠 学び
今回一番大きかったのは:
「精度100%より、実用速度の方が価値がある」
🌐 ついでにツール化した
このアルゴリズムを使って:
- Chrome拡張
- Web版ツール
も作りました(ローカル処理のみ)
👉 https://editghost.xyz/use-cases/gemini-watermark-remover
🙏 フィードバックほしいです
- このアプローチもっと良くできそう?
- 他に良い補完手法ある?
技術的な議論歓迎です 🙌