Is there Julia library for AI Image Denoising?

I haven’t seen such in Julia, but I would like the 2022 state-of-the-art (SOTA) implemented in Julia (it’s one page of code, page 29 in the paper, for “Algorithm 1”, I didn’t see any number 2…):

The code seemed simple enough, but it does much more than denoicing, also e.g. deraining, which I didn’t know was a thing… All at the same time.

[EDIT: NAFNet, see at the bottom, from 10 April 2022, seemingly also claims SOTA on deblurring, and is very intriguing for technical reasons " Nonlinear Activation", and computational efficiency. Previous EDIT: It seems Restormer from 2021 is still SOTA for denoising, but even with MAXIM 5th, the competition at the top is very close. DND Benchmark (Image Denoising) | Papers With Code I believe the latter may be better at denoising when combined with other tasks, but would still like to see both implemented or wrapped in Julia.]

It’s Python (or well JAX) code, and it could also just be wrapped from Julia (assuming you have all of it), but I thought it might still be a fun project to port, since seemingly simple… Does anyone see any hindrance in porting such JAX/Python code, to what Flux?

Well, traditional methods are not AI or ML, but certainly claimed “AI” solutions are offered:

The algorithm above is ML, a sub-field of AI, and ML/AI may be used in recent denoicing-only algs too, but at least deraining and having all together certainly seems AI to me… Superresolution, at least the good algorithms are also AI/ML, and I only find that missing, having that and the rest in one package would be cool. I suppose the superresolution could be done after (or before) in a separate phase, but I’m not sure if the manipulation of the former would interfere and thus need to be combined.

https://image-upscaler.com/image-denoiser/

See also from Intel:
https://www.openimagedenoise.org

Previous state-of-the-art from 2021 (and there some intriguing [newer] info and not inceptioniai.org in the email address there):
GitHub - swz30/MPRNet: [CVPR 2021] Multi-Stage Progressive Image Restoration. SOTA results for Image deblurring, deraining, and denoising.

Our Related Works
Learning Enriched Features for Fast Image Restoration and Enhancement, TPAMI 2022. Paper | Code
Restormer: Efficient Transformer for High-Resolution Image Restoration, CVPR 2022. Paper | Code
Learning Enriched Features for Real Image Restoration and Enhancement, ECCV 2020. Paper | Code
CycleISP: Real Image Restoration via Improved Data Synthesis, CVPR 2020. Paper | Code

About Restormer

April 4, 2022: Integrated into Huggingface Spaces using Gradio. Try out the web demo:
Image Restoration with Restormer - a Hugging Face Space by swzamir

BasicVSR++ was added to the “19 hours ago” above repo and it’s very cool:

I did not know this was a thing:

NAFSSR outperforms the state-of-the-art methods on the KITTI 2012, KITTI 2015, Middlebury, and Flickr1024 datasets.

it links to NAFNet code repo, which is also claimed SOTA for denoising (and deblurring) in 2022:

NAFNet: Nonlinear Activation Free Network for Image Restoration

Although there have been significant advances in the field of image restoration recently, the system complexity of the state-of-the-art (SOTA) methods is increasing as well, which may hinder the convenient analysis and comparison of methods. In this paper, we propose a simple baseline that exceeds the SOTA methods and is computationally efficient. To further simplify the baseline, we reveal that the nonlinear activation functions, e.g. Sigmoid, ReLU, GELU, Softmax, etc. are not necessary: they could be replaced by multiplication or removed.

3 Likes