HumanML3D — это трехмерный набор данных языка движений человека, созданный на основе комбинации набора данных HumanAct12 и Amass. Он охватывает широкий спектр человеческих действий, таких как повседневная деятельность (например, «ходьба», «прыжки»), спорт (например, «плавание», «игра в гольф»), акробатика (например, «колесо») и артистизм (например, «танцы»).
Каждый анимационный клип в HumanML3D содержит 3–4 описания из одного предложения, аннотированные на Amazon Mechanical Turk. Движения уменьшаются до 20 кадров в секунду, при этом каждый клип длится от 2 до 10 секунд.
В целом набор данных HumanML3D состоит из 14 616 движений и 44 970 описаний, состоящих из 5 371 отдельного слова. Общая продолжительность движений составляет 28,59 часов. Средняя длина движения составляет 7,1 секунды, а средняя длина описания — 12 слов.
Мы удваиваем размер набора данных HumanML3D, зеркально отображая все движения и правильно заменяя определенные ключевые слова в описаниях (например, «влево» -> «вправо», «по часовой стрелке» -> «против часовой стрелки»).
Набор данных KIT Motion-Language (KIT-ML) также представляет собой связанный набор данных, который содержит 3911 движений и 6278 описаний. Мы обработали набор данных KIT-ML, следуя тем же процедурам, что и набор данных HumanML3D, и предоставили доступ к этому репозиторию. Однако, если вы хотите использовать набор данных KIT-ML, не забудьте указать оригинальную статью.
Если этот набор данных будет полезен в ваших проектах, мы будем признательны за вашу звезду в этой кодовой базе. ??
?♀️ T2M — первая работа над HumanML3D, которая учится генерировать 3D-движение на основе текстовых описаний с помощью временного VAE .
? TM2T — изучает взаимное сопоставление текста и движений с помощью дискретного токена движения.
? TM2D — генерирует танцевальные движения с текстовыми инструкциями.
? MoMask — генерация text2motion нового уровня с использованием остаточного VQ и генеративного моделирования с использованием масок.
Набор данных KIT-ML можно скачать напрямую [Здесь]. В соответствии с политикой распространения набора данных AMASS нам не разрешено распространять данные напрямую. Мы предоставляем серию скриптов, которые могут воспроизвести наш набор данных HumanML3D из набора данных AMASS.
Вам необходимо клонировать этот репозиторий и установить виртуальную среду.
[2022/12/15] Обновление : установка matplotlib=3.3.4 может предотвратить небольшое отклонение сгенерированных данных от справочных данных. См. проблему
conda env create -f Environment.yaml Конда активирует torch_render
В случае сбоя установки вы можете альтернативно установить следующее:
- Питон==3.7.10 - Нампи - Сципи - ПиТорч - Ткдм - Панды - Matplotlib==3.3.4 // Только для анимации - ffmpeg==4.3.1 // Только для анимации - Spacy==2.3.4 // Только для текстового процесса
Загрузите режим SMPL+H из SMPL+H (выберите расширенную модель SMPL+H, используемую в проекте AMASS) и модель DMPL из DMPL (выберите DMPL, совместимые с SMPL). Затем поместите все модели в «./body_model/».
Чтобы получить набор данных HumanML3D, вам необходимо запустить следующие сценарии:
raw_pose_processing.ipynb
motion_representation.ipynb
Cal_mean_variance.ipynb
Это может быть необязательно. Запустите его, если вам нужна анимация.
анимация.ipynb
Пожалуйста, не забудьте пройти этапы двойной проверки. Их цель – проверить, на правильном ли вы пути к получению набора данных HumanML3D.
В конце концов, данные в папке «./HumanML3D» — это то, что вам наконец нужно.
<DATA-DIR>./animations.rar //Анимация всех видеороликов в формате mp4. ./new_joint_vecs.rar //Извлечены объекты, инвариантные к вращению, и векторы объектов вращения из позиций трехмерного движения. ./new_joints.rar //Позиции 3D-движения. ./texts.rar //Описания данных движения. ./Mean.npy //Среднее значение для всех данных в new_joint_vecs ./Std.npy //Стандартное отклонение для всех данных в new_joint_vecs ./all.txt //Список имен всех данных ./train.txt //Список названий обучающих данных ./test.txt //Список названий тестовых данных ./train_val.txt //Список названий данных обучения и проверки ./val.txt //Список имен данных проверки ./all.txt //Список имен всех данных
Данные HumanML3D соответствуют структуре скелета SMPL с 22 суставами. КИТ-МЛ имеет 21 скелетный сустав. Обратитесь к paraUtils для получения подробной информации о кинематических цепях.
Файл с именем «MXXXXXX.*» (например, «M000000.npy») зеркально отображается из файла с соответствующим именем «XXXXXX.*» (например, «000000.npy»). Текстовые файлы и файлы движений следуют одним и тем же протоколам именования, то есть тексты в «./texts/XXXXXX.txt» (например, «000000.txt») точно описывают движения человека в «./new_joints(или new_joint_vecs)/XXXXXX.npy». " (например, '000000.npy')
Каждый текстовый файл выглядит следующим образом:
мужчина пинает что-то или кого-то левой ногой.#a/DET man/СУЩЕСТВИТЕЛЬНОЕ пинать/ГЛАГОЛ что-то/PRON или/CCONJ кто-то/PRON с/ADP его/DET левая/ADJ нога/СУЩЕСТВИТЕЛЬНОЕ#0.0#0.0стоящий человек пинает левой ногой, прежде чем вернуться в исходную стойку.#the/DET стоять/ГЛАГОЛ человек/СУЩЕСТВИТЕЛЬНОЕ ударить ногой/ГЛАГОЛ с/ADP их/DET левая/ADJ нога/СУЩЕСТВИТЕЛЬНОЕ перед/ADP идти/ГЛАГОЛ назад/ADV к/ADP их/DET исходное/ADJ позиция/СУЩЕСТВИТЕЛЬНОЕ#0.0#0.0a человек пинает что-то или кого-то левой ногой.#a/DET человек/СУЩЕСТВИТЕЛЬНОЕ удар ногой/ГЛАГОЛ с/ADP что-то/PRON или/CCONJ кто-то/PRON с/ADP его/DET левая нога/ADJ нога/СУЩЕСТВИТЕЛЬНОЕ#0.0#0.0он наносит удар левой ногой в полете#он/PRON is/AUX летать/ГЛАГОЛ ударить/СУЩЕСТВИТЕЛЬНОЕ с/ADP его/DET левая/ADJ нога/СУЩЕСТВИТЕЛЬНОЕ#0.0#0.0
каждая строка представляет собой отдельную текстовую аннотацию, состоящую из четырех частей: исходное описание (строчные буквы) , обработанное предложение , время начала , время окончания , разделенные знаком # .
Поскольку некоторые движения слишком сложны для описания, мы разрешаем аннотаторам описывать часть данного движения, если это необходимо. В этих случаях время начала и время окончания обозначают аннотированные сегменты движения. Тем не менее, мы видим, что они занимают лишь небольшую часть HumanML3D. Время начала и время окончания по умолчанию установлены на 0, что означает, что текст сопровождает всю последовательность соответствующего движения.
Если вы не можете установить ffmpeg, вы можете анимировать видео в формате «.gif» вместо «.mp4». Однако создание GIF-файлов обычно занимает больше времени и памяти.
Если вы используете набор данных KIT-ML, рассмотрите возможность ссылки на следующую статью:
@article{Plappert2016, author = {Matthias Plappert and Christian Mandery and Tamim Asfour}, title = {The {KIT} Motion-Language Dataset}, journal = {Big Data} publisher = {Mary Ann Liebert Inc}, year = 2016, month = {dec}, volume = {4}, number = {4}, pages = {236--252}, url = {http://dx.doi.org/10.1089/big.2016.0028}, doi = {10.1089/big.2016.0028}, }
Если вы используете набор данных HumanML3D, рассмотрите возможность цитирования следующих документов:
@InProceedings{Guo_2022_CVPR, author = {Guo, Chuan and Zou, Shihao and Zuo, Xinxin and Wang, Sen and Ji, Wei and Li, Xingyu and Cheng, Li}, title = {Generating Diverse and Natural 3D Human Motions From Text}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {5152-5161} }
Если у вас возникнут вопросы или комментарии, свяжитесь с Чуань Го по адресу [email protected].