This code implements the approach for the following research paper:
Inferring Super-Resolution Depth from a Moving Light-Source Enhanced RGB-D Sensor: A Variational Approach Sang, L., Haefner, B. and Cremers, D.;Winter Conference on Applications of Computer Vision (WACV) 2020 Spotlight Presentation
We present a novel approach towards depth map super-resolution using multi-view uncalibrated photometric stereo is presented. Practically, an LED light source is attached to a commodity RGB-D sensor and is used to capture objects from multiple viewpoints with unknown motion. This nonstatic camera-to-object setup is described with a nonconvex variational approach such that no calibration on lighting or camera motion is required due to the formulation of an end-to-end joint optimization problem. Solving the proposed variational model results in high resolution depth, reflectance and camera pose estimates, as we show on challenging synthetic and real-world datasets.
This code has four third party dependencies:
- MATLAB (Code was tested and works under MATLAB R2018b)
- inpaint_nans (mandatory)
- CMake (mandatory minimum required 2.8)
- OpenCV (mandatory)
- Eigen3 (mandatory)
go to DVO folder, create a build folder then run
cmake ..
then
make
This step will compile a mex function allow matlab to run c++ code, therefore make sure the matlab root is in the system path.
run main_mvps.m
this code will add data folder, src folder and DVO/build/ folder to matlab path, so if you name the folder differently, please change accordingly.