Нейросетевые персонажи научились сложным движениям по видео с YouTube

Американские и канадские исследователи разработали нейросетевой фреймворк, позволяющий виртуальным персонажам обучаться сложным движениям напрямую с видеороликов, где эти движения выполняют люди. Сначала алгоритм размечает на каждом кадре видео элементы человеческого тела, затем согласует данные с соседних кадров, а после этого передает данные нейросети, которая пытается повторить движение с помощью обучения с подкреплением. Статья с описанием разработки будет представлена на конференции SIGGRAPH Asia 2018.

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

В начале 2018 года группа разработчиков из Лаборатории исследований в области искусственного интеллекта Калифорнийского университета в Беркли и Университета Британской Колумбии представила алгоритм DeepMimic, позволяющий обучать нейросетевых виртуальных персонажей сложным движениям, совершаемым людьми. Исследователям удалось добиться высокого качества копирования, но они столкнулись с классической проблемой машинного обучения — сложностью подготовки исходных данных для обучения алгоритма, которые в их случае приходилось собирать с помощью системы захвата движений, усложняющей процесс сбора данных и ограничивающей спектр собираемых движений.

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

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

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

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

Григорий Копиев

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Это нейробаза

Кратко объясняем ключевые термины из области ИИ