Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

Ideas for Google Summer of Code 2014

All project ideas are connected to our public available Ubitrack (ubitquitious tracking) library, which can be found on http://ubitrack.org

I. Library Improvement

1. Numerical Library Abstraction Layer

  • Brief Explanation :At the moment Ubitrack uses Lapack only as a numerical library to estimate SVD, Eigenvalues, etc. The task would be to introduce a templated abstraction layer that allows to call the most important numerical algorithms via an standardized interface and allow the library user to choose between different available numerical libraries (lapack, clapack, eigen, opencv,...).

  • Expected Result : a math wrapper to provide an consistent interface to a math library of the users's choice
  • Knowledge Prerequisite : C++, Math libraries( Eigen, Lapack or similar)
  • Mentor : Christian Waechter

2. Image Abstraction Layer

  • Brief Explanation : Similar to task I.1. an abstraction layer should be introduced to the image class of Ubitrak as well. While doing so rudimentary support for image processing could be provided from Ubitrack itself, while higher level libraries, like OpenCV or FastCV, would be used if defined from the library user.

  • Expected Result : an image wrapper to provide an consistent interface to the vision library of the users's choice
  • Knowledge Prerequisite : C++, OpenCV
  • Mentor : Main: Christian Waechter, (Frieder Pankratz)

3. Calibration Quality Analyzer

  • Brief Explanation : In calibration procedures, users face difficulties in verifying whether the current calibration quality is acceptable or not. A single missed calibration error dismisses the whole tracking setup. The users often realize a crucial mistake only at the very end of their experiment, and even worse they struggles to identify the root cause for all time afterwards. Ubirack provides covariance matrice and their simple visualizers for pose measurements. However, it is still hard to interpret for many users. These brought us an idea to develop a calibration quality analyzer.

  • Expected Result : (lv. 1) a component which visualizes the quality of a pose, (lv. 2) a mechanism which asserts a bad pose estimate, and, (lv. 3) a mechanism which identifies the crucial error source from a tracking record.
  • Knowledge Prerequisite : C++, Basic knowledge of linear algebra and probability theory
  • Mentor : Yuta Itoh

4. Improving Fusion System

  • Brief Explanation : Ubitrack already provides a Kalman Filter Framework for handling the estimation of poses over the time. While different types of measurements can be feed into the filter, only one type of filtering is supported at the moment. In the future Ubitrack should also support Multi hypotheses tracking (e.g. with weighted Kalman Filters) to provide a better pose estimation.

  • Expected Result : A Bayesian fusion system, good to configure
  • Knowledge Prerequisite : C++, Kalman Filter
  • Mentor : Christian Waechter

5. Python bindings

  • Brief Explanation : Python is open source software, widely spread and well known in the developer community. Ubitrack should provide access to AR-developers that use python in an easy way. A well established wrapping tool should be used to provide python bindings for ubitrack functionality, such that at least the calibration algorithms (e.g. hand eye calibration) can be used from within python.

  • Expected Result : a math wrapper to provide an consistent interface to a math library of the users's choice
  • Knowledge Prerequisite : C++, Python, Swig
  • Mentor : Main: Christian Waechter, (Frieder Pankratz)

6. Matlab Framework

  • Brief Explanation : Similar to the python bindings it would be nice to have bindings for matlab/octave.

  • Expected Result : a math wrapper to provide an consistent interface to a math library of the users's choice
  • Knowledge Prerequisite : C++, Matlab
  • Mentor : Main: Christian Waechter, (Yuta Itoh)

7. Documentation Framework

  • Brief Explanation : Some documentation framework should be integrated into Ubitrack to support developers in generating nice to read end user documentation of own xml descriptions.
  • Expected Result : a tool that analyses own XML-descriptions and generates human readable documentation
  • Knowledge Prerequisite : C++, doxygen, python, html
  • Mentor : Main: Christian Waechter, (Frieder Pankratz)

II. Computer Vision

1. More Generic Homography Estimation

  • Brief Explanation : At the moment the homography estimation within Ubitrack uses point correspondences to estimate a 2D homography. An idea is to generate a more advanced homography estimation algorithm, that can also other geometric entities besides points (e.g. lines, conics, etc.) to calculate the 3-by-3 matrix. This would enable higher level algorithms to make uese of the homography in a more flexible way.

  • Expected Result : a more flexible 2D homograpy estimation
  • Knowledge Prerequisite : C++, Computer Vision (homography)
  • Mentor : Christian Waechter

2. Generic Markertracker Framework

  • Brief Explanation : Ubitrack offers a markertracker algorithm that uses a standard rectangular pattern and binary encoding. The markertracker provides a good basis to develop a framework based on this general approach to support easy new marker variants. The framework should support a flexibility to easily add various types of markers (circular, rectangular, etc.) and different types of encoding, such that new markers can be added to ubitrack with only minimal programming effort.

  • Expected Result : A general marker tracking framework with various marker types provided
  • Knowledge Prerequisite : (templated) C++, Computer Vision
  • Mentor : Main: Christian Waechter, (Yuta Itoh)

3. 3D Reconstruction Framework

  • Brief Explanation : Integration of a modern 3D reconstruction library (e.g. Kinfu etc.) to generate 3D models or structure in real-time from camera/depth sensor observations for an Augmented Reality application. This should also include the integration of an adequate visualization component.
  • Expected Result : A component generates both pose and 3D structure of the scene.
  • Knowledge Prerequisite : C++
  • Mentor : Main: Yuta Itoh, (Christian Waechter)

4. Web based Camera calibration service

  • Brief Explanation : Camera calibration is a standard procedure for augmented reality researchers. Many toolboxes/libraries exist that support the users in their calibration task. However, the installation/use is often complicated or needs access to special software (e.g. Matlab). We would like to offer a (free) web based calibration service based on HTML5 and an underlying calibration library to assist users/developers (and students).

  • Expected Result : an online camera Calibration service
  • Knowledge Prerequisite : C++, ruby, python, OpenCV, HTML5
  • Mentor : Christian Waechter, (Manuel Huber)

Edit | Attach | Refresh | Diffs | More | Revision r1.9 - 14 Feb 2014 - 18:03 - ChristianWaechter

Lehrstuhl für Computer Aided Medical Procedures & Augmented Reality    rss.gif