GSoC2012OpenCVApplication

Version 2 (Gary Bradski, 2012-03-07 02:36 am)

1 1
h1. GSoC2012OpenCVApplication
2 1
3 1
h3. Org ID
4 1
5 1
OpenCV
6 1
7 1
h3. Org name
8 1
9 1
Open Source Computer Vision Library (OpenCV)
10 1
11 1
h3. Description
12 1
13 1
The Open Source Computer Vision Library (OpenCV) is a comprehensive computer vision library and machine learning (over 2500 functions) written in C++ and C with additional Python and Java interfaces. It officially supports Linux, Mac OS, Windows, Android and iOS. OpenCV has specific optimizations for SSE instructions, CUDA and especially Tegra. There is an active user group of 50 thousand members and download are approaching > 4M. OpenCV has uses from gesture recognition, Android and iPhone vision apps on up to medical, robotics, mine safety and Google Streetview.
14 1
15 1
h3. URL
16 1
17 1
http://opencv.willowgarage.com/wiki 
18 1
19 1
h3. License
20 1
21 1
New and Simplified BSD
22 1
23 1
h3. Backup Admin
24 1
25 1
Vadim.Pisarevsky
26 1
27 1
h3. Ideas Page
28 1
29 1
http://code.opencv.org/projects/gsoc2012/wiki/Gsoc2012
30 1
31 1
h3. IRC channel
32 1
33 1
<pre>
34 1
#opencv on freenode
35 1
</pre>
36 1
37 1
h3. Mailing list
38 1
39 1
http://tech.groups.yahoo.com/group/OpenCV/
40 1
41 1
h3. Why participate
42 1
43 1
OpenCV has several full time contractors working on robotic applications and another paid group working on CUDA. However, the scope of the library is much larger and GSoC interns were invaluable last year in addressing other critical areas:
44 1
45 1
* getting a solid port of OpenCV to iOS, 
46 1
* developing a QT based graphical interface, the old GUI was decidedly limited and stale
47 1
* creating an automatic interface to PASCAL VOC http://pascallin.ecs.soton.ac.uk/challenges/VOC/ (the main computer vision object recognition challenge) 
48 1
* coding up a long time winning classifier in PASCAL VOC: Latent SVM
49 1
* features and support for feature tracking
50 1
* A set of tutorials
51 1
* A set of python examples
52 1
53 1
All the above things were out of scope of the paid work and had substantial impact on OpenCV, especially making it work with Mobile. In addition, 3 of the interns are now regular contributors. 2 more are occasional contributors.
54 1
55 1
Thus, why we are applying: We want to bring in a new generation of contributors and also to fill out areas where to don't have active development. We hope to gain pretty much a repeat of last year: Filling out new areas, perhaps co-authoring new papers and getting new regular contributors.
56 1
57 1
h3. Past summer of code, If so, challenges 
58 1
59 1
We participated in 2010 and 2011.
60 1
61 2 Gary Bradski
There were 12 interns total, 8 worked out. As a side note, I have now permanently hired 2 of the interns from the 2 past years of GSoC.
62 2 Gary Bradski
63 2 Gary Bradski
I mentored 2 interns developing working tutorials to vision functionality.  This started slowly since we had to decide on, set up an learn a new infrastructure. We ended up using a sphinx and then coding and explanation started. It worked out well and gave us a basic coverage of tutorials to get started with different aspects of the library, computer vision being a large field: http://opencv.itseez.com/doc/tutorials/tutorials.html . 
64 2 Gary Bradski
65 2 Gary Bradski
Since we have a good supported port of OpenCV to Android from 2010, we went on to iOS in 2011.  This resulted in a complete port which we have been testing and refining. This is planned for official release in April. We will be giving a tutorial turned course ware on this at the Computer Vision and Pattern Recognition Conference in June http://www.cvpr2012.org/program-details/tutorials and we were extended an invitation to give this again at the European Conference on Computer Vision in October http://eccv2012.unifi.it/ 
66 2 Gary Bradski
67 2 Gary Bradski
We had someone working on developing samples for our Python port and this was very successful resulting in a large suite of example code under @.../opencv/samples/python2@. We did this to popularize the existence of this interface but I just started a company, Industrial Perception Inc, adding the eyes and brains to industrial robots and find myself making extensive use of these examples.
68 2 Gary Bradski
69 2 Gary Bradski
We had a failure with a student who was implementing OpenCL optimization for OpenCV. The student just wouldn't do much work, was not very responsive and was terminated at midterm. Ironically, other developers saw this start of this work and we now have a whole group developing OpenCL ports.
70 2 Gary Bradski
71 2 Gary Bradski
We had a student doing Structure from Motion. Again, this was a failure because, despite what looked like solid background, the student just wasn't up to the task. On the other hand, it got us in touch with 2 people at Google who have been developing libmv and they may contribute this.  We will put an intern on this effort this year if we get accepted. 
72 2 Gary Bradski
73 2 Gary Bradski
We had students working on tracking which resulted in new methods of dense optical flow (Farnback optical flow). This has already been used by others for robotic visual odometry work.
74 2 Gary Bradski
75 2 Gary Bradski
What we learned is that anything near "state of the art" is best done only by top students who are doing current research in that area. We've done this a couple of time and those are some of the interns I ended up hiring. But, infrastructure type work (pascal samples, tutorials, code ports etc work well for the general student.
76 2 Gary Bradski
77 1
78 1
79 1
80 1
81 1
82 1
----
83 1
[[Gsoc2012|Back]]