FIGURE4.9 – Repr ´esentation de la distance entre la surface mod ´elis ´ee et les points 3D.
a-b) Distance primitive/points 3D dans le cas d’un cylindre avant et apr `es ajustement de
la primitive sur les points. c-d) Distance primitive/points 3D dans le cas d’un plan.
Alistair Forbes [100] propose une m ´ethode permettant d’ajuster une forme g ´eom ´etrique
sur des donn ´ees tridimensionnelles par la m ´ethode de Gauss-Newton [90]. L’algorithme
de Gauss-Newton ´etant une m ´ethode de r ´esolution des probl `emes de moindres carr ´es
non lin ´eaire, le temps de calcul pour converger vers une solution peut parfois s’av ´erer
as-sez long, or la contrainte du temps de calcul est un crit `ere important dans un syst `eme
dy-namique. Dans le but de r ´eduire le temps de calcul, nous proposons d’utiliser la primitive
obtenue avec l’ACP sur les donn ´ees de la sph `ere gaussienne comme forme g ´eom ´etrique
initiale de l’algorithme. La primitive mod ´elis ´ee ´etant tr `es proche de celle recherch ´ee, il est
possible de converger vers le r ´esultat optimal en quelques it ´erations seulement. La figure
4.9 illustre l’ ´evolution de la distance orthogonale entre les points 3D et la surface de la
pri-mitive mod ´elis ´ee avant et apr `es ajustement par la m ´ethode pr ´esent ´ee par Alistair Forbes
[100]. On peut constater une v ´eritable am ´elioration suite `a l’ajustement de la primitive.
4.3.2/ AFFINAGE DE LA SEGMENTATION
L’identification de la primitive se fait `a partir d’une analyse statistique sur des objets
pr ´ealablement segment ´es. De ce fait, m ˆeme si la segmentation n’est pas parfaite, il
est malgr ´e tout possible d’extraire et de mod ´eliser une primitive `a partir du moment
o `u celle-ci est repr ´esent ´ee par une grande majorit ´e des points. La figure 4.10 illustre
deux cas o `u il est possible d’extraire une primitive malgr ´e la pr ´esence d’ ´el ´ements mal
segment ´es n’appartenant pas `a la primitive (les bordures dans le cas du cylindre et la
pr ´esence de rivets `a t ˆete ronde sur un plan). On constate ´egalement sur cette m ˆeme
figure que la distance entre la primitive mod ´elis ´ee et les points 3D devient importante
dans les zones mal segment ´ees.
Nous proposons de segmenter les objets pour lesquels la distance entre la surface et
les points 3D est sup ´erieure `a une certaine tol ´erance. Ainsi, ne seront conserv ´es que les
points 3D appartenant effectivement `a la primitive. Les zones ainsi re-segment ´ees
forme-ront alors de nouvelles r ´egions qui seforme-ront raffin ´ees lors de l’it ´eration suivante du syst `eme.
Toutefois, un probl `eme persiste avec cette approche. En effet, `a aucun moment nous
ne v ´erifions que la primitive estim ´ee sur les donn ´ees est correcte. Supposons un
sous-nuage de pointsN(p)identifi ´e comme appartenant `a une primitive. Apr `es ajustement de
la primitive, tous les points dont la distance `a la surface est sup ´erieure `a une tol ´erance
fix ´ee sont alors rejet ´es de la primitive. Cependant, dans le cas o `u le ratio entre le nombre
de points rejet ´es et le nombre de points initiaux est important, il est alors judicieux de
penser que la primitive identifi ´ee ne correspond pas r ´eellement aux donn ´ees. Ainsi, pour
4.3. EXTRACTION DES PRIMITIVES 85
(a) (b)
(c) (d)
FIGURE4.10 – Distance entre les points 3D et la primitive mod ´elis ´ee sur des objets mal
segment ´es. a-b) Objets mal segment ´es. c-d) Distance entre la surface de la primitive et
les points 3D respectivement pour les objets a) et b).
r ´esoudre ce probl `eme nous proposons d’ajouter un test qui permettra de v ´erifier si la
primitive suppos ´ee est correcte ou non. Ce test sera effectu ´e sur le ratior :
r= N
rN
i, (4.2)
avecN
rle nombre de points rejet ´es (points dont la distance `a la surface est sup ´erieure `a
une certaine tol ´erance) etN
ile nombre de points qui composent la primitive. La question
qui se pose alors est la suivante : quel ratio choisir pour d ´ecider si une primitive est
correcte ou non ?
• Dans le cas o `u le ratiorest important (on autorise peu d’outliers), en cas de mauvaise
segmentation (figure 4.10) il y a de fortes chances que la primitive soit rejet ´ee. De
ce fait, l’algorithme ne marquera pas la zone qui sera alors raffin ´ee. Autrement dit, un
seuil trop important rend notre syst `eme de num ´erisation moins performant en cas de
mauvaise segmentation.
• A contrario, si le ratio est faible (beaucoup d’outliers) il y a un risque d’identifier une
r ´egion par une primitive qui ne correspond pas aux donn ´ees et du coup de
sur-segmenter cette zone. Un seuil trop faible implique donc une erreur potentielle sur
la primitive ainsi qu’une sur-segmentation de l’objet.
Le choix du ratiord ´epend fortement de l’application vis ´ee. Si l’application finale consiste
`a obtenir un mod `ele pr ´ecis, il faut ´eviter au maximum les erreurs sur l’identification des
pri-mitives. Inversement, si l’objectif consiste `a obtenir un nuage peu dense ou de mod ´eliser
l’objet par un maximum de primitives, il faudra adapter le ratio r afin de ne pas rejeter
syst ´ematiquement les primitives.
4.3.3/ SYNTHESE`
Le syst `eme de num ´erisation dynamique pr ´esent ´e jusqu’ `a pr ´esent proc `ede de la fac¸on
suivante. Il calcule des points 3D depuis les images du scanner pour une densit ´ed =1/i,
puis extrait ensuite des informations compl ´ementaires afin d’identifier des primitives. S’il
existe des primitives, celles-ci sont alors ajust ´ees afin de v ´erifier que la primitive identifi ´ee
correspond bien aux donn ´ees. Dans ce cas, une nouvelle segmentation est effectu ´ee
si besoin afin de ne conserver que les points correspondant r ´eellement `a la primitive
identifi ´ee. Le syst `eme est ensuite re-boucl ´e et calcule de nouveau des points 3D pour une
densit ´ed=1/(i−1)except ´e dans les zones marqu ´ees comme appartenant `a une primitive
lors de l’it ´eration pr ´ec ´edente. Le syst `eme suit ce proc ´ed ´e r ´ecursif jusqu’ `a atteindre la
densit ´e maximaled=1/1ou jusqu’ `a ce qu’une condition d’arr ˆet soit atteinte.
4.4/ SURFACES PARAMETRIQUES´
Bien que le syst `eme s’applique avant tout `a des pi `eces manufactur ´ees, celles-ci ne
sont pas syst ´ematiquement compos ´ees de primitives g ´eom ´etriques simples. Dans ce
cas, le syst `eme ne sera pas en mesure d’identifier des primitives et ne marquera alors
aucune zone, rendant ainsi notre syst `eme inefficace. Comme mentionn ´e pr ´ec ´edemment,
pour r ´esoudre ce probl `eme et ne pas limiter notre syst `eme aux seules primitives
g ´eom ´etriques, il convient d’en introduire de nouvelles. N’ayant pas d’a priori sur la forme
de l’objet, nous avons choisi d’ ´etudier des primitives pouvant s’adapter `a toutes les
formes : les surfaces param ´etriques.
Le but est d’approximer des surfaces param ´etriques sur les r ´egions n’ ´etant pas associ ´ees
`a une primitive puis de comparer l’ ´evolution de ces surfaces entre deux it ´erations
succes-sives de notre syst `eme. Si la surface a ´evolu ´e entre deux it ´erations, le fait de calculer de
nouveaux points ayant permis de raffiner la r ´egion, il est pertinent de continuer `a raffiner
la zone concern ´ee. A l’inverse, si la surface d’une r ´egion n’ ´evolue plus, calculer
d’avan-tage de points est inutile. Dans ce cas, la zone est alors marqu ´ee et ne sera plus trait ´ee
par la suite.
4.4. SURFACES PARAM ´ETRIQUES 87
4.4.1/ SURFACES DE B ´EZIER
Il existe diff ´erentes surfaces param ´etriques souvent utilis ´ees en 3D. Les plus connues
sont les surfaces de B ´ezier [101], les B-splines et les NURBS [54]. Notre choix s’est
port ´e sur les surfaces de B ´ezier, qui sont souvent utilis ´ees en conception assist ´ee par
ordinateur (CAO). A noter qu’il est tout `a fait possible de remplacer les surfaces de B ´ezier
par des B-splines ou des NURBS. Cependant, dans notre application les surfaces de
B ´ezier ´etant largement suffisantes nous avons opt ´e pour celles-ci.
4.4.1.1/ COURBES DEB ´EZIER
Les surfaces de B ´ezier ont ´et ´e invent ´ees par Pierre B ´ezier [102, 103] afin de mod ´eliser
des pi `eces de carrosseries automobiles. Ces surfaces sont compos ´ees de courbes de
B ´ezier (figure 4.11), qui sont des courbes polynomiales param ´etriques permettant de
faire une approximation entrenpoints.
(a)
(b)
FIGURE4.11 – Repr ´esentation tridimensionnelle des courbes et carreaux de B ´ezier. a)
Courbe de B ´ezier. b) Carreau de B ´ezier cubique.
Les courbes de B ´ezier d’ordre n sont d ´efinies par n+1 points de contr ˆole de la fac¸on
Dans le document
Chaine 3D interactive
(Page 96-101)