InstantStyle-Plus: Style Transfer with Content-Preserving in Text-to-Image Generation #style_transfer #paper
Статья (июнь 2024) про стилизацию картинок в задачах image-to-image. Вторая статья в серии статей (InstantStyle, InstantStyle-Plus, CSGO) от этих же авторов. На вход принимается картинка стиля (образец) и исходная картинка объекта, который хотим менять. На выход выдается сгенерированная картинка, в которой исходный объект перерисован в другом стиле.
В статье много раз отмечается, что основной фокус сделан на сохранении исходного объекта, чтобы вносить в него как можно меньше искажений при изменении стиля. Cистема построена на основе SDXL, fine-tuning не требуется, вся работа — в режиме инференса.
Обуславливание выполняется одновременно за счет нескольких механизмов:
- картинка объекта переводится в латентное пространство и там делается инверсия в зашумленное состояние (используется модель ReNoise). С этого нового начального состояния начинается процесс денойзинга.
- картинка объекта проходит через Tile ControlNet (особый вид ControlNet, изначально предназначен для upscaling, предобучен на больших картинках, составленных из повторяющихся маленьких картинок) и подается на каждом шаге денойзинга через cross-attention.
- картинка объекта проходит через Image Adapter (IP-Adapter) и тоже подается на каждом шаге денойзинга через cross-attention.
- картинка стиля проходит через Style Adapter (IP-Adapter) и подается на каждом шаге денойзинга через cross-attention (в соответствии с рекомендациями InstantStyle — только в один конкретный блок U-net).
- на каждом шаге результат сравнивается с картинкой стиля через CLIP Style Similarity, и эта разность используется в качестве guidance на следующих шагах денойзинга.
🔥Project Page
💻 Github
📜Paper
@gentech_lab
Статья (июнь 2024) про стилизацию картинок в задачах image-to-image. Вторая статья в серии статей (InstantStyle, InstantStyle-Plus, CSGO) от этих же авторов. На вход принимается картинка стиля (образец) и исходная картинка объекта, который хотим менять. На выход выдается сгенерированная картинка, в которой исходный объект перерисован в другом стиле.
В статье много раз отмечается, что основной фокус сделан на сохранении исходного объекта, чтобы вносить в него как можно меньше искажений при изменении стиля. Cистема построена на основе SDXL, fine-tuning не требуется, вся работа — в режиме инференса.
Обуславливание выполняется одновременно за счет нескольких механизмов:
для контента
:- картинка объекта переводится в латентное пространство и там делается инверсия в зашумленное состояние (используется модель ReNoise). С этого нового начального состояния начинается процесс денойзинга.
- картинка объекта проходит через Tile ControlNet (особый вид ControlNet, изначально предназначен для upscaling, предобучен на больших картинках, составленных из повторяющихся маленьких картинок) и подается на каждом шаге денойзинга через cross-attention.
- картинка объекта проходит через Image Adapter (IP-Adapter) и тоже подается на каждом шаге денойзинга через cross-attention.
для стиля
:- картинка стиля проходит через Style Adapter (IP-Adapter) и подается на каждом шаге денойзинга через cross-attention (в соответствии с рекомендациями InstantStyle — только в один конкретный блок U-net).
- на каждом шаге результат сравнивается с картинкой стиля через CLIP Style Similarity, и эта разность используется в качестве guidance на следующих шагах денойзинга.
🔥Project Page
📜Paper
@gentech_lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Self-Rectifying Diffusion Sampling with Perturbed-Attention Guidance #paper
В относительно новой статье (март 2024) предлагается новый способ sampling guidance для unconditional generation с помощью диффузионных моделей, который, к тому же, применим и к задаче conditional generation тоже.
Авторы отмечают, что своим успехом диффузионные модели во многом обязаны classifier и classifier-free guidance (далее CG и CFG, соответственно) — методам sampling guidance, которые позволяют достигать более точного следования condition. Однако у этих методов есть несколько проблем: в случае с CG необходимо обучать классификатор под каждый класс, также уменьшается разнообразие генераций, эти методы нельзя применить к unconditional generation.
В качестве альтернативы предлагается некоторое переосмысление CFG для unconditional generation — Perturbed-Attention Guidance или PAG. Авторы замечают, что в блоках SA (self attention) матрицы Q и K отвечают за структуру генерации, а V за её наполнение (content). Так как основная часть артефактов в рамках uncoditional generation представляет из себя структурные неточности, то в рамках подхода в формуле SA Softmax(Q * K^T) заменяется на единичную матрицу. Теперь, по аналогии с CFG на каждом шаге генерации латент расшумлённый с PAG вычитается из unconditional латента с определённым коэффициентом. Авторы работы утверждают, что получающиеся траектории уводят диффузионный процесс в сторону лучших генераций, что подтверждается их экспериментами.
Стоит так же отметить, что PAG можно комбинировать с CFG в задаче conditional generation, что также приводит к улучшению качества.
🔥Project
💻 Github (diffusers)
📜Paper
@gentech_lab
В относительно новой статье (март 2024) предлагается новый способ sampling guidance для unconditional generation с помощью диффузионных моделей, который, к тому же, применим и к задаче conditional generation тоже.
Авторы отмечают, что своим успехом диффузионные модели во многом обязаны classifier и classifier-free guidance (далее CG и CFG, соответственно) — методам sampling guidance, которые позволяют достигать более точного следования condition. Однако у этих методов есть несколько проблем: в случае с CG необходимо обучать классификатор под каждый класс, также уменьшается разнообразие генераций, эти методы нельзя применить к unconditional generation.
В качестве альтернативы предлагается некоторое переосмысление CFG для unconditional generation — Perturbed-Attention Guidance или PAG. Авторы замечают, что в блоках SA (self attention) матрицы Q и K отвечают за структуру генерации, а V за её наполнение (content). Так как основная часть артефактов в рамках uncoditional generation представляет из себя структурные неточности, то в рамках подхода в формуле SA Softmax(Q * K^T) заменяется на единичную матрицу. Теперь, по аналогии с CFG на каждом шаге генерации латент расшумлённый с PAG вычитается из unconditional латента с определённым коэффициентом. Авторы работы утверждают, что получающиеся траектории уводят диффузионный процесс в сторону лучших генераций, что подтверждается их экспериментами.
Стоит так же отметить, что PAG можно комбинировать с CFG в задаче conditional generation, что также приводит к улучшению качества.
🔥Project
📜Paper
@gentech_lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
LoRA vs Full Fine-Tuning: an illusion of equivalence #paper
Статья трёхнедельной давности, в которой обсуждается разницу между fine-tuning с помощью LoRA и full fine-tuning (FFT). Авторы задаются вопросом: являются ли решения полученные с помощью LoRA и FFT одинаковыми, при условии, что показывают схожее качество. Выясняется, что не всё так просто.
Оказывается, что LoRA и FFT выдают разные на структурном уровне решения, в частности внутри весов LoRA возникают intruder dimensions — сингулярные векторы при больших сингулярных числах, которые примерно ортогональны сингулярным векторам весов оригинальной модели, что приводит к затиранию информации содержащейся в изначальных весах. Это выполняется даже в тех случаях, когда обученные с помощью LoRA модели показывают хорошее (сопоставимое) качество с FFT на downstream task. Наконец, чем выше ранг LoRA, тем меньше возникает проблем описанных выше.
Проблему intruder dimensions авторы связывают с использованием матриц низкого ранга. Для того чтобы бороться с ней предлагается использовать технику rank-stabilization (домножать результат произведения матриц LoRA на γ = α / rank ** 0.5) вместе с увеличением ранга обучаемой LoRA, либо использовать FFT. Для первого случая авторы советуют использовать α = 2 * rank.
📜Paper
@gentech_lab
Статья трёхнедельной давности, в которой обсуждается разницу между fine-tuning с помощью LoRA и full fine-tuning (FFT). Авторы задаются вопросом: являются ли решения полученные с помощью LoRA и FFT одинаковыми, при условии, что показывают схожее качество. Выясняется, что не всё так просто.
Оказывается, что LoRA и FFT выдают разные на структурном уровне решения, в частности внутри весов LoRA возникают intruder dimensions — сингулярные векторы при больших сингулярных числах, которые примерно ортогональны сингулярным векторам весов оригинальной модели, что приводит к затиранию информации содержащейся в изначальных весах. Это выполняется даже в тех случаях, когда обученные с помощью LoRA модели показывают хорошее (сопоставимое) качество с FFT на downstream task. Наконец, чем выше ранг LoRA, тем меньше возникает проблем описанных выше.
Проблему intruder dimensions авторы связывают с использованием матриц низкого ранга. Для того чтобы бороться с ней предлагается использовать технику rank-stabilization (домножать результат произведения матриц LoRA на γ = α / rank ** 0.5) вместе с увеличением ранга обучаемой LoRA, либо использовать FFT. Для первого случая авторы советуют использовать α = 2 * rank.
📜Paper
@gentech_lab
Sapiens: A Family of Human-Centric Vision Models #pose_estimation #depth_estimation #paper
Статья (август 2024, ECCV 2024) от Meta представляет семейство моделей Sapiens для четырех основных задач компьютерного зрения, связанных с анализом людей: оценка позы человека (2D pose estimation), сегментация частей тела (body-part segmentation), оценка глубины (depth estimation) и предсказание нормалей поверхности (surface normal prediction).
В основе архитектуры лежит Vision Transformer, предобученный на специально собранном датасете Humans-300M, содержащем 300 миллионов изображений людей. Семейство включает четыре модели разного размера: от Sapiens-0.3B (336M параметров, 1.242T FLOPS) до Sapiens-2B (2.163B параметров, 8.709T FLOPS). Предобучение выполняется с помощью подхода masked autoencoder (MAE) на изображениях размером 1024x1024 с размером патча 16x16, при этом маскируется 75-95% патчей.
Для каждой из задач авторы используют специфичную архитектуру декодера. В задаче pose estimation применяется top-down подход, где сначала выполняется детекция человека, а затем оценка позы через предсказание heatmap с использованием Mean Squared Error loss. Модель работает с расширенным набором из 308 ключевых точек, включая 243 точки для лица и 40 для рук, на изображениях с аспектом 4:3 (1024x768). В задаче сегментации модель работает с 28 классами частей тела, используя Weighted Cross Entropy loss и легкий декодер с deconvolution слоями. Для depth estimation используется единый канал на выходе для регрессии с нормализацией глубины в диапазон [0,1] и специальным loss с учетом логарифмической разницы. В задаче normal estimation модель предсказывает xyz компоненты нормали через 3 выходных канала, используя комбинацию L1 loss и косинусной близости между предсказанными и ground truth нормалями.
Предобучение заняло 18 дней на 1024 GPU A100, а результаты превзошли SOTA во всех задачах: в pose estimation на 7.6 AP, в сегментации на 17.1 mIoU, в depth estimation на 22.4% RMSE и в normal estimation на 53.5%.
Ключевой вывод работы заключается в том, что специализированное предобучение на человеческих данных и использование высокого разрешения дают значительный прирост качества даже при использовании относительно простой архитектуры encoder-decoder. При этом модели демонстрируют хорошее обобщение на "дикие" данные, несмотря на обучение преимущественно на студийных и синтетических датасетах.
🔥Project
💻 Github
📜Paper
@gentech_lab
Статья (август 2024, ECCV 2024) от Meta представляет семейство моделей Sapiens для четырех основных задач компьютерного зрения, связанных с анализом людей: оценка позы человека (2D pose estimation), сегментация частей тела (body-part segmentation), оценка глубины (depth estimation) и предсказание нормалей поверхности (surface normal prediction).
В основе архитектуры лежит Vision Transformer, предобученный на специально собранном датасете Humans-300M, содержащем 300 миллионов изображений людей. Семейство включает четыре модели разного размера: от Sapiens-0.3B (336M параметров, 1.242T FLOPS) до Sapiens-2B (2.163B параметров, 8.709T FLOPS). Предобучение выполняется с помощью подхода masked autoencoder (MAE) на изображениях размером 1024x1024 с размером патча 16x16, при этом маскируется 75-95% патчей.
Для каждой из задач авторы используют специфичную архитектуру декодера. В задаче pose estimation применяется top-down подход, где сначала выполняется детекция человека, а затем оценка позы через предсказание heatmap с использованием Mean Squared Error loss. Модель работает с расширенным набором из 308 ключевых точек, включая 243 точки для лица и 40 для рук, на изображениях с аспектом 4:3 (1024x768). В задаче сегментации модель работает с 28 классами частей тела, используя Weighted Cross Entropy loss и легкий декодер с deconvolution слоями. Для depth estimation используется единый канал на выходе для регрессии с нормализацией глубины в диапазон [0,1] и специальным loss с учетом логарифмической разницы. В задаче normal estimation модель предсказывает xyz компоненты нормали через 3 выходных канала, используя комбинацию L1 loss и косинусной близости между предсказанными и ground truth нормалями.
Предобучение заняло 18 дней на 1024 GPU A100, а результаты превзошли SOTA во всех задачах: в pose estimation на 7.6 AP, в сегментации на 17.1 mIoU, в depth estimation на 22.4% RMSE и в normal estimation на 53.5%.
Ключевой вывод работы заключается в том, что специализированное предобучение на человеческих данных и использование высокого разрешения дают значительный прирост качества даже при использовании относительно простой архитектуры encoder-decoder. При этом модели демонстрируют хорошее обобщение на "дикие" данные, несмотря на обучение преимущественно на студийных и синтетических датасетах.
🔥Project
📜Paper
@gentech_lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
DEADiff: An Efficient Stylization Diffusion Model with Disentangled Representations #style_transfer #paper
Статья (март 2024) про стилизацию картинок в задачах text-2-image и image-2-image.
Основано на модели Stable Diffusion v1.5, работает в режиме инференса, обучение не требуется.
Используется дополнительный адаптер (Q-former), который принимает на вход CLIP-эмбединг исходной картинки, обучаемый массив токенов, и текст "Style"/"Content" (в зависимости от задачи). Полученные эмбединги направляются (через cross-attention) в разные блоки U-net (контент — в узкую часть, стиль — в части с высоким разрешением).
Для обучения использовался закрытый датасет (сгенерированный через Midjourney на специально подготовленных текстовых промптах). Q-former обучается в нескольких режимах: "только стиль", "только контент", и специальный режим реконструкции исходной картинки, когда она же сама подается и в качестве стиля, и в качестве объекта.
Сделана дополнительная оптимизация вычислений: 2 отдельных слоя cross-attention объединены в один слой, который обрабатывает за один проход сконкатенированные эмбединги картинки и текста.
Возможна комбинация с любыми вариантами ControlNet (для версии SD v1.5), например, с картами глубины, Возможно смешивание разных стилей путем простого сложения их эмбедингов.
🤗 HF
🔥Project Page
💻 Github
📜Paper
@gentech_lab
Статья (март 2024) про стилизацию картинок в задачах text-2-image и image-2-image.
Основано на модели Stable Diffusion v1.5, работает в режиме инференса, обучение не требуется.
Используется дополнительный адаптер (Q-former), который принимает на вход CLIP-эмбединг исходной картинки, обучаемый массив токенов, и текст "Style"/"Content" (в зависимости от задачи). Полученные эмбединги направляются (через cross-attention) в разные блоки U-net (контент — в узкую часть, стиль — в части с высоким разрешением).
Для обучения использовался закрытый датасет (сгенерированный через Midjourney на специально подготовленных текстовых промптах). Q-former обучается в нескольких режимах: "только стиль", "только контент", и специальный режим реконструкции исходной картинки, когда она же сама подается и в качестве стиля, и в качестве объекта.
Сделана дополнительная оптимизация вычислений: 2 отдельных слоя cross-attention объединены в один слой, который обрабатывает за один проход сконкатенированные эмбединги картинки и текста.
Возможна комбинация с любыми вариантами ControlNet (для версии SD v1.5), например, с картами глубины, Возможно смешивание разных стилей путем простого сложения их эмбедингов.
🔥Project Page
📜Paper
@gentech_lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
DreamStyler: Paint by Style Inversion with Text-to-Image Diffusion Models #style_transfer #paper
Не очень новая (декабрь 2023) статья от Harvard University, про стилизацию картинок в задачах text-2-image и image-2-image.
В подходе используется Textual Inversion механизм, где обучаются эмбединги токена, обозначающего стиль. Код в репозитории сделан на модели Stable Diffusion v1.5, но его можно будет переписать на более новые версии. Возможно совмещение с любыми подходящими ControlNet, например, с картой глубины.
Особенность подхода в том, что одновременно учится несколько экземпляров обучаемого токена. Обучение происходит в 2 этапа. Сначала учится один экземпляр обучаемого токена. Для этого составляется специальный текстовый промпт "Painting in
В работе проведены интересные эксперименты по подаче эмбедингов от совсем разных картинок стиля на разных стадиях генерации одной картинки. Например, на рисунке показано, что если стилизовать один текстовый запрос одновременно тремя картинками, и на каждом шаге денойзинга одновременно обуславливать на все три картинки, то результат получается смазанным и невыразительным. А если разделить это по стадиям, и подавать одну картинку в начале процесса, другую в середине, и третью в конце, то от начальных картинок будут перенесены общая структура и крупные детали, а от конечных стадий — мелкие детали, которые прорисованы более тонко.
Дополнительно дается объяснение того, как влияет на генерацию параметр guidance_scale, в зависимости от того, насколько тонкими/грубыми являются детали стиля. Если стиль определяется крупно-масштабными деталями, то они будут перенесены практически при любых значениях guidance_scale. А если стиль заключен в очень тонких деталях маленького размера, то качество переноса стиля будет улучшаться с увеличением guidance_scale .
🔥 Project Page
💻 Github
📜 Paper
@gentech_lab
Не очень новая (декабрь 2023) статья от Harvard University, про стилизацию картинок в задачах text-2-image и image-2-image.
В подходе используется Textual Inversion механизм, где обучаются эмбединги токена, обозначающего стиль. Код в репозитории сделан на модели Stable Diffusion v1.5, но его можно будет переписать на более новые версии. Возможно совмещение с любыми подходящими ControlNet, например, с картой глубины.
Особенность подхода в том, что одновременно учится несколько экземпляров обучаемого токена. Обучение происходит в 2 этапа. Сначала учится один экземпляр обучаемого токена. Для этого составляется специальный текстовый промпт "Painting in
<S*>
style", включающий в себя обучаемый токен <S*>
и описание картинки стиля, полученное через BLIP-2. На втором этапе весь процесс денойзинга (обычно 50 шагов) разделяется на несколько стадий (оптимальное число 6). На каждой стадии учится отдельный экземпляр обучаемого токена. За счет этого достигается более точное обуславливание в процессе денойзинга.В работе проведены интересные эксперименты по подаче эмбедингов от совсем разных картинок стиля на разных стадиях генерации одной картинки. Например, на рисунке показано, что если стилизовать один текстовый запрос одновременно тремя картинками, и на каждом шаге денойзинга одновременно обуславливать на все три картинки, то результат получается смазанным и невыразительным. А если разделить это по стадиям, и подавать одну картинку в начале процесса, другую в середине, и третью в конце, то от начальных картинок будут перенесены общая структура и крупные детали, а от конечных стадий — мелкие детали, которые прорисованы более тонко.
Дополнительно дается объяснение того, как влияет на генерацию параметр guidance_scale, в зависимости от того, насколько тонкими/грубыми являются детали стиля. Если стиль определяется крупно-масштабными деталями, то они будут перенесены практически при любых значениях guidance_scale. А если стиль заключен в очень тонких деталях маленького размера, то качество переноса стиля будет улучшаться с увеличением guidance_scale .
🔥 Project Page
📜 Paper
@gentech_lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM