GSoC 2015

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