Création d’un support avec cibles codées

Plateau de prise de vue avec les différents systèmes de cibles
Plateau de prise de vue avec les différents systèmes de cibles (27cm, détail)

Les cibles codées sont utilisées pour mettre à l’échelle et éventuellement géoréférencer les sites et objets à numériser par photogrammétrie. Ces cibles sont en quelques sortes des codes barres que les logiciels vont pouvoir automatiquement détecter, identifier et calculer en coordonnées images [x, y] au sein d’un lot de photographies. Cette fonctionnalité offre des gains de temps et de précision considérables pour une opération qui était jusqu’à présent répétitive, fastidieuse et source d’erreur.

A l’instar des cibles classiques, il est nécessaire d’enregistrer les coordonnées 3D des cibles codées lors de leur mise en place dans la scène dont on souhaite réaliser une captation photographique. Alternativement, on pourra se contenter de mesurer précisément les distances existant entre différentes paires de cibles si l’on souhaite uniquement réaliser une mise à l’échelle. Pour réaliser ces différentes tâches, plusieurs méthodes existent suivant la sophistication du matériel de mesure disponible (station totale, récepteur GNSS, distancemètre, etc.) et les contextes et objets d’interventions.

Dans le cadre de numérisation d’objets de dimensions et de masses relativement réduites, le recours à un studio de prise de vue équipé d’un plateau tournant s’avère être une solution pertinente. Il faudra alors s’assurer que les cibles codées soient géométriquement solidaires de l’objet, c’est-à-dire qu’elles tournent avec lui, considérant que tout ce qui n’est pas sur le plateau devra être ignoré par le logiciel de photogrammétrie, et devra donc être neutralisé (fond uni : noir, gris ou blanc; pas de couleur qui pourrait venir teinter l’objet [soit dit au passage, il faudra s’assurer que la part occupée à l’image par l’arrière-plan soit toujours la plus réduite possible]).

Plutôt que de disposer les cibles codées individuellement dans la scène et de mesurer leurs positions respectives, la solution la plus pratique a été de composer un disque à imprimer les intégrant d’emblée sous la forme d’une grille ; celles-ci au final sont régulièrement espacées et leurs coordonnées 3D sont déterminées sans ambiguïté, voire choisies délibérément pour répondre à une contrainte particulière : taille de l’objet, dimension du plateau, quantité et type de cibles codées, etc.

Les différents supports que je présente ici et là sur ce site ont généralement été conçus pour répondre à une problématique particulière, et je les adapte toujours en fonction des contraintes de l’opération. Les concevoir prend toujours un peu de temps, entre l’ébauche, les essais, les erreurs, par conséquent je ne souhaite pas les diffuser tels quels. Par ailleurs, les cibles codées diffèrent selon les logiciels et leur suivi est plus ou moins garanti dans le temps. Il me parait donc plus intéressant et utile de partager ici les méthodes et éléments sources pour la conception de ces supports, plutôt que de donner accès aux fichiers finalisés proprement dits.

Quelques jeux de cibles codées

Dans un premier temps, il faut se procurer les cibles sous une forme vectorielle. Les différents logiciels de photogrammétrie permettent souvent d’exporter les cibles à imprimer en PDF, qu’il est ensuite possible d’ouvrir et d’éditer avec des logiciels de dessin vectoriels comme Adobe Illustrator ou Inkscape.

  • Metashape : Tools / Markers / Print Markers...
  • Reality Capture : après avoir fait un alignment : Detect Markers / Generator / Generate
  • Meshroom : voir sur le dépôt GitHub d’AliceVision => CCTag
  • autres logiciels ? n’hésitez pas à m’indiquer la procédure pour que je répercute l’information ici …

Composition du support

Suivant les besoins, le support peut être un disque à imprimer et à placer sur un plateau, une bande de papier à coller sur une équerre ou sur une règle de maçon, etc. Partant d’un document vectoriel, il est aisé de disposer les cibles et de les espacer à sa guise. Les principales contraintes à respecter sont :

  • Positionner une cible en tenant compte de son centre, qui représentera l’unique information métrique retenue par le logiciel de photogrammétrie ;
  • Laisser suffisamment d’espace en périphérie d’une cible pour favoriser sa reconnaissance automatique ;
  • Dimensionner la cible en fonction de l’objet à numériser et de la distance de l’appareil photo. A l’exclusion du format CCTag, une cible exprimée dans un autre format aura impérativement besoin d’être intégralement visible pour pouvoir être reconnue ; elle s’avère inutilisable sur un cliché lorsqu’elle est en partie recouverte par l’objet, ou lorsqu’elle est coupée, en bord de photo ;
  • Bien évidemment, ne pas placer deux cibles identiques, quand bien même de dimensions et d’orientations différentes, dans la même scène et/ou sur le même support !

Pour pouvoir placer quatre systèmes de cibles codées sur un plateau tournant, j’ai disposé chacun des systèmes sous la forme d’un quadrillage régulièrement espacé sur une trame de 8cm, avec l’axe de rotation pour origine (0,0). J’ai gardé un premier système avec cette orientation, puis j’ai appliqué une rotation de 22,5 degré successivement aux trois autres systèmes, si bien qu’ils ont tous, individuellement, un réseau de coordonnées 2D qui va de 8 en 8 cm. Si l’on choisit d’utiliser simultanément ces 4 systèmes, il faudra tout simplement prendre soin de calculer, ou de relever dans le logiciel de dessin, les coordonnées des cibles dont le système aura subi une rotation. Cela présente l’avantage de multiplier les cibles utilisables dans l’éventualité où les cibles d’un seul système seraient insuffisamment nombreuses pour offrir une mise à l’échelle satisfaisante, en particulier lorsque le logiciel accepte différents formats de cibles (ce qui est le cas pour Reality Capture).

Enfin, « effet de bord » souhaitable et positif : la multitude de cibles venant occuper la surface du plateau offre autant de motifs et d’éléments graphiques à partir desquels le logiciel peut créer des points d’appui utiles aux opérations de mise en correspondance des photos et d’autocalibration des optiques.

Plateau à quatre systèmes de cibles
Plateau à quatre systèmes de cibles
Disque pour plateau tournant (39 cm de diamètre)
Disque pour plateau tournant (39 cm de diamètre) « universel » avec cibles codées en 12 bits (carrés, disques, cercles concentriques, etc). © archeo3d
Plateau universel
Disque pour plateau tournant (27 cm de diamètre) « universel » avec cibles codées en 12 bits (carrés, disques, cercles concentriques, etc). © archeo3d