{"id":21888024,"url":"https://github.com/idein/chainer-pose-proposal-net","last_synced_at":"2025-04-15T10:15:45.980Z","repository":{"id":94832898,"uuid":"157828895","full_name":"Idein/chainer-pose-proposal-net","owner":"Idein","description":"Chainer implementation of Pose Proposal Networks","archived":false,"fork":false,"pushed_at":"2018-12-21T15:09:58.000Z","size":8530,"stargazers_count":117,"open_issues_count":2,"forks_count":31,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-15T10:15:22.490Z","etag":null,"topics":["chainer","coco-dataset","deep-learning","mpii-dataset","pose-estimation","pose-proposal-networks"],"latest_commit_sha":null,"homepage":null,"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/Idein.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}},"created_at":"2018-11-16T07:24:26.000Z","updated_at":"2024-02-24T15:06:11.000Z","dependencies_parsed_at":"2023-04-30T17:32:34.252Z","dependency_job_id":null,"html_url":"https://github.com/Idein/chainer-pose-proposal-net","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idein%2Fchainer-pose-proposal-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idein%2Fchainer-pose-proposal-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idein%2Fchainer-pose-proposal-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idein%2Fchainer-pose-proposal-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Idein","download_url":"https://codeload.github.com/Idein/chainer-pose-proposal-net/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249048742,"owners_count":21204306,"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":["chainer","coco-dataset","deep-learning","mpii-dataset","pose-estimation","pose-proposal-networks"],"created_at":"2024-11-28T11:13:52.145Z","updated_at":"2025-04-15T10:15:45.951Z","avatar_url":"https://github.com/Idein.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chainer-pose-proposal-net\n\n- This is an (unofficial) implementation of [Pose Proposal Networks](http://openaccess.thecvf.com/content_ECCV_2018/papers/Sekii_Pose_Proposal_Networks_ECCV_2018_paper.pdf) with Chainer including training and prediction tools.\n\n# License\n\nCopyright (c) 2018 Idein Inc. \u0026 Aisin Seiki Co., Ltd.\nAll rights reserved.\n\nThis project is licensed under the terms of the [license](LICENSE).\n\n# Training\n\n- Prior to training, let's download dataset. You can train with MPII or COCO dataset by yourself.\n- For simplicity, we will use docker image of [idein/chainer](https://hub.docker.com/r/idein/chainer/) which includes Chainer, ChainerCV and other utilities with CUDA driver. This will save time setting development environment.\n- For more information see:\n  - https://docs.docker.com/install/\n  - https://github.com/NVIDIA/nvidia-docker\n## Prepare Dataset\n\n### MPII\n\n- If you train with COCO dataset you can skip.\n- Access [MPII Human Pose Dataset](http://human-pose.mpi-inf.mpg.de/) and jump to `Download` page. Then download and extract both `Images (12.9 GB)` and `Annotations (12.5 MB)` at `~/work/dataset/mpii_dataset` for example.\n\n#### Create `mpii.json`\n\nWe need decode `mpii_human_pose_v1_u12_1.mat` to generate `mpii.json`. This will be used on training or evaluating test dataset of MPII.\n\n```\n$ sudo docker run --rm -v $(pwd):/work -v path/to/dataset:mpii_dataset -w /work idein/chainer:4.5.0 python3 convert_mpii_dataset.py mpii_dataset/mpii_human_pose_v1_u12_2/mpii_human_pose_v1_u12_1.mat mpii_dataset/mpii.json\n```\n\nIt will generate `mpii.json` at `path/to/dataset`. Where `path/to/dataset` is the root directory of MPII dataset, for example, `~/work/dataset/mpii_dataset`. For those who hesitate to use Docker, you may edit `config.ini` as necessary.\n\n### COCO\n\n- If you train with MPII dataset you can skip.\n- Access [COCO dataset](http://cocodataset.org/) and jump to `Dataset` -\u003e `download`. Then download and extract `2017 Train images [118K/18GB]`, `2017 Val images [5K/1GB]` and `2017 Train/Val annotations [241MB]` at `~/work/dataset/coco_dataset:/coco_dataset` for example.\n\n## Running Training Scripts\n\nOK let's begin!\n\n```\n$ cat begin_train.sh\ncat config.ini\ndocker run --rm \\\n-v $(pwd):/work \\\n-v ~/work/dataset/mpii_dataset:/mpii_dataset \\\n-v ~/work/dataset/coco_dataset:/coco_dataset \\\n--name ppn_idein \\\n-w /work \\\nidein/chainer:5.1.0 \\\npython3 train.py\n$ sudo bash begin_train.sh\n```\n\n- Optional argument `--runtime=nvidia` maybe require for some environment.\n- It will train a model the base network is MobileNetV2 with MPII dataset located in `path/to/dataset` on host machine.\n- If we would like to train with COCO dataset, edit a part of `config.ini` as follow:\n\nbefore\n\n```\n# parts of config.ini\n[dataset]\ntype = mpii\n```\n\nafter\n\n```\n# parts of config.ini\n[dataset]\ntype = coco\n```\n\n- We can choice ResNet based network as the original paper adopts. Edit a part of `config.ini` as follow:\n\nbefore\n\n```\n[model_param]\nmodel_name = mv2\n```\n\nafter\n\n```\n[model_param]\n# you may also choice resnet34 and resnet50\nmodel_name = resnet18\n```\n\n# Prediction\n\n- Very easy, all we have to do is, for example:\n\n```\n$ sudo bash run_predict.sh ./trained\n```\n\n- If you would like to configure parameter or hide bounding box, edit a part of `config.ini` as follow:\n\n```\n[predict]\n# If `False` is set, hide bbox of annotation other than human instance.\nvisbbox = True\n# detection_thresh\ndetection_thresh = 0.15\n# ignore human its num of keypoints is less than min_num_keypoints\nmin_num_keypoints= 1\n```\n\n# Demo: Realtime Pose Estimation\n\nWe tested on an Ubuntu 16.04 machine with GPU GTX1080(Ti)\n\n## Build Docker Image for Demo\n\nWe will build OpenCV from source to visualize the result on GUI.\n\n```\n$ cd docker/gpu\n$ cat build.sh\ndocker build -t ppn .\n$ sudo bash build.sh\n```\n\nHere is an result of ResNet18 trained with COCO running on laptop PC.\n\n![](readmedata/cpu-example.gif)\n\n## Run video.py\n\n- Set your USB camera that can recognize from OpenCV.\n\n- Run `video.py`\n\n```\n$ python video.py ./trained\n```\n\nor\n\n```\n$ sudo bash run_video.sh ./trained\n```\n\n## High Performance Version\n- To use feature of [Static Subgraph Optimizations](http://docs.chainer.org/en/stable/reference/static_graph_design.html) to accelerate inference speed, we should install Chainer 5.y.z and CuPy 5.y.z e.g. 5.0.0 or 5.1.0 .\n- Prepare high performance USB camera so that takes more than 60 FPS.\n- Run `high_speed.py` instead of `video.py`\n- Do not fall from the chair with surprise :D.\n\n# Appendix\n\n## Pre-trained Model\n- Without training, you can try our software by downloading pre-trained model from [our release page](https://github.com/Idein/chainer-pose-proposal-net/releases)\n\n## Our Demo\n- [Implementation of Pose Proposal Networks (NotePC with e-GPU)](https://twitter.com/IdeinInc/status/1059385580180500482)\n- [Demo: Pose Proposal Network on a Raspberry Pi](https://www.youtube.com/watch?v=L_kAUnAgkfg)\n  - It runs on Raspberry Pi 3 locally using its GPU (VideoCore IV) with almost 10 FPS.\n  - [It also runs on Raspberry Pi Zero](https://twitter.com/9_ties/status/1059750417679114240) with 6.6 FPS.\n\n## Actcast \n - We have released an IoT platform service named [Actcast](https://actcast.io/). \n - You can reproduce our demo and feel how fast it is on **YOUR** Raspberry Pi using Actcast.\n - It is free of charge alpha release. Please give it a try! For more information see:\n   - [Idein Ideas\nReleased Actcast alpha](https://blog.idein.jp/post/181016515935/alphareleaseen)\n - 日本語ページはこちら\n   - [Idein Ideas\nActcast α版をリリースしました](https://blog.idein.jp/post/180982005915/alpharelease)\n\n\n# Citation\nPlease cite the paper in your publications if it helps your research:\n\n    @InProceedings{Sekii_2018_ECCV,\n      author = {Sekii, Taiki},\n      title = {Pose Proposal Networks},\n      booktitle = {The European Conference on Computer Vision (ECCV)},\n      month = {September},\n      year = {2018}\n      }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidein%2Fchainer-pose-proposal-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidein%2Fchainer-pose-proposal-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidein%2Fchainer-pose-proposal-net/lists"}