Полноценных школ по компьютерному зрению, таких, чтобы участники могли получить опыт от разработчиков алгоритмов из крупных технологических компаний, осталось очень немного. В этом плане больше всего повезло студентам из Нижнего Новгорода, ведь каждое лето силами преподавателей Университета Лобачевского и инженеров компании Intel проводится Computer Vision Summer Camp - Летняя школа по компьютерному зрению. А для тех, кому не удалось на нее попасть, мы расскажем самое важное и интересное…

С 5 по 26 июля проходила Межвузовская Летняя школа Intel по компьютерному зрению — Computer Vision Summer Camp, в которой приняло участие более 100 студентов из Нижнего Новгорода и соседних областей. В течение трех недель студенты слушали лекции, решали практики и выполняли групповые проекты, чтобы прокачаться в такой интересной области, как компьютерное зрение. 

Канва школы была составлена таким образом, чтобы участники школы “прошли” через все этапы становления компьютерного зрения: становление зрения живых организмов -> машинное обучение и развитие классического компьютерного зрения -> современные алгоритмы компьютерного зрения и глубокого обучения. Именно поэтому Школа стартовала с очень познавательной лекции “Эволюция зрения в природе и в машинах”, которая погрузила всех участников в предметную область.

На лекциях студенты знакомились с основными возникающими задачами компьютерного зрения и историческим развитием алгоритмов их решения:

  • Классификация изображений;

  • Детектирование объектов;

  • Сопровождение объектов;

  • Семантическая сегментация изображений;

Для того, чтобы расширить кругозор студентов, программа Школы также включала задачи глубокого обучения, которые выходят за рамки компьютерного зрения - это генеративные состязательные сети и обработка естественного языка. Не обошлось без персонажей из мемов.

Помимо “академической” части Школа знакомила с инструментами для создания приложений компьютерного зрения - библиотек OpenCV и OpenVINO. На прошлых школах основным языком программирования был язык C++, но в этом году основным языком обучения стал Python. Студенты узнали что такое OpenVINO и как его использовать для достижения максимальной производительности, какие готовые демо-приложения содержатся в зоопарке моделей Open Model Zoo и как на их основе быстро собрать MVP для собственного решения. В Open Model Zoo собрано более 50 демо-приложений, среди них можно встретить и распознавание рукописных формул в LaTex, и колоризацию изображений, и распознавание действий водителя, и сегментацию трехмерных медицинских данных.

Часть задач, для которых в Open Model Zoo разработалы демо-приложения
Часть задач, для которых в Open Model Zoo разработалы демо-приложения

Также инженеры Intel рассказали про NNCF - библиотеку оптимизации нейронных сетей с помощью их сжатия. Участники познакомились с алгоритмами оптимизации моделей - квантизации и бинаризации весов, создания разреженных моделей с помощью удаления весов и ребер, и прунинга моделей. 

Помимо уже хорошо известных технологий, студенты познакомились с самой свежей разработкой - Model API. Model API это новый функционал OpenVINO, обеспечивающий быстрое и легкое построение оптимизированных конвейеров запуска глубоких моделей. Для студентов-программистов, впервые сталкивающихся с асинхронной обработкой данных, тяжело построить эффективный конвейер с OpenVINO для минимальных задержек в обработке; Model API реализует это за пользователя. К моменту проведения школы в Model API еще не было функционала по созданию асинхронного конвейера для каскадов из нескольких глубоких моделей, очень возможно что ребята из Школы будут решать эту задачу в качестве интернов Intel.

В этом году лекционные и практические занятия были смещены в первую половину школы, чтобы студенты смогли плодотворно поработать над собственными разработками в области компьютерного зрения. Наставниками студенческих микрокоманд были инженеры Intel, которые делились своим опытом и помогали научиться командной работе. Команды выбрали из списка 8 задач, которые они решали с помощью OpenCV и OpenVINO. 

Just dance. Это как Twister, только с использованием экрана в качестве коврика. На экране появляются точки, куда игрок должен "положить" руку или ногу. Ребята сделали соло режим и режим на двоих.

Magic Piano. По видео с RGB камеры (без камеры глубины) определялось положение пальцев рук, детектировалось “нажатие” на клавиши и воспроизводились нужные тона. 

Quick, Draw! Участники реализовали приложение в котором с помощью указателя-маркера игрок должен нарисовать в воздухе заданный предмет так,  чтобы глубокая модель угадала его по контуру. Для этого они взяли датасет MS COCO и выделили из изображений объектов контуры. 

Без масочки не обслуживаем. Приложение для детектирования медицинской маски на лицах, попадающих на камеру, и подсчет людей в масках и без.

Pet-tracker. Участники представили свое видение решения задачи Multiple Object Tracking для домашних животных. Версия с капибарой в разработке. 

MemCheck. Мини-игра, которая позволяет оценить уровень мемов той или иной площадки. С помощью изображения с веб-камеры и звука с микрофона определяется уровень счастья участника игры, и заполняется шкала радости. 

GoodBoy bot. Telegram bot для классификации породы собаки по присланной фотографии и получения описания этой породы. Если ему прислать фото кота, то он в ответ пришлет милую фразу про котика.  

Time machine. Команда собрала приложение для комплексного улучшения старых изображений и видео. Студенты провели мини-исследование качества и производительности различных алгоритмов восстановления изображений для удаления царапин и пустот, колоризации изображений и увеличения разрешения картинки.

Полученные за время школы знания точно пригодятся участникам в учебе и работе. Также мы надеемся с ними продолжить взаимодействие в других наших проектах, например на предстоящей Зимней школе по оптимизации ПО.

Материалы Школы доступны всем желающим на GitHub. А видео с лекций и практик доступны в группе Интел в ВК

Комментарии (0)