-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add I/O support for MMPose #175
Comments
Potentially we can treat the bbox center as an additional keypoint? 🤔 |
We could, or the two relevant corners (upper left and lower right). Maybe we can designate some reserved keypoint names for such occasions ( |
This discussion is also relevant for #167 |
@ivanvrlg I've written a "developer guide" specifically for adding new Input/Output functionalities to |
Thanks Niko, this looks like it will be super helpful! I will post on Zulip if I have any questions. |
Motivation
Some of our collaborators work with human pose estimation, using MMPose: OpenMMLab Pose Estimation Toolbox and Benchmark.
The would like to import the predicted poses into movement, to leverage our filtering + analysis (and in future, visualisation) features.
Format
The pose predictions are done by an
MMPoseInferencer
class, the usage and outputs of which are described here. The results are then serialised into json for storage, see code here.This is an example of how the outputs look like:
What we can do
Since
movement
's data structure already supports keypoints and associated confidence scores, its should be easy to write functions that read/write the "keypoints" and "keypoint_scores" information for all instances and frames from/to such json files.The public-facing functions can be named
load_poses.from_mmpose_file()
andsave_poses.to_mmpose_file()
to conform with our existing naming conventions.The tricky bit is what to do about the bounding boxes.
movement
currently doesn't support those (but future support is planned, see #167). Maybe in the first instance we can only care about the keypoints, and think about the bboxes, at a later stage.The text was updated successfully, but these errors were encountered: