3D has always fascinated me and so when I found out that stereo existed I really wanted to see it happening in real time.Unfortunately most state of the art methods such as graph based or belief propagation I found online were too slow for my needs.I tried using various methods for speeding it up including segmentation based approaches however they were still too slow for my real time needs of at around 30 FPS. I settled for trying to implement stereo using a Dynamic Programming Approach and since the process it parallel it made an excellent candidate for CUDA Acceleration.
Utilizes the GPU Based Image Processing Library to achieve massive parallel speed ups
Features own 3D Calibration setup for rectifying images
The following video is the Stereo Matching demo:
The following picture demonstrates the 3D Calibration:
A problem with image processing I found was many were usually very slow to run on the CPU. This meant that real-time and interactive image processing was not possible. The goal of this project is to create a library in C++ that allows for image processing in real time and create applications that allow for real time interactions with the user.
Image processing functions implemented on the GPU using NVIDIA's CUDA
Library includes a custom memory manager to track memory leaks
Created a window management library using SFML
Created a basic 3D model library using OpenGL
Manages camera input using DirectShow
Various demo applications such as Image Stitching, 3D Calibration and Image Segmentation