A Machine Learning Approach for Filtering Monte Carlo Noise

Status
Read
Field
Monte Carlo Rendering
Computer Vision
Denoising
Ray Tracing
Conference / Journal
SIGGRAPH
Year
2015
Link
Created
2020/08/23 09:55
앞서 읽은 두 논문은 CNN을 기반으로 한 Denoising이 주제였는데, 그 전에 MC denoising에 neural network를 사용한 논문이 있어 읽게 되었다.
기존의 MC denoising은 filter를 construct하는 방식은 rgb값, 혹은 그 외의 shading normal등의 feature등을 바탕으로 적절한 filter parameter를 찾는 것이다. 이러한 방식들은 빠른 filter construction과 빠른 application등의 장점이 있었지만, hard coding된 filter constructing과 noise를 특정 gaussian등의 bases를 사용하여 represent하는 등의 근사가 noise와 detail을 구분하기 힘들게 만든다는 단점들이 있었다.
우선, 논문은 filter의 parameter들을 설정하는 방식에 변화를 주었다. 기존 filter construction에서는 Direct estimation과 error minimization이라는 방식을 사용하였는데, direct estimation은 heuristic한, hard coded된 방식으로 접근하여 filter를 구축하여 최적의 filter는 아니지만 단 한번만 계산하면 되기에 빠르다. Error minimization은 매 input마다 error를 통해 parameter를 변화하여 최적화된 filter를 construct하기에 더 optimal하지만 계산이 오래 걸리고, error metric에 따라 다른 결과를 낸다. 논문은 이 둘을 적절히 혼합하여 단 한번만 계산하면 된다는 direct estimation의 특성과 훨씬 optimal한 결과를 내는 error minimization의 장점을 합쳤다. 새로운 방식은 특수한 함수 G의 parameter를 추측하는 대신 G의 인풋에 따른 아웃풋을 통해 error를 계산하고 optimize하기에 훨씬 optimal하고 complex하는 함수로 filter를 표현할 수 있게 하였다.
또, 본 논문은 hard coding된 filter를 사용하지 않고 neural network를 도입하였다. 논문은 간단한 MLP (multilayer perceptron)을 이용하였다. 거기에 7개의 primary feature와 36개의 secondary feature를 인풋으로 하여 denoised pixel값을 output으로 한 supervised learning을 진행하였다.
그럼으로 논문은 기존의 여러 filter constructing method들과 동등한 결과를 내어 MC denoisng 에 neural network가 적용될 수 있는 가능성을 열어두게 되었다. 거기에 제일 기본적인 network와 수많은 feature를 사용함으로써 여러 network와 feature를 사용하여 발전할 수 있는 여지를 두었다.
그러나 단점으로는 deep learning의 공통적인 단점인, training set의 부재에 따른 noise 판별이었다. Training set에 없는 noise pattern에 대해서는 좋지 않은 denoising result를 보여주었다.