目錄
前言
身為一個懶人,我發佈每張作品前的浮水印都是用程式自動上的,
有一天突發奇想的想說把隱藏浮水印加入 pipeline 應該會很酷,
於是就有了這篇 survey。
打的比較隨意,如果有錯誤也請大家不吝指正。
前置嵌入型
在 SDXL 的 VAE 上動手腳,換個 VAE 就可以無痛有浮水印,
但要用 imatag 自家的 BZH decoder 才能檢測到(要敲 API)
看起來挺厲害,
不過 pricing 部分真的嚇死人,
他幫你監控全網路的話一年 10000 歐元起跳,
不過也有依用量計費的方式,有興趣的人可以試試看!
細節與實作方式可參考 HuggingFace blog
⭐️ VAE 可以在這裡下載:
https://huggingface.co/imatag/stable-signature-bzh-sdxl-vae-medium
後處理型
ShieldMnt/invisible-watermark
應該是最有名的隱藏浮水印工具,可以加自己打的英文字,
我自己試過,但不太 robust…
⭐️ Repo:https://github.com/ShieldMnt/invisible-watermark
Stability-AI/invisible-watermark-gpu
Stability-AI 根據上面的 repo 也做了一個 GPU 的版本。
⭐️ Repo:https://github.com/Stability-AI/invisible-watermark-gpu
facebookresearch/stable_signature
可以自己訓練浮水印模型(LDM decoder),然後再嵌入 binary string。
⭐️ Repo:https://github.com/facebookresearch/stable_signature
參考 demo 會比較清楚:colab
WatermarkDM
Code of the paper: A Recipe for Watermarking Diffusion Models
可以先訓練具有指定 bit 長度的 pretrained watermark encoder/decoder,
再用 embed_watermark_cifar10
把 binary string 嵌入圖片。
⭐️ Repo:https://github.com/yunqing-me/WatermarkDM
jeremyxianx/RAWatermark
圖片 / 影片浮水印,
有提供幾組預設的 encoder/decoder,不過只能支援 512×512。
⭐️ Repo:https://github.com/jeremyxianx/RAWatermark
google-deepmind/synthid-text
文字浮水印有開源,是透過操控 LLM 的 token 機率達成的,很酷。
不過可惜的是,只有用 Vertex AI 的 Imagen 3 and Imagen 2 的人才可以用圖片浮水印,
這裡有圖片的 demo:GitHub ipyng
也可以參考 Google Deepmind 的 blog
⭐️ Repo:https://github.com/google-deepmind/synthid-text
and-mill/Awesome-GenAI-Watermarking
最後筆記一下,正好找到的相關論文 survey,想做這方向的朋友可以參考看看。
⭐️ Repo:https://github.com/and-mill/Awesome-GenAI-Watermarking
結語
最符合我一剛開始想像的應該還是 invisible-watermark~
畢竟其他的雖然看起來厲害,但想到要搞 model 就頭痛 😅
- [推薦工具] 讓程式碼截圖變的美美的吧!VScode CodeSnap 與 3 種同功能線上工具介紹 - 2025-01-05
- [AI 繪圖初級教學] 用 X/Y/Z Plot 比較 Stable Diffusion 的 prompt 與 LoRA 效果 - 2024-12-27
- [AI 繪圖中級篇教學] Stable Diffusion WebUI WD14 Tagger 介紹 - 2024-12-26