Как ИИ-модели генерируют видео
Вы когда-нибудь задавались вопросом, а как ИИ генерирует такие фантастические ролики, что за «магия» происходит в этих моделях в результате, которой мы получаем настолько реалистичное видео. Ребята из MIT Technology Review простым языком рассказали как это происходит.
Если совсем коротко, модель не рисует ролик «пиксель за пикселем». Сначала она ужимает видео в скрытое представление — как бы в компактные «кирпичики» пространства-времени. Так модель смотрит сразу на картинку и на движение, а не теряется в миллионах пикселей.
Практически все современные системы генерации видео — гибриды. Они совмещают два подхода — диффузию (которая пошагово «проявляет» кадры из шума) и трансформер (следит за последовательностью этих «кирпичиков» во времени), чтобы и картинка была качественной, и сцена оставалась связной.
Что делает диффузия: Генерация идёт из «белого шума»: на каждом из десятков шагов модель слегка убирает шум, сверяясь с подсказкой (текст/референсы) и соседними моментами во времени. Так поэтапно чинятся форма, фактура и движение. В результате сцена выглядит более реалистично. Важный момент: модель работает не с пикселями, а в скрытом (latent) пространстве, что обеспечивает высокую скорость генерации и устойчивость результата.
Что такое «скрытый диффузионный трансформер». Диффузию скрещивают с трансформером — архитектурой, которая отлично держит длинные последовательности. Для этого видео «режут на кубики» по пространству и времени, с которыми можно обращаться как с последовательностью слов. Как метко сказал Тим Брукс (Sora): «Это как если бы у вас была стопка всех видеокадров, и вы нарезали её на маленькие кубики». В результате такой трансформер помогает сохранять целостность между кадрами: чтобы объекты не мигали, свет не прыгал, а действия развивались логично.
Такой гибридный подход сейчас является фактически де-факто стандарт в отрасли генерации видео. Да он не лишён недостатков и ресурсоёмок, но он позволяет получать фантастического качества видео, а в некоторых моделях позволяет получать видео сразу со звуком.
#ИИ #видеогенерация
Подписывайтесь на Telegram PromtScout.
Нейросеть генерирует движения для 3D-моделей на основе 2D-записей
Новое слово в мокапах, модель с открытым кодом переносит движения реального человека или животного из видео на модель, при этом плавность и динамика не теряются.
Multi-view Ancestral Sampling (MAS) — это техника для создания 3D-движений из 2D-данных. Эта методика использует модель диффузии для обработки нескольких 2D-последовательностей движений, снятых с разных углов, чтобы синтезировать последовательное 3D-движение.
Преимущество
Основное преимущество MAS заключается в возможности создавать реалистичные 3D-анимации без необходимости текстового описания исходных движений, что особенно важно в областях, где сбор 3D-данных осложнён.
MAS применяет алгоритм обратного диффузионного моделирования для синтеза чистых 2D-образцов движения, а затем согласует их в единое 3D-движение. Этот процесс включает этапы триангуляции и репроекции, обеспечивая согласованность между разными взглядами на движение, что позволяет добиться высокой точности и естественности анимации.
Для более подробной информации о проекте и его технических деталях можно посетить официальную страницу проекта MAS здесь или ознакомиться с их научной работой на arXiv.
В качестве примеров применения, разработчики MAS демонстрируют, как модель справляется с анимацией профессиональных баскетбольных маневров, элементов художественной гимнастики с мячом и соревнований по конному спорту. У технологии большой потенциал в различных областях, где традиционные методы 3D-моделирования либо слишком дороги, либо технически невозможны.
Хотите узнавать первыми о полезных сервисах с искусственным интеллектом для работы, учебы и облегчения жизни? В своем телеграм канале НейроProfit я рассказываю, как можно использовать нейросети для бизнеса
Самое понятное объяснения CFG Scale в нейросетях. Почему эта штука так важна и как повлияла на появление Stable Diffusion
Вы не поверите, но я уже и разработчиков Kandinsky 2.2 спрашивал, что такое CFG Scale в фундаментальном смысле, и нейронщиков всех мастей, однако так не получил внятного ответа. От обывательских блогов меня вообще теперь тошнит, ибо там одно и то же: параметр CFG Scale увеличивает силу следования подсказке... И все как бы, окей — сами разберемся.
Так вот, я начал с базы и открыл научные статьи родоначальников метода classifier free guidance scale. Прикреплю ссылки на них сразу же, чтобы вы тоже могли ознакомиться. Вот статья, посвященная именно CFG Scale для диффузных моделей, а вот статейка о применении данного метода в современных языковых моделях.
Для чего это нужно?
Меня поразил тот факт, что метод CFG Scale и позволил диффузным моделям родиться. До них были GAN-модели, которые совмещали в себе генератор и дискриминатор. Дискриминатор, по-другому, это классификатор. Т.е. моделька сначала генерит изображение, а потом вторая полноценная модель оценивает его на вшивость и корректирует вместе с первой.
Из этого вытекают минусы: например, нужно вместе с одной моделью обучать и вторую (работы в два раза больше). Также нужно, чтобы железо тянуло сразу две модели, ибо они задействуются в паре.
Метод же SFG Scale позволил задействовать только одну модель — диффузнную, т.е. обучать вторую больше не нужно. Чтобы вы понимали, механика описывается парой строк кода. Думаю, вы смекаете, что это намного проще дополнительной полноценной модели, которую еще хранить где-то нужно.
В общем, благодаря CFG Scale мы получили более быстрое и стабильное обучение моделей, которые еще и по точности не уступают GAN-ам, а также могут генерировать изображения в разных разрешениях. Плюс дополнительные надстройки в виде LoRA стали доступны.
Как это работает?
Метод Classifier-Free Guidance Scale использует безусловную и условную генерации, которые перемножаются друг с другом. Грубо говоря, сначала создается изображение без учета текстовой подсказки, а затем с ней. Чем выше CFG Scale, тем больше будет доминировать условное изображение.
Это нужно для того, чтобы мы могли получить либо больше вариативности генерации, либо больше точности — того самого следования текстовой подсказке. Получается, что чем ниже CFG Scale, тем нейронка свободнее в своих действиях, а чем больше — наоборот, скованнее.
Так как формула просчета CFG Scale и перемножения двух генераций простая, то и минусы из этого следуют такие же простые и очевидные. Всем ясно, что математематические формулы можно совершенствовать до бесконечности, повышая точность и скорость. И это делают, сейчас разберем как.
Вот вам наглядная демонстрация влияния CFG Scale на качество генерации.
Как вы можете видеть, первое изображение при низком CFG Scale близко к безусловному, т.е. не учитывающем классы из текстовой подсказки. При высоком же значении этого параметра мы получаем те самые минусы математики, о которых я говорил выше. Нейросеть как бы пытается достать генерацию, выдавить ее через трафарет, максимально четко охарактеризовать объект.
Помните лизуна в сетке? Представьте, что когда вы сжимаете его, то увеличиваете тем самым CFG Scale. Т.е. вы проталкиваете подсказку через некий трафарет (сетка — это безусловное базовое изображение, а лизун — это условное изображение, сформированное подсказкой).
Теперь посмотрим на чрезмерное увеличение контрастности изображения в Photoshop. Принцип по сути очень похож: мы пытаемся усилить цвета и как бы выделить на фоне остальных, т.е. выжать, как того самого лизуна.
Снова возвращусь к минусам математики и ее бесконечном улучшении. Взгляните на примеры выше и сравните с предыдущими. Высокие значения уже не так коверкают генерацию, как раньше, а помогло в этом расширение CFG Dynamic trashholing, которое не выдавливает, а спиливает ненужные части. Вместе с лишним уходит и освещенность, но это все же лучше артефактов. Суть метода в том, чтобы как бы отодвигать яркие пиксели назад, тем самым уменьшая эффект ярких артефактов.
Про данное расширение и другие способы увеличить качество ваших генераций в десятки раз у меня, кстати, есть ролик.
Еще одной иллюстрацией механики CFG Scale можно считать два негативных промпта у нейросети Kandinsky 2.1, один из которых является безусловным, а другой условным. При CFG Scale < 1 отрицательная подсказка игнорируется.
По ссылке вы можете найти официальную документацию Kandinsky 2.1, а также прочитать буклет Google о classifier-free guidance scale, на который ссылаются разработчики Кандинского.
Что по итогу?
А по итогу мы имеем представление о методе, который является одним из родителей диффузных моделей, к примеру, Stable Diffusion или Midjourney.
Теперь нам не нужен дискриминатор, а модель генерирует изображение за несколько шагов, что дает массу простора в контроле генерации. Мы можем и ControlNet подрубать, и LoRA, всякие разные расширения, дополнения.
Но не только ControlNet-ом хороши современные нейронки, но и целыми каскадами других, не менее масштабных сетей. У Midjourney, к примеру, есть сеть-генератор формы объекта, граней, апскейла, раскраски и много чего еще. С GAN-моделями такое было бы практически невозможно совместить.
Если вы хотите глубже погрузиться в диффузные нейросети, то советую прочитать этот материал, который мне также помог в изучении темы. Также продублирую статью о методе CFG Scale в диффузных моделях, а также статью о применении методики в языковых моделях.
Congratulations, вы выжили!
Теперь вы разбираетесь в том, что такое CFG Scale в нейросетях. Буду рад обратной связи и вашим комментариям, а также приглашаю в свой телеграм чат, где отвечу на все вопросы касаемо SD.
Буду рад видеть вас в телеграм-канале, где я собираю лучшие гайды по Stable Diffusion. А если не найду, то пишу сам.
Вкусно и красиво
Я вот с кофе не заморачиваюсь. Покупаю молотый и просто заливаю горячей водой в чашке. Потом добавляю сливки, если хочется. Быстро и вкусно.))
Всегда заваривал и пил из белой чашки. Жена купила прозрачную. Сегодня заварил в ней и увидел интересное и красивое разделения на слои.
Диффузия звуковых волн
Всех приветствую! Прошу поделиться полевым опытом использования, скажем так, не совсем традиционных акустических диффузоров и методов рассеивания и звукопоглощения.
Дано: Музыкальный коллектив, гараж 20м2, гладко оштукатуренные, бетонные стены и потолок.
Необходимо: максимально просто и дёшево привести акустику помещения в более-менее нормальное состояние, минимизировать время реверберации, устранить гул низких частот.
Знаю, что на рынке есть огромное количество разнообразного поролона, минеральной ваты, уже готовых решений как раз под эти задачи, но ключевой момент здесь - подручные и максимально дешёвые средства.
Появилась идея использовать в качестве диффузора листы шифера, нарезанные по 0,5м2 и установленные в шахматном порядке (горизонтально и вертикально) в местах первых отражений. Будет ли от этого смысл? Какие вообще есть варианты кроме как купить готовый диффузор Шрёдера, либо делать его самостоятельно?
Чай в слоумо
Просто размешал сахар в чае. В тэги не умею. Не кидайте тапками
Upd. Залил не то видео














