Как нейросеть рисует персонажа по фото: простыми словами

Между вашим снимком и нарисованным героем нет магии — есть несколько понятных шагов. Разбираем их так, чтобы стало ясно, где всё получается, а где ломается.

·6 мин чтения

Нейросеть не «копирует» фото, а описывает лицо

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

Откуда модель вообще знает, как выглядит ребёнок

Нейросеть заранее «насмотрелась» огромного количества изображений и научилась закономерностям: как устроены лица, как падают тени, как меняется внешность при повороте головы. Она не помнит конкретные фотографии — она усвоила общие правила. Когда вы загружаете снимок, модель не ищет его в памяти, а прикладывает выученные правила к вашему случаю. Отсюда важный вывод: качество результата зависит и от того, на чём училась модель, и от того, что вы ей дали на вход. Хороший алгоритм на плохом фото выдаст посредственный результат.

Почему герой иногда «плывёт» от кадра к кадру

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

Что зависит от исходного фото

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

Чего нейросеть по фото не умеет

Честно про границы. Модель не «узнаёт» вашего ребёнка как человека и ничего о нём не понимает — она работает с формой лица, а не с личностью. Она может ошибиться с возрастом, если фото нетипичное, и склонна усреднять черты, сглаживая то, что делает лицо особенным. Поэтому результат почти всегда требует человеческого взгляда: похоже или нет, решает родитель, а не алгоритм. Именно из-за этого разумные сервисы показывают несколько вариантов и дают выбрать, а не выдают один кадр и объявляют его окончательным.

Как это выглядит на практике

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

Читайте также