2
0
mirror of https://github.com/Shawn-Shan/fawkes.git synced 2024-11-09 13:41:31 +05:30
fawkes/README.md

75 lines
3.2 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
We published an academic paper to summary 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
If you would like to use Fawkes to protect your images, 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
- Select the best mode for your need. `Low` protection is effective against most model trained by individual trackers with commodity face recongition model. `mid` is robust against most commercial models, such as Facebook tagging system. `high` is robust against powerful modeled trained using different face recongition API.
- 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?
We offer two ways to test the robustness of our detection and both of which requires certain level of coding experience. More details please checkout in [evaluation](https://github.com/Shawn-Shan/fawkes/tree/master/evaluation) directory.
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}
}
```