{"id":13958382,"url":"https://github.com/anibali/margipose","last_synced_at":"2026-03-09T15:31:25.510Z","repository":{"id":43263670,"uuid":"136548620","full_name":"anibali/margipose","owner":"anibali","description":"3D monocular human pose estimation","archived":false,"fork":false,"pushed_at":"2024-08-29T10:16:40.000Z","size":14292,"stargazers_count":100,"open_issues_count":3,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-04T17:11:19.755Z","etag":null,"topics":["deep-learning","pose-estimation","pytorch"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anibali.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T01:12:13.000Z","updated_at":"2025-04-11T01:02:44.000Z","dependencies_parsed_at":"2024-11-24T09:03:48.031Z","dependency_job_id":"9f4dc562-5a86-4be5-9a08-e76fab618db8","html_url":"https://github.com/anibali/margipose","commit_stats":{"total_commits":81,"total_committers":2,"mean_commits":40.5,"dds":"0.012345679012345734","last_synced_commit":"7e859be9b54caa15eec1b80b210f3b428c0f1b14"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/anibali/margipose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibali%2Fmargipose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibali%2Fmargipose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibali%2Fmargipose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibali%2Fmargipose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anibali","download_url":"https://codeload.github.com/anibali/margipose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibali%2Fmargipose/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30301109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T14:33:48.460Z","status":"ssl_error","status_checked_at":"2026-03-09T14:33:48.027Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["deep-learning","pose-estimation","pytorch"],"created_at":"2024-08-08T13:01:31.216Z","updated_at":"2026-03-09T15:31:25.487Z","avatar_url":"https://github.com/anibali.png","language":"Python","funding_links":[],"categories":["人像\\姿势\\3D人脸"],"sub_categories":["网络服务_其他"],"readme":"# MargiPose\n\nAccompanying PyTorch code for the paper\n[\"3D Human Pose Estimation with 2D Marginal Heatmaps\"](https://arxiv.org/abs/1806.01484).\n\n## Setup\n\nRequirements:\n\n* Linux\n* Docker\n* Docker Compose\n* NVIDIA Container Toolkit (for GPU support)\n\n### Configure the project\n\n1. Copy `docker-compose.yml.example` to `docker-compose.yml`.\n2. At this stage `docker-compose.yml` will contain example volume mounts for the datasets.\n   You will need to edit the entries for datasets [that you have prepared](#prepare-datasets),\n   and remove the others.\n\n   For example, if you wish to use the MPI-INF-3DHP dataset, you must replace `/host/path/to/mpi3d`\n   with the actual path to the prepared MPI-INF-3DHP data on your computer.\n\n### Prepare datasets\n\nYou only need to prepare the datasets that you are interested in using.\n\n#### Human3.6M\n\n1. Use the scripts available at https://github.com/anibali/h36m-fetch to download\n   and preprocess Human3.6M data.\n2. Edit the volume mounts in `docker-compose.yml` so that the absolute location of\n   the `processed/` directory created by h36m-fetch is bound to `/datasets/h36m`\n   inside the Docker container.\n\n#### MPI-INF-3DHP\n\n1. Download [the original MPI-INF-3DHP dataset](http://gvv.mpi-inf.mpg.de/3dhp-dataset/).\n2. Use the `src/margipose/bin/preprocess_mpi3d.py` script to preprocess the data.\n3. Edit the volume mounts in `docker-compose.yml` so that the absolute location of\n   the processed MPI-INF-3DHP data is bound to `/datasets/mpi3d` inside the Docker container.\n\n#### MPII\n\n1. Edit the volume mounts in `docker-compose.yml` so that the desired installation directory\n   for the MPII Human Pose dataset is bound to `/datasets/mpii` inside the Docker container.\n2. Run the following to download and install the MPII Human Pose dataset:\n   ```\n   $ ./run.sh bash\n   $ chmod 777 -R /datasets/mpii\n   $ python\n   \u003e\u003e\u003e from torchdata import mpii\n   \u003e\u003e\u003e mpii.install_mpii_dataset('/datasets/mpii')\n   ```\n\n### [Optional] Configure and run Showoff\n\nShowoff is a display server which allows you to visualise model training progression.\nThe following steps guide you through starting a Showoff server and configuring\nMargiPose to use it.\n\n1. Change `POSTGRES_PASSWORD` in `showoff/postgres.env`. Using a randomly generated password is\n   recommended.\n2. Change `COOKIE_SECRET` in `showoff/showoff.env`. Once again, using a randomly generated\n   value is recommended.\n3. From a terminal in the showoff directory, run `docker-compose up -d showoff`. This will\n   start the Showoff server.\n4. Open [localhost:13000](http://localhost:13000) in your web browser.\n5. Log in using the username \"admin\" and the password \"password\".\n6. Change the admin password.\n7. Open up `showoff/showoff-client.env` in a text editor.\n8. From the Showoff account page, add a new API key. Copy the API key ID and secret key\n   into `showoff-client.env` (you will need to uncomment the appropriate lines).\n\n## Running scripts\n\nA `run.sh` launcher script is provided, which will run any command within a Docker container\ncontaining all of MargiPose's dependencies. Here are a few examples.\n\nTrain a MargiPose model on the MPI-INF-3DHP dataset:\n\n```bash\n./run.sh margipose train with margipose_model mpi3d\n```\n\nTrain without pixel-wise loss term:\n\n```bash\n./run.sh margipose train with margipose_model mpi3d \"model_desc={'settings': {'pixelwise_loss': None}}\"\n```\n\nEvaluate a model's test set performance using the second GPU:\n\n```bash\n./run.sh margipose --device=cuda:1 eval --model margipose-mpi3d.pth --dataset mpi3d-test\n```\n\nExplore qualitative results with a GUI:\n\n```bash\n./run.sh margipose gui --model margipose-mpi3d.pth --dataset mpi3d-test\n```\n\nRun the project unit tests:\n\n```bash\n./run.sh pytest\n```\n\n## Pretrained models\n\nPretrained models are available for download:\n\n* [margipose-mpi3d.pth](https://github.com/anibali/margipose/releases/download/v0.1.0/margipose-mpi3d.pth) [221.6 MB]\n  * Trained on MPI-INF-3DHP and MPII examples\n* [margipose-h36m.pth](https://github.com/anibali/margipose/releases/download/v0.1.0/margipose-h36m.pth) [221.6 MB]\n  * Trained on Human3.6M and MPII examples\n\nYou can try out the pretrained model like so:\n\n```bash\n./run.sh margipose infer --model margipose-mpi3d.pth --image resources/man_running.jpg\n```\n\n## License and citation\n\n(C) 2018 Aiden Nibali\n\nThis project is open source under the terms of the Apache License 2.0.\n\nIf you use any part of this work in a research project, please cite the following paper:\n\n```\n@article{nibali2018margipose,\n  title={3D Human Pose Estimation with 2D Marginal Heatmaps},\n  author={Nibali, Aiden and He, Zhen and Morgan, Stuart and Prendergast, Luke},\n  journal={arXiv preprint arXiv:1806.01484},\n  year={2018}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanibali%2Fmargipose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanibali%2Fmargipose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanibali%2Fmargipose/lists"}