From 547c86122d90da2e5c198d06b4630a54acb19a47 Mon Sep 17 00:00:00 2001 From: David PAGNON Date: Tue, 9 May 2023 00:38:13 +0200 Subject: [PATCH 1/3] solve sorting issues on linux and colab --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 1d819a4..a2bdaec 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = sports2d -version = 0.0.9 +version = 0.0.10 author = David Pagnon author_email = contact@david-pagnon.com description = Detect pose and compute 2D joint angles from a video. From 4776d5658473f195d1a412ec058b77bc3934c8f4 Mon Sep 17 00:00:00 2001 From: David PAGNON Date: Tue, 9 May 2023 00:48:28 +0200 Subject: [PATCH 2/3] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3a16062..b914606 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ Replace the `video_file` value with the name of your video. 3. Open a terminal or an Anaconda prompt, type: ``` cd - conda activate Sports2D (skip if you did not install with Anaconda) + conda activate Sports2D #skip if you did not install with Anaconda ipython ``` ``` @@ -169,12 +169,12 @@ Note that your data will be sent to the Google servers, which do not follow the BlazePose or OpenPose are used to detect joint centers from a video. -If `BlazePose` is used, only one person can be detected.\ -No interpolation nor filtering options are available. Not plotting available. +- If `BlazePose` is used, only one person can be detected.\ + No interpolation nor filtering options are available. Not plotting available. -If `OpenPose` is used, multiple persons can be consistently detected across frames. A person is matched to another in the next frame when their average point clouds are at a small euclidian distance.\ -Sequences of missing data are interpolated if they are less than N frames long.\ -Resulting coordinates can be filtered with Butterworth, gaussian, median, or loess filter. They can also be plotted. +- If `OpenPose` is used, multiple persons can be consistently detected across frames. A person is matched to another in the next frame when their average point clouds are at a small euclidian distance.\ + Sequences of missing data are interpolated if they are less than N frames long.\ + Resulting coordinates can be filtered with Butterworth, gaussian, median, or loess filter. They can also be plotted. #### Angle computation: From 0951508caa3c1d084d178788a4578409476827af Mon Sep 17 00:00:00 2001 From: David PAGNON Date: Tue, 9 May 2023 15:42:25 +0200 Subject: [PATCH 3/3] Update README.md --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b914606..f45237a 100644 --- a/README.md +++ b/README.md @@ -219,14 +219,16 @@ I would happily welcome any proposal for new features, code improvement, and mor If you want to contribute to Sports2D, please follow [this guide](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) on how to fork, modify and push code, and submit a pull request. I would appreciate it if you provided as much useful information as possible about how you modified the code, and a rationale for why you're making this pull request. Please also specify on which operating system and on which python version you have tested the code. *Here is a to-do list: feel free to complete it:* -- [x] Compute **segment angles** -- [x] **Multi-person** detection, consistent over time -- [x] **Only interpolate small gaps** -- [x] **Filtering and plotting tools** -- [x] Handle sudden **changes of direction** -- [x] **Colab version** for those who cannot install OpenPose -- [ ] Full test on **MacOS** -- [ ] **GUI applications** for Windows, Mac, and Linux, as well as for Android and iOS (minimal version on mobile device, with only BlazePose). Code with [Kivy](https://kivy.org) -- [ ] **Pose refinement**. Click and move badly estimated 2D points. See [DeepLabCut](https://www.youtube.com/watch?v=bEuBKB7eqmk) for inspiration +- [x] Compute **segment angles**. +- [x] **Multi-person** detection, consistent over time. +- [x] **Only interpolate small gaps**. +- [x] **Filtering and plotting tools**. +- [x] Handle sudden **changes of direction**. +- [x] **Colab version** for those who cannot install OpenPose. +- [ ] Full test on **MacOS**. +- [ ] **GUI applications** for Windows, Mac, and Linux, as well as for Android and iOS (minimal version on mobile device, with only BlazePose). Code with [Kivy](https://kivy.org). - [ ] **Include OpenPose** in Sports2D executable files. [Dockerize](https://github.com/stanfordnmbl/mobile-gaitlab/blob/master/demo/Dockerfile) it? +- [ ] **Track other points and angles** with classic tracking methods (cf. [Kinovea](https://www.kinovea.org/features.html)), or by training a model (cf. [DeepLabCut](https://deeplabcut.github.io/DeepLabCut/README.html)). +- [ ] **Pose refinement**. Click and move badly estimated 2D points. See [DeepLabCut](https://www.youtube.com/watch?v=bEuBKB7eqmk) for inspiration. - [ ] **Constrain points** to OpenSim skeletal model for better angle estimation (like with [Pose2Sim](https://github.com/perfanalytics/pose2sim), but in 2D. +- [ ] Add tools for annotating images, undistort them, take perspective into account, etc. (cf. [Kinovea](https://www.kinovea.org/features.html)).