Table of Contents
- OpenCV GSoC Application
- Why does your org want to participate in Google Summer of Code?
- What would your org consider to be a successful summer?
- How many potential mentors have agreed to mentor this year?
- How will you keep mentors engaged with their students?
- How will you help your students stay on schedule to complete their projects?
- How will you get your students involved in your community during GSoC?
- How will you keep your students involved with your community after GSoC?
- Were you a mentoring org before?
- What years?
- What is your success/fail rate per year?
- Were we ever rejected?
- Reference
- Are you part of an umbrella org?
- What year was the project started?
- Where does the source code live?
- Is your org part of any government?
- Anything else we should know?
- OpenCV Profile:
OpenCV GSoC Application
Why does your org want to participate in Google Summer of Code?
OpenCV (Open Source Computer Vision Library, 1-2M downloads/week) is a library of computer and deep learning vision routines used around the world and in Google itself.
The simple answer to the question is that GSoC both introduces our org to a new set of people we may not have had a chance to interact with otherwise, and gives our mentors a chance to work on contributions to the library that they wanted to see done but had not found the resources to do.
GSoC has been invaluable to OpenCV because the fields of computer vision and deep learning are rapidly evolving and the "extra hands" provided by GSoC help the library stay current with the latest routines.
Coding for OpenCV benefits the students with visible modern code https://github.com/opencv/opencv/wiki/Coding_Style_Guide in a hot field. The admin co-founded two companies with a former GSoC student one which sold to Google in 2013 (Industrial Perception Inc), and another which sold to Matterport in 2019 (Arraiy). We've co-written papers with advanced students and have placed students and mentors in various companies, including Google (https://www.linkedin.com/in/vincent-rabaud-3b592268/?originalSubdomain=fr).
Some video of past GSoC contributions: (2021: https://www.youtube.com/watch?v=6He1Ay7hfQc) (2020: https://youtu.be/9dAMAvh2Em4) (2017: https://docs.opencv.org/master/da/d9d/tutorial_dnn_yolo.html) (2015: https://youtu.be/OUbUFn71S4s) (2014: https://youtu.be/3f76HCHJJRA) (2013: https://youtu.be/_TTtN4frMEA).
What would your org consider to be a successful summer?
A successful summer is one where a supermajority of the projects (11/13 in 2021, 14/14 in 2020) become accepted pull requests having passed the functionality, unit test, style checks, docs, built bots, and pull master. We believe this goal produces the maximal benefit both to the students and to the org.
We carefully select the students and the mentors to achieve this. In addition, the admin likes to see one published paper come out by at least one student-mentor pair. Each year we post a video summary of the successful projects, see 2021: https://www.youtube.com/watch?v=6He1Ay7hfQc 2020: https://youtu.be/9dAMAvh2Em4
How many potential mentors have agreed to mentor this year?
20+
How will you keep mentors engaged with their students?
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, experienced engineers or engineering managers that have experience 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 ( https://docs.opencv.org/ ).
How will you help your students stay on schedule to complete their projects?
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 pull request. At the end, students are required to submit a Youtube video showing their results, see for example: (2021: https://www.youtube.com/watch?v=6He1Ay7hfQc) (2020: https://studio.youtube.com/video/9dAMAvh2Em4) (2017: https://docs.opencv.org/master/da/d9d/tutorial_dnn_yolo.html) (2015: https://youtu.be/OUbUFn71S4s) (2014: https://youtu.be/3f76HCHJJRA) (2013: https://youtu.be/_TTtN4frMEA) 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 further motivation.
How will you get your students involved in your community during GSoC?
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 (pre and post Covid) over the summer (CVPR) and meetups are held there. There is an IRC channel for questions and comments as well as an active community email list together with a Q&A forum (very active, see https://forum.opencv.org/ ) where we encourage students to ask and answer questions. All work, students and mentors are listed on an open page that stays "forever" (for example, contributors are listed for each release https://opencv.org/opencv-4-5-5/ on the GSoC page for that year https://github.com/opencv/opencv/wiki/GSoC_2021) so that they can find each other. We sometimes co-write papers with top students.
Mainly, students get and stay involved by actual contributed code and documentation. They are required to immediately create a pull request that grows and grows over the summer.
How will you keep your students involved with your community after GSoC?
The best way is by getting the students comfortable with Github and with having them complete accepted pull requests. This makes them feel confident as contributing members of a community which is key to staying involved.
Since OpenCV is factored into modular components, contributing code in opencv_contrib https://github.com/opencv/opencv_contrib, is self-contained and easy to do in small chunks which makes it easier for a busy student or later professional to stay involved by quick contributions or bug fixes. Students sometimes do joint papers with mentors which means ongoing communication and contribution. Students become interns and hire "targets" by managers in companies that use/contribute to OpenCV. OpenCV is the largest computer vision library with 1-2 million downloads per week 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.
Were you a mentoring org before?
Yes were were a mentoring org
What years?
2010-2015
What is your success/fail rate per year?
Year | Success | Total |
---|---|---|
2021: | 13/ | 11; |
2020: | 14/ | 14; |
2019: | 8/ | 10; |
2017: | 14/ | 17; |
2016: | 11/ | 12; |
2015: | 14/ | 15; |
2014: | 15/ | 15; |
2013: | 12/ | 13; |
2012: | 10/ | 11; |
2011: | 9/ | 11; |
2010: | 8/ | 9. |
(2019 8/10; 2017 14/17; 2016 11/12; 2015 14/15; 2014 15/15; 2013 12/13; 2012 10/11; 2011 9/11; 2010 8/9)
Were we ever rejected?
2018, 2009
Reference
- Vincent Rabaud
- vincent dot rabaud at google.com
Are you part of an umbrella org?
Yes, OSVF.org
What year was the project started?
1999
Where does the source code live?
https://github.com/opencv/opencv https://github.com/opencv/opencv_contrib https://github.com/opencv/open_model_zoo https://github.com/opencv/cvat
Is your org part of any government?
No
Anything else we should know?
OpenCV is used extensively inside Google, see Vincent Rabaud vincent.rabaud@gmail.com. We have 1-2M /week & are under active development (see git pulse:
https://github.com/opencv/opencv_contrib/pulse/monthly
And the releases:
https://opencv.org/releases/, and recent change logs: https://github.com/opencv/opencv/wiki/ChangeLog, and meeting notes https://github.com/opencv/opencv/wiki/Meeting_notes). We are used in virtually every university and every business that deals with computer vision.
OpenCV Profile:
URL:
Tagline:
Open Source Computer Vision and Deep Learning Library
Image Logo
https://github.com/opencv/opencv/wiki/images/OpenCV_Logo_with_text.png
Primary Open Source License
Apache 2
Organization Category:
Graphics/Video/Audio/Virtual Reality
Technology Tags:
c/c++
python 3
javascript
OpenGL
Cuda
Topic Tags:
vision
machine learning
Robotics
deep learning
robotics
graphics
real time
embedded systems
Ideas List:
https://github.com/opencv/opencv/wiki/GSoC_2021
Short description:
OpenCV, the Open Source Computer Vision Library includes state of the art computer vision and deep learning algorithms. It is professionally coded and optimized.
Long Description:
OpenCV, the Open Source Computer Vision Library includes state of the art computer vision and deep learning algorithms (including running deep networks) and apps. It is professionally coded and optimized. It can be used in C++, Python, javascipt, Julia, Cuda, OpenCL and Matlab. It runs on: Android, iOS, Windows, Linux and MacOS and many embedded implementations such as Raspberry Pi, Movidius, and RISC-V.
- The user site is at https://opencv.org/
- The developer site is at: https://github.com/opencv/opencv/wiki
- Nightly builds of the documentation are at: https://docs.opencv.org/master
- Code is at:
- OpenCV (the core data structures, optimized algorithms, sample and tutorial code): https://github.com/opencv/opencv
- opencv_contrib (new algorithms, applications and GSoC contributions and related tutorial and sample code): https://github.com/opencv/opencv_contrib.git
- opencv_extra (extra data and code samples): https://github.com/opencv/opencv_extra
- downloads for various OS and mobile devices: https://opencv.org/releases.html
It is also useful to look at the change log: https://github.com/opencv/opencv/wiki/ChangeLog and instructions to install on various platforms: https://docs.opencv.org/master/df/d65/tutorial_table_of_content_introduction.html
Please see our videos for the past several years of GSoC contributions: (2020: https://youtu.be/9dAMAvh2Em4) (2017: https://docs.opencv.org/master/da/d9d/tutorial_dnn_yolo.html) (2015: https://youtu.be/OUbUFn71S4s) (2014: https://youtu.be/3f76HCHJJRA) (2013: https://youtu.be/_TTtN4frMEA).
There are many books on OpenCV, google: books opencv
Application Instructions:
Please see https://opencv.org/google-summer-of-code-internship/
Proposal Tags
computer vision
deep learning
computational photography
optimization
tutorials
applications
slam
background subtraction
calibration
text detection
python interface
IRC channel?
https://github.com/opencv/opencv/wiki/GSoC_2020
Mailing list?
opencv-gsoc-2020@googlegroups.com
Feed URL?
Twitter?
https://twitter.com/opencvlibrary
Blog?
Facebook?
- Home
- Deep Learning in OpenCV
- Running OpenCV on Various Platforms
- OpenCV 5
- OpenCV 4
- OpenCV 3
- Development process
- OpenCV GSoC
- Archive
© Copyright 2024, OpenCV team