Connect with us

Штучний інтелект

Подолання ‘поганих днів волосся’ в синтезі зображень людини

mm

Від золотої доби римської скульптури зображення людського волосся було колючим викликом. Середній людський голова містить 100 000 волосин, має різні показники заломлення залежно від його кольору і, понад певну довжину, рухається і реформується способами, які можуть бути змодельовані лише за допомогою складних фізичних моделей – на сьогодні застосовується лише через ‘традиційні’ методи CGI.

Від дослідження 2017 року компанії Disney, фізична модель намагається застосувати реалістичний рух до рідинного стилю волосся в робочому процесі CGI. Джерело: https://www.youtube.com/watch?v=-6iF3mufDW0

Від дослідження 2017 року компанії Disney, фізична модель намагається застосувати реалістичний рух до рідинного стилю волосся в робочому процесі CGI. Джерело: https://www.youtube.com/watch?v=-6iF3mufDW0

Проблема погано вирішується сучасними популярними методами deepfakes. Тривалий час провідний пакет DeepFaceLab мав модель ‘повної голови’, яка могла захопити лише жорсткі втілення коротких (зазвичай чоловічих) стилів волосся; і недавно DFL стабільний FaceSwap (обидва пакети походять від суперечливого джерельного коду DeepFakes 2017 року) запропонував реалізацію семантичної моделі сегментації BiseNet, що дозволяє користувачеві включити вуха та волосся в результати deepfakes.

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

GAN Волосся

Два основних конкуруючих підходи до симуляції людини – це Нейронні поля радіанції (NeRF), які можуть захопити сцену з декількох точок зору та закодувати тривимірне представлення цих точок зору в досліджуваній нейронній мережі; та Генеративні суперницькі мережі (GANs), які суттєво більш просунуті щодо синтезу зображень людини (не в останню чергу тому, що NeRF з’явився лише у 2020 році).

Виявлене розуміння NeRF щодо тривимірної геометрії дозволяє йому реплікувати сцену з великою вірністю та послідовністю, навіть якщо зараз у нього мало або зовсім немає можливостей для застосування фізичних моделей – і, фактично, відносно обмежених можливостей для будь-якого виду перетворення даних, які не стосуються зміни точки зору камери. На сьогодні NeRF має дуже обмежені можливості щодо відтворення руху людського волосся.

GAN-еквіваленти NeRF починаються з майже фатальної недоліки, оскільки, на відміну від NeRF, латентний простір GAN не містить у собі розуміння тривимірної інформації. Тому 3D-обізнана генерація зображень обличчя GAN стала гарячою темою дослідження генерації зображень за останні роки, з 2019 року InterFaceGAN одним з провідних проривів.

Однак, навіть результати InterFaceGAN, представлені та вибрані, демонструють, що нейронна консистентність волосся залишається складною задачею щодо тимчасової консистентності для потенційних робочих процесів VFX:

'Сизий' рух волосся при перетворенні пози в InterFaceGAN. Джерело: https://www.youtube.com/watch?v=uoftpl3Bj6w

‘Сизий’ рух волосся при перетворенні пози в InterFaceGAN. Джерело: https://www.youtube.com/watch?v=uoftpl3Bj6w

Оскільки ставало все більш очевидним, що генерація виду через маніпуляцію латентним простором сама по собі може бути алхімією, все більше робіт з’являється, які включають CGI-інформацію до робочого процесу GAN як стабілізуючого та нормалізуючого обмеження.

CGI-елемент може бути представлений проміжними 3D-примітивами, такими як Skinned Multi-Person Linear Model (SMPL), або шляхом прийняття технік 3D-інференсу方式, подібної до NeRF, де геометрія оцінюється з джерельних зображень або відео.

Одна нова робота в цьому напрямку, опублікована цього тижня, – це Багатогранна консистентна генерація суперницьких мереж для 3D-обізнаного синтезу зображень (MVCGAN), спільна робота між ReLER, AAII, Університетом технологій Сіднея, академією DAMO в Alibaba Group та Зхейцзянським університетом.

Правдоподібні та надійні нові пози обличчя, згенеровані MVCGAN на зображеннях, отриманих з набору даних CELEBA-HQ. Джерело: https://arxiv.org/pdf/2204.06307.pdf

Правдоподібні та надійні нові пози обличчя, згенеровані MVCGAN на зображеннях, отриманих з набору даних CELEBA-HQ. Джерело: https://arxiv.org/pdf/2204.06307.pdf

MVCGAN включає генеративну радіанційну мережу (GRAF), здатну забезпечувати геометричні обмеження в Генеративній суперницькій мережі, що можна вважати одним з найбільш автентичних можливостей позування серед подібних підходів, заснованих на GAN.

Порівняння між MVCGAN та попередніми методами GRAF, GIRAFFE та pi-GAN.

Порівняння між MVCGAN та попередніми методами GRAF, GIRAFFE та pi-GAN.

Однак, додатковий матеріал для MVCGAN показує, що отримання об’єму волосся, його розташування, поведінки та консистентності є проблемою, яку не легко подолати за допомогою обмежень, заснованих на зовнішньо накладеній 3D-геометрії.

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

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

Оскільки ‘прямі’ робочі процеси CGI все ще вважають тимчасову реконструкцію волосся великою проблемою, немає підстав вважати, що конвенційні геометричні підходи цього типу принесуть консистентний синтез волосся в латентний простір у найближчому майбутньому.

Стабілізація Волосся з Конвольюційними Нейронними Мережами

Однак, майбутня робота трьох дослідників з Інституту технологій Чалмерса в Швеції може пропонувати додатковий прогрес у нейронній симуляції волосся.

Зліва, стабілізоване волосся CNN, справа, оригінальне зображення. Дивіться відео в кінці статті для кращої роздільності та додаткових прикладів. Джерело: https://www.youtube.com/watch?v=AvnJkwCmsT4

Зліва, стабілізоване волосся CNN, справа, оригінальне зображення. Дивіться відео в кінці статті для кращої роздільності та додаткових прикладів. Джерело: https://www.youtube.com/watch?v=AvnJkwCmsT4

Робота називається Фільтрація Волосся в Реальному Часі з Конвольюційними Нейронними Мережами і буде опублікована на симвозіумі i3D на початку травня.

Система складається з автокодувальній мережі, здатної оцінювати роздільність волосся, включаючи самозатінення та врахування товщини волосся, в реальному часі, на основі обмеженої кількості стохастичних зразків, ініційованих геометрією OpenGL.

Підхід рендерить обмежену кількість зразків з стохастичною прозорістю та потім тренує U-net, щоб відновити оригінальне зображення.

Під MVCGAN, CNN фільтрує стохастично вибрані кольорові фактори, блиски, тангенси, глибину та альфи, збираючи синтезовані результати в композитне зображення.

Під MVCGAN, CNN фільтрує стохастично вибрані кольорові фактори, блиски, тангенси, глибину та альфи, збираючи синтезовані результати в композитне зображення.

Мережа тренується на PyTorch, збігається протягом періоду від шести до дванадцяти годин, залежно від об’єму мережі та кількості вхідних ознак. Навчені параметри (ваги) потім використовуються в реальному застосуванні системи.

Тренувальні дані генеруються шляхом рендерингу декількох сотень зображень для прямих та хвилястих стилів волосся, з випадковими відстанями та позами, а також різними умовами освітлення.

Різні приклади тренувальних даних.

Різні приклади тренувальних даних.

Прозорість волосся серед зразків усереднюється з зображень, відтворених зі стохастичною прозорістю на суперзразковій роздільності. Оригінальні дані високої роздільності знижуються для відповідності обмеженням мережі та апаратного забезпечення, а потім підвищуються again в типовому робочому процесі автокодувальника.

Реальний застосунок (програмне забезпечення, яке використовує алгоритм, отриманий з тренованої моделі) використовує поєднання NVIDIA CUDA з cuDNN та OpenGL. Початкові вхідні ознаки скидаються в буфери кольору OpenGL з多зразковим зразкуванням, а результат перекидається в тензори cuDNN перед обробкою в CNN. Ці тензори потім копіюються назад у ‘живу’ текстуру OpenGL для накладання у фінальне зображення.

Реальна система працює на NVIDIA RTX 2080, виробляючи роздільність 1024×1024 пікселів.

Оскільки кольорові значення волосся повністю роз’єднані у значеннях, отриманих мережею, зміна кольору волосся є тривіальною задачею, хоча ефекти, такі як градієнти та смуги, залишаються майбутнім викликом.

Автори випустили код, використаний у роботі, на GitLab. Дивіться додаткове відео для MVCGAN нижче.

Висновок

Навігація у латентному просторі автокодувальника або GAN все ще більше нагадує плавання, ніж точне водіння. Лише у цьому дуже недавньому періоді ми починаємо бачити правдоподібні результати для генерації поз обличчя, у підходах, таких як NeRF, GAN та не-дипфейкові (2017) автокодувальні мережі.

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

 

Перша публікація 15 квітня 2022 року.

Писатель про машинне навчання, домен-спеціаліст у сфері синтезу зображень людини. Колишній керівник дослідницького контенту в Metaphysic.ai.
Особистий сайт: martinanderson.ai
Контакт: [email protected]