Outpainting
outpainting — генеративное продолжение сцены за прежними границами
Outpainting расширяет холст и генерирует сцену в новых областях за пределами исходного кадра. Модель опирается на пиксели возле старой границы, маску и текстовое условие. Так квадратный снимок можно превратить в широкий или высокий кадр, сохранив центральную композицию.
Коротко
Коротко. Outpainting добавляет новые области за прежними границами изображения. Холст расширяется, новые поля отмечаются маской, а генеративная модель продолжает фон, предметы и свет, опираясь на исходный край. В отличие от upscale, сцена становится шире или выше, а не просто получает больше пикселей.
Что это такое
На квадратном снимке девушка с таксой сидит на пледе в летнем поле. Для широкого баннера не хватает пространства по бокам. Обычная обрезка сделает кадр ещё теснее, а растяжение исказит фигуру и собаку.
При outpainting исходный снимок помещается в центр более широкого холста. Пустые боковые области становятся зоной генерации. Модель продолжает траву, плед, свет и глубину поля, а в новых местах могут появиться корзина, велосипед или другие элементы, согласованные с контекстом.
Исходный кадр даёт опору, но не содержит точного ответа, что находилось за его границами. Поэтому outpainting не восстанавливает утраченную фотографию. Он создаёт правдоподобное продолжение.
Связь с inpainting
Технически outpainting близок к inpainting. В обоих случаях маска делит изображение на сохраняемую и генерируемую области.
Разница в расположении:
- inpainting меняет участок внутри существующего холста;
- outpainting сначала увеличивает холст, а затем заполняет новые поля снаружи.
У разных библиотек цвет маски может означать противоположные действия. В одной белая область перерисовывается, в другой сохраняется. Смысл техники от этого не меняется: модель получает указание, где создавать новые пиксели и где использовать исходник как контекст.
Как проходит outpainting
Упрощённый процесс выглядит так:
- выбирается новый размер и положение исходного кадра;
- вокруг него появляются пустые области;
- маска отмечает новые поля и небольшой переход у старой границы;
- изображение, маска и промпт передаются модели редактирования;
- модель денойзит отмеченную область, учитывая доступный контекст;
- результат смешивается с исходником;
- при необходимости оригинальный центр возвращается поверх сгенерированной версии.
Последний шаг важен для пиксельной точности. Некоторые пайплайны обрабатывают не только белую часть маски или повторно кодируют весь кадр через VAE. Даже защищённая область может слегка поменять цвет и микродетали. Композитинг исходного центра убирает такую разницу.
Откуда модель берёт продолжение
На новую область влияют сразу несколько источников.
Пиксели у границы показывают цвет, свет, линии и фактуры. Горизонт подсказывает глубину, край стены — направление плоскости, складка пледа — продолжение ткани.
Промпт объясняет, какой сюжет допустим за кадром. Без него модель сильнее опирается на визуальный контекст и собственные вероятности.
Базовая модель приносит знания о мире и визуальные привычки из обучения. Она решает, какие предметы естественны для поля, комнаты или улицы.
Дополнительные условия могут задавать глубину, линии, референс, стиль или расположение объектов. Они полезны, когда одной границы недостаточно.
Ни один источник не гарантирует единственный результат. Одинаковый центр способен получить множество правдоподобных продолжений.
Маска и зона перекрытия
Если маска начинается ровно на последнем столбце исходных пикселей, переход может стать заметным. У модели мало пространства, чтобы согласовать старое и новое.
Поэтому зона генерации часто немного заходит внутрь исходника. В этом перекрытии модель связывает фактуру и цвет по обе стороны границы. Мягкий край маски делает смешивание постепенным.
Слишком узкое перекрытие оставляет шов. Слишком широкое даёт модели больше свободы изменить исходный объект. Подходящий размер зависит от масштаба фактуры: ровному небу нужно меньше контекста, чем лицу, архитектуре или сложному узору.
Почему появляются швы
Шов — не только резкая линия. Переход выдаёт себя и другими способами:
- меняется яркость или цветовая температура;
- зерно становится крупнее или исчезает;
- перспектива линии отклоняется;
- повторяется один и тот же пучок травы;
- фон получает другую глубину резкости;
- тень не совпадает с источником света;
- текстура резко меняет частоту;
- предмет обрывается на старой границе.
Размытие маски скрывает только часть проблем. Геометрию и смысл приходится согласовывать через контекст, условия генерации или отдельную коррекцию.
Сохранение исходного центра
Фраза «outpainting не трогает оригинал» верна только при правильно собранном процессе.
Центр может измениться из-за:
- неточной маски;
- мягкого перехода, который заходит слишком далеко;
- повторного VAE-кодирования;
- обработки всего холста вместо выбранной области;
- изменения размера исходника;
- цветокоррекции или повышения резкости после генерации;
- повторного прохода с высокой силой преобразования.
Если важна буквальная сохранность лица, текста, продукта или подписи, исходные пиксели можно наложить обратно после генерации. Переход обрабатывается отдельно, а защищённая центральная часть остаётся исходной.
Изменение соотношения сторон
Outpainting часто используют, чтобы превратить один кадр в несколько форматов. Исходник можно поставить:
- по центру широкого холста;
- ближе к левому или правому краю, оставив место под текст;
- внизу вертикального кадра, дорисовав пространство сверху;
- в углу, расширив сцену сразу в двух направлениях.
Новое положение меняет композицию. Симметричное расширение создаёт спокойную панораму, а большое поле с одной стороны превращается в направленное пространство. Outpainting не только заполняет пустоту, но и заново распределяет визуальный вес кадра.
Один большой шаг или несколько
При широком расширении новая область может быть намного больше исходника. Чем дальше модель уходит от старого края, тем меньше прямого визуального контекста у неё остаётся.
Поэтапная генерация даёт каждой новой полосе свежую границу. Но у неё есть другая проблема: ранняя выдуманная деталь становится контекстом для следующего шага. После нескольких расширений цвет, перспектива и сюжет постепенно дрейфуют.
Один большой шаг сохраняет общую согласованность решения, но сложнее для модели и требует больше памяти. Несколько шагов легче контролировать локально, зато их ошибки накапливаются. Универсально лучшего варианта нет.
Что бывает трудно продолжить
Некоторые сцены forgiving: небо, море, стена без узора, размытый фон. Другие быстро выдают генерацию:
- строгая архитектурная перспектива;
- повторяющаяся плитка и орнамент;
- длинный текст;
- человеческие руки у края;
- лицо, частично обрезанное рамкой;
- отражения в зеркалах и стекле;
- технические схемы;
- предмет с точной геометрией;
- документальная фотография.
Чем строже геометрия и факты, тем меньше свободы для правдоподобной импровизации.
Промпт и пустое описание
Outpainting может работать с подробным текстом или почти без него.
Пустой или нейтральный промпт оставляет больше решения визуальному контексту. Это подходит для простого продолжения стены, неба или луга.
Подробный промпт помогает ввести новый объект или объяснить, какая сцена должна появиться. Но он способен конфликтовать с исходным краем. Если текст требует вечер, а центр снят днём, модель может создать заметную границу света или начать менять переходную область.
Полезность текста зависит от того, нужно ли только продолжить существующее или сознательно добавить новый сюжет.
Панорамы и повторяющиеся проходы
Outpainting позволяет строить очень широкие сцены, последовательно добавляя области. При этом контроль целого становится сложнее. Локально красивый фрагмент может нарушить общий горизонт, масштаб предметов или направление света.
Для панорамы важны общие ориентиры: линия горизонта, точки схода, крупные цветовые массы и повторяющиеся элементы. Без них каждая следующая область легко превращается в отдельную картинку.
Видео
Кадр можно расширить независимо, но для видео этого недостаточно. Новые детали должны сохраняться между соседними кадрами и двигаться согласованно с камерой.
Покадровый outpainting часто создаёт мерцание: трава, стены и предметы меняются каждую секунду. Видеопайплайн использует временной контекст, движение или закреплённые признаки сцены. Это отдельная задача поверх обычного расширения изображения.
С чем часто путают
- С inpainting. Механика маски похожа, но inpainting редактирует внутри старых границ, а outpainting добавляет новые.
- С upscale. Upscale увеличивает число пикселей существующего кадра. Outpainting расширяет поле зрения и создаёт новую сцену.
- С crop. Обрезка удаляет края. Outpainting, наоборот, добавляет пространство.
- С zoom out. Генеративный zoom out часто реализует симметричный outpainting вокруг центра. Это частный интерфейс той же идеи.
- С панорамной склейкой. Stitching соединяет реальные перекрывающиеся фотографии. Outpainting генерирует отсутствующие области.
- С восстановлением фотографии. Новая часть может быть правдоподобной, но не документально истинной.
Частые ошибки
- Считать новую область исторически достоверной. Модель не знает, что находилось за кадром.
- Сохранять слишком жёсткую границу маски. Цвет и фактура могут образовать шов.
- Размывать маску слишком далеко внутрь. Важные детали исходника начинают меняться.
- Не возвращать оригинальный центр при строгих требованиях. Повторное кодирование способно изменить даже защищённую область.
- Расширять сцену без геометрических ориентиров. Горизонт и перспектива расходятся.
- Добавлять много новых объектов сразу. Они начинают конкурировать с исходным сюжетом.
- Оценивать только уменьшенное превью. Швы, зерно и повторения заметнее в полном размере.
- Продолжать неудачный промежуточный шаг. Следующая генерация наследует его ошибки как новый контекст.
Частые вопросы
Outpainting всегда сохраняет исходные пиксели?
Нет. Это зависит от маски и реализации. Пиксельно точный центр получают, когда оригинал композится поверх результата после генерации новых областей.
Чем outpainting отличается от inpainting?
Outpainting создаёт области за старой границей холста. Inpainting заменяет выбранную область внутри существующего изображения. Оба используют маску и контекст.
Зачем маске заходить внутрь исходного кадра?
Небольшое перекрытие даёт модели пространство связать старую и новую фактуру. Без него переход может выглядеть приклеенным.
Почему пустой промпт иногда работает лучше подробного?
Когда нужно нейтрально продолжить фон, исходный край уже содержит достаточно информации. Новый сюжет из текста может создать лишний конфликт.
Можно ли расширять только одну сторону?
Да. Положение исходника и форма маски определяют, где появится новая сцена.
Outpainting повышает разрешение исходника?
Нет. Он добавляет пиксели за границами. Детализацию самого центра меняет отдельный upscale или повторная обработка.
Почему при нескольких шагах меняется стиль?
Каждая новая область становится контекстом для следующей. Небольшие отклонения цвета, света и фактуры накапливаются.
Главное
Outpainting расширяет холст и генерирует продолжение сцены в новых областях. Модель использует край исходника, маску, промпт и собственные визуальные знания. Качество определяется не одной кнопкой, а тем, как сохранён центр, сколько контекста попало в переход и насколько согласованы перспектива, свет и фактура. Новая часть может выглядеть естественно, но остаётся созданным вариантом того, что могло быть за кадром.