Home

Awesome

SRmeetsPS

This repository contains CUDA implementation for the paper:
Songyou Peng, Bjoern Haefner, Yvain Queau and Daniel Cremers, "Depth Super-Resolution Meets Uncalibrated Photometric Stereo", In IEEE Conference on Computer Vision (ICCV) Workshop, 2017.

Original implementation in MATLAB can be found here.

Citation

If you use this code, please cite the paper:

@inproceedings{peng2017iccvw,
 author =  {Songyou Peng and Bjoern Haefner and Yvain Qu{\'e}au and Daniel Cremers},
 title = {{Depth Super-Resolution Meets Uncalibrated Photometric Stereo}},
 year = {2017},
 booktitle = {IEEE International Conference on Computer Vision (ICCV) Workshop},
}

Contact Songyou Peng :envelope: for questions, comments and reporting bugs.

Building and Running

Linux

Move to the linux build folder and compile using the makefile. Specifically, from the project root, execute the following commands:

cd build/linux
make
export LD_LIBRARY_PATH=../../opencv/lib:../../matio/lib

Following command line options are available while running:

OptionDescriptionDefault Value
--blockx<br>-xCUDA kernel block's x dimension256
--blockx<br>-xCUDA kernel block's y dimension4
-d<br>--dslocPath to dataset as mat file or folder containing<br>images (depth images must be 16bit)
-device<br>--gCUDA device to run the application on0
-dstype<br>--tDataset type, can be as matlab for MAT file<br>input or images for images as input,with depth<br>images having bitdepth 16images

Example commands

When using MATLAB mat files as the input dataset, from the PROJECT_ROOT/build/linux folder, run the command

./bin/SRmeetsPS-CUDA --dstype="matlab" --dsloc="../../dataset/Matlab/mitten_sf2.mat"

When using image files as input, run

./bin/SRmeetsPS-CUDA --dstype="images" --dsloc="../../dataset/Images/Mitten"

Windows

A Visual Studio 2014 solution project can be found in PROJECT_ROOT\build\windows. Unlike the linux project, the dependent libraries are not checked in the repository, and requires OpenCV 3.3 and matio 1.5.10 binaries to build and run.

Benchmark comparison against Matlab implementation

alt text

alt text