Création de modèles précis de plantes à partir de scan 3D



Documents pareils
RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Ebauche Rapport finale

Chapitre 1 : Introduction aux bases de données

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Logiciel SCRATCH FICHE 02

Chapitre 1 I:\ Soyez courageux!

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

LE PROBLEME DU PLUS COURT CHEMIN

Traitement de texte : Quelques rappels de quelques notions de base

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Géométrie dans l espace Produit scalaire et équations

Table des matières. 3kernels.free.fr QR-Codes 2 / 6

Gestion de projet. GanttProject Didacticiel V novembre Gérard Gervois Frédéric Giamarchi

Classer et partager ses photographies numériques

Samsung Drive Manager FAQ

Rapidolect Les Productions de la Columelle ( ) Page 1

Dossier table tactile - 11/04/2010

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Capture Pro Software. Démarrage. A-61640_fr

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Réussir et traiter ses photos sous UV avec Photoshop

Date : Tangram en carré page

SweetyPix, mode d'emploi

Seconde et première Exercices de révision sur les probabilités Corrigé

500 W sur 13cm avec les modules PowerWave

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Algorithmes d'apprentissage

Introduction : Cadkey

modélisation solide et dessin technique

Calage robuste et accéléré de nuages de points en environnements naturels via l apprentissage automatique

REALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE

Logiciels concernés. Situation. Ciel et le pont comptable. Note conçue et rédigée par Jalons sprl tous droits réservés - 27/06/2007.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Partie 7 : Gestion de la mémoire

Réaliser une recherche avec le logiciel documentaire PMB

S'organiser pour ne plus se noyer dans l'information

Installation de Windows 2003 Serveur

Gestion de la Relation Client (GRC)

Vers l'ordinateur quantique

NOTIONS DE PROBABILITÉS

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

1 sur 5 10/06/14 13:10

Régression linéaire. Nicolas Turenne INRA

Compte-rendu de projet de Système de gestion de base de données

Recherche dans un tableau

CHAPITRE VIII : Les circuits avec résistances ohmiques

PREFECTURE DE L OISE. Beauvais, le 2 mai Objet : modification du régime juridique des biens vacants sans maître

Mathématiques et petites voitures

Algorithmes de recherche

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Sécuriser les données 1

PREINSCRIPTION EN LIGNE

Année Universitaire 2009/2010 Session 2 de Printemps

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Choisir entre le détourage plume et le détourage par les couches.

Assurance Vie en Ligne

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o Création d'animation

Copropriété: 31, rue des Abondances Boulogne-Billancourt

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

Qu est ce qu une bibliothèque?

Contenus détaillés des habiletés du Profil TIC des étudiants du collégial

Algorithmique avec Algobox

CORRECTION EXERCICES ALGORITHME 1

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

chapitre 4 Nombres de Catalan

Télécom Nancy Année

Utilisateur. Auteurs. Laurent project engineer

Récupération de fichiers effacés avec Recuva 1/ 5

Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation

a) La technique de l analyse discriminante linéaire : une brève présentation. 3 étapes de la méthode doivent être distinguées :

Introduction au maillage pour le calcul scientifique

D'UN THÉORÈME NOUVEAU

LibreOffice Calc : introduction aux tableaux croisés dynamiques

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

Gérer ses impressions en ligne

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista)

Unitecnic 2210 Unitecnic 2210 CS

WEBINAIRE SUR LE SUIVI DE TENDANCES

Didacticiel du service cartographique en cache

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

La segmentation à l aide de EG-SAS. A.Bouhia Analyste principal à la Banque Nationale du Canada. Chargé de cours à l UQAM

Géométrie Algorithmique Plan du cours

Bac Professionnel Systèmes Electroniques Numériques

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Découverte et prise en main de SWEET HOME 3D

Systèmes d'exploitation virtuels

Travaux pratiques avec RapidMiner

v7.1 SP2 Guide des Nouveautés

La correction des erreurs d'enregistrement et de traitement comptables

Utilisation du visualiseur Avermedia

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :


Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Upgrade du Huawei U8230 : Android 2.1 et rom custom

Transcription:

Création de modèles précis de plantes à partir de scan 3D Aufrere Pierre April 11, 2011 Table des matières 1 Introduction 2 2 État de l'art 3 3 Algorithme implanté 4 3.1 Base de quatre points coplanaires..................... 4 3.1.1 Élément invariant d'une base................... 5 3.2 Correspondance de bases.......................... 6 3.3 La meilleure transformation avec RANSAC............... 6 3.3.1 Le principe............................. 6 3.3.2 Utilisation dans 4PCS....................... 7 4 Implantation & Choix 7 4.1 Base coplanaire............................... 8 4.2 Invariants.................................. 8 4.2.1 Tri des points............................ 8 4.2.2 Calculs............................... 8 4.3 Correspondance de bases.......................... 10 5 Résultats & conclusion 10 6 Bibliographie 11 7 Remerciement 11 1

1 Introduction An de réaliser des modèles 3D de plante pour ensuite les étudier, les biologistes eectuent des scans 3D de plante. Ces scans consistent en des nuages de points dans l'espace dont l'acquisition a été faite avec des lasers (gure 2). Cependant pour obtenir un modèle complet, il faut prendre plusieurs scans d'une même plante sous diérents angles avec un certain chevauchement entre les diérentes prises de vue. Ainsi à la n du processus d'acquisition, on obtient plusieurs ensembles qui ont certains des points en commun. L'étape suivante consiste à reconstituer la plante à l'aide des diérents points de vu capturés. Pour cela, il faut positionner les scans les uns par rapport aux autres, i.e. les aligner en fonction des points communs qu'ils possèdent. Cette opération est appelée recalage (registration en Anglais). Ce problème présente plusieurs dicultés : - Les scans représentent des données très lourdes (jusqu'à 1,5 millions de points). Ce qui rend les techniques habituelles diciles à utiliser. - Les modèles 3D obtenus sont bruités. Le scanner eectue des erreurs de mesure et induit un "vent" sur les scans (gure 1). En eet regardé sous le bon angle de vu, il apparait un étalement des points dans la direction de projection des rayons de mesure. Figure 1 Nuage de points pour un pommier, entouré en rouge, on voit clairement apparaitre l'eet de trainée 2

Figure 2 Principe d'un scanner 3D pour prendre plusieurs angles de vue Ce travail à été réalisé au sein de l'équipe Morphéo de l'inria Rhône-Alpes. Il s'inscrit dans un projet plus large consistant à créer des modèles 3D de plantes précis pour pouvoir e ectuer des mesures dessus (volume de bois, surface foliaire totale, distribution spatiale des feuilles, etc). Une fois les scans alignés, il faut constituer un maillage (relier les points entre eux), puis identi er les di érents éléments constituants la plante. Pour plus d'informations, voir la page du sujet.[6] Mon travail consistait à trouver un algorithme a priori bon pour aligner les scans, à l'implanter puis à analyser les résultats. On présente donc ici l'algorithme utilisé et les résulats obtenus. Cependant ces derniers ne sont que peu nombreux et ne prennent pas en compte tout l'algorithme. En e et j'ai e ectué quelque mauvais choix et eu des di cultés sur certaines parties de l'algorithme di cile à réaliser. Le retard pris m'a ensuite été très di cile à rattraper. 2 État de l'art Un des algorithmes les plus utilisés est l'algorithme de l'iterative Closest Point. Le concept est le suivant : Soit deux ensembles de point P et Q que l'on cherche à aligner. - Sélection de plusieurs points dans P. - Trouver des correspondants de ces points dans l'ensemble Q. - Associer un point à chacune des corespondances. - Rejeter les correspondances selon un critère dé ni. - Créer une mesure métrique basée sur les paires de points. - Minimiser cette erreur Soit un sous-ensemble de P point (ak ). On cherche à associer un point correspondant à ak dans Q, bk. Cela peut être réaliser en cherchant le point le plus proche de ak dans Q. On donne ensuite un point fk à la correspondance ak bk. 3

Il faut ensuite rejeter toutes les correspondances a k b k selon un certain critère sur le poids associé à l'étape précédente. Pour chacune des correspondances, il va falloir trouver la meilleure transformation amenant a k en b k. C'est l'objectif de la dénition d'une mesure e. On cherche la transformation T envoyant a k en b k minimisant la mesure e. Pour eectuer cette dernière étape, il est possible d'utiliser l'algorithme RANSAC décrit en section 3.3.1. Pour chacune de ces étapes, il existe plusieurs possibilité discutées dans [7]. Cette méthode n'a pas été retenue car elle présentait a priori quelques défauts : Pour avoir de bons résultats, il faut un nombre de points relativement important, ce qui pourrait être très coûteux sur les données que nous avons. La spécicité des scans de plantes se traduit pas la présence de certains points très proches les uns des autres qui doivent être discriminés. Typiquement à la base d'une branche ou quand deux branches nes sont proches l'une de l'autre. ICP est sensible au bruit. C'est pourquoi une autre méthode a été choisie : les ensembles conrrespondant selon 4 points (Four Points Congruent sets en Anglais), 4PCS. [1]. L'algorithme est présenté dans la section suivante, ainsi que l'implantation qui en a été faite, les problèmes rencontrés, les résultats obtenus et leurs interprétations. 3 Algorithme implanté L'algorithme 4PCS se base sur le principe suivant : Soit deux ensembles de points à recaler P & Q - La première étape consiste à trouver une base B de 4 points coplanaires dans P - Chercher l'ensemble U des bases correspondantes à B dans Q - Chercher les transformations alignant B et les bases de l'ensemble U - Sélectionner la meilleure transformation à l'aide de RANSAC Il s'agit donc de trouver un plan dans l'ensemble P et de trouver la transformation qui aligne ce plan avec un plan ressemblant dans l'ensemble Q. En supposant que tous les autres points de l'ensemble Q qui correspondent ont subit la même transformation. Les sections suivantes précisent le vocabulaire et en quoi consiste chacune des étapes. Pour simplier, on considère que l'on cherche à aligner deux ensembles de points P (source) et Q (destination). 3.1 Base de quatre points coplanaires Une base coplanaire d'un ensemble est un ensemble de quatre points appartenant à P et coplanaires. En pratique, il est très dicile de trouver une base tout à fait coplanaire. C'est pourquoi on sélectionne un critère ɛ pour déterminer si une base est ɛ-coplanaire. Voir la section Simplications & Choix pour les détails d'implantation et la prise en compte d'ɛ. Pour choisir les points de la base, on procède aléatoirement. Il existe cependant un critère introduit par l'article pour le choix des bases : le paramètre de chevauchement. Celui-ci doit être une fraction estimant le pourcentage de chevauchement (i.e. de points communs) entre les deux ensembles de points. Une fois ce paramètre xé, on sélectionne trois point aléatoirement. Le quatrième est cherché à distance d qui vérie correpondant à d = maxoverlap d max où overlap est la valeur du paramètre de chevauchement et d max la distance maximale entre deux points de l'ensemble. En eet l'article mentionne qu'il est important de sélectionner une base susament 4

grande (en terme de distance) pour que l'algorithme soit le moins sensible possible au bruit. Mais choisir une base trop grande implique un mauvais alignement. Une fois cette base choisie, il faut chercher des bases correspondantes dans l'ensemble de points Q. Pour cela nous utilisons : - Des isométries - Les invariants d'une base Nous allons chercher la meilleure isométrie (au sens des moindres carrés) qui aligne deux bases avec les mêmes invariants (à un critère δ près). L'article d'origine se base sur un algorithme utilisant des bases de 3 points. En eet 3 points dans l'espace sont toujours coplanaires et les calculs eectués dans RANSAC (voir 3.3.1) sont simpliés si les points sont exactement coplanaires. Cependant, le fait de n'avoir que trois points oblige à vérier une fois l'alignement fait, que les points soient eectivement alignés comme il faut. (voir gure 3). Figure 3 Mauvais alignement avec trois points [1] Le fait de chercher l'alignement avec des bases de quatre points limite ce genre de problème. Cela permet aussi d'améliorer la précision des correspondances. 3.1.1 Élément invariant d'une base Soit une base B de P. Les invariants de cette base sont deux rapports r 1 et r 2 qui ne sont pas modiés par l'isométrie. Ces deux invariants ont la particularité d'être liés à la géométrie de la base, il est donc particulièrement intéressant de les choisir comme critères d'alignement : cela permet d'aligner P et Q en fonction de deux bases qui ont une probabilité forte d'être semblable. Soit le point e intersection des deux segments ab et cd dénis par les quatre points de la base B (il est toujours possible de choisir les points de telle sorte que ces segments existent). On dénit les rapports de la façon suivante : 5

Figure 4 Les invariants d'une base coplanaire [1] Ces deux rapports vont ensuite être utilisés pour déterminer si la base B et une base de Q se correspondent. 3.2 Correspondance de bases La correspondance de bases consiste à choisir un ensemble de bases correspondant potentiellement à la base B de P. Une fois cet ensemble de bases déterminer, on choisit la meilleure base à l'algorithme RANSAC. Le point cruciale de l'algorithme 4PCS consiste en l'utilisation d'une structure en arbre pour la recherche des bases qui correspondent potentiellement à B. [2][3] 3.3 La meilleure transformation avec RANSAC 3.3.1 Le principe L'algorithme RANSAC (RANdom Sample Consensus) [5] est un des algorithmes les plus utilisés pour trouver la meilleure transformation alignant un ensemble de point et un modèle (gure 5). Cette transformation est recherché comme la composition d'une rotation, d'une transaltion et d'une mise à l'échelle. Le plus dicile étant de trouver la bonne rotation. 6

(a) Nuage source (b) Résultat après application de la transformation trouvée par RANSAC Figure 5 Un exemple d'application 2D de RANSAC : alignement d'un modèle de droite à un nuage de point [10] Pour trouver une telle transformation T, il sut théoriquement de trois points. Mais les calculs informatiques sur des réels étant impossibles, des erreurs sont commises et il faut plus de points pour trouver T. Il faut également déterminer un critère pour séparer les bonnes et les mauvaises transformations. RANSAC le fait en considérant pour une transformation des types de points diérents : les points correspondants au modèle et les points aberrants par rapport au modèle. RANSAC va donc tester aléatoirement un certain ensemble de transformation envoyant la source vers la destination. Pour chacune de ces transformations, l'algorithme compte le nombre de correspondants trouvés et le nombre de points aberrants. La meilleure transformation renvoyée est celle ayant le plus grand nombre de point correspondant. Le processus de sélection d'une transformation parmi un ensemble tiré au hasard est répété plusieurs fois (200 à 500 fois) pour obtenir asymptotiquement un meilleur résultat. 3.3.2 Utilisation dans 4PCS Dans le cas de 4PCS, RANSAC est appliqué pour déterminer la meilleure base dans Q correspondante à celle (B) choisie au tout début de l'algorithme dans P. On cherche la meilleure transformation entre toutes les bases sélectionnées et B. Est gardée celle qui est la plus consitante selon RANSAC. Toutes les étapes de 4PCS depuis la sélection de la base est répété plusieurs fois, toujours pour obtenir un meilleur résultat asymptotiquement. 4 Implantation & Choix Dans le cadre du TER, j'ai pu implanter l'algorithme 4PCS jsuqu'à l'étape de calcul des invariants d'une base. Je n'ai pas pu implanter la recherche de base correspondante ni le calcul de la meilleure transformation. Tout mon travail était basé sur le code du chargeur de chier (tview) réalisé par Marc Aubert. Je présente dans cette section les résultats obtenus (gure 6a, 6b, 7). 7

4.1 Base coplanaire Il m'a d'abord fallu trouver une solution pour déterminer une base coplanaire dans le premier ensemble (gure 6a et 6b). J'ai pour cela procédé, comme le suggérait l'article, aléatoirement. L'algorithme écrit pour cette partie consiste donc à selectionner trois points diérents aléatoirement puis un trouver un quatrième point, toujours aléatoirement, coplanaire aux trois précédents. Pour déterminer si quatre points sont coplanaires, j'utilise le volume du tétraèdre engendré par les 4 points de la base. Pour prendre en compte le critère ɛ, une base est considérée coplanaire si le volume du tétraèdre est ɛ. 4.2 Invariants Cette partie est celle qui m'a posé le plus de problème. J'ai longtemps tourné en rond sur diérentes solutions envisagées, il m'a ensuite été dicile de debugger la solution retenue. Celle actuellement écrite est acceptable, cependant, si au départ les bases trouvées semblaient très bonnes, elles le sont moins désormais et il n'y a souvent que trois points qui sont sélectionnés au lieu de quatre. Ce qui fait perdre son intérêt à la technique 4PCS. Une première solution envisagée pour calculer les rapports était de ne pas prendre deux rapports invariants mais un seul qui aurait été le rayon de la sphère circonscrite aux points de la base. Cependant cette solution n'est pas intéressante car on perd toute l'information sur la forme de la base. C'est pourquoi la solution retenue conserve les deux rapports invariants et est implantée de la façon suivante : - Tri des points de la base dans le bon ordre. - Calcul des invariants. 4.2.1 Tri des points Le but du tri préalable des points est de pouvoir sélectionner facilement les segments de la base de telle sorte qu'ils s'intersectent (si la base est coplanaire). Pour eectuer ce tri, j'ai d'abord remarqué qu'il était très facile de trouver les bons points s'ils étaient triés dans l'ordre de l'enveloppe convexe dans la base. il sut alors de choisir comme segment p 0 p 2 et p 1 p 3. J'eectue donc d'abord un changement de base (Selon le procédé de Gram-Schmidt [9]) pour avoir les coordonnées de chaque point dans la base coplanaire. Puis je trie le tableau selon l'algorithme du Graahm scan [8]. 4.2.2 Calculs Pour le calcul des invariants, il faut ensuite trouver le point e tel que montré précédemment. Je recherche donc la droite la plus courte entre les deux segments [4] (gure 7 et 6a). Puis je prends le milieu de ce segment (En vert gure 7). Les résultats donnés par cet algorithme ne sont pas toujours très bons et dépendent encore beaucoup de l'exécution. Il faut donc encore debugger cette partie. 8

(a) (b) Figure 6 Résultat d'obtention d'une base 9

Figure 7 Résultat d'obtention d'une base. En bleu, les segments identiés pour le calcul des invariants. En vert, le point e servant au calcul des rapports r 1 et r 2 Les gure 6a, 6b, 7 montre le genre de base que l'on obtient pour l'instant. On constate qu'elles peuvent être très bonnes : celle de l'image 7 est d'ailleur pratiquement coplanaire. En revanche, la droite de plus courte distance est toujours mal placée. 4.3 Correspondance de bases J'ai entamé le début primitif de la correspondance de bases. Toute fois sans utiliser la structure complexe proposée par l'article. Je suis simplement parti pour chercher dans toute les bases celles qui pourraient correspondre, c'est-à-dire celle dont les rapports r 1 et r 2 sont à une distance maximale d'un critère δ. 5 Résultats & conclusion Les résultats sont toutes fois assez encourageants jusqu'à maintenant. Les bases trouvées semblent tout à fait correcte et même parfois très bonnes pour aligner les diérents scans. Cependant de bons résultats s'obtiennent uniquement si le paramètre de chevauchement est correctement xé. En eet, le choix de ce paramètre est beaucoup plus critique pour trouver une base, que la valeur d'ɛ pour déterminer si une 10

base est coplanaire ou non. Or l'article source ne donne pas de méthode systématique pour trouver ce paramètre. Cependant sur les scans Konica (un des scanner 3D dont on nous avait fourni des scans), la valeur 50% du paramètre semble un bon choix. il apparaît dans les expérimentations que si le paramètre de chevauchement est trop grand, alors les bases trouvées prennent parfois en compte des points qui sont du bruit, induisant indubitablement une erreur dans le recalage. Malgré tout, il semble donc que la poursuite de l'implantation de cet algorithme soit une bonne piste pour recaler correstement des scans de plantes. Il semble bien adapté au problème. Et si toutes fois des problèmes apparaissaient, sa modication en conséquence serait peut-être plus aisée que d'autre algorithmes. En ce qui concerne le paramètre de chevauchement, le processus étant systématique, peut-être qu'une étude en fonction de la machine permettrait de déterminer, en fonction du modèle de scanner, la bonne valeur du paramètre à utiliser. 6 Bibliographie Références [1] D. Aiger, N. J. Mitra, and D. Cohen-Or. 4-points congruent sets for robust surface registration. ACM Transactions on Graphics, 27(3) :#85, 110, 2008. [2] Arya, Mount, Netanyahu, Silverman, and Wu. An optimal algorithm for approximate nearest neighbor searching xed dimensions. JACM : Journal of the ACM, 45, 1998. [3] Sunil Arya, David M. Mount, Nathan S. Netanyahu, Ruth Silverman, and Angela Y. Wu. An optimal algorithm for approximate nearest neighbor searching in xed dimensions. 2008. [4] Paul Bourke. The shortest line between two lines in 3d, 1998. [5] Berthold K. P. Horn. Closed-form solution of absolute orientation using unit quaternions. J. Opt. Soc. Am. A, 4(4) :629642, Apr 1987. [6] INRIA. Plantscan3d. [7] Szymon Rusinkiewicz and Marc Levoy. Ecient variants of the icp algorithm. jun 2001. [8] Wikipedia. Graham scan. [9] Wikipedia. Gram-schmidt process. [10] Wikipedia. Ransac. 7 Remerciement Merci à Franck Hetroy et Dobrina Boltcheva pour leur aide et leur accueil. Je remercie également toute l'équipe Morphéo et l'inria pour leur accueil. 11