GSoC 2015

Version 30 (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 3 Gary Bradski
*** Mar 16 16:00 UTC: Student Application period begins!
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 30 Gary Bradski
h2. For computer vision professionals interested in mentoring
80 30 Gary Bradski
81 30 Gary Bradski
# Go to the "GSoC site":http://www.google-melange.com/gsoc/homepage/google/gsoc2015 and sign up.
82 30 Gary Bradski
# Request to be a mentor for OpenCV there.
83 30 Gary Bradski
# We accept or reject you
84 30 Gary Bradski
# Students submit projects and you 
85 30 Gary Bradski
** find a project you want to mentor (several students might try for the same project)
86 30 Gary Bradski
** contact us about it through [email protected] so we can be sure there is not someone already handling that project
87 30 Gary Bradski
** contact the students to assess which one if any are capable of coding that up in a summer.
88 30 Gary Bradski
# We get a slot allocation from Google, the administrators then _"spend"_ the slots in order of priority
89 30 Gary Bradski
# Students must finally actually accept to do that project (some sign up for multiple organizations and then choose)
90 30 Gary Bradski
91 30 Gary Bradski
*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. 
92 30 Gary Bradski
** It sounds harder than it is.
93 30 Gary Bradski
94 30 Gary Bradski
h2. For students interested in applying
95 1
96 1
* You *must* already know how to program well in C++
97 1
** Some projects may require Python or Matlab skills
98 4 Gary Bradski
* Discuss projects below or other ideas with us https://groups.google.com/forum/?fromgroups#!forum/opencv-gsoc-2015
99 1
100 1
<pre>
101 12 Gary Bradski
\/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/  \/
102 9 Gary Bradski
</pre>
103 9 Gary Bradski
104 8 Gary Bradski
h1. 2015 Project Ideas:
105 1
106 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
107 1
108 19 Gary Bradski
_These are not in order of priority_
109 19 Gary Bradski
110 9 Gary Bradski
*1 Google Cardboard*
111 9 Gary Bradski
* Do visual odometry, SLAM etc for Google Cardboard
112 1
113 9 Gary Bradski
*2 Projection mapping (Projected Augmented Reality)*
114 9 Gary Bradski
* Calibrate a camera to a projector
115 9 Gary Bradski
* Put out structured light to learn the 3D map of what's in front of the camera
116 9 Gary Bradski
* Project the camera image, suitably rotated and shifted onto the scene
117 1
* Unity or some other program to start transforming the scene for projection mapping
118 1
** See http://www.creativebloq.com/video/projection-mapping-912849 to get ideas of what you can do with this
119 1
120 1
*3 Update OpenCV file storage so that it's readable by Python in OpenCV (move to YAML 1.2 Edition 3)*
121 1
* Mentor Prasanna
122 1
* OpenCV C++ writes out its own YAML tags which makes it incompatible with it's own Python and with external python readers
123 18 Gary Bradski
* Speedup fs reading/writing, add JSON support, add base64 (+RLE) support for large amounts of numerical data
124 1
* References
125 1
** YAML http://www.yaml.org
126 14 Gary Bradski
** Problem statement: http://stackoverflow.com/questions/11141336/filestorage-for-opencv-python-api
127 14 Gary Bradski
128 14 Gary Bradski
*4 Stereo correspondence improvements*
129 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.
130 14 Gary Bradski
131 14 Gary Bradski
*5 Self-contained video codec(s)*
132 14 Gary Bradski
* There is draft version of self-contained motion jpeg encoder to be integrated to OpenCV.
133 14 Gary Bradski
* We will also need decoder, 12-bit jpeg support, multi-threaded encoder and decoder.
134 14 Gary Bradski
* There are some other codecs, like libvpx, which we can support and link right into highgui, without dependency from ffmpeg/libav.
135 14 Gary Bradski
136 1
*6 Deep learning*
137 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.
138 14 Gary Bradski
* GPU/OpenCL optimization and/or other optimizations (that can partly be contributed back to the upstream projects) are also encouraged.
139 14 Gary Bradski
140 14 Gary Bradski
*7 Better interactive camera calibration*
141 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.
142 14 Gary Bradski
* the partially occluded calibration patterns could be handled somehow to, especially if we want to estimate intrinsic parameters only.
143 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
144 1
145 20 Gary Bradski
*8 Create a much better calibration target, we will call it "Charuco*
146 19 Gary Bradski
* We know how to combine Aruco targets with checker boards to create a "super calibration" object
147 19 Gary Bradski
* It also can express ~1 billion distinct codes
148 19 Gary Bradski
* Implement  this for OpenCV
149 22 Gary Bradski
** "Aruco target finding description":http://www.uco.es/investiga/grupos/ava/node/26
150 22 Gary Bradski
** Great overview
151 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
152 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
153 19 Gary Bradski
154 20 Gary Bradski
*9 Color Calibration and white balance* 
155 19 Gary Bradski
* With McBeth chart and with gray world algorithm (improve exisiting color constancy algorithms)
156 19 Gary Bradski
* Possibly collect deep learning way of doing this (needs large training set)
157 19 Gary Bradski
158 21 Gary Bradski
*10 Realtime image preprocessing algorithms (real time on mobile)*
159 21 Gary Bradski
* We and many other OpenCV users would definitely enjoy very fast denoising, color improvements, white balance etc. algorithms.
160 21 Gary Bradski
161 21 Gary Bradski
*11 Tracking improvements*
162 14 Gary Bradski
* TLD algorithm is implemented in OpenCV, but it needs improvements and optimizations.
163 20 Gary Bradski
* ASM/AAM can also be implemented, as well as the particle filter.
164 15 Gary Bradski
 
165 14 Gary Bradski
166 20 Gary Bradski
*12 PBM (part-based models) improvements*
167 15 Gary Bradski
* There is latentsvm package in opencv_contrib that needs to be improved (quality-wise and speed-wise).
168 15 Gary Bradski
* Adding training, even if it involves execution of external svmperf or other tool, is definitely appreciated too.
169 14 Gary Bradski
170 20 Gary Bradski
*13 Improving ICF/ACF + <some>Boost training and detection*
171 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.
172 14 Gary Bradski
173 20 Gary Bradski
*14 numl+OpenCV, lua+OpenCV*
174 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.
175 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.
176 1
177 20 Gary Bradski
*15 human interaction*
178 17 Gary Bradski
* gesture recognition
179 21 Gary Bradski
* human skeleton based on 2d or 3d 
180 1
181 1
*16 SfM*
182 1
* update libmv to OpenMVG and get the 3d viz from OpenCV
183 21 Gary Bradski
* Make the Structure from Motion Module coherent
184 21 Gary Bradski
185 21 Gary Bradski
*17 Quad Rotor Contrib*
186 21 Gary Bradski
* Apply much of the above into a quad rotor drone automatic tracking, mapping navigation etc module
187 19 Gary Bradski
188 19 Gary Bradski
189 17 Gary Bradski
190 1
<pre>
191 1
/\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\ /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\  /\ 
192 1
</pre>
193 13 Gary Bradski
194 13 Gary Bradski
195 13 Gary Bradski
h1. Accepted Projects for OpenCV GSoC 2015:
196 13 Gary Bradski
197 13 Gary Bradski
OpenCV GSoC 2015 students, projects, mentors are below. *WHEN THEY ARE KNOWN*
198 13 Gary Bradski
199 13 Gary Bradski
200 13 Gary Bradski
<pre>
201 13 Gary Bradski
Student                 Project                                           Mentor(s)
202 13 Gary Bradski
=======                 =======                                           ========
203 13 Gary Bradski
204 13 Gary Bradski
</pre>
205 13 Gary Bradski
206 13 Gary Bradski
Project notes will be compiled "here":https://sites.google.com/a/opencv.org/opencv/gsoc-2015-project-notes .
207 13 Gary Bradski
208 13 Gary Bradski
209 1
210 1
h2. Mentors
211 1
212 1
*Actual signed up mentors*
213 1
214 1
* Alexander Mordvintsev	zzznah(+)gmail.com
215 1
* Sid Bao	ybao(+)magicleap.com
216 1
* Vincent Rabaud	vincent.rabaud(+)gmail.com
217 1
* Vadim Pisarevsky	vadim.pisarevsky(+)gmail.com
218 1
* Adrian Kaehler	therealadrian(+)gmail.com
219 1
* Terry Boult	tboult(+)vast.uccs.edu
220 1
* spmallick	spmallick(+)taaz.com
221 1
* Serge Belongie	sjb344(+)cornell.edu
222 1
* Stefano	s.fabri10(+)gmail.com
223 1
* Prasanna	pras.bits(+)gmail.com
224 1
* Pablo Alcantarilla	pablofdezalc(+)gmail.com
225 1
* Bence Magyar	mw.mzperx(+)gmail.com
226 1
* Manuele	manuele.tamburrano(+)gmail.com
227 1
* Grace Vesom	grace.vesom(+)gmail.com
228 1
* Open Source Computer Vision Library (OpenCV)	garybradski(+)gmail.com
229 1
* Douglas Lee	dougabug(+)gmail.com
230 1
* Claudia Rapuano	c.rapuano(+)gmail.com
231 1
* Antonella Cascitelli	antonellacascitelli(+)gmail.com
232 1
* Anatoly Baksheev	anatoly.baksheev(+)itseez.com
233 1
* Alexander	alexander.shishkov(+)itseez.com
234 16 Gary Bradski
* Alexander Smorkalov	alexander.smorkalov(+)itseez.com
235 1
* Alexander Bovyrin	alexander.bovyrin(+)itseez.com
236 1
237 1
238 1
239 1
In the below, get rid of the ''-delete-'' to make the emails work.
240 1
241 1
 Anatoly Baksheev
242 1
 Researcher, Vision Algorithms on GPU
243 1
 Argus/Itseez
244 1
 [email protected]  
245 1
 
246 1
  Alexander Bovyrin
247 1
  PhD, Senior Researcher
248 1
  Argus/Itseez founder
249 1
  NNU Lecturer
250 1
  [email protected]
251 1
252 1
 Gary Bradski
253 1
 Founder, Industrial Perception Inc.
254 1
 Consulting Prof. Stanford U.
255 1
 OpenCV Founder, Technical Content Owner, GSoC Admin
256 1
 Co-author of Learning OpenCV Book
257 1
 http://www.willowgarage.com/pages/people/gary-bradski-senior-researcher
258 1
 [email protected]
259 1
260 1
 Antonella Cascitelli
261 1
 Grad student, University of Rome
262 1
 [email protected]
263 1
264 1
 Eric Christiansen
265 1
 PhD, UCSD
266 1
 [email protected]
267 1
268 1
 Stefano Fabri
269 1
 CRR Team leader, University of Rome
270 1
 [email protected]
271 1
272 1
 Victor Eruhimov
273 1
 OpenCV founding team/Senior Researcher
274 1
 Argus/Itseez founder
275 1
 NNU Lecturer
276 1
 [email protected]
277 1
278 1
 Adrian Kaehler
279 1
 Principle Engineer, Applied Minds
280 1
 Co-author of Learning OpenCV Book.
281 1
 [email protected]
282 1
283 1
 Peter Karasev
284 1
 PhD Student, MINERVA Research Group
285 1
 Georgia Tech
286 1
 [email protected]
287 1
288 1
 Vadim Pisarevsky
289 1
 OpenCV founding team/Czar
290 1
 [email protected]
291 1
292 1
 Manuele Tamburrano
293 1
 Grad Student, University of Rome
294 1
 [email protected]
295 1
296 1
 Vincent Rabaud
297 1
 Principle Engineer, Aldebaran Robotics
298 1
 [email protected]
299 1
300 1
  Claudia Rapuano
301 1
  Grad student, University of Rome
302 1
  [email protected]
303 1
 
304 1
 Grace Vesom
305 24 Gary Bradski
 Senior Software Engineer, Magic Leap
306 1
 -delete-grace.vesom@-delete_gmail.com
307 1
308 1
 Bence Magyar
309 1
 Pal Robotics
310 1
 [email protected]
311 1
312 1
 Pablo Alcantarilla
313 1
 Toshiba Research Europe Ltd.
314 1
 [email protected]
315 1
316 1
h3.  Back up Mentors
317 1
318 1
 Mark Asbach
319 1
 Fraunhofer IAIS
320 1
 Schloss Birlinghoven
321 1
 Sankt Augustin, Germany
322 1
 http://mmprec.iais.fraunhofer.de/asbach.html
323 1
 [email protected]
324 1
325 1
326 1
 Nicolas Saunier, Ph.D.
327 1
 Assistant Professor
328 1
 Civil, Geological and Mining Department (CGM)
329 1
 École Polytechnique de Montréal
330 1
 http://nicolas.saunier.confins.net
331 1
 [email protected]
332 1
333 1
334 1
 Alexander Mordvintsev
335 1
 Software Engineer
336 1
 http://znah.net
337 1
 [email protected]
338 1
339 1
 Andrey Morozov
340 1
 Software Engineer
341 1
 Argus/Itseez
342 3 Gary Bradski
 [email protected] 
343 1
344 1
h2. OpenCV Org. Application to GSoC 2015
345 1
346 1
"OpenCV GSoC Application":http://code.opencv.org/projects/gsoc2013/wiki/GSoC2013OpenCVApplication
347 1
348 3 Gary Bradski
h2. Previous Years 
349 3 Gary Bradski
350 1
* 2014 "GSoC 2014 Ideas Page":http://code.opencv.org/projects/opencv/wiki/GSoC_2014
351 27 Gary Bradski
** "The 2014 Movie":https://www.youtube.com/watch?v=7WUZA_KIIRA&feature=youtu.be
352 1
* 2013 "GSoC 2013 Ideas Page":http://code.opencv.org/projects/gsoc2013/wiki
353 27 Gary Bradski
** "The 2013 Movie":https://www.youtube.com/watch?v=_TTtN4frMEA
354 1
* 2012 Ideas site http://code.opencv.org/projects/gsoc2012/wiki/Wiki/
355 1
* 2011 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2011
356 1
** 2011 Application GSoC page is http://opencv.willowgarage.com/wiki/GSoC2011OpenCVApplication
357 1
* 2010 Ideas site http://opencv.willowgarage.com/wiki/GSOC_OpenCV2010
358 1
** 2010 Application page http://opencv.willowgarage.com/wiki/ApplicationGSOC2010
359 1
360 1
----