Согласованность персонажа, сцены и камеры в рабочей системе

Автор: Николай СапуновОбновлено: август 202621 мин чтения
Содержание статьи +

Кратко

Генеративные видеомодели забывают: попросите одну и ту же модель создать два клипа «с той же женщиной» – и, скорее всего, получите двух разных женщин, две разные комнаты и два несвязанных движения камеры. Сохранить неизменными три ключевых элемента между кадрами – лицо и одежду персонажа, место и реквизит сцены, а также движение камеры – и есть разница между демонстрацией и рабочим продакшеном. В 2026 году эту задачу наконец решают с помощью правильного набора методов.

Этот урок простыми словами объясняет, почему модели «забывают» детали, какие четыре подхода это исправляют (референс-кондиционирование, дообучение, разделяемое внимание и явное управление камерой) и какая из продакшен-моделей 2026 года – Runway Gen-4, Sora 2, Veo 3.1 или Kling 3.0 – предоставляет тот или иной рычаг «из коробки».

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

Зачем это нужно

Если ваш продукт генерирует видео – OTT-студия создаёт B-ролики, e-learning-платформа выпускает постоянного ведущего, а маркетинговый инструмент собирает бренд-ролики – именно по согласованности пользователей и судят. Основателю простят медленную модель, но никто не простит «маскота бренда», у которого лицо меняется между интро и аутро. Этот урок предназначен для продакт-менеджера, основателя или техлида, который видел, как сгенерированный персонаж «перетекает» между кадрами, и должен понять: проблема в промпте, модели или пайплайне – и сколько стоит каждое исправление. Он опирается на урок про ландшафт генеративного видео, где сравниваются модели, и на урок про ускорение, потому что приёмы согласованности работают поверх той же диффузионной механики.

Главная проблема: модель без памяти

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

Генеративная видеомодель создаёт каждый клип с нуля. Вы даёте ей текстовый промпт – «женщина в красном пальто идёт через вокзал» – и она генерирует клип, постепенно устраняя случайный шум, пока из него не проявится изображение (этот процесс подробно разобран в уроке про ускорение). Ключевой момент – модель работает только на основе текстового промпта и случайного шума. Больше ничего.

Теперь попросите второй клип с тем же промптом. Модель снова стартует с текста и нового случайного шума, и у неё нет информации о первом клипе. Фраза «женщина в красном пальто» описывает почти бесконечное множество возможных женщин, и каждый раз модель выбирает в этом множестве другую точку. Результат – другое лицо, другой вокзал, другая походка. Модель сделала ровно то, что вы просили; в инструкции не было указания на «ту же самую женщину».

Это единственная идея, на которой держится весь урок – держитесь за неё: у генеративной модели нет памяти между генерациями, а текстовый промпт слишком расплывчат, чтобы зафиксировать конкретное лицо, место или движение камеры. Каждый приём согласованности – это способ дать модели больше, чем просто текст: что-то, что сузит «женщину в красном пальто» до этой женщины, на этом вокзале, снятой этим движением камеры. Приёмы различаются лишь тем, какой дополнительный сигнал они подают и как.

Полезно выделить три вещи, которые мы хотим сохранить, потому что ими управляет разная механика, и фиксы придётся комбинировать:

  • Согласованность персонажа – одно и то же лицо, телосложение, прическа и одежда в каждом кадре. Это самое сложное из трёх, потому что люди крайне чувствительны к изменениям внешности.
  • Согласованность сцены – одна и та же локация, освещение, реквизит и общая обстановка. Кухня с неизменной планировкой, логотип, не меняющий цвет.
  • Согласованность камеры – объектив ведёт себя как настоящая камера: осознанный наезд здесь, статичный кадр на штативе там, а не случайный дрейф, который модель выдумала сама.
Рис. 1. Почему модели «уплывают». Текстовый промпт описывает множество возможных женщин и комнат; без дополнительного якорного сигнала модель каждый раз выбирает другого участника этого множества.

Четыре рычага

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

Первый рычаг – референс-кондиционирование: дайте модели одно или несколько изображений (или короткий клип) именно того персонажа, объекта или места, который хотите, и она скопирует его образ в новую генерацию. Без обучения, мгновенно и многократно. Именно это в 2026 году большинство продуктов имеют в виду, когда говорят о «согласованных персонажах по референс-изображению».

Второй рычаг – дообучение (fine-tuning): берёте базовую модель и обучаете её новому конкретному субъекту на небольшом количестве примеров, получая небольшой дополнительный файл, который «знает» вашего персонажа. Этот способ медленнее и технически сложнее, чем референс-кондиционирование, но позволяет точнее передать особенности субъекта и использовать его на тысячах генераций.

Третий рычаг – разделяемое внимание (attention sharing): когда вы генерируете серию кадров или шотов одновременно, дайте им «обмениваться взглядами» в процессе создания, чтобы они выработали общую личность, а не каждый придумывал свою. Этот подход не требует обучения, прост в реализации и лежит в основе нескольких открытых инструментов для раскадровки.

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

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

Рычаг 1 – Референс-кондиционирование: показывай, а не описывай

Это рычаг, к которому в 2026 году обращаются в первую очередь, потому что он самый быстрый и теперь доступен в каждом крупном продукте.

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

Как это устроено внутри: IP-Adapter

Метод, сделавший это практичным, называется IP-Adapter (Image Prompt Adapter) – его опубликовала команда Tencent в августе 2023 года. До этого заставить модель учитывать референсное изображение означало переобучать всю модель целиком. Главная идея IP-Adapter – добавить отдельный небольшой модуль, отвечающий исключительно за обработку изображения.

Вот механика на пальцах. В диффузионной модели уже есть система, называемая cross-attention, которая позволяет текстовому промпту влиять на изображение – будто модель, рисуя, постоянно «сверяется» со словами. IP-Adapter добавляет второй, параллельный канал сверки – исключительно для референс-изображения, так что модель теперь сверяется с текстом и с картинкой по отдельности, а затем объединяет их. Авторы называют это decoupled cross-attention («расцепленное» – потому что текстовый и визуальный каналы остаются раздельными, а не смешиваются вместе). Выгода в экономичности: весь адаптер – всего около 22 миллионов дополнительных параметров (по меркам моделей – крошечный объём), но при этом он не уступает более тяжёлым методам и, обученный на базовой модели, бесплатно переносится на её сообщественные варианты.

Специально для лиц вариант IP-Adapter FaceID заменяет общий «отпечаток изображения» на выделенный лицевой отпечаток – такой же identity-вектор, как в системах распознавания лиц, – который фиксирует личность значительно жёстче, чем универсальный эмбеддинг. Когда продукт 2026 предлагает переключатель «face lock» или «сохранить это лицо», за ним обычно стоит адаптер лицевой идентичности из этого семейства.

Два родственника, которые стоит знать: PhotoMaker и InstantID

Два смежных метода постоянно появляются на виду – разместим их сразу. PhotoMaker объединяет несколько фотографий одного человека в единый «стек ID» и отлично справляется с генерацией разнообразных, естественных изображений этого человека. InstantID работает всего с одним фото и построен на жёстком сохранении личности за один проход, без дообучения под конкретного человека. Оба – методы референс-кондиционирования: один и тот же принцип, но разные компромиссы между количеством исходных фото и степенью точности передачи личности. В 2026 году по названиям вы их выбираете редко – вы выбираете продукт, а один из этих подходов работает внутри.

Чем платит референс-кондиционирование

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

Рычаг 2 – Дообучение: научите модель вашей предметной области

Когда мало референс-изображений – когда персонажа нужно использовать сотнями способов с полной точностью – вы перестаёте показывать модели и начинаете её учить.

Дообучение – это процесс, при котором берётся предобученная базовая модель и дополнительно обучается на небольшом наборе изображений конкретного объекта, пока не начнёт его «узнавать». Результат – не видео, а небольшой файл, который можно хранить и использовать повторно. Важны три метода, расположенные в порядке возрастания степени вмешательства.

Textual Inversion – самый простой метод. Он вообще не изменяет модель: вместо этого создаёт совершенно новое «слово» (кастомный токен) и обучает числовое значение, которое заставляет это слово вызывать нужный объект. В результате получается крошечный эмбеддинг – всего несколько килобайт, – и вы используете новое слово в промпте. Дёшево, но ограниченно: метод хорошо передаёт «вид» объекта, но плохо работает, когда нужно поместить его в радикально новые контексты.

DreamBooth, представленный исследователями Google в 2022 году, работает глубже. Он дообучает веса модели на трёх–пяти изображениях объекта, привязывая его к уникальному слову-идентификатору, с хитрой защитой (авторы называют её «prior preservation»), чтобы модель не забыла рисовать всё остальное. Результат сохраняет объект гораздо точнее, чем Textual Inversion, и убедительно встраивает его в новые сцены – но ценой более крупного файла и реального времени обучения.

LoRA (Low-Rank Adaptation) – формат, победивший в продакшене. Вспомните из урока про ускорение: LoRA – это небольшая стекируемая «заплатка» дополнительных весов, объёмом в десятки мегабайт, которую вы подключаете к базовой модели, не переобучая её целиком. «Character LoRA» – это та же идея, что и DreamBooth, но в стекируемом формате: вы обучаете её один раз на своём персонаже, сохраняете небольшой файл и применяете к любой совместимой генерации. Большинство пайплайнов «кастомный персонаж» в студиях – это LoRA-пайплайны, потому что файл маленький, легко заменяемый и многократно используемый на тысячах шотов.

Вот эвристика выбора между Рычагом 1 и Рычагом 2. Нужен персонаж иногда и быстро – используйте референс-кондиционирование: без обучения, мгновенно. Нужен персонаж постоянно, везде и при максимальной точности – например, постоянный ведущий шоу или маскот бренда в тысяче роликов – вложитесь в обучение LoRA один раз и используйте его вечно. Точка окупаемости примерно такая: больше нескольких десятков кадров одного персонажа обычно оправдывают LoRA.

Рис. 2. Четыре рычага согласованности. Большинство продакшен-пайплайнов комбинируют два-три – референс под личность, путь камеры под движение – а не полагаются на один.

Рычаг 3 – Разделяемое внимание: пусть кадры договорятся

Третий рычаг решает чуть иную задачу: не «совпади с одним референсом», а «заставь пачку изображений согласоваться друг с другом» – ровно то, что нужно для раскадровки или многошотовой последовательности.

Приём восходит к методу 2024 года StoryDiffusion, представленному на конференции NeurIPS. Вспомните: модель «сверяется» сама с собой через механизм внимания (attention). Идея Consistent Self-Attention – так её называют авторы – заключается в расширении этой самопроверки: при генерации серии кадров каждый кадр может «смотреть» не только на себя, но и на остальные кадры в этой серии. По сути, кадры «договариваются» между собой – они заимствуют черты лица и детали одежды друг у друга прямо в процессе генерации и приходят к единому образу персонажа и общей обстановке, а не каждый создаёт что-то своё.

Привлекательны два свойства: без обучения – вы просто подключаете его, не обучая модель, – и подключаемость, благодаря которой оно работает поверх методов референс-кондиционирования, таких как PhotoMaker, обеспечивая и фиксированную личность, и согласованность по всей серии. Подвох в том, что кадры должны генерироваться одновременно одной пачкой: вы не можете сделать первый кадр сегодня, а соответствующий второй – через неделю с помощью этого же механизма, потому что генерация следующей недели не сможет «увидеть» предыдущую. В таких случаях приходится возвращаться к сохранённому референсу или обученной LoRA. Разделяемое внимание – ключевой механизм во многих открытых инструментах для «согласованной раскадровки»; в закрытых продуктах он обычно скрыт и интегрирован в функцию «multi-shot».

Удерживаем сцену, а не только лицо

Всё вышесказанное относится и к сценам – но у них свой режим отказа, который стоит назвать, потому что команды зацикливаются на лицах и упускают дрейф мира.

«Сцена» – это локация, освещение, реквизит и цвет предметов: планировка кухни, логотип бренда, время суток. Два наших инструмента напрямую переносимы. Можно референс-обучить место («эта комната») так же, как лицо; например, Runway Gen-4 рекламирует согласованные локации и объекты, а не только персонажей. И можно обучить LoRA на объекте – продукте, логотипе, машине – чтобы он рендерился идентично на всём протяжении кампании. Пример с греческим бюстом в собственных материалах Runway по Gen-4 – именно это: один объект, корректно вписанный на склад, на патио и в комнату со светом костра.

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

«Частая ошибка – промпт воюет с референсом. Самый частый баг согласованности – не ограничение модели, а противоречие. Команда фиксирует персонажа с помощью сильного референс-изображения, а затем пишет промпт, описывающий его иначе: «молодой человек», хотя на референсе – человек средних лет, или «в синем костюме», хотя на референсе – пальто. Теперь референс и текст тянут в разные стороны, и модель находит компромисс – что-то среднее, не совпадающее ни с тем, ни с другим. После этого команда винит модель. Правило: промпт должен описывать действие и сцену, а личность – пусть остаётся на референсе. Не повторяйте словами то, что уже видно на изображении. Когда личность «уплывает», сначала проверьте это противоречие, а уж потом трогайте любые другие параметры.»

Рычаг 4 – Управление камерой: хватит надеяться, начни действовать

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

По умолчанию, когда вы просите у видеомодели «медленный наезд», она интерпретирует эту фразу визуально, и интерпретация «гуляет» – то наезд, то дрейф, то качание. Слова – такое же расплывчатое описание движения камеры, как и лица. Фикс тот же по духу, что и Рычаг 1: хватит описывать, начни подавать. Скормите модели точный путь камеры числами.

Метод, заложивший основу – CameraCtrl, опубликованный в 2024 году и принятый на конференцию ICLR 2025. Его ключевой вклад – в способе представления движения камеры, позволяющем модели точно ему следовать. Вместо передачи «сырых» координат камеры – как это делал ранний MotionCtrl, что сводилось к подаче модели лишь голых чисел без пространственного смысла – CameraCtrl кодирует камеру с помощью координат Плюккера (Plücker coordinates): это позволяет описать для каждого пикселя точный луч света, попадающий в объектив с данного направления. Такой подход даёт модели плотную геометрическую картину позы камеры в каждом кадре, а не просто набор чисел, – поэтому она точнее воспроизводит заданные наезды или облёты. Продолжение, CameraCtrl II, развивает эту идею, позволяя соединять движения камеры и исследовать сцену через несколько клипов, сохраняя при этом когерентность мира – управление камерой и согласованность сцены теперь работают в унисон.

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

Рис. 3. Управление камерой как поданный путь, а не набранная фраза. Геометрическое кодирование движения (один луч на пиксель) позволяет модели точно воспроизвести наезд или облёт, а не гадать.

Что дают бесплатно продакшен-модели 2026 года

Хорошая новость для всех, кто работает с отгрузками в этом году: теперь вы редко строите рычаги сами. Крупные закрытые модели обеспечивают согласованность через кнопки, а внутренняя механика скрыта внутри. Акцент сместился с «реализации IP-Adapter» на «выбор модели, чей встроенный рычаг подходит под вашу задачу».

Runway Gen-4 построен вокруг идеи согласованности. Собственная формулировка Runway – «world consistency»: на основе одного референс-изображения и текстовой инструкции модель генерирует согласованных персонажей, локации и объекты между сценами – при этом без дообучения и дополнительного тренинга. Дополнительные функции выходят за рамки кино: Act-Two позволяет управлять поведением персонажа на основе управляющего видео, а продукт Characters превращает человека в переиспользуемый управляемый ассет. Если задача – многошотовый нарратив с фиксированным актёрским составом и декорациями, Gen-4 становится естественной отправной точкой.

Sora 2 от OpenAI использует функцию cameos: вы загружаете короткий клип (около четырёх секунд) с человеком, и модель сохраняет его внешность при генерации – личность, одежду и даже микромимику остаются неизменными при склейках. В качестве референса используется клип, а не отдельный кадр, что даёт модели больше ракурсов – Рычаг 1, накормленный богаче.

Google Veo 3.1 предлагает инструмент «ingredients to video»: вы указываете референс-изображения персонажа (и других элементов) в качестве «ингредиентов», и модель сохраняет их внешний вид между сценами и промптами. Это референс-кондиционирование под дружелюбным названием, ориентированное на создание брендированного и персонаж-центричного контента.

Kling 3.0 решает задачу многошотовой генерации напрямую: его multi-shot storyboard автоматически сохраняет личность персонажей, освещение и непрерывность сцены на протяжении всей последовательности кадров, а также корректно обрабатывает несколько персонажей в одной сцене, не теряя их индивидуальности. Это достигается за счёт сочетания разделяемого внимания и референс-кондиционирования – в единой раскадровочной функции.

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

ЗадачаПервый рычагФича модели 2026, к которой тянуться
То же лицо на пару шотов, быстроРеференс-кондиционированиеRunway Gen-4 ref, Veo 3.1 ingredients, Sora 2 cameo
Постоянный ведущий/маскот, тысячи шотовДообучение (character LoRA)Open-weights-модель + обученная LoRA
Совпадающая раскадровка за один заходРазделяемое вниманиеKling 3.0 multi-shot, StoryDiffusion (open)
Та же локация/объект по кампанииРеференс или object LoRARunway Gen-4 locations/objects
Конкретное повторяемое движение камерыЯвное управление камеройCameraCtrl (open), камера-контролы модели
Несколько персонажей, различимыхРеференс + разделяемое вниманиеKling 3.0 multi-character

Табл. 1. От задачи к рычагу и к фиче модели, доступной уже в этом году. Берите строку под ваш кадр; комбинируйте строки для сложных последовательностей.

Собираем рычаги вместе: продакшен-паттерн

Реальные пайплайны не выбирают один рычаг – они их комбинируют. Типичный паттерн 2026 для многошотового куска выглядит именно так, и такой порядок помогает анализировать собственную логику.

Сначала зафиксируйте личность один раз: создайте или обучите персонажа как переиспользуемый ассет – сохранённый набор референсов для закрытой модели или обученную LoRA для открытой. Второе, зафиксируйте мир: референс-кондиционируйте локацию и ключевой реквизит, чтобы место не «уплывало». Третье, генерируйте шоты по одной переменной за раз: держите слова про освещение и гардероб постоянными, меняйте лишь то, что нужно кадру. Четвёртое, задавайте камеру под каждый шот явным движением, а не набранной фразой, везде, где инструмент позволяет. Пятое, батчите шоты, которые должны совпадать, чтобы разделяемое внимание сработало, и откатывайтесь к сохранённому ассету личности для шотов, сделанных позже. Итог – последовательность, которая держится вместе, потому что каждый слой убирает ещё одну причину для модели уйти в сторону.

Где здесь Фора Софт

Мы создаём видеопродукты, в которых сгенерированный контент должен органично вписаться в реальный бренд и взаимодействовать с реальной аудиторией – а согласованность становится тем местом, где большинство генеративных решений терпят неудачу. В OTT- и интернет-ТВ сгенерированный ведущий или повторяющийся B-ролл должны выглядеть одинаково на протяжении всего сериала, поэтому мы используем обученные ассеты персонажей, а не отдельные референсы для каждого кадра. В e-learning постоянный ведущий на экране на протяжении десятков уроков – это не просто украшение, а инструмент удержания внимания. В маркетинге и AR/VR-опытах объект бренда должен рендериться идентично везде – это жёсткое требование, а не приятная деталь. Через все эти направления проходит одна и та же инженерная задача: выбрать подходящий рычаг для ассета, один раз построить пайплайн референса или LoRA и не допустить, чтобы промпт «воевал» с референсом.

Ключевые выводы

  • Модели забывают информацию между генерациями; текстовый промпт слишком общий, чтобы однозначно привязать лицо.
  • Исправляют четыре механизма: референс-условие, дообучение, разделяемое внимание, управление камерой.
  • Референс-кондиционирование (семейство IP-Adapter) – быстрый стандартный выбор в 2026 году, не требующий обучения.
  • Обучайте LoRA, если один и тот же персонаж многократно появляется в кадре с высокой точностью.
  • Большинство ошибок дрейфа возникают из-за противоречия между промптом и референсом: описывайте действия, а не черты личности.
  • Указывайте явный путь камеры; никогда не полагайтесь на автоматическое движение.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.