Giter VIP home page Giter VIP logo

pabloruizponce / in2in Goto Github PK

View Code? Open in Web Editor NEW
34.0 3.0 1.0 20.63 MB

[CVPRW 2024] Official Implementation of "in2IN: Leveraging individual Information to Generate Human INteractions".

Home Page: https://pabloruizponce.github.io/in2IN/

License: Other

Python 100.00%
cvpr cvpr-workshop cvpr2024 diffusion generative-model human-interaction human-motion motion-generation motion-composition motion-interaction

in2in's Introduction

in2IN:Leveraging individual Information to Generate Human INteractions

Project arXiv


πŸ”Ž About


Generating human-human motion interactions conditioned on textual descriptions is a very useful application in many areas such as robotics, gaming, animation, and the metaverse. Alongside this utility also comes a great difficulty in modeling the highly dimensional inter-personal dynamics. In addition, properly capturing the intra-personal diversity of interactions has a lot of challenges. Current methods generate interactions with limited diversity of intra-person dynamics due to the limitations of the available datasets and conditioning strategies. For this, we introduce in2IN, a novel diffusion model for human-human motion generation which is conditioned not only on the textual description of the overall interaction but also on the individual descriptions of the actions performed by each person involved in the interaction. To train this model, we use a large language model to extend the InterHuman dataset with individual descriptions. As a result, in2IN achieves state-of-the-art performance in the InterHuman dataset. Furthermore, in order to increase the intra-personal diversity on the existing interaction datasets, we propose DualMDM, a model composition technique that combines the motions generated with in2IN and the motions generated by a single-person motion prior pre-trained on HumanML3D. As a result, DualMDM generates motions with higher individual diversity and improves control over the intra-person dynamics while maintaining inter-personal coherence.

πŸ“Œ News

  • [2024-06-04] Code, model weights, and additional training data are now available!
  • [2024-04-16] Our paper is available on arXiv
  • [2024-04-06] in2IN is now accepted at CVPR 2024 Workshop HuMoGen!

πŸ“ TODO List

  • Release code
  • Release model weights
  • Release individual descriptions from InterHuman dataset.
  • Release visualization code.

πŸ’» Usage

πŸ› οΈ Installation

  1. Clone the repo
git clone https://github.com/pabloruizponce/in2IN.git
  1. Install the requirements
    1. Download the required libraries
      pip install -r requirements.txt
    2. Install ffmpeg
      sudo apt update
      sudo apt install ffmpeg

Warning

All the code has been tested with Ubuntu 22.04.3 LTS x86_64 using Python 3.12.2 and CUDA 12.3.1. If you have any issues, please open and issue.

  1. Download the individual descriptions from the InterHuman dataset from here and place them in the data folder.

Important

The original InterHuman dataset is needed to run the code. You can download it from here. If you use the dataset, please cite us and the original paper.

πŸ•ΉοΈ Inference

Download the model weights from here and place them in the checkpoints folder.

  python in2in/scripts/infer.py \
      --model configs/models/in2IN.yaml \
      --infer configs/infer.yaml \
      --mode interaction \
      --out results \
      --device 0 \
      --text_interaction "Interaction textual description" \
      --text_individual1 "Individual textual description" \
      --text_individual2 "Individual textual description" \
      --name "output_name" \

Note

More information about the parameters can be found using the --help flag.

πŸƒπŸ»β€β™‚οΈ Training

  python in2in/scripts/train.py \
      --train configs/train/in2IN.yaml \
      --model configs/models/in2IN.yaml \
      --data configs/datasets.yaml \
      --mode interaction \
      --device 0 \

πŸŽ–οΈ Evaluation

Download the evaluator model weights from here and place them in the checkpoints folder.

Interaction Quality

  python in2in/scripts/eval/interhuman.py \
      --model configs/models/in2IN.yaml \
      --evaluator configs/eval.yaml \
      --mode [interaction, dual] \
      --out results \
      --device 0 \

Individual Diversity

  python in2in/scripts/eval/DualMDM.py \
      --model configs/models/DualMDM.yaml \
      --evaluator configs/eval.yaml \
      --device 0 \

πŸ“š Citation

If you find our work helpful, please cite:

@InProceedings{Ruiz-Ponce_2024_CVPR,
    author    = {Ruiz-Ponce, Pablo and Barquero, German and Palmero, Cristina and Escalera, Sergio and Garc{\'\i}a-Rodr{\'\i}guez, Jos\'e},
    title     = {in2IN: Leveraging Individual Information to Generate Human INteractions},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
    month     = {June},
    year      = {2024},
    pages     = {1941-1951}
}

🫢🏼 Acknowledgments

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.