Traitement d'images
La manip' du pendule optique
Logiciels / Graphisme photo et vidéo

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Reprise du message précédent
Jybz :
C'est effectivcment lent, c'est en python ?
Non, le langage utilisé est le C/C++. Et pourtant j'effectue un calcul de flot-optique par programmation dynamique entre les images, qui est plutôt rapide par rapport aux méthodes que l'on trouve dans la bibliothèque OpenCV (Farneback ou DualTVL1 ...). Le flot-optique sur les images est lent. C'est ce que je compte accélérer. Il y a encore du travail


Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Jybz :
Qu'est-ce que le flot-optique ? N'est-ce pas une simple corrélation entre les deux images ?
Le flot-optique est une méthode en traitement des images, qui permet à partir de deux images qui se ressemblent, de définir un champ de vecteurs vitesse qui indiquent pour chaque pixel de la première image, son correspondant dans la deuxième image, s'il existe. On calcule ainsi pour chaque pixel, un vecteur 2D, qui permet de transformer la première image, en la seconde. C'est assez complexe à calculer. Il existe deux méthodes à l'origine, qui datent des années 80, du nom de leurs auteurs : Lucas-Kanade et Horn-Schunck. Aujourd'hui on trouve principalement dans OpenCV, la bibliothèque libre, les méthodes Farneback et DualTVL1 etc.
La corrélation est une mesure globale en pourcentage, qui permet d'estimer la ressemblance visuelle entre deux images. On peut utiliser la corrélation pour faire le calcul du flot-optique. Si l'on définit un voisinage dans la première image, on peut rechercher dans la seconde, quel voisinage lui ressemble le plus, par corrélation. La méthode corrélative a été l'une des premières méthodes de calcul du flot-optique, qui s'est appelée "Block Matching". J'utilise moi pour cela la méthode par programmation dynamique, qui a notamment aussi été utilisée par Takeo Kanade, pour la mise en correspondance des images en stéréovision.
Donc le flot-optique par corrélation est une méthode parmi d'autres, qui ont été utilisées il y a quarante ans. C'est une méthode très intuitive. Mais les méthodes de flot-optique se sont perfectionnées depuis, et l'on trouve des méthodes bien plus précises actuellement. Ça reste des méthodes très lentes, pour qui veut faire des traitements à la cadence vidéo. Les méthodes Lucas-Kanade, Horn-Schunck et "Block Matching" de flot-optique ont été remplacées par d'autres méthodes plus précises, dans les versions récentes d'OpenCV.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Aussi, pour cette vidéo, il manque une inconnu, impossible de dire si le chemin parcourru est long ou court, entre deux images d'un petit cube vu de près ou un gros cube vu de loin.
Pour le cas particulier du drone, cette inconnue est estimé par la connaissance de l'altitude (0) puis au dézoom à l'envole, mais sans ce début, il n'est pas possible d'estimer la distance/vitesse, juste un tracé global.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Jybz :
Ah je viens de comprendre. La vidéo ne rend pas ce travail, il serait intéressant de l'afficher (pour 1 pixel sur ~15²) ces vecteurs (ou la projection en plan de ces vecteurs).
Avec un tracé graphique du champ de vecteurs 2D, cela donne un résultat lisible si c'est un tracé vectoriel (postscript), mais très peu lisible en bitmap, du fait de la résolution des images (256^2 jusqu'à 512^2 voire 720^2). Donc ce que je fais, c'est que je réalise une représentation en "mosaïque". Je superpose la première image, et sa correspondante via la transformation approximée (champ de vecteurs 2D), en moyennant les deux dans leur recouvrement.
Jybz :
Aussi, pour cette vidéo, il manque une inconnu, impossible de dire si le chemin parcourru est long ou court, entre deux images d'un petit cube vu de près ou un gros cube vu de loin.
Pour le cas particulier du drone, cette inconnue est estimé par la connaissance de l'altitude (0) puis au dézoom à l'envole, mais sans ce début, il n'est pas possible d'estimer la distance/vitesse, juste un tracé global.
Pour le cas particulier du drone, cette inconnue est estimé par la connaissance de l'altitude (0) puis au dézoom à l'envole, mais sans ce début, il n'est pas possible d'estimer la distance/vitesse, juste un tracé global.
Pour le drone, lors du décollage ou de l’atterrissage, il n'y a que très peu d'images échantillonnées, avec un mouvement très prononcé. C'est donc très difficile d'obtenir un résultat précis, avec les sources dont on dispose. D'ailleurs la NASA indique qu'elle ne se sert pas de la NavCam pour les phases où le drone est près du sol, mais uniquement de l'altimètre laser. Les indications de la caméra de navigation deviennent trop imprécises, et pourraient faire échouer le décollage ou l’atterrissage, par des indications erronées.

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :

Il s'agit d'un tracé vectoriel, et même comme cela, ça n'est pas très lisible. Mais ça aide à comprendre ce que représente la mosaïque d'images. C'est une transformée projective, à huit paramètres. Trois rotations, trois translations et deux paramètres de perspective. C'est à dire la transformée qui permet de faire correspondre la première image, avec la seconde. Ça consiste à "faire bouger" les bordures d'images, et donc de la transformer géométriquement.
Édité par archimedium Le 11/09/2023 à 16h58

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Je vois les 3 rotations (pitch, roll, Yaw), les translation (x, y z). Mais je ne visualise pas encore les deux perspectives, qu'est-ce que c'est ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Jybz :
Ah c'est bien ! Il ne manque plus qu'à faire des flèches de différentes longueur, car vers le point de pivot (sur la projection 2D), les flèches sont très longue vers le bas, avec à coté une grande vers le haut, comme un cisaillement.
Je vois les 3 rotations (pitch, roll, Yaw), les translation (x, y z). Mais je ne visualise pas encore les deux perspectives, qu'est-ce que c'est ?
Je vois les 3 rotations (pitch, roll, Yaw), les translation (x, y z). Mais je ne visualise pas encore les deux perspectives, qu'est-ce que c'est ?
Voila toutes les transformations dans le plan image ...

La transformation perspective (Skew) correspond à une inclinaison de l'image. C'est une "moitié de rotation", car si l'on applique Sx et Sy du même angle en degrés, cela donne une rotation du même angle en degrés. Il y a six degrés de liberté dans l'espace 3D, mais si l'on projette dans le plan image, cela donne deux paramètres supplémentaires en perspective. Il n'est pas nécessaire d'en tenir compte lorsque l'on passe à la reconstruction 3D du mouvement. En tous cas, je n'ai pas encore bien compris leur utilité. Mais c'est quelque chose qui correspond à une réalité des images projetées sur le plan image. Une transformée projective correspond à huit paramètres (Tx,Ty,Tz,Rx,Ry,Rz,Sx,Sy). L'image est aussi soumise à une transformation en cisaillement.
Édité par archimedium Le 11/09/2023 à 16h59

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :


archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :


Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Comment as-tu produit la dernière ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Jybz :
Merci! Je sais à quel point ce n'est pas simple de produire du contenu vidéo!
Comment as-tu produit la dernière ?
Comment as-tu produit la dernière ?
Bien ça m'a occupé une journée, mais je travaille sur le sujet depuis longtemps. J'ai utilisé mes propres programmes, et quelques outils libres, comme Persistence Of Vision. Je pense qu'il s'agit vraiment d'un outil très utile ! Je ne serai pas le premier à le dire


archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
archimedium :
En fait, tout ce qui se passe avec l'hélicoptère, n'était pas prévu par la NASA, et intéresse la recherche en traitement des images, et en vision. Il faudrait leur demander des acrobaties, qui seraient plus intéressantes à observer 

Pour observer des acrobaties, il faut un pilote de drone (c'est une profession), et revenir sur Terre. Voila ce que j'ai réalisé avec une séquence au Mont Saint-Michel. Il y a trois parties à la vidéo qui correspondent à trois mesures du flot-optique : IODP, Farneback et DualTVL1. Cela donne trois mesures de disparité monoculaire (Monocular Depth) différentes, de qualité croissante. Ce qui est démontré, c'est que l'on peut aussi bien voir le relief d'une scène, avec deux yeux en stéréo, ou avec un oeil en mono grâce au mouvement ...
Faites l'expérience ... On voit aussi bien le relief en fermant un oeil et en bougeant, qu'avec les deux yeux en restant immobile. Le mouvement (comme avec la télé, et sans lunettes) permet de visualiser le relief ! Il n'y a pas besoin de s'équiper d'un casque de réalité virtuelle (VR). Depuis la télévision, les inventeurs du "métavers" n'ont rien inventé de particulièrement neuf


archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
archimedium :
Le mouvement (comme avec la télé, et sans lunettes) permet de visualiser le relief ! Il n'y a pas besoin de s'équiper d'un casque de réalité virtuelle (VR).
Lorsque l'on voit la vidéo originale au mont St-Michel, on perçoit très bien le relief, même sans lunettes


archimedium Membre non connecté
-
- Voir le profil du membre archimedium
- Inscrit le : 07/08/2012
- Site internet
- Groupes :
Citation :
J'ai réalisé une page WEB à propos du 18ème survol de la planète Mars, par l'hélicoptère Ingenuity :
Il est possible de reconstruire le relief visible, et la trajectoire du drone Ingenuity, à l'aide d'une simple séquence vidéo. La disparité monoculaire s'obtient après la mise en correspondance des images avec une référence, par la mesure du flot-optique. La trajectoire est obtenue à l'aide des paramètres de la transformation projective qui relie les images successives ...
https://hebergement.universite-paris-saclay.fr/lecoat/demoweb/trajectory.html
Depuis le 19 avril 2021, l'hélicoptère Ingenuity qui a été envoyé sur Mars, n'a pas cessé de faire des survols de la planète. Il était prévu qu'il ne décolle que 5 fois, pour démontrer que c'était réalisable. Mais en fait, nous sommes en février 2022, et une dernière réalisation de 19ème survol de Mars, a été tentée. Les mesures que nous effectuons correspondent au 18ème survol de la planète Mars, en date du 15 décembre 2021.
La localisation de la caméra d'assistance au pilotage qui est obtenue, n'est pas parfaite. L'optique de cette caméra possède en effet une distorsion radiale, qui n'est pas prise en compte par le modèle cinématique projectif.
Il est possible de reconstruire le relief visible, et la trajectoire du drone Ingenuity, à l'aide d'une simple séquence vidéo. La disparité monoculaire s'obtient après la mise en correspondance des images avec une référence, par la mesure du flot-optique. La trajectoire est obtenue à l'aide des paramètres de la transformation projective qui relie les images successives ...
https://hebergement.universite-paris-saclay.fr/lecoat/demoweb/trajectory.html
Depuis le 19 avril 2021, l'hélicoptère Ingenuity qui a été envoyé sur Mars, n'a pas cessé de faire des survols de la planète. Il était prévu qu'il ne décolle que 5 fois, pour démontrer que c'était réalisable. Mais en fait, nous sommes en février 2022, et une dernière réalisation de 19ème survol de Mars, a été tentée. Les mesures que nous effectuons correspondent au 18ème survol de la planète Mars, en date du 15 décembre 2021.
La localisation de la caméra d'assistance au pilotage qui est obtenue, n'est pas parfaite. L'optique de cette caméra possède en effet une distorsion radiale, qui n'est pas prise en compte par le modèle cinématique projectif.
Il était planifié le 11 juin 2022, le 29ème survol de la planète Mars, mais les conditions atmosphériques martiennes ont produit un échec. Depuis la NASA et Ingenuity ont pris des vacances pendant l'hiver sur Mars, ce qui n'avait pas été le cas pendant les congés d'été 2021. Les saisons sur Terre sont différentes de celles sur la planète Mars.
Puis le 19 août 2022, a eu lieu le 30ème décollage de l'hélicoptère. Ça a donné une brève vidéo, car le décollage était effectué pour dépoussiérer Ingenuity, après sa longue période (2 mois) d’inactivité.
Puis le 6 septembre 2022 s'est déroulé le 31ème survol de Mars. Une vidéo nous est parvenue, et des traitements ont pu être effectués. L'engin volant a survécu à l'hiver martien, ce qui est confirmé par le succès du 32ème survol, le 18 septembre pour lequel nous n'avons pas encore de vidéo provenant du laboratoire Caltech/JPL/NASA. C'est une expérience spatiale qui se prolonge, au delà de tout espoir


steven Membre non connecté
-
- Voir le profil du membre steven
- Inscrit le : 18/05/2018
Édité par steven Le 22/09/2022 à 17h25
No Comment ...
Merci de ne pas 'rebondir' sur mes post's
Censor => 2025




Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie