Deep Depth from Defocus: how can defocus blur improve 3D estimation using dense neural networks?

Marcela Carvalho, Bertrand Le Saux, Pauline Trouve-Peloux, Andres Almansa, Frederic Champagnat; Proceedings of the European Conference on Computer Vision (ECCV) Workshops, 2018, pp. 0-0


Depth estimation is critical interest for scene understanding and accurate 3D reconstruction. Most recent approaches with deep learning exploit geometrical structures of standard sharp images to predict depth maps. However, cameras can also produce images with defocus blur depending on the depth of the objects and camera settings. Hence, these features may represent an important hint for learning to predict depth. In this paper, we propose a full system for single-image depth prediction in the wild using depth-from-defocus and neural networks. We carry out thorough experiments real and simulated defocused images using a realistic model of blur variation with respect to depth. We also investigate the influence of blur on depth prediction observing model uncertainty with a Bayesian neural network approach. From these studies, we show that out-of-focus blur greatly improves the depth-prediction network performances. Furthermore, we transfer the ability learned on a synthetic, indoor dataset to real, indoor and outdoor images. For this purpose, we present a new dataset with real all-focus and defocused images from a DSLR camera, paired with ground truth depth maps obtained with an active 3D sensor for indoor scenes. The proposed approach is successfully validated on both this new dataset and standard ones as NYUv2 or Depth-in-the-Wild. Code and new datasets are available at depth estimation.

Related Material

author = {Carvalho, Marcela and Le Saux, Bertrand and Trouve-Peloux, Pauline and Almansa, Andres and Champagnat, Frederic},
title = {Deep Depth from Defocus: how can defocus blur improve 3D estimation using dense neural networks?},
booktitle = {Proceedings of the European Conference on Computer Vision (ECCV) Workshops},
month = {September},
year = {2018}