This is a project trying to help researchers to analyse human movement without knowing all the details of pose estimation models. We implement this as a Python3 package called pose_playground which is a folder at the root of this directory.
Basic interfaces are introduced in example.py
. Essentially, one manages pose model by creating an instance of pose_playground.pose_models.model_managed.ModelManaged
.
compare_patients_spine_angle.py
is an simple analysis comparing neck-spine-pelvis angles between healthy subjects and patients.
Currently only the following models are supported
-
VNect model (Tensorflow 1 implementation).
-
OpenPose only supports COCO version. Implemented in Pytorch. Not accessible from
pose_playground.pose_models.model_managed.ModelManaged
class because it only has 2D predictions -
VideoPose3D replaced original detectron2 with OpenPose COCO model. So it returns 2D joints generated by OpenPose model in COCO 17 joints old format, while its 3D joints output are Human3.6m 17 joints version.
We are working to add more models.
New analysis helpers function should live directly under pose_playground
directory like pose_playground.joint_angle.py
does. Other non-sharable analysis code may live outside of pose_playground
package like compare_patients_spine_angle.py
does.
We want to have the easiest setup for all users. However, it is difficult when it comes to deep learning models that we collected from elsewhere. Anyway, here is a listed of required packages to run example.py
and tested versions (most package versions should be fine):
pip package name | tested version |
---|---|
opencv-python | 4.2.0.34 |
numpy | 1.18.4 |
matplotlib | 3.2.1 |
For VNect
this implementation requires tensorflow 1.x
version.
A large portion of VNect
implementation code comes from Wu Xin's repo which also contains code from Tim Ho's repo and EJ Shim.