• Aucun résultat trouvé

4.4 Initialisation des paramètres

5.1.3 Cas dégénérés

Indépendamment du critère, le point crucial dans le domaine de la sélection de modèle concerne les cas dégénérés. Les termes «modèles emboîtés» (nested models), «sur-modèle», ou «sur-ajustement» (over-fitting) désignent la même notion. Pour se faire une idée, considérons un exemple de régression linéaire où l’on ajuste un modèle de type y = ax + b et un modèle de type y = ax2+ bx + c. Si l’on

fait abstraction de l’aspect numérique, l’ajustement du deuxième modèle est toujours meilleur que l’ajustement du premier modèle. En effet, le deuxième modèle est supérieur au premier en ce qu’il a la possibilité de devenir comme le premier mais qu’il décrit également d’autres situations. Ceci veut dire que si l’on regarde simplement l’erreur quadratique, le deuxième modèle est toujours le meilleur, même si les données sont en réalité sur un modèle du premier type. En fait, si les données sont par- faites (sans bruit), les deux modèles donnent des résultats équivalents. Par contre, si les données sont bruitées, le second modèle ajuste mieux les données, même si celles-ci se trouvent — au bruit près — sur un modèle du premier type. L’idée intuitive est claire : pour le second modèle, il existe un paramètre en plus, donc un degré de liberté supplémentaire, c’est-à-dire plus de moyens de s’adapter aux formes des données. Le concept de cas dégénéré désigne alors la situation où le second modèle est pratiquement égal au premier modèle.

Parmi les primitives que nous avons introduites, il existe de tels cas (Figure 5.3). Les cas de dégénérescence entre primitives sont indiqués sur le schéma de la figure5.4.

Remarque

Notons que les cas dégénérés dépendent de la paramétrisation des primitives. En effet, dans [MLM01], les paramètres choisis pour le tore sont tels qu’un cône est un cas dégé- néré de tore, ce qui n’est pas le cas ici.

132 CHAPITRE 5. SÉLECTION ET VALIDATION DE MODÈLE

FIG. 5.3 – Cas dégénérés : tore dégénéré en sphère (à gauche), cône dégénéré en cylindre (à droite).

plan Sphère

Cylindre Tore

Cône

FIG. 5.4 – Hiérarchie des cas dégénérés parmi les primitives libres avec les paramétrisations décrites section4.3.

D’autre part, le diagramme de la figure5.4est théorique. En pratique, cela dépend des paramétri- sations choisies pour les primitives. Plus précisément, le comportement est différent si l’on choisit des paramètres tels que les cas dégénérés peuvent être atteints ou tels que les cas dégénérés sont seulement des cas limites. Par exemple, dans notre paramétrisation, pour qu’un cône devienne un cylindre, il faut que le demi-angle au sommet soit nul et que le sommet se trouve à l’infini. Le demi-angle au sommet peut fort bien atteindre la valeur 0. Par contre, le sommet ne peut pas atteindre l’infini, et la valeur re- tournée dépend de l’algorithme d’estimation. Par contre, si l’on choisit comme paramètres, au lieu du sommet du cône, la projection orthogonale de l’origine sur l’axe du cône et une valeur de rayon à ce point (comme c’est le cas dans [MLM01]), alors le cône peut atteindre son cas dégénéré cylindrique. En résumé, pour les paramètres qui ont été choisis ici, les cas dégénérés ne sont pas toujours tout à fait atteints. Ceci dépend également des procédés d’initialisation. Ceci signifie par exemple que sur un nuage de points représentant un cylindre, l’ajustement d’un cône sur ces points ne donnera pas systé- matiquement une meilleure erreur quadratique que l’ajustement du cylindre, alors que ceci devrait être le cas en théorie. Ceci ne constitue pas forcément un problème, et peut même être considéré comme intéressant, dans la mesure où notre approche est justement de trouver des primitives non-dégénérées, en essayant successivement tous les types de primitives.

Afin d’éliminer les cas dégénérés, la méthode employée a été d’imposer des contraintes sur la valeur de certains des paramètres des primitives. La figure 5.5montre les contraintes utilisées pour chaque lien de dégénérescence.

Les primitives contraintes, telles que celles présentées au chapitre 4, sont également sujettes aux cas dégénérés. Un «tore après cylindre» peut par exemple dégénérer en «cylindre sécant de rayon fixe». Un réducteur (excentrique ou non) peut dégénérer en cylindre. Un «cylindre sécant» peut de- venir un «cylindre sécant de rayon fixé», qui peut lui-même devenir un «cylindre-rotule» (mais la

5.1. SÉLECTION DE MODÈLE 133

134 CHAPITRE 5. SÉLECTION ET VALIDATION DE MODÈLE

primitive sous-jacente est toujours un cylindre). Les contraintes appliquées ici sont essentiellement celles introduites pour les primitives libres. Les deux seuls cas de contraintes propres aux primitives contraintes qui ont été intégrées sont :

– une limite de l’angle formé par un «cylindre-rotule» avec le cylindre précédent, imposé inférieur à 45˚ en pratique,

– une limite sur le rapport entre grand et petit rayon pour le «tore après cylindre», imposé inférieur à 20, pour les applications du chapitre3.

Ces valeurs limites dépendent des scènes à traiter : du type de scène, mais aussi de l’unité des points mesurés (mm, m, pieds,...). En pratique, elles sont spécifiées par l’utilisateur dans le logiciel (Figure5.12, page139).

Au final, la primitive choisie est celle rendant la quantité e0minimum parmi celles qui sont compa- tibles avec les contraintes. Comme il n’y a pas de contraintes sur le plan, l’algorithme rend toujours une primitive.