fbpx
  • Open source модель определения 3D позы по 2D изображению

    оценка и предсказание 3D позы

    Оценка позы человека в трехмерном пространстве находит применение во многих задачах: беспилотный транспорт, виртуальная реальность, спортивная аналитика и видеонаблюдение.

    Задача восстановления 3D позы человека по изображению встречается с большими трудностями, по большей части из-за свойственной 2D изображениям геометрической неоднозначности. В решении есть дополнительные трудности: различные точки обзора, преграды и разнообразный внешний вид объектов.

    Задача 3D оценки положения тела человека решалась с помощью глубоких сверточных нейронных сетей. CNN используются для прямого предсказания трехмерного положения человека по признакам из плоского изображения или 2D позы. Вполне успешные, эти методы, основанные на техниках обучения с учителем, зачастую не способны к обобщению из-за недостатка обучающих данных. Разметка 3D поз человека — очень трудозатратный процесс.

    Исследователи из китайского университета Sun Yat-sen University предложили новый метод оценки трехмерной позы человека по 2D изображению. Метод основан на механизме самостоятельного контроля корректности. Метод позволяет эффективно учить структуры человеческих поз на большом количестве изображений.

    Идея метода

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

    • трансформация 2D изображения в 3D и
    • проецирование 3D позы в 2D.

    Используя двустороннее отображение — из 3D в 2D и обратно, метод способен точно определять положение человека в пространстве без каких-либо дополнительных указаний со стороны учителя.

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

    Архитектура

    Исследователи предложили 3D human pose machine, чтобы работать с генерацией последовательностей 3D поз для монокулярных кадров, используя новый подход и механизм самоконтроля.

    Сначала метод извлекает двумерные представления и оценивает 2D позы для каждого кадра при помощи первой вспомогательной нейросети — 2D Pose Representation Network (её архитектура представлена ниже).

    Архитектура представляет из себя два больших модуля:

    • Модуль трансформации позы из 2D в 3D, который преобразует двумерные признаки (являющиеся выходами с первой подсети) из 2D в 3D область.
    • Модуль проектирования 3D в 2D, который уточняет полученное предсказание 3D положения тела с помощью предложенного механизма самоконтроля.
    architecture
    Предлагаемая архитектура состоит из двух модулей и вспомогательной сети

    Вспомогательная сеть 2D Pose

    Подсеть 2D Pose представляет из себя сеть-кодировщик, который должен изучить компактные представления информации о позе в каждом кадре. Эта сеть, состоящая из сверточных и объединяющего слоев, принимает изображение на вход и производит отображение признаков вместе c предсказанными векторами 2D поз.

    details
    Детали архитектуры вспомогательной сети 2D Pose

    Модуль 1: 2D-to-3D Pose Transformer

    Первый модуль — модуль трансформации, который используется для применения изученных 2D признаков, извлеченных подсетью 2D Pose. Этот модуль состоит из двух сверточных слоев, одного полносвязного и двух LSTM слоев, которые используются для изучения паттернов движения во времени из закодированных поз. На выходе находится последний полносвязный слой, который выводит предсказанные положения K распространенных точек человеческого тела.

    Модуль 2: 3D-to-2D Projector

    Второй модуль — модуль проектирования, состоящий из 6 полносвязных слоев. Первые два слоя имеют выход, который представляет из себя финальное предсказание 3D позы, полученное из выхода первого модуля. Другие слои, как и первые два, определяют функцию отображения проекции, которая создает 2D проекцию из полученной 3D позы. Эта проекция затем используется механизмом коррекции для определения функции потерь как расстояния между проекцией и предсказанной 2D позой из подсети 2D Pose (напрямую из кадра). Этот замкнутый цикл определяет единую замкнутую архитектуру, позволяющую обучаться в режиме контроля самой себя. Полная архитектура представлена на рисунке ниже.

    3D pose estimation
    Подробная схема архитектуры вспомогательной сети модуля 3D-to-2D проектирования в (а) фазе обучения и (б) фазе тестирования

    Результаты

    Исследователи собрали обширные оценки на двух общедоступных датасетах, используемых в качестве бенчмарков — Human 3.6M и HumanEva-1.

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

    results
    Количественное сравнение ошибок 3D поз (в миллиметрах) на датасете Human3.6M
    Quantitative comparisons on the HumanEva-I dataset using 3D pose errors (in millimeters)
    Количественное сравнение ошибок 3D поз (в миллиметрах) на датасете HumanEva-1

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

    comparison pose estimation
    Качественное сравнение результатов предложенного метода с самостоятельной корректировкой и без неё на датасете Human3.6M
    Qualitative comparisons
    Количественное сравнение предложенного метода с Zhou et al.

    Заключение

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

    Результаты тестов свидетельствуют о том, что метод может стать связующим звеном между двумерным изображением человека и его трехмерным положением в пространстве. Кроме того, метод позволяет получать 3D позы без каких-либо дополнительных указаний. Код этого проекта находится в открытом доступе и может быть найден по ссылке.