Как в «Газпромбанке» оживляют нарисованных человечков

И зачем вообще банку нужна такая технология.

Как в «Газпромбанке» оживляют нарисованных человечков

На VK Fest, который прошел в Москве в июле, каждый мог увидеть Data Science в деле. Достаточно было заглянуть на стенд Газпромбанка, нарисовать любого персонажа, станцевать свой коронный танец и получить видео, где рисунок оживает и в точности повторяет все ваши движения. Чудеса? Нет, результат работы специалистов по машинному обучению Газпромбанка, которые сделали Data Science Dance специально для фестиваля. Рассказываем, кто и как учил рисунки танцевать.

Зачем банку танцующие человечки

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

В Газпромбанке занимаются не только скорингом кредитов, но и развитием компьютерного зрения и речевых технологий, графами и гео. Data Science Dance — очередное доказательство этому. Запросы от бизнеса настолько амбициозны, что приходится быть на гребне волны новых библиотек и подходов. И мы с этим справляемся. Команда Data Science в Газпромбанке не самая большая по численности, но точно в лидерах по компетенциям и их применению к интересным задачам.

Владимир Дашковский, начальник Управления алгоритмов машинного обучения

Специально для фестиваля ребята придумали необычный проект: человек рисует персонажа, танцует — и через пару минут в мессенджере получает через чат-бота видео, на котором нарисованный персонаж повторяет его движения. Реализация проекта потребовала целый набор ML-моделей и ряд сложных инженерных решений.

Как оживить картинку

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

Чтобы человек мог получить готовое видео за несколько минут, нужно было пройти много стадий реализации проекта. И каждая из них предполагала свое решение: где-то это ML-модель, где-то — алгоритмы. Компьютерное зрение — очень обширная область. Это 2D, 3D, распознавание объектов, детекция, сегментация и многое другое. Мы понимали, что в нашем проекте придется совместить несколько разнородных решений и заставить их работать вместе.

Алексей Найденов, управляющий директор Управления алгоритмов машинного обучения

Алгоритм работы Data Science Dance выглядит так:

  • Анализ видео с танцем. На каждом кадре исходного видео модель ищет определенные элементы человеческого тела: голову, кисти рук, локти, колени и так далее. При этом сохраняется вся информации о том, как человек двигался на видео: махал руками и ногами, двигал головой, подпрыгивал, приседал или делал и то, и другое одновременно. Следующая модель переносит обнаруженные точки из 2D-плоскости в 3D-пространство.
  • Анализ рисунка. Человек рисует персонажа, у которого тоже нужно найти скелет и определить местоположение частей тела. За это отвечает отдельная ML-модель.
  • Анимация. Здесь в дело вступают особые алгоритмы, которые соединяют скелет нарисованного персонажа и танцующий скелет человека, затем анимируют его, словно оживляя. Получается видео, на котором персонаж танцует точь-в-точь, как автор рисунка.
Как в «Газпромбанке» оживляют нарисованных человечков

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

Все модели в Data Science Dance опенсорсные, то есть их не пришлось писать с нуля.

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

Алексей Найденов, управляющий директор Управления алгоритмов машинного обучения

Всего в продукте использовали три группы моделей:

  • AlphaPose. Получает представление о скелете человека в 2D-плоскости.
  • MotionBERT. Переносит 2D-точки в 3D-плоскость. Это помогает понять, как человек двигается в трехмерном пространстве. Например, прыгает назад или вперед.
  • Animated Drawings. Отвечает за оживление персонажа.
Как в «Газпромбанке» оживляют нарисованных человечков

Сложнее всего было заставить всё это работать сообща, причем быстро и без сбоев.

Например, модель Animated Drawings появилась относительно недавно, в этом году. Многие в Data Science-сообществе заинтересовались ею, начали экспериментировать и анимировать свои рисунки. Но чтобы использовать произвольное видео с танцем, авторы модели предлагали использовать платное ПО для дизайнеров и аниматоров для захвата движения на видео. Это предполагало, что для каждой анимации необходимо проводить ряд ручных манипуляций, что точно не подходило для массового применения.

В комментариях к этой модели до сих пор много вопросов, как автоматизировать анимацию рисунков без стороннего ПО. Ведь при его использовании теряется вся прелесть технологий: процесс становится долгим и неудобным. А нам нужно было найти способ получать видео быстро. Мы нашли решение, но оно не стыковалось с другими моделями. У нас как будто было несколько частей пазла, которые нужно собрать в цельную картинку. Это сложная инженерная задача.

Игорь Дьяченко, главный аналитик-исследователь Управления алгоритмов МО

Еще одно ограничение было очевидным и легко решаемым — оно касалось ресурсов. ML-модели требуют больших вычислительных затрат, а в Data Science Dance был целый набор моделей и алгоритмов, которые желательно запускать на графическом ускорителе. Чтобы посетителям не приходилось ждать видео часами, решили использовать отдельные облачные мощности.

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

Танцы по правилам

ML-модели, на которых работает Data Science Dance, могут быть весьма капризными. Например, чтобы модель корректно распознавала скелет танцующего человека, в кадре должен быть только он. Если в объектив случайно попадет другой человек или часть его тела, например нога или рука, это собьет алгоритмы с толку.

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

Игорь Дьяченко, главный аналитик-исследователь Управления алгоритмов МО

Поэтому при подготовке площадки Газпромбанка организаторы проследили, чтобы на идеальном фоне для танцев было достаточно места и никто посторонний в кадр не попадал.

Как в «Газпромбанке» оживляют нарисованных человечков

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

Чтобы всё получилось, рисунок должен быть человекоподобным. Неважно, дерево вы рисуете или милое животное — главное, чтобы у него были голова, ноги и руки. Один из посетителей, например, нарисовал Микки-Мауса. Цвета могут быть любые: сложности возникли только с розовым, потому что он бледный, а все другие цвета модель считывала отлично.

Алексей Найденов, управляющий директор Управления алгоритмов машинного обучения

С танцами всё было проще. Чтобы алгоритмы сработали хорошо, достаточно было не поворачиваться к камере спиной. В остальном танцевать можно как угодно и даже прыгать.

Как в «Газпромбанке» оживляют нарисованных человечков

Вот таким необычным способом проект Data Science Dance показал, что с помощью компьютерного зрения можно решать разные задачи, в том числе совершенно, казалось бы, не банковские.

Как компания-работодатель мы хотим рассказывать, какие направления и задачи у нас есть. Одно из главных наших преимуществ — стремительное развитие Data Science в банке. Через научно-развлекательные активности мы демонстрируем экспертизу на широкую публику. Это помогает не только привлекать опытных специалистов, но и мотивировать юных участников VK Fest к выбору перспективной профессии.

Юлия Иванова, начальник Центра цифровых коммуникаций

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

1212
20 комментариев

Это очень важное занятие!
Особенно сейчас, как никогда!!!
.
Да.

11
Ответить

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

4
Ответить

Во-во. Тож хотел сказать, что занятие супер, самое оно для банка. 😅😅😅

1
Ответить

Займитесь делом - наведите порядок в своей приложухе с расположением банкоматов лучше!

7
Ответить

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

С уважением,
Команда экспертов Газпромбанка

Ответить

Как клиенту это прям очень важно! Спасибо!

Пс прям в шоке, какую херню банк не лепит, а главное, как продает это руководству???

7
Ответить

Или так:

6
Ответить