Летние школы Itseez по компьютерному зрению: как это было
В этом году компания Itseez провела сразу два летних мероприятия для студентов, интересующихся тематикой компьютерного зрения — Межвузовскую школу и Летнюю стажировку. Здесь мы расскажем об обоих прошедших мероприятиях: о Школе, которая проводилась совместно с институтом ИТММ ННГУ им. Н.И. Лобачевского, и Стажировке, которую ребята проходили непосредственно в компании Itseez.
Мы поделимся тем, как велась подготовка, как производился отбор участников и вообще о том, как это все происходило. Зимой планируется очередное мероприятие для студентов — зимняя школа по оптимизации производительности приложений компьютерного зрения. Поэтому настоящая статья может быть особенно интересна тем, кто хотел бы принять участие в будущих образовательных активностях Itseez.
Как узнать про мероприятия?
Безусловно, один из первых вопросов, которые у нас возникли при подготовке, это кто является целевой аудиторией этих двух мероприятий и как быстро донести до людей, что именно их мы хотели бы видеть среди участников.
Поскольку это был первый подобный проект (но далеко не последний!), то для начала мы решили ограничиться участием студентов и выпускников ВУЗов Нижнего Новгорода (ННГУ, ВШЭ, НГТУ, ННГАСУ). Информация была размещена в группе ВКонтакте компании Itseez, а также распространялась в виде постеров и флаеров в ВУЗах и пабликах целевых факультетов.
Также с некоторыми студентами мы смогли провести очные встречи, и они имели возможность лично задать вопросы организаторам Школ. Несмотря на то, что объявления появились относительно поздно (конец семестра, многие ушли на сессию), мы получили много заявок, чем были приятно удивлены. Конкурс составил около 5 человек на место, с общим количеством заявок около 150.
Конкурсный отбор участников
Большое количество заявок естественным образом породило вопрос, как эффективно провести отбор участников в достаточно короткий временной промежуток. После длительных обсуждений мы решили, что очное собеседование — лучшая из форм, в полном соответствии с принципом, что лучше один раз увидеть и поговорить, чем 100 раз прочитать анкету.
Два полных рабочих дня три комиссии в составе инженеров Itseez и преподавателей ННГУ собеседовали всех 150 кандидатов. К сожалению, не все кандидаты полностью справились с предложенными на собеседовании заданиями. Как мы любим повторять, для работы в области компьютерного зрения необходимо иметь хорошие фундаментальные знания в области математики и информатики. Поэтому вопросы, которые мы задавали, в основном были позаимствованы из учебной программы 1–2 курса технических специальностей. Были вопросы двух групп: по математике и программированию. В первой части мы в основном проверяли знания из классических курсов по линейной алгебре, аналитической геометрии, дискретной математике, теории вероятностей и других. По программированию же вопросы были в основном по С/С++ и ООП. Порой вопросы ставили претендентов в «тупик», но иногда порождали поток мысли, приводящий к правильному решению!
Нам действительно было сложно принимать решения (количество мест в Школе и Стажировке было ограничено) и мы искренне надеемся, что никто не остался в обиде, а сделал необходимые выводы, и в дальнейшем будет готов на все 100%. Пожалуйста не забывайте, что мы ждем Вас снова, ибо дорогу осилит идущий! Ссылку для подачи заявки на наши новые программы Вы найдете ниже.
Также хорошей новостью является то, что в будущем мы решили расширить так называемую категорию «вольных слушателей». Фактически любой желающий, минуя конкурс, сможет посещать лекции и выполнять задания дома самостоятельно. Конечно, как правило, очная работа с преподавателем полезнее, но в таком формате слушатели смогут участвовать более гибко, и заодно проверить свой уровень и при необходимости подтянуть его.
Тем временем, для организаторов наступило основное время содержательной подготовки Школы: формирование расписания, подготовка презентаций к лекциям и разработка материалов для практических занятий. А также много хозяйственной работы, чтобы создать все условия и участники могли комфортно себя чувствовать в течение всего времени пребывания на Стажировке и Школе. Итак, что же из этого получилось.
Стажировка
Стажировка в первую очередь ориентирована на студентов старших курсов, магистрантов и выпускников. Основная цель — подготовка к последующему трудоустройству в «боевые» ИТ-проекты. Два месяца (июль-август) интенсивной работы в реальных проектах под руководством сотрудников Itseez позволили ребятам прикоснуться к реальным задачам из области компьютерного зрения. Всего в этом году было 13 стажеров.
Стажеры
Каждый стажер был официально трудоустроен на время стажировки и мог примерить на себя роль начинающего исследователя-разработчика. Как это часто бывает в индустрии, из соображений конфиденциальности мы не можем поместить здесь детальную информацию, касающуюся содержания проектов. Можем только сказать, что типичный проект представлял собой реализацию некой state-of-the-art статьи, описывающей какой-либо алгоритм компьютерного зрения. Ребята занимались решением многих базовых задач, таких как детектирование линий и текста на изображении, оценка положения человеческого тела, калибровка камеры, задача сегментации и других. Ниже приведены примеры демонстрационных видео, сделанных стажерами.
Детектирование линий и vanishing point
Детектирование дорожной разметки
Сглаживание фильтром Калмана
Также несколько ребят занимались исключительно оптимизацией производительности на примере функций из библиотеки OpenCV и стандарта OpenVX. В одном из будущих постов мы постараемся подробнее рассказать об одной из таких задач.
Результаты работ были представлены в рамках внутренних семинаров компании Itseez и высоко оценены менторами и коллегами. Многие ребята получили интересные предложения о работе в компании. Ниже можно прочитать отзывы участников о стажировке.
Павел (ННГУ им. Лобачевского, ИИТММ / ВМК, выпускник)
«Больше всего в компании понравилась атмосфера. Все сотрудники фирмы от директоров до обслуживающего персонала всегда приветливы и добры. Проект у нас небольшой. Поэтому сложностей с коммуникациями внутри проекта никаких не возникало. Каждый член команды всегда готов помочь и подсказать. Данная стажировка идеально подходит для начала своей карьеры в области IT и Computer Vision. Также она позволяет студентам старших курсов, не отрываясь от учебы, приобрести практические навыки разработки промышленного кода и сложных систем и понять принципы работы и устройство IT компаний, которые необходимы молодым сотрудникам.»
Михаил (ННГУ им. Лобачевского, ИИТММ / ВМК, 6 курс)
«Наравне со средствами решать интересную задачу под руководством опытнейшего куратора и в идеальных для этого условиях, стажировка предоставила мне ещё одну очень ценную возможность — наблюдать за людьми, которые по-настоящему любят своё дело. Эти люди буквально заражают своей страстью, творческим духом и трудолюбием. Они помогали мне формировать идеи и преодолевать технические сложности, за что я крайне им благодарен. Внутренняя атмосфера компании особенная. На семинарах царит обстановка большой семьи. Организация труда на высоте, в такой среде можно очень быстро прогрессировать. Выражаю огромную благодарность компании Itseez за бесценный опыт и просто хорошо проведённое время.»
Николай (ННГУ им. Лобачевского, ИИТММ / ВМК, 4 курс)
«Для меня это не первый опыт работы программистом, но здесь добавилось еще большое количество исследовательской работы. Удивительно быстро вспомнилась, казалось бы, прочно забытая математика с первых курсов университета, новым опытом было применение ее на практике при создании алгоритмов, впечатляющим было увидеть реальные результаты на реальных изображениях. Вообще, было приятно увидеть, что компьютерное зрение — одна из тех областей, где теория и практика очень близки, математически выведенные расчеты тут же реализуются и проверяются.»
Роман (ННГУ им. Лобачевского, ИИТММ / ВМК, выпускник)
«Среди сотрудников моего проекта меня привлек их неподдельный энтузиазм и целеустремленность. Я попал в перспективный проект и есть шанс стать непосредственным участником выхода на рынок новой технологии, которая еще вчера казалась фантастикой. Если вы хотите получить опыт или работать в компании, которая делает проекты на мировом уровне, не боитесь сложных задач и хотите найти применение своему университетскому багажу знаний — вам сюда.»
Школа
Школа, в отличие от стажировки, — более короткое мероприятие. Две недели, которые требовали от ребят высокого уровня концентрации и сосредоточенности. Здесь было 22 участника и некоторое количество свободных слушателей.
Летние школьники
Плотное расписание лекционных и практических занятий на первой неделе не позволяло расслабляться ни на минуту. Каждый день первой недели был посвящен отдельной тематике:
- понедельник — инструменты программирования: Git, GitHub, CMake, Google Test
- вторник — введение в работу с библиотекой компьютерного зрения OpenCV
- среда — детектирование объектов на изображении
- четверг — трекинг объектов на видео
- пятница — небольшой экскурс в оптимизацию производительности
Две утренних лекции от инженеров Itseez обеспечивали необходимую теоретическую базу для выполнения практических заданий. Иногда ребятам не хватало отведенного для практики времени (две университетские пары), но они, несмотря на усталость, оставались в терминал-классах и доводили свои решения.
Материалы школы выложены на GitHub и любой желающий может ознакомиться с презентациями и/или попробовать выполнить практические задания. Мы старались сделать материалы максимально доступными и открытыми, снабдив их пошаговыми инструкциями. Будем рады, если кто-то обнаружит ошибки, очепятки или просто решит улучшить описания работ и пришлет в виде Pull Requests на GitHub:) А для тех, кто еще не в курсе, что такое Pull Request, добро пожаловать на первую лекцию по инструментам и первое практическое занятие нашей школы!
Снова учиться!
Вторая неделя Школы была в основном ориентирована на проектную работу. Каждый день начинался с лекции, на которой происходило знакомство с каким-либо интересным проектом компании Itseez, после чего день был посвящен работе в командах. Ребятам были предложены темы для мини-проектов по тематике компьютерного зрения, которые они должны были выполнять, объединившись в небольшие группы. Вот темы проектов этого года.
Творческое настроение проектной работы заставляло всех засиживаться вечерами, получать интересные, а иногда и «забавные» результаты, которые были продемонстрированы на защите проектов. Ниже вы можете ознакомиться с примерами работы разработанных приложений. Презентации, представленные ребятами на защите, а также видео с результатами работы, доступны на GitHub.
Confusion matrix при решении задачи распознавания участников школы
Результаты поиска плоских текстурных объектов на изображении
Результат детектирования монет с помощью преобразования Хафа
Важно отметить, что несмотря на короткий промежуток времени и отсутствие знакомства с тематикой компьютерного зрения у большинства участников до школы, значимые результаты были получены всеми командами! Каждая группа участников продемонстрировала рабочее приложение, а некоторые разработки вполне достойны уровня курсовых и даже дипломных работ. Подобный высокий уровень определенно внушает оптимизм относительно будущего ребят.
Все хорошее когда-нибудь заканчивается…
Когда прошла защита, и все были награждены памятными сертификатами и подарками, пришла грустная пора расставаться… Окончание летних мероприятий мы отметили посещением боулинга, пиццей с напитками и просто приятной компанией.
Мы были рады всех видеть и говорим Вам спасибо за смелость и упорство. Очень хочется верить, что приобретенные знания и навыки участники станут применять в жизни и смогут добиться потрясающих результатов в своей работе!
Авторы:
Валентина Кустикова, ассистент кафедры МОСТ, Институт ИТММ, ННГУ им. Н.И. Лобачевского
Кирилл Корняков, директор по исследованиям и разработке компании Itseez
P.S. Уже открыта регистрация на участие в Зимней школе Itseez, которая будет посвящена оптимизации производительности и пройдет на базе ННГУ им. Лобачевского в дни зимних каникул 2016 года. Приглашаем к участию студентов нижегородских вузов, начиная с третьего курса и старше: bit.ly/itseez-student (регистрация до 01 декабря 2015, вопросы можно задавать на student@itseez.com).