Как стать автором
Обновить
143.24
Рейтинг

OpenVINO становится «серебряной пулей» хакатонов по компьютерному зрению

Блог компании Intel Python *Машинное обучение *

Меня зовут Васильев Евгений, и команда в составе Дмитрия, Вячеслава и меня заняла 2 место в кейсе Ростелекома на хакатоне "Цифровой прорыв", региональный тур которого проходил в Нижнем Новгороде 13-14 сентября, и забрала приз в 100 тысяч рублей. После просмотра решений всех команд и возникла идея для данной заметки с громким названием.

Задание кейса: Разработка системы мониторинга за поведением студента во время экзамена

Описание кейса

Все ушли на удаленку. И даже учебные заведения. Зачеты, экзамены и сессии никто не отменял. И если в оффлайн экзамене существует тысяча способов списать, чтобы преподаватель не заметил, то при сдаче экзамена онлайн способов списать в разы больше Эту проблему мы и предлагаем решить в рамках хакатона с помощью машинного обучения и компьютерного зрения.

После того, как было прочитано задание, мозг сразу закипел в раздумьях. Первое, что пришло в голову - библиотека OpenVINO и репозиторий Open Model Zoo, ведь там есть классные примеры по распознаванию человека, по детектированию положения головы и направления глаз - самое то для кейса по анализу поведения студента перед веб-камерой.

Библиотека моделей и семплов OpenVINO к 2020 году стала настолько обширной, что с ее помощью можно быстро сделать базу для почти любого проекта, связанного с компьютерным зрением. В библиотеке есть семплы и на си, и на C++, но мы конечно же будем использовать в хакатоне демки на Python, для максимально быстрой интеграции с вебом и базой данных. Кстати, в поиске по GitHub можно найти примеры веб-приложений для OpenVINO, но их тяжеловато персонализировать под свой проект, поэтому проще сделать веб отдельно с нуля. В качестве альтернативного варианта можно посмотреть собранные докер контейнеры с инференсом OpenVINO и простым веб-сервером по REST API.

В частности, в нашем проекте по детектированию списывания на онлайн-экзаменах Вячеслав разрабатывал сетевую составляющую проекта по передаче видео из браузера на сервер для обработки, а Дмитрий реализовал с помощью OpenVINO каскад из восьми глубоких моделей (face-detection, pedestrian-detection-adas, emotions-recognition-retail, facial-landmarks-35-adas, head-pose-estimation-adas, open-closed-eye, gaze-estimation-adas, face-reidentification-retail), который использовался для того, чтобы найти студента и идентифицировать его, определить направление его взгляда, а также обнаружить людей рядом, которые могут ему подсказывать. Весь проект описывать здесь не стану, задача создания веб-интерфейса сервиса и оркестрирования выходят за рамки темы статьи.

Очки не мещают определять направление взгляда
Очки не мещают определять направление взгляда
На скринах видно, что кот не считается нарушением экзамена, в отличие от других людей в кадре
На скринах видно, что кот не считается нарушением экзамена, в отличие от других людей в кадре

8 команд дошли до финальной защиты своего проекта, и слушая выступления капитанов команд, я с удивлением обнаружил, что больше чем в половине проектов использовался OpenVINO (и в одном еще OpenCV, но возможно там без глубоких моделей). Библиотека с демками для OpenVINO оказалась такой обширной, что с ее помощью можно сделать базу для практически любого проекта, связанного с компьютерным зрением, что и продемонстрировали команды.

Мы шли на хакатон с целью попрограммировать, поставить себе серьезную задачу и решить в краткие сроки. Но во время хатакона выяснилось, что такие аспекты решения, как экономический эффект, стратегия развития и роадмап, конкурентоспособность на рынке, и качество презентации будут играть значительную часть в финальной оценке проекта, и я переключился на формирование многосторонней концепции проекта и того, как его представить жюри. Огромное спасибо нашим менторам, они реально подтянули нас с презентацией и пониманием всей глубины проекта. Роман Цыбенко, Нестор Архангельский, Михаил Дронов - большое спасибо за вашу помощь.

Если посмотреть на остальные кейсы мероприятия, то два из них также относились к компьютерному зрению. Это кейс "Разработка системы диагностики дефектов воздушных линий электропередачи по данным фотосъемки с беспилотных летательных аппаратов"от Росссетей и "Разработка системы, предотвращающей публикацию видеоконтента, не соответствующего требованиям законодательства" от Газпром-медиа. И если для первого задания мне не подобрать сходу подходящей сети, то вот для второго кейса вполне можно было начать с Action Recognition Python Demo c использованием предобученных моделей action-recognition-0001-encoder + action-recognition-0001-decoder из OpenVINO. Эти модели натренирована на датасете kinetics-400, и в них есть распознавание курения, употребления алкоголя, что могло бы помочь с демонстрацией MVP вашего продукта по фильтрованию видео, а оставшееся время можно было бы посвятить слайдам с демонстрацией подхода, проблематикой, масштабируемостью, экономическим эффектом и прочими аспектами проекта, на что любят смотреть эксперты и что так не хочется делать программистам.

В общем, если вы вдруг решите участвовать в хакатоне по компьютерному зрению, обязательно посмотрите репозиторий c готовыми демо-приложениями и готовыми моделями OpenVINO, и вполне возможно, что вам не нужно мучительно делать работоспособный MVP, а можно начать строить серьезное приложение на базе OpenVINO.

Теги: компьютерное зрениехакатонглубокое обучениеopenvino
Хабы: Блог компании Intel Python Машинное обучение
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 5
Комментарии Комментарии 5

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
США
Сайт
www.intel.ru
Численность
5 001–10 000 человек
Дата регистрации
Представитель
Victoria Zhislina

Блог на Хабре