SmoothInv
May 25, 2023 ยท View on GitHub
Official PyTorch implementation of our CVPR 2023 paper:
Single Image Backdoor Inversion via Robust Smoothed Classifiers
Mingjie Sun, J. Zico Kolter
Carnegie Mellon University, Bosch Center for AI
For more details, please check out our paper.
We propose SmoothInv, a backdoor inversion method that reconstruct faithful backdoors from a single test image.
Setup
Create an new conda virtual environment
conda create -n smoothinv python=3.8 -y
conda activate smoothinv
Install Pytorch>=1.8.0, torchvision>=0.9.0 following official instructions. For example:
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
Clone this repo and install required packages:
git clone
pip install scikit-image
Backdoored Classifiers
Create a directory weights in the main repo and download backdoored classifiers listed below into this directory.
| model name | backdoor ASR | download path |
|---|---|---|
| Blind-P | 99.29% | model |
| Blind-S | 79.73% | model |
| Blind-G | 100.00% | model |
| TrojAI | 100.00% | model |
| HTBA | 54.00% | model |
Also to use SmoothInv w diffusion, download the ImageNet unconditional diffusion model from guided-diffusion into the weights directory.
Evaluation
For visualization, use:
CUDA_VISIBLE_DEVICES=[GPU IDs] python main_vis.py --sigma [noise level] --backdoor_clf [trojai/htba/blind-p/blind-s/blind-g] --imagenet_dir [path to ImageNet] --eps 10 --no_diffusion
To evaluate the ASR of reversed backdoors, use:
CUDA_VISIBLE_DEVICES=[GPU IDs] python main_eval.py --sigma [noise level] --backdoor_clf [trojai/htba/blind-p/blind-s/blind-g] --imagenet_dir [path to ImageNet] --no_diffusion
Turn off --no_diffusion if you want to use SmoothInv w diffusion.
Acknowledgement
This repository is built using the smoothadv, blind-backdoors library and diffusion-denoised-smoothing repositories.
License
This project is released under the MIT license. Please see the LICENSE file for more information.
Citation
If you find this repository helpful, please consider citing:
@Article{sun2023smoothinv,
author = {Sun, Mingjie and Kolter, Zico},
title = {Single Image Backdoor Inversion via Robust Smoothed Classifiers},
journal = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2023},
}