/ROMP

Monocular, One-stage, Regression of Multiple 3D People and their 3D positions & trajectories in camera & global coordinates. ROMP[ICCV21], BEV[CVPR22], TRACE[CVPR2023]

Primary LanguagePythonApache License 2.0Apache-2.0

ROMP

BEV

TRACE

Monocular, One-stage, Regression of Multiple 3D People (ICCV21) Putting People in their Place: Monocular Regression of 3D People in Depth (CVPR2022) TRACE: 5D Temporal Regression of Avatars with Dynamic Cameras in 3D Environments (CVPR2023)
ROMP is a one-stage method for monocular multi-person 3D mesh recovery in real time. BEV further explores multi-person depth relationships and supports all age groups. TRACE further tracks specific subjects and recover their global 3D trajectory with dynamic cameras.
[Paper] [Video] [Project Page] [Paper] [Video] [Project Page] [Paper] [Video]
[RelativeHuman Dataset] [DynaCam Dataset]
drawing drawing drawing

We provide cross-platform API (installed via pip) to run ROMP & BEV on Linux / Windows / Mac.

Table of contents

News

2023/06/17: Release of TRACE's code. Please refer to this instructions for inference.
2022/06/21: Training & evaluation code of BEV is released. Please update the model_data.
2022/05/16: simple-romp v1.0 is released to support tracking, calling in python, exporting bvh, and etc.
2022/04/14: Inference code of BEV has been released in simple-romp v0.1.0.
2022/04/10: Adding onnx support, with faster inference speed on CPU/GPU.
Old logs

Getting started

Please use simple-romp for inference, the rest code is just for training.

How to use it

ROMP & BEV

For inference & export (fbx/glb/bvh), please refer to this guidance.

For training, please refer to installation.md for full installation, dataset.md for data preparation, train.md for training.

For evaluation on benchmarks, please refer to romp_evaluation, bev_evaluation.

TRACE

For inference, please refer to this instrcution.

For evaluation on benchmarks, please refer to trace_evaluation.

For training, please refer to trace_train.

Extensions

[Blender addon]: Yan Chuanhang created a Blender-addon to drive a 3D character in Blender using ROMP from image, video or webcam input.

[VMC protocol]: Vivien Richter implemented a VMC (Virtual Motion Capture) protocol support for different Motion Capture solutions with ROMP.

Docker usage

Please refer to docker.md

Bugs report

Welcome to submit issues for the bugs.

Contributors

This repository is maintained by Yu Sun.

ROMP has also benefited from many developers, including

Citation

@InProceedings{TRACE,
    author = {Sun, Yu and Bao, Qian and Liu, Wu and Mei, Tao and Black, Michael J.},
    title = {{TRACE: 5D Temporal Regression of Avatars with Dynamic Cameras in 3D Environments}}, 
    booktitle = {CVPR}, 
    year = {2023}}
@InProceedings{BEV,
    author = {Sun, Yu and Liu, Wu and Bao, Qian and Fu, Yili and Mei, Tao and Black, Michael J},
    title = {{Putting People in their Place: Monocular Regression of 3D People in Depth}},
    booktitle = {CVPR},
    year = {2022}}
@InProceedings{ROMP,
    author = {Sun, Yu and Bao, Qian and Liu, Wu and Fu, Yili and Michael J., Black and Mei, Tao},
    title = {{Monocular, One-stage, Regression of Multiple 3D People}},
    booktitle = {ICCV},
    year = {2021}}

Acknowledgement

This work was supported by the National Key R&D Program of China under Grand No. 2020AAA0103800.
MJB Disclosure: https://files.is.tue.mpg.de/black/CoI_CVPR_2023.txt