Как прогуляться внутри картины: делаем облёт полотна с любого ракурса
Нейросеть может не только оживить персонажей на картине. Если буквально нарисовать ей маршрут камеры, можно заставить её облететь сцену, заглянуть за объекты и показать полотно с ракурсов, которых в оригинале вообще не существовало. Показываю, как это повторить.
Тренд с оживающими картинами мы уже проходили: вода начинает двигаться, ткань колышется, персонажи слегка меняют позу, а статичное полотно превращается в короткую сцену.
Но можно зайти дальше.
Вместо того чтобы просто оживлять происходящее внутри кадра, мы заставим саму камеру перемещаться внутри картины. Она может пройти перед главным героем, облететь его сбоку, подняться выше, уйти за спину и вернуться в исходную точку.
И самое интересное здесь то, что для управления камерой не нужно пытаться описывать весь маршрут словами. Его можно просто нарисовать прямо поверх изображения.
До конца лета действует промокод AISUMMER со скидкой на любой тариф.
Сейчас самое время опробовать SYNTX.AI, потому что появился новый раздел тренды, про который я пишу в предыдущей статье.
Получается что-то вроде режиссёрской карты движения.
Что мы будем делать
Механика состоит из двух частей:
- Берём картину и рисуем поверх неё маршрут камеры.
- Загружаем изображение в видеомодель и объясняем, что линия является инструкцией для движения камеры, а не частью самой картины.
Для теста я использовала Seedance 2.5. Модель подходит для такого эксперимента прежде всего потому, что умеет работать с длинным непрерывным движением камеры и сложными визуальными референсами.
По данным ByteDance, Seedance 2.5 может генерировать до 30 секунд видео за один проход, а среди улучшений модели отдельно заявлены работа с перспективой, движением камеры и мультимодальными референсами.
Но здесь есть важный нюанс: просто написать «камера облетает картину» недостаточно. Чем точнее мы объясним модели геометрию движения, тем выше шанс получить именно облёт, а не обычный зум или случайную панораму.
Шаг 1. Выбираем картину
Технически попробовать можно практически любое изображение, но проще всего начинать с полотен, где хорошо читается глубина.
Например:
- есть выраженный передний, средний и задний план;
- персонажи или крупные объекты не перекрывают вообще весь кадр;
- понятна перспектива пространства;
- вокруг центрального объекта есть место, куда камера потенциально могла бы переместиться.
Если перед нами плоский портрет на однотонном фоне, нейросети придётся почти полностью придумывать пространство за пределами исходного кадра.
А вот интерьер, пейзаж или многофигурная композиция дают модели намного больше подсказок.
[Здесь исходная картина]
Шаг 2. Рисуем маршрут камеры
Открываем изображение в любом редакторе, где можно провести линию: Photoshop, Figma, Canva, редактор на телефоне, здесь вообще не принципиально.
Теперь рисуем поверх картины маршрут.
Точка обозначает место, откуда камера начинает движение.
Стрелки показывают направление.
Линия задаёт сам путь камеры.
Причём линия может сообщать модели немного больше, чем кажется.
Если маршрут проходит рядом с объектом, камера должна приблизиться к нему. Если линия уходит за объект, камера должна оказаться дальше. Поднимаем маршрут вверх по кадру, камера набирает высоту. Опускаем вниз, она снижается.
То есть мы фактически превращаем двухмерную пометку в инструкцию для движения камеры внутри трёхмерного пространства.
Не усложняйте первый маршрут
Для первой попытки лучше сделать одну понятную дугу.
Например:
старт → движение вправо → облёт персонажа → небольшой подъём → остановка сбоку.
Когда станет понятно, как модель интерпретирует разметку, можно пробовать петли, почти полный облёт на 360 градусов и более сложные движения через несколько планов.
Есть ещё один красивый вариант: замкнуть линию обратно в начальную точку. Тогда можно попросить камеру совершить полный круг и закончить видео практически тем же кадром, с которого оно началось.
Шаг 3. Отправляем изображение в Seedance 2.5
Я делала генерацию через:
syntx.ai или @syntxaibot → «Видео» → Seedance 2.5
Загружаем нашу картину вместе с нарисованным маршрутом как референс.
И здесь начинается самая важная часть.
Модель должна понять две вещи одновременно:
Линия существует как инструкция для камеры.
Но линии не существует внутри самой сцены.
Если этого не проговорить достаточно жёстко, цветная стрелка вполне может внезапно появиться на полу, отразиться в воде или остаться висеть поверх картины.
Поэтому в промпте несколько раз уточняем: маршрут является режиссёрской аннотацией и ни при каких обстоятельствах не должен попасть в видео.
Шаг 4. Используем промпт
Ниже оставляю универсальную версию. Она специально подробная: здесь одновременно задаются движение камеры, сохранение оригинальной картины, реконструкция пространства за пределами кадра и запрет на появление нарисованного маршрута.
Перед генерацией нужно поменять только несколько частей в квадратных скобках.
Универсальный промпт
Почему промпт такой длинный
В этой генерации модель решает довольно странную задачу.
Мы одновременно говорим ей:
«Посмотри на эту цветную линию очень внимательно»
и
«Сделай так, будто этой линии никогда не существовало».
Параллельно она должна превратить плоскую картину в пространство, придумать невидимые стороны объектов и при этом не начать менять сам оригинал.
Поэтому здесь полезна избыточность в важных ограничениях.
Например, запрет на отображение линии встречается несколько раз намеренно.
То же самое касается сохранения лиц, поз, одежды и композиции.
Что делать, если облёт получается плохо
Самая частая проблема: камера вместо настоящего пространственного движения просто панорамирует изображение или немного приближает его.
В таком случае первым делом упрощайте маршрут, а не усложняйте промпт.
Сделайте траекторию шире и понятнее. Пусть камера явно проходит сбоку от крупного объекта или персонажа. Именно здесь хорошо виден параллакс, по которому сразу становится понятно, действительно ли модель реконструировала пространство.
Вторая проблема: во время облёта начинают меняться лица и детали картины.
Здесь помогает более медленное движение, меньшее количество одновременно движущихся персонажей и жёсткое требование сохранить исходные позы.
Третья проблема: стрелка появляется в готовом ролике.
В промпте уже стоит несколько прямых запретов, но можно дополнительно сделать сам маршрут максимально простым: однотонная линия, одна стартовая точка и минимум стрелок.
И ещё один момент: не обязательно добиваться идеального результата с первой генерации. Нейросеть достраивает пространство, которого никогда не существовало на оригинальном полотне, поэтому часть результата всё равно остаётся интерпретацией модели.
Самое интересное начинается за границей картины
Мне этот приём нравится именно поэтому.
Обычная анимация отвечает на вопрос: «Что происходило бы внутри этой картины через секунду?»
А здесь появляется другой:
«Что увидел бы человек, если бы мог зайти внутрь и обойти эту сцену?»
Мы никогда не узнаем, как на самом деле выглядела спина персонажа, что находилось в нескольких метрах за пределами холста или какой была сцена под другим углом.
Но теперь можно хотя бы посмотреть на одну из возможных версий.
И, кажется, для нейросетей это одно из самых красивых применений: не заменить произведение искусства, а дать нам новый способ его рассмотреть.