Метод моделирования новых поз человека на изображении

19 июля 2018
Моделирование позы на фотографии

Метод моделирования новых поз человека на изображении

Люди обладают удивительной способностью воображения. Воображение и обучение на опыте лежат в основе нашего интеллекта. Обе эти способности связаны – воображение работает благодаря памяти и опыту. Поэтому мы можем определить…

Люди обладают удивительной способностью воображения. Воображение и обучение на опыте лежат в основе нашего интеллекта. Обе эти способности связаны – воображение работает благодаря памяти и опыту. Поэтому мы можем определить форму объекта, даже если рассматриваем его только с одной стороны, можем представить движение или деформацию объекта только взглянув на него в статическом положении. Память дает нам возможность представлять сложные вещи. К примеру, как будет выглядеть тот или иной человек в различных позах.

Исследователи из Массачусетского технологического института рассмотрели задачу моделирования человеческой позы на изображении. При помощи фотографии человека и модели целевой позы (target pose) нейросеть создаёт реалистичное изображение:

unseen poses

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

Постановка проблемы

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

изменение позы с помощью нейросетей

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

  • Во-первых, генерируемое изображение должно быть максимально реалистичным;
  • Во-вторых, изменение позы требует сегментации человека и других объектов на изображении;
  • В-третьих, моделирование новой позы оставляет пустые места на заднем плане, которые должны быть надлежащим образом заполнены.

Корректировка этих изменений на изображении – сложная задача. В своей работе исследователи решают эту задачу, разделяя её на подпроблемы, решаемые отдельными модулями. Фактически, они создают модульную архитектуру, состоящую из нескольких частей, каждая из которых решает отдельные задачи и обеспечивает реалистичный синтез изображений. Предлагаемая модель состоит из 4-х модулей:

A. Модуль сегментации исходного изображения;

B. Модуль пространственной трансформации;

C. Модуль синтеза переднего плана;

D. Модуль синтеза фона.

Предлагаемая архитектура, состоящая из 4-х модулей.
Предлагаемая архитектура, состоящая из 4-х модулей

Сегментация исходного изображения

Артефакты на изображении, возникающие при трансформации позы, часто бывают следующими: появление дополнительных частей тела, большие смещения конечностей и наложение частей тела. Чтобы преодолеть эти проблемы, первый модуль сегментирует исходное изображение. Сегментация двухуровневая: сначала изображение разделяется на передний план и фон, а затем передний план (человек) сегментируется на части тела: руки, ноги и т.д. Поэтому на выходе этапа сегментации есть один фоновый слой и L передних слоев, соответствующих каждой из L предварительно сегментированных частей тела.

Gaussian bumps сегментация
Сегментация частей тела

В качестве входных данных вводится совокупность исходного изображения и моделей начальной и желаемой поз. В отличие от исходного изображения, которое является RGB-изображением, позы определяются как стек из нескольких слоев. Поза представляет собой трехмерный объект, заданный в R (HxWxJ). Каждый из J-слоев (или каналов) в представлении позы содержит Гауссову кривую, центрированную в координатах (x,y) каждого сустава. Гауссово представление (вместо детерминированного представления) вводит определённую степень регуляризации, поскольку совместные оценки местоположения могут быть часто зашумлены и неточны. При проведении тестов авторы сегментировали 14 частей тела (голова, шея, плечи, локти, запястья, бедра, колени и лодыжки).

Результаты работы модуля сегментации

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

  1. Пространственная трансформация. Сегментированные слои из модуля сегментации преобразуютсятаким образом, чтобы соответствовать желаемым частям позы. Пространственное преобразование не изучается, а непосредственно вычисляется из входных моделей поз.
  2. Синтез переднего плана. Модуль синтеза переднего плана представляет собой U-образную нейросеть, которая принимает пространственно преобразованные слои со слоями моделируемой позы в виде конкатенированного объема и выдает два разных результата — первый из них является необходимым передним планом, а второй — необходимой маской.
  3. Синтез фона. Задача, которую решает модуль синтеза фона, заключается в заполнении отсутствующего, который закрывается человеком во входном изображении. Этот модуль также является U-сетью, работающей с объемом входного изображения (наряду с гауссовым шумом вместо пикселей переднего плана) и маской позы на входе. Он выводит реалистичный фон без переднего плана — то есть без человека на изображении.

Результаты работы отдельных модулей, создающих новое изображение.

Синтез изображений

Наконец, составляется взвешенная линейная комбинация необходимого фонового и переднепланового изображений (см. формулу ниже).

формула

Как и во многих генеративных нейросетях, исследователи предлагают использовать дискриминатор, чтобы генерировать реалистичные изображения. Генеративная модель была обучена с использованием функций потерь L1, L-VGG и L-VGG + GAN с использованием бинарной классификационной ошибки дискриминатора.

Результаты, полученные с использованием различных функций потерь
Результаты, полученные с использованием различных функций потерь
График распределения количества пикселей по градиенту амплитуды для различных функций потерь
График распределения количества пикселей по градиенту амплитуды для различных функций потерь

Оценка

Оценка метода производилась на примере роликов на Youtube. Эксперименты проводились с использованием видеороликов, на которых происходили три класса действий: игра в гольф (136 роликов), занятие йогой (60 роликов) и занятие теннисом (70 роликов).

сравнение c U-net и VGG
Сравнение ошибки в различных метриках и баллов SSIM предлагаемого метода и Unet нейросети
сравнение методов сентезирования позы
Результаты работы нейросети
Сравнение результатов, полученных с использованием различных функций потерь
Сравнение результатов, полученных с использованием различных функций потерь

В сухом остатке

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

Определение позы человека на изображении с помощью FBI

16 июля 2018
3D pose estimation based on 2D joints and Forward-or-Backward Information (FBI) for each bone

Определение позы человека на изображении с помощью FBI

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

Беспилотное управление, виртуальная реальность, общение человека с компьютером, видеонаблюдение – области, в которых возможность определять позу человека на изображении играет ключевую роль. Значительные достижения в этой сфере были сделаны благодаря применению свёрточных нейронных сетей (Convolutional neural networks — CNN). Однако, задача остаётся нерешённой для непостановочных сцен: трудно определить точную позу человека по изображению, снятому в естественных условиях.

Предлагаемый метод

Группа исследователей из города Шэньчжэнь (Китай) предложили новый метод для определения позы человека на изображении. А именно, они предлагают использовать информацию об удалённости каждой части человеческого тела от камеры. Они назвали эту информацию Forward-or-Backward Information (FBI).

В рамках рассматриваемого метода используется свёрточная нейросеть с двумя ветвями: первая ответственна за маркирование суставов тела на изображении, а вторая – за работу с FBI. Стоит отметить, что существует несколько современных методов, использующих только информацию о положении суставов для определения позы человека. Однако, такой метод некорректен, так как различным позам может соответствовать одно и то же расположение суставов на изображении. В свою очередь, использование информации о расположении суставов в совокупности с данными о расстоянии  между камерой и различными частями тела позволяет определить положение суставов уже в трёхмерном пространстве. На основе этих рассуждений авторы полагают, что анализ двух рассмотренных типов информации в глубокой регресионной нейросети позволит предсказывать расположение суставов с более высокой точностью.

Distribution of out-of-plane angles for all bones marked as “uncertain”
Распределение количества отметок «положение не определено» по углам отклонения плоскости конечности от плоскости изображения

Датасет

Для стабилизации обучения нейросети исследователи разработали  специальный пользовательский интерфейс, с помощью которого маркировали FBI для 12,000 изображений. Задача была сведена к определению положения 14 частей тела в соответствии с тремя состояниями: близко, далеко, параллельно относительно плоскости изображения.

Для составления тренировочного датасета FBI были наняты люди, которые отмечали на произвольных изображениях из датасета MPII расположение частей тела по следующим критериям: «спереди», «позади» или «положение не определено» (подразумевается, что дать точный ответ затруднительно в виду параллельности части тела плоскости изображения). 20% всех отметок относились к критерию «положение не определено». График выше показывает распределение числа таких отметок по углам отклонения плоскости части тела относительно плоскости изображения. Как и можно было ожидать, люди чаще отмечают неопределённость, когда конечность почти параллельна к плоскости изображения.

Архитектура нейросети

Теперь давайте рассмотрим структуру используемой нейросети более детально.

Network architecture
Архитектура нейросети

Нейросеть имеет три составляющие:

  1. Pose Estimator — блок, ответственный за первичную оценку позы человека на изображении. Он принимает на вход изображение и выдаёт двумерную карту расположений 16 суставов человека на изображении.
  2. Определитель FBI. Эта часть принимает на вход изображение и выдаёт FBI 14-ти частей тела, разделённых по критериям «спереди», «позади» или «положение не определено». Эта часть нейросети начинается с последовательности свёрточных слоёв, за которыми следуют два последовательно расположенных модуля архитектуры hourglass. Полученные карты особенностей затем пропускаются через набор свёрточных слоёв, полностью соединённые слои и softmax-слой, благодаря чему на выходе мы получаем результат классификации по трём рассматриваемым критериям.
  3. Определитель позы (Pose Regressor – PR). В этой части регресионная нейросеть выявляет трёхмерные координаты суставов, принимая на вход их двумерные координаты и FBI. Чтобы учесть как можно больше информации, PR дополнительно принимает на вход матрицу вероятности, сгенерированную softmax-слоем. Таким образом, матрица двумерных координат и матрица вероятности соединяются, и с помощью полученной матрицы и двух каскадных блоков определяются трёхмерные координаты суставов, а следовательно, и расположения частей тела в трёхмерном пространстве.

Сравнение с существующими методами

Количественное сравнение было проведено на основе Human3.6M – датасета, содержащего 3.6 миллиона RGB изображений 7 профессиональных актёров, выполняющих 15 различных действий (прогулка, принятие пищи, сидение и т.д.). Средняя ошибка в определении позиции сустава (mean per joint position error – MPJPE) была использована как оценочная метрика. Результаты представлены в таблице 1.

Таблица 1. Качественное сравнение на основе MPJPE. Ordinal [19] – работа, схожая с предлагаемым методом. Наилучший результат без учёта этой работы помечен синим. Чёрным выделены наилучшие результаты с учётом это й работы.
Таблица 1. Качественное сравнение на основе MPJPE. Ordinal [19] – работа, схожая с предлагаемым методом. Наилучший результат без учёта этой работы помечен синим. Чёрным выделены наилучшие результаты с учётом это й работы
Для ряда работ результаты были выровнены в соответствии с реальными данными посредством rigid transformation – преобразования, сохраняющего расстояние между каждой парой точек. Результаты представлены в таблице ниже.

Таблица 2. Количественное сравнение, основанное на MPJPE после rigid transformation. Ordinal [19] – смежная с предлагаемым методом работа. Наилучший результат без учёта этой работы помечен синим. Чёрным выделены наилучшие результаты с учётом этой работы
Таблица 2. Количественное сравнение, основанное на MPJPE после rigid transformation. Ordinal [19] – смежная с предлагаемым методом работа. Наилучший результат без учёта этой работы помечен синим. Чёрным выделены наилучшие результаты с учётом этой работы.
Результаты количественного сравнения демонстрируют превосходство предлагаемого метода над более ранними подходами при определении практически всех поз. Необходимо отметить, что одна из работ, помеченная в таблицах как Ordinal [19], использует схожий подход и даёт сравнимые по качеству результаты. Отличие в том, что в этой работе при обучении выявляются глубокие взаимосвязи между всеми суставами на изображении. Такой способ обучения довольно утомителен, в отличие от способа, используемого в рассматриваемом методе.  

Для подтверждения эффективности предлагаемого метода при работе с непостановочными изображениями,  исследователи взяли 100 изображений из своего FBI-датасета и провели ещё одно сравнение с методом, предлагаемым Zhou и коллегами. В этом случае в качестве оценочной метрики был выбран коэффициент корректности FBI, полученной после распознавания позы. Метод Zhou и коллег показал коэффициент правильности 75%, в то время как рассматриваемый подход достиг результата в 78%. Кроме того, на рисунке ниже представлены результаты качественного сравнения этих методов.

Qualitative comparison results of the suggested method on some in-the-wild (ITW) images
Качественное сравнение результатов предлагаемого метода на примере изображений, снятых в произвольном ракурсе

В сухом остатке

Для более точного определения позы человека предлагаемый подход предполагает использование нового типа информации, названного Forward-or-Backward Information (FBI), благодаря чему он превосходит все ранее используемые техники. Кроме того, в рамках этой работы был сделан ещё один существенный вклад в развитие машинного обучения: создан датасет из 12,000 изображений с маркированной FBI. Датасет будет выложен в открытый доступ с целью помочь другим исследователям, работающим в области распознавания образов.

Перевод – Борис Румянцев, оригинал.

“Видеть сквозь стены” — исследователи научились определять позу человека за стеной

21 июня 2018
Human Pose Estimation Under Occlusions

“Видеть сквозь стены” — исследователи научились определять позу человека за стеной

Возможность видеть сквозь стены всегда считалась сверхспособностью, и не раз становилась идеей научно-фантастических фильмов. В 2011 году исследователи из Массачусетского технологического института (MIT) объявили о разработке радара, показывающего в режиме…

Возможность видеть сквозь стены всегда считалась сверхспособностью, и не раз становилась идеей научно-фантастических фильмов. В 2011 году исследователи из Массачусетского технологического института (MIT) объявили о разработке радара, показывающего в режиме реального времени изображение того, что происходит за сплошной стеной. Несмотря на неплохие результаты, метод представляет собой сложную радиолокационную технологию, предназначенную для особых частных случаев.

Семь лет спустя исследователи из того же университета предложили новый метод “видения сквозь стены”

Волны видимого света отражаются от объектов, а затем попадают на сетчатку глаз — так люди и животные «смотрят» на окружающий мир. Подобным образом мы можем «видеть» через стены, посылая радиоволны, которые отражаются от цели и возвращаются к приемникам. В новом подходе исследователи используют мощь частот радиосигналов Wi-Fi, которые пересекают преграды и отражаются от человеческого тела, а методы глубокого обучения позволили им точно предсказывать позу человека за стенами и при окклюзии (явлением, при котором объект визуально скрывается за препятствиями, полностью или частично, прим.).

Входные данные

Описанный метод называется RF-Pose (RF — сокращение “Radio Frequency” = “радиочастотный”), он использует маломощный беспроводной сигнал (в 1000 раз слабее Wi-Fi). Для точного предсказания позы за препятствиями используются отражения радиосигналов, обработанные глубокой нейросетью. Считается, что стены представляют собой твердые предметы из бетона или дерева, способные блокировать или хотя бы ослаблять сигналы. Однако есть волны с определенной частотой, способные проходить сквозь них, например, Wi-Fi. Чтобы понять, что находится за бетонной стеной, нужно записать отраженный сигнал, который прошел сквозь нее и оттолкнулся от объекта. В RF-Pose применяется широко известная радарная система с антенными решетками и с непрерывным частотно-модулированным излучением (Frequency Modulated Continuous Wavе, FMCW). По сути, FMCW разделяет отраженные волны на основе расстояния от отражающего объекта, а антенные решетки — на основе направления в пространстве.

Таким образом, входные данные метода RF-Pose представляют собой две проекции отражений сигнала, созданные двумя антеннами — вертикальными и горизонтальными, и представленные как тепловые карты.

Heat Maps, RF-Pose method
Горизонтальные и вертикальные проекции тепловых карт

Метод

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

Авторы объясняют и принимают во внимание ограничения радиочастотных сигналов. Во-первых, радиосигналы, особенно на проходящих сквозь стены частотах, имеют низкое пространственное разрешение (порядка десятков сантиметров), в отличие от визуальных сигналов с разрешением порядка долей миллиметра.

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

Определив специфические для поставленной задачи требования, исследователи предложили метод, основанный на обучении с учителем, где обучающие данные представлены разными типами (cross-modal supervision). Представленная архитектура “учитель-ученик” использует синхронизированные пары изображений RGB и проекции тепловых карт отражений радиосигнала.

Pose estimation under occlusions network architecture
Архитектура сети “учитель-ученик”

Cеть-учитель обучается на RGB-изображениях, ее цель — прогнозирование 14 ключевых точек, соответствующих анатомическим частям человеческого тела: голова, шея, плечи, локти, запястья, бедра, колени и лодыжки. Эти предсказанные карты достоверности (confidence maps) с ключевыми точками из сети-учителя используются для непосредственного обучения сети-ученика.

Поэтому целью обучения является минимизация ошибки между предсказанием сети-ученика и предсказанием сети-учителя. Для этого функция потерь задается как бинарная кросс-энтропия для каждого пикселя на карте достоверности:

Formula

Поскольку радиоприемник, использовавшийся в этом подходе, генерировал 30 пар тепловых карт в секунду, у авторов была возможность тренировать сеть, объединяя информацию из нескольких последовательных снимков RF-карт. Это было сделано для того, чтобы при определении положения ключевых точек не опираться лишь на один кадр.

Для того, чтобы справиться с представлением данных, авторы закладывают архитектуру энкодера/декодера в сеть-ученика, которая “заставляет” ее учиться преобразовывать радиочастотные тепловые карты в изображение с камеры. Для этого реализованы две сети энкодера для горизонтальных и вертикальных тепловых карт (их несколько из-за использования группы снимков сразу), и одна сеть декодера, которая предсказывает карты достоверности контрольных точек, получая на вход закодированные данные по каналам с двух энкодеров.

В качестве входных данных сетям пространственно-временного сверточного кодирования поступает 100 кадров (3,3 секунды), каждая сеть имеет 10 слоев сверток с ядром 9x5x5. Сеть декодирования состоит из 4 слоев со свертками 3x6x6, и обе сети используют блоки ReLU и батч-нормализацию. Реализация была выполнена в PyTorch, при обучении batch size устанавливался равным 24.

OpenPose and RF-Pose comparison
Сравнение предложенного метода с другим существующим методом OpenPose

Оценки и выводы

Учитывая небольшой размер обучающей выборки, метод демонстрирует очень хорошие результаты. RF-Pose превосходит OpenPose на видимых сценах по метрике Average Precision(среднее из чисел, каждое из которых — средняя точность, при 10 различных порогах ОКS (object keypoint similarity) в диапазоне от 0,5 до 0,95). Сравнение между ними приведено в таблицах и графике ниже.

Comparison between RF-Pose and OpenPose
Сравнение RF-Pose и OpenPose

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

RF-Pose and OpenPose
Сравнение RF-Pose и OpenPose с учетом RGB изображения с камеры

Перевод — Эдуард Поконечный, оригинал — Dane Mitrev