Wiki

Version 16 (Vincent Rabaud, 2013-05-06 09:50 pm) → Version 17/25 (Vadim Pisarevsky, 2013-05-06 09:50 pm)

h1. *Ideas Page: OpenCV Google Summer of Code 2013*

!http://code.opencv.org/attachments/1290/LineModUse.png!
This is a picture of the 3D object recognition software LineMod. Recent research contributed to OpenCV. Published at ACCV 2012.
_+From+_: S. Hinterstoisser, V. Lepetit, S. Ilic, S. Holzer, G. Bradski, K. Konolige, N. Navab , _Model Based Training, Detection and Pose Estimation of Texture-Less 3D Objects in Heavily Cluttered Scenes_ "Linemod ACCV 2012":http://campar.cs.tum.edu/Chair/PublicationDetail?pub=hinterstoisser2012accv

General Information:
* "GSoC 2013 site":http://code.google.com/soc/
* "Timeline for GSoC 2013":http://www.google-melange.com/gsoc/events/google/gsoc2013
** *Next important dates:*
*** March 18th-29th: Organization Application deadline.
*** April 8th: Announcement of GSoC Mentoring Orgs. (whether we're in or out)
*** April 9th-21st: *POTENTIAL INTERNS:* Discuss project ideas with us at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2013
*** April 22-May 3rd: Application period
*** May 8th: Slot allocations published
*** May 22nd 12-1PST Dedup meeting
*** May 27th Final project decisions are made
*** June 17th: Let's start coding !!!

Times:
* UTC to PDT (Pacific Daylight Time == Daylight savings time. In winter it's PST).
** "utc time converter":http://weatherarc.com/utc-time-conversion

h2. For students interested in applying

* April 9th-21st: Discuss projects below or other ideas with us https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2013

* *To apply to us: (April 22-May 3rd)*
** Go to http://www.google-melange.com/gsoc/homepage/google/gsoc2013
** Click on "apply"
*** Please note that you +must+ apply to Google
** After the organizations load (takes some time), type in "OpenCV", click on what comes up and apply.
*** [[GSoCApplicationTemplate]] -- This is what we want to know about you

h3. Discuss ideas with us at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2013

h2. Project Idea summary. Contact Discuss with us at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2013 [email protected]

*Students may propose their own projects (give us a clear summary and why you can do this project). However below are some of our priorities for this year*

These are not in order of priority except for the first 2

* *Mobile vision app development:*
** Vision apps on phone and tablet. We want a very clear "hello world" type of example to make it easier for the rest to start developing mobile vision applications. People can apply for:
*** iOS (iPhone) examples
*** Android example

* *Computational Photography*
** Help support the growth of mobile cameras on tablets and phones. Fun stuff and important
*** noise estimation and reduction,
*** tilt-shift images and movies,
*** multi-focal point images,
*** high dynamic range images by composition with different shutter times

* *Vision Applications:*
** We'd like students to build working functionality. Some ideas:
*** Automatically generating comics:
**** See http://www.physorg.com/news/2012-03-software-automatically-movie-comic.html
*** Image Collage -- use python to make it easy to put together a collage of images from a trip etc
**** Annotate the images
**** Do effects like comic life http://plasq.com/products/comiclife/win
*** Hand tracking with the kinect
*** Movie editor with effects. Simple, intuitive to use
*** Point cloud view using depth in OpenCV arrays

* *OpenCL Optmization:*
** We have contributors already, get one or more of them to be GSoC students

* *Mech Turk Interface*
** Easily label images for train test in OpenCV

* *1D and 2D Barcode readers:*
** We have a basic datamatrix reader. Expand to other kinds of barcodes (1D, other 2D).

* *Natural barcodes:*
** OpenCV can read calibration patterns. Calibrate a camera, rectify it's output. Put a picture next to a calibration pattern in a scene. Find 2D interest points with features2D. Measure them in the image using the calibration pattern. Use the pattern of interest points and their measures to turn the picture into a calibration pattern/barcode so that the computer recognizes the picture and knows where it is in relation to the iamge.
*** Stretch goal, embeded and retrieve watermarks in the image.

* *Python examples:*
** We're finding the python interface extremely useful and productive. It needs a lot more examples

* *Tutorials:*
** Continue with "OpenCV Tutorials":http://opencv.itseez.com/doc/tutorials/tutorials.html

* *Inverted index:*
** Help create an _*inverted index*_ of functionality to functions. That is, say, _edge detection_ would list Sobel, Scharr, Canny etc.

* *more Qt integration:*
** multiwindow
** visual output for certain algorithm during the execution (for the different steps)
** visualizer for SfM (basic OpenGL and Qt integration), e.g. : http://www.youtube.com/watch?v=jZlhnguoBag

* *SfM integration:*
** Ceres integration (we need some BA stuff). It depends on Eigen but they just changed their license and that could be a micro-module

* *Matlab integration:*
** we could have somebody writing samples/testing the latest wrapper. Needs: OpenCV knowledge a bit, Python knowledge. Write a script
that takes output from parser (list of classes/methods/functions) and generates C code that is Matlab wrappers (mex knowledge). Find solution to deal with row-major/col major

* *multi-camera calibration:*
** that should be its own micro-module

* *RGBD functions:*
** We already have normal, plane finder, ICP, we could have more maybe: octrees, plane-plane ICP, depth cleaner ...

* *Course-ware:*
** We want to start offering vision courses using OpenCV.
*** If you are expert in a topic (say it's your area of graduate research, or you've just finished a project or course in a particular topic and can explain it well)
*** Write up the topic, the math and then develop a step by step example of it using OpenCV.

* *Generic numerical optimization module:*
** We want to have the package of general purpose optimization methods that can be easily used in computer vision algorithms (ex. downhill simplex method, annealing particle filter).
** This will require a mathematically inclined student and/or one who has taken course work in the area obviously

* *Expose OpenCV GPU functionality into Python API*
** Current Python OpenCV wrappers use @cv::Mat@ <=> Numpy array mapping for passing data between C++ and Python worlds. Aim of this project is to adopt "PyCuda GPUArray":http://documen.tician.de/pycuda/array.html as a counterpart of @GpuMat@.
** This would allow to extend cv2 wrapper generator to expose CUDA-powered OpenCV functions.
** Project requires good knowledge of C++ and Python and willingness to dive into the internals of OpenCV, Python and PyCuda.
** Expect all sorts of gotchas, subtle issues and design discussion with mentors.
** The resulting design decisions can be used to wrap the OpenCV's OpenCL functionality with "PyOpenCL":http://mathema.tician.de/software/pyopencl

h2. Mentors

In the below, get rid of the ''-delete-'' to make the emails work.

Anatoly Baksheev
Researcher, Vision Algorithms on GPU
Argus/Itseez
[email protected]

Serge J. Belongie
Professor Computer Science and Engineering
University of California, San Diego
[email protected]

Alexander Bovyrin
PhD, Senior Researcher
Argus/Itseez founder
NNU Lecturer
[email protected]

Gary Bradski
Founder, Industrial Perception Inc.
Consulting Prof. Stanford U.
OpenCV Founder, Technical Content Owner, GSoC Admin
Co-author of Learning OpenCV Book
http://www.willowgarage.com/pages/people/gary-bradski-senior-researcher
[email protected]

Victor Eruhimov
OpenCV founding team/Senior Researcher
Argus/Itseez founder
NNU Lecturer
[email protected]

Adrian Kaehler
Principle Engineer, Applied Minds
Co-author of Learning OpenCV Book.
[email protected]

Peter Karasev
PhD Student, MINERVA Research Group
Georgia Tech
[email protected]

Kurt Konolige
Founder, Industrial Perception Inc
Consulting Professor, Stanford CS
[email protected]

Caroline Pantofaru
Researcher Scientist in perceiving people
http://www.willowgarage.com/pages/people/caroline-pantofaru-research-scientist
[email protected]

Vadim Pisarevsky
OpenCV founding team/Czar
[email protected]

Vincent Rabaud
Research Engineer/Perception, Willow Garage
[email protected]

Ethan Rublee
Founder, Industrial Perception Inc
Ported OpenCV to Android
See Android vision apps under "Robot view" or "the vegan robot"
[email protected]

Eric Christiansen
PhD Student, UCSD
[email protected]

h3. Back up Mentors

Mark Asbach
Fraunhofer IAIS
Schloss Birlinghoven
Sankt Augustin, Germany
http://mmprec.iais.fraunhofer.de/asbach.html
[email protected]

Nicolas Saunier, Ph.D.
Assistant Professor
Civil, Geological and Mining Department (CGM)
École Polytechnique de Montréal
http://nicolas.saunier.confins.net
[email protected]

Alexander Mordvintsev
Software Engineer
http://znah.net
[email protected]

h2. OpenCV Org. Application to GSoC 2013

[[GSoC2013OpenCVApplication]]

h2. Previous Years

* 2012 Ideas site http://code.opencv.org/projects/gsoc2012/wiki/Wiki/
* 2011 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2011
** 2011 Application GSoC page is http://opencv.willowgarage.com/wiki/GSoC2011OpenCVApplication
* 2010 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2010
** 2010 Application page http://opencv.willowgarage.com/wiki/ApplicationGSOC2010

----