DWT/DCT ウォーターマークリムーバー — Stable Diffusion の不可視ウォーターマークを検出・妨害
Stable Diffusion が使用する CompVis invisible-watermark ライブラリの署名(dwtDct)を検出し、妨害します。ファイルはデバイス上に留まります。
Drop a PNG or JPEG image
DWT/DCT invisible watermarks are detected and disrupted in your browser. Nothing is uploaded.
想定される用途
- 個人のプライバシー保護を目的としています。自分が所有するファイルから metadata や watermark を削除してからオンライン共有する場合にご利用ください。不正行為、platform の ToS 回避、コンテンツの出典を偽ることには使用しないでください。
- 完全な dwtDct 検出には invisible-watermark WASM ライブラリが必要です。現在の検出は Phase 1 の placeholder です。
- 妨害処理は汎用的であり、ウォーターマーク信号を完全には除去できない可能性があります。出力を「best-effort sanitized」ものとして扱ってください。
Stable Diffusion とその多くの派生モデルは、生成するすべての画像に不可視のウォーターマークを埋め込みます。これは目に見える logo や metadata chunk ではなく、Discrete Wavelet Transform(DWT)と Discrete Cosine Transform(DCT)を使用して pixel data の frequency-domain coefficients に符号化された 48-bit のメッセージです。実装は CompVis の invisible-watermark ライブラリによるもので、Automatic1111、ComfyUI、Stability AI の公式 release を含むほとんどの SD pipeline にデフォルトで同梱されています。
SD image pipeline が PNG または JPEG を書き込む際、dwtDct encoder は、固定 signature または設定可能なメッセージを含む 48-bit の payload を wavelet coefficient の perturbation に変換します。これらの perturbation は肉眼では認識できませんが、対応する decoder で検出できます。open-source の invisible-watermark Python package や Hugging Face の watermark detection demo のような detector は、同じライブラリを使用して画像が Stable Diffusion 由来かどうかを確認します。
このツールはそのようなウォーターマークを対象とします。Phase 2 では、WASM にコンパイルされた dwtDct decoder が probability score を読み取り、画像から 48-bit のメッセージをデコードします。Phase 1 では、汎用の humanization pipeline(micro-blur、fractional rescale、brightness perturbation)が best-effort の妨害処理を提供します。ファイル upload なしで、完全にブラウザ内で、画像の Stable Diffusion origin signature を含むかどうかを制御できるようにすることが目的です。
使い方
PNG または JPEG 画像をドロップする
任意の PNG または JPEG をドロップゾーンにドラッグします。ファイルはブラウザ内で読み取られ、デバイスを離れることはありません。検出器は CompVis invisible-watermark ライブラリによって埋め込まれた DWT/DCT ウォーターマーク署名を探します。
検出結果を確認する
ツールは検出確率、デコードされたウォーターマーク文字列、証拠リストを報告します。完全な dwtDct 検出には invisible-watermark WASM ライブラリ(Phase 2)が必要です。現在の段階では、汎用の humanization pipeline を best-effort の妨害処理として適用します。
クリーン化した画像をダウンロードする
妨害処理では、micro-blur、resample、brightness perturbation を適用し、frequency domain のウォーターマーク信号を劣化させます。ファイル名には `-dwt-dct-clean` の接尾辞が追加されます。
よくある質問
dwtDct ウォーターマークとは何ですか?
dwtDct(Discrete Wavelet Transform / Discrete Cosine Transform)は、CompVis invisible-watermark ライブラリが使用するウォーターマーク方式です。このライブラリは Stable Diffusion および多くの downstream tool に同梱されています。生成画像の frequency-domain coefficients に 48-bit のメッセージを埋め込みます。dwtDctSvd や RivaGAN などの variant があります。
どのモデルがこのウォーターマークを使用していますか?
Stable Diffusion XL と多くの community fine-tune は、CompVis ライブラリによって dwtDct ウォーターマークをデフォルトで埋め込みます。SD pipeline を基盤とするモデル — NovelAI、Automatic1111、ComfyUI の workflow の一部を含む — にも含まれる可能性がありますが、ウォーターマークは設定可能で無効にできます。
デコードされたウォーターマーク文字列を読み取れますか?
Phase 2(WASM 対応)では、ツールが 48-bit のメッセージをデコードして元の watermark payload を表示します。現在の Phase 1 placeholder は検出メタデータのみを報告し、汎用の妨害処理を適用します。
画像はアップロードされますか?
いいえ。検出と妨害はどちらもブラウザ内で実行されます。画像バイトは JavaScript で読み取られ、解析され、書き直されます。ネットワーク呼び出しは行われず、サーバーが内容を参照することも、セッション間で保存されることもありません。
制限事項
- Phase 1 の WASM 依存完全な dwtDct の検出とデコードには、CompVis repository からコンパイルした invisible-watermark WASM ライブラリが必要です。これは Phase 2 で予定されています。現在、ツールは妨害の fallback として汎用の humanization pipeline を適用します。
- PNG と JPEG のみツールは PNG と JPEG 入力を処理します。WebP、AVIF、その他の形式はまだサポートされていません。
- 汎用の妨害のみWASM ベースの検出がない場合、妨害処理は特定の DWT/DCT frequency band を対象にはできません。humanization pipeline は汎用の blur + resample + perturbation 処理であり、ウォーターマーク信号を弱める可能性がありますが、dwtDct 向けに最適化されていません。
プラットフォーム別の注意点
- macOS
- dwtDct ウォーターマークを検出または削除できる native macOS tool はありません。Preview.app は不可視ウォーターマークの indicator を表示しません。Python environment を設定している場合は、CLI 経由で invisible-watermark Python ライブラリを使用できます。
- Windows
- Windows には不可視ウォーターマークを認識する built-in 機能はありません。CompVis ライブラリにアクセスせずに dwtDct ウォーターマークを検出できると主張するツールは、heuristic のみです。
- Linux
- CLI alternative:`invisible-watermark` Python package を使用して dwtDct ウォーターマークを検出・デコードできます。scripted disruption には、このツールの humanization pipeline が pure-function module として公開されています — open-source release の `src/lib/ai-cleanup/image-effects.ts` を参照してください。
- Web
- 完全に client-side で実行されます。ファイルは Uint8Array に読み込まれ、heuristic detection が実行され、humanization pipeline がダウンロード用の Blob URL を生成します。upload、server roundtrip、telemetry は一切ありません。