Pymecavideo fait peau neuve avec sa version 6.3

35
20
nov.
2015
Science

Pymecavidéo est un logiciel de pointage de vidéo permettant l’analyse mécanique des mouvements. Il peut lire un très grand nombre de formats vidéos (HD compris) sans prérequis de traitements (encodage) le rendant très utile dans le cadre de séances d’analyse mécanique de mouvements.
Il est basé sur Python/Qt4 et OpenCV. Il est sous GPL v3, est multi‐plate‐forme (GNU/Linux et Windows pour le moment. Si un contributeur Mac OS X veut nous rejoindre…).

Nouveautés de cette version :

  • encore plus de formats vidéos pris en charge ;
  • gestion des vidéos HD (provenant des smartphones par exemple) ;
  • amélioration de la détection automatique ;
  • compatible ECE (Évaluation des Compétences Expérimentales) ;
  • possibilité de faire un pointage sans nécessiter d’échelle préalable (pour l’étude de la relativité des mouvements par exemple)
  • enregistrement d’une chronophotographie à partir d’une vidéo.

Et toujours :

  • exclusif : possibilité de recréer la trajectoire d’un point dans le référentiel d’un autre point ;
  • disponibilité en trois langues (français, anglais et espagnol).

NdM : la dépêche contenant de multiples références au système éducatif français, nous avons ajouté des liens explicatifs pour nos autres lecteurs francophones qui ne seraient pas familiers avec.

L’historique

pymecavideo se veut un remplacement de logiciels non libres (regavi, avimeca, latis pro, atelier scientifique…) permettant de faire de l’étude cinématique des mouvements.
Ces logiciels n’étant disponibles que pour un système d’exploitation privateur, nous avons décidé d’en écrire un.
Quasiment tous les contributeurs sont francophones et professeurs (physique/SI). Nous en avons donc profité pour rajouter une fonctionnalité qui nous paraissait particulièrement intéressante : on peut visualiser le mouvement d’un point par rapport à un autre point. Ceci permet, notamment en classe de seconde (NdM : première des trois années du lycée en France, entrée vers ~15 ans), de montrer le caractère relatif d’une trajectoire. (expérience du boulet de canon de Galilée : lâché en haut du mat, il tombera, c’est sûr… mais où ? derrière le mat ? au pied du mat ?)

La page Web principale est toujours hébergée chez TuxFamily (un grand merci à eux, ils ont toujours été là quand on avait des pépins) ainsi que le dépôt des divers paquets.
Par contre, on a migré le code du dépôt subversion de TuxFamily vers GitLab dans le courant de cette année.

De plus certains contributeurs se sont joints à nous pour nous aider, notamment pour les corrections de bogues et les tests qualité (merci les gars !).

Depuis 2008, il évolue petit à petit selon le temps libre des contributeurs et les demandes des utilisateurs.
Cette version possède de nombreux changements internes et améliore significativement les performances.

L’utilisation

pymecavideo étant libre et multi‐plate‐forme, il peut être installé par les élèves chez eux et peut servir lors des TIPE (en CPGE), TPE (première) pour l’étude des trajectoires.
Il permet très facilement de relier des vidéos à des coordonnées (relatives ou pas).
Je viens de l’utiliser pour l’étude du mouvement brownien avec des élèves de TPE (700 pointages quand même…).

On définit une échelle (seulement si l’on en a besoin), le nombre de points que l’on souhaite suivre et on commence à cliquer. Si les points à suivre sont très facilement distinguables (colorés, contrastés), on peut utiliser la détection automatique, qui fonctionne assez bien.

Pymecavideo remplit un tableau de valeurs (en pixels ou en mètres — s’il y a une échelle) et vous permet de l’exporter dans un format standard. Les exportations vers Calc, QtiPlot et SciDavis sont automatisées.
On peut aussi tracer quelques valeurs remarquables (abscisses, ordonnées et vitesses).

Le futur

Migration vers PyQT5 : une nouvelle branche a vu le jour, elle est basée sur pyqt5 et sera portée sous Python 3 dès que le « lieur » python-opencv sera disponible sous Python 3.
Elle est 100 % fonctionnelle sous GNU/Linux uniquement, car trouver pyqt5 en Python 2 sous Windows est très compliqué, et nous ne sommes pas motivés pour recompiler tout cela (branche csdQT5ui).
Si vous avez compris un peu le souci : python-opencv n’est pas disponible pour Python 3 pour le moment, mais PyQT5 pour Windows n’existe qu’en Python 3… Bref, il faut attendre un peu pour que tout arrive sous cette plate‐forme.

Actuellement, on peut utiliser pymecavideo en « pixels » (sans échelle) ou en « mètres » (en définissant une échelle), selon ce que l’on veut étudier.

L’utilisation de la bibliothèque OpenCV et de son lieur en Python python-cv permet de lire un très grand nombre de formats vidéo. Le moteur de rendu a été amélioré et est bien plus rapide qu’auparavant. On ne passe plus par des images stockées sur le disque dur.

Conclusion

Pymecavideo est sans doute un projet quasiment fini dans sa forme actuelle. Il y a peu de chances qu’on nous demande des fonctionnalités nécessitant un gros travail de codage.
En revanche, il faudra s’adapter aux pratiques actuelles (smartphones, tablettes, interactivité) et voir si le projet peut s’y adapter et comment.

Aller plus loin

  • # Belles contributions au libre

    Posté par  (site web personnel) . Évalué à 5.

    Bravo pour tous ces projets, les logiciels liés à l'enseignement des sciences physique et chimie au lycée ne sont pas légion.

    • [^] # Re: Belles contributions au libre

      Posté par  . Évalué à 2. Dernière modification le 22 novembre 2015 à 16:24.

      Bravo encore pour ce logiciel.

      Je l'ai utilisé en 2010 lors d'un TIPE pour étudier la chute d'une bille dans un fluide visqueux. C'était pratique et l'étude a été un succés.

  • # Qualité de l'information

    Posté par  . Évalué à 5.

    C'est moi où l'on a droit à une salve de dépêches bien écrites, surprenantes et captivantes?

    Merci aux rédacteurs. Ce logiciel est typiquement l'outil qui doit être écrit par des utilisateurs tellement il est pointu dans son usage. Est-ce qu'il peut servir à récupérer le mouvement d'un objet dans une vidéo pour l'injecter à un objet Blender?

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Qualité de l'information

      Posté par  (site web personnel) . Évalué à 2.

      Coucou,

      Si ton objet est bien contrasté et que son image ne change pas trop (exemple qui change une bille dans l'angle d'éclairage varie), la détection automatique fonctionnera bien.
      Tu auras donc un tableau composé d'une colonne 'temps', une colonne 'x', une colonne 'y'.

      A toi de voir si c'est intégrable dans blender.

      Après… vu comme c'est facile d'utiliser opencv pour faire ça en 3 lignes et 1 boucle… pas sûr que ça vaille le coup de sortir pymecavideo pour ça ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.