esukorion / AdverseCleaner

Remove adversarial noise from images

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AdverseCleaner

The shortest ever code (16 lines of Python codes) to remove some adversarial noise from images.

It does not even use deep learning.

And I personally think anisotropic filtering methods are more effective than training noise-removal neural networks because convolution operations are essentially non-anisotropic.

In frequency domain, anisotropic methods are usually more “killing”.

No GPU is needed. Each 1024px image only need less than 3 seconds on my laptop CPU.

Update

2023/03/28 – Seems that using guided filter is not safe enough because the guidance already has adversarial noise in it; the guided filter may bring the adversarial noise back. Perhaps a ‘safer’ idea is to use some other things to process the initial anisotropic filtered image. I will try some random ideas when I have free time but it seems that I do not have so much free time recently.

Run

conda env create -f environment.yaml
conda activate advc
python clean.py

Feel free to take a look at the code to change input images.

Result

The test image is from here.

Input (with adversarial noise):

p

Output (removing adversarial noise, 2.13 seconds on my laptop CPU):

p

Implementations

Thank the community for making more implementations!

HuggingFace Space

Automatic1111's Webui Plugin (with Script)

Automatic1111's Webui Plugin (with Tab)

About

Remove adversarial noise from images

License:Apache License 2.0


Languages

Language:Python 100.0%