Фильтры для чат-приложений и видеоконференций, маски и забавные эффекты для лиц не только стали обыденностью, но уже и откровенно раздражают своей навязчивостью. Хотя в действительности эта технология напрямую связана с глубинным обучением и компьютерным зрением: чтобы наложить на ваше лицо маску кошечки, программа должна уметь распознать, где находятся глаза. Следующий шаг в этой области — распознавание объема на видео и фотографиях. Это не только приложения для примерки одежды и обуви, но в будущем возможность анализировать мышечную массу человека, что создает возможности как для спортивных, так и для медицинских приложений. О технологии dense human pose estimation и о том, какие сложности представляет ее портирование на мобильные устройства, рассказал студент четвертого курса Физтеха Артем Куприянов.
На первом курсе Физтеха я открыл для себя курс Data Mining in Action, а также специализацию МФТИ и Яндекса «Введение в машинное обучение», и все как-то закрутилось. Потом я ходил на физтеховский Акселератор со своим проектом по спортивной аналитике и участвовал в первых хакатонах. Это логичным образом привело меня в Школу анализа данных, там очень много людей, которые с тобой на одной волне. Это меня и очаровало.
Так что сейчас я учусь на четвертом курсе кафедры анализа данных и на первом курсе ШАДа. Образую вокруг себя комьюнити заинтересованных людей, с которыми я активно участвую в хакатонах (на нашем счету около 15 побед), а также пытаюсь делать свои проекты.
Так сложилось, что из всех задач меня больше всего интересуют различные проблемы, связанные с анализом человека и его лица. Это довольно узкая область, но она требует хороших знаний компьютерного зрения в частности и всего глубинного обучения в целом, благо ШАД дает эти знания с лихвой.
Мой диплом в МФТИ как раз связан с компьютерным зрением. Я пытаюсь портировать решение задачи dense human pose estimation на мобильные устройства, а также провести исследование вычислительных свойств различных частей архитектуры для выбора оптимального решения. Если совсем просто, то это задача, в которой по изображению с людьми нужно отсегментировать, выделить каждого человека и выдать некоторую развертку 3D-представления, придать некоторый объем телу.
Pose estimation позволяет нам судить о том, в какой позе находится человек, а это в свою очередь позволяет классифицировать его действия. Система распознавания движений тела помогает сделать компьютерные игры интереснее, ведь гораздо круче размахивать руками с виртуальным мечом, чем кликать мышкой, чтобы вызывать соответствующие движения персонажей на экране.
Dense pose estimation позволяет не только понять позу и определить движения, но и судить о текстуре. Мне больше всего нравятся такие примеры использования этой технологии, как концепт онлайн-примерочной от Amazon под названием Echo Look или WANNABY — приложение для примерки обуви. Мои наработки могут помочь улучшить качество в таких задачах и перейти от дорогих специализированных видеоустройств, которые используются у Amazon, к камерам мобильных телефонов.
Такая технология как dense pose estimation вообще является достаточно новой. Пару лет назад и задача pose estimation была в новинку. Кстати, разницу между ними можно понять из этих видео: здесь просто dense pose estimation, а здесь есть объем.
Для своих опытов я использую различные нейронные сети для детекции и сегментации, в основном изучаю передовые архитектуры и пытаюсь трансформировать их под мою задачу. Лично я вижу, что сейчас зарождается тренд с оптимизаций алгоритмов для различных устройств, а прорывом несомненно будет сделать алгоритм dense pose estimation с качеством специальных камер, но на простом смартфоне.