Определение положения человека
Определение положения человека (англ. Human pose estimation) — продолжающая задача сегментации изображения из раздела компьютерного зрения о нахождении и локализации частей тела человека на изображениях или видео (рассматривается как последовательность изображений). Чаще всего позицией человека называют набор соединённых ключевых точек (англ. Joint), соответствующих суставам (плечи, локти, кисти, тазобедренные суставы, колени, стопы) и другим ключевым точкам (шея, голова, центр торса). Эту задачу можно рассматривать в двух или трёх измерениях, от чего зависит сложность задачи и практические применения результатов. Также задачу можно разделить на два подтипа: определение положения для одного человека (англ. Single Person Estimation), определение положения для нескольких человек (англ. Multi Person Estimation)
Постановка задачи
Single Person Estimation
Задача заключается в определении положения одного человека по фото или видео. Важным условием является то, что на изображении должен быть только один человек, иначе гарантировать корректное выполнение невозможно. В качестве результата необходимо получить набор соединённых точек, указывающих на соответствующие части тела. Сложности заключаются в том, чтобы отделить друг от друга разные части тела, корректно определять положение конечностей, скрытых за другими объектами, а так же корректно отличать левые части тела от правых, независимо от поворота человека на изображении.
Multi Person Estimation
Эта задача имеет более высокую сложность, т.к. необходимо обнаружить множество человек на изображении, а затем определить положение для каждого человека из множества обнаруженных людей. Основная сложность в том, чтобы корректно определить и отличить друг от друга части тела, принадлежащие разным людям, а так же решить все сложности связанные с Single Person Estimation.
Область применения
- Кинематограф и анимация — CGI (англ. computer-generated imagery, букв. «изображения, сгенерированные компьютером») и захват движения (англ. Motion capture). Несмотря на то, что в настоящий момент чаще используется маркерный способ, при котором человек надевает костюм с датчиками движения, в последние годы большое развитие получил безмаркерный способ, основанный на компьютерном зрении.
- Видеоигры — широко применяется в дополненной реальности (англ. Augmented Reality, AR) и виртуальной реальности (англ. Virtual Reality, VR). Захват движения (англ. Motion tracking) также используется в консольных игровых решениях. Помимо этого, определение положения человека необходимо непосредственно в производстве видеоигр, для этого, опять же, используется технология CGI.
- Человеко-компьютерное взаимодействие (англ. Human-computer interaction) — здесь определение положения человека используется для взаимодействия с роботами или компьютерами, для отдачи команд компьютерным системам. Примером такого взаимодействия можно назвать уже упомянутый захват движения при игре на консолях.
- Биомеханика спорта (англ. Sport motion analysis) — анализ движений при тренировке и соревнованиях. Используется для лучшего понимания процессов, происходящих при занятии спортом, для предотвращения травм и растяжений, и для установления новых рекордов. Информация, полученная в ходе анализа, используется также для создания профессионального инвентаря.
Методы решения
DeepPose
Первая значимая разработка с использованием глубокого обучения для задачи определения положения человека. Модель продемонстрировала высокую эффективность и превзошла существовавшие на тот момент решения. В этом подходе оценка позы формулируется как задача CNN-регрессии по суставам (ключевым точкам) тела. Для большей эффективности используется каскад из нескольких CNN. Важной особенностью является то, что обрабатывается человек целиком, что позволяет корректно определять позу, даже если некоторые суставы скрыты.
Если рассматривать архитектуру, модель основана на AlexNet (7 слоёв) и дополнительном финальном слое, выводящем пары координат ключевых точек. Обучение модели производится с использованием функции потерь L2 для регрессии (англ. L2 loss for regression).
DeepCut
OpenPose
См. также
Примечания