MadryLab/photoguard
MadryLab/photoguard has 854 GitHub stars and 83 forks. GitHot measured +3 stars in 24 hours. Last checked 2026-11-09 05:33 UTC. Last push 2023-02-27.
Raising the Cost of Malicious AI-Powered Image Editing
Measured star growth
- in 24h
- +3
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalRaising the Cost of Malicious AI-Powered Image Editing
This repository contains the code for our recent work on safe-guarding images against manipulation by ML-powerd photo-editing models such as stable diffusion.
Raising the Cost of Malicious AI-Powered Image Editing
Hadi Salman*, Alaa Khaddaj*, Guillaume Leclerc*, Andrew Ilyas, Aleksander Madry
Paper: https://arxiv.org/abs/2302.06588
Blog post: https://gradientscience.org/photoguard
Interactive demo: https://huggingface.co/spaces/hadisalman/photoguard (check below for how to run it locally)
@article{salman2023raising,
title={Raising the Cost of Malicious AI-Powered Image Editing},
author={Salman, Hadi and Khaddaj, Alaa and Leclerc, Guillaume and Ilyas, Andrew and Madry, Aleksander},
journal={arXiv preprint arXiv:2302.06588},
year={2023}
}
Getting started
Our code relies on the stable diffusion code on Hugging Face.
Clone our repo:
git clone https://github.com/madrylab/photoguard.gitInstall dependencies:
conda create -n photoguard python=3.10 conda activate photoguard pip install -r requirements.txt huggingface-cli loginYou should now be all set! Check out our notebooks!
[New] Interactive demo
We created an interactive demo using gradio, and we are hosting it on this HuggingFace space.
However, for faster inference, you can run the demo locally on your machine! Simply do this:
conda activate photoguard
cd demo
python app.py
Generating high-quality fake images
The first step is we will walk you through how you can generate high quality fake images. Check out this notebook! The result will be such images:
See this notebook!
Simple photo-guarding (Encoder Attack):
Now, we describe the simplest form of photo safeguarding that we implement. In particular, we implement a simple PGD attack on the image embedding part of the stable diffusion model. We have two demos demonstrating the efficacy of such photo safeguarding method. The goal of both is to cause the stable diffusion model to generate something that is either unrealistic, or unrelated to the original image.
Photo-guarding against Image-to-Image pipelines
The first is the case where someone uses an image + prompt to modify the input image based on the prompt description.
See this notebook!
Photo-guarding against Inpainting pipelines
The second is the more interesting scenario where someone wants to edit parts of an existing image via inpainting. The generated images after immunization are clearly fake!
See this notebook!
Complex photo-guarding (Diffusion attack)
For more effective photo-guarding especially against image inpainting, we need to attack the stable diffusion model end-to-end. Now, the generated images after immunization are even more clearly fake than above!
See this notebook!
That's it! Please let us know if you have any questions. And check our paper for details about each of these attacks.
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,427 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,711 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,274 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,024 stars