На английском языке | на упрощённом китайском
XRMoGen — это кодовая база для генерации движений. В настоящее время она содержит два алгоритма генерации танцев:
Для настройки среды см. installation.md.
Рекомендуется использовать предварительно извлечённые функции для музыки и данных о движениях, см. dataset_preparation.md. После загрузки извлеките их в папку $PROJECT/data. Чтобы облегчить синтез видео с музыкой после создания танца, необходимо загрузить оригинальную музыку (.mov) в папку musics в той же директории:
xrmogen
├── mogen
├── docs
├── configs
├── data
│ ├── aistpp_train_wav
│ ├── aistpp_test_full_wav
│ ├── aistpp_music_feat_7.5fps
│ ├── aist_features_zero_start
│ └── musics
├── ...
Структура модели может быть настроена через конфигурационные файлы. Для реализации нового метода ваша модель должна содержать следующие функции/методы, чтобы соответствовать конвейеру обучения/тестирования:
— train_step()
: прямой метод режима обучения.
— val_step()
: прямой метод тестового режима.
Зарегистрирована как модель танца.
Чтобы быть более конкретным, если мы хотим реализовать новую модель, нужно сделать несколько вещей.
Создайте новый файл в mogen/models/dance_models/my_model.py
.
from ..builder import NETWORKS
from ...builder import DANCE_MODELS
@DANCE_MODELS.register_module()
class MyDanceModel(nn.Module):
def __init__(self, model_config):
super().__init__()
def forward(self, ...):
....
def train_step(self, data, optimizer, **kwargs):
....
def val_step(self, data, optimizer=None, **kwargs):
....
Импортируйте модель в mogen/models/__init__.py
.
from .my_model import MyDanceModel
Напишите конфигурационный файл, который определяет модель следующим образом:
model = dict(
type='MyDanceModel',
....
XRMoGen использует mmcv.runner.EpochBasedRunner
для управления обучением и тестированием.
В режиме обучения max_epochs
в конфигурационном файле определяет, сколько эпох нужно обучить.
В тестовом режиме max_epochs
принудительно изменяется на 1, что означает только одну эпоху тестирования.
Частота валидации устанавливается как workflow
конфигурационного файла:
workflow = [('train', 20), ('val', 1)]
Например, чтобы обучить Bailando (Dance Revolution), выполните следующую команду:
python main.py --config configs/dance_rev.py
Аргументы:
— --config
: путь к конфигурационному файлу.
Чтобы протестировать соответствующую модель, добавьте тег --test_only
после пути к конфигурационному файлу. Мы предоставляем некоторые предварительно обученные веса для тестирования (см. pretrained_model_list.md). Загрузите предварительно обученные веса в папку ./example
и выполните команду:
python main.py --config configs/bailando_test.py --test_only
чтобы сгенерировать позы танца. Позы будут сохранены в папке workdir
(в данном случае "./bailando_test"), установленной в конфигурационном файле.
Чтобы вычислить количественные оценки:
python tools/eval_quantitative_scores.py --pkl_root ./bailando_test/test/epoch0 --gt_root data/aist_features_zero_start --music_feature_root **Данные / aistpp_test_full_wav**
Результаты должны быть согласованы с [benchmark.md](docs/en/benchmark.md).
**Визуализация**
```python
python tools/visualize_dance_from_pkl.py --pkl_root ./bailando_test/test/epoch0 --audio_path data/musics/
В настоящее время мы предоставляем несколько учебников для пользователей, чтобы узнать о:
Кроме того, документ также включает следующее:
Лицензия нашей кодовой базы — Apache-2.0. Обратите внимание, что эта лицензия применяется только к коду в нашей библиотеке, зависимости которой являются отдельными и лицензируются индивидуально. Мы хотели бы отдать должное открытым реализациям, на которые полагаемся. Пожалуйста, имейте в виду, что использование содержимого зависимостей может повлиять на лицензию нашей кодовой базы. Обратитесь к LICENSE, чтобы просмотреть полную лицензию.
Если вы считаете этот проект полезным в своём исследовании, пожалуйста, рассмотрите возможность цитирования:
@misc{xrmogen,
title={OpenXRLab Motion Generation Codebase},
author={XRMoGen Contributors},
howpublished = {\url{https://github.com/openxrlab/xrmogen}},
year={2022}
}
Мы ценим все вклады в улучшение XRMoGen. Пожалуйста, обратитесь к CONTRIBUTING.md, чтобы ознакомиться с руководством по внесению вклада.
XRMoGen — это открытый исходный проект, который поддерживается исследователями и инженерами как из академических кругов, так и из промышленности. Мы признательны всем участникам, которые реализуют свои методы или добавляют новые функции, а также пользователям, которые дают ценные отзывы. Мы хотим, чтобы структура и эталонный тест могли служить растущему исследовательскому сообществу, предоставляя гибкую структуру для повторной реализации существующих методов и разработки собственных новых моделей.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )