Activités dans l'équipe ADAGIo

Les activités de recherche de l'équipe ADAGIo du LORIA portent sur l'étude d'algorithmes discrets pour la géométrie et l'imagerie. Dans ce contexte, les travaux en vision par ordinateur reposent sur l'analyse de données discrètes (images numériques, nuages de points issus de scanners) pour produire des informations tridimensionnelles sur l'environnement observé. De nombreux traitements sont consécutivement appliqués aux données, pour lesquels il est intéressant de rester le plus longtemps possible dans le monde discret. On peut ainsi espérer bénéficier d'une arithmétique exacte, et d'en tirer une bonne rapidité de traitement et un meilleur contrôle de l'application.

Ma participation aux activités de l'équipe concerne la conception et la réalisation de nouveaux outils de géométrie discrète (structures et algorithmes) plus particulièrement dédiés au cadre de la vision par ordinateur. Les travaux envisagés portent dans un premier temps sur l'extraction d'indices visuels, puis sur la segmentation des données 3D, avant de s'attaquer à plus long terme au problème de l'interprétation tridimensionnelle des indices extraits pour des tâches de modélisation 3D interactive.

Extraction d'indices visuels

Extraire des données observées un ensemble d'indices visuels (contours, points dominants, alignements, ...) est généralement la première étape de traitement. Elle s'avère souvent déterminante sur la qualité des résultats produits en sortie. En mode automatique, il est possible d'obtenir une grande quantité d'indices, mais la qualité globale peut être notablement dégradée par la présence d'indices erronés (outliers). En mode manuel, l'extraction plus sélective assure une meilleure fiabilité, mais s'avère fastidieuse et coûteuse en temps de réalisation. En mode supervisé, une assistance efficace peut être obtenue sous réserve de veiller aux règles d'ergonomie. Aucun de ces modes ne délivre une information sur la précision des indices visuels obtenus en vue d'une exploitation dans les traitements ultérieurs. Il serait donc pertinent d'assortir les indices extraits d'une mesure de qualité (diffusion, netteté, linéarité, ...).

La notion de segment flou, ensemble de points appartenant à une droite discrète d'épaisseur fixée, a été retenue comme un candidat prometteur pour véhiculer cette mesure. A cet effet, dans le cadre d'une collaboration avec Bertrand Kerautret et Phuc Ngo, nous avons mis au point un détecteur de segments flous dans des images en niveaux de gris, basé sur une approche originale : la création et l'extension incrémentale d'un segment flou à l'intérieur de scans directionnels. Les scans directionnels sont des bandes épaisses, partitionnées en petits segments de droites discrètes orthogonaux à l'axe de la bande, appelés scans. Des candidats pour prolonger le segment flou sont extraits de chaque scan à partir du gradient de l'image. Le scan directionel est défini par la donnée manuelle de son scan central en mode supervisé, ou par balayage de l'image en mode automatique.

Extraction de segments flous avec FBSD Une première version [44] a permis de valider le potentiel de l'approche en contexte supervisé. Depuis, deux nouveaux concepts, les scans directionnels adaptatifs et le contrôle de la consigne d'épaisseur, ainsi qu'un algorithme d'extraction globale, ont été intégrés au détecteur pour produire une version plus efficace, nommée FBSD [48]. FBSD fonctionne en mode supervisé ou entièrement automatique, avec un jeu restreint de paramètres intuitifs à régler. Une comparaison avec des détecteurs récents (LSD, CannyLines, ED-Lines) sur une base d'images assorties de vérités de terrain (York Urban data base) a mis en évidence des performances similaires en précision et en temps d'exécution. Le code de FBSD est accessible sur un dépôt GitHub et une démonstration en-ligne est également disponible.

Segmentation de données 3D

L'objectif visé dans cet axe est d'extraire des structures géométriques (linéaires, planes, ...) d'un nuage de points 3D.

Les scanners, basés sur la télémétrie laser ou sur les techniques de corrélation entre images de caméras, produisent de grandes quantités de points de mesure à la surface des objets de la scène observée. Cette multitude d'informations convient quand la scène comporte des formes complexes. Dans le cas de surfaces uniformes, de grandes portions planes par exemple, elle devient inutilement redondante et pénalise les traitements et le stockage. L'objectif est donc de détecter des structures régulières dans l'ensemble de points scannés.

Dans un premier temps, en collaboration avec Phuc Ngo, nous avons travaillé sur l'extraction de structures linéaires; (routes, murs, fossés, ...) de données LiDAR brutes (le nuage de points produit) de sites forestiers, dans le cadre d'un projet interdisciplinaire interne à l'université de Lorraine (SolHoM-Fossard), en collaboration avec des archéologues et des géologues. La détection de structures archéo-morphologiques linéaires dans les données LiDAR est un problème complexe en raison d'une part du caractère diffus de ces formes avec des variations importantes tout au long de leur tracé, et d'autre part de la répartition très hétérogène des points LiDAR classés "sol" permettant de les identifier. En particulier, la forte concentration de conifères et le couvert végétal bas encore présent au moment de l'acquisition sont autant d'obstacles à la pénétration du LiDAR. Le modèle numérique de terrain (MNT) construit sur ces points comporte d'importantes approximations difficilement perceptibles par les utilisateurs finaux, mais aussi par les algorithmes de traitement. A l'opposé des solutions existantes basées sur l'analyse du MNT, la solution innovante pour ce projet s'est portée sur un traitement direct du nuage de points, à partir des outils de géométrie discrète développés dans ADAGIo (segments flous, scans directionnels adaptatifs).

Un algorithme général pour la détection interactive de structures linéaires dans les données brutes a été mis au point [49]. A partir d'une barre initiale tracée par l'utilisateur sur le MNT fournissant un scan initial, le profil de points 3D correspondant est analysé pour détecter la présence de la structure. La structure est ensuite recherchée dans les scans adjacents de part et d'autre, jusqu'à l'occurrence d'un nombre limite d'échecs. Les outils de géométrie discrète utilisés dans les traitements confèrent son efficacité à cette approche. Par ailleurs, il est possible de repérer et franchir les secteurs pauvres en points, contrairement aux méthodes exclusivement basées sur l'analyse du MNT.

Extraction interactive d'un chemin creux.
Extraction interactive d'un chemin creux : à gauche, un profil de points; au centre, les scans analysés ; à droite, la structure extraite superposée au MNT (en vert, la barre initiale ; en noir, l'emplacement du profil analysé ; en bleu, les bornes sélectionnées pour la mesure du volume).

L'algorithme a été validé sur deux types de structures. Les pistes forestières, bien marquées dans les vues du MNT, ont servi de vérité de terrain pour évaluer les performances de l'approche : des portions de quelques centaines de mètres de pistes sont extraites à la volée (120 ms en moyenne), avec une précision de l'ordre de 75 % et une couverture de l'ordre de 80 %. Cet algorithme a aussi été adapté pour la détection de structures linéaires en élévation (crêtes, ruptures de pente, vestiges de murs). Une vérification sur des exemples bien visibles a pu être menée pour valider la faisabilité de l'approche.

Suite à ces résultats, l'algorithme d'extraction a été intégré dans une approche entièrement automatique de détection des pistes forestières [50], et testé à plus large échelle. Pour trouver des graines, le filtre morphologique RORPO est appliqué à un rendu basé gradient du DTM, afin de rehausser les formes élongées. Les contours droits sont ensuite extraits à l'aide de FBSD pour placer les graines aux endroits pertinents. Le traitement de l'ensemble du massif du Fossard (un secteur de 78 kilomètres carrés, comportant autour de 755 millions de points) a été traité en 29 minutes sur un ordinateur portable standard. L'outil d'extraction automatique, nommé AMREL (Automatic Mountain Road Extraction from LiDAR data), est accessible sur GitHub avec des données de test.

Enfin, l'algorithme interactif a été complété pour aussi traiter des structures linéaires en creux et permettre l'analyse de leurs profils longitudinal et transversal, ainsi que l'estimation de leur volume [51]. Son utilité en contexte applicatif a été vérifiée sur deux exemples concrets : le relevé de vestiges de murs d'enceinte connus et la recherche de leur prolongement en secteur non encore fouillés par les archéologues; l'étude du profil longitudinal et de la volumétrie de plusieurs types de chemins creux afin de comprendre leur évolution. L'outil de détection, nommé ILSD (Interactive Linear Structures Detector), est accessible sur GitHub.

Modélisation 3D interactive

Le troisième axe porte sur la conception d'outils géométriques pour l'aide à la décision dans des tâches de modélisation 3D interactive.

La modélisation 3D automatique vise la production d'un modèle 3D dense mais peu discriminant de la scène perçue. A l'opposé, la modélisation 3D interactive offre à l'utilisateur la possibilité de composer le modèle 3D en différenciant le niveau de détail porté à chacun des objets composant la scène. Au-delà des aspects liés à l'ergonomie de la réalisation de cette tâche complexe, des incohérences issues du cumul d'erreurs de mesure peuvent survenir et réduire d'autant l'intérêt de cette approche.

L'objectif est donc de produire des outils d'aide à la décision exploitant les résultats des deux premiers axes. Par exemple, il serait utile de fournir à la demande de l'utilisateur des indications sur la confiance accordée au modèle, en propageant dans les calculs d'interprétation 3D (calculs de pose), l'information de qualité issue de l'extraction des indices visuels (segments flous).