Ура! Организаторы Google Summer of Code приняли проект OpenCV для участия в Google Summer of Code 2014! С 10 марта начался приём заявок от студентов-участников. Давайте разберёмся, что это такое – GSoC, что за проект OpenCV и при чём здесь Itseez. А для начала – мотивирующее видео с результатами прошлого лета.
Начнём с OpenCV. OpenCV – это открытая библиотека алгоритмов компьютерного зрения, активно развивающаяся силами сообщества и множеством больших и маленьких IT-компаний. Будучи открытым проектом, OpenCV заинтересована в расширении сообщества пользователей и разработчиков, и инициатива Google Summer of Code – один из инструментов её развития.
Google Summer of Code – это программа компании Google, предлагающая студентам и аспирантам всего мира поучаствовать в развитии какого-либо открытого проекта и получать за это стипендию. Традиционное время проведения проекта – летние каникулы, когда большинство студентов свободны от занятий и могут посвятить своё свободное время понравившемуся проекту. Список проектов на лето, как понятно из названия, утверждает компания Google. Проект OpenCV в четвёртый раз прошёл отбор и открыл двери для участия.
С проектом OpenCV и инициативой Google разобрались, при чём же здесь Itseez? Как известно, разработку библиотеки OpenCV начала компания Intel. Через некоторое время, как это часто бывает с непрофильными проектами, корпорация утратила интерес к проекту, сделала его открытым и отдала на развитие сообществу. Часть инженеров Intel, работавших над библиотекой и несогласных с таким решением, создали собственную компанию и продолжили разработку. С тех самых пор Itseez развивает и поддерживает полюбившийся многим инструмент разработки и прототипирования приложений компьютерного зрения. Подробнее историю компании можно прочитать в этой хабрастатье.
Но вернёмся к Google Summer of Code. Основная группа разработчиков проекта, а также значительная часть менторов OpenCV находится в России, а если точнее в Нижнем Новгороде. Это даёт хорошую возможность русским студентам и аспирантам поучаствовать в GSoC 2014, даже если вы не очень уверены в своих знаниях английского языка. Кроме того, если у вас есть хорошая идея и вы готовы стать ментором, ещё не поздно подключится к программе.
Что происходит в разработке библиотеки, что сделали другие, и чем можете отличиться именно вы?
Фотоэффекты
High Dynamic Resolution (HDR) Imaging – технология повышения динамического диапазона яркости изображений. Современная фотографическая техника имеет достаточно малый динамический диапазон яркости. Алгоритмы построения HDR изображений и последующей корректировки тона призваны скомпенсировать недостатки аппаратуры. По результатам летней школы GSoC 2013 в библиотеку была добавлена реализация нескольких таких алгоритмов. Предстоящим летом планируется продолжить развитие алгоритмов вычислительной фотографии и реализовать появившиеся за год новые алгоритмы HDR, балансировки цветов, tilt-shift и даже автоматической генерации комиксов.
Детектирование и распознавание объектов
Во время прошлогодней летней школы в библиотеку был добавлен робастный алгоритм поиска текстов на изображениях, который может пригодится при реализации OCR или любых других задач поиска и распознавания знаков и указателей. В этом году тема детектирования текстов не попала в перечень заявленных задач, зато есть ряд других алгоритмов детектирования: Softcascade детектор и детектор пешеходов, предложенный командой Piotr Dollár.
3D
С каждым годом задачи обработки данных с сенсоров глубины и RGBD-сенсоров набирают оборот. Способствует тому более глубокое проникновение в нашу жизнь недорогих камер глубины. Недавно такой модуль добрался и до смартфонов. В OpenCV уже есть некоторые наработки в этой области, в том числе и реализованный прошлым летом модуль визуализации Viz. Этому модулю, кстати, будет посвящена отдельная статья на хабре. В новом сезоне в библиотеку предлагается добавить ряд базовых алгоритмов обработки трёхмерных облаков точек и расширить возможности 3D визуализации.
Байндинги
В летнюю сессию 2013 года удалось реализовать полноценные обёртки OpenCV для Matlab и, потенциально, его свободного аналога GNU Octave, которые очень популярны в академических кругах. В этом году мы предлагаем поработать над расширением байндингов к популярным языкам программирования, в частности, поддержкой CUDA- и OpenCL-оптимизаций в Python.
Вот далеко не полный список работ, которые удалось провести прошлым летом и предстоит сделать в 2014 году. Полный список с контактами менторов можно найти на вики проекта. Если вы учитесь в вузе и хотите поучаствовать в развитии любимой библиотеки – присоединяйтесь!
Автор: Alex_alhimik