Deblur-NeRF: Neural Radiance Fields from Blurry Images

1The Hong Kong University of Science and Technology 2Tencent AI Lab
3City University of Hong Kong

Deblur-NeRF can restore sharp NeRFs from input images with camera motion blur or out-of-focus blur.

Abstract

We propose Deblur-NeRF, the first method that can recover a sharp NeRF from blurry input. We adopt an analysis-by-synthesis approach that reconstructs blurry views by simulating the blurring process, thus making NeRF robust to blurry inputs. The core of this simulation is a novel Deformable Sparse Kernel (DSK) module that models spatially-varying blur kernels by deforming a canonical sparse kernel at each spatial location. The ray origin of each kernel point is jointly optimized, inspired by the physical blurring process. This module is parameterized as an MLP that has the ability to be generalized to various blur types. Jointly optimizing the NeRF and the DSK module allows us to restore a sharp NeRF. We demonstrate that our method can be used on both camera motion blur and defocus blur: the two most common types of blur in real scenes. Evaluation results on both synthetic and real-world data show that our method outperforms several baselines.

Pipeline

pipeline image

When rendering a ray, we first predict N sparse optimized rays based on a canonical kernel along with their weights. After rendering these rays, we combine the results to get the blurry pixel. During testing, we can directly render the rays without kernel deformation resulting in a sharp image.

More results

We show more deblurring results below. The nearest videos are shown on the bottom right of each clip. Some of the videos shown are from synthetic datasets.

Camera Motion Blur

Defocus Blur

Object Motion Blur

BibTeX

@article{ma2021deblur,
      title   ={Deblur-NeRF: Neural Radiance Fields from Blurry Images},
      author  ={Ma, Li and Li, Xiaoyu and Liao, Jing and Zhang, Qi and Wang, Xuan and Wang, Jue and Pedro V. Sander},
      journal ={arXiv preprint arXiv:2111.14292},
      year    ={2021}
}