Wiki

Version 22 (Vincent Rabaud, 2013-05-06 09:50 pm) → Version 23/25 (Gary Bradski, 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://www.google-melange.com/gsoc/homepage/google/gsoc2013
* Discussion/application email: [email protected]
* "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 or mentors 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 us at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2013

*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
**** DCT-based algorithm for image denoising looks quite simple and worth trying: http://www.ipol.im/pub/art/2011/ys-dct/
*** tilt-shift images and movies,
*** multi-focal point images,
*** high dynamic range images by composition with different shutter times
**** another important topic on HDR imaging is squeezing all information from 10-12-14bit raw file into 8-bit, in other words, single-shot HDR. It's true that many modern video cameras have quite small sensor and quite small dynamic range, but we can still try to recover highlight details by careful demosaicing combined with dynamic range optimization.
*** Fun effects -- converting images and videos to line drawings
*** Color balance, take a Macbeth color chart and fill in the 3x3 transform look up matrix, implement something like http://graphics.ucsd.edu/~neel/publications/masters_thesis.pdf


* *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).

* *Ego-centric vision:*
** maybe something like "Pixel-level Hand Detection for Ego-centric Videos." in CVPR 2013

* *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

* *Python:*
** we had a great GSOC about Python last year. How about Python 3/Numpy 2 support ?

* *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

----