{"id":20012705,"url":"https://github.com/yuliangxiu/poseflow","last_synced_at":"2025-04-05T03:10:17.906Z","repository":{"id":37759453,"uuid":"129543694","full_name":"YuliangXiu/PoseFlow","owner":"YuliangXiu","description":"PoseFlow: Efficient Online Pose Tracking (BMVC'18)","archived":false,"fork":false,"pushed_at":"2024-05-03T19:40:12.000Z","size":9749,"stargazers_count":431,"open_issues_count":9,"forks_count":90,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-29T02:05:55.900Z","etag":null,"topics":["deep-learning","machine-learning","opencv","pose-estimation","posetrack","posetracking","real-time","realtime","tracking","video"],"latest_commit_sha":null,"homepage":"https://xiuyuliang.cn","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YuliangXiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":["yuliangxiu"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://paypal.me/yuliangxiu1993","https://xiuyuliang.cn/about/wepay.jpeg"]}},"created_at":"2018-04-14T18:28:08.000Z","updated_at":"2025-01-20T15:33:05.000Z","dependencies_parsed_at":"2024-05-03T20:44:31.342Z","dependency_job_id":"09935b9e-b3ab-4d91-b786-1dccc7791123","html_url":"https://github.com/YuliangXiu/PoseFlow","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/YuliangXiu%2FPoseFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FPoseFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FPoseFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YuliangXiu%2FPoseFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YuliangXiu","download_url":"https://codeload.github.com/YuliangXiu/PoseFlow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280272,"owners_count":20912967,"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":["deep-learning","machine-learning","opencv","pose-estimation","posetrack","posetracking","real-time","realtime","tracking","video"],"created_at":"2024-11-13T07:32:32.003Z","updated_at":"2025-04-05T03:10:17.887Z","avatar_url":"https://github.com/YuliangXiu.png","language":"C++","funding_links":["https://github.com/sponsors/yuliangxiu","https://paypal.me/yuliangxiu1993","https://xiuyuliang.cn/about/wepay.jpeg"],"categories":[],"sub_categories":[],"readme":"# Pose Flow\n\nOfficial implementation of [Pose Flow: Efficient Online Pose Tracking ](https://arxiv.org/abs/1802.00977).\n\n\u003cp align='center'\u003e\n    \u003cimg src=\"posetrack1.gif\", width=\"360\"\u003e\n    \u003cimg src=\"posetrack2.gif\", width=\"344\"\u003e\n\u003c/p\u003e\n\nResults on PoseTrack Challenge validation set:\n\n1. Task2: Multi-Person Pose Estimation (mAP)\n\u003ccenter\u003e\n\n| Method | Head mAP | Shoulder mAP | Elbow mAP | Wrist mAP | Hip mAP | Knee mAP | Ankle mAP | Total mAP |\n|:-------|:-----:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| Detect-and-Track(FAIR) | **67.5** | 70.2 | 62 | 51.7 | 60.7 | 58.7 | 49.8 | 60.6 |\n| **AlphaPose** | 66.7 | **73.3** | **68.3** | **61.1** | **67.5** | **67.0** | **61.3** | **66.5** |\n\n\u003c/center\u003e\n\n2. Task3: Pose Tracking (MOTA)\n\u003ccenter\u003e\n\n| Method | Head MOTA | Shoulder MOTA | Elbow MOTA | Wrist MOTA | Hip MOTA | Knee MOTA | Ankle MOTA | Total MOTA | Total MOTP| Speed(FPS) |\n|:-------|:-----:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| Detect-and-Track(FAIR) | **61.7** | 65.5 | 57.3 | 45.7 | 54.3 | 53.1 | 45.7 | 55.2 | 61.5 |Unknown|\n| **PoseFlow(DeepMatch)** | 59.8 | **67.0** | 59.8 | 51.6 | **60.0** | **58.4** | **50.5** | **58.3** | **67.8**|8|\n| **PoseFlow(OrbMatch)** | 59.0 | 66.8 | **60.0** | **51.8** | 59.4 | **58.4** | 50.3 | 58.0 | 62.2|24|\n\n\u003c/center\u003e\n\n## Latest Features\n- Dec 2018: \u003cstrong\u003ePoseFlow(General Version)\u003c/strong\u003e released! Support ANY DATASET and pose tracking results visualization.\n- Oct 2018: Support generating correspondence files with ORB(OpenCV), 3X FASTER and no need to compile DeepMatching library. \n\n## Requirements\n\n- Python 2.7.13\n- OpenCV 3.4.2.16\n- OpenCV-contrib 3.4.2.16\n- tqdm 4.19.8\n\n## Installation\n\n1. Download PoseTrack Dataset from [PoseTrack](https://posetrack.net/) to `AlphaPose/PoseFlow/posetrack_data/`\n2. (Optional) Use [DeepMatching](http://lear.inrialpes.fr/src/deepmatching/) to extract dense correspondences between adjcent frames in every video, please refer to [DeepMatching Compile Error](https://github.com/MVIG-SJTU/AlphaPose/issues/97) to compile DeepMatching correctly\n\n```shell\npip install -r requirements.txt\n\ncd deepmatching\nmake clean all\nmake\ncd ..\n```\n\n## For Any Datasets (General Version)\n\n1. Using [AlphaPose](https://github.com/MVIG-SJTU/AlphaPose) to generate multi-person pose estimation results.\n\n```shell\n# pytorch version\npython demo.py --indir ${image_dir}$ --outdir ${results_dir}$\n\n# torch version\n./run.sh --indir ${image_dir}$ --outdir ${results_dir}$\n```\n\n2. Run pose tracking\n\n\n```shell\n# pytorch version\npython tracker-general.py --imgdir ${image_dir}$ \n                          --in_json ${results_dir}$/alphapose-results.json \n                          --out_json ${results_dir}$/alphapose-results-forvis-tracked.json\n                          --visdir ${render_dir}$\n\n# torch version\npython tracker-general.py --imgdir ${image_dir}$ \n                          --in_json ${results_dir}$/POSE/alpha-pose-results-forvis.json \n                          --out_json ${results_dir}$/POSE/alpha-pose-results-forvis-tracked.json\n                          --visdir ${render_dir}$\n```\n\n\n## For PoseTrack Dataset Evaluation (Paper Baseline)\n\n1. Using [AlphaPose](https://github.com/MVIG-SJTU/AlphaPose) to generate multi-person pose estimation results on videos with format like `alpha-pose-results-sample.json`.\n2. Using DeepMatching/ORB to generate correspondence files.\n\n```shell\n# Generate correspondences by DeepMatching\n# (More Robust but Slower)\npython matching.py --orb=0 \n\nor\n\n# Generate correspondences by Orb\n# (Faster but Less Robust)\npython matching.py --orb=1\n```\n\n3. Run pose tracking\n\n\n```shell\npython tracker-baseline.py --dataset=val/test  --orb=1/0\n```\n4. Evaluation\n\nOriginal [poseval](https://github.com/leonid-pishchulin/poseval) has some instructions on how to convert annotation files from MAT to JSON.\n\nEvaluate pose tracking results on validation dataset:\n\n```shell\ngit clone https://github.com/leonid-pishchulin/poseval.git --recursive\ncd poseval/py \u0026\u0026 export PYTHONPATH=$PWD/../py-motmetrics:$PYTHONPATH\ncd ../../\npython poseval/py/evaluate.py --groundTruth=./posetrack_data/annotations/val \\\n                    --predictions=./${track_result_dir}/ \\\n                    --evalPoseTracking --evalPoseEstimation\n```\n\n\n## Citation\n\nPlease cite these papers in your publications if it helps your research:\n\n    @inproceedings{xiu2018poseflow,\n      author = {Xiu, Yuliang and Li, Jiefeng and Wang, Haoyu and Fang, Yinghong and Lu, Cewu},\n      title = {{Pose Flow}: Efficient Online Pose Tracking},\n      booktitle={BMVC},\n      year = {2018}\n    }\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuliangxiu%2Fposeflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuliangxiu%2Fposeflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuliangxiu%2Fposeflow/lists"}