Persönlicher Status und Werkzeuge

Home Teaching Summer Semester 2015 Practical Course: GPU Programming in Computer Vision (6h / 10 ECTS)

Practical Course: GPU Programming in Computer Vision (6h / 10 ECTS)

SS 2015, TU München


Please direct ALL questions regarding this course at cuda-ss15@in.tum.de.

Tutors: Thomas Möllenhoff, Robert Maier, Caner Hazirbas

Date and Location

Start: 07.09.15

The course will take place in our lab 02.05.014 with the following schedule:

  • 1 week with lectures and exercises (attendance mandatory)
  • 3 weeks project phase
  • final presentation

For more details see Course Layout below.

Course Registration

Preliminary meeting will take place on 29th of January at 15:15pm. Classroom is our lab 02.05.014.

Slides for the pre-meeting can be found here.

Only assigned students by matching system should register the Praktikum on TUMOnline.

Requirements: Knowledge of C or C++, basic mathematics

Number of participants: up to 24

Course Description

The goal of this course is to provide an introduction to the NVIDIA CUDA framework for massively parallel programming on GPUs. During the implementation of basic computer vision algorithms students will gradually learn more how to harness the power of GPU computing. Although we assume good knowledge of C or C++ and basic mathematics, no further prior knowledge about CUDA, or computer vision topics will be required.

During the course lecture students will learn how to program GPUs with CUDA. Afterwards the students will start to implement more sophisticated computer vision algorithms within a student project. The course finishes with a presentation and a live demo of the project results.

Topics

  • Introduction to Parallel Computing
  • Introduction to CUDA
  • Implementation of basic computer vision algorithms with CUDA (e.g. convolution, diffusion)
  • Student project: Implementation of an advanced computer vision application which uses CUDA acceleration for real-time processing of webcam images.

Layout

  • Lecture (7-11 September): 2–3h lectures each day (attendance mandatory) from 10:00, followed by corresponding programming exercises until 18:00. The exercises must be done in groups of 2–3 students. The groups must be formed on the first day (but you can decide on your team already beforehand, of course). You may leave early once you have finished the present day's exercises.
  • Project (12 September - 4 October): Implementation of a student project in groups of 2–3 (same groups as in the lecture week). You are free to work from home if you like and all team members agree, but keep in mind that you will require CUDA-capable hardware, and should collaborate within your team. You should also prepare your final presentation during this time.
  • Presentation and demo (5-6 October): Each group will be assigned a time slot on one of the days, to present their results and give a live demo, followed by a Q&A session.

Literature

Slides

Additional material can be downloaded from here.

Final Projects

Project Team Slides Demo/Code
High Resolution Maps from Captured Aerial Video Footage Evgeny Agamirzov, Oleksandr Shchur, Khalid Alkhaili Slides Preview
TSDF Volume - Kinect Fusion Martin Hermann, Neeraj Sujan, Simon Trendel Slides Video
Joint Motion Estimation and Image Reconstruction Philipp Krüger, Jonas Sticha, Sebastian Kümper Slides Video
Matching Deformable 3D Shapes David Dao, Michal Szymczak, Johannes Rausch Slides tba.
Dense Visual Odometry Christoph Ihrke, Josef Brandl, Duy Nguyen Slides Video
RGB-D Keyframe Fusion Matthias Fischer, Prashant Singh, Evangelos Drossos Slides tba.
Depth-Adaptive Superpixels Jan Möller, Robert Posch Slides Video
An Algorithm for Minimizing the Mumford-Shah Functional Michael Bauer Slides Code
Last edited 13.11.2015 12:06 by Thomas Möllenhoff