GSoC 2015

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