GSoC 2015

Version 33 (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 27 Gary Bradski
"We are an accepted organization in GSoC 2015!":http://www.google-melange.com/gsoc/org2/google/gsoc2015/opencv
4 1
5 1
6 3 Gary Bradski
*OpenCV 3D recognition and pose from last year.*
7 11 Gary Bradski
!3D_recog.jpg!
8 1
9 1
----
10 1
11 1
h2. General Information:
12 1
13 3 Gary Bradski
* "GSoC 2015 site: http://www.google-melange.com/gsoc/homepage/google/gsoc2015":http://www.google-melange.com/gsoc/homepage/google/gsoc2015
14 3 Gary Bradski
* Mailing list for OpenCV GSOC 2015: [email protected]
15 3 Gary Bradski
** Group site https://groups.google.com/forum/#!forum/opencv-gsoc-2015
16 3 Gary Bradski
* "Timeline for GSoC 2015":http://www.google-melange.com/gsoc/events/google/gsoc2015
17 3 Gary Bradski
18 1
** *Next important dates:*
19 7 Gary Bradski
*** -Feb 20 19:00 UTC: Organization Application Deadline.- *DONE!*
20 26 Gary Bradski
*** -Mar 02 19:00 UTC: List of accepted Organizations.- *We're in!*
21 33 Gary Bradski
*** -Mar 16 16:00 UTC: Student Application period begins!- *Students Apply!*
22 3 Gary Bradski
*** Mar 27 19:00 UTC: Student Application period ends!
23 3 Gary Bradski
*** Apr 13 Deadline for OpenCV to request # of slots.
24 3 Gary Bradski
*** Apr 15 Google publishes how many slots we get.
25 3 Gary Bradski
*** Apr 21 Try to eliminate duplication of students.
26 3 Gary Bradski
*** Apr 24 IRC for OpenCV to resolve all duplications.
27 3 Gary Bradski
*** Apr 27 19:00 UTC: Accepted students announced.
28 3 Gary Bradski
*** May 25 Let Coding begin!
29 3 Gary Bradski
*** Jun 26 19:00 UTC: Mid term evaluation begins.
30 3 Gary Bradski
*** Jul 03 19:00 UTC:  Mid term end.
31 3 Gary Bradski
*** Aug 21 19:00 UTC: Coding stop; Pull requests must be in; Mentors: final evaluation begins...
32 3 Gary Bradski
*** Aug 28 19:00 UTC: Final evaluation deadline; Students begin submitting code.
33 3 Gary Bradski
*** Sept 25 19:00 UTC: Deadline for Google Code submission
34 3 Gary Bradski
*** Oct 24-25: Mentor Summit!
35 1
36 29 Gary Bradski
* we'll create a video just like we did in the
37 29 Gary Bradski
** "OpenCV GSoC 2014 Movie":https://www.youtube.com/watch?v=7WUZA_KIIRA&feature=youtu.be
38 29 Gary Bradski
** "OpenCV GSoC 2013 Movie":http://www.youtube.com/watch?v=_TTtN4frMEA
39 1
40 1
*Times:*
41 25 Gary Bradski
*  UTC to PDT (California uses PST in the winter (from Nov 1st) and PDT in the summer (from March 8)).
42 25 Gary Bradski
** "utc time converter":http://www.timebie.com/std/gmt.php
43 1
44 1
*Resources:*
45 1
46 1
* "OpenCV Developers Site":http://code.opencv.org/projects/opencv/wiki
47 1
* "OpenCV User's Site":http://opencv.org
48 1
* [[How_to_contribute|How to Contribute Code]]
49 1
* Source Code can be found at "GitHub":https://github.com/Itseez/opencv. 
50 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]].
51 1
<pre>
52 1
git clone git://github.com/Itseez/opencv.git
53 1
</pre>
54 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.
55 1
** Also OpenCV Extra was put to a separate repository: git://code.opencv.org/opencv_extra.git.
56 1
* [[OpenCV Development Process]]
57 1
** [[Meeting_notes|Developer meeting notes]]
58 1
59 27 Gary Bradski
h2. How you will be evaluated if you are an accepted student
60 27 Gary Bradski
61 27 Gary Bradski
* Student projects to be paid only if:
62 27 Gary Bradski
** *Midterm:*
63 28 Gary Bradski
*** You must generate a pull request
64 27 Gary Bradski
**** That builds
65 27 Gary Bradski
**** Has at least stubbed out functionality
66 27 Gary Bradski
**** With appropriate Doxygen documentation
67 27 Gary Bradski
**** Has at least stubbed out unit test
68 27 Gary Bradski
**** Has a stubbed out example of use that builds
69 27 Gary Bradski
** *End of summer:*
70 27 Gary Bradski
*** A full pull request
71 27 Gary Bradski
**** Full Doxygen documentation
72 27 Gary Bradski
**** A good unit test
73 27 Gary Bradski
**** Example of use code
74 27 Gary Bradski
*** Create a (short!) Movie (preferably on Youtube, but any movie) that demonstrates your code
75 27 Gary Bradski
**** We use this to create an overall summary. Past years:
76 27 Gary Bradski
***** "The 2014 Movie":https://www.youtube.com/watch?v=7WUZA_KIIRA&feature=youtu.be
77 27 Gary Bradski
***** "The 2013 Movie":https://www.youtube.com/watch?v=_TTtN4frMEA
78 27 Gary Bradski
79 31 Gary Bradski
80 31 Gary Bradski
h2. For students interested in applying
81 31 Gary Bradski
82 31 Gary Bradski
# You *must* already know how to program well in C++
83 31 Gary Bradski
** Some projects may require Python or Matlab skills
84 31 Gary Bradski
# Discuss projects below or other ideas with us https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2015
85 31 Gary Bradski
# Go to the "GSoC site":http://www.google-melange.com/gsoc/homepage/google/gsoc2015 and sign up
86 31 Gary Bradski
# Post the project from below or your own agreed on project on the GSoC site to the Open Source Computer Vision organization
87 31 Gary Bradski
88 30 Gary Bradski
h2. For computer vision professionals interested in mentoring
89 30 Gary Bradski
90 30 Gary Bradski
# Go to the "GSoC site":http://www.google-melange.com/gsoc/homepage/google/gsoc2015 and sign up.
91 30 Gary Bradski
# Request to be a mentor for OpenCV there.
92 30 Gary Bradski
# We accept or reject you
93 30 Gary Bradski
# Students submit projects and you 
94 30 Gary Bradski
** find a project you want to mentor (several students might try for the same project)
95 30 Gary Bradski
** contact us about it through [email protected] so we can be sure there is not someone already handling that project
96 30 Gary Bradski
** contact the students to assess which one if any are capable of coding that up in a summer.
97 30 Gary Bradski
# We get a slot allocation from Google, the administrators then _"spend"_ the slots in order of priority
98 30 Gary Bradski
# Students must finally actually accept to do that project (some sign up for multiple organizations and then choose)
99 1
100 1
*If* you are accepted as a mentor *and* you find a suitable student *and* we give you a slot *and* the student signs up for it, +*then*+ you are a mentor. 
101 1
** It sounds harder than it is.
102 4 Gary Bradski
103 1
104 1
<pre>
105 12 Gary Bradski
\/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/
106 9 Gary Bradski
</pre>
107 9 Gary Bradski
108 8 Gary Bradski
h1. 2015 Project Ideas:
109 1
110 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* Contact us and/or discuss ideas at https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2015
111 1
112 19 Gary Bradski
_These are not in order of priority_
113 19 Gary Bradski
114 9 Gary Bradski
*1 Google Cardboard*
115 9 Gary Bradski
* Do visual odometry, SLAM etc for Google Cardboard
116 1
117 9 Gary Bradski
*2 Projection mapping (Projected Augmented Reality)*
118 9 Gary Bradski
* Calibrate a camera to a projector
119 9 Gary Bradski
* Put out structured light to learn the 3D map of what's in front of the camera
120 9 Gary Bradski
* Project the camera image, suitably rotated and shifted onto the scene
121 1
* Unity or some other program to start transforming the scene for projection mapping
122 1
** See http://www.creativebloq.com/video/projection-mapping-912849 to get ideas of what you can do with this
123 1
124 1
*3 Update OpenCV file storage so that it's readable by Python in OpenCV (move to YAML 1.2 Edition 3)*
125 1
* Mentor Prasanna
126 1
* OpenCV C++ writes out its own YAML tags which makes it incompatible with it's own Python and with external python readers
127 18 Gary Bradski
* Speedup fs reading/writing, add JSON support, add base64 (+RLE) support for large amounts of numerical data
128 1
* References
129 1
** YAML http://www.yaml.org
130 14 Gary Bradski
** Problem statement: http://stackoverflow.com/questions/11141336/filestorage-for-opencv-python-api
131 14 Gary Bradski
132 14 Gary Bradski
*4 Stereo correspondence improvements*
133 14 Gary Bradski
* More accurate and faster stereo correspondence (StereoBM/StereoSGBM) by using LBP/BRIEF/DAISY etc. per-pixel descriptors instead of sum-of-absolute-differences.
134 14 Gary Bradski
135 14 Gary Bradski
*5 Self-contained video codec(s)*
136 14 Gary Bradski
* There is draft version of self-contained motion jpeg encoder to be integrated to OpenCV.
137 14 Gary Bradski
* We will also need decoder, 12-bit jpeg support, multi-threaded encoder and decoder.
138 14 Gary Bradski
* There are some other codecs, like libvpx, which we can support and link right into highgui, without dependency from ffmpeg/libav.
139 14 Gary Bradski
140 1
*6 Deep learning*
141 19 Gary Bradski
* It would be cool if OpenCV could load and run deep networks trained with popular DNN packages like Caffe, Theano or Torch.
142 14 Gary Bradski
* GPU/OpenCL optimization and/or other optimizations (that can partly be contributed back to the upstream projects) are also encouraged.
143 14 Gary Bradski
144 14 Gary Bradski
*7 Better interactive camera calibration*
145 14 Gary Bradski
* Modern algorithms would allow us to recompute camera parameters after almost each frame, compute reprojection error, compute confidence intervals for the parameters.
146 14 Gary Bradski
* the partially occluded calibration patterns could be handled somehow to, especially if we want to estimate intrinsic parameters only.
147 14 Gary Bradski
* the application may show us the areas where the corner borders have been shown so that user can see how good are the data
148 1
149 20 Gary Bradski
*8 Create a much better calibration target, we will call it "Charuco*
150 19 Gary Bradski
* We know how to combine Aruco targets with checker boards to create a "super calibration" object
151 19 Gary Bradski
* It also can express ~1 billion distinct codes
152 19 Gary Bradski
* Implement  this for OpenCV
153 22 Gary Bradski
** "Aruco target finding description":http://www.uco.es/investiga/grupos/ava/node/26
154 22 Gary Bradski
** Great overview
155 23 Gary Bradski
*** "Automatic generation and detection of highly reliable fiducial markers under occlusion":http://www.uco.es/investiga/grupos/ava/sites/default/files/GarridoJurado2014.pdf
156 22 Gary Bradski
** A similar system to Arcuo: "AprilTag: A robust an dflexible visual fiducial system":http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5979561&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5979561
157 19 Gary Bradski
158 20 Gary Bradski
*9 Color Calibration and white balance* 
159 19 Gary Bradski
* With McBeth chart and with gray world algorithm (improve exisiting color constancy algorithms)
160 19 Gary Bradski
* Possibly collect deep learning way of doing this (needs large training set)
161 19 Gary Bradski
162 21 Gary Bradski
*10 Realtime image preprocessing algorithms (real time on mobile)*
163 21 Gary Bradski
* We and many other OpenCV users would definitely enjoy very fast denoising, color improvements, white balance etc. algorithms.
164 21 Gary Bradski
165 21 Gary Bradski
*11 Tracking improvements*
166 14 Gary Bradski
* TLD algorithm is implemented in OpenCV, but it needs improvements and optimizations.
167 20 Gary Bradski
* ASM/AAM can also be implemented, as well as the particle filter.
168 15 Gary Bradski
 
169 14 Gary Bradski
170 20 Gary Bradski
*12 PBM (part-based models) improvements*
171 15 Gary Bradski
* There is latentsvm package in opencv_contrib that needs to be improved (quality-wise and speed-wise).
172 15 Gary Bradski
* Adding training, even if it involves execution of external svmperf or other tool, is definitely appreciated too.
173 14 Gary Bradski
174 20 Gary Bradski
*13 Improving ICF/ACF + <some>Boost training and detection*
175 14 Gary Bradski
* In opencv_contrib there is initial version of the training application and detector based on integral channel features and boosting. Further improvements of this part would be really useful.
176 14 Gary Bradski
177 20 Gary Bradski
*14 numl+OpenCV, lua+OpenCV*
178 14 Gary Bradski
* there is emerging numl language, suitable for implementation of complex computationally-intensive algorithms. OpenCV bindings for this language would be really useful.
179 1
* the other language that is now used more often for ML and CV (thanks to Torch) is Lua; there are old bindings for a tiny part of OpenCV; could be useful to extend our autogenerated bindings to Lua.
180 1
181 20 Gary Bradski
*15 human interaction*
182 17 Gary Bradski
* gesture recognition
183 21 Gary Bradski
* human skeleton based on 2d or 3d 
184 1
185 1
*16 SfM*
186 1
* update libmv to OpenMVG and get the 3d viz from OpenCV
187 21 Gary Bradski
* Make the Structure from Motion Module coherent
188 21 Gary Bradski
189 21 Gary Bradski
*17 Quad Rotor Contrib*
190 21 Gary Bradski
* Apply much of the above into a quad rotor drone automatic tracking, mapping navigation etc module
191 19 Gary Bradski
192 19 Gary Bradski
193 17 Gary Bradski
194 1
<pre>
195 1
/\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\ /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\ 
196 1
</pre>
197 13 Gary Bradski
198 13 Gary Bradski
199 13 Gary Bradski
h1. Accepted Projects for OpenCV GSoC 2015:
200 13 Gary Bradski
201 13 Gary Bradski
OpenCV GSoC 2015 students, projects, mentors are below. *WHEN THEY ARE KNOWN*
202 13 Gary Bradski
203 13 Gary Bradski
204 13 Gary Bradski
<pre>
205 13 Gary Bradski
Student                 Project                                           Mentor(s)
206 13 Gary Bradski
=======                 =======                                           ========
207 13 Gary Bradski
208 13 Gary Bradski
</pre>
209 13 Gary Bradski
210 13 Gary Bradski
Project notes will be compiled "here":https://sites.google.com/a/opencv.org/opencv/gsoc-2015-project-notes .
211 13 Gary Bradski
212 13 Gary Bradski
213 1
214 1
h2. Mentors
215 1
216 1
*Actual signed up mentors*
217 1
218 1
* Alexander Mordvintsev	zzznah(+)gmail.com
219 1
* Sid Bao	ybao(+)magicleap.com
220 1
* Vincent Rabaud	vincent.rabaud(+)gmail.com
221 1
* Vadim Pisarevsky	vadim.pisarevsky(+)gmail.com
222 1
* Adrian Kaehler	therealadrian(+)gmail.com
223 1
* Terry Boult	tboult(+)vast.uccs.edu
224 1
* spmallick	spmallick(+)taaz.com
225 1
* Serge Belongie	sjb344(+)cornell.edu
226 1
* Stefano	s.fabri10(+)gmail.com
227 1
* Prasanna	pras.bits(+)gmail.com
228 1
* Pablo Alcantarilla	pablofdezalc(+)gmail.com
229 1
* Bence Magyar	mw.mzperx(+)gmail.com
230 1
* Manuele	manuele.tamburrano(+)gmail.com
231 1
* Grace Vesom	grace.vesom(+)gmail.com
232 1
* Open Source Computer Vision Library (OpenCV)	garybradski(+)gmail.com
233 1
* Douglas Lee	dougabug(+)gmail.com
234 1
* Claudia Rapuano	c.rapuano(+)gmail.com
235 1
* Antonella Cascitelli	antonellacascitelli(+)gmail.com
236 1
* Anatoly Baksheev	anatoly.baksheev(+)itseez.com
237 1
* Alexander	alexander.shishkov(+)itseez.com
238 16 Gary Bradski
* Alexander Smorkalov	alexander.smorkalov(+)itseez.com
239 1
* Alexander Bovyrin	alexander.bovyrin(+)itseez.com
240 1
241 1
242 1
243 1
In the below, get rid of the ''-delete-'' to make the emails work.
244 1
245 1
 Anatoly Baksheev
246 1
 Researcher, Vision Algorithms on GPU
247 1
 Argus/Itseez
248 1
 [email protected]  
249 1
 
250 1
  Alexander Bovyrin
251 1
  PhD, Senior Researcher
252 1
  Argus/Itseez founder
253 1
  NNU Lecturer
254 1
  [email protected]
255 1
256 1
 Gary Bradski
257 1
 Founder, Industrial Perception Inc.
258 1
 Consulting Prof. Stanford U.
259 1
 OpenCV Founder, Technical Content Owner, GSoC Admin
260 1
 Co-author of Learning OpenCV Book
261 1
 http://www.willowgarage.com/pages/people/gary-bradski-senior-researcher
262 1
 [email protected]
263 1
264 1
 Antonella Cascitelli
265 1
 Grad student, University of Rome
266 1
 [email protected]
267 1
268 1
 Eric Christiansen
269 1
 PhD, UCSD
270 1
 [email protected]
271 1
272 1
 Stefano Fabri
273 1
 CRR Team leader, University of Rome
274 1
 [email protected]
275 1
276 1
 Victor Eruhimov
277 1
 OpenCV founding team/Senior Researcher
278 1
 Argus/Itseez founder
279 1
 NNU Lecturer
280 1
 [email protected]
281 1
282 1
 Adrian Kaehler
283 1
 Principle Engineer, Applied Minds
284 1
 Co-author of Learning OpenCV Book.
285 1
 [email protected]
286 1
287 1
 Peter Karasev
288 1
 PhD Student, MINERVA Research Group
289 1
 Georgia Tech
290 1
 [email protected]
291 1
292 1
 Vadim Pisarevsky
293 1
 OpenCV founding team/Czar
294 1
 [email protected]
295 1
296 1
 Manuele Tamburrano
297 1
 Grad Student, University of Rome
298 1
 [email protected]
299 1
300 1
 Vincent Rabaud
301 1
 Principle Engineer, Aldebaran Robotics
302 1
 [email protected]
303 1
304 1
  Claudia Rapuano
305 1
  Grad student, University of Rome
306 1
  [email protected]
307 1
 
308 1
 Grace Vesom
309 24 Gary Bradski
 Senior Software Engineer, Magic Leap
310 1
 -delete-grace.vesom@-delete_gmail.com
311 1
312 1
 Bence Magyar
313 1
 Pal Robotics
314 1
 [email protected]
315 1
316 1
 Pablo Alcantarilla
317 1
 Toshiba Research Europe Ltd.
318 1
 [email protected]
319 1
320 1
h3.  Back up Mentors
321 1
322 1
 Mark Asbach
323 1
 Fraunhofer IAIS
324 1
 Schloss Birlinghoven
325 1
 Sankt Augustin, Germany
326 1
 http://mmprec.iais.fraunhofer.de/asbach.html
327 1
 [email protected]
328 1
329 1
330 1
 Nicolas Saunier, Ph.D.
331 1
 Assistant Professor
332 1
 Civil, Geological and Mining Department (CGM)
333 1
 École Polytechnique de Montréal
334 1
 http://nicolas.saunier.confins.net
335 1
 [email protected]
336 1
337 1
338 1
 Alexander Mordvintsev
339 1
 Software Engineer
340 1
 http://znah.net
341 1
 [email protected]
342 1
343 1
 Andrey Morozov
344 1
 Software Engineer
345 1
 Argus/Itseez
346 3 Gary Bradski
 [email protected] 
347 1
348 1
h2. OpenCV Org. Application to GSoC 2015
349 1
350 1
"OpenCV GSoC Application":http://code.opencv.org/projects/gsoc2013/wiki/GSoC2013OpenCVApplication
351 1
352 3 Gary Bradski
h2. Previous Years 
353 3 Gary Bradski
354 1
* 2014 "GSoC 2014 Ideas Page":http://code.opencv.org/projects/opencv/wiki/GSoC_2014
355 27 Gary Bradski
** "The 2014 Movie":https://www.youtube.com/watch?v=7WUZA_KIIRA&feature=youtu.be
356 1
* 2013 "GSoC 2013 Ideas Page":http://code.opencv.org/projects/gsoc2013/wiki
357 27 Gary Bradski
** "The 2013 Movie":https://www.youtube.com/watch?v=_TTtN4frMEA
358 1
* 2012 Ideas site http://code.opencv.org/projects/gsoc2012/wiki/Wiki/
359 1
* 2011 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2011
360 1
** 2011 Application GSoC page is http://opencv.willowgarage.com/wiki/GSoC2011OpenCVApplication
361 1
* 2010 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2010
362 1
** 2010 Application page http://opencv.willowgarage.com/wiki/ApplicationGSOC2010
363 1
364 1
----