BjoernHaefner / SRmeetsPS-CUDA

CUDA implementation of the paper "Depth Super-Resolution Meets Uncalibrated Photometric Stereo"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 ✉️ 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:

Option Description Default Value
--blockx
-x
CUDA kernel block's x dimension 256
--blockx
-x
CUDA kernel block's y dimension 4
-d
--dsloc
Path to dataset as mat file or folder containing
images (depth images must be 16bit)
-device
--g
CUDA device to run the application on 0
-dstype
--t
Dataset type, can be as matlab for MAT file
input or images for images as input,with depth
images having bitdepth 16
images

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

About

CUDA implementation of the paper "Depth Super-Resolution Meets Uncalibrated Photometric Stereo"


Languages

Language:C++ 84.2%Language:C 12.7%Language:Cuda 3.0%Language:Objective-C 0.1%Language:Makefile 0.0%