Диффузионные модели начинают занимать лидирующую позицию и в задаче Motion Generation.
MotionDiffuse: Text-Driven Human Motion Generation with Diffusion Model
Авторы данного подхода решили использовать свойство широкой вариативности и высокого качества генерации у диффузионных моделей для анимации движения человека с помощью текстовой подсказки и получили новую SOTA в данной задаче. Предыдущие решения не справлялись со сложным текстом или со стилизацией сгенерированных движений. Также авторы указали в своём пейпере, что их решение позволяет использовать очень точные текстовые описания, которые являлись сложными для предыдущих решений, потому что MotionDiffuse делит генерируемый скелет на верхнюю и нижнюю части. Поэтому можно получить качественных результат, к примеру, с помощью текста «a person is drinking water while walking» или «a person is walking and then running».
Но перейдём к более техническим деталям, которые заставляют это решение работать.
Скажу сразу, что многие идеи в пейпере переиспользуются из GLIDE, поэтому если вы не читали ещё пейпер про эту модель, то советую ознакомиться.
В MotionDiffuse вместо U-Net-подобной архитектуры был разработан Cross-Modality Linear Transformer, с помощью которого происходит генерация движений с произвольной длительностью, которая зависит от продолжительности генерируемого движения. Cross-Modality Linear Transformer подразумевает под собой обычный трансформер с энкодером и декодером, каждый блок такого трансфомера содержит: multi-head attention module (с residual connections) и feed-forward network (с тремя линейными преобразованиями и двумя GELU-слоями между ними). Для улучшения к обобщительной способности используются веса из CLIP для инициализации первых слоёв, которые зафризили и не обновляли в обучении.
Также были использованы Linear Self-attention для учёта связности анимации между кадрами и Linear Cross-attention для учёта текста в последовательности движения.
@sonya_aesthetics
MotionDiffuse: Text-Driven Human Motion Generation with Diffusion Model
Авторы данного подхода решили использовать свойство широкой вариативности и высокого качества генерации у диффузионных моделей для анимации движения человека с помощью текстовой подсказки и получили новую SOTA в данной задаче. Предыдущие решения не справлялись со сложным текстом или со стилизацией сгенерированных движений. Также авторы указали в своём пейпере, что их решение позволяет использовать очень точные текстовые описания, которые являлись сложными для предыдущих решений, потому что MotionDiffuse делит генерируемый скелет на верхнюю и нижнюю части. Поэтому можно получить качественных результат, к примеру, с помощью текста «a person is drinking water while walking» или «a person is walking and then running».
Но перейдём к более техническим деталям, которые заставляют это решение работать.
Скажу сразу, что многие идеи в пейпере переиспользуются из GLIDE, поэтому если вы не читали ещё пейпер про эту модель, то советую ознакомиться.
В MotionDiffuse вместо U-Net-подобной архитектуры был разработан Cross-Modality Linear Transformer, с помощью которого происходит генерация движений с произвольной длительностью, которая зависит от продолжительности генерируемого движения. Cross-Modality Linear Transformer подразумевает под собой обычный трансформер с энкодером и декодером, каждый блок такого трансфомера содержит: multi-head attention module (с residual connections) и feed-forward network (с тремя линейными преобразованиями и двумя GELU-слоями между ними). Для улучшения к обобщительной способности используются веса из CLIP для инициализации первых слоёв, которые зафризили и не обновляли в обучении.
Также были использованы Linear Self-attention для учёта связности анимации между кадрами и Linear Cross-attention для учёта текста в последовательности движения.
@sonya_aesthetics