실시간 Monte Carlo denoising은 적은 수의 ssp (samples per pixel)에서 엄격한 시간 제한에서도 심각한 noise를 없애는 것을 목표로 한다. 최근 각 pixel의 filtering kernel을 예측하기 위해 인공신경망을 활용한 kernel-prediction method가 사용되고 있으며, 이를 통해 Monte Carlo noise를 크게 줄일 수 있다는 가능성이 보이고 있다. 이 논문은 kernel-prediction method를 확장해 매우 낮은 spp (1-spp)의 Monte Carlo path traced 이미지를 실시간 frame rate에서 denoise하는 획기적인 방법을 제시한다. 인공신경망으로 pixel kernel map을 직접적으로 예측하는 대신에 (즉, 각 pixel 당 filtering kernel의 완전한 weight들) 우리는 kernel map의 encoding을 예측하고 그 다음에 고퀄의 filtering kernel을 복원하기 위한 unfolding operation을 동반한 고효율의 decoder가 뒤따르도록 하였다. Kernel map encoding은 1 channel로 압축된 kernel map 표현을 가지도록 도출하며 이는 kernel-prediction network의 처리량을 매우 줄여준다. 게다가 우리는 확장 가능한 kernel fusion module을 채용하여 denoising 퀄리티를 높였다. 제시된 방법은 kernel prediction method의 denoising 퀄리티는 유지한채 1-spp의 noisy한 input에서 denoising latency를 절반 가까이 줄였다. 게다가 최근 neural bilateral grid-based 실시간 denoiser와 비교해서도 우리의 방식은 높은 병렬성을 가진 kernel-based 복원법으로 이점을 가지며 같은 시간 내에 더 나은 denoising 결과를 도출하였다.
몬테 카를로 path tracing은 실사 화질의 이미지를 합성하기 위해 사용되는 방법으로 실시간 또는 offline으로 통합 랜더링 파이프라인에서 다양한 물리 기반의 시각 효과를 모사하기 위해 사용된다. 그러나 몬테 카를로 integration은 noise-free한 path traced 이미지를 생성하기 위해서는 수 천개의 spp가 요구된다. signal simplification이 몇몇의 저퀄의 랜더링 응용에서 사용되긴 하지만, 물리적인 정확도는 상호작용하는 global illumination에서 매우 중요한 역할을 수행한다. 그러므로 몬테 카를로 noise를 없애기 위한 image 기반의 denoising 기술은 상용 제품에 대비해 상당히 실용적인 솔루션이다.
전형적으로 적은 수의 spp의 몬테 카를로 path traced image는 denoising을 위해 제한된 광원 정보를 제공하고 이는 왜곡되지 않은 결과를 도출하기 힘들다. 대부분의 denoising 기술은 중심 pixel의 color를 재현하기 위해 근처 pixel 정보를 활용하는 식으로 variance(분산)을 줄이기 위한 bias를 제공한다. 게다가 noise-free한 보조 feature buffer, 가령 shading normal 값이나 texture albedo color값들을 통해 scene의 geometric과 material 정보를 제공하며, denoising 알고리즘에 input으로 활용되기도 한다. 이런 buffer들은 무시할만한 시간 소모 수준으로 path tracing 과정 속에서 얻을 수 있다.
컴퓨터 비전과 그래픽스에서 CNN (Convolutional Neural Network)의 성공적인 행보로부터 최근 많은 연구들이 denoising 구조에서 CNN을 적극 활용하고 있다. Bako et al. 의 논문에서는 수동으로 계산된 kernel 대신에 neural network를 이용하여 per-pixel filtering kernel을 활용하는 것을 제시했다. Vogels et al. 의 논문에서는 이 구조를 확장하여 연산량을 줄이기 위해 hierarchical한 해상도에서 작은 kernel을 예측하는 방법을 제시하였다. 이 multi-해상도 denoising 구조는 layer-based denoiser와 temporal adaptive sampling method에서 쓰이기도 하였다. 이러한 방법들은 몬테 카를로 denoising에서 kernel prediction method의 능력을 보여주고 있다. 그러나 대부분 offline 응용을 타겟으로 하고 있으며 실시간 frame rate은 맞추기 힘든 게 보통이다. 높은 연산 자원량이 큰 filtering kernel을 예측하는 데 사용되어 이러한 기술들이 실시간 랜더링에 쓰이기 힘들게 하고 있다.
이 논문에서 우리는 kernel prediction method의 overhead를 줄이고 실시간 몬테 카를로 denoising을 적은 수의 spp로 수행 가능한 획기적인 방법을 제시한다. 핵심 아이디어는 kernel construction module의 도입으로 neural network의 처리량을 줄이는 것이다. per-pixel filtering weight를 직접 예측하는 대신에 우리는 1 channel의 filtering weight로 압축하는 encoder로서 인공신경망을 활용하며 이 압축된 정보를 importance map이라 부른다. 그러면 우리는 그 importance map을 수동으로 만든 decoder에 줘서 완전한 kernel map을 복원하도록 한다. 실험에서는 우리는 unfolding operation과 normalization step을 통해 filtering kernel을 복원하였으며 end-to-end 학습 방법으로 인공신경망이 이러한 수동 decoder와 조화를 이루도록 하였다. 마지막 단계로 우리는 이 filtering kernel을 활용해 noisy한 이미지를 filtering하여 효율적으로 screen-space에서 post-processing을 수행하게 하였다. 우리의 방식은 높은 병렬성의 kernel-based 복원 방식으로 이는 현존하는 몬테 카를로 denoising 기법에 적용하기 쉽게 하였다.
Decoding 구조는 정해진 사이즈의 filtering kernel을 재현하는 기능을 수행한다. 우리는 kernel fusion module을 통해 이 decoder 기능을 개선하였다. 정확히 말해서 개선된 decoder는 importance map들로부터 filtering kernel을 복원한 뒤, 독립적으로 noisy한 input과 학습된 weight들과 합쳐진 denoised 결과들에게 적용하게 한다. 게다가 우리는 denoising phase전에 temporal accumulation operation을 추가하였다. 이를 통해 효과적으로 증가된 spp 들은 연속된 frame에서 input image의 denoising에 안정성을 부여하여 temporal artifact들을 억제하도록 하였다.
통합 실험에서는 제시된 방식이 실시간 frame rate에서 1-spp frame을 denoising하는데 좋다는 것으로 보여졌다. 우리 방식은 kernel prediction method의 denoising 퀄리티를 유지하면서 denoising time을 절반으로 줄였다. 게다가 최근 발표된 neural bilateral grid-based real-time denoiser와 비교해 우리의 방식이 높은 병렬성의 kernel-based reconstruction을 가짐으로써 더 나은 denoising 결과를 같은 시간 내에 제공한다는 것을 보여주었다.
요약하여 우리의 방식은 다음의 공헌을 하였다.
1. kernel map의 압축 표현법을 활용하여 획기적인 kernel prediction 구조를 제시하였고, 확장 가능한 filtering kernel 복원을 위한 decoder를 설계하였다. 이를 통해 neural network의 처리량과 메모리 사용량을 획기적으로 줄였다.
2. SOTA kernel prediction 몬테 카를로 denoising method와 비교하여 rendering 퀄리티는 유지한채 절반의 denoising 시간만 소요하였다.
우리는 우리의 획기적이고 실용적인 weight sharing kernel prediction denoiser를 제시하였고, 이를 통해 실시간의 매우 적은 spp의 몬테 카를로 path traced image를 denoising하였다. 우리 핵심 아이디어로 ImportanceNet이라는 효율적인 인공신경망을 통해 filtering kernel weight encoding을 예측하였다. 그 후 filtering kernel들을 수동 계산된 decoder에 넣어 복원하였다. 제시된 weight sharing kernel prediction denoiser는 확장이 가능하며 다양한 실시간 응용에서 적용이 가능하도록 설계되었다. 이 수동 계산된 kernel 복원기를 통해 우리의 방법은 적당한 denoise 결과를 유지하며 kernel prediction method에 필요한 시간/메모리 자원을 절반 가까이 줄여주었다.

