ZeBlog

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 13 novembre 2008

Un grand bol d'HDR

HDR, kézako ?

HDR est l'acronyme anglais de "High Dynamic Range", qu'on peut traduire par "Gamme dynamique étendue". Sous le terme de HDR, on regroupe l'ensemble des techniques qui permettent d'étendre la gamme tonale d'une image, c'est-à-dire l'écart atteignable, sans perdre de détails, au sein d'une même image, entre les plus hautes et le plus basses lumières.

Quiconque a fait une photo à contre-jour a déjà été confronté au problème : de visu, aucun problème ou presque : l'oeil humain est capable de percevoir à la fois les plus fins détails dans les parties sombres, sans rien perdre des parties claires. Sur une photographie, vous aurez, au choix, des ombres bouchées. Ou des hautes lumières brûlées. Ou tout simplement les deux.

Paris, le Pont des Arts et l'Institut, 29 janvier 2006.
Pentax *ist DL, 50mm, 200 ISO, 1/90s, 1/125s et 1/180s à F/22

Le même problème se pose dans les prises de vue à l'intérieur de pièces sombres éclairées par de petites ouvertures.

Pour gagner du détails dans les parties les plus sombres, vous devez surexposer (et donc bruler plus encore les parties lumineuses). Au contraire, pour voir les variations de tons des parties éclairées, il faut sous-exposer (et boucher les ombres).

Les capteurs numériques possèdent aujourd'hui encore une gamme tonale plus restreinte que les pellicules, situation qui va néanmoins en s'améliorant : les formats RAW des appareils d'aujourd'hui permettent de stocker les images en 12 bits par pixel (=4096 valeurs possibles), contre 8 bits (=256 valeurs) pour la génération précédente, ce qui laisse plus de latitude dans l'exposition.

Paris, le Pont d'Arcole et Notre-Dame, 29 janvier 2006.
Pentax *ist DL, 37mm, 200 ISO, 1/500s, 1/750s et 1/1000s à F/4.5

En attendant que les capteurs soient capables d'enregistrer toute l'étendue des tonalités perçues par l'oeil humain, il nous reste au moins une technique : la prise de vue multiple: prendre plusieurs photos de la même scène, à des expositions différentes : vive le bracketing automatique !

Il faut régler un paquet de problèmes : stabilité de l'appareil pendant la prise de vue, calage des vues, manipulation des logiciels de combinaisons (tone-mapping), etc. J'avais essayé à une époque reculée, mais sans grand succès. Et puis je m'y suis réintéressé, pas plus tard que ce soir en fait.


Paris, au bord de la Seine, 29 janvier 2006.
Pentax *ist DL, 18mm, 200 ISO, 1/250s, 1/350s et 1/500 à F/3.5

Et là, double surprise : il existe maintenant des sites consacrés au sujet (www.photo-hdr.com), des livres (HDR : Vers la maîtrise des contrastes extrêmes, de Morgan Freeman), et des tonnes d'exemples de photos prises en HDR. Et puis bien sûr, des outils, simples à utiliser, et qui font tout le boulot à votre place.

J'affectionne particulièrement LR/Enfuse, qui s'intègre très bien à Adobe Lightroom et permet d'effectuer l'alignement et le tone-mapping de plusieurs images à l'aide du projet Open-Source Enfuse.

A essayer, et à suivre...

Illustrations :

mercredi 11 juin 2008

Photowalking, 7 semaines plus tard

Il y a presque deux mois de cela, ravi comme un gamin, je commençais à m'amuser avec mon DataLogger GPS.

Aujourd'hui, où en suis-je ?

Parmi les choses qui marchent toutes seules, je note que je sais :

  • Récupérer les données directmenent de mon PhotoTrackr,
  • Trouver l'heure locale à partir de l'heure UTC et de la position géographique,
  • Corriger la dérive de l'horloge de l'appareil photo par rapport à l'heure locale,
  • Extraire d'un flux RSS les informations nécessaire à l'horodatage des photos,
  • Synchroniser les flux de données GPS et RSS,
  • Effectuer des recherches géographiques sur Geonames et Wikipedia,
  • Générer un fichier KML exploitable par Google Maps et Windows Live Maps.

Bon, j'ai quelques idées de choses que je voudrais ajouter, comme la correction automatique des données GPS incohérente, la réduction du nombre de points dans les itinéraires, l'import de styles dans les fichiers KML, et j'en passe... Il y a encore beaucoup à faire!

Néanmoins, en reprenant les données de la balade GPS-Express que j'avais improvisée à l'époque, j'arrive aujourd'hui au résultat suivant:


Agrandir le plan

Ca commence à bien me plaire...

jeudi 29 mai 2008

Sténopé, niveau zéro de la photo ?

Tout le monde connait le sténopé.

Si, si, croyez-le ou non, mais "sténopé" est un nom savant pour une chose toute simple : un appareil photo fait d'un simple trou dans une boîte de conserve.

Le principe du sténopé est donc celui de la chambre noire : vous percez un récipient opaque d'un petit trou, vous placez un papier sensible à la lumière face au trou, et vous attendez : vous obtenez alors une photographie.

L'optique venant toujours au secours du photographe, il existe, même pour un objet aussi simple qu'un sténopé, une armada d'outils mathématiques permettant de savoir exactement comment faire le petit trou de manière à obtenir les meilleures photos possibles (au sens physique, bien sûr!). La fabrication d'un sténopé est donc à la portée de tout le monde... mais peut mener assez loin (>Galerie-photo.com) !

Le sténopé possède un certain nombre de propriétés intéressantes :

  • Le trou étant de très petite taille, il est comparable à un diaphragme extrèmement fermé (F/120 ou pire). Les temps de pose sont donc longs, voire très longs.
  • Conséquence de la très faible ouverture, la profondeur de champ peut être considérée comme infinie : toute l'image est au point.
  • L'épaisseur du matériau du trou implique l'existence d'un effet de flou inhérent au procédé et irréductible. L'image obtenue avec un sténopé subit un léger effet d'"enveloppé" : les dimensions de cet effet ne dépend que des propriétés du trou et de la distance focale; un petit capteur donnera donc une image plus floue qu'un grand capteur.

J'ai commencé par m'intéresser à l'adaptation d'un sténopé sur un reflex numérique. De nombreux problèmes sont rapidement apparus : L'effet d'enveloppé est très important; la grande profondeur de champ implique qu'on voit très bien les poussières déposées sur le capteur; enfin, la distance focale est au minimum d'une 40aine de millimètres (distance entre le capteur et la bayonette).

Je suis donc revenu au bon vieil argentique et je me suis lancé dans la fabrication d'un sténopé, sur la base d'un boitier Kodak Hawkeye des années 1920-1930:

  • Dimensions de l'image sur film : 6x9cm
  • Distance focale : 30mm (équivalent 35mm : 12mm)
  • Diamètre du trou : 0.21mm
  • Ouverture : F/150

Les photos présentées ci-contre sont celles de la fabrication du boitier. Pour la réalisation du sténopé proprement dit (la surface perforée), j'ai fait appel à Thierry Gonidec (>Sténocaméra) qui fait les choses de façon très professionnelle.


Boitier Kodak Hawkeye
Pentax K10D, 50mm, 400 ISO, 1/10s à F/1.4

Fabrication d'un sténopé
Pentax K10D, 21mm, 800 ISO, 1/15s à F/4

Sténopé monté
Pentax K10D, 36mm, 800 ISO, 1/8s à F/4

Après un certain nombre d'essais et de tatonnements, j'arrive enfin à tirer de cet attirail des photos intéressantes...


Les Millois, deux arbres au bord d'une route
Sténopé 30mm, Fuji Provia 100 ISO, ~5s à F/150

Il me reste le problème du cadrage : mon magnifique appareil ne dispose pas de viseur !

Illustrations: Fabrication d'un sténopé, Sténopés, Série n°7

jeudi 15 mai 2008

Photowalking, un pas plus loin...

Suite de mes aventures pédestres, photographiques... et informatique (parce que je le vaux bien) !

Dans l'épisode précédent, je vous ai raconté les problèmes que me posait la synchronisation des horloges (temps universel délivré par le GPS à partir des satellites, heure locale tenant compte du fuseau horaire (en anglais, timezone) et du changement d'heure (daylight-saving time), horloge interne de l'appareil photo. Problème qui sont globalement résolus. Cool...


Marolles-en-Beauce, champs labourés
Pentax K10D, 16mm, 140 ISO, 1/125s à F/8

Depuis, je me suis penché sur d'autres problématiques tout aussi intéressantes :

  • L'utilisation d'un flux RSS comme source de données pour les listes de photos,
  • L'obtention d'informations administratives et/ou culturelles à partir de la position GPS,
  • La génération de fichiers Google Maps "enrichis" à partir de toutes les données dont on dispose.

Tout ceci demande pas mal de développements; j'ai exploré un certain nombre de pistes et beaucoup d'autres restent encore à parcourir, mais j'obtiens d'ores et déjà des résultats sympathiques puisque la carte ci-dessous a été générée de façon totalement automatique à partir du flux RSS de photos que j'ai publiées hier sur Zenfolio, et des données brutes du GPS.


Agrandir le plan

Les repères indiquent les endroits où les photos ont été prises; Cliquer sur un repère ouvre une petite fiche dont les informations sont extraites automatiquement du GPS, du flux RSS fourni par Zenfolio, ou de Geonames (géolocalisation inverse, fournissant en particulier des informations tirées de Wikipédia).

Et pour info, les fichiers Google Maps ainsi générés sont exploitables par Windows Live Maps, Qui donne un affichage assez chouette.

Allez, bonne soirée... et à bientôt !

Illustration : Nature / Marolles-en-Beauce

dimanche 27 avril 2008

Quelle heure est-il ?

Les premiers tests d'utilisation de mon nouveau joujou, un GPS Data Logger (voir mon précédent billet) m'ont confirmé ce que je savais déjà, en fait : la vraie première galère, c'est le temps.

Je m'explique : je me promène avec mon GPS et mon appareil photo. Voilà ce qui se passe :

Le GPS est réglé sur l'heure des satellites, eux même synchronisés avec des horloges atomiques (la mesure précise de la position est dépendante d'une mesure précise de l'heure). Le GPS est donc synchronisé sur une horloge commune, en temps UTC (Temps Universel Coordonné en français), qui permet de s'affranchir des problèmes posés par les heures locales. L'appareil photo, lui, est réglé à la main, à l'heure locale (enfin, plus ou moins).

L'enjeu est de synchroniser le GPS avec l'appareil photo. Pourquoi ? parce que si ce n'est pas le cas, les photos ne seront pas bien placées sur la carte : mauvaise heure = mauvais endroit !

Il faut donc régler plusieurs problèmes :

  • D'une part, obtenir le fuseau horaire local à partir des données de position du GPS : pour cela, j'utilise le service web proposé par GeoNames, qui me donne la réponse très simplement.
  • Ensuite, prendre en compte les éventuels changements d'heures liés au passage à l'heure d'hiver/d'été. Là encore, je suis aidé : la base de données zoneinfo (TZ) permet de répondre à cette question (après un portage en C#, je ne ménage pas ma peine, ma p'tite dame).
  • Enfin, corriger la dérive éventuelle de quelques secondes à quelques minutes, entre l'heure locale "officielle", et l'heure de l'horloge de l'appareil photo. Et c'est là que ça se gâte.

C'est là que réside le vrai grand problème, et, assez étrangement, personne ne semble s'y être intéressé. Je sais que les services de positionnement de photos sur des cartes sont encore très jeunes. Pourtant, des ténors comme Flickr ou Google proposent se genre de services, mais... à vous de vous débrouiller.

Personnellement, je ne suis pas fan des solutions manuelles, du genre :

  • Régler à la main l'heure sur son appareil photo à partir d'une horloge fiable (mais mon appareil ne permet pas de descendre en dessous de la minute, et la dérive de l'horloge oblige à refaire l'opération fréquemment)
  • Photographier une horloge à chaque début de série (plus malin, mais pas très automatique).

Moi, ce dont j'ai envie, c'est d'un biniou qui fasse le boulot tout seul. Non, mais !

Alors, comme je suis assez têtu au niveau des défis, j'ai eu une idée.

Quand on prend une photo, en général, on s'arrête, ou au moins, on ralentit

Il suffirait donc de corréler les baisses de vitesse de marche avec les moments où sont prises les photos, et le tour serait joué ? J'ai tenté le coup, et :

  • Introduit dans mon code une notion d'"estimation d'arrêt" (Stop Estimation). Je calcule la vitesse instantanée (en utilisant la mesure de distance dite du Grand Cercle); je définis l'estimateur d'arrêt comme l'exponentielle de l'opposé de cette vitesse : e^(-v/v0), qui est un nombre entre 0 et 1 (0 = mouvement rapide, 1 = arrêt total).
  • Appliqué cet estimateur à l'ensemble des données d'une trace GPS. J'applique à chaque photo un décalage temporel (compris entre -5 et +5 minutes, je recommence pour chaque seconde de cet intervalle), et j'effectue la somme des estimateurs d'arrêt sur les données GPS correspondant aux dates ainsi calculées.
  • Obtenu le décalage donnant la valeur la plus grande (et donc la vitesse moyenne la plus faible pour l'ensemble des photos).

Bon, c'est un peu compliqué, mais en clair, on obtient ceci :

Là, on remarque qu'avec un décalage de 6 secondes, on obtient le meilleur résultat (plus grand nombre de photos prises en compte, meilleur calage). Pour vérifier, on peut afficher la courbe de l'estimateur d'arrêt et la comparer à la position des prises de vue :

On constate que les prises de vue correspondent à des maximums locaux de l'estimateur d'arrêt.

Et ça, c'est plutôt encourageant... La suite dans le prochain épisode, et en attendant, bonne nuit !

- page 1 de 4