Дайджест диффузии
snormer — 21.04.2023Технического, скучного, по генерации изображений. Небольшое
мгновенное фото текущего состояния в этой области плюс пара
тенденций: проверить самому через пол года, что сбылось. Кратко, со
ссылками и фото.
Можеть быть полезно тем, кто хочет быть в курсе, чего ждать. Ну и
более выпукло оценить перспективы технологии.
Вообще сложилась интересная ситуация: прогресс идёт так быстро, что
крупные игроки не хотят вкладываться. Продукт рискует устареть ещё
до окончания обработки (Adobe попробовал, но ему просто некуда было
деваться). Пока все смотрят за прикладными работами и
опенсорс-бульоном и подмечают интересные решения, многие из которых
доводятся до стадии технических демо и там бросаются.
1. GAN
Точнее, прямые генераторы из латентного в один проход.
Похоже, проиграли. Их преимущества (генерация попиксельно-чёткого
изображения и за доли секунды) не смогла перевесить недостатков:
малой универсальности, отвратительной контроллируемости, плохой
обучаемости.
Видел интересный тезис, что сам итеративный процесс работы (десятки
шагов) позволяет как бы «разворачиваться» диффузным моделям в граф
бОльшего размера и эффективно множит параметры сети за счёт времени
обработки. Т.е. чтобы нормально соревноваться с диффузной моделью,
GAN должен в несколько раз превосходить её размером, что ставит
крест на архитектуре.
В живых (еле-) остался StyleGAN и его изводы (последнее видел
StyleGAN-T). Ковыряют в сторону преимуществ:
скорости и прямой манипуляции изолированными признаками. Т.е.
генерируем только лица и котиков. Но зато попиксельно, за доли
секунды, и полученное можно поворачивать на градусы, прямо тягая
мышкой за латентное (даже интерфейс
придумали).
2. Диффузные модели
Цветут и пахнут, но по разному. Все копают в сторону качества,
но разными тропками.
— Через узкую специализацию моделей (SD 1.5). Если совсем на стили
дробить отважился только SD, то необходимость разделения хорошей
модели на две-три ветки (фотореализм, реалистичный рисунок и аниме
рисунок), похоже, становится общим местом у всех, даже Midjourney.
Слишком разные требования к пропорциям и эстетике.
— Через тренировку эстетики на отзывах пользователей (тащим модель
в сторону лайканых картинок). Midjourney, SD XL, Adobe
— Увеличиваем модель пропорционально, все части (Imagen)
— Увеличиваем размер UNET и латентного (SD XL).
— Меняем CLIP на что-то пристойное, например T5-XXL. (Kandinsky,
Imagen)
— Увеличиваем UNET за счёт деления его на несколько небольших
моделей, работающих в каскаде. (eDiff-I)
3. Контроль моделей.
SD на коне с Control Net, остальные завидуют. Control Net это внешняя модель контроллер, которая через прямую манипуляцию слоями внимания заставляет Stable Diffusion жонглировать факелами и ездить на велосипеде одновременно, причём без ошибки.
Пока только отдельные элементы похожего есть у eDiff (сегментация).
4. Компьютерное зрение
Точнее, узко задача извлечения структурной информации из плоской
картинки с помощью свёрточных нейросетей. Одно из внезапно
рванувших направлений. Я только краем глаза следил, но у меня было
впечатление некоторого застоя в этой области. Появление CLIP и
множества готовых аннотированных датасетов, похоже, вдохнуло
жизнь.
— Извлечение 3D информации. Начало положила очень удачная MIDAS и сейчас есть целый букет сеток монокулярной
оценки глубины изображения, способных построить довольно точную
карту относительного удаления точек даже из карандашного наброска,
не говоря уже о фото. Из последних работ Zoe как дальнейшее развитие MIDAS.
— Определение поз людей / Построение скелетных моделей.
Старенький OpenPose успешно натаскивают на
более точное извлечение деталей, а именно: пальцы мимика/очертания
лица, направление взгляда.
Из параллельных проектов MocapNET, с упором на скорость извлечения и правильное определение пропорций для сложных ракурсов
— Сегментация, определение границ предметов.
Раньше надо было долго натаскивать сеть на танках кошках,
чтобы научить её находить на снимке только их. Сейчас небо и земля:
благодаря трансформерам, появились сети для точной универсальной
семантической сегментации в реальном времени! Это в корне меняет
дело и должно, в моём понимании, по цепочке пойти в задачи
настоящего компьютерного зрения, т.е. роботы и беспилотные
автомобили. Из последнего перспективного Segment Anything.
5. Генерация видео.
— Text2Video
Первые эксперименты просто с классическими диффузными моделями,
которые слегка изменены для генерации не одного, а
проследовательности кадров с меткой времени. Из заметных ModelScope. Больше игрушка:
креативность зашкаливает, и качество настолько ужасное, что уже
хорошее (в эстетике трэша)
Быстро ставший мемом короткий клип «Уилл Смит ест спагетти»:
— Image2Video
Тоже относительно простая концепция. Берём уже имеющийся
рисунок, переводим в латентное и там очень аккуратно мучаем. Качество при таком подходе
много выше, но годно только для очень коротких и относительно
статичных роликов.
Серьёзный подход к снаряду от NVIDIA . Это
уже попытка построить специализированную архитектуру для синтеза
видео с помощью диффузной модели. Качество уже очень хорошее, но
только на коротких роликах. У всех подобных моделей пока проблемы
со сменами сцен и ракурсов.
— Покадровая работа с видео
Выше были игрушки. Более серьёзная, с отличными коммерческими
перспективами, технология это разбивка уже имеющегося видео на
отдельные кадры с последующей глубокой обработкой каждого обычной
диффузной моделью и сборкой обратно в ролик. Современное
ротоскопирование, но много более гибкое: можно оставлять только
выбранную часть информации каждого кадра, и это не обязательно
очертания фигуры. Может быть только композиция или стиль/цветовое
решение. С одной стороны, это довольно долго. Но это вcё равно в
разы быстрее полноценного рендера даже готовой 3D сцены, не говоря
уже о подготовке.
Основная сложность в том, чтобы заставить модель (с её буйной
фантазией) рисовать одно и то же на протяжении сотни разных кадров.
Сейчас используется SD + Control net и различные ухищрения, но в
целом задача решаемая. Хотя на любительских роликах (напоминаю, это
обычный ноутбук и несколько часов работы) пока сильно заметно
дрожание и мутации изображения
Более специализированные продукты уже демонстрируют хорошее
качество.
Также это одно из направлений, в котором (по слухам) большие студии
уже ведут работу по созданию своего специализированного
инструментария, т.к. всё это сулит просто огромную экономию при
работе с анимацией и постобработкой: сегментация и маски в реальном
времени убирают необходимость в хромакее, скелетные модели успешно
заменяют motion capture, работа с картами глубины позволяет быстро
строить 3D модели по кадрам, а не наоборот. Всё вместе если и не
заменяет классические технологии анимации, но совершенно точно
позволяет очень быстрое и дешёвое прототипирование любой
концепции.
Ну а любители теперь смогут создать (на коленке и за копейки)
анимационный фильм, который будет не хуже коммерческого уровня 5-6
летней давности.
|
</> |