Open Detection  1.0
GSoC 2017 Ideas

Google Summer of Code 2017 - Ideas

Student participating should already have some idea of the detection framework of the library. The best way to get started is to follow some examples and demos after going through Getting Started guide.

Application should go through the mentors for few iterations. Post the application to the the respective mentors and not to the group. We would like to keep student application's material private so nobody gets intimidated by some other's application. The mentors will then discuss with the applicant with more depth based on the applicant's expertise.

Basic principles

The main philosophy of this library is to provide user detection/recognition algorithms in a common, intuitive and user-friendly APIs (perhaps we want to build up a structure similar to VTK for object detection algorithms). This is the only reason we have this separate library. Therefore, please go through the existing classes to understand the framework before your application.

Thus, all the algorithms/methods you propose in your application have to extend the previous interfaces which will abstract all the implementation details from the user, and at the same time provide users the ability to configure with parameters. In other words, we don't want one of the many demo applications of detection algorithms. We want the detection algorithms under the existing APIs (Trainers and Detectors). This should be the main focus of the contribution.

Project Idea summary

Following are the list of ideas we will focus for this time in decreasing order of priority.

Improving the Framework for CNNs for 2D detection

Key tasks:

  • Make a short report of the popular and state-of-the-art detection/recognition techniques (to let us know that you have the proficiency in this area)
  • Add CNN based algorithms in the library with OpenDetection Compatible APIs in the following order: -
  • Implement OD interface for training and testing (under od::ODTrainer s) neural network architectures with convolutional layer and possible recurrent layers using Caffe.
  • Add to OpenDitection the following algorithms: .. 1. Classification - Types: different options - AlexNet, VGG, Resnet50, Resnet150, GoogLenet. .. 2. Detection - Faster RCNN .. 3. Location probability map

Skills needed: Good background in Computer Vision research and CNN. We are expecting a graduate student with computer vision/machine learning as his/her research topic.

Mentors: Kripasindhu Sarkar, Aditya Tewari

Standardizing all state of the art detection algorithms.

How do we bring make the state of the art to a common platform? This projects aims to bring everything to a common interface. This will enable researcher to evaluate their algorithms easily. Initial tasks are:

  • Identify popular publically available datasets.
  • Provide easy APIs for classification/detection in 2D and 3D to evaluate on the respective datasets of a new algorithm.

This could be improved and designed better. The project design should evolve with time.

Skills needed: Good background in Computer Vision research and CNN. We are expecting a graduate student with computer vision/machine learning as his/her research topic.

Mentors: Kripasindhu Sarkar, Aditya Tewari

Python binding

Current opendetection implementation is done on C++, however lots of people use python, specially when it comes to rapid prototyping. Having python bindings in our library will help spread the use of the library and expand the options it offers to the users.

Skills needed: Python, C++, CMake

Mentors: Marco A. Gutiérrez, Kripasindhu Sarkar

Development of examples and tutorials

Learn by example is a very big and important issue when users come to a new technology. We believe that a nice set of examples and tutorials can help make the user base of OpenDetection grow. They should be easy to follow and test. This can also help get developers interested in collaborating with our community. Skills needed: C++, Markup languages, CMake

Mentors: Marco A. Gutiérrez, Kripasindhu Sarkar

Ease library deployment, automated dependencies installation.

As a high level development robotics oriented computer vision library it stands on top of other software. Reducing this dependencies to a maximum and easing installation procedures, like fixing dependencies can also help overcome the initial problems a future user might have when starting to use opendetection. This also includes the development of different operating systems packages for easy installation.

Skills needed: CMake, package management knowledge, C++

Mentors: Marco A. Gutiérrez, Kripasindhu Sarkar

Mentors:

Kripasindhu Sarkar
PhD Student, Augmented Vision Group, 
German Research Center for Artificial Intelligence (DFKI), Kaiserslautern
kripasindhu.sarkar@dfki.de             

Aditya Tewari  
PhD Student, Augmented Vision Group, 
German Research Center for Artificial Intelligence (DFKI), Kaiserslautern
aditya.tewari@dfki.de

Marco A. Gutiérrez    
PhD Student, RoboLab,
University of Extremadura
marcog@unex.es