GSoC 2015

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