Friedrich-Alexander-Universität Erlangen
Lehrstuhl für Mustererkennung
Martensstraße 3
91058 Erlangen

CUDA Super-Resolution

Introduction

This is a C++ implementation of the framework proposed in our paper "GPU Accelerated Time-of-Flight Super-Resolution for Image-Guided Surgery". It employs maximum a posteriori (MAP) estimation to obtain an improved image of higher resolution from multiple low-resolution images. In particular, it can be used to enhance depth maps from range sensors such as Time-of-Flight (ToF) cameras.

Super-resolution is known to be a computationally demanding problem. This is a main limitation for many practical applications having requirements regarding run time. Our implementation accelerates super-resolution on the graphics processing unit (GPU) using NVIDIA's CUDA platform. In particular, for super resolution of range images in image-guided surgery, our frameworks enables interactive frame rates computing an upsampled image from 10 input frames (200 x 200 pixel) with an upsampling factor of 2 in 109 ms (hardware: NVIDIA GTX 580). Please see our paper for details.

Our source code package already comes with some example images and a demo application.

News

  • 03/04/2013 CUDA Super-resolution framework presented at Opens external link in new windowBildverarbeitung für die Medizin (BVM) 2013 
  • 03/04/2013 Initial version released (1.0)

License

This work is licensed under a Creative Commons Attribution 3.0 Unported License. (CC-BY) http://creativecommons.org/licenses/by/3.0/. The authors do not assume liability for errors contained in or for damages arising from the use of the software.


The use of this software is free, but please cite the following reference in your next article:

Articles in Conference Proceedings
Wetzl, Jens; Taubmann, Oliver; Haase, Sven; Köhler, Thomas; Kraus, Martin; Hornegger, Joachim
GPU Accelerated Time-of-Flight Super-Resolution for Image-Guided Surgery
Bildverarbeitung für die Medizin, Heidelberg, 04.03, pp. 21-26, 2013 (BiBTeX, Who cited this?)

Download

  • CUDA MAP Super-Resolution source code
  • The full data set used for evaluation can be downloaded here

Dependencies

  • CMake (Opens external link in new windowhttp://www.cmake.org/) for generating build files of your choice.
  • The Nvidia GPU Computing Toolkit and SDK (Opens external link in new windowhttp://www.nvidia.com/object/cuda_home_new.html).
  • FreeImage (Opens external link in new windowhttp://freeimage.sourceforge.net/), a lightweight image IO library. Please note: This can easily be replaced with your preferred tool by adapting ImageIO.{h,cpp} accordingly.
  • CUDA L-BFGS, our own library for GPU-accelerated nonlinear optimization is available here.
  • Please note: Image registration for sub-pixel motion estimation required for super-resolution is not included in our framework, yet. Please see the ECC image alignment algorithm(http://xanthippi.ceid.upatras.gr/people/evangelidis/ecc/) for the registration framwork used in our experiments or use your preferred registration approach.