Creuvard a écrit 6 commentaires

  • [^] # Re: ça claque

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 1.

    La vidéo c'est mon ancien système avec le coup de la mémoire partagée (n° de la frame) entre processus.

    Le problème c'est que je suis pas fan de la caméra, et je voudrais essayer avec une meilleur caméra.
    Ce week-end je vais me pencher plus longuement sur la question du timestamps, car mes rapides tests de cette semaine ont échoués.

    Le paramètre CV_CAP_PROP_POS_MSEC de OpenCv ne me renvoie pas le timestamp que je veux mais le "_Current position of the video file in milliseconds_" au lieux "_or video capture timestamp_"

  • [^] # Re: ça claque

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 3.

    Salut,

    Si mon projet abouti, je le partagerais sans aucun soucis (Plan boitier, matériel et sources…).

    Je place ci-dessous des liens vers deux photos et une vidéo:

    Proto N°1

    Le boitier seul

    Boitier posé sur une table

    Le boitier monté sur ma brelle (KTM 990 SMR)

    Boitier monté sur la moto

    Vidéo de test - Dans mon bureau

    La vidéo est juste un test d'exploitation du résultat de la mesure d'angle (combinaison de l'accéléromètre & gyroscope). En bas c'est l'angle Gauche/Droite et sur le bord gauche c'est Wheeling/Stoppy ;-)

    Lien vers la vidéo

    Proto N°2

    Bien que le boitier restera identique (à quelques centimètres prés) dans le temps, différentes choses devraient changer. La centrale inertielle notamment qui vibre trop lorsqu'elle est positionnée sur le T de fourche et puis le coté pas pratique qui oblige à démonter le boitier lors d'une pause café (assez encombrant quand même).
    L'idée est de venir positionner le boitier sous la selle afin de se rapprocher du centre de gravité. Cela permet aussi d'imaginer de laisser le dispositif lors des pauses. En revanche cela oblige à avoir un fils entre le boitier et la caméra plus ou moins long en fonction de la position de celle-ci. C'est la raison qui m'a fait choisir une caméra USB. Branchement facile et câble (1m) déjà présent.
    Pour la suite j'image parvenir à synchroniser l'image de ma GoPro avec le système. Les deux caméras devront avoir le même framerate, et essayer de faire la synchronisation via une impulsion lumineuse style stroboscope de téléphone (ou flash photo).

  • [^] # Re: une camera, un logiciel et une syncro temporelle

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 1.

    Bonjour,

    oui, j'ai envisagé cette possibilité. Mais je me suis rapidement arrêté.
    Car dans mon idée, je souhaiterais incruster des jauges pour les angles ou mettre une image de moto qui bouge à gauche/droite en fonction des angles (ou autres bidules du genre). Et comme j'y connais pas grand chose en sous-titre, je suis partie en mode fromscratch bien bourrin.

    Mais effectivement, ça permettrais de générer différents sous titres (niveau de télémétrie) activable ou non depuis sa télé ou mplayer/vlc.
    Si tu as des exemples (vimeo, youtube… ) de formats de sous titre ça m’intéresse.
    Il font bien des barres de défilements pour les karaoké, pourquoi pas des jauges ou des chose un peu mieux chiadées.

  • [^] # Re: une camera, un logiciel et une syncro temporelle

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 1.

    Ok, je vais donc regarder de ce coté la.

    Mise en fonction

    Je vais donc lancer une commande de ce genre la:

    mencoder tv:// -tv driver=v4l2:width=1920:height=1080:device=/dev/video0:forceaudio:adevice=/dev/audio -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o Roulage_session_1.avi

    puis lancer la boucle d’acquisition et noter le timestamp de chaque acquisition capteur

    A la maison

    Plan A

    Extraire le timestamp de la vidéo je sais pas trop comment si je le fait en ligne de commande (ya une commande magique mplayer ou autre ?)

    Plan B

    Utiliser la propriété CV_CAP_PROP_POS_MSEC de Videocapture pour lancer la synchro en auto.
    Il reste plus qu'a voir la précision du timestamp.

    Je vais tester ça ce soir, je te remercie.
    Si ça fonctionne, ça sera plus simple que ce que j'avais envisagé.

  • [^] # Re: une camera, un logiciel et une syncro temporelle

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 1.

    Je vais ré-écrire ce qu'il me semble avoir compris.

    Mise en fonction

    1. Je détecte que l'interrupteur/bouton du boitier qui active le système Caméra&Capteurs est actionné
    2. je fais un timestamp t1
    3. J'active la vidéo (fork(), thread(), execv() …)
    4. Je fais un timestamp t2
    5. J'interroge les capteurs (fork(), thread(), execv() …)

    De retour à la maison

    1. Récupération Vidéo + fichier de données capteurs
    2. affiche les données capteurs par-dessus la vidéo à \Delta T=t2 - t1 millisecondes du début de la vidéo
    3. Loutrage devant la téloche pour débriefer

    Si c'est bien comme ça que tu me conseilles de faire, le problème que j'ai du mal à résoudre, c'est le temps entre l'activation de la vidéo (étape 2 de la mise en fonction) et l'enregistrement effectif de la première frame. Sur les tests que j'ai fait, le raspberry réagit de manière différentes à chaque lancement (des fois j'ai des grosses latence).
    Du coup, on en revient à la même problématique, il me faut une API/DRIVER… qui me permette de détecter l'enregistrement de la première frame.

  • [^] # Re: une camera, un logiciel et une syncro temporelle

    Posté par  . En réponse au message Enregistrement vidéo synchronisé avec capteurs. Évalué à 2.

    Le soucis, c'est que il faut que j'ai un timestamp extrêmement précis.

    Au départ, j'avais fait de rapide teste qui consistaient à noter l'heure au démarrage de chaque programme (lecteur capteurs et lancement de la vidéo). Le résultat n'était pas bon, car si la caméra m'est \frac{1}{4} de seconde à se lancer, ça désynchronise tout.
    Du coup lors du rendu à 240 km/h en bout de ligne droite ça affiche que la moto est sur l'angle alors que je suis encore en pleine phase de freinage parce que les capteurs sont en avance par rapport à l'image. Visuellement c'est mauvais.

    Dans l'idéal je filme en 720p/1080p à 25 ou 30 fps. Donc si je veux être 100% synchrone du premier coup et pouvoir lisser mes données avec le filtre de Kalman (via OpenCv), je voudrais être carré.

    Je précise que j'ai essayé depuis OpenCv, mais je ne parviens pas à dépasser les 640x480 en résolution (problème visiblement connu et non réglé dans OpenCv), c'est la raison qui me pousse à chercher ailleurs.