Нейромережа навчили переносити рухи людей між відеороликами

Американські дослідники створили нейросетевий алгоритм, здатний переносити рухи людей між двома відеороликами. Для навчання йому необхідно надати записи людини з цільового відео довжиною в кілька хвилин, після чого їй можна дати нове відео, рух з якого алгоритм перенесе на цільовий ролик. Стаття з описом розробки опублікована на arXiv.org.


Перенесення деталей і стилю між зображеннями та відеороликами - одна з областей, в якій наочно видно прогрес алгоритмів машинного навчання. Зокрема, широку популярність отримав алгоритм користувача Reddit deepfakes, здатний підміняти обличчя на відеороликах. Крім того, існують і більш досконалі алгоритми, які враховують безліч параметрів міміки для створення відеозаписів, які складно відрізнити від реальних. Тим не менш, зазвичай розробники подібних систем концентруються на перенесенні тільки рухів частин обличчя, а не всього тіла.


Група дослідників з Університету Каліфорнії в Берклі під керівництвом Олексія Ефроса (Alexei Efros) створили алгоритм, який також переносить рухи людей між двома відеороликами, але робить це для всього тіла. Розробники застосували не пряме перенесення, а перенесення через проміжні моделі тіла. Вони вибрали такий спосіб з кількох причин. Головна з них полягає в тому, що досить складно зібрати такий набір кадрів, щоб кожне зображення з нього в точності відображало рухи з вихідного відео. Крім того, навіть при повному збігу розташувань частин тіла на кадрах можуть бути присутні сильні стилістичні відмінності, що заважають перенесенню, наприклад, різний одяг.

Замість цього дослідники застосували тристадійну схему. Спочатку відкритий алгоритм OpenPose перетворює вихідне відео на спрощену модель людського тіла, що складається з ключових точок, з'єднаних лініями. Після цього руху вихідної моделі передаються на цільову модель, причому вони проходять нормалізацію, тому що різні люди можуть мати різні пропорції тіла і прямий перенос може призвести до нереалістичних змін тіла людини. Потім алгоритм pix2pixHD, розроблений у 2017 році іншою групою дослідників з Університету Каліфорнії в Берклі і NVIDIA, перетворює рухи моделі на фотореалістичний відеоролик, на якому людина повторює рухи з вихідного ролика:

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

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

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

Нещодавно дослідники з NVIDIA представили нейромережу, призначену для перенесення деталей між відеороликами з різними стилями, наприклад, створення реалістичного ролика руху обличчя людини з ролика з рухами спрощеної моделі. Головна особливість алгоритму полягає в складній системі аналізу сусідніх кадрів, що дозволяє отримувати на виході стабільну послідовність кадрів без різких переходів і «артефактів».


COM_SPPAGEBUILDER_NO_ITEMS_FOUND