OpenCV GSoC Application

Version 6 (Gary Bradski, 2016-02-16 12:57 pm)

1 1
h1. OpenCV GSoC Application
2 1
3 2 Gary Bradski
----
4 1
5 2 Gary Bradski
*Why does your org want to participate in Google Summer of Code?*
6 1
7 2 Gary Bradski
OpenCV (Open Source Computer Vision -- 15M+ downloads) has participated in GSoC since 2010. Computer vision is a large, rapidly evolving field and GSoC has been invaluable in keeping up with new algorithms and code improvements that aid companies around world (including extensive use in Google) to field advance vision applications but also to advance science by providing solidly coded reproducible results to test against (adhering to many Google coding and style conventions). Over the years, we have developed a well honed mentoring system that produces high quality pull requests (see recent ones: https://goo.gl/9X7AAO ) complete with unit tests, documentation and examples of use. Several new publications have come out of this and a student joined with mentors in founding a company, Industrial Perception Inc, sold to Google in 2013. Please see some video compilations of past GSoC contributions: (2015: https://goo.gl/9MCQl8 ) (2014: https://goo.gl/CWJtLt ) (2013: https://goo.gl/5qTtD2 )
8 1
9 2 Gary Bradski
----
10 1
11 2 Gary Bradski
*How many potential mentors have agreed to mentor this year?*
12 1
13 4 Gary Bradski
20+
14 1
15 2 Gary Bradski
----
16 1
17 2 Gary Bradski
*How will you keep mentors engaged with their students?*
18 1
19 2 Gary Bradski
All our mentors are known contributors to OpenCV and we always have backup mentors who can swap in, but mainly help newer mentors. There are always backup mentors to swap in to cover summer vacations. Most mentors are either Professors, graduate students or engineering managers that are experienced in managing students and interns. We have weekly meetings on progress and track students on shared Google docs. Mentors are required to have a minimum of one weekly meeting with mentors and email contact is shared and open to admins who monitor contact. The first milestone is to create a pull request and mentors are required to critique it. These pull requests continue throughout the summer until the final pull requests that must be accepted by the mentor if the student is not to fail. Mentors are required to make sure the students pass the build bot, have google unit tests, examples of use and extensive documentation ( http://docs.opencv.org/ ). 
20 1
21 2 Gary Bradski
----
22 1
23 2 Gary Bradski
*How will you help your students stay on schedule to complete their projects?*
24 1
25 2 Gary Bradski
Students are required to fill out a schedule in their application. They start the summer with a pull requests that must pass the build bot, documentation, Google unit test and example of use. They must meet with Mentors at least once a week (unless prior excuse) and fill out periodic progress logs and students are failed if they do not have an accepted start, middle and finished end pull request. At the end, students are required to submit a Youtube video showing their results, see for example: (2015: https://goo.gl/9MCQl8 ) (2014: https://goo.gl/CWJtLt ) (2013: https://goo.gl/5qTtD2 ) where each student has their "moment of fame". We have been doing this many years now and have a well tested system to generate good results while training students in proper coding tools and style. We generate further enthusiasm by regularly doing joint conference papers with exceptional students. The admin is well known in the field and getting good references is a further motivation.
26 1
27 2 Gary Bradski
----
28 1
29 2 Gary Bradski
*How will you get your students involved in your community during GSoC?*
30 1
31 2 Gary Bradski
Open, ongoing communication is held on a mailing list dedicated to that year's GSoC and Github provides further community chatter. Many of us attend the big vision conferences and meet ups are held there. There is an IRC channel for questions and comments as well as an active community email list with much Q&A. All work, students and mentors are listed on an open page that stays "forever" so that they can find each other. In addition, this year we are going to encourage ongoing updates to our Facebook page and a contest to develop next batch of schwag.
32 1
33 2 Gary Bradski
----
34 1
35 2 Gary Bradski
*How will you keep your students involved with your community after GSoC?*
36 1
37 2 Gary Bradski
The main way is by getting them completely familiar and comfortable with Github and the ease of doing small changes and PRs, especially in documentation and tutorials. Since OpenCV 3.0 was refactored into a very modular way of contributing code in opencv_contrib, this makes it more likely that students will contribute their own published work as pull requests. In addition, students often do joint papers with mentors which means ongoing communication and contribution. Many students become intern and later hire "targets" by managers in companies that use/contribute to OpenCV. OpenCV is far and away the largest computer vision library and so they know that contributions are a competitive advantage/resume item for future jobs. In addition, it's a good way to get good references from well known people working in the field.
38 1
39 1
40 2 Gary Bradski
----
41 1
42 2 Gary Bradski
*Were you a mentoring org before?*
43 2 Gary Bradski
44 2 Gary Bradski
Yes were were a mentoring org
45 2 Gary Bradski
46 2 Gary Bradski
----
47 2 Gary Bradski
48 2 Gary Bradski
*What years?*
49 2 Gary Bradski
50 2 Gary Bradski
2010-2015
51 2 Gary Bradski
52 2 Gary Bradski
----
53 2 Gary Bradski
54 2 Gary Bradski
*What is your success/fail rate per year?*
55 2 Gary Bradski
56 2 Gary Bradski
14 out of 15 projects passed, see https://www.google-melange.com/gsoc/dashboard/google/gsoc2015#mentor_evaluations . Every other project produced solid results -- we have become fairly skilled at mentoring.
57 2 Gary Bradski
58 2 Gary Bradski
----
59 2 Gary Bradski
60 2 Gary Bradski
*Were we ever rejected?*
61 2 Gary Bradski
62 2 Gary Bradski
2009
63 2 Gary Bradski
64 2 Gary Bradski
----
65 2 Gary Bradski
66 2 Gary Bradski
*Are you part of an umbrella org?*
67 2 Gary Bradski
68 2 Gary Bradski
No
69 2 Gary Bradski
70 2 Gary Bradski
----
71 2 Gary Bradski
72 2 Gary Bradski
*What year was the project started?*
73 2 Gary Bradski
74 2 Gary Bradski
1999
75 2 Gary Bradski
76 2 Gary Bradski
----
77 2 Gary Bradski
78 2 Gary Bradski
*Anything else we should know?*
79 2 Gary Bradski
80 2 Gary Bradski
OpenCV is used extensively inside Google. Contact Google Employee Vincent Rabaul
81 2 Gary Bradski
[email protected] about where it is used. He is an active contributor. We were rejected in 2009, our first year of applying because one of the GSoC admins somehow thought we were a defunct project. We are adamantly not, see github: https://github.com/Itseez/opencv/pulse and our weekly exec meeting notes: http://code.opencv.org/projects/opencv/wiki/Meeting_notes
82 1
83 1
----
84 1
85 5 Gary Bradski
h1. OpenCV Profile:
86 5 Gary Bradski
87 5 Gary Bradski
*URL:*
88 5 Gary Bradski
89 5 Gary Bradski
http://code.opencv.org/projects/opencv/wiki
90 5 Gary Bradski
91 5 Gary Bradski
*Tagline:*
92 5 Gary Bradski
93 5 Gary Bradski
Open Source Computer Vision and Machine Learning Library
94 5 Gary Bradski
95 5 Gary Bradski
*Category:*
96 5 Gary Bradski
97 5 Gary Bradski
Graphics/Video/Audio/Virtual Reality
98 5 Gary Bradski
99 5 Gary Bradski
*Tech Tags:*
100 5 Gary Bradski
101 5 Gary Bradski
C++, Python, machine learning
102 5 Gary Bradski
103 5 Gary Bradski
*Topic Tags:*
104 5 Gary Bradski
105 5 Gary Bradski
Computer vision, machine learning, robotics, virtual reality, real time
106 5 Gary Bradski
107 5 Gary Bradski
*Ideas List:*
108 5 Gary Bradski
109 5 Gary Bradski
http://code.opencv.org/projects/opencv/wiki/GSoC_2016
110 5 Gary Bradski
111 5 Gary Bradski
*Short description:*
112 5 Gary Bradski
113 5 Gary Bradski
OpenCV, the Open Source Computer Vision Library includes state of the art computer vision and machine learning algorithms and apps. It is professionally coded and optimized.
114 5 Gary Bradski
115 5 Gary Bradski
*Long Description:*
116 5 Gary Bradski
117 5 Gary Bradski
OpenCV, the Open Source Computer Vision Library includes state of the art computer vision and machine learning algorithms (including running deep networks) and apps. It is professionally coded and optimized. It can be used in C++, Python, Cuda, OpenCL and Matlab. It runs on: Android, iOS, Windows, Linux and MacOS and many embedded implementations.
118 5 Gary Bradski
119 5 Gary Bradski
The user site is at http://opencv.org/ , The developer site is at: http://code.opencv.org/projects/opencv/wiki/WikiStart . Nightly builds of the documentation are at: http://docs.opencv.org/master/#gsc.tab=0 . Code is at: OpenCV (the core data structures,  optimized algorithms, sample and tutorial code): https://github.com/Itseez/opencv  , opencv_contrib (new algorithms, applications and GSoC contributions and related tutorial and sample code): https://github.com/Itseez/opencv_contrib.git , opencv_extra (extra data and code samples): https://github.com/Itseez/opencv_extra  , downloads for various OS and mobile devices:  http://opencv.org/downloads.html
120 5 Gary Bradski
121 5 Gary Bradski
It is also useful to look at the change log: https://github.com/Itseez/opencv/wiki/ChangeLog and instructions to install on various platforms: http://goo.gl/vgrtdz
122 5 Gary Bradski
123 5 Gary Bradski
Please see our videos for the past 3 years of GSoC contributions: (2015: https://goo.gl/9MCQl8 ) (2014: https://goo.gl/CWJtLt ) (2013: https://goo.gl/5qTtD2 ).
124 5 Gary Bradski
125 5 Gary Bradski
Finally, a book by O'Reilly press on the latest OpenCV will come out by summer: http://shop.oreilly.com/product/0636920044765.do
126 5 Gary Bradski
127 6 Gary Bradski
*Application Instructions:*
128 5 Gary Bradski
129 6 Gary Bradski
Ask to join the OpenCV GSoC Forum List
130 6 Gary Bradski
Discuss projects below or other ideas with us there (Feb 29 - March 13)
131 6 Gary Bradski
On March 14th - 25th, Go to the GSoC site and sign up to be a student with OpenCV
132 6 Gary Bradski
Post the project from below or your own agreed on project on the GSoC to [email protected]
133 6 Gary Bradski
Include Name, google email, age
134 6 Gary Bradski
Include how you think you are qualified to accomplish this project (skills, courses, relevant background)
135 6 Gary Bradski
Include Country of origin, school you are enrolled in, Professor you work with (if any)
136 6 Gary Bradski
Include a projected timeline and milestones for the project
137 6 Gary Bradski
Once (and if!) OpenCV gets accepted as GSoC 2016 org (Feb 29th), and we are told how many slots we will get and you've signed up for a project with us (March 14-25th)
138 6 Gary Bradski
We will weight the students and projects against mentors and their interests and choose which students/project to pursue.
139 6 Gary Bradski
Accepted students will be posted on the GSoC site on April 22nd (and we will notify the accepted students ourselves).
140 6 Gary Bradski
141 6 Gary Bradski
h3. IRC channel?
142 6 Gary Bradski
143 6 Gary Bradski
<pre>
144 6 Gary Bradski
#opencv on freenode
145 6 Gary Bradski
</pre>
146 6 Gary Bradski
147 6 Gary Bradski
h3. Mailing list?
148 6 Gary Bradski
149 6 Gary Bradski
http://tech.groups.yahoo.com/group/OpenCV/
150 6 Gary Bradski
151 6 Gary Bradski
h3. Feed URL?
152 6 Gary Bradski
153 6 Gary Bradski
http://opencv.org/feed
154 6 Gary Bradski
155 6 Gary Bradski
h3. Google+?
156 6 Gary Bradski
157 6 Gary Bradski
https://plus.google.com/u/1/+OpencvOrg/posts
158 6 Gary Bradski
159 6 Gary Bradski
h3. Twitter?
160 6 Gary Bradski
161 6 Gary Bradski
https://twitter.com/opencvlibrary
162 6 Gary Bradski
163 6 Gary Bradski
h3. Blog?
164 6 Gary Bradski
165 6 Gary Bradski
http://opencv.org/
166 6 Gary Bradski
167 6 Gary Bradski
h3. Facebook?
168 6 Gary Bradski
169 6 Gary Bradski
https://www.facebook.com/opencvlibrary
170 5 Gary Bradski
171 5 Gary Bradski
172 5 Gary Bradski
----
173 5 Gary Bradski
174 3 Gary Bradski
* [[GSoC 2016|Google Summer of Code 2016 Ideas Page]]