Horodater précisément des photos

Bonjour,

Je contribue au projet openstreetmap. Pour travailler plus facilement, je prends des photos sur la route pour le projet Mapillary. Actuellement, j'utilise l'application Mapillary sous Android pour l'acquisition mais j'en atteins un peu les limites. En effet, je suis passé au récepteur GNSS multifréquence ublox F9P qui permet d'avoir une précision centimétrique par calcul à postériori sur des stations de référence. Quand je veux recaller les photos prises avec Mapillary, je me rends compte que les heures enregistrées dans les fichiers (exif, nom du fichier, trace gpx associée ) ne sont pas assez précises. Ça va de la fraction de seconde à plusieurs secondes de décalage. Or, si on se déplace à 10 m/s, il faudrait presque une précision à la milliseconde. La puce GNSS envoie sur une sortie un pulse par seconde (PPS) avec une stabilité de 10 ns. Mais est-ce que je peux trouver une caméra (avec 10 MP plutôt que 1 MP) que je puisse contrôler à la milliseconde ? Ou au moins savoir quand la photo est prise? J'ai vu des arducams avec un trigger en entrée pour déclencher la prise de vue? Quelle est la précision ? Je n'ai pas trouvé de caméra avec un trigger en sortie. Genre un front montant en début de photo , le descendant en fin.

Il y a aussi la question de la cadence de tir. Au moins une image par seconde, idéalement deux. Certaines caméras génèrent directement des jpeg. Faut-il encore réussir à envoyer ça sur une carte SD. Vous proposeriez quoi comme plateforme ?

Bonjour Marsamatruh
Projet ambitieux, je pense qu'il faut oublier l'aduino basique
raspberry x ou esp32 ?
en tous cas il y à du temps à budgéter :grin:

oui trés sympa les F9P

J'ai mis en place dans ma campagne ma station differentielle , plus l'instant je regarde (choix du vecteur) pour faire la "meilleure" liaison base rover

Ma question est un peu prospective :slight_smile: .

Ta base fait partie du réseau centipede?

En fait, on a deux sous-problèmes distincts.

  • Le premier est de positionner les photos quand on a le différentiel en temps réel (avec le réseau centipede par exemple). On est connecté en BT au téléphone pour recevoir les corrections. En retour, on envoie les coordonnées centimétriques au téléphone. L'appli Mapillary se débrouille... sauf qu'elle ne se débrouille pas. Elle n’interpole pas entre points GPS pour avoir la position GPS exacte. Elle suppose que la prise de photo est instantanée quand elle le demande.
  • Le second problème est quand on n'a pas le différentiel en temps réel, typiquement en montagne. On a une trace approximative en temps réel et on recalcule la trace précise en rentrant à la maison. On peut toujours en BT envoyer la trace approximative au téléphone et l'utiliser dans Mapillary. Ça faciliterait le recollement mais on retombe sur le problème des approximations de temps côté prise de vue.

Pour la plateforme, je pense que rasp, c'est trop d'avoir un OS complet pour une tache relativement simple. Actuellement, j'ai un adalogger M0 mais la carte SD est connectée par un bus SPI à 12 MHz. Je pense que ça ne va pas suffire pour envoyer un fichier jpg de 2 Mo par seconde. Je n'ai jamais utilisé l'ESP32 mais je peux imaginer qu'il puisse faire la compression et d'autres traitements sur l'image à la volée.

Bonjour

l'ESP32 permettra au moins de gérer la carte SD en mode SD (4 bits de données + CMD) et non en SPI
cf schéma de la carte ESP32-CAM : https://docs.ai-thinker.com/_media/esp32/docs/esp32_cam_sch.pdf

MarsaMatruh:
Ma question est un peu prospective :slight_smile: .

Ta base fait partie du réseau centipede?

En fait, on a deux sous-problèmes distincts.

  • Le premier est de positionner les photos quand on a le différentiel en temps réel (avec le réseau centipede par exemple). On est connecté en BT au téléphone pour recevoir les corrections. En retour, on envoie les coordonnées centimétriques au téléphone. L'appli Mapillary se débrouille... sauf qu'elle ne se débrouille pas. Elle n’interpole pas entre points GPS pour avoir la position GPS exacte. Elle suppose que la prise de photo est instantanée quand elle le demande.
  • Le second problème est quand on n'a pas le différentiel en temps réel, typiquement en montagne. On a une trace approximative en temps réel et on recalcule la trace précise en rentrant à la maison. On peut toujours en BT envoyer la trace approximative au téléphone et l'utiliser dans Mapillary. Ça faciliterait le recollement mais on retombe sur le problème des approximations de temps côté prise de vue.

Pour la plateforme, je pense que rasp, c'est trop d'avoir un OS complet pour une tache relativement simple. Actuellement, j'ai un adalogger M0 mais la carte SD est connectée par un bus SPI à 12 MHz. Je pense que ça ne va pas suffire pour envoyer un fichier jpg de 2 Mo par seconde. Je n'ai jamais utilisé l'ESP32 mais je peux imaginer qu'il puisse faire la compression et d'autres traitements sur l'image à la volée.

Pour contribuer à centipede j'y viendrais peut etre , mais actuellement il y a trop de modifs (implantation ) pour avoir un taux de disponibilité "décent" à offrir :grin:

Il faut peut etre voir du coté du "cadenceur" , tu ne cherche pas à faire une video en 60fps mais à pouvoir positionner précisément "des" photos.

Quelle est la resolution temporelle minimale que tu accepte entre 2 photos ?

J’aimerais bien monter à deux photos par seconde. Actuellement, le téléphone que j’utilise fait moins d’une photo par seconde. En roulant à 30 km/h, ça fait dans les 10 m entre photo. Ce n’est pas suffisant en ville. Pour la précision, si j’avais déjà 1/100 s, je serais content (~10 cm). Pour le moment, en comparant des éléments repères sur les photos aériennes, je suis plutôt à 0,5 s près.

L’ESP32-CAM qui envoie directement sur la carte SD, c’est intéressant. Par contre, le capteur date un peu…

En fait, en trainant sur d'autres forums, je me rends compte que j'ai déjà la caméra qui va bien. Ça s'appelle un appareil photo :slight_smile: . Sur mon compact à objectif interchangeable (Olympus E-PL6), j'ai une prise en entrée pour le déclenchement à distance, où je branche actuellement un intervallomètre chinois à 2 balles pour l'astrophoto. En sortie, il y a fermeture du contact de la prise flash, ce qui me permet d'utiliser d'anciens flashs (sans régulation de la puissance par le boitier) ou une cellule radio pour commander à distance d'autres flashs (toujours sans régulation). Il faut reboucler la prise flash sur l'entrée "waypoint" de la puce gps. Ça met directement l'heure de prise de vue dans le fichier de log. Pour le déclenchement, soit je pars sur la fonction time-lapse du boitier, soit je fais une commande plus fine depuis la carte arduino (attendre un déplacement minimum avant de déclencher quand on va lentement).

MarsaMatruh:
J'aimerais bien monter à deux photos par seconde. Actuellement, le téléphone que j'utilise fait moins d'une photo par seconde. En roulant à 30 km/h, ça fait dans les 10 m entre photo. Ce n'est pas suffisant en ville. Pour la précision, si j'avais déjà 1/100 s, je serais content (~10 cm). Pour le moment, en comparant des éléments repères sur les photos aériennes, je suis plutôt à 0,5 s près.

L'ESP32-CAM qui envoie directement sur la carte SD, c'est intéressant. Par contre, le capteur date un peu...

bonjour
en fait le point crucial c'est le choix de l'appareil
Si j'ai bien compris tu souhaite une resolution d'au moins 4Mpix
Perso je pense que j'irais regarder du coté des petits compacts d'ancienne generations *
AMHA pour gagner du temps il faut renoncer aux automatismes et proscrire tout ce qui est AF et rester en focale fixe

  • je pense par exemple à des appareils type canon powershot genre A85 (4Mpix) ou sx100 IS (8Mpix) que j'ai pas mal torturé en jouant avec les firmwares alternatifs , mais çà date déjà un peu :grin:

Il doit y avoir pas mal de concurrence +/equivalente (sony,panasonic) à des prix tres abordables en occaz

L'idée est peut etre d'utiliser un recepteur gnss avec un TimePulse 10Hz ou programmable et d'enregistrer sur SD le timestamp/pos de chaque ordre de déclenchement et ensuite en fin de mission de corréler les infos : exifs photo(n) (vitesse,ouverture,focale) avec timestamp(n)

edit : je rédigeais en même temps que toi . :smiling_imp:

Ton olympus semble etre un bon candidat

Je crois que je vais explorer cette voie. Déjà tester sur l'appareil actuel si je peux récupérer le contact sur la griffe flash. J'y pensais déjà pour capturer précisément des évènements astronomique comme des occultations.

Pour l'AF, pas de problème. Je le bloque déjà pour l'astro ou pour les assemblages panoramiques.

Il faut aussi explorer certains paramètres comme utiliser l'obturateur électronique plutôt que mécanique pour ne pas tuer trop vite le boitier.

Pour le time lapse du boitier, il semble limité en nombre de vue qu'on peut prendre. Commande extérieure obligatoire mais je peux commencer avec l'intervalomètre ou avec un élastique sur le déclencheur. Je ne pourrais pas aller à plus d'une photo par seconde. Au delà, il faudra basculer sur une commande arduino.

Quant à la résolution, elle est de 16 MPixels mais je peux peut-être garder des jpeg à 4 MPixels pour l'application visée. Actuellement, mon smartphone prend à 8 MPixels mais c'est un peu la bouillie quand on zoome à 100 %.

Si les investigations préliminaires sont favorables, je peux aller sur le coincoin chercher un modèle spécifique.

Il y aura aussi la gestion de l'énergie. Autonomie sur batterie? Bricoler une alimentation externe?

MarsaMatruh:
Je crois que je vais explorer cette voie. Déjà tester sur l'appareil actuel si je peux récupérer le contact sur la griffe flash. J'y pensais déjà pour capturer précisément des évènements astronomique comme des occultations.

Pour l'AF, pas de problème. Je le bloque déjà pour l'astro ou pour les assemblages panoramiques.

Il faut aussi explorer certains paramètres comme utiliser l'obturateur électronique plutôt que mécanique pour ne pas tuer trop vite le boitier.

Pour le time lapse du boitier, il semble limité en nombre de vue qu'on peut prendre. Commande extérieure obligatoire mais je peux commencer avec l'intervalomètre ou avec un élastique sur le déclencheur. Je ne pourrais pas aller à plus d'une photo par seconde. Au delà, il faudra basculer sur une commande arduino.

Quant à la résolution, elle est de 16 MPixels mais je peux peut-être garder des jpeg à 4 MPixels pour l'application visée. Actuellement, mon smartphone prend à 8 MPixels mais c'est un peu la bouillie quand on zoome à 100 %.

Si les investigations préliminaires sont favorables, je peux aller sur le coincoin chercher un modèle spécifique.

Il y aura aussi la gestion de l'énergie. Autonomie sur batterie? Bricoler une alimentation externe?

Il semble que ton appareil utilise une batterie Li-on de 7.4V en format +/- standard
il doit pas etre trop difficile de bricoler/réaliser un adaptateur/chargeur externe 12V (pour prise allume cigare)

J'ai déjà bricolé un adaptateur mais c'était trop bricolé, question de contact. Depuis, je me suis mis au tournage-fraisage. Je dois pouvoir faire mieux. Il faut juste que je retrouve l'atelier du boulot parce que, pendant le télétravail, les travaux continuent. :astonished:

Pour la griffe flash, je ne suis pas le premier à avoir l'idée de l'utiliser pour du geotagging de précision.

Je viens de commander aujourd'hui l'adaptateur griffe-flash/câble de synchro suivant:

kaiser_1300.jpg

kaiser_1300.jpg

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.