sports2d 0.7.2__py3-none-any.whl → 0.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Sports2D/Demo/Config_demo.toml +12 -13
- Sports2D/Sports2D.py +27 -23
- Sports2D/Utilities/__init__.py +2 -1
- Sports2D/Utilities/common.py +2 -940
- Sports2D/Utilities/filter.py +2 -1
- Sports2D/Utilities/tests.py +40 -21
- Sports2D/__init__.py +2 -1
- Sports2D/process.py +540 -144
- {sports2d-0.7.2.dist-info → sports2d-0.8.0.dist-info}/METADATA +105 -83
- sports2d-0.8.0.dist-info/RECORD +15 -0
- {sports2d-0.7.2.dist-info → sports2d-0.8.0.dist-info}/WHEEL +1 -1
- sports2d-0.8.0.dist-info/entry_points.txt +3 -0
- Sports2D/Utilities/skeletons.py +0 -1000
- sports2d-0.7.2.dist-info/RECORD +0 -16
- sports2d-0.7.2.dist-info/entry_points.txt +0 -2
- {sports2d-0.7.2.dist-info → sports2d-0.8.0.dist-info/licenses}/LICENSE +0 -0
- {sports2d-0.7.2.dist-info → sports2d-0.8.0.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,41 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: sports2d
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
5
|
-
|
|
6
|
-
Author: David Pagnon
|
|
7
|
-
Author-email: contact@david-pagnon.com
|
|
3
|
+
Version: 0.8.0
|
|
4
|
+
Summary: Compute 2D human pose and angles from a video or a webcam.
|
|
5
|
+
Author-email: David Pagnon <contact@david-pagnon.com>
|
|
8
6
|
License: BSD 3-Clause License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2022, perfanalytics
|
|
9
|
+
All rights reserved.
|
|
10
|
+
|
|
11
|
+
Redistribution and use in source and binary forms, with or without
|
|
12
|
+
modification, are permitted provided that the following conditions are met:
|
|
13
|
+
|
|
14
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
15
|
+
list of conditions and the following disclaimer.
|
|
16
|
+
|
|
17
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
18
|
+
this list of conditions and the following disclaimer in the documentation
|
|
19
|
+
and/or other materials provided with the distribution.
|
|
20
|
+
|
|
21
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
22
|
+
contributors may be used to endorse or promote products derived from
|
|
23
|
+
this software without specific prior written permission.
|
|
24
|
+
|
|
25
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
26
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
27
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
28
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
29
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
30
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
31
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
32
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
33
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
34
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
35
|
+
|
|
36
|
+
Project-URL: Homepage, https://github.com/davidpagnon/Sports2D
|
|
9
37
|
Project-URL: Bug Tracker, https://github.com/davidpagnon/Sports2D/issues
|
|
10
|
-
Keywords: markerless,kinematics,OpenPose,
|
|
11
|
-
Platform: any
|
|
38
|
+
Keywords: markerless,kinematics,OpenPose,OpenSim,Mocap,biomechanics,sports coaching,pose estimation,joint angles,sports analytics,kinovea
|
|
12
39
|
Classifier: Programming Language :: Python :: 3
|
|
13
40
|
Classifier: Development Status :: 3 - Alpha
|
|
14
41
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -21,37 +48,42 @@ Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
|
21
48
|
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
|
|
22
49
|
Classifier: Topic :: Multimedia :: Graphics
|
|
23
50
|
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
|
|
51
|
+
Requires-Python: >=3.9
|
|
24
52
|
Description-Content-Type: text/markdown
|
|
25
53
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: ipython
|
|
27
54
|
Requires-Dist: toml
|
|
28
|
-
Requires-Dist: numpy
|
|
29
|
-
Requires-Dist: pandas>=1.5
|
|
30
|
-
Requires-Dist: scipy
|
|
31
|
-
Requires-Dist: anytree
|
|
32
|
-
Requires-Dist: opencv-python
|
|
55
|
+
Requires-Dist: numpy>=1.19
|
|
33
56
|
Requires-Dist: matplotlib
|
|
34
57
|
Requires-Dist: PyQt5
|
|
58
|
+
Requires-Dist: tqdm
|
|
59
|
+
Requires-Dist: anytree
|
|
60
|
+
Requires-Dist: pandas>=1.5
|
|
61
|
+
Requires-Dist: scipy
|
|
35
62
|
Requires-Dist: statsmodels
|
|
63
|
+
Requires-Dist: ipython
|
|
36
64
|
Requires-Dist: c3d
|
|
37
65
|
Requires-Dist: rtmlib
|
|
38
66
|
Requires-Dist: openvino
|
|
39
|
-
Requires-Dist:
|
|
67
|
+
Requires-Dist: opencv-python
|
|
40
68
|
Requires-Dist: imageio_ffmpeg
|
|
41
69
|
Requires-Dist: deep-sort-realtime
|
|
42
70
|
Requires-Dist: Pose2Sim
|
|
71
|
+
Dynamic: license-file
|
|
43
72
|
|
|
44
73
|
|
|
45
74
|
[](https://github.com/davidpagnon/sports2d/actions/workflows/continuous-integration.yml)
|
|
46
|
-
[](https://badge.fury.io/py/Sports2D)
|
|
75
|
+
[](https://badge.fury.io/py/Sports2D)
|
|
76
|
+
\
|
|
47
77
|
[](https://pepy.tech/project/sports2d)
|
|
48
78
|
[](https://github.com/davidpagnon/sports2d/stargazers)
|
|
49
79
|
[](https://github.com/davidpagnon/sports2d/issues)
|
|
50
|
-
[](https://GitHub.com/davidpagnon/sports2d/issues?q=is%3Aissue+is%3Aclosed)
|
|
80
|
+
[](https://GitHub.com/davidpagnon/sports2d/issues?q=is%3Aissue+is%3Aclosed)
|
|
81
|
+
\
|
|
51
82
|
[](https://joss.theoj.org/papers/1d525bbb2695c88c6ebbf2297bd35897)
|
|
52
83
|
[](https://zenodo.org/doi/10.5281/zenodo.7903962)
|
|
53
84
|
[](https://opensource.org/licenses/BSD-3-Clause)
|
|
54
|
-
|
|
85
|
+
\
|
|
86
|
+
[](https://discord.com/invite/4mXUdSFjmt)
|
|
55
87
|
|
|
56
88
|
<!-- [](https://bit.ly/Sports2D_Colab)-->
|
|
57
89
|
|
|
@@ -63,8 +95,8 @@ Requires-Dist: Pose2Sim
|
|
|
63
95
|
|
|
64
96
|
</br>
|
|
65
97
|
|
|
66
|
-
> **`
|
|
67
|
-
>
|
|
98
|
+
> **`Announcements:`**
|
|
99
|
+
> - Select only the persons you want to analyze **New in v0.8!**
|
|
68
100
|
> - MarkerAugmentation and Inverse Kinematics for accurate 3D motion with OpenSim. **New in v0.7!**
|
|
69
101
|
> - Any detector and pose estimation model can be used. **New in v0.6!**
|
|
70
102
|
> - Results in meters rather than pixels. **New in v0.5!**
|
|
@@ -72,6 +104,8 @@ Requires-Dist: Pose2Sim
|
|
|
72
104
|
> - Works from a webcam
|
|
73
105
|
> - Better visualization output
|
|
74
106
|
> - More flexible, easier to run
|
|
107
|
+
>
|
|
108
|
+
> Run `pip install sports2d -U` to get the latest version.
|
|
75
109
|
|
|
76
110
|
***N.B.:*** As always, I am more than happy to welcome contributions (see [How to contribute](#how-to-contribute-and-to-do-list))!
|
|
77
111
|
<!--User-friendly Colab version released! (and latest issues fixed, too)\
|
|
@@ -81,7 +115,10 @@ Works on any smartphone!**\
|
|
|
81
115
|
|
|
82
116
|
</br>
|
|
83
117
|
|
|
84
|
-
|
|
118
|
+
|
|
119
|
+
https://github.com/user-attachments/assets/6a444474-4df1-4134-af0c-e9746fa433ad
|
|
120
|
+
|
|
121
|
+
<!-- https://github.com/user-attachments/assets/1c6e2d6b-d0cf-4165-864e-d9f01c0b8a0e -->
|
|
85
122
|
|
|
86
123
|
`Warning:` Angle estimation is only as good as the pose estimation algorithm, i.e., it is not perfect.\
|
|
87
124
|
`Warning:` Results are acceptable only if the persons move in the 2D plane (sagittal or frontal plane). The persons need to be filmed as parallel as possible to the motion plane.\
|
|
@@ -104,14 +141,15 @@ If you need 3D research-grade markerless joint kinematics, consider using severa
|
|
|
104
141
|
3. [Play with the parameters](#play-with-the-parameters)
|
|
105
142
|
1. [Run on a custom video or on a webcam](#run-on-a-custom-video-or-on-a-webcam)
|
|
106
143
|
2. [Run for a specific time range](#run-for-a-specific-time-range)
|
|
107
|
-
3. [
|
|
108
|
-
4. [
|
|
109
|
-
5. [Run
|
|
110
|
-
6. [
|
|
111
|
-
7. [
|
|
112
|
-
8. [
|
|
113
|
-
9. [
|
|
114
|
-
10. [
|
|
144
|
+
3. [Select the persons you are interested in](#select-the-persons-you-are-interested-in)
|
|
145
|
+
4. [Get coordinates in meters](#get-coordinates-in-meters)
|
|
146
|
+
5. [Run inverse kinematics](#run-inverse-kinematics)
|
|
147
|
+
6. [Run on several videos at once](#run-on-several-videos-at-once)
|
|
148
|
+
7. [Use the configuration file or run within Python](#use-the-configuration-file-or-run-within-python)
|
|
149
|
+
8. [Get the angles the way you want](#get-the-angles-the-way-you-want)
|
|
150
|
+
9. [Customize your output](#customize-your-output)
|
|
151
|
+
10. [Use a custom pose estimation model](#use-a-custom-pose-estimation-model)
|
|
152
|
+
11. [All the parameters](#all-the-parameters)
|
|
115
153
|
2. [Go further](#go-further)
|
|
116
154
|
1. [Too slow for you?](#too-slow-for-you)
|
|
117
155
|
3. [Run inverse kinematics](#run-inverse-kinematics)
|
|
@@ -259,7 +297,6 @@ sports2d --video_input webcam
|
|
|
259
297
|
|
|
260
298
|
<br>
|
|
261
299
|
|
|
262
|
-
|
|
263
300
|
#### Run for a specific time range:
|
|
264
301
|
```cmd
|
|
265
302
|
sports2d --time_range 1.2 2.7
|
|
@@ -268,6 +305,28 @@ sports2d --time_range 1.2 2.7
|
|
|
268
305
|
<br>
|
|
269
306
|
|
|
270
307
|
|
|
308
|
+
#### Select the persons you are interested in:
|
|
309
|
+
If you only want to analyze a subset of the detected persons, you can use the `--nb_persons_to_detect` and `--person_ordering_method` parameters. The order matters if you want to [convert coordinates in meters](#get-coordinates-in-meters) or [run inverse kinematics](#run-inverse-kinematics).
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
``` cmd
|
|
313
|
+
sports2d --nb_persons_to_detect 2 --person_ordering_method highest_likelihood
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
We recommend to use the `on_click` method if you can afford a manual input. This lets the user handle both the person number and their order in the same stage. When prompted, select the persons you are interested in in the desired order. In our case, lets slide to a frame where both people are visible, and select the woman first, then the man.
|
|
317
|
+
|
|
318
|
+
``` cmd
|
|
319
|
+
sports2d --person_ordering_method on_click
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
<img src="Content/Person_selection.png" width="760">
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
<br>
|
|
328
|
+
|
|
329
|
+
|
|
271
330
|
#### Get coordinates in meters:
|
|
272
331
|
> **N.B.:** Depth is estimated from a neutral pose.
|
|
273
332
|
|
|
@@ -284,11 +343,12 @@ Also note that distortions are not taken into account, and that results will be
|
|
|
284
343
|
sports2d --to_meters True --calib_file calib_demo.toml
|
|
285
344
|
``` -->
|
|
286
345
|
``` cmd
|
|
287
|
-
sports2d --to_meters True --
|
|
346
|
+
sports2d --to_meters True --first_person_height 1.65 --visible_side auto front none
|
|
288
347
|
```
|
|
289
348
|
``` cmd
|
|
290
|
-
sports2d --to_meters True --
|
|
291
|
-
--
|
|
349
|
+
sports2d --to_meters True --first_person_height 1.65 --visible_side auto front none `
|
|
350
|
+
--person_ordering_method on_click `
|
|
351
|
+
--floor_angle 0 --xy_origin 0 940
|
|
292
352
|
```
|
|
293
353
|
|
|
294
354
|
<br>
|
|
@@ -306,9 +366,7 @@ Model scaling is done according to the mean of the segment lengths, across a sub
|
|
|
306
366
|
|
|
307
367
|
```cmd
|
|
308
368
|
sports2d --time_range 1.2 2.7 `
|
|
309
|
-
--do_ik true
|
|
310
|
-
--px_to_m_from_person_id 1 --px_to_m_person_height 1.65 `
|
|
311
|
-
--visible_side front auto
|
|
369
|
+
--do_ik true --first_person_height 1.65 --visible_side auto front
|
|
312
370
|
```
|
|
313
371
|
|
|
314
372
|
You can optionally use the LSTM marker augmentation to improve the quality of the output motion.\
|
|
@@ -316,9 +374,8 @@ You can also optionally give the participants proper masses. Mass has no influen
|
|
|
316
374
|
|
|
317
375
|
```cmd
|
|
318
376
|
sports2d --time_range 1.2 2.7 `
|
|
319
|
-
--do_ik true --
|
|
320
|
-
--
|
|
321
|
-
--visible_side front left --participant_mass 67.0 55.0
|
|
377
|
+
--do_ik true --first_person_height 1.65 --visible_side left front `
|
|
378
|
+
--use_augmentation True --participant_mass 55.0 67.0
|
|
322
379
|
```
|
|
323
380
|
|
|
324
381
|
<br>
|
|
@@ -378,10 +435,6 @@ sports2d --video_input demo.mp4 other_video.mp4 --time_range 1.2 2.7 0 3.5
|
|
|
378
435
|
|
|
379
436
|
|
|
380
437
|
#### Customize your output:
|
|
381
|
-
- Only analyze the most prominent person:
|
|
382
|
-
``` cmd
|
|
383
|
-
sports2d --multiperson false
|
|
384
|
-
```
|
|
385
438
|
- Choose whether you want video, images, trc pose file, angle mot file, real-time display, and plots:
|
|
386
439
|
```cmd
|
|
387
440
|
sports2d --save_vid false --save_img true `
|
|
@@ -427,8 +480,10 @@ sports2d --help
|
|
|
427
480
|
'config': ["C", "path to a toml configuration file"],
|
|
428
481
|
|
|
429
482
|
'video_input': ["i", "webcam, or video_path.mp4, or video1_path.avi video2_path.mp4 ... Beware that images won't be saved if paths contain non ASCII characters"],
|
|
430
|
-
'
|
|
431
|
-
'
|
|
483
|
+
'nb_persons_to_detect': ["n", "number of persons to detect. int or 'all'. 'all' if not specified"],
|
|
484
|
+
'person_ordering_method': ["", "'on_click', 'highest_likelihood', 'greatest_displacement', 'least_displacement', 'first_detected', or 'last_detected'. 'on_click' if not specified"],
|
|
485
|
+
'first_person_height': ["H", "height of the reference person in meters. 1.65 if not specified. Not used if a calibration file is provided"],
|
|
486
|
+
'visible_side': ["", "front, back, left, right, auto, or none. 'auto front none' if not specified. If 'auto', will be either left or right depending on the direction of the motion. If 'none', no IK for this person"],
|
|
432
487
|
'load_trc_px': ["", "load trc file to avaid running pose estimation again. false if not specified"],
|
|
433
488
|
'compare': ["", "visually compare motion with trc file. false if not specified"],
|
|
434
489
|
'webcam_id': ["w", "webcam ID. 0 if not specified"],
|
|
@@ -454,7 +509,6 @@ sports2d --help
|
|
|
454
509
|
'device': ["", "Device for pose estimatino can be 'auto', 'openvino', 'onnxruntime', 'opencv'"],
|
|
455
510
|
'to_meters': ["M", "convert pixels to meters. true if not specified"],
|
|
456
511
|
'make_c3d': ["", "Convert trc to c3d file. true if not specified"],
|
|
457
|
-
'px_to_m_from_person_id': ["", "person ID to calibrate on. 0 if not specified"],
|
|
458
512
|
'floor_angle': ["", "angle of the floor. 'auto' if not specified"],
|
|
459
513
|
'xy_origin': ["", "origin of the xy plane. 'auto' if not specified"],
|
|
460
514
|
'calib_file': ["", "path to calibration file. '' if not specified, eg no calibration file"],
|
|
@@ -464,8 +518,7 @@ sports2d --help
|
|
|
464
518
|
'use_contacts_muscles': ["", "Use model with contact spheres and muscles. false if not specified"],
|
|
465
519
|
'participant_mass': ["", "mass of the participant in kg or none. Defaults to 70 if not provided. No influence on kinematics (motion), only on kinetics (forces)"],
|
|
466
520
|
'close_to_zero_speed_m': ["","Sum for all keypoints: about 50 px/frame or 0.2 m/frame"],
|
|
467
|
-
'
|
|
468
|
-
'tracking_mode': ["", "sports2d or rtmlib. sports2d is generally much more accurate and comparable in speed. sports2d if not specified"],
|
|
521
|
+
'tracking_mode': ["", "'sports2d' or 'deepsort'. 'deepsort' is slower, harder to parametrize but can be more robust if correctly tuned"],
|
|
469
522
|
'deepsort_params': ["", 'Deepsort tracking parameters: """{dictionary between 3 double quotes}""". \n\
|
|
470
523
|
Default: max_age:30, n_init:3, nms_max_overlap:0.8, max_cosine_distance:0.3, nn_budget:200, max_iou_distance:0.8, embedder_gpu: True\n\
|
|
471
524
|
More information there: https://github.com/levan92/deep_sort_realtime/blob/master/deep_sort_realtime/deepsort_tracker.py#L51'],
|
|
@@ -496,7 +549,8 @@ sports2d --help
|
|
|
496
549
|
'remove_individual_scaling_setup': ["", "remove individual scaling setup files generated during scaling. true if not specified"],
|
|
497
550
|
'remove_individual_ik_setup': ["", "remove individual IK setup files generated during IK. true if not specified"],
|
|
498
551
|
'fastest_frames_to_remove_percent': ["", "Frames with high speed are considered as outliers. Defaults to 0.1"],
|
|
499
|
-
'close_to_zero_speed_m': ["","Sum for all keypoints: about
|
|
552
|
+
'close_to_zero_speed_m': ["","Sum for all keypoints: about 0.2 m/frame. Defaults to 0.2"],
|
|
553
|
+
'close_to_zero_speed_px': ["", "Sum for all keypoints: about 50 px/frame. Defaults to 50"],
|
|
500
554
|
'large_hip_knee_angles': ["", "Hip and knee angles below this value are considered as imprecise and ignored. Defaults to 45"],
|
|
501
555
|
'trimmed_extrema_percent': ["", "Proportion of the most extreme segment values to remove before calculating their mean. Defaults to 50"],
|
|
502
556
|
'use_custom_logging': ["", "use custom logging. false if not specified"]
|
|
@@ -522,7 +576,6 @@ Note that any detection and pose models can be used (first [deploy them with MMP
|
|
|
522
576
|
'pose_input_size':[192,256]}"""
|
|
523
577
|
```
|
|
524
578
|
- Use `--det_frequency 50`: Will detect poses only every 50 frames, and track keypoints in between, which is faster.
|
|
525
|
-
- Use `--multiperson false`: Can be used if one single person is present in the video. Otherwise, persons' IDs may be mixed up.
|
|
526
579
|
- Use `--load_trc_px <path_to_file_px.trc>`: Will use pose estimation results from a file. Useful if you want to use different parameters for pixel to meter conversion or angle calculation without running detection and pose estimation all over.
|
|
527
580
|
- Make sure you use `--tracking_mode sports2d`: Will use the default Sports2D tracker. Unlike DeepSort, it is faster, does not require any parametrization, and is as good in non-crowded scenes.
|
|
528
581
|
|
|
@@ -676,10 +729,9 @@ You will be proposed a to-do list, but please feel absolutely free to propose yo
|
|
|
676
729
|
- [x] Run again without pose estimation with the option `--load_trc_px` for px .trc file.
|
|
677
730
|
- [x] **Convert positions to meters** by providing the person height, a calibration file, or 3D points [to click on the image](https://stackoverflow.com/questions/74248955/how-to-display-the-coordinates-of-the-points-clicked-on-the-image-in-google-cola)
|
|
678
731
|
- [x] Support any detection and/or pose estimation model.
|
|
732
|
+
- [x] Optionally let user select the persons of interest.
|
|
733
|
+
- [x] Perform **Inverse kinematics and dynamics** with OpenSim (cf. [Pose2Sim](https://github.com/perfanalytics/pose2sim), but in 2D). Update [this model](https://github.com/davidpagnon/Sports2D/blob/main/Sports2D/Utilities/2D_gait.osim) (add arms, markers, remove muscles and contact spheres). Add pipeline example.
|
|
679
734
|
|
|
680
|
-
- [ ] Perform **Inverse kinematics and dynamics** with OpenSim (cf. [Pose2Sim](https://github.com/perfanalytics/pose2sim), but in 2D). Update [this model](https://github.com/davidpagnon/Sports2D/blob/main/Sports2D/Utilities/2D_gait.osim) (add arms, markers, remove muscles and contact spheres). Add pipeline example.
|
|
681
|
-
- [ ] Optionally let user select the person of interest in single_person mode:\
|
|
682
|
-
`multiperson = true # true, or 'single_auto', or 'single_click'. 'single_auto' selects the person with highest average likelihood, and 'single_click' lets the user manually select the person of interest.`
|
|
683
735
|
- [ ] Run with the option `--compare_to` to visually compare motion with a trc file. If run with a webcam input, the user can follow the motion of the trc file. Further calculation can then be done to compare specific variables.
|
|
684
736
|
- [ ] **Colab version**: more user-friendly, usable on a smartphone.
|
|
685
737
|
- [ ] **GUI applications** for Windows, Mac, and Linux, as well as for Android and iOS.
|
|
@@ -690,33 +742,3 @@ You will be proposed a to-do list, but please feel absolutely free to propose yo
|
|
|
690
742
|
- [ ] **Pose refinement**. Click and move badly estimated 2D points. See [DeepLabCut](https://www.youtube.com/watch?v=bEuBKB7eqmk) for inspiration.
|
|
691
743
|
- [ ] Add tools for annotating images, undistort them, take perspective into account, etc. (cf. [Kinovea](https://www.kinovea.org/features.html)).
|
|
692
744
|
|
|
693
|
-
|
|
694
|
-
BSD 3-Clause License
|
|
695
|
-
|
|
696
|
-
Copyright (c) 2022, perfanalytics
|
|
697
|
-
All rights reserved.
|
|
698
|
-
|
|
699
|
-
Redistribution and use in source and binary forms, with or without
|
|
700
|
-
modification, are permitted provided that the following conditions are met:
|
|
701
|
-
|
|
702
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
|
703
|
-
list of conditions and the following disclaimer.
|
|
704
|
-
|
|
705
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
706
|
-
this list of conditions and the following disclaimer in the documentation
|
|
707
|
-
and/or other materials provided with the distribution.
|
|
708
|
-
|
|
709
|
-
3. Neither the name of the copyright holder nor the names of its
|
|
710
|
-
contributors may be used to endorse or promote products derived from
|
|
711
|
-
this software without specific prior written permission.
|
|
712
|
-
|
|
713
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
714
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
715
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
716
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
717
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
718
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
719
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
720
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
721
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
722
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Sports2D/Sports2D.py,sha256=0BQ5ainW3EOxElwiXHGywDKVlnHktTIz3EfEH3JhJR0,30460
|
|
2
|
+
Sports2D/__init__.py,sha256=BuUkPEdItxlkeqz4dmoiPwZLkgAfABJK3KWQ1ujTGwE,153
|
|
3
|
+
Sports2D/process.py,sha256=ymiWlS_VakIUy99pEle2mbuZKcQV2KE5AaauAy95Xuo,106637
|
|
4
|
+
Sports2D/Demo/Config_demo.toml,sha256=STcdCLpi4-94RpkP6JjvRUxce_QRQnTzjAny71b6ejI,13829
|
|
5
|
+
Sports2D/Demo/demo.mp4,sha256=2aZkFxhWR7ESMEtXCT8MGA83p2jmoU2sp1ylQfO3gDk,3968304
|
|
6
|
+
Sports2D/Utilities/__init__.py,sha256=BuUkPEdItxlkeqz4dmoiPwZLkgAfABJK3KWQ1ujTGwE,153
|
|
7
|
+
Sports2D/Utilities/common.py,sha256=idMRmesFv5BPX-5g3z5dOVa7SpS_8tNgijvGrOZlR-k,11185
|
|
8
|
+
Sports2D/Utilities/filter.py,sha256=rfZcqofjllKI_5ovZTKEAmyjOZpB_PzbAJ0P874T8Ak,4973
|
|
9
|
+
Sports2D/Utilities/tests.py,sha256=XnPNK63AZ_xlJBmFmPJtOMrzssBXIPXFzYd73CPzchI,4740
|
|
10
|
+
sports2d-0.8.0.dist-info/licenses/LICENSE,sha256=f4qe3nE0Y7ltJho5w-xAR0jI5PUox5Xl-MsYiY7ZRM8,1521
|
|
11
|
+
sports2d-0.8.0.dist-info/METADATA,sha256=QrX8rCAoE8-aHew7HeY5eGsvRBrez7AVVWQBfdCoYyc,39763
|
|
12
|
+
sports2d-0.8.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
13
|
+
sports2d-0.8.0.dist-info/entry_points.txt,sha256=V8dFDIXatz9VvoGgoHzb2wE71C9-f85K6_OjnEQlxww,108
|
|
14
|
+
sports2d-0.8.0.dist-info/top_level.txt,sha256=DoURf9UDB8lQ_9lMUPQMQqhXCvWPFFjJco9NzPlHJ6I,9
|
|
15
|
+
sports2d-0.8.0.dist-info/RECORD,,
|