
doi: 10.5281/zenodo.19410540 , 10.5281/zenodo.14713203 , 10.5281/zenodo.13975924 , 10.5281/zenodo.17132738 , 10.5281/zenodo.15338902 , 10.5281/zenodo.14246224 , 10.5281/zenodo.14843824 , 10.5281/zenodo.16926982 , 10.5281/zenodo.17091597 , 10.5281/zenodo.15056458 , 10.5281/zenodo.6998625 , 10.5281/zenodo.15851531 , 10.5281/zenodo.14861865 , 10.5281/zenodo.15084251 , 10.5281/zenodo.14246231 , 10.5281/zenodo.12704060 , 10.5281/zenodo.10448050 , 10.5281/zenodo.16756147 , 10.5281/zenodo.16335941 , 10.5281/zenodo.12700158 , 10.5281/zenodo.10976091 , 10.5281/zenodo.11075473 , 10.5281/zenodo.8267589 , 10.5281/zenodo.15802077 , 10.5281/zenodo.8433017 , 10.5281/zenodo.10078628 , 10.5281/zenodo.10535756 , 10.5281/zenodo.15428198 , 10.5281/zenodo.8013198 , 10.5281/zenodo.13897318 , 10.5281/zenodo.13776883 , 10.5281/zenodo.13134574 , 10.5281/zenodo.14961968 , 10.5281/zenodo.8249649 , 10.5281/zenodo.16743516 , 10.5281/zenodo.13821216 , 10.5281/zenodo.10142811 , 10.5281/zenodo.10397635 , 10.5281/zenodo.10063832 , 10.5281/zenodo.16756152 , 10.5281/zenodo.15356990 , 10.5281/zenodo.12700169 , 10.5281/zenodo.10462764 , 10.5281/zenodo.10790874 , 10.5281/zenodo.10512771 , 10.5281/zenodo.10063909 , 10.5281/zenodo.8325369 , 10.5281/zenodo.10725052 , 10.5281/zenodo.11531612 , 10.5281/zenodo.10535723 , 10.5281/zenodo.13776839 , 10.5281/zenodo.15278042 , 10.5281/zenodo.14961921 , 10.5281/zenodo.15134628 , 10.5281/zenodo.10142837 , 10.5281/zenodo.8325372 , 10.5281/zenodo.16756142 , 10.5281/zenodo.12738252 , 10.5281/zenodo.10397564 , 10.5281/zenodo.10620352 , 10.5281/zenodo.8352893 , 10.5281/zenodo.8367130 , 10.5281/zenodo.13134637 , 10.5281/zenodo.16881964 , 10.5281/zenodo.15770059 , 10.5281/zenodo.10184864 , 10.5281/zenodo.15338917 , 10.5281/zenodo.17395258 , 10.5281/zenodo.13235788 , 10.5281/zenodo.10980593 , 10.5281/zenodo.14948144 , 10.5281/zenodo.10397640 , 10.5281/zenodo.13901052 , 10.5281/zenodo.10078530 , 10.5281/zenodo.15009280 , 10.5281/zenodo.15278132 , 10.5281/zenodo.17884599 , 10.5281/zenodo.11075470 , 10.5281/zenodo.10639804 , 10.5281/zenodo.19309916 , 10.5281/zenodo.17410712 , 10.5281/zenodo.10067925 , 10.5281/zenodo.12760763 , 10.5281/zenodo.11075442 , 10.5281/zenodo.13826438 , 10.5281/zenodo.13235793 , 10.5281/zenodo.15399826 , 10.5281/zenodo.8352883 , 10.5281/zenodo.17208324 , 10.5281/zenodo.10142799 , 10.5281/zenodo.8200622 , 10.5281/zenodo.10899766 , 10.5281/zenodo.14968306
doi: 10.5281/zenodo.19410540 , 10.5281/zenodo.14713203 , 10.5281/zenodo.13975924 , 10.5281/zenodo.17132738 , 10.5281/zenodo.15338902 , 10.5281/zenodo.14246224 , 10.5281/zenodo.14843824 , 10.5281/zenodo.16926982 , 10.5281/zenodo.17091597 , 10.5281/zenodo.15056458 , 10.5281/zenodo.6998625 , 10.5281/zenodo.15851531 , 10.5281/zenodo.14861865 , 10.5281/zenodo.15084251 , 10.5281/zenodo.14246231 , 10.5281/zenodo.12704060 , 10.5281/zenodo.10448050 , 10.5281/zenodo.16756147 , 10.5281/zenodo.16335941 , 10.5281/zenodo.12700158 , 10.5281/zenodo.10976091 , 10.5281/zenodo.11075473 , 10.5281/zenodo.8267589 , 10.5281/zenodo.15802077 , 10.5281/zenodo.8433017 , 10.5281/zenodo.10078628 , 10.5281/zenodo.10535756 , 10.5281/zenodo.15428198 , 10.5281/zenodo.8013198 , 10.5281/zenodo.13897318 , 10.5281/zenodo.13776883 , 10.5281/zenodo.13134574 , 10.5281/zenodo.14961968 , 10.5281/zenodo.8249649 , 10.5281/zenodo.16743516 , 10.5281/zenodo.13821216 , 10.5281/zenodo.10142811 , 10.5281/zenodo.10397635 , 10.5281/zenodo.10063832 , 10.5281/zenodo.16756152 , 10.5281/zenodo.15356990 , 10.5281/zenodo.12700169 , 10.5281/zenodo.10462764 , 10.5281/zenodo.10790874 , 10.5281/zenodo.10512771 , 10.5281/zenodo.10063909 , 10.5281/zenodo.8325369 , 10.5281/zenodo.10725052 , 10.5281/zenodo.11531612 , 10.5281/zenodo.10535723 , 10.5281/zenodo.13776839 , 10.5281/zenodo.15278042 , 10.5281/zenodo.14961921 , 10.5281/zenodo.15134628 , 10.5281/zenodo.10142837 , 10.5281/zenodo.8325372 , 10.5281/zenodo.16756142 , 10.5281/zenodo.12738252 , 10.5281/zenodo.10397564 , 10.5281/zenodo.10620352 , 10.5281/zenodo.8352893 , 10.5281/zenodo.8367130 , 10.5281/zenodo.13134637 , 10.5281/zenodo.16881964 , 10.5281/zenodo.15770059 , 10.5281/zenodo.10184864 , 10.5281/zenodo.15338917 , 10.5281/zenodo.17395258 , 10.5281/zenodo.13235788 , 10.5281/zenodo.10980593 , 10.5281/zenodo.14948144 , 10.5281/zenodo.10397640 , 10.5281/zenodo.13901052 , 10.5281/zenodo.10078530 , 10.5281/zenodo.15009280 , 10.5281/zenodo.15278132 , 10.5281/zenodo.17884599 , 10.5281/zenodo.11075470 , 10.5281/zenodo.10639804 , 10.5281/zenodo.19309916 , 10.5281/zenodo.17410712 , 10.5281/zenodo.10067925 , 10.5281/zenodo.12760763 , 10.5281/zenodo.11075442 , 10.5281/zenodo.13826438 , 10.5281/zenodo.13235793 , 10.5281/zenodo.15399826 , 10.5281/zenodo.8352883 , 10.5281/zenodo.17208324 , 10.5281/zenodo.10142799 , 10.5281/zenodo.8200622 , 10.5281/zenodo.10899766 , 10.5281/zenodo.14968306
Pose2Sim v0.10.42 Filter out ghost detections (tripods, for example) by adding average_likelihood_threshold_pose parameter Parallelized kinematics across persons. Also attempted to parallelize person association and triangulation, but it was needlessly complex and not usually faster. Automatic video discovery: supports multiple video formats in the same session Ensured backward compatibility by assigning default value in all configuration parameters Fixed "set_always_on_top" for manual calibration, which now uses PySide6 instead of PyQt5 Fixed unresponsive Ctrl+C interrupt in pose estimation (with LLM help) Note: Python only allows for one thread at a time: it uses a GIL (Global Interpreter Lock). So in theory, it is not possible to parallelize anything. There are two workarounds: Multiprocessing: Creating independent processes instead of threads. A thread is a lightweight worker inside the main program, while a process is a fully independent Python instance--which takes time to initialize. It is valuable for long tasks (one process per person for inverse kinematics, for example), but not at all for smaller ones (one process per triangulated frame). Multithreading: Some C++ libraries were created with multithreading in mind and have bindings for Python, such as numpy, opencv, onnx runtime, file writing. In such cases, the Python GIL is bypassed, which is why pose estimation becomes so much faster. However, some libraries, even written in C++, do not support it (for example, OpenSim). And anything purely python, such as loops, list operations, json parsing, can only run one thread at a time. For person association and triangulation, the cost of the thread overhead is similar to the gains or parallelization, so it is not worth parallelizing. For future reference: Further speeding up person association, triangulation (and even pose estimation) would primarily be done by saving the pose estimation results as a single csv or h5 file instead of multiple per-frame json files, but that's another consideration and it would require some additional work and testing. Another opportunity to speed up triangulation is to use the same association logic as in the multi-person mode of personAssociation. In fact, we could get rid of the single person mode altogether. The multi-person mode should be enhanced to order the triangulated persons with the person_ordering_method parameter (by greatest displacement, least displacement, most successfully triangulated frames, least excluded cameras, or on click, similarly to what's done in Sports2D), and only a subset of person would be selected with nb_persons_to_detect (all, 1, 2...). Full Changelog: https://github.com/perfanalytics/pose2sim/compare/v0.10.41...v0.10.42
If you use Pose2Sim, please cite it as below.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
