К содержанию
fohbook/ TouchDesigner
профи

Диффузия в реальном времени

StreamDiffusion и TouchDiffusion: генерация изображения по кадру и промпту прямо в патче, с реальной ценой.

Диффузионная модель в реальном времени — сейчас это возможно, но с оговорками, которые важнее самой возможности.

Как это стало быстрым

Обычная генерация занимает секунды. Реальное время получилось за счёт трёх вещей:

  1. Latent Consistency Model — генерация за 1–4 шага вместо 20–50.
  2. StreamDiffusion — конвейер, в котором шаги денойзинга выполняются пачками параллельно, а не последовательно.
  3. TensorRT и облегчённый автоэнкодер — компиляция под конкретную видеокарту.

Итог: десятки кадров в секунду на сильной карте при небольшом разрешении.

Готовые решения

Решение Что это
TouchDiffusion Реализация StreamDiffusion для TouchDesigner: любой TOP как вход, промпт как параметр
StreamDiffusionTD Компонент, собирающий возможности StreamDiffusion в один .tox
Свой процесс + Spout Полный контроль, максимум работы

Все они работают в режиме image-to-image: подаёте картинку из TouchDesigner (камера, генеративка, 3D-рендер), получаете стилизованный результат по промпту.

Требования

NVIDIA, много памяти, Windows

Практически все реализации требуют видеокарту NVIDIA: рабочий минимум — уровень RTX 3090 или 4090. Компиляция TensorRT привязана к конкретной карте и версии драйвера: перенос на другую машину означает пересборку движка. Поддержка новых поколений карт появляется с задержкой.

Главная проблема — не скорость, а стабильность

Диффузия обрабатывает каждый кадр независимо. Соседние кадры получаются разными — картинка «кипит». Это не настраивается ползунком.

Что помогает:

  • низкая сила денойзинга (strength): чем ближе результат к исходному кадру, тем меньше дрожания;
  • стабильный вход: чёткая геометрия и контрастные формы дают более устойчивый результат, чем шум;
  • временное сглаживание на выходе: смешивание с предыдущим кадром через фидбэк с малым коэффициентом;
  • ControlNet-подобные подсказки (контуры, глубина) там, где реализация их поддерживает;
  • приём кипением как приёмом: часть работ построена именно на этом.

Как встраивать в работу

камера / 3D-сцена ──▶ подготовка ──▶ диффузия ──▶ доводка ──▶ композит
                                        ▲
                                     промпт (DAT)
  • Подготовка: привести к разрешению модели (обычно 512), поднять контраст, убрать лишнее.
  • Доводка: цвет, зерно, смешивание с оригиналом. Чистый выход модели почти всегда выглядит хуже, чем смесь 70/30 с исходником.
  • Промпт держите в Table DAT: сменить набор промптов должно быть правкой таблицы, а не параметров.

Задержка

Складывается из: камера + подготовка + инференс + возврат + вывод. Реалистично 100–200 мс. Для фона под музыку это нормально, для интерактива «человек видит себя» — заметно.

Отдельный процесс, а не внутри шоу

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

Права и уместность

Модель обучена на чужих изображениях, и заказчик рано или поздно спросит, чей это стиль. Разберитесь с лицензией модели и договоритесь с заказчиком заранее — Нейросеть на площадке.

Сборка инсталляции на этом — Портрет через нейросеть.

рядом по смыслу