Задачи с видео

Как оживить фотографию нейросетью

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

Олег Красин··4 мин чтения

Коротко

Оживление фотографии — это генерация нового видео на основе кадра, а не анимация исходника. Пейзаж и предметный кадр выходят почти всегда, лицо человека — заметно хуже.

Как оживить фотографию нейросетью

Что происходит на самом деле

Формулировка «оживить фотографию» скрывает суть. Модель не двигает объекты на вашем снимке — она генерирует новое видео, используя снимок как первый кадр и как описание сцены.

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

Что выходит хорошо

Пейзаж и природа. Движение облаков, воды, листвы, дыма. Модель уверенно справляется, потому что здесь нет объекта, чьё искажение бросается в глаза.

Предметный кадр. Медленное движение камеры вокруг объекта, изменение освещения. Хорошо работает для карточек товара и заставок.

Общие планы. Чем меньше в кадре занимает человек, тем меньше заметны ошибки в его анатомии.

Что выходит плохо

Крупный план лица. Мимика — самое сложное. Типовые сбои: неестественная моторика глаз, зубы, меняющие форму, лицо, «плывущее» к концу ролика.

Руки. Классическая слабость генеративных моделей. В движении она проявляется сильнее, чем на статичном кадре: пальцы могут поменять количество прямо по ходу дубля.

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

Люди на втором плане. Модель дорисовывает их движение и часто делает это плохо, а зритель замечает.

Сколько стоит перебор

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

Восьмисекундный ролик на стандартном уровне Veo 3.1 — около $3.20. Три дубля — почти $10. На сцене с человеком крупным планом три дубля обычно не хватает.

Практический вывод: черновики гоняйте на дешёвом уровне. Облегчённый уровень Veo стоит $0.03 за секунду, Kling 3.0 — от $0.09. Найдите работающий промпт там, а финальный дубль снимите на дорогом. Подставить цифры под свой объём можно в калькуляторе.

Практический порядок работы

Начните с выбора кадра, а не промпта. Снимок с чётким планом, простым фоном и без мелкого текста даёт результат заметно лучше — независимо от модели.

Просите одно движение, а не сцену. «Медленный наезд камеры» отрабатывается надёжнее, чем «человек поворачивается и улыбается». Чем меньше модели нужно придумать, тем меньше она сломает.

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

Движение камеры вместо движения объекта

Из всех запросов к статичному кадру надёжнее прочих отрабатывается медленный проезд камеры. Модель при этом решает задачу попроще: она не выдумывает поведение объекта, а достраивает то, что было чуть левее, правее и позади него.

Заодно появляется параллакс — передний план смещается быстрее дальнего. Именно он даёт ощущение объёма, из-за которого снимок «ожил», хотя ни один объект в нём не пошевелился.

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

Практический предел ставится не длительностью, а амплитудой: медленный наезд на восемь секунд надёжнее быстрого облёта на четыре.

Длина против сохранности лица

Лицо держится ровно столько, сколько модели не приходилось его перестраивать. Как только начинается поворот головы, смена выражения или просто накопление кадров, черты плывут — и первым уходит то, что делает лицо узнаваемым: разрез глаз, форма носа, линия челюсти.

Отсюда приём приёмки: поставьте последний кадр ролика рядом с исходной фотографией и посмотрите на них одновременно. При просмотре подряд глаз дрейфа не замечает, потому что изменение идёт постепенно. При сравнении крайних кадров подмена видна сразу.

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

Симптом, причина, решение

Что видитеПочему такЧто делать
Лицо в конце не то же, что в началеМодель перестраивает черты на каждом кадреСравнить крайние кадры и резать раньше точки расхождения
Фон за объектом «дышит»Модель достраивает невидимое на исходникеУменьшить амплитуду движения камеры
Объект поплыл, хотя его не просили двигатьПромпт описал сцену, а не движение камерыПросить именно проезд, наезд или отъезд
Одежда и волосы меняют фактуруМелкий рисунок ткани перерисовывается зановоБрать снимки без мелкого узора и печатного текста
Старое фото рассыпается с первых кадровЗерно и царапины модель читает как содержаниеСначала восстановить снимок, потом оживлять

Частые вопросы

Модель двигает объекты на моей фотографии?
Нет. Она генерирует новое видео, используя снимок как первый кадр. Всё, что появляется дальше, модель придумывает.
Почему лицо к концу ролика меняется?
Артефакты накапливаются с длительностью. Держитесь коротких дублей: то, что выглядит хорошо на трёх секундах, к восьмой обычно разъезжается.
Сколько стоит оживить одну фотографию?
Восемь секунд на стандартном уровне Veo 3.1 — около $3.20 за дубль. Считайте по числу попыток: на сцене с человеком их обычно нужно больше трёх.
Какие кадры оживают лучше всего?
Пейзаж, вода, облака, предметная съёмка. Хуже всего — крупный план лица, руки и текст в кадре.

Олег Красин псевдоним

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

Отвечает за: локальный запуск, требования к железу, методика замеров