An utility to protect user privacy
Project description
Fawkes
:warning: Check out our MacOS/Windows Software on our official webpage.
Fawkes is a privacy protection system developed by researchers at SANDLab, University of Chicago. For more information about the project, please refer to our project webpage. Contact us at fawkes-team@googlegroups.com.
We published an academic paper to summarize our work "Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models" at USENIX Security 2020.
Copyright
This code is intended only for personal privacy protection or academic research.
Usage
$ fawkes
Options:
-m
,--mode
: the tradeoff between privacy and perturbation size. Select fromlow
,mid
,high
. The higher the mode is, the more perturbation will add to the image and provide stronger protection.-d
,--directory
: the directory with images to run protection.-g
,--gpu
: the GPU id when using GPU for optimization.--batch-size
: number of images to run optimization together. Change to >1 only if you have extremely powerful compute power.--format
: format of the output image (png or jpg).
Example
fawkes -d ./imgs --mode low
or python3 protection.py -d ./imgs --mode low
Tips
- The perturbation generation takes ~60 seconds per image on a CPU machine, and it would be much faster on a GPU
machine. Use
batch-size=1
on CPU andbatch-size>1
on GPUs. - Run on GPU. The current Fawkes package and binary does not support GPU. To use GPU, you need to clone this repo, install
the required packages in
setup.py
, and replace tensorflow with tensorflow-gpu. Then you can run Fawkes bypython3 fawkes/protection.py [args]
.
How do I know my images are secure?
We are actively working on this. Python scripts that can test the protection effectiveness will be ready shortly.
Quick Installation
Install from PyPI:
pip install fawkes
If you don't have root privilege, please try to install on user namespace: pip install --user fawkes
.
Academic Research Usage
For academic researchers, whether seeking to improve fawkes or to explore potential vunerability, please refer to the following guide to test Fawkes.
To protect a class in a dataset, first move the label's image to a seperate location and run Fawkes. Please
use --debug
option and set batch-size
to a reasonable number (i.e 16, 32). If the images are already cropped and
aligned, then also use the no-align
option.
Citation
@inproceedings{shan2020fawkes,
title={Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models},
author={Shan, Shawn and Wenger, Emily and Zhang, Jiayun and Li, Huiying and Zheng, Haitao and Zhao, Ben Y},
booktitle={Proc. of {USENIX} Security},
year={2020}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fawkes-1.0.3.tar.gz
.
File metadata
- Download URL: fawkes-1.0.3.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0f3d39980fa9d36814e288a8f1d19ad6139cb472501b5b04faab2bb4e18bbab |
|
MD5 | 94988504e3878837cb99730ef4c7318e |
|
BLAKE2b-256 | 50a39eda7eddbf18cf5527e7c7b570751bca7520344ef4cc11f9e26e9df36161 |
File details
Details for the file fawkes-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: fawkes-1.0.3-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ca0d800f49cd09f88fce87fb112c1cdfabc26577d9600815b4861fc33b3e953 |
|
MD5 | 8f545c0536f688b16d72bb5838479516 |
|
BLAKE2b-256 | 26904e044c3722eccdf0235f76500f9bebe1fe6908282161384ecc3231692cdb |