Observatoire du Pic Champlain
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 Canon EF 17-40mm f/4. 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
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 : rikicam
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é.
La grille de géoréférencement est prête pour la géorectification des images. Pour en faciliter l'usage, placez le fichier matlab de la grille dans le répertoire des images associées.
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_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
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 des images à traiter. Il faut spécifier le répertoire à traiter, les limites N/S et E/W de la zone à géorectifier et la résolution désirée (en mètre). Un README 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.834642W
- lat/lon: 48° 19.774'N 68° 50.078'W
- UTM: 19U 512256m E 5352944m N
- MTM: 6 205849m E 5355398m 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)