Robust Real-Time Tracking of Micro Air Vehicles in RGB-D Video Streams
Develop a robust tracking algorithm which can localize a quadrocopter in RGB-D video streams.The solution must work on a consumer workstation with openCV, and demonstrated to work under realistic conditions.
The goal of this work is to find a combination of filters and algorithms which can detect and estimate the position of a quadrocopter in an RGB-D video stream coming from a Microsoft Kinect camera. The main challenge is, that neither the RGB stream alone, nor the depth information alone, are sufficient to achieve these goals. The depth image suffers from non-stationary noise and non-measured pixels(“holes”), whereas the RGB image suffers from illumination changes and reflections. Therefore, the algorithms must integrate those two sources of information to attain a robust localization.The first step is to familiarize with our camera setup, and use our current tracking software to understand the problems. Subsequently, a literature research shall be done to identify candidate algorithms under the given requirements, especially considering their computational complexity. In particular, the following approaches shall be included in the evaluation:
- background subtraction,
- adaptive spatio-temporal filter,
- particle filter,
- pattern matching and
- AdaBoost to combine multiple filters.
Then, the candidates shall be implemented, combined (if needed) and evaluated using an environment of your choice (e.g., MATLAB, openCV), and tested under realistic conditions. These include
- change of room illumination (e.g., daylight, artificial light, curtains open/closed),
- a person walking through the field of view,
- the quadcopter being located at various positions in the field of view (close to camera, far fromcamera, etc.).
The final deliverable is an implementation of the best solution using openCV (C++) on a standard work-station, and to demonstrate the performance (frame rate, robustness, etc.).
- basics of image processing
- familiar with openCV
- proficient C++ coding skills
- computational complexity of algorithms
Up to the challenge?
Then contact Martin Becker.