{"id":13584977,"url":"https://github.com/vchoutas/expose","last_synced_at":"2025-04-05T02:11:40.731Z","repository":{"id":39256734,"uuid":"289046126","full_name":"vchoutas/expose","owner":"vchoutas","description":"ExPose - EXpressive POse and Shape rEgression","archived":false,"fork":false,"pushed_at":"2022-09-12T12:41:40.000Z","size":6880,"stargazers_count":630,"open_issues_count":42,"forks_count":100,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-29T01:13:09.057Z","etag":null,"topics":["3d-pose-estimation","expressive-body-capture","human-pose-estimation","smpl","smplx"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vchoutas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-20T15:45:16.000Z","updated_at":"2025-03-28T13:40:45.000Z","dependencies_parsed_at":"2022-07-25T20:59:00.718Z","dependency_job_id":null,"html_url":"https://github.com/vchoutas/expose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vchoutas%2Fexpose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vchoutas%2Fexpose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vchoutas%2Fexpose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vchoutas%2Fexpose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vchoutas","download_url":"https://codeload.github.com/vchoutas/expose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-pose-estimation","expressive-body-capture","human-pose-estimation","smpl","smplx"],"created_at":"2024-08-01T15:04:38.363Z","updated_at":"2025-04-05T02:11:40.715Z","avatar_url":"https://github.com/vchoutas.png","language":"Python","funding_links":[],"categories":["Python","3D Whole-Body Mesh Recovery"],"sub_categories":["2020"],"readme":"## ExPose: Monocular Expressive Body Regression through Body-Driven Attention\n\n[![report](https://img.shields.io/badge/arxiv-report-red)](https://arxiv.org/abs/2008.09062)\n\n[[Project Page](https://expose.is.tue.mpg.de/)] \n[[Paper](https://ps.is.tuebingen.mpg.de/uploads_file/attachment/attachment/620/0983.pdf)]\n[[Supp. Mat.](https://ps.is.tuebingen.mpg.de/uploads_file/attachment/attachment/621/0983-supp_no_header_compressed.pdf)]\n\n![SMPL-X Examples](./images/expose.png)\n\n| Short Video | Long Video |\n| --- | --- |\n|  [![ShortVideo](https://img.youtube.com/vi/a-sVItuoPek/0.jpg)](https://www.youtube.com/watch?v=a-sVItuoPek) | [![LongVideo](https://img.youtube.com/vi/lNTmHLYTiB8/0.jpg)](https://www.youtube.com/watch?v=lNTmHLYTiB8) | \n\n## Table of Contents\n  * [License](#license)\n  * [Description](#description)\n    * [Dependencies](#dependencies)\n    * [Preparing the data](#preparing-the-data)\n    * [Demo](#demo)\n    * [Inference](#inference)\n  * [Citation](#citation)\n  * [Acknowledgments](#acknowledgments)\n  * [Contact](#contact)\n\n\n## License\n\nSoftware Copyright License for non-commercial scientific research purposes.\nPlease read carefully the following [terms and conditions](LICENSE) and any accompanying\ndocumentation before you download and/or use the ExPose data, model and\nsoftware, (the \"Data \u0026 Software\"), including 3D meshes, images, videos,\ntextures, software, scripts, and animations. By downloading and/or using the\nData \u0026 Software (including downloading, cloning, installing, and any other use\nof the corresponding github repository), you acknowledge that you have read\nthese [terms and conditions](LICENSE), understand them, and agree to be bound by them. If\nyou do not agree with these [terms and conditions](LICENSE), you must not download and/or\nuse the Data \u0026 Software. Any infringement of the terms of this agreement will\nautomatically terminate your rights under this [License](LICENSE).\n\n## Description\n\n**EX**pressive **PO**se and **S**hape r**E**gression (ExPose) is a method\nthat estimates 3D body pose and shape, hand articulation and facial expression\nof a person from a single RGB image. For more details, please see our ECCV paper\n[Monocular Expressive Body Regression through Body-Driven Attention](https://expose.is.tue.mpg.de/).\nThis repository contains:\n* A PyTorch demo to run ExPose on images.\n* An inference script for the supported datasets.\n\n## Installation\n\nTo install the necessary dependencies run the following command:\n```shell\n    pip install -r requirements.txt\n```\nThe code has been tested with two configurations: a) with Python 3.7, CUDA 10.1, CuDNN 7.5 and PyTorch 1.5 on Ubuntu 18.04, and b) with Python 3.6, CUDA 10.2 and PyTorch 1.6 on Ubuntu 18.04. \n\n\n### Preparing the data\n\nFirst, you should head to the [project website](https://expose.is.tue.mpg.de/) and create an account.\nIf you want to stay informed, please opt-in for email communication \nand we will reach out with any updates on the project.\nOnce you have your account, login and head to the download section\nto get the pre-trained **ExPose** model.\nCreate a folder named *data* and extract the downloaded zip there.\nYou should now have a folder with the following structure:\n```bash\ndata\n├── checkpoints\n├── all_means.pkl\n├── conf.yaml\n├── shape_mean.npy\n├── SMPLX_to_J14.pkl\n```\nFor more information on the data, please read the [data documentation](doc/data.md).\nIf you don't already have an account on the [SMPL-X website](https://smpl-x.is.tue.mpg.de/), \nplease register to be able to download the model. Afterward, extract the SMPL-X model\nzip inside the data folder you created above.\n```bash\ndata\n├── models\n│   ├── smplx\n```\nYou are now ready to run the demo and inference scripts.\n\n### Demo \n\nWe provide a script to run **ExPose** directly on images. \nTo get you started, we provide a sample folder, taken from [pexels](https://pexels.com),\nwhich can be processed with the the following command:\n```shell\n    python demo.py --image-folder samples \\\n    --exp-cfg data/conf.yaml \\\n    --show=False \\\n    --output-folder OUTPUT_FOLDER \\\n    --save-params [True/False] \\\n    --save-vis [True/False] \\\n    --save-mesh [True/False]\n```\nThe script will use a *Keypoint R-CNN* from *torchvision* to detect people in\nthe images and then produce a SMPL-X prediction for each using **ExPose**.\nYou should see the following output for the sample image:\n\n|  ![Sample](samples/man-in-red-crew-neck-sweatshirt-photography-941693.png) | ![HD Overlay](images/hd_overlay.png) | \n| --- | --- |\n\n### Inference\n\nThe [inference](inference.py) script can be used to run inference on one of the supported\ndatasets. For example, if you have a folder with images and OpenPose keypoints\nwith the following structure:\n```bash\nfolder\n├── images\n│   ├── img0001.jpg\n│   └── img0002.jpg\n│   └── img0002.jpg\n├── keypoints\n│   ├── img0001_keypoints.json\n│   └── img0002_keypoints.json\n│   └── img0002_keypoints.json\n```\nThen you can use the following command to run ExPose for each person:\n```shell\npython inference.py --exp-cfg data/conf.yaml \\\n           --datasets openpose \\\n           --exp-opts datasets.body.batch_size B datasets.body.openpose.data_folder folder \\\n           --show=[True/False] \\\n           --output-folder OUTPUT_FOLDER \\\n           --save-params [True/False] \\\n           --save-vis [True/False] \\\n           --save-mesh [True/False]\n```\nYou can select if you want to save the estimated parameters, meshes, and renderings by \nsetting the corresponding flags. \n \n## Citation\n\nIf you find this Model \u0026 Software useful in your research we would kindly ask you to cite:\n\n```bibtex\n@inproceedings{ExPose:2020,\n    title= {Monocular Expressive Body Regression through Body-Driven Attention},\n    author= {Choutas, Vasileios and Pavlakos, Georgios and Bolkart, Timo and Tzionas, Dimitrios and Black, Michael J.},\n    booktitle = {European Conference on Computer Vision (ECCV)},\n    year = {2020},\n    url = {https://expose.is.tue.mpg.de}\n}\n```\n```bibtex\n@inproceedings{SMPL-X:2019,\n    title = {Expressive Body Capture: 3D Hands, Face, and Body from a Single Image},\n    author = {Pavlakos, Georgios and Choutas, Vasileios and Ghorbani, Nima and Bolkart, Timo and Osman, Ahmed A. A. and Tzionas, Dimitrios and Black, Michael J.},\n    booktitle = {Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)},\n    year = {2019}\n}\n```\n\n## Acknowledgments\n\nWe thank Haiwen Feng for the FLAME fits,\nNikos Kolotouros, Muhammed Kocabas and Nikos Athanasiou for helpful discussions,\nSai Kumar Dwivedi and Lea Muller for proofreading,\nMason Landry and Valerie Callaghan for video voiceovers.\n\n## Contact\nThe code of this repository was implemented by [Vassilis Choutas](mailto:vassilis.choutas@tuebingen.mpg.de).\n\nFor questions, please contact [expose@tue.mpg.de](mailto:expose@tue.mpg.de). \n\nFor commercial licensing (and all related questions for business applications), please contact [ps-licensing@tue.mpg.de](mailto:ps-licensing@tue.mpg.de).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvchoutas%2Fexpose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvchoutas%2Fexpose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvchoutas%2Fexpose/lists"}