Reconstruction 3D d'objets par une representation fonctionnelle - Archive ouverte HAL Accéder directement au contenu
Thèse Année : 2007

Reconstruction of 3D objects using a functional representation

Reconstruction 3D d'objets par une representation fonctionnelle

Résumé

This dissertation focuses on modeling volumetric objects with distance-based scalar fields. The Euclidean distance from a given point in space to a set of points representing the boundary of a solid, corresponds to the shortest distance (defined using the Euclidean norm) between this given point and any other points of the set. Representing a solid by the distance to its boundary is a concise yet powerful method for defining and manipulating solids. Within that domain, we have restricted our attention to the constructive modeling of solids and how to implement set-theoretic operations by functions with certain properties such as: good approximation of the Euclidean distance and smoothness (differentiability) of the resulting function (a property useful for many applications). Constructions of the set-theoretic operations: union, intersection and difference have been introduced and discussed. These functions can then be applied to primitives, defined by the distance to the primitive's boundary, in order to recursively construct complex solids, whose defining function corresponds to an approximation of the distance to the resulting solid's boundary. These functions are a type of R-Function, obtained by modifying the contour lines of the min/max functions (traditionally used to model set operations with implicit surfaces). We call these functions SARDF for Signed Approximation Real Distance Functions. The SARDF framework, made by these operations and primitives defined by the Euclidean distance function, is used for heterogeneous material modeling, where the distance to the shape boundary and material features is used to parameterize the material distribution inside the solid. This framework is implemented as an extension of the HyperFun Java applet and the HyperFun interpreter. Modeling objects in a constructive way, i.e. by recursively applying set-theoretic operations to primitives is a well-known and powerful paradigm in solid modeling. Combined with the functional expression of the final solid and the Euclidean distance property, it provides a powerful tool for solid modeling and applications. The construction of objects following this constructive paradigm may however be tedious and sometimes repetitive. We have considered several approaches to automate this construction. The notion of template model was introduced for this automation purpose, and several algorithms were proposed for optimizing a template model to discrete point-sets (obtained for example with a laser scanner) on or near the surface of a solid. The idea of using template models comes from the observation that most of the solids can be clustered in classes. For example, several vases can have a common shape that can be abstracted by a template model. Parameters governing the shape of the vases can be extracted and then optimized using a combination of meta-heuristics such as Simulated Annealing or Genetic Algorithm and direct methods such as Levenberg-Marquardt or Newton type methods. Defining the template models using the SARDF framework is preferable as it gives better results with the optimization algorithms. Automation of the creation of a constructive model that can further be used as a template model is also considered by using two different approaches. The first approach consists in using genetic programming to create constructive models from a discrete set of points. The second approach creates a constructive model from a segmented point-set and a list of primitives. A genetic algorithm is used to find the best constructive expression involving the primitives fitted to the segmented point-set and operations from a set of possible operations. Both approaches have been implemented and their results discussed.
Nous nous sommes essentiellement intéressés à la modélisation d'objets volumétriques par des champs de distance scalaire. La distance Euclidienne d'un point a un ensemble de points représentant la frontière d'un solide, correspond à la plus petite distance (définie à partir de la norme Euclidienne) entre ce point et n'importe quel point de l'ensemble. La représentation du solide par la distance à la surface du solide est une méthode concise mais relativement puissante pour définir et manipuler des solides. Dans ce cadre, nous nous sommes intéressés à la modélisation constructive de solides, et à la façon d'implémenter les opérations ensemblistes par des fonctions afin de garantir une bonne approximation de la distance ainsi que certaines propriétés de différentiabilité, nécessaire pour plusieurs classes d'opérations ou applications sur les solides. Nous avons construit différents types de fonctions implémentant les principales opérations ensemblistes (union, intersection, différence). Ces fonctions peuvent être ensuite appliquées à des primitives, définies par la distance à la surface de la primitive, afin de construire récursivement des solides complexes, définies eux-mêmes par une approximation à la distance du solide. Ces fonctions correspondent en fait à une certaine classe de R-fonctions, obtenues en lissant les points critiques des fonctions min/max (qui sont elles mêmes des R-fonctions). Ces fonctions sont appelées Signed Approximate Real Distance Functions (SARDF). Le cadre SARDF, constitue des fonctions décrites ci-dessus et de primitives définies par la fonction distance, a été utilisé pour la modélisation hétérogène de solides. La distance, ou son approximation, à la surface du solide ou des matériaux internes est utilisée comme un paramètre pour modéliser la distribution des matériaux à l'intérieur du solide. Le cadre SARDF a principalement été implémenté comme une extension de l'interpréteur d'HyperFun et à l'intérieur de l'applet Java d'HyperFun. La modélisation constructive de solides possède de nombreux avantages qui en font un outil puissant pour la modélisation de solides. Néanmoins, la définition constructive de solides peut être fastidieuse et répétitive. Nous avons étudié différents aspects pour l'automatiser. Dans un premier temps, nous avons introduit la notion de modèles template, et proposé différents algorithmes pour optimiser la forme d'un template à différentes instances correspondant à des nuages de points, sur ou aux alentours de la surface du solide. L'idée des templates vient de l'observation que les solides traditionnellement modélisés par ordinateur peuvent être regroupés en différentes classes possédant des caractéristiques communes. Par exemple, différents vases peuvent avoir une forme commune. Cette forme générale est modélisée une seule fois, et différents paramètres gouvernant les caractéristiques de la forme sont extraits. Ces paramètres sont ensuite optimisés à l'aide d'une combinaison de méta-heuristique comme le recuit simulé ou les algorithmes génétiques avec des méthodes directes du type Newton ou LevenbergMarquardt. L'utilisation du cadre SARDF pour la définition du modèle template est préférable, car donne de meilleurs résultats avec les algorithmes d'optimisation. Nous pouvons maintenant nous demander comment le modèle template est obtenu. Une première solution est d'utiliser les services d'un artiste. Néanmoins, nous pouvons aussi réfléchir pour automatiser ce processus. Nous avons essentiellement étudié deux aspects pour répondre à cette question : la première est l'utilisation de la programmation génétique pour former un modèle constructif à partir d'un nuage de points. La deuxième solution consiste à partir d'un nuage de points segmentés et une liste de primitives optimisés à ce nuage de points segmenté, d'utiliser un algorithme génétique pour déterminer l'ordre et le type d'opérations qui peuvent être appliquées à ces primitives. Ces deux solutions ont été implémentées et leurs résultats discutés.
Fichier principal
Vignette du fichier
These_francaise.pdf (4.31 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00476678 , version 1 (27-04-2010)

Identifiants

  • HAL Id : tel-00476678 , version 1

Citer

Pierre-Alain Fayolle. Reconstruction 3D d'objets par une representation fonctionnelle. Interface homme-machine [cs.HC]. Université d'Orléans, 2007. Français. ⟨NNT : ⟩. ⟨tel-00476678⟩
278 Consultations
892 Téléchargements

Partager

Gmail Facebook X LinkedIn More