2
0
mirror of https://github.com/Shawn-Shan/fawkes.git synced 2024-09-20 07:26:37 +05:30
fawkes/README.md

71 lines
2.8 KiB
Markdown
Raw Normal View History

Fawkes
------
2020-06-29 06:52:27 +05:30
2020-07-15 20:17:17 +05:30
Fawkes is a privacy protection system developed by researchers at [SANDLab](http://sandlab.cs.uchicago.edu/), University of Chicago. For more information about the project, please refer to our project [webpage](http://sandlab.cs.uchicago.edu/fawkes/). Contact as at fawkes-team@googlegroups.com.
2020-06-29 06:52:27 +05:30
2020-07-23 23:25:17 +05:30
We published an academic paper to summarize our work "[Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models](https://www.shawnshan.com/files/publication/fawkes.pdf)" at *USENIX Security 2020*.
2020-06-29 06:52:27 +05:30
2020-07-24 06:11:56 +05:30
If you would like to use Fawkes to protect your identity, please check out our binary implementation on the [website](http://sandlab.cs.uchicago.edu/fawkes/#code).
2020-07-15 06:04:51 +05:30
Copyright
---------
2020-07-15 20:16:43 +05:30
This code is intended only for personal privacy protection or academic research.
2020-07-15 06:04:51 +05:30
We are currently exploring the filing of a provisional patent on the Fawkes algorithm.
Usage
-----
`$ fawkes`
Options:
* `-m`, `--mode` : the tradeoff between privacy and perturbation size
* `-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
* `--format` : format of the output image.
when --mode is `custom`:
* `--th` : perturbation threshold
* `--max-step` : number of optimization steps to run
* `--lr` : learning rate for the optimization
* `--feature-extractor` : name of the feature extractor to use
* `--separate_target` : whether select separate targets for each faces in the diectory.
2020-06-29 06:52:27 +05:30
### Example
2020-06-29 06:52:27 +05:30
`fawkes -d ./imgs --mode mid`
### 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 and `batch-size>1` on GPUs.
- Turn on separate target if the images in the directory belong to different person, otherwise, turn it off.
2020-07-15 19:46:12 +05:30
- Run on GPU. The current fawkes package and binary does not support GPU. To use GPU, you need to clone this, install the required packages in `setup.py`, and replace tensorflow with tensorflow-gpu. Then you can run fawkes by `python3 fawkes/protection.py [args]`.
2020-07-14 05:36:33 +05:30
### How do I know my images are secure?
2020-07-24 21:43:53 +05:30
We are actively working on this. Python script that can test the protection effectiveness will be ready shortly.
Quick Installation
------------------
Install from [PyPI][pypi_fawkes]:
```
pip install fawkes
```
If you don't have root privilege, please try to install on user namespace: `pip install --user fawkes`.
2020-07-14 05:36:05 +05:30
2020-06-29 06:52:27 +05:30
### 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}
}
```