Wiki
Version 17 (Vadim Pisarevsky, 2013-05-06 09:50 pm) → Version 18/25 (Vincent Rabaud, 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 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,
*** 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
* *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
----
!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 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,
*** 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
* *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
----