HyperAIHyperAI

Command Palette

Search for a command to run...

4 months ago

Unprocessing Images for Learned Raw Denoising

Tim Brooks; Ben Mildenhall; Tianfan Xue; Jiawen Chen; Dillon Sharlet; Jonathan T. Barron

Unprocessing Images for Learned Raw Denoising

Abstract

Machine learning techniques work best when the data used for training resembles the data used for evaluation. This holds true for learned single-image denoising algorithms, which are applied to real raw camera sensor readings but, due to practical constraints, are often trained on synthetic image data. Though it is understood that generalizing from synthetic to real data requires careful consideration of the noise properties of image sensors, the other aspects of a camera's image processing pipeline (gain, color correction, tone mapping, etc) are often overlooked, despite their significant effect on how raw measurements are transformed into finished images. To address this, we present a technique to "unprocess" images by inverting each step of an image processing pipeline, thereby allowing us to synthesize realistic raw sensor measurements from commonly available internet photos. We additionally model the relevant components of an image processing pipeline when evaluating our loss function, which allows training to be aware of all relevant photometric processing that will occur after denoising. By processing and unprocessing model outputs and training data in this way, we are able to train a simple convolutional neural network that has 14%-38% lower error rates and is 9x-18x faster than the previous state of the art on the Darmstadt Noise Dataset, and generalizes to sensors outside of that dataset as well.

Code Repositories

mv-lab/AISP
pytorch
Mentioned in GitHub
goutamgmb/NTIRE21_BURSTSR
pytorch
Mentioned in GitHub
caiyuanhao1998/PNGAN
pytorch
Mentioned in GitHub

Benchmarks

BenchmarkMethodologyMetrics
color-image-denoising-on-darmstadt-noiseImage Unprocessing
PSNR (Raw): 48.88
PSNR (sRGB): 40.35
SSIM (Raw): 0.9821
SSIM (sRGB): 0.9641
noise-estimation-on-siddULRD
Average KL Divergence: 0.545
PSNR Gap: 4.90

Build AI with AI

From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.

AI Co-coding
Ready-to-use GPUs
Best Pricing
Get Started

Hyper Newsletters

Subscribe to our latest updates
We will deliver the latest updates of the week to your inbox at nine o'clock every Monday morning
Powered by MailChimp
Unprocessing Images for Learned Raw Denoising | Papers | HyperAI