Différences entre versions de « Observatoire du Pic Champlain »
(22 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
== Système de prise de vue == | == Système de prise de vue == | ||
− | L’OPC est constitué d’un système commercial de prise de vue (time-lapse) de la compagnie Erdman Video System, monté sur le belvédère du Pic Champlain (parc du Bic). Il s’agit du modèle NanoPro Time Lapse équipé d’un appareil photo Canon EOS 5D et d’un objectif | + | L’OPC est constitué d’un système commercial de prise de vue (time-lapse) de la compagnie Erdman Video System, monté sur le belvédère du Pic Champlain (parc du Bic). Il s’agit du modèle NanoPro Time Lapse équipé d’un appareil photo Canon EOS 5D et d’un objectif Rokinon XP 10mm f/3,5. Le système contient un appareil photo, un ordinateur de bord et un accès à distance 3G. L’ordinateur de bord permet la gestion du système, ses heures de fonctionnement, la fréquence et la qualité des prises de vue, l’envoi de photos sur un ftp, etc. |
<center>Le système est réglé en '''heure UTC''', donc l’ensemble des heures mentionnées dans le reste du document '''sont en UTC'''.</center> | <center>Le système est réglé en '''heure UTC''', donc l’ensemble des heures mentionnées dans le reste du document '''sont en UTC'''.</center> | ||
Ligne 28 : | Ligne 28 : | ||
Les images sont enregistrées sur 1 des 2 clés USB situées à l’arrière du boîtier. Pour la récupération des images, retirer la clé et l'échanger contre une clé vide. On peut changer préalablement le disque d'archive via le réglage du système (dans VM95, setup --» option (ou F7) --» archive). | Les images sont enregistrées sur 1 des 2 clés USB situées à l’arrière du boîtier. Pour la récupération des images, retirer la clé et l'échanger contre une clé vide. On peut changer préalablement le disque d'archive via le réglage du système (dans VM95, setup --» option (ou F7) --» archive). | ||
− | <center>'''ATTENTION, vérifier que le disque d' | + | <center>'''ATTENTION, vérifier que le disque d'archives est bien configuré après chaque changement de clés USB.'''</center> |
Les photos sont enregistrées d'après le code suivant : | Les photos sont enregistrées d'après le code suivant : | ||
Ligne 46 : | Ligne 46 : | ||
De plus, la commande suivante va réorganiser les images comme suit : ANNEE/JOUR/original/.jpg | De plus, la commande suivante va réorganiser les images comme suit : ANNEE/JOUR/original/.jpg | ||
<center><pre> exiftool '-Directory<CreateDate' -d /run/media/ARCHIVE1/newfolder/%Y/%Y%m%d -r /run/media/ARCHIVE1/s1 </pre></center> | <center><pre> exiftool '-Directory<CreateDate' -d /run/media/ARCHIVE1/newfolder/%Y/%Y%m%d -r /run/media/ARCHIVE1/s1 </pre></center> | ||
+ | |||
+ | == Création d'un vidéo 4K à partir de photos == | ||
+ | |||
+ | Pour faire un vidéo en résolution 4K (3840x2160), on peut exécuter la commande suivante dans le dossier contenant tous les frames d'une même journée | ||
+ | |||
+ | <code>ffmpeg -r 24 -pattern_type glob -i './*.jpg' -vf scale=3840:-1 -vcodec libx264 -crf 17 nom_du_video.MP4</code> | ||
+ | |||
+ | Dans cet exemple, | ||
+ | |||
+ | *<code>-r 24</code> : Définit le nombre d'images par secondes (frame rate) | ||
+ | *<code>-pattern_type glob -i './*.jpg'</code> : Permet de prendre automatiquement tous les fichiers ayant une extension <code>.jpg</code> dans le répertoire actuel | ||
+ | *<code>-vf scale=3840:-1</code> : Change la résolution des images pour que leur plus grande dimension soit de 3840 pixels. Permet donc d'obtenir une vidéo 4K. | ||
+ | *<code>-vcodec libx264</code> : Utilise le codec libx264 pour faire la compression du video. Ce codec est le plus communement utilisé, il est donc recommandé d'appliquer cette option. | ||
+ | *<code>-crf 17</code> : La valeur crf (Constant Rate Factor) contrôle le degré de compression et, donc, la qualité de la vidéo résultant. Plus cette valeur est basse, moins on perd d'information par la compression. Une valeur de 17 résultera en une compression si faible que l'oeil ne peut la déceler lors de l'écoute de la vidéo. | ||
+ | |||
+ | Chaque jour à 20h, un script nommé <code>get_opc.sh</code> est lancé sur le poste de travail canot afin d'aller chercher les images présentes sur le serveur FTP et en faire une vidéo 4K. Les images et la vidéo sont enregistrées sous le chemin suivant : | ||
+ | |||
+ | <center><pre>/archive/BICWIN/année/jour/OPC/ftp </pre></center> | ||
+ | |||
+ | Comme on cherche à minimiser la taille des images enregistrées sur le FTP, la qualité de celles-ci est réduite et on supprime leur métadonnées (EXIF). Ainsi, la commande proposée pour renommer les fichiers selon leur date dans la section "'''Bonnes pratiques'''" de la page [[Photogrammétrie]] ne peut pas fonctionner avec ces images vu qu'elles ne possèdent pas de métadonnées. Le script <code>get_opc.sh</code> utilise donc le nom des fichiers (voir section '''Sauvegarde des images''') pour déterminer la date à laquelle ils ont été créés pour ensuite créer un dossier pour placer les images. À titre d'exemple, le chemin vers les images prises le 15 février 2021 serait : <code>/archive/BICWIN/2021/20210215/OPC/ftp</code>. Après avoir mis les images du FTP dans le dossier correspondant à la date de prise de vue, le script <code>get_opc.sh</code> exécute la commande ffmpeg présentée plus haut afin de créer une vidéo 4K à partir des photos. Par contre, le nombre d'images par seconde est mis à 10 vu le petit nombre de photos et le nom du fichier prend la forme suivante: <code>yyyymmdd_ftp.MP4</code>. | ||
== Réglages == | == Réglages == | ||
Ligne 138 : | Ligne 158 : | ||
'''Identifiant''' : paulnicot@gmail.com | '''Identifiant''' : paulnicot@gmail.com | ||
− | '''Mot de passe''' : | + | '''Mot de passe''' : rikicam2 |
'''Code d’accès de la caméra UQAR-061014R''' : toaptoap | '''Code d’accès de la caméra UQAR-061014R''' : toaptoap | ||
Ligne 186 : | Ligne 206 : | ||
La géorectification nécessite la création d’une grille de la taille des images utilisées (matrice de pixels). Dans cette grille, une position géographique est attribué à chaque pixel de l’image afin de pouvoir projeter l’image sur un plan. Pour ce faire, il faut créer un fichier de paramètres contenant les informations concernant l’image utilisée, la position de la caméra, les approximations d’angles de prises de vue ainsi que la positions de points de référence connus sur l’image. Un exemple de fichier de paramètres est disponible en annexe. | La géorectification nécessite la création d’une grille de la taille des images utilisées (matrice de pixels). Dans cette grille, une position géographique est attribué à chaque pixel de l’image afin de pouvoir projeter l’image sur un plan. Pour ce faire, il faut créer un fichier de paramètres contenant les informations concernant l’image utilisée, la position de la caméra, les approximations d’angles de prises de vue ainsi que la positions de points de référence connus sur l’image. Un exemple de fichier de paramètres est disponible en annexe. | ||
− | <center>'''IMPORTANT : pour la géorectification sur un plan UTM, il faut utiliser le fichier en mode | + | <center>'''IMPORTANT : pour la géorectification sur un plan UTM, il faut utiliser le fichier en mode laboratoire avec “Field = false” en utilisant des coordonnées métriques.'''</center> |
Pour lancer la routine de création de la grille, taper : | Pour lancer la routine de création de la grille, taper : | ||
Ligne 196 : | Ligne 216 : | ||
Si la grille réalisée présente une correspondance des points de référence élevée (RSM très grand), il est possible la paramérisation soit incorrecte. Il est nécessaire alors d'ajuster les valeurs dans le fichier de paramètres pour améliorer la projection. Notez que les points de références lointains vont énormément contribuer à l'augmentation du RSM, puisque l'erreur est d'autant plus grande que le point est éloigné. | Si la grille réalisée présente une correspondance des points de référence élevée (RSM très grand), il est possible la paramérisation soit incorrecte. Il est nécessaire alors d'ajuster les valeurs dans le fichier de paramètres pour améliorer la projection. Notez que les points de références lointains vont énormément contribuer à l'augmentation du RSM, puisque l'erreur est d'autant plus grande que le point est éloigné. | ||
− | + | Une fois la grille de géoréférencement satisfaisante (RMS faible), Placez la matrice .mat et le fichier texte associé (.dat) dans le répertoire <font face="Courier">'''Calib/'''</font> de l'année traitée. | |
Exemple de fichier de paramètres de géorectification (opc_georect.dat): | Exemple de fichier de paramètres de géorectification (opc_georect.dat): | ||
Ligne 203 : | Ligne 223 : | ||
firstImgFname = '20170221_2219.jpg'; | firstImgFname = '20170221_2219.jpg'; | ||
lastImgFname = '20170221_2219.jpg'; | lastImgFname = '20170221_2219.jpg'; | ||
− | outputFname = ' | + | outputFname = 'opc_rect_20170221_UTM.mat'; |
% Field or lab case situation. | % Field or lab case situation. | ||
Ligne 250 : | Ligne 270 : | ||
357 2382 511067.6 5353375.1 | 357 2382 511067.6 5353375.1 | ||
437 2791 511474.5 5353241.0</pre> | 437 2791 511474.5 5353241.0</pre> | ||
+ | |||
+ | |||
+ | Ci-dessous quelques points de repères utiles pour la création de la grille : | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! lieu | ||
+ | ! position UTM 19N (x / y) | ||
+ | ! position degré déc. (N / E) | ||
+ | |- | ||
+ | | Pointe Ouest Ile du Bic | ||
+ | | 508170 / 5359243 | ||
+ | | 48.38630 / -68.88965 | ||
+ | |- | ||
+ | | Pointe Sud-Est Grande Anse | ||
+ | | 511607 / 5361383 | ||
+ | | 48.40550 / -68.84317 | ||
+ | |- | ||
+ | | Pointe Est Ile du Bic | ||
+ | | 512056 / 5362275 | ||
+ | | 48.41351 / -68.83707 | ||
+ | |- | ||
+ | | Pointe Ouest Ile Bicquette | ||
+ | | 507810 / 5362289 | ||
+ | | 48.41371 / 68.89445 | ||
+ | |- | ||
+ | | Fourche à Louison Nord | ||
+ | | 512542 / 5355374 | ||
+ | | 48.35142 / -68.83072 | ||
+ | |- | ||
+ | | Fourche à Louison Sud | ||
+ | | 512605 / 5355276 | ||
+ | | 48.35054 / -68.82987 | ||
+ | |- | ||
+ | | Pointe Est Ilet au Flacon | ||
+ | | 511059 / 5353368 | ||
+ | | 48.33340 / -68.85078 | ||
+ | |- | ||
+ | |} | ||
=== Géorectification des images === | === Géorectification des images === | ||
− | Pour la géorectification d’une série d’images, la routine matlab r_interp_opc.m permet le traitement d’un lot d’images. Le fichier de calibration doit être dans le répertoire | + | [[Fichier:Georect zone UTM.png|vignette|differentes zones de georectification et résolution maximale atteinte]] |
+ | Pour la géorectification d’une série d’images, la routine matlab '''r_interp_opc.m''' (ou '''r_interp_opc_UTM.m''') permet le traitement d’un lot d’images. Le fichier de calibration doit être dans le répertoire de calibration <font face="Courier">'''Calib/'''</font> de l'année traitée. Il est possible de Il faut spécifier la date à traiter, la zone de géorectification et la résolution désirée (en mètre). Un '''README.txt''' est créé à la fin du traitement avec les coordonnées des limites de la géorectification, le nom du fichier de calibration, etc. | ||
Le script fonctionne selon l’interpolation de la valeur des pixels de l’image sur la grille projeté du plan. Cette grille est définie par la résolution choisie lors du traitement. La fonction Matlab <font face="Courier">triscatteredinterp.m</font> se base sur la triangulation de delaunay pour interpoler les valeurs de pixels sur les cellules de la grille. | Le script fonctionne selon l’interpolation de la valeur des pixels de l’image sur la grille projeté du plan. Cette grille est définie par la résolution choisie lors du traitement. La fonction Matlab <font face="Courier">triscatteredinterp.m</font> se base sur la triangulation de delaunay pour interpoler les valeurs de pixels sur les cellules de la grille. | ||
Ligne 258 : | Ligne 317 : | ||
Position de l’OPC : | Position de l’OPC : | ||
− | * lat/lon : 48.329562N 68. | + | * lat/lon : 48.329562N -68.834642E |
− | * lat/lon: 48° 19.774'N 68° 50.078' | + | * lat/lon : 48° 19.774'N -68° 50.078'E |
− | * UTM: 19U 512256m E 5352944m N | + | * UTM : '''19U''' 512256m E 5352944m N |
− | * MTM: 6 205849m E 5355398m N | + | * MTM : '''6''' 205849m E 5355398m N |
+ | |||
+ | |||
+ | Position de l'AWAC : | ||
+ | * lat/lon : 48.34650N -68.85183E | ||
+ | * lat/lon : 48° 20.790'N 68° 51.110'W | ||
+ | * UTM : '''19U''' 510979m E 5354824m N | ||
+ | * MTM : '''6''' 204608m E 5357304m N | ||
== Contacts == | == Contacts == |
Version actuelle datée du 2 mars 2021 à 11:33
Ce document est un support de référence pour la mise en place de l’observatoire du Pic Champlain (OPC), l’installation et l’entretien du système de prise de vue, son utilisation et le traitement des images produites par l’observatoire. L’OPC est un outil développé pour faire le suivi qualitatif et quantitatif du couvert de glace de mer dans la Baie du Ha ! Ha ! et le chenal du Bic durant la période hivernale. Ce système est couplé à une série d’instruments (ADCP et capteurs de pression immergés + campagne hivernale en canot à glace) afin d’obtenir le maximum de données sur les processus liés au couvert de glace, aux vagues et à leurs interactions dans la baie du Ha! Ha!.
Système de prise de vue
L’OPC est constitué d’un système commercial de prise de vue (time-lapse) de la compagnie Erdman Video System, monté sur le belvédère du Pic Champlain (parc du Bic). Il s’agit du modèle NanoPro Time Lapse équipé d’un appareil photo Canon EOS 5D et d’un objectif Rokinon XP 10mm f/3,5. Le système contient un appareil photo, un ordinateur de bord et un accès à distance 3G. L’ordinateur de bord permet la gestion du système, ses heures de fonctionnement, la fréquence et la qualité des prises de vue, l’envoi de photos sur un ftp, etc.
Installation et entretien
L’installation du système doit être réalisé à l’automne, avant la fermeture du sentier du Pic Champlain aux véhicules. Le matériel nécessaire comporte :
- système de caméra
- boitier de batteries
- 2 batteries ENERWATT AGM WP-110-12
- poteau en aluminium
- colliers en acier inoxydable
- tire-fonds galvanisés 1/2 x 6 po (~10)
Avant d’installer la caméra sur le poteau d’aluminium, passer le câble d’alimentation de la caméra dans le tube d’aluminium, du haut vers le bas et le raccorder au boîtier de batteries. Fixer la caméra sur le poteau et vérifier les points suivants :
- l'ordinateur de bord est sur "on"
- la mise au point de l'appareil photo en manuel sur l'infini
- la présence du dessicant
- le branchement des clés USB
Une fois montée, orienter la caméra dans la direction désirée. Les batteries sont installées l’une sur l’autre et reliées ensemble en parallèle sur le afin d’augmenter la durée de prises de vue. Généralement, il est nécessaire de changer la paire de batteries tous les 10 à 15 jours. Dernièrement, un agent du parc faisait la rotation du jeu de batteries lors de l’inspection des installations du belvédère (environ 1 fois par semaine). Pour ce faire, un deuxième jeu de batteries et un chargeur sont laissés au garage du parc. Durant la première partie de l’hiver, les courtes journées permettent d’avoir une durée de vie plus longue. Toutefois, il est nécessaire d’ajuster régulièrement les période de prises de vue sur le système en les faisant coïncider avec les éphémérides, via l’accès réseau LogMeIn. Plus de détails sur les réglages et l’accès à distance du système sont disponibles dans les sections suivantes.
Sauvegarde des images
Les images sont enregistrées sur 1 des 2 clés USB situées à l’arrière du boîtier. Pour la récupération des images, retirer la clé et l'échanger contre une clé vide. On peut changer préalablement le disque d'archive via le réglage du système (dans VM95, setup --» option (ou F7) --» archive).
Les photos sont enregistrées d'après le code suivant :
- s1 (pour les images issues de la scene 1) - mmmddyya (Nov0317t pour un répertoire créé le 03 novembre 2017, la lettre à la fin du nom correspond à l’heure de création du répertoire, de a à w pour 0 à 23h respectivement) - mddHHMMA.jpg (N031855T.jpg pour une image prise le 03 novembre à 18h55, la dernière lettre compte pour les secondes entre A et Z pour 0 à 59 secondes)
Pour les prises de vue en rafale, le système nomme les images prises par rafale avec une précision à +/- 1/100 de seconde. Les centièmes de secondes sont ajoutés au nom de fichier.
Avant de copier les images depuis la clé USB vers Mingan, il est nécessaire de modifier le nom de fichier pour en faciliter l'usage.
exiftool -v0 '-filename<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%le -r -ext jpg /media/run/ARCHIVE1/s1
De plus, la commande suivante va réorganiser les images comme suit : ANNEE/JOUR/original/.jpg
exiftool '-Directory<CreateDate' -d /run/media/ARCHIVE1/newfolder/%Y/%Y%m%d -r /run/media/ARCHIVE1/s1
Création d'un vidéo 4K à partir de photos
Pour faire un vidéo en résolution 4K (3840x2160), on peut exécuter la commande suivante dans le dossier contenant tous les frames d'une même journée
ffmpeg -r 24 -pattern_type glob -i './*.jpg' -vf scale=3840:-1 -vcodec libx264 -crf 17 nom_du_video.MP4
Dans cet exemple,
-r 24
: Définit le nombre d'images par secondes (frame rate)-pattern_type glob -i './*.jpg'
: Permet de prendre automatiquement tous les fichiers ayant une extension.jpg
dans le répertoire actuel-vf scale=3840:-1
: Change la résolution des images pour que leur plus grande dimension soit de 3840 pixels. Permet donc d'obtenir une vidéo 4K.-vcodec libx264
: Utilise le codec libx264 pour faire la compression du video. Ce codec est le plus communement utilisé, il est donc recommandé d'appliquer cette option.-crf 17
: La valeur crf (Constant Rate Factor) contrôle le degré de compression et, donc, la qualité de la vidéo résultant. Plus cette valeur est basse, moins on perd d'information par la compression. Une valeur de 17 résultera en une compression si faible que l'oeil ne peut la déceler lors de l'écoute de la vidéo.
Chaque jour à 20h, un script nommé get_opc.sh
est lancé sur le poste de travail canot afin d'aller chercher les images présentes sur le serveur FTP et en faire une vidéo 4K. Les images et la vidéo sont enregistrées sous le chemin suivant :
/archive/BICWIN/année/jour/OPC/ftp
Comme on cherche à minimiser la taille des images enregistrées sur le FTP, la qualité de celles-ci est réduite et on supprime leur métadonnées (EXIF). Ainsi, la commande proposée pour renommer les fichiers selon leur date dans la section "Bonnes pratiques" de la page Photogrammétrie ne peut pas fonctionner avec ces images vu qu'elles ne possèdent pas de métadonnées. Le script get_opc.sh
utilise donc le nom des fichiers (voir section Sauvegarde des images) pour déterminer la date à laquelle ils ont été créés pour ensuite créer un dossier pour placer les images. À titre d'exemple, le chemin vers les images prises le 15 février 2021 serait : /archive/BICWIN/2021/20210215/OPC/ftp
. Après avoir mis les images du FTP dans le dossier correspondant à la date de prise de vue, le script get_opc.sh
exécute la commande ffmpeg présentée plus haut afin de créer une vidéo 4K à partir des photos. Par contre, le nombre d'images par seconde est mis à 10 vu le petit nombre de photos et le nom du fichier prend la forme suivante: yyyymmdd_ftp.MP4
.
Réglages
La documentation complète du système de prise de vue NanoPro Time Lapse est disponible en version électronique ici.
Plusieurs programmes sont sauvegardés sur le système. Ils peuvent être charger rapidement pour répondre aux différentes situations qui peuvent se présenter. Ci-dessous sont présentés les programmes enregistrés sur le bureau du système :
- Programme général
Description | Début | Fin | intervalle (min) |
---|---|---|---|
coupure de nuit | 21h40 | 12h22 | -1 |
prise de vue 2 min | 12h26 | 21h38 | 2 |
informations système | 12h53 | 20h54 | 60 |
prise de vue ftp | 12h55 | 20h56 | 60 |
envoi image ftp | 12h57 | 20h58 | 60 |
rafale 10 images* | 13h07 | 21h10 | 60 |
* Les mouillages dans la baie du Ha!Ha!, composés par un AWAC et 3 capteurs de pression sont réglés comme suit :
- l’AWAC enregistre pendant 17 minutes à chaque heure, en commençant à la deuxième minute de l’heure (XXh02 --» XXh20 )
- les capteurs de pression RBR enregistrent pendant 8 minutes à chaque heure, en commençant à la cinquième minute de l’heure (XXh05 --» XXh14)
Afin d’avoir des images lors de ces enregistrements, une prise de vue en rafale (snap 1/2s, 10 images) peut être déclenchée à la septième minute de chaque heure (XXh07).
- Programme tempête
Description | Début | Fin | intervalle (min) |
---|---|---|---|
coupure de nuit | 21h32 | 12h24 | -1 |
informations système | 12h25 | 21h30 | 60 |
prise de vue ftp | 12h25 | 21h30 | 60 |
envoi image ftp | 12h27 | 21h28 | 60 |
coupure tempête* | 12h30 | 21h30 | 10 |
* Dans cette configuration, le système se met en marche entre 12h24 et 21h32. Le système reste allumé 10 minutes pour chaque heure entre 12h30 et 21h30. Le système est donc accessible à toutes les heures du jour entre la 30ème et la 40ème minute.
Accès à distance
Connexion à LogMeIn :
Identifiant : paulnicot@gmail.com
Mot de passe : rikicam2
Code d’accès de la caméra UQAR-061014R : toaptoap
Traitements des images
Le traitement des images pour la géorectification utilise principalement le module Matlab g_rect développé par Daniel Bourgault et al. Les informations concernant son utilisation sont disponibles ici. Les images prises par l’observatoire sont conservées en archive sur Mingan dans le répertoire suivant:
/share/archives/dumoda01/data/photogrammetry/opc
On y trouve un répertoire bin/ qui contient plusieurs outils de pré/post-traitements pour les images de l’OPC. Pour la géorectification des images, le traitement suit plusieurs étapes :
Correction de la distorsion
L’objectif Canon EF 17-40mm f/4 utilisé est généralement utilisé avec le plus grand angle de vue (17mm soit 92°) et présente une assez grande distorsion des images. Le logiciel ImageMagick permet de compenser la distorsion associée à chaque objectif. Les coefficients de distorsion sont disponible via la base de données lensfun pour un très grand nombre d’objectifs. Pour corriger la distorsion, utiliser la commande suivante :
convert INFILE -distort barrel "A B C D" OUTFILE
où A, B et C dépendent de la focale utilisée et D correspond à un facteur d’échelle de l’image (généralement 1). Les valeurs de A, B et C sont les suivantes:
<model>Canon EF 17-40mm f/4L USM</model> <mount>Canon EF</mount> <cropfactor>1.0</cropfactor> <calibration> <distortion model="ptlens" focal="17" a="0.020104" b="-0.047886" c="0" /> <distortion model="ptlens" focal="19" a="0.016917" b="-0.039854" c="0" /> <distortion model="ptlens" focal="20" a="0.015352" b="-0.035125" c="0" /> <distortion model="ptlens" focal="22" a="0.01352" b="-0.027379" c="0" /> <distortion model="ptlens" focal="24" a="0.012744" b="-0.024334" c="0" /> <distortion model="ptlens" focal="26" a="0.012023" b="-0.02158" c="0" /> <distortion model="ptlens" focal="28" a="0.008491" b="-0.013858" c="0" /> <distortion model="ptlens" focal="32" a="0.007181" b="-0.008983" c="0" /> <distortion model="ptlens" focal="35" a="0.006829" b="-0.007622" c="0" /> <distortion model="ptlens" focal="37" a="0.006676" b="-0.007544" c="0" /> <distortion model="ptlens" focal="40" a="0.00464" b="-0.003826" c="0" /> </calibration>
Stabilisation des images
Cette étape n’est pas nécessaire si les images sont très stable entre le début et la fin de la période d’intérêt. Toutefois, il peut arriver que le système bouge entre des prises de vues, en particulier en période de fort vent. Il est alors nécessaire de stabiliser les images pour que la géorectification puisse être appliquée à l’ensemble des images sans modifier la grille. Pour cela, le paquet g_rect contient des outils qui permettent d’aligner la série d’images. Il faut commencer par choisir les régions d'intérêts (roi) dans l’image de référence choisie, qui sont immobiles au sein de la scène en lançant la fonction :
g_roi(ref_img.jpg)
Le script crée alors un fichier roi.mat. Ce fichier doit être copié dans le répertoire qui contient les images à stabiliser. La stabilisation peut alors être réalisée en utilisant la fonction :
g_stabilise(img_ref_fname)
La fonction crée un nouveau répertoire appelé “stable” où les images stabilisées sont enregistrées. Un suffixe ‘_stable’ est ajouté au nom de fichier de celles-ci tandis que les images originales sont conservées intactes.
Création de la grille de géorectification
La géorectification nécessite la création d’une grille de la taille des images utilisées (matrice de pixels). Dans cette grille, une position géographique est attribué à chaque pixel de l’image afin de pouvoir projeter l’image sur un plan. Pour ce faire, il faut créer un fichier de paramètres contenant les informations concernant l’image utilisée, la position de la caméra, les approximations d’angles de prises de vue ainsi que la positions de points de référence connus sur l’image. Un exemple de fichier de paramètres est disponible en annexe.
Pour lancer la routine de création de la grille, taper :
g_rect
La script va itérer sur les valeurs des paramètres dans l’intervalle de mesure donné jusqu’à tomber sur les valeurs ayant la moins d’écart entre les points de référence géographique et la position théorique des pixels associé (RSM).
Si la grille réalisée présente une correspondance des points de référence élevée (RSM très grand), il est possible la paramérisation soit incorrecte. Il est nécessaire alors d'ajuster les valeurs dans le fichier de paramètres pour améliorer la projection. Notez que les points de références lointains vont énormément contribuer à l'augmentation du RSM, puisque l'erreur est d'autant plus grande que le point est éloigné.
Une fois la grille de géoréférencement satisfaisante (RMS faible), Placez la matrice .mat et le fichier texte associé (.dat) dans le répertoire Calib/ de l'année traitée.
Exemple de fichier de paramètres de géorectification (opc_georect.dat):
% I/O information imgFname = '20170221_2219.jpg'; firstImgFname = '20170221_2219.jpg'; lastImgFname = '20170221_2219.jpg'; outputFname = 'opc_rect_20170221_UTM.mat'; % Field or lab case situation. % Set field = true for field situation and field = false for lab situation. field = false; % Camera position % lat/lon for field situation % meter for lab situation LON0 = 512256; LAT0 = 5352944; % Offset from center of the principal point (generally zero) ic = 0; jc = 0; % Parameters hfov = 91.0; % Field of view of the camera lambda = 10; % Dip angle above vertical (e.g. straight down = 90, horizontal = 0) phi = 5.0; % Tilt angle (generally close to 0). H = 340; % Camera altitude theta = -40; % View angle clockwise from North (e.g. straight East = 90) % Uncertainty in parameters. Set the uncertainty to 0.0 for fixed parameters. dhfov = 10.0; dlambda = 10.0; dphi = 8; dH = 20.0; dtheta = 22; % Order of the polynomial correction (0, 1 or 2) polyOrder = 0; % To save memory calculation can be done in single precision. % For higher precision set the variable 'precision' to 'double'; precision = 'double'; % Ground Control Points (GCP). % The data must come right after the gcpData = true gcpData = true; 2445 1634 508110.1 5359241.0 2803 1605 507819.3 5362306.1 3972 1652 512304.4 5362263.8 4454 1965 512533.1 5355353.7 4162 2483 512416.8 5354021.1 357 2382 511067.6 5353375.1 437 2791 511474.5 5353241.0
Ci-dessous quelques points de repères utiles pour la création de la grille :
lieu | position UTM 19N (x / y) | position degré déc. (N / E) |
---|---|---|
Pointe Ouest Ile du Bic | 508170 / 5359243 | 48.38630 / -68.88965 |
Pointe Sud-Est Grande Anse | 511607 / 5361383 | 48.40550 / -68.84317 |
Pointe Est Ile du Bic | 512056 / 5362275 | 48.41351 / -68.83707 |
Pointe Ouest Ile Bicquette | 507810 / 5362289 | 48.41371 / 68.89445 |
Fourche à Louison Nord | 512542 / 5355374 | 48.35142 / -68.83072 |
Fourche à Louison Sud | 512605 / 5355276 | 48.35054 / -68.82987 |
Pointe Est Ilet au Flacon | 511059 / 5353368 | 48.33340 / -68.85078 |
Géorectification des images
Pour la géorectification d’une série d’images, la routine matlab r_interp_opc.m (ou r_interp_opc_UTM.m) permet le traitement d’un lot d’images. Le fichier de calibration doit être dans le répertoire de calibration Calib/ de l'année traitée. Il est possible de Il faut spécifier la date à traiter, la zone de géorectification et la résolution désirée (en mètre). Un README.txt est créé à la fin du traitement avec les coordonnées des limites de la géorectification, le nom du fichier de calibration, etc. Le script fonctionne selon l’interpolation de la valeur des pixels de l’image sur la grille projeté du plan. Cette grille est définie par la résolution choisie lors du traitement. La fonction Matlab triscatteredinterp.m se base sur la triangulation de delaunay pour interpoler les valeurs de pixels sur les cellules de la grille.
Informations complémentaires
Position de l’OPC :
- lat/lon : 48.329562N -68.834642E
- lat/lon : 48° 19.774'N -68° 50.078'E
- UTM : 19U 512256m E 5352944m N
- MTM : 6 205849m E 5355398m N
Position de l'AWAC :
- lat/lon : 48.34650N -68.85183E
- lat/lon : 48° 20.790'N 68° 51.110'W
- UTM : 19U 510979m E 5354824m N
- MTM : 6 204608m E 5357304m N
Contacts
Mise en place, réglages, utilisation :
- Paul Nicot, auxiliaire de recherche UQAR-ISMER (paul_nicot@uqar.ca)
- Dany Dumont, professeur-chercheur (dany_dumont@uqar.ca)
Parc du Bic :
- Mélanie Sabourin, responsable conservation/éducation (418-732-8303, sabourin.melanie@sepaq.com)
- Daniel Vézina, patrouilleur (418-725-8216)
Erdman video system :
- Nicholas Malinguaggio (nick@video-monitoring.com)
- Carlos Lorenzo (carlos@video-monitoring.com)