Skip to content
View TSTMotion's full-sized avatar

Block or report TSTMotion

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
TSTMotion/README.md

TSTMotion: Training-free Scene-aware Text-to-motion Generation

Project Page

This repository is an official implementation of TSTMotion BASELINE. The COMPLETE CODE is being cleaned and will be released soon.

Folder Structure

├── datasets
│   ├── demo_scene
│   │   ├── ScanNet0604
│   │   │   ├── detection_results.pkl
│   │   │   ├── scene0604_00_vh_clean.ply
│   ├── HumanML3D
│   │   ├── new_joint_vecs
│   │   ├── new_joints
│   ├── prompt
│   ├── smplx
│   │   ├── SMPLX_NEUTRAL.npz
│   │   ├── SMPLX_NEUTRAL.pkl
├── OmniControl
│   ├── glove
│   ├── t2m
│   ├── save
│   │   ├── omnicontrol_ckpt
│   │   │   ├── model_humanml3d.pt
├── scripts
├── utils

Environment Setup

1. Setup Conda:

conda env create -f environment.yml
conda activate tstmotion
python -m spacy download en_core_web_sm
pip install git+https://github.com/openai/CLIP.git

2. Download Dependencies:

The results should be placed in OmniControl folder as shown in Folder Structure, including glove,t2m and smplx.

cd OmniControl
bash prepare/download_smpl_files.sh
bash prepare/download_glove.sh
bash prepare/download_t2m_evaluators.sh

3. Download HumanML3D Dataset:

Follow the instructions in HumanML3D, then copy the results as shown in Folder Structure.

4. Download Checkpoint:

The results should be placed as shown in Folder Structure, including model_humanml3d.pt.

cd /OmniControl/save
gdown --id 1oTkBtArc3xjqkYD6Id7LksrTOn3e1Zud
unzip omnicontrol_ckpt.zip -d .

5. Download SMPLX:

You can download the SMPLX for visualization, including SMPLX_NEUTRAL.npz and SMPLX_NEUTRAL.pkl.

6. Download Prepared Segmentation Results:

You can download the prepared segmentation results in folder demo_scene from Google Drive.

Notably, the pointcloud of scene0604_00_vh_clean.ply must download from ScanNet.

Motion Generation

You can change the scene and the caption of the motion in demo.sh.

Notably, before the motion generation, you must input your openai's api key.

cd /scripts
bash demo.sh
bash visualize.sh

Acknowledgements

Some codes are borrowed from MDM, HUMANISE, OmniControl.

Citation

If you find TSTMotion useful for your work please cite:

@article{       ,
  author    = {},
  title     = {TSTMotion: Training-free Scene-aware Text-to-motion Generation},
  journal   = {},
  year      = {2024},
}

Popular repositories Loading

  1. TSTMotion.github.io TSTMotion.github.io Public

    Forked from nerfies/nerfies.github.io

    Official Page of paper "TSTMotion: Training-free Scene-aware Text-to-motion Generation"

    JavaScript 2

  2. TSTMotion TSTMotion Public

    The Official implementation of TSTMotion in pytorch

    Python 1