GSoC 2015

Version 1 (Gary Bradski, 2015-11-24 07:05 pm)

1 1
h1. *Ideas Page for OpenCV Google Summer of Code 2015 (GSoC 2015)*
2 1
3 1
THIS NEEDS UPDATING, RIGHT NOW, JUST A COPY OF 2014
4 1
5 1
6 1
*OpenCV winning the Everingham Award at ICCV 2013 for contributions furthering progress in the computer vision community as a whole.*
7 1
!EveringhamAward.jpg!
8 1
9 1
----
10 1
11 1
h2. General Information:
12 1
13 1
* "GSoC 2014 site: http://www.google-melange.com/gsoc/homepage/google/gsoc2014":http://www.google-melange.com/gsoc/homepage/google/gsoc2014
14 1
* Mailing list for OpenCV GSOC 2014: [email protected]
15 1
** Group site https://groups.google.com/forum/#!forum/opencv-gsoc-2014
16 1
* "Timeline for GSoC 2014":http://www.google-melange.com/gsoc/events/google/gsoc2014
17 1
** *Next important dates:*
18 1
*** -March 21: Final call to register with GSoC and submit a project to OpenCV-
19 1
*** -Interim period all mentors go to https://www.google-melange.com/gsoc/proposal/list/org/google/gsoc2014 and rate the proposals-
20 1
*** -April 6 OpenCV Request how many slots we want-
21 1
*** -April 9 Slot allocations published-
22 1
*** -Talk amongst your orgs for slots-
23 1
*** -April 18: *All mentors must be signed up. Deduplication Meeting*-
24 1
*** -April 21 Project selections announced-
25 1
*** -May 19 Coding starts!-
26 1
*** -June 23-27 Midterm-
27 1
*** -Aug 11 Documentation, Youtube video (*MUST BE DONE*)-
28 1
*** -Aug 18 It's over folks-
29 1
*** -Aug 25 Results are posted-
30 1
*** Oct 23-26 Mentor summit
31 1
32 1
* we'll create a video just like we did last year http://www.youtube.com/watch?v=_TTtN4frMEA
33 1
34 1
*Times:*
35 1
*  UTC to PDT (Pacific Daylight Time == Daylight savings time. In winter it's PST).
36 1
** "utc time converter":http://weatherarc.com/utc-time-conversion
37 1
38 1
*Resources:*
39 1
40 1
* "OpenCV Developers Site":http://code.opencv.org/projects/opencv/wiki
41 1
* "OpenCV User's Site":http://opencv.org
42 1
* [[How_to_contribute|How to Contribute Code]]
43 1
* Source Code can be found at "GitHub":https://github.com/Itseez/opencv. 
44 1
** To get the source code, point your git client to @git://github.com/Itseez/opencv.git@. Here are [[Working_with_OpenCV_git_repository|instructions]].
45 1
<pre>
46 1
git clone git://github.com/Itseez/opencv.git
47 1
</pre>
48 1
** The rest of the history plus matches between git commits and SVN revisions are stored at a separate "OpenCV Attic" repository: git://code.opencv.org/opencv_attic.git.
49 1
** Also OpenCV Extra was put to a separate repository: git://code.opencv.org/opencv_extra.git.
50 1
* [[OpenCV Development Process]]
51 1
** [[Meeting_notes|Developer meeting notes]]
52 1
53 1
h2. For students or mentors interested in applying
54 1
55 1
* You *must* already know how to program well in C++
56 1
** Some projects may require Python or Matlab skills
57 1
* Discuss projects below or other ideas with us https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2014
58 1
59 1
h1. Accepted Projects for OpenCV GSoC 2014:
60 1
61 1
OpenCV GSoC 2014 students, projects, mentors are below.
62 1
Mentor "link to spreadsheet and email is here":https://docs.google.com/spreadsheet/ccc?key=0AqJ64DhFuODLdFF1ZnRWSFhTd1NLcHdNaFgtU2M5ekE&usp=sharing .
63 1
64 1
<pre>
65 1
Student                 Project                                           Mentor(s)
66 1
=======                 =======                                           ========
67 1
Lluis Gomez             Improve Scene Text Detection module in OpenCV     Stefano Fabri, Vadim Pisarevsky 
68 1
Abid Rahman             Extend of OpenCV-Python Bindings and Tutorials    Vadim Pisarevsky 
69 1
Fedor Morozov	       Local feature descriptors                         Pablo Alcantarilla
70 1
Siddharth Kherada       Computational Photography: Image Decomp  Color    spmallick
71 1
Daniel Angelov	      Custom Calibration Pattern                        Sid Bao
72 1
Vitaly Lyudvichenko     New edge-aware filters for OpenCV	             Alexander Mordvintsev
73 1
Alex Leontiev 	      Learning based trackers 	                      Gary Bradski
74 1
Tolga Bridle            Rec & Pose Est of 3D Objects via 3D Features	  Bence Magyar
75 1
Francesco Puja          Saliency improvement for tracking                 Antonella Cascitelli
76 1
edgarriba               Real Time Pose Est Tutorial and DLS impl.         Alexander Shishkov
77 1
Yuri Gitman	         P. Dollar segmentation algorithm                  Alexander Shishkov
78 1
Vlad Shakhuro	       Fastest Pedestrian Detector in the West           Alexander Bovyrin
79 1
biagio	              Geometrical-primitives based localization system  Manuele Tamburrano
80 1
Tomasz Pietruszka	   Optical Flow Estimation – state-of-the-art        Prasanna Krishnasamy
81 1
Paul Foster	         Dense Tracking and Mapping (DTAM) for OpenCV      Vincent Rabaud
82 1
</pre>
83 1
84 1
Project notes are compiled "here":https://sites.google.com/a/opencv.org/opencv/gsoc-2014-project-notes .
85 1
86 1
h1. Project Ideas summary:
87 1
88 1
*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*
89 1
90 1
Contact us and/or discuss ideas at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2014
91 1
92 1
+These are not in order of priority+
93 1
94 1
* Finger print detection (Prasanna Krishnasamy)
95 1
** Implement the detectors associated with MINDTCT and other algorithms
96 1
** Full recognition pipeline as done by NIST
97 1
*** Some description can be found here: http://www.nist.gov/itl/iad/ig/nbis.cfm
98 1
99 1
* Quadrotor / quadcopter computer vision (Gary Bradski)
100 1
** Implement hovering, tracking other algorithms
101 1
** Due to the nature of this, you should have a working quad rotor craft with camera and feedback to work with
102 1
103 1
* Expand the Matlab port from GSoC 2013
104 1
** Matlab will likely continue to mentor
105 1
** http://www.mathworks.com/discovery/matlab-opencv.html
106 1
107 1
* Graphics rendering expert: Create a data set generator for OpenCV
108 1
** We want to take a 3D scan or CAD model of a rigid object, and 
109 1
*** render it 1000's of times
110 1
*** in different lightings
111 1
*** using settable camera parameters (OpenCV structure)
112 1
*** outputting the rendered image and the ground truth mask and 6DOF pose
113 1
** We also want to do the same thing with humans and/or hands
114 1
*** Use makehuman + blender + poser or any other tool
115 1
*** Create humans/hands in 1000's of poses, lightings etc
116 1
117 1
* We would like to create a "High school robotics competition intelligent vision package" to allow high school robot competitions to be more autonomous
118 1
** In Python
119 1
*** Calibration
120 1
*** Stereo
121 1
*** Planar object detection and tracking
122 1
*** Object tracking (such as balls)
123 1
124 1
* Expand 3D processing in OpenCV already in the "RGBD module":https://github.com/Itseez/opencv_contrib/tree/master/modules/rgbd
125 1
** Surface curvature
126 1
** Basic 3D features
127 1
** ICP step to improve LINE-MOD
128 1
129 1
* Expand OpenCV Viz module
130 1
** +Mentor:+ Anatoly Baksheev
131 1
** Integration message loops highgui & viz. For now they are handled separately by waitKey & Viz3d::spin()
132 1
** More widgets (like human body/hand/skeletons visualization, need to generate more ideas)
133 1
** More widgets (free-fly mode, possible will be done before GSoC by me)
134 1
135 1
* Code up Piotr Dollár's method of segmentation, make it fast 
136 1
** Matlab implementation:
137 1
*** http://vision.ucsd.edu/~pdollar/toolbox/doc/
138 1
** http://vision.ucsd.edu/~pdollar/files/papers/DollarICCV13edges.pdf
139 1
** http://research.microsoft.com/en-us/downloads/389109f6-b4e8-404c-84bf-239f7cbf4e3d/default.aspx
140 1
141 1
* Code up Piotr Dollár's __The Fastest Pedestrian Detector in the West__
142 1
** Paper: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.310.8578&rep=rep1&type=pdf
143 1
144 1
* Automatically generating comics: 
145 1
** See http://www.physorg.com/news/2012-03-software-automatically-movie-comic.html
146 1
** Do effects like comic life http://plasq.com/products/comiclife/win
147 1
148 1
* Finish off OpenCV's Soft Cascades, use it to detect faces in many orientations
149 1
** Existing OpenCV code documentation: http://docs.opencv.org/trunk/modules/objdetect/doc/soft_cascade.html
150 1
** Original paper: http://www.lubomir.org/academic/softcascade.pdf
151 1
*** training, new features, detection
152 1
*** interframe interpolation and smoothing
153 1
*** outlier supression
154 1
155 1
* Continue on and expand the computational photography project from GSoC 2013
156 1
** http://docs.opencv.org/trunk/doc/py_tutorials/py_photo/py_table_of_contents_photo/py_table_of_contents_photo.html
157 1
** http://docs.opencv.org/modules/photo/doc/photo.html
158 1
** Help support the growth of mobile cameras on tablets and phones. Fun stuff and important
159 1
*** tilt-shift images and movies,
160 1
*** high dynamic range images by composition with different shutter times
161 1
**** 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.
162 1
*** Fun effects -- converting images and videos to line drawings
163 1
*** 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
164 1
165 1
* Mobile vision app development:
166 1
** Vision apps on phone and tablet. We want a very clear examples to build on to make it easier for the rest to start developing mobile vision applications. People can apply for:
167 1
*** iOS (iPhone) examples
168 1
*** Android example
169 1
170 1
* Tracking -- predator (tracking, detection + learning) or Alien type tracker
171 1
 ** Basically: learning based trackers
172 1
 *** Draw box, resize
173 1
 *** Box distortion 
174 1
 *** Look for candidates
175 1
176 1
 * Update solvePnP (fundamental algorithm)
177 1
 ** http://www-users.cs.umn.edu/~joel/index.php?page=software
178 1
179 1
 * Update to state of the art Optical flow
180 1
 ** State of art http://www.ingentaconnect.com/content/klu/visi/2014/00000106/00000002/00000644
181 1
 ** Prepare testing framework for quality
182 1
 *** Have frameworks for features and stereo already
183 1
184 1
* Mech Turk Interface
185 1
** Easily label images for train test in OpenCV
186 1
187 1
* OpenCL Optmization:
188 1
** We have contributors already, get one or more of them to be GSoC students
189 1
190 1
* Object Recognition
191 1
** New, post Line-Mod object recognition
192 1
** +Menor:+ Manuele Tamburano
193 1
*** Binarizzation of a new line descriptor[1] and adapting 
194 1
*** "Fast exact nearest neighbor search in Hamming distance on binary codes with Multi-index hashing" code[2].
195 1
**** [1]http://www.sciencedirect.com/science/article/pii/S1047320313000874
196 1
**** [2]https://github.com/norouzi/mih
197 1
** write a trainer for Deva Ramanan's parts-based detector https://github.com/wg-perception/PartsBasedDetector
198 1
199 1
* Camera based 1D and 2D Barcode readers. OpenCV needs this, robotics needs this
200 1
** +Mentor:+ Claudia Rapuano
201 1
** We have a basic datamatrix reader.  Expand to other kinds of barcodes (1D, other 2D).
202 1
203 1
*  Improve tracking API module in contrib created for Gsoc 2013.
204 1
** +Mentor:+ Antonella Cascitell
205 1
** Add Reidentification on the tracking (allows tracking to re-find the object if lost)
206 1
** Add camera network activity sub-modual
207 1
** Add saliency module for the tracking modual 
208 1
209 1
* Natural barcodes:
210 1
* +Mentor:+ Gary Bradski
211 1
** OpenCV can read calibration patterns. 
212 1
*** Calibrate a camera, 
213 1
*** rectify it's output. 
214 1
*** Put a picture next to a calibration pattern in a scene. 
215 1
*** Find 2D interest points with features2D. 
216 1
*** Measure them in the image using the calibration pattern. 
217 1
*** 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.
218 1
** Stretch goal, embeded and retrieve watermarks in the image.
219 1
220 1
* Ego-centric vision:
221 1
** maybe something like "Pixel-level Hand Detection for Ego-centric Videos." in CVPR 2013
222 1
** Combine with depth sensing from the kinect
223 1
224 1
* Geometry:
225 1
** DTAM implementation
226 1
** write tutorials for the libmv integration from the previous years (on "GitHub":https://github.com/wg-perception/libmv), improve the CERES integration
227 1
** create a structure for camera matrix information (K, D, colorspace ...)
228 1
229 1
* Tutorials:
230 1
** Continue with "OpenCV Tutorials":http://opencv.itseez.com/doc/tutorials/tutorials.html
231 1
232 1
* OpenCV Documentation:
233 1
** Add to the general documentation for all platforms: C++, CUDA, OpenCL, Python 2/3, Java, ... and smart search.
234 1
** Help create an _*inverted index*_ of functionality to functions.  That is, say, _edge detection_ would list Sobel, Scharr, Canny etc.
235 1
236 1
* Course-ware:
237 1
** We want to start offering vision courses using OpenCV. 
238 1
*** 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)
239 1
*** Write up the topic, the math and then develop a step by step example of it using OpenCV.
240 1
241 1
* Expose OpenCV GPU functionality into Python API
242 1
** 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@.
243 1
** This would allow to extend cv2 wrapper generator to expose CUDA-powered OpenCV functions.
244 1
** Project requires good knowledge of C++ and Python and willingness to dive into the internals of OpenCV, Python and PyCuda.
245 1
** Expect all sorts of gotchas, subtle issues and design discussion with mentors.
246 1
** The resulting design decisions can be used to wrap the OpenCV's OpenCL functionality with "PyOpenCL":http://mathema.tician.de/software/pyopencl
247 1
248 1
249 1
250 1
h2. Mentors
251 1
252 1
*Actual signed up mentors*
253 1
254 1
* Alexander Mordvintsev	zzznah(+)gmail.com
255 1
* Sid Bao	ybao(+)magicleap.com
256 1
* Vincent Rabaud	vincent.rabaud(+)gmail.com
257 1
* Vadim Pisarevsky	vadim.pisarevsky(+)gmail.com
258 1
* Adrian Kaehler	therealadrian(+)gmail.com
259 1
* Terry Boult	tboult(+)vast.uccs.edu
260 1
* spmallick	spmallick(+)taaz.com
261 1
* Serge Belongie	sjb344(+)cornell.edu
262 1
* Stefano	s.fabri10(+)gmail.com
263 1
* Prasanna	pras.bits(+)gmail.com
264 1
* Pablo Alcantarilla	pablofdezalc(+)gmail.com
265 1
* Bence Magyar	mw.mzperx(+)gmail.com
266 1
* Manuele	manuele.tamburrano(+)gmail.com
267 1
* Grace Vesom	grace.vesom(+)gmail.com
268 1
* Open Source Computer Vision Library (OpenCV)	garybradski(+)gmail.com
269 1
* Douglas Lee	dougabug(+)gmail.com
270 1
* Claudia Rapuano	c.rapuano(+)gmail.com
271 1
* Antonella Cascitelli	antonellacascitelli(+)gmail.com
272 1
* Anatoly Baksheev	anatoly.baksheev(+)itseez.com
273 1
* Alexander	alexander.shishkov(+)itseez.com
274 1
* Alexander Bovyrin	alexander.bovyrin(+)itseez.com
275 1
276 1
277 1
278 1
In the below, get rid of the ''-delete-'' to make the emails work.
279 1
280 1
 Anatoly Baksheev
281 1
 Researcher, Vision Algorithms on GPU
282 1
 Argus/Itseez
283 1
 [email protected]  
284 1
 
285 1
  Alexander Bovyrin
286 1
  PhD, Senior Researcher
287 1
  Argus/Itseez founder
288 1
  NNU Lecturer
289 1
  [email protected]
290 1
291 1
 Gary Bradski
292 1
 Founder, Industrial Perception Inc.
293 1
 Consulting Prof. Stanford U.
294 1
 OpenCV Founder, Technical Content Owner, GSoC Admin
295 1
 Co-author of Learning OpenCV Book
296 1
 http://www.willowgarage.com/pages/people/gary-bradski-senior-researcher
297 1
 [email protected]
298 1
299 1
 Antonella Cascitelli
300 1
 Grad student, University of Rome
301 1
 [email protected]
302 1
303 1
 Eric Christiansen
304 1
 PhD, UCSD
305 1
 [email protected]
306 1
307 1
 Stefano Fabri
308 1
 CRR Team leader, University of Rome
309 1
 [email protected]
310 1
311 1
 Victor Eruhimov
312 1
 OpenCV founding team/Senior Researcher
313 1
 Argus/Itseez founder
314 1
 NNU Lecturer
315 1
 [email protected]
316 1
317 1
 Adrian Kaehler
318 1
 Principle Engineer, Applied Minds
319 1
 Co-author of Learning OpenCV Book.
320 1
 [email protected]
321 1
322 1
 Peter Karasev
323 1
 PhD Student, MINERVA Research Group
324 1
 Georgia Tech
325 1
 [email protected]
326 1
327 1
 Vadim Pisarevsky
328 1
 OpenCV founding team/Czar
329 1
 [email protected]
330 1
331 1
 Manuele Tamburrano
332 1
 Grad Student, University of Rome
333 1
 [email protected]
334 1
335 1
 Vincent Rabaud
336 1
 Principle Engineer, Aldebaran Robotics
337 1
 [email protected]
338 1
339 1
  Claudia Rapuano
340 1
  Grad student, University of Rome
341 1
  [email protected]
342 1
 
343 1
 Grace Vesom
344 1
 Lawrence Livermore 
345 1
 -delete-grace.vesom@-delete_gmail.com
346 1
347 1
 Bence Magyar
348 1
 Pal Robotics
349 1
 [email protected]
350 1
351 1
 Pablo Alcantarilla
352 1
 Toshiba Research Europe Ltd.
353 1
 [email protected]
354 1
355 1
h3.  Back up Mentors
356 1
357 1
 Mark Asbach
358 1
 Fraunhofer IAIS
359 1
 Schloss Birlinghoven
360 1
 Sankt Augustin, Germany
361 1
 http://mmprec.iais.fraunhofer.de/asbach.html
362 1
 [email protected]
363 1
364 1
365 1
 Nicolas Saunier, Ph.D.
366 1
 Assistant Professor
367 1
 Civil, Geological and Mining Department (CGM)
368 1
 École Polytechnique de Montréal
369 1
 http://nicolas.saunier.confins.net
370 1
 [email protected]
371 1
372 1
373 1
 Alexander Mordvintsev
374 1
 Software Engineer
375 1
 http://znah.net
376 1
 [email protected]
377 1
378 1
 Andrey Morozov
379 1
 Software Engineer
380 1
 Argus/Itseez
381 1
 [email protected] 
382 1
383 1
h2. OpenCV Org. Application to GSoC 2014
384 1
385 1
"OpenCV GSoC Application":http://code.opencv.org/projects/gsoc2013/wiki/GSoC2013OpenCVApplication
386 1
387 1
h2. Previous Years 
388 1
389 1
* "Google Summer of Code 2013 (GSoC 2013) Ideas Page":http://code.opencv.org/projects/gsoc2013/wiki
390 1
* 2012 Ideas site http://code.opencv.org/projects/gsoc2012/wiki/Wiki/
391 1
* 2011 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2011
392 1
** 2011 Application GSoC page is http://opencv.willowgarage.com/wiki/GSoC2011OpenCVApplication
393 1
* 2010 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2010
394 1
** 2010 Application page http://opencv.willowgarage.com/wiki/ApplicationGSOC2010
395 1
396 1
----