1

bonjour

une fonctionalité pratique pour repérer la position d'éléments de scène en 3D serait de pouvoir projeter la grille de perspective 3D avec la portion d'image qu'elle contient dans un plan vu du dessus, de manière que la grille et son contenu apparaissent sous sa forme rectangulaire sans les déformations de perspective

on pourrait ainsi visualiser la position de tous les points de la scène appartenant au plan de la grille

la projection pourrait s'ouvrir dans une nouvelle fenêtre


c'est une homographie, il y a pas mal de ressources disponible sur ce sujet

j'ai trouvé une démo en ligne hortogonalisant un bitmap distordu par la perspective, avec source :
http://fr.nicoptere.net/?p=351

et une discussion d'algo qui semble assez complète :
http://www.developpez.net/forums/d74040 … omography/

2

Oui c'est intéressant et une idée à creuser.
Il se trouve que la grille de perspective utilise déjà une homographie, mais dans l'autre sens, on part d'un carré avec les subdivisions pour arriver au quadrilatère définit par l'utilisateur, et remettre les subdivisions aux bons endroits.

Cela fait un petit moment que je ne me suis pas plongé dans ces concepts maintenant, il va falloir que je m'y remette un de ces jours smile.

Je pense qu'il faudrait réfléchir à toutes les possibilités, voir celles qui seraient les plus intéressantes.
Partons du principe que l'utilisateur peut renseigner la valeur réelle de la longueur et le la largeur du plan de perspective, et qu'on peut le projeter de façon orthogonale… Que peut-on dériver de ça ?

- connaître les coordonnées d'un point arbitraire à l'intérieur du plan, donc aussi mesurer des distances sur ce plan.
- exporter le plan dans une image "reformée", comme tu l'indiques.
- avoir une vignette avec ce plan vu de haut à même l'écran, qui serait mise à jour au fur et à mesure de la vidéo.
- Il doit y avoir aussi quelque chose à trouver lorsque l'on a deux vidéos et que l'on défini le même plan dans les deux. (un point affiché dans l'une qui s'affiche automatiquement dans l'autre, un calcul de coordonnées…)

autres pistes ?

3

Il se trouve que la grille de perspective utilise déjà une homographie, mais dans l'autre sens, on part d'un carré avec les subdivisions pour arriver au quadrilatère définit par l'utilisateur, et remettre les subdivisions aux bons endroits.

effectivement j'aurais dû le deviner, c'était le meilleur moyen de faire la grille
donc tu as déjà tout le code nécessaire et pas de transcription à faire, excellente chose ça ;o))

Partons du principe que l'utilisateur peut renseigner la valeur réelle de la longueur et le la largeur du plan de perspective

c'est souvent le cas
comme tu le sais l'homographie est entièrement déterminée dès qu'on connait les coordonnées réelles de 4 points coplanaires non alignés
une scène de sport permet souvent d'en trouver (coins terrain de tennis, etc) et au pire il suffit de marquer 4 pts avant le tournage

pour ne pas limiter les possibilités il faudrait pouvoir déterminer l'homographie autrement qu'à la souris par les seuls sommets de la grille
un bon moyen je pense serait de pouvoir "marquer" 4 pixels de la scène, d'en saisir pour chacun leurs coordonnées réelles, et de lancer ensuite la détermination de l'homographie coord réelles / pixels

après ça la grille deviendrait "rigide" (angles fixes) et pourrait seulement être positionnée ou redimensionnée


bon cette interface serait un luxe pour généraliser la possibilité de mesure à partir de 4 points quelconques, pour ma part les 4 points que je connais sur mes scènes sont presque toujours les sommets du rectangle


Il doit y avoir aussi quelque chose à trouver lorsque l'on a deux vidéos

avec deux vidéos de la même scène prises avec deux caméras il me semble qu'on peut trouver les coordonnées réelles 3D de n'importe quel pixel, on n'est plus limité à un seul plan
mais bon, je crois que c'est beaucoup plus difficile à implémenter à aussi à interfacer, l'action utilisateur devenant plus complexe
il uy a une bonne probabilité que ça doive faire l'objet d'un module séparé pour ne pas rendre l'interface illisible



je change de sujet : j'ai vu plus bas que tu cherchais un nom pour la mosaique

en fait ce nom me semble très clair, il pourrait à la rigueur être remplacé par "kinogramme éclaté"
de ce que j'ai cru voir le terme "kinogramme" est généralement utilisé pour désigner une pile de photos superposées, pas juxtaposées
"chronophotographie" en revanche semble plus ambigu, je l'ai vu désigner aussi bien la superposition que la juxtaposition

dans quelle version compte tu réintroduire le kino que tu avais mis dans Vidéa ?
il m'était bien utile celui là, de mémoire son seul défaut était d'agir sur la totalité du film et pas sur une série d'images sélectionnées, obligeant à construire une vidéo séparée à chaque fois

en tous cas Kinovea va devenir un "grand" dans son domaine, j'en suis sûr

4

jlf wrote:

pour ne pas limiter les possibilités il faudrait pouvoir déterminer l'homographie autrement qu'à la souris par les seuls sommets de la grille
un bon moyen je pense serait de pouvoir "marquer" 4 pixels de la scène, d'en saisir pour chacun leurs coordonnées réelles, et de lancer ensuite la détermination de l'homographie coord réelles / pixels

Pourquoi pas la grille ? Elle me semblait justement parfaite pour éviter de rajouter une nouvelle technique d'interaction…
À moins qu'elle ait des défauts que personne n'ose avouer sad.
Un petit clic droit + "renseigner les coordonnées réelles" ou un truc dans ce goût là, puis une simple boîte de dialogue avec 4 champs de saisie devrait faire l'affaire ?
L'alternative implique une nouvelle méthode pour placer des points (et dans l'ordre). J'ai peur que ce soit redondant avec la grille, qui à l'avantage de déjà matérialiser le plan en question.

Si c'est la grille en elle même qui gène, il sera relativement simple je pense d'avoir un mode où on affiche que les coins, ou autres variations.

jlf wrote:

dans quelle version compte tu réintroduire le kino que tu avais mis dans Vidéa ?

Pour l'instant, sur les grands chantiers en cours, j'ai tenté de me concentrer sur la capture.
(les autres grands chantiers étant : le support du son, les dessins de formes arbitraires, l'enregistrement de présentations, et ce que j'ai regroupé sous le nom d'effets spéciaux, qui en fait regroupe plusieurs fonctions différentes mais toutes dépendantes de la refabrication du fond sur des vidéos mobiles. C'est dans ce dernier chantier que se situe les kinogrammes de juxtaposition.)

Plusieurs de ces chantiers (y compris les premiers effets spéciaux) sont prévus pour les versions 0.8.x mais cela ne veut pas dire grand chose en terme de date.

jlf wrote:

il m'était bien utile celui là, de mémoire son seul défaut était d'agir sur la totalité du film et pas sur une série d'images sélectionnées, obligeant à construire une vidéo séparée à chaque fois

Son principal défaut, selon moi, était de n'être disponible que pour les vidéos en plan fixe, ce qui représente un cas bien particulier et des conditions de tournage parfaitement maîtrisées.
Même si je sais qu'il est possible de s'organiser pour avoir des vidéos en plan fixe, je ne souhaite pas intégrer une fonctionnalité qui ne sera valable que pour un sous ensemble des vidéos possibles…

5

Pourquoi pas la grille ? Elle me semblait justement parfaite pour éviter de rajouter une nouvelle technique d'interaction…

le seul (petit) pbm qu'elle pose est que les 4 points connus ne sont pas forcément les sommets d'un rectangle sur la scène réelle (ça m'arrive parfois)

si la grille épouse les sommets d'un quadrilatère réel quelconque ses divisions ne sont plus les axes d'un système orthonormé et elle devient beaucoup moins intuitive à l'usage

mais à la reflexion ça peut être contourné

il suffit de reconstruire la grille après détermination de l'homographie en replacant 1 ou 2 de ses sommets au bon endroit si nécessaire, qui seraient différents si les pts connus ne forment pas un rectangle de ceux où on les a posés pour saisir les coordonnées réelles

peut-être un peu contre-intuitif mais pas tant que ça, et après coup
ça permet de garder une ergo très simple, finalement je vote pour

et elle est parfaite, ta grille yikes))

Pour l'instant, sur les grands chantiers en cours, j'ai tenté de me concentrer sur la capture

DartFish a fait pareil, mis le paquet sur la capture

la capture et l'analys sont a priori des tâches séparées, j'avoue que je ne comprends pas bien la nécessité de capturer à l'intérieur du logiciel d'analyse, pourquoi ne pas se contenter de le faire avec un des nombreux trucs gratuits qui existent déjà ?

[kinogramme de Videa]Son principal défaut, selon moi, était de n'être disponible que pour les vidéos en plan fixe, ce qui représente un cas bien particulier

j'objecterai en faisant des suppositions sur la proportion de nécessiteux en kino utilisant des plans fixes

si c'est 80%, c'est peut être cruel de les sacrifier au profit des 20% restants et vu l'augmentation probable de complexité de de leur consacrer plus de ressources qu'au 80% précédents ;o))
mais bon, j'en sais rien bien sûr, je sais même pas si les nécessiteux en kino sont si nombreux que ça, Dartfish l'a même pas mis dans sa version de base

6

jlf wrote:

Pourquoi pas la grille ? Elle me semblait justement parfaite pour éviter de rajouter une nouvelle technique d'interaction…

le seul (petit) pbm qu'elle pose est que les 4 points connus ne sont pas forcément les sommets d'un rectangle sur la scène réelle (ça m'arrive parfois)

Ah oui, bien sûr… Effectivement je suis toujours parti du principe qu'on la faisait coller à un rectangle existant.
Dans le cas contraire les subdivisions sont plus génantes qu'autre chose.

jlf wrote:

la capture et l'analyse sont a priori des tâches séparées, j'avoue que je ne comprends pas bien la nécessité de capturer à l'intérieur du logiciel d'analyse, pourquoi ne pas se contenter de le faire avec un des nombreux trucs gratuits qui existent déjà ?

On peut faire plein de choses intéressantes en couplant les deux qui ne seront pas dispo dans les trucs non spécialisés.
Une petite liste de fonctions qui à ma connaissance n'existent pas dans les outils de capture classiques (tiré du sujet dédié):
- dessiner sur l'écran pour faire des repères visuels pendant le tournage.
- ré-ouvrir facilement une des séquence qu'on vient de filmer dans l'outil d'analyse.
- pouvoir naviguer facilement dans ce qui vient de se passer. (sans nécessité d'enregistrer et ré-ouvrir)
- afficher l'image avec un temps de retard automatique (pour quand le coach n'est pas là).

Cependant je suis sensible à l'argument de la séparation des tâches et à se concentrer sur moins de choses pour les faire au mieux. Je ne souhaite absolument pas que Kinovea devienne une usine à gaz qui tente de tout faire.
La capture me semble tout de même suffisamment ancrée dans le « workflow » de l'entraînement. On filme un exo, on regarde ce que ça donne, on ajuste, on recommence. (J'ignore dans quelle mesure cette vision est biaisée par le fait que j'ai un background en athlétisme…)

Bien sûr cela n'a d'intérêt que pour ceux qui emmènent le portable et le caméscope à la séance d'entraînement (ou au cabinet de podo). Pour les autres effectivement, un Windows Movie Maker ou le logiciel fournit avec la caméra suffit à créer les clips de la séance… neutral

Comme tu le vois, je suis encore mitigé sur ce point et pas complètement persuadé que les priorités soient aux bons endroits.
Les personnes avec qui j'ai des retours en face-à-face considèrent la capture comme le b.a.ba dans leur workflow. Je suis probablement aussi influencé par ça.

jlf wrote:

[kinogramme de Videa]
j'objecterai en faisant des suppositions sur la proportion de nécessiteux en kino utilisant des plans fixes

si c'est 80%, c'est peut être cruel de les sacrifier au profit des 20% restants et vu l'augmentation probable de complexité de de leur consacrer plus de ressources qu'au 80% précédents ;o))
mais bon, j'en sais rien bien sûr, je sais même pas si les nécessiteux en kino sont si nombreux que ça, Dartfish l'a même pas mis dans sa version de base

Le problème c'est qu'il fallait un plan parfaitement fixe. Le moindre décalage de 3 pixels faussait tout. Il fallait donc du matériel supplémentaire (trépied, télécommande). Tenir le caméscope à la main en tentant de ne pas bouger n'était pas suffisant.
Je considère qu'une telle limitation est inacceptable d'un point de vue fonctionnel. On doit pouvoir a minima filmer un saut en longueur, un essai de gym, et filmer à la main.

Ah, si seulement on pouvait savoir la proportion de gens intéressés par une fonction donnée ou le degré de complexité à partir duquel elle va être utile à 80% des utilisateurs smile

Ce qu'il faudrait c'est qu'un étudiant fasse son mémoire sur le ressentit de l'utilité des divers apports de l'informatique dans les différentes activités.
Si ça se trouve ce mémoire existe déjà, et croupi planqué au fond d'une bibliothèque universitaire… Si quelqu'un veut partir à sa recherche tongue

(bon, il est complètement parti en HS ce fil… smile)

7

Ah oui, bien sûr… Effectivement je suis toujours parti du principe qu'on la faisait coller à un rectangle existant.
Dans le cas contraire les subdivisions sont plus génantes qu'autre chose

il y a aussi le cas où les 4 pts connus ne couvrent pas toute l'étendue de la scène étudiée
il faut alors redimensionner la grille sans la déformer, ce qui n'est pas facile

de manière générale, quelle que soit la manière dont on détermine l'homographie, je crois qu'il serait pratique :

- que la grille corresponde toujours à un rectangle lorsqu'elle est vue du dessus, même si les 4 pts source n'en forment pas un
- qu'on puisse la redimensionner sans la déformer (sans modifier l'homographie, si on bouge un sommet les 3 autres s'ajustent automatiquement)

- dessiner sur l'écran pour faire des repères visuels pendant le tournage.
- ré-ouvrir facilement une des séquence qu'on vient de filmer dans l'outil d'analyse.
- pouvoir naviguer facilement dans ce qui vient de se passer. (sans nécessité d'enregistrer et ré-ouvrir)
- afficher l'image avec un temps de retard automatique (pour quand le coach n'est pas là).

effectivement pouvoir naviguer dans la vidéo pendant sa capture sans qu'il soit nécessaire de stopper l'enregistrement (c'est bien ça ?) est une fonctionnalité intéressante qui m'avait échapé


pour le kino j'ai bien compris ton exigence ;o))
pour la cote d'amour des fonctionnalité, je crois malheureusement que sauf à faire appel à un institut de sondage ça restera toujours un mystère yikes((