Noise2Noise: Learning Image Restoration without Clean Data

deep-learning
denoising

#1

Noise2Noise: Learning Image Restoration without Clean Data

Jaakko Lehtinen, Jacob Munkberg, Jon Hasselgren, Samuli Laine, Tero Karras, Miika Aittala, Timo Aila

(Submitted on 12 Mar 2018 (v1), last revised 29 Oct 2018 (this version, v3))

We apply basic statistical reasoning to signal reconstruction by machine learning – learning to map corrupted observations to clean signals – with a simple and powerful conclusion: it is possible to learn to restore images by only looking at corrupted examples, at performance at and sometimes exceeding training using clean data, without explicit image priors or likelihood models of the corruption. In practice, we show that a single model learns photographic noise removal, denoising synthetic Monte Carlo images, and reconstruction of undersampled MRI scans – all corrupted by different processes – based on noisy data only.

Comments: Added link to official implementation and updated MRI results to match it
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG); Machine Learning (stat.ML)
Cite as: arXiv:1803.04189 [cs.CV]
(or arXiv:1803.04189v3 [cs.CV] for this version)

#2

Mô hình nhiễu

Bài toán lọc nhiễu ứng dụng DL, thường được mô hình dưới dạng un-supervised learning. Nghĩa là ta sẽ có một cặp ảnh nhiễu (Noisy Image - x) và ảnh gốc (Ground Truth - s). Mạng neuron sẽ học cách mapping từ NI ra ảnh GT.

x = s + n

Có rất rất nhiều công trình nghiên cứu học cách mapping sao cho tốt từ mạng network dạng feedforward cơ bản DnCNN, tới các cấu trúc mạng hịn như ResNet, DenseNet, U-Net tới ứng dụng đặc tính không lân cận - non-local information (một số block ảnh ở xa nhau nhưng vẫn rất giống nhau – điển hình như các cạnh), rồi tới việc sử dụng các hàm suy hao mới như perceptual loss, gradient loss, multi-scale loss, tới dùng các kỹ thuật regularization như total variation, v.v.

Hầu hết các nghiên cứu giới hạn ở việc sử dụng un-supervised learning.

Mô hình Noise2Noise

Tuy nhiên, nghiên cứu lọc nhiễu thông thường (hay classical method) lại hoàn toàn không cần dùng tới ảnh gốc!!! Và nghiên cứu mới đây từ nhóm nghiên cứu tới từ NVIDIA và MIT đã cho phép DL học cách lọc nhiễu dưới dạng un-supervised learning mà không cần tới dữ liệu gốc!

Và đặc biệt là kỹ thuật noise2noise này không sử dụng tri thức biết trước (prior-knowledge) thường dùng ở các thuật toán thông thường. Vậy họ đã thực hiện như thế nào?

Thay vì học cách mapping từ s --> x, tác giả đề suất học cách mapping giữa hai cặp nhiễu s + n_1s+n_2, tương ứng với hai nhiễu độc lập n_1n_2 của cùng một tín hiệu s. Dù rằng việc mapping F(s + n_1) —> s + n_2 là không hoàn hảo, nhưng hàm F(\cdot) lại có tính chất giống như hàm lọc nhiễu khi train với ảnh gốc. But why?

Điều này dựa trên

  1. Đặc tính hàm loss thường là giá trị trung bình của sự khác biệt giữa các cặp dữ liệu,
  2. Dẫn đến việc thêm giá trị nhiễu zero mean (trung bình không) thì không ảnh hưởng tới giá trị loss —> Tác động của quá trình training sẽ không thay đổi.

Từ đó hàm mapping F(\cdot) học từ 2 cặp nhiễu sẽ giống với hàm F(\cdot) học từ cặp nhiễu và gốc với số lượng dữ liệu tiến tới vô cùng.

Như vậy là mô hình này rất thích hợp với bài toàn không biết trước mô hình nhiễu và rất khó thu thập dữ liệu gốc (clean image).

Tuy nhiên điểm bất lợi là ta cần phải có cặp dữ liệu s + n_1, và s + n_2 của cùng tính hiệu s. Điều này đôi khi khó thể thực hiện được trên thực tế.

Một số cải tiến đáng chú ý sau bài báo là

  • Nois2Void: không cần cặp nhiễu như ở Noise2Noise

  • Nois2Self: tận dụng đặc tính độc lập của nhiễu để lọc nhiễu

  • GAN2GAN: tương tự như noise2noise nhưng dùng GAN.

Note: đây là những nghiên cứu thuộc nhóm “Blind image denoising”, lọc nhiễu khi không biết loại nhiễu là gì.