Professional Documents
Culture Documents
S
r = (k
max
+k
min
).n (3.7)
Avec
S
qui est le Laplacien de surface (aussi connu sous le nom doprateur de Laplace-
Beltrami). Mais aussi le fait, nettement moins connu, que :
S
n = (k
2
max
+k
2
min
).n
S
(k
max
+k
min
) (3.8)
Ou
S
et loprateur gradient la surface tangentielle (cette formule est dmontre dans
[Weatherburn 27], 119).
34
Notons que ces deux quations impliquent que :
S
r.n = k
max
+k
min
et
S
n.n = (k
2
max
+kmin
2
)
Ce qui permet de dterminer directement les courbures principales lorsquon connait
S
et
n.
De plus, si on considre que la surface S est dnie par sa forme implicite F(x) = 0 avec
x = (x
1
, x
2
, x
3
), le coecient dextrmalit e = k/t sera donn par la formule :
e = k.t =
F
ijl
t
i
t
j
t
l
+ 3F
ij
t
i
n
j
|F|
(3.9)
O F
ij
et F
ijl
sont les drives partielles seconde et troisime de F(x), t = (t
1
, t
2
, t
3
) est la
direction principale associe la courbature principale k, n = (n
1
, n
2
, n
3
) est la normale la
surface unit et la sommation sur les dirents indices est implicite.
Si nous supposons maintenant que les coordonnes quon va utiliser ont t choisies de manire
ce que lorigine soit situe sur la surface et que les axes correspondent aux vecteurs t
max
, t
min
et n. Notre surface S sera alors donne localement par la forme de Monge, z = h(x, y) avec :
h(x, y) =
1
2
.(b
0
x
2
+ 2b
1
xy +b
2
y
2
)
+
1
6
.(c
0
x
3
+ 3c
1
x
2
y + 3c
2
xy
2
+c
3
y
3
)
+
1
24
.(d
0
x
4
+ 4d
1
x
3
y + 6d
2
x
2
y
2
+
d
3
xy
3
+d
4
y
4
)
+
(3.10)
On a alors :
e = k/t = F
ijl
t
i
t
j
t
l
(3.11)
ou encore :
e = k/t =
_
t
2
1
t
2
2
_
T
_
c
0
c
1
c
2
c
3
__
t
1
t
2
_
(3.12)
lorsquon se place lorigine locale h(0, 0), l ou t = (t
1
, t
2
) est la direction principale cor-
respondant la courbature principale k.
Finalement, il nest pas dicile de montrer que les artes, lensemble des extrema des cour-
bure principales le long de leurs directions de courbure correspondantes sont des invariants de
Mbius, cest dire invariant par inversion et invariante dchelle (voir [Yoshizawa 08]) pour la
dmonstration).
Cela nous permet dintroduire un certain nombre de formes direntielles invariantes de
Mbius, savoir :
_
|e
max
| +|e
min
|ds (3.13)
_
|e
2
max
| +|e
2
min
|dA,
_
|e
max
e
min
|, |e
max
|dA et |e
min
|dA (3.14)
e
2
max
dA
(k
max
kmin)
2
,
e
2
min
dA
(k
max
k
min
)
2
et
e
max
e
min
dA
(k
max
k
min
)
2
(3.15)
35
Avec ds la longueur de larc de courbure de la surface et dA laire de llment de surface.
Par la suite, nous utiliserons le premire de ces formes invariantes pour slectionner les lignes de
crtes que nous considrerons comme perceptiblement saillantes.
Il ne nous reste plus maintenant qu mettre ces direntes notions en pratique et calculer
numriquement les dirents paramtres qui ont t prsents.
Calcul des normales
A partir du moment o nous disposons dun maillage triangulaire M reprsentant la surface
liss S, la premire chose faire est de dterminer la normale la surface en chaque point de ce
maillage. Pour ce faire, une mthode simple telle que celle prsent dans [Max 99] est tout fait
susante et se rvle un excellent choix.
Il existe direntes mthodes pour estimer la normale en un vertex de lapproximation po-
lygonale dune surface lisse, les plus courantes consistent approcher celle-ci par une somme
pondre des normales des facettes entourant le vertex. Lide introduite par Nelson Max est
de pondrer la somme en fonction de la taille de chacune de ses facettes. Plus une facette sera
petite, plus le poids qui lui sera assign sera grand.
En eet, considrons que Q est un vertex dun polydre inscrit dans une sphre et que V
0
,
V
1
,... ,V
n1
sont ses premiers voisins, le centre. Le centre C de la sphre pourra tre trouv
lintersection des plans bissecteurs perpendiculaires des segments QV
i
. Si on considre que
Q = (0, 0, 0) est lorigine et que V
i
= (x
i
, y
i
, z
i
), lquation de ces plans aura la forme :
x
i
x +y
i
y +z
i
z = |V
i
|
2
/2 (3.16)
Si on prend n=3 et que lon rorganise le systme et quon cherche sa solution avec la mthode
de Cramer, on obtient :
C = (x, y, z) = (|V
2
|
2
V
0
V
1
+|V
0
|
2
V
1
V
2
+|V
1
|
2
V
2
V
0
)/(2D) (3.17)
O D est le dterminant de la matrice des coecients et que les V
i
sont pris dans lordre
horlogique. Si on divise cette quantit par |V
0
|
2
|V
1
|
2
|V
2
|
2
/(2D), on obtient un vecteur pointant
vers lextrieur dans la direction normale qui est un multiple c du vecteur normal N.
V
0
V
1
|V
0
|
2
|V
1
|
2
+
V
1
V
2
|V
1
|
2
|V
2
|
2
+
V
2
V
0
|V
2
|
2
|V
0
|
2
= cN (3.18)
Si on nomme N
i
la normale de la facette i,
i
langle entre V
i
et V
i+1
et quon se rappelle
que V
i
V
i+1
= N
i
|V
i
||V
i+1
| sini, on obtient :
2
i=0
V
i
V
i+1
|V
i
|
2
|V
i+1
|
2
=
2
i=0
N
i
sin
i
|V
i
|
2
|V
i+1
|
2
= cN (3.19)
Qui se gnralise en
n1
i=0
V
i
V
i+1
|V
i
|
2
|V
i+1
|
2
= cN (3.20)
Au nal, mme si le rsultat nest exact que dans le cas de polydre inscrit dans une sphre,
lapproximation se rvle gnralement meilleure que celle fournie par nombre dautres techniques
parmi les plus populaires dans le cas de surfaces polynomiales cubiques alatoires [Max 99].
36
Calcul des vecteurs et directions principales
Les extrema des courbures tant trs sensibles la moindre variation de forme, il est largement
conseill dappliquer au maillage, dans un premier lieu, une procdure de lissage simple. Ce nest
pas absolument ncessaire, mais cela amne un rendu du rseau des lignes de crtes visuellement
plus plaisant. Cest pour cette raison que nous utiliserons le maillage dual, qui est constitu des
centrodes des triangles de M, pour construire un maillage auxiliaire, constitu des centrodes des
polygones du maillage dual et hritant de la connectivit de M. Et ce sera partir de ce maillage
dual que seront estimes courbures, directions et drives principales suivant la mthode prsente
dans [Yoshizawa 05] qui est une version amliore de la mthode dcrite dans [Goldfeather 04].
Lide est de rsoudre, point par point, la forme cubique de lquation 3.10 en utilisant la mthode
des moindres carrs et les k premiers voisins, de chaque point du quadrillage auxiliaire, aprs
en avoir retir les vertex-voisins dont la normale forme un angle obtus avec la normale du point
considr.
En eet, considrons p, un point de la surface lisse S et de normale N
p
, et supposons que
X(u, v) est une paramtrisation de S dans le voisinage de p. Ensuite, prenons X
u
(p), X
v
(p) et
N
p
comme systme de coordonne locale. Nous pouvons alors calculer les courbures et directions
principales de la manire suivante :
Soit
1
et
2
(avec
1
2
), les valeurs propres, et p
1
et p
2
, les vecteurs propres unitaires
associs, de la matrice de courbure de Weingarten :
W =
_
eGfF
EGF
2
fEeF
EGF
2
fGgF
EGF
2
gEfF
EGF
2
_
(3.21)
Avec :
e = N
p
.X
uu
(p) E = X
u
(p).X
u
(p)
f = N
p
.X
uv
(p) E = X
u
(p).X
v
(p)
g = N
p
.X
vv
(p) E = X
v
(p).X
v
(p)
(3.22)
Et qui devient, lorsque X
u
et X
v
sont orthogonaux, la matrice symtrique :
W =
_
e f
f g
_
. (3.23)
De plus, si u est un vecteur unit du plan tangent S en p, alors :
u
= u
T
Wu (3.24)
est la courbure normale la surface dans la direction u. Il sen suit que
1
et
2
sont
les courbures normales maximales et minimales la surface en p et que p
1
=
_
p
11
p
12
_
et
p
2
=
_
p
21
p
22
_
sont les vecteurs de courbures principales exprims dans les coordonnes locales.
Et donc :
v
1
= p
11
X
u
+p
12
X
v
v
2
= p
21
X
u
+p
22
X
v
(3.25)
37
sont les vecteurs directions principales dans R
3
. A nouveau, il faut remarquer que lorsque
1
=
2
, la notion de direction principale nest pas bien dnie et on dira alors quon se trouve
sur un point ombilical de la surface.
Si on repart de lexpression 3.10 limite lordre 3 et exprime sous la forme :
h(x, y) =
A
2
x
2
+Bxy +
C
2
y
2
+Dx
3
+Ex
2
y +Fxy
2
+Gy
3
(3.26)
La matrice de Weingarten de cette surface sera :
W =
_
A B
B C
_
. (3.27)
car, dans le systme de coordonnes locales, les courbures ne dpendent que des termes du
second degr. Cependant, si nous utilisons les termes au troisime degr pour estimer, avec la
mthode des moindres carrs, les valeurs A, B et C, nous obtiendrons des rsultats dirents de
ceux obtenus avec la mthode quadratique. En eet, la normale la surface en p est donne par
N(x, y) = (f
x
(x, y), f
y
(x, y), 1)
= (Ax +By + 3Dx
2
+ 2Exy +Fy
2
, Bx +Cy +Ex
2
+ 2Fxy + 3Gy
2
, 1)
(3.28)
Notons (a
i
, b
i
, c
i
) la normale au point (x
i
, y
i
, z
i
) et x la matrice des inconnues que nous
cherchons retrouver, avec :
x =
_
A B C D E F G
_
T
. (3.29)
Il est toujours possible de rcrire lquation de la normale en i sous la forme n
i
= (
a
i
c
i
,
b
i
c
i
, 1).
Nous aurons alors, pour chaque point de la surface S, lquation :
_
1
2
x
2
i
x
i
y
i
1
2
y
2
i
x
3
i
x
2
i
y
i
x
i
y
2
i
y
3
i
_
x = z
i
(3.30)
et pour chacune des normales en ces points, les deux quations :
_
x
i
y
i
0 3x
2
i
2x
i
y
i
y
2
i
0
_
x =
a
i
c
i
_
0 x
i
y
i
0 x
2
i
2x
i
y
i
3y
2
i
_
x =
b
i
c
i
(3.31)
Si on norme ces quations par le facteur dchelle
2
k
2
i
on obtient alors le systme :
Ux = d (3.32)
O x est linconnue, U une matrice 3n 7 et d un vecteur 3n; n tant est le nombre de
voisins pris en compte et devant valoir minimum 3 pour quil y ait au moins autant dquations
que dinconnues dans le systme.
Le systme ainsi obtenu sera ensuite rsolu laide de la mthode des moindres carrs, ce qui
nous fournira une valeur pour A, B et C en chaque point. A partir de celles-ci, nous pourrons
construire la matrice de Weingarten et donc calculer les courbures et directions principales, qui,
rappelons-le, en sont les valeurs et vecteurs propres.
Il est, bien sur, tout a fait possible dtendre la mthode pour des ordres plus levs. Mais on
peut dmontrer que, dans ce cas, si cela aura bien tendance rduire les erreurs les plus minimes,
cela aura aussi pour consquence daccroitre les erreurs les plus importantes [Goldfeather 04].
38
Calcul des drives principales
Maintenant que, pour chaque point du maillage, sont connus les directions principales et les
dirents paramtres de lquation 3.10 :
h(x, y) =
1
2
.(b
0
x
2
+ 2b
1
xy +b
2
y
2
) +
1
6
.(c
0
x
3
+ 3c
1
x
2
y + 3c
2
xy
2
+c
3
y
3
) (3.33)
Il sut de reprendre lquation 3.12, savoir :
e =
_
e
1
e
2
_
=
_
t
2
1
t
2
2
_
T
_
c
0
c
1
c
2
c
3
__
t
1
t
2
_
(3.34)
pour calculer les drives principales, ou coecients dextrmalits.
Une fois lensemble des attributs de courbure calcul pour le maillage auxiliaire, les valeurs
obtenues sont rassignes au maillage primaire.
Il est important de constater que lensemble des rsultats obtenus ne dpend, au nal que dun
seul paramtre initial, savoir le nombre de premier voisin dont on tient compte pour rsoudre le
systme Ux = d. De plus, le schma permettant dobtenir les courbures peut sembler compliqu,
mais il a lavantage de ne dpendre que trs lgrement de la connectivit du maillage et du
format des triangles. Typiquement, les valeurs de k utiliss varieront entre 1 et 4. Plus celui-ci
sera grand plus le rsultat sera, normalement, correct, mais plus le temps de calcul sera grand.
Dnition des lignes de crtes
Maintenant que lensemble des attributs de courbure est connu pour chaque vertex de la
surface M, il est temps de rechercher les lignes de crtes. Pour ce faire, nous allons commencer
par parcourir lensemble des segments qui composent le maillage de la surface M et vrier sils
contiennent un maxima ou un minima de courbure en suivant la procdure propose dans larticle
[Ohtake 04]. Les dirents segments extrema seront ensuite regroups en suivant la procdure
propose dans ce mme article, mais en y ajoutant une petite, mais importante, correction comme
cela est propos dans [Yoshizawa 08].
Par la suite, nous dtaillerons la procdure pour le cas des crtes, mais le cas des valles peut
aisment en tre dduit, lun tant le dual de lautre.
Nous allons donc vrier si le segment [v
1
, v
1
], avec v
1
et v
2
deux vertex appartenant au
maillage M, contient un vertex appartenant une ligne de crte.
Avant toute chose, si langle entre t
max
(v
1
) et t
max
(v
2
) est obtus, nous remplacerons t
max
(v
2
)
par t
max
(v
2
) et e
max
(v
2
) par e
max
(v
2
). Une fois cela fait, nous vrierons, pour v
i
avec i = 1
ou 2, si :
k
max
(v
i
) > |k
min
(v
i
)| (3.35)
et
e
max
(v
1
).e
max
(v
2
) < 0 (3.36)
Ensuite, si ces deux conditions sont vries, on eectuera un simple test de drivation :
e
max
(v
i
)[v
3i
v
i
.t
max
(v
i
)] > 0 (3.37)
an de dterminer si e
max
atteint un maximum sur le segment [v
1
, v
2
].
39
Si toutes ces conditions sont vries, nous utiliserons une interpolation linaire pour dter-
miner le point p o e
max
vaut 0 sur [v
1
, v
2
] :
p =
|e
max
(v
2
)|v
1
+|e
max
(v
1
)|v
2
|e
max
(v
2
)| +|e
max
(v
1
)|
(3.38)
Nous appellerons les points p des vertex de crtes.
La procdure dcrite ci-dessus ne marchera pas correctement pour les points ombilicaux.
Cependant, comme cela est dmontr dans [Belyaev 97], les lieux des maxima de k
max
et des
minima de k
m
in ne traversent pas les zones ombilicales typiques.
Une fois les vertex de crtes dtermins, il faut maintenant les connecter entre eux. Pour ce
faire, lorsque 2 vertex de crtes seront dtects sur un mme triangle du maillage, nous tracerons
un segment qui les reliera. Lorsque les 2 sommets dun mme triangle se rvleront tre des
vertex de crtes, un segment dirent connectera chacun dentre eux au centrode de ce triangle.
Finalement, et cest l lamlioration apporte par [Yoshizawa 08], an de rduire le nombre de
lignes de crtes qui sont discontinues, nous inspecterons les premiers voisins de chaque vertex
crtes qui est lextrmit dune ligne de crte. Si le premier voisin en question est galement
lextrmit dune ligne de crte, nous connecterons les vertex extrmits ensemble si /3,
/3 et /2, avec , et les angles entre les segments terminaux comme dnis sur la
gure 3.6
Fig. 3.6 A gauche : Situation pour laquelle on aimerait connecter ensemble 2 lignes de crtes
voisines. A droite : Dnition des angles , et , [Yoshizawa 08].
Slection des crtes et valles les plus pertinentes
Une fois lensemble des lignes de crtes extrait du maillage de la surface M, la dernire tape
consiste retirer les fausses lignes de crtes et ne slectionner que les lignes de crtes qui
sont les plus perceptiblement saillantes. Dans le cas de notre projet, les lignes de crtes que
nous chercherons plutt mettre en vidence sont celles correspondant des gravures, mais la
mthode utilise reste la mme.
Comme nous lavons dj vu, les lignes de crtes ne sont pas bien dnies aux alentours des
cyclides de Dupin. Nous pouvons donc supposer que les rgions proches de cyclides de Dupin
contiendront un rseau bruit de lignes de crtes. Lide est de connaitre, pour chaque crte, les
quantits :
C
1
= |e
max
| +|e
min
| et C
2
=
_
|e
max
|
2
+|e
min
|
2
(3.39)
qui valent toutes les deux 0 pour les cyclides de Dupin, an de nous indiquer si la petite
surface qui se trouve au voisinage du point est proche ou loin dtre une partie dun cyclide de
40
Dupin. De cette manire, il est possible de ltrer les lignes de crtes insigniantes appartenant
en ralit des surfaces planes, sphriques, coniques, cylindriques, toriques, etc.
Pour ce faire, nous utiliserons deux seuils cyclidiques, an de mesurer la "force" de la ligne
de crte dtecte, savoir :
T
1
=
_
_
|e
max
| +|e
min
|ds et T
2
=
_
ds.
_
_
|e
max
|
2
+|e
min
|
2
ds. (3.40)
Ces deux mesures possdent lindpendance dchelle, de plus comme nous lavons dj vu
prcdemment, la premire est un invariant de Mbius. Ces seuils ncessitent la connaissance des
drives troisimes de la surface, elles sont donc plus complexes que ceux utiliss dans [Ohtake 04].
Leur calcul est cependant plus simple que les seuils proposs dans [Cazals 04].
Pour calculer les cyclidites locales C
1
et C
2
au vertex de crte v appartenant un [p, q] nous
utiliserons linterpolation linaire :
C((v)) =
aC(p) +bC(q)
a +b
(3.41)
o a = |e
max
(q)| et b = |e
max
(p)| pour les lignes de crtes convexes (les crtes) et a =
|e
min
(q)| et b = |e
min
(p)| pour les lignes de crtes concaves (les valles). Ensuite, les intgrales
des valeurs T
1
et T
2
seront estimes laide dune simple approximation trapzodale (comme
ctait dj le cas dans [Ohtake 04]).
A ces deux seuils de cyclidits, nous allons galement ajouter un troisime seuil bas sur la
longueur totale de la ligne de crte que nous appellerons L.
Au nal, lutilisateur pourra pour chacun de ses trois paramtres (T
1
, T
2
et L) dnir une
valeur maximale et une valeur minimale an de ne slectionner que les lignes de crtes qui
lintressent le plus, en esprant que cela lui permette disoler les gravures.
Conclusions
Le choix de la mthode de dtection de crtes dcrite ci-dessous a t motiv par les rsultats
relativement prometteurs prsents dans [Yoshizawa 05] (g. 3.8 ) et [Yoshizawa 06] (g.3.7).
Fig. 3.7 Rsultats obtenus avec la mthode prsente sur la gravure de Lena ( gauche) avec
k = 3 et T
2
= 0, 8 et 37, [Yoshizawa 06].
Pour raliser lensemble des calculs, seul un paramtre initial doit tre fourni par lutilisateur,
le nombre de premiers voisins qui seront pris en compte pour estimer les valeurs des attributs de
courbures.
Lutilisateur pourra par contre jouer sur 6 paramtres dirents pour nacher que les lignes
de crtes qui lintressent. Les seuils infrieurs de T
1
, T
2
et L permettent de ne garder que
41
Fig. 3.8 Rsultats obtenus avec la mthode prsente partir de dirents modles 3D de
complexit variable avec k=1 et avec des valeurs de T
2
adaptes (de gauche droite, T
2
= 2.4,
1, 2.7, 3.2, 0.9 et 2.3), [Yoshizawa 05].
les lignes de crtes les plus intressantes. Les seuils suprieurs permettent, dpurer le rsultat
de manire essayer de ne garder, parmi celles-ci, que celles qui semblent correspondre des
gravures. Lide tant de pouvoir, par exemple, liminer de limage nale une ligne de crte que
lutilisateur sait correspondre une ssure naturelle et qui pourtant est bien mieux marque
dans le modle que dventuelles gravures faites par lhomme.
3.2.2 Reliefs et courbes de niveau
Fig. 3.9 Dcomposition dune surface en une surface-base et une fonction hauteur,
[Zatzarinni 09].
Une autre option pour identier les gravures est de se baser sur lalgorithme de recherche des
reliefs dvelopp par Zatzarinni et al. (voir [Zatzarinni 09]). En eet, quest-ce quune gravure
paritale si ce nest un relief qui a t creus dans la paroi de la grotte.
Lide de base dveloppe dans cet article est quil est possible de sparer toute surface en
relief en une surface de base "plane" ou courbe et une fonction hauteur dnie partir de cette
base et contenant la distance sparant la base de la surface originelle en chaque point, la seule
hypothse impose tant que les courbures principales de la surface base sont plus petites ou
gales aux courbures principales de la surface analyser. Le problme dune telle approche est
bien sr de choisir une bonne segmentation 3D du modle et de bien dnir la surface base. Des
travaux concernant la mise en vidence de reliefs spciques (par exemple des reliefs priodiques
dans [Liu 07]) ont dj donn de bons rsultats, mais nous cherchons ici segmenter de manire
automatique des reliefs parfaitement arbitraires. Bien videmment, se contenter dune simple
procdure de lissage, quelle quelle soit, pour obtenir la base, nest pas ecace. En eet, si le
lissage va attnuer trs fortement les reliefs au point de les faire disparaitre, il va galement
modier la surface dans sa globalit et donc la surface base que lon recherche.
Lide originale de larticle est de mettre en avant le fait que la connaissance exacte de la
base relle nest en ralit pas ncessaire, seule la normale en chaque point de celle-ci doit tre
42
connue, hors le calcul de la normale la base est beaucoup plus simple que le calcul de la base
elle mme.
Procdure
Fig. 3.10 Modle 3D, fonction hauteur et courbes de niveau dun fragment de vase hellnistique,
[Zatzarinni 09].
Lalgorithme prsent dans larticle est divis en quatre parties :
1. Lestimation de la normale la surface base.
2. Le calcul de la fonction hauteur.
3. Le choix du seuil permettant de sparer les "reliefs" de la "base" (Fig. 3.9).
4. Un ltrage permettant de rejeter certains reliefs dtects sur base de leur taille ou de leur
chelle (Fig. 3.10).
Estimation des normales la base
Comme annonc plus haut, seule la connaissance de la normale en chaque point de la base
est rellement ncessaire pour mettre en vidence les reliefs. De plus, si se contenter de lisser
la surface ne permet pas de mettre en vidence la base, en ce qui concerne lestimation des
normales la base, cest une autre histoire. En eet, la normale la base peut tre trouve en
appliquant aux normales de la surface M un simple ltre Gaussien dont la dviation standard
a t correctement choisie. Si le ltre est trop fort, les normales la surface de base seront
dformes. Si le ltre est trop faible, les normales obtenues correspondront celles de la surface
initiale et non celles de la surface base. Lide est donc dadapter localement la surface
suivant la rgle :
best
= arg min
2
+
2
(3.42)
43
avec c = 4.010
3
l
2
o l est la moyenne arithmtique des longueurs des segments du maillage
et () la variance locale de la normale aprs lissage avec un gausien.
Nous nommerons par la suite n
B
: B R
3
la normale la base estime de cette manire.
Calcul de la fonction hauteur
Fig. 3.11 Normale la surface dorigine et normale la surface-base, [Zatzarinni 09].
Notre but est maintenant de trouver
h : M R, lestimation de la hauteur h de chaque
point de la surface M.
Si nous disposons dun point de rfrence p
0
, pour lequel la hauteur est connue (h(p
0
) = 0),
la hauteur de tout point p
1
peut tre vue comme lintgrale de la dirence de hauteur entre p
0
et p
1
. Si la base tait plate, cette intgrale ne serait alors que la projection du vecteur entre les
deux points sur la normale la base. En gnral, la base nest pas plate, mais pour une surface
lisse susamment petite, nous pouvons supposer que, localement, cest le cas et donc utiliser
lestimation qui a t faite de la normale la base pour trouver la dirence de hauteur entre
deux points susamment proches. Dans le cas o les deux points sont plus distants, il devient
ncessaire dintgrer la dirence de hauteur dh(t) le long du chemin sparant les 2 points. Pour
un chemin donn (t) S, 0 t 1 entre p
0
= (0) et p
1
= (1) on aura alors :
h(p
1
) = h(p
0
) +
_
1
0
dh(t)dt = h(p
0
) +
_
1
0
(
(t).n
B
(t)dt. (3.43)
Dans le cas dun maillage discret, nous nous intresserons aux segments du maillage et d-
nirons la dirence de hauteur entre 2 vertex adjacents v
i
, v
j
) = e
i,j
E
M
comme la projection
du segment les reliant suivant la direction des normales la base en v
i
et v
j
:
dh(e
i,j
) = (v
i
v
j
).n
B
(e
i,j
) (3.44)
ce qui donne :
h(v
n
) = h(v
0
) +
n
i=1
((v
i
v
i1
).n
B
(e
i,i1
). (3.45)
Cette solution au problme a cependant deux dfauts majeurs : nous ne disposons que dune
approximation de n
B
et la solution obtenue dpend du chemin suivi pour lobtenir, ce qui est
inacceptable.
Lide est donc dutiliser une solution globale pour dnir la fonction hauteur. Dans un
premier temps, nous calculerons n
B
(e
i,j
) pour tous les e
i,j
E
M
, ce qui permet dcrire un
systme de |E
M
| quations pour lestimation de h, une quation pour chaque segment e
i,j
:
dh(e
i,j
) = h(v
i
) h(v
j
). (3.46)
Ensuite nous allons chercher minimiser la fonctionnelle
44
e
i,j
E
M
h(v
i
) h(v
j
) dh(e
i,j
). (3.47)
Nous avons alors un systme de |E
M
| quation |V
M
| variables que nous pouvons rsoudre
avec une mthode des moindres carrs.
Le systme dquation complet peut tre rcrit :
h = arg min
h
|S
1
h S
2
h dh| (3.48)
o S
1
et S
2
sont des matrices creuses de slection telle que S
1
(k, i) = 1 et S
2
(k, j) = 1 si
le kme segment est (i, j) et S
1
(k, 1) = 1 si k = |E
M
| + 1. h sera alors trouv en eectuant les
manipulations suivantes :
S
1
h S
2
h = dh, (3.49)
h = (S
T
s)
1
S
T
dh, S = S
1
S
2
(3.50)
et
(S
T
S)h = S
T
dh (3.51)
qui sera rsolu laide de la mthode des gradients conjugus.
Les valeurs de la hauteur entre les vertex seront ensuite dduites en ralisant une interpolation
des rsultats obtenus aux vertex.
Fig. 3.12 Normale la surface dorigine et normale la surface-base, [Zatzarinni 09].
Seuil de segmentation
Maintenant quune hauteur a t dnie pour chacun des vertex du maillage, il est temps de
sparer le fond G M, du relief R M (avec G R = M).
Nous dnirons le relief comme lunion de tous les vertex pour lesquels la fonction hauteur est
suprieure un seuil (ou infrieure dans le cas de reliefs encaisss, ce qui est le cas des gravures).
Par analogie, le fond est lensemble des vertex dont la norme de la hauteur est infrieure ce
seuil.
Larticle [Zatzarinni 09] propose une mthode heuristique pour dterminer automatiquement
le seuil. Celle-ci consiste approcher lhistogramme des valeurs des hauteurs par deux fonctions
gaussiennes et de prendre pour seuil lintersection de ces deux distributions (Fig. 3.13). Ce-
pendant, je pense quil est important, comme dans le cas de la recherche des crtes et valles,
que la slection nale du seuil soit faite manuellement par larchologue, ce choix inuenant de
45
Fig. 3.13 Exemple dhistogrammes des fonctions hauteur et de leurs approximations par des
distributions gaussiennes, [Zatzarinni 09].
manire trop importante linterprtation qui peut tre faite de la pice analyse. La dnition
automatique du seuil peut cependant tre utilise comme valeur initiale de manire simplier
le travail de larchologue, il est cependant important que celui-ci ne soit pas tent de toujours
se contenter de cette valeur.
Filtrage du rsultat
Les modles scanns peuvent contenir des bulbes, des rayures et autres bruits issu de lac-
quisition des donnes. Tous ces objets peuvent tre pris pour des reliefs, mais il sagit en fait
dartefacts sans aucun rapport avec lobjet originel quil est ncessaire de faire disparaitre.
Une telle tape est cependant trs risque, surtout lorsquon travaille sur des structures aussi
nes que les gravures peuvent parfois ltre.
Larticle [Zatzarinni 09] propose de dcomposer les reliefs obtenus en k composantes connectes{c
i
|
i = 1, ..., k} et dintroduire pour chaque segment c
i
, le paramtre :
Score(c
i
) =
N
etotal
(c
i
) N
eboundary
(c
i
)
N
etotal
(c
i
)
(3.52)
o N
etotal
(c
i
) est le nombre total de segments de la maille appartenant c
i
et N
eboundary
(c
i
)le
nombre de segments frontires. Les composants pour lesquels ce score est infrieur un score
seuil seront alors limins (ils proposent comme score seuil 0.95).
Une autre srie de composants pouvant poser problme sont les coins et les bords du modle
pour lesquels la fonction hauteur est survalue, cest pourquoi on ne calculera pas la fonction
hauteur qui leur est associe par la mthode prsente ci-dessus.
46
Conclusion
Si cette mthode ne permet probablement pas dextraire tous les reliefs possibles, elle devrait
se rvler relativement complmentaire la recherche de crtes et de valles pour lanalyse du
maillage des modles (Fig. 3.14).
Malheureusement, en raison du fait que jen ai pris que fort tardivement connaissance, elle
ne sera pas implmente dans la version originale de mon projet.
Fig. 3.14 Comparaison entre les rsultats fournis par une recherche des lignes de crtes et cette
mthode-ci, [Zatzarinni 09].
3.2.3 Dtection des contours et calcul des gradients dintensit
Maintenant que nous avons prsent une srie dalgorithmes danalyse du maillage, nous
allons maintenant nous intresser aux algorithmes permettant lanalyse de la texture.
Comme nous lavons dj dit, les gravures peuvent potentiellement tre trouves en recher-
chant les contours prsents dans la photo servant de base pour la texture.
Les contours dans une image proviennent gnralement :
Soit des discontinuits de la fonction de rectance (variation de texture ou prsence d
ombres).
Soit dune discontinuit de profondeur (bords de lobjet).
Dans le cas des gravures, ces trois sources de contours sont prsentes. En eet, souvent la
texture de la roche la surface de la paroi est dirente de celle prsente au fond de la gravure.
Suivant la position de la source de lumire, le fond de lincision ou un bord de celle-ci pourra ne
pas tre clair et, enn, les gravures ont, par dnition, une discontinuit de la profondeur.
Les contours sont caractriss par des discontinuits de la fonction dintensit de limage. Pour
les dtecter, on tudiera donc gnralement les drives de celle-ci. Deux possibilits existent, soit
rechercher les maxima locaux du gradient de cette fonction, soit rechercher les passages par zro
du laplacien qui y est associ, la dicult rsidant bien videmment dans la prsence de bruit
dans limage. Il existe galement une srie dautres techniques pour retrouver un contour dont
47
celles fondes sur le principe des contours actifs et les approches par ensembles de niveaux, mais
nous ne les prsenterons pas ici. On remarquera que la dnition des contours reste vague et on
a pu montrer que le problme de dtection des contours est gnralement mal pos [Matre 03].
Tout comme il existe dirents prols de gravure, il existe dirents types de contours. Les
principaux sont les marches, les toits et les pointes (voir Fig. 3.15
4
). Et bien videmment, une
mthode qui est optimise pour un type de contour bien dtermin ne le sera gnralement pas
pour les autres.
Fig. 3.15 Les dirents types de contours et la fonction intensit qui y est associe,
[Devernay 05].
Dnitions
Le gradient dune image est le vecteur G = I(x, y) dni par :
G = I(x, y) = (
I(x, y)
x
,
I(x, y)
y
). (3.53)
Il est caractris par un module G et une direction g dnis de la manire suivante :
G = |I(x, y)| =
I(x, y)
x
2
+
I(x, y)
y
2
, (3.54)
et
g =
I(x, y)
|I(x, y)|
(3.55)
Cette direction formera, avec le repre Oxy, un angle dni par :
= arctan(
I(x, y)
x
/
I(x, y)
y
). (3.56)
La drive de I(x, y) dans la direction d sera donne par I(x, y).d et sera maximale pour
d = .
4
Figures trouves dans http://devernay.free.fr/cours/vision/pdf/c3.pdf
48
Le laplacien de la fonction intensit est, quant--lui, dni par :
2
I(x, y) =
2
I(x, y)
x
2
+
2
I(x, y)
y
2
. (3.57)
Filtrer une image consiste convoluer sa fonction intensit avec une fonction h(x, y) qui est
dnie comme tant la rponse impulsionnelle du ltre utilis, on aura donc :
I
(x, y) =
_
+
_
+
_
+
(x, y) =
+H/2
u=H/2
+H/2
u=H/2
h(u, v)I(x u, y v). (3.60)
Le gradient dune image ltre par le ltre h(x, y) sera donc donn par :
I
(x, y) = (I(x, y) h(x, h)) = I(x, y) h(x, h) = I(x, y) h(x, y). (3.61)
Et son laplacien par :
I
(x, y)
x
= I(x, y) (
h
x
(x)
x
h
y
(y)),
I
(x, y)
y
= I(x, y) (h
x
(x)
h
y
(y)
y
),
I
(x, y) = I(x, y) (h
x
(x)h
y
(y) +h
x
(x)h
y
(y)).
(3.64)
On voit donc que les ltres sparables permettent : - De rsoudre le problme de ltrage dun
signal bidimensionnel comme si on avait faire des signaux monodimensionnels. - De rduire
la complexit de celui-ci (qui passe de 2H H
2
pour un masque de ltrage de dimension H) et
donc le temps de calcul. - Et dimplmenter le processus de manire rcursive.
Un contour sera dni comme le lieu des maxima du gradient dans la direction g. Un point
p du contour vrie donc :
G
g
= 0
2
G
g
2
0 (3.65)
49
avec
g
= g. (3.66)
Si on se place dans les axes locaux dnis par g, qui est la normale au contour et t, la tangente
celui-ci, on a alors :
f
g
=
f
x
cos +
f
y
sin (3.67)
et
G
g
=
2
f
g
2
=
2
f
x
2
cos
2
+ 2
2
f
xy
cos sin +
2
f
y
2
sin
2
. (3.68)
Cette quation est trs proche de celle du laplacien :
f =
2
f
x
2
+
2
f
y
2
(3.69)
qui sexprime galement dans le repre local :
f =
2
f
g
2
+
2
f
t
2
(3.70)
on voit donc que si
2
f
t
2
est ngligeable, ce qui est le cas pour les points appartenant aux
contours, on aura :
f = 0
G
g
= 0 (3.71)
Les contours peuvent donc galement tre trouvs en cherchant les passages par zro du
laplacien. Par la suite, nous laisserons cependant cette proprit de cot pour nous concentrer
sur la recherche de contours par lutilisation du gradient.
Comme cela a t dit, pour retrouver les contours partir du gradient, il faut trouver les
maxima locaux de celui-ci. Le principe de la dtection de contours par utilisation du gradient est
relativement simple. Il consiste :
A calculer le gradient de lintensit dans deux directions perpendiculaires, typiquement x
et y pour chaque pixel de limage.
Puis, en dduire la direction et le module de ce gradient.
Et enn, slectionner les contours les plus marqus, cest dire des points prsentant
les plus fortement contrasts. Pour ce faire, on aura recours une mthode de seuillage
adapte (gnralement un seuillage simple ou par hystrsis).
Bien videmment la dicult de lopration vient du fait que limage qui est analyse est
souvent bruite (Fig. 3.16).
Approches classiques ou par dirences nies
Limage tant discrte par nature, la premire approche qui fut propose fut dapproximer
les drives par des dirences nies :
u
I(u, v) = I(u, v) I(u n, v),
u
I(u, v) = I(u +n, v) I(u n, v)
(3.72)
50
Fig. 3.16 Synoptique dune dtection de contours par gradient. Les contours sont nalement
reprsents par des pixels blancs sur fond noir, [Thomas 07].
avec en gnral n=1.
De manire plus gnrale, les approximations des drives, en un pixel donn de limage,
seront calcules laide dun masque appliqu sur une fentre centre sur ce pixel, et faisant
gnralement 2 ou 3 pixels de large. Cette approche est largement inspire du traitement de
signal, et on remarquera sans surprise, que la somme des coecients des dirents ltres (ou
masques) proposs est nulle, et que ceux-ci sont anti-symtriques.
Le masque le plus intuitif mettre en place est le masque deux lments :
-1 1
Dont lorigine est le point 1 et qui permet de calculer le gradient suivant laxe horizontal.
Et, lorsquon fait subir une rotation de /2 celui ci, le masque :
1
-1
Dont lorigine est le point 1 et qui permet de calculer le gradient suivant laxe vertical.
Les gradients calculs laide de ces masques ont cependant deux gros dfauts : Pour com-
mencer, il ne sont pas centrs sur le pixel, mais quelque part entre les deux pixels qui sont utiliss
pour lapproximation. Ensuite, ils sont trs sensibles au bruit ventuel que peut contenir limage
(Fig. 3.17).
An de recentrer le gradient sur le pixel, on remplacera souvent ces deux masques par les
suivants :
-1 0 1
et
1
0
-1
51
Fig. 3.17 Exemple dapplication de lapproximation de base, [Thomas 07].
dont lorigine est chaque fois le point 0.
En 1962, Roberts proposa un nouveau masque 2x2 qui avait pour avantage que les gradients
calculs, ltaient bien au mme point, mme sil ne sagissait pas du centre dun pixel. Les
masques de Roberts sont :
h
1
=
_
1 0
0 1
_
et h
2
=
_
0 1
1 0
_
(3.73)
qui calcule le gradient le long des diagonales de limage, dont lorigine est llment en bas
gauche et pour lesquels = arctan(I h
2
/ h
1
) + /4. Mais, de nouveau, les gradients ainsi
calculs tait trs sensibles aux bruits prsents dans limage en raison de la taille du masque
(Fig. 3.18).
Fig. 3.18 Exemple dapplication de loprateur de Roberts, [Thomas 07].
En 1972, Sobel introduisit un masque qui est, depuis, devenu trs populaire, et qui est, cette
fois-ci, de dimension 3x3 pixels, ce qui le rend moins sensible au bruit que les deux prsents
prcdemment. Les masques de Sobel sont les suivants :
52
h
1
=
1
4
_
_
1 0 1
2 0 2
1 0 1
_
_
et h
2
=
1
4
_
_
1 2 1
0 0 0
1 2 1
_
_
(3.74)
et permettent de calculer les gradients, respectivement, dans les directions horizontale et
verticale. De plus, il eectue un lissage dans la direction orthogonale celle du gradient calcul,
ce qui le rend lgrement moins sensible au bruit (Fig. 3.19).
Fig. 3.19 Exemple dapplication de loprateur de Sobel, [Thomas 07].
Il existe bien videmment dautres masques qui ont t proposs (par exemple ceux de Prewitt,
de Kirch ou de Robinson), mais le principe reste toujours le mme (pour en savoir plus se rfrer
[Matre 03]).
Une fois que le gradient a t calcul pour chaque pixel de limage, il faut maintenant dnir
quels sont les pixels qui appartiennent eectivement aux dirents contours prsents dans limage.
Pour ce faire, on procde une opration de seuillage. Gnralement, les oprations de seuillage
sont spares en deux catgories, les seuillages simples et ceux par hystrsis.
Le seuillage simple consiste simplement xer un seuil s unique qui est la valeur minimale que
doit avoir le gradient pour pouvoir appartenir un contour (Fig. 3.2.3). Si le gradient dintensit
au niveau dun pixel est suprieur cette valeur seuil, on considrera que le pixel fait partie dun
contour. Si ce nest pas le cas, et que le gradient dintensit au niveau du pixel est infrieur au
seuil, le pixel ne fera pas partie dun contour. Cette technique est bien videmment trs sensible
au bruit, mais lavantage dtre extrmement facile mettre en oeuvre. De plus, si limage nest
pas bruite, elle peut donner des rsultats tout fait convenables.
Fig. 3.20 Exemple de seuillage simple. Le seuil est not t, [Mavromatis 07].
Le seuillage par hystrsis est lgrement plus complexe, car au lieu de dnir un seul seuil,
53
on en dnit deux, un seuil infrieur s
b
et un seuil suprieur s
h
(s
h
> s
b
). Le principe est le
suivant, lensemble des pixels pour lesquels le gradient dintensit est plus grand ou gal au seuil
suprieur s
h
seront considrs comme faisant partie des contours. Par contre, les pixels pour
lesquels le gradient dintensit est compris entre sigma
b
et s
h
ne feront partie des contours que
sils sont connexes un pixel faisant partie des contours. Dit de manire dirente, un pixel de
gradient suprieur s
b
ne sera inclu dans les contours que sil peut tre connect, via une chane
continue de pixels de gradient suprieur s
b
, un pixel dont le gradient est suprieur s
h
(Fig.
3.21).
Fig. 3.21 Exemple de seuillage par hystrsis. Le seuil suprieur est t
h
et le seuil infrieur t
b
,
[Mavromatis 07].
Cette mthode a lavantage dtre beaucoup plus rsistante au bruit. De plus, le fait que
les points achs doivent tre connects entre eux, permet de travailler avec un seuil infrieur
s
b
qui peut tre beaucoup plus petit que le seuil s qui est utilis pour la mthode simple. Cela
permet galement davoir de vrais "contours" et non plus des points qui sont, au nal, totalement
indpendants les uns des autres. Cependant, tout cela a un cot, le seuillage par hystrsis tant
plus complexe implmenter et surtout beaucoup plus lent.
La mthode peut encore tre amliore en ne ralisant pas lopration de seuillage sur len-
semble des pixels, mais en se concentrant uniquement sur ceux pour lesquels le gradient est un
maximum local dans la direction de g. Pour ce faire, on comparera la valeur du module du
gradient de chaque pixel avec celui de ses premiers voisins dans la direction du gradient.
Gnralement, le seuillage simple sera ralis sur lensemble des pixels de limage (lide tant
gnralement davoir un algorithme le plus rapide possible) alors quon eectuera une recherche
pralable des maxima locaux lorsquon utilisera un seuillage par hystrsis (lide tant alors
davoir lalgorithme le plus ecace possible).
Les valeurs des dirents seuils peuvent tre dnis, soit directement par lutilisateur, soit
automatiquement, via ltude de lhistogramme des valeurs des gradients et en fonction des pa-
ramtre initiaux entrs par lutilisateur au dmarrage de lalgorithme. De plus, Il est conseill
de raliser un ltrage pralable de limage an de rduire au maximum le bruit avant dappli-
quer lalgorithme de recherche de contour. On peut par exemple utiliser un ltre moyenneur ou
mdian
5
pour raliser ce pr-trage de limage.
Approche de Canny ou par ltrage optimal
Lapproche originale que proposa John Canny en 1986 dans son article [Canny 86] est beau-
coup plus analytique. Elle a cependant permis une bien meilleure comprhension des conditions
de bonne dtection des contours et amen la cration de dtecteurs de trs bonne qualit (comme
par exemple ceux prsents dans [Canny 86] et [Shen 86]).
Lide dfendue par J. Canny est quun bon algorithme de dtection de contours doit rpondre
3 critres :
5
voir, par exemple : http://steep.inrialpes.fr/~Arnaud/vision/caracteristiques.pdf
54
Il doit garantir une bonne dtection des contours. Cest dire que, mme pour les
contours faibles, la rponse doit tre forte, mais galement, quil faut minimiser les fausses
rponses.
Il doit garantir une bonne localisation. Cest dire que le distance entre les points
dtects et le contour rel doit tre minimise.
Il doit garantir lunicit de la rponse. Cest dire que pour un contour donn, il
ny aura quune seule dtection et ainsi on vitera les eets de rebonds. Ce critre est
implicitement compris dans le premier critre, mais doit tre exprim explicitement si on
veut que lalgorithme ralis en tienne compte.
Il va ensuite traduire ces trois critres en termes mathmatiques et rechercher un ltre linaire
optimal qui les satisfait. Cest dire, dont la rponse impulsionnelle h(x) permet davoir une
valeur maximale en sortie lorsquun contour est prsent en entre. Pour ce faire, il considrera
que le contour se prsente sous la forme dune marche descalier et prendra comme hypothse que
le bruit additif est indpendant du signal. Finalement, il imposera comme dernire contrainte
que le ltre recherch ait une rponse impulsionnelle nie.
Si on travaille en une dimension, la fonction intensit aux alentours du contour aura donc la
forme [Thomas 07] :
I(x) = AY (x) +n(x) (3.75)
o A est lamplitude du saut dintensit, n(x) un bruit blanc additif indpendant de larte
et Y (x) =
_
1 si x 0
0 sinon
, la fonction dheaviside. Le saut dintensit se situe donc en x=0. Les
hypothses concernant le bruit sont quant--elles :
_
E[n(x)] = 0
E[(x)ny)] =
2
0
(x y)
(3.76)
avec E[.] qui est lesprance mathmathique. La moyenne des chantillons est donc nulle et
ceux ci sont de plus dcorrels.
Finalement, la sortie I
(x) =
_
x
Ah(y)dy +
_
+
(x)
h(x) et donc que le ltre est un drivateur. Et le second terme qui correspond au bruit. Pour
mettre en vidence le contour, il faut donc que la sortie soit maximale lendroit du contour,
cest dire en x = 0. Cette sortie sera donc paire, et, de fait, la rponse impulsionnelle h(x) du
ltre optimal sera impaire.
Revenons, maintenant, aux critres tablis par Canny.
Le premier dentre eux est celui de bonne dtection. Il consiste maximiser le rapport signal
sur bruit (SNR) en sortie du ltre et ce mme pour les contours faibles.
RSB
x=0
=
amplitude du signal
variance du bruit
(3.78)
Et Canny obtiendra nalement le critre suivant maximiser :
55
A
0
(h) avec (h) =
_
0
h(y)dy
_
_
+
h
2
(y)dy
(3.79)
Le second critre est celui de la bonne localisation. En prsence de bruit, il se peut que
le contour soit dtect en x = x
0
plutt quen x = 0. Si on dnit par X
0
la variable alatoire
correspondant la distance entre le maximum de la rponse I
0
(h) avec (h) =
|h
(x)|
_
_
+
h
2
(y)dy
(3.81)
Fig. 3.22 Principe du critre de bonne localisation, [Thomas 07].
Le troisime et dernier critre est celui dunicit de la rponse. En prsence de bruit, il se
peut quil ny ait pas un maxima mais plusieurs. Canny va donc chercher obtenir une faible
multiplicit des maxima en maximisant la distance entre deux maxima de la sortie. Cette distance
sera donne par x sur la sortir I
_
_
+
h
2
(y)dy
_
+
h
2
(y)dy
(3.82)
Le problme doptimisation consistera donc majorer le produit sous la contrainte x = kw
en considrant que h(x) est une fonction impaire et support born sur lintervalle [w, w].
Au bout de calculs relativement complexes (que je passerai ici mais que vous pouvez trouver
dans [Canny 86] ou, de manire rsume, sur [Thomas 07]), Canny a obtenu que le ltre optimal
qui satisfaisait ses critres et aux contraintes quil y avait ajout, devait tre de la forme :
h(x) = a
1
e
x/
sinx +a
2
e
x/
cos x +a
3
e
x/
sinx +a
4
e
x/
cos x (3.83)
o les coecients a
i
et sont dtermins par la taille du ltre (w) et ou est le paramtre
dchelle qui indique partir de quelle distance deux contours parallles seront confondus en un
seul, et est donc de grande importante. Dans le cas de ce ltre, le critre de Canny () vaudra
1,12.
56
Fig. 3.23 Comparaison des rponses impulsionnelles de Canny et de la drive de la gaussienne
sur 20 chantillons, [Thomas 07].
Canny a ensuite montr que ce ltre est relativement bien approch par la drive dun ltre
gaussien (pour lequel le critre de canny vaut 0,97) :
h(x) = xe
x
2
2
2
(3.84)
La dtection de contours par utilisation de lalgorithme de Canny consiste donc calculer la
convolution de limage avec la drive dune gausienne dans les directions verticales puis hori-
zontales, avant de raliser lopration de seuillage. Gnralement, cette mthode, on prfrera
celle qui consiste :
1. Raliser la convolution de limage avec un ltre gaussien de grandeur nie (et dnie par
le paramtre ) suivant x et suivant y.
2. Calculer le gradient suivant x et suivant y de limage ltre (par exemple en utilisant le
masque de Sobel) x et en y
3. Calculer la norme et la direction du gradient en chaque pixel de limage
4. Dterminer les maxima locaux du gradient
5. Utiliser un seuillage par hystrsis pour dterminer quels sont les maxima locaux qui ap-
partiennent un contour.
Dautres que Canny ont bien videmment dni des ltres optimaux. Ceux-ci rpondent
gnralement aux mmes critres que ceux prsents ci-dessous, mais en respectant des condi-
tions initiales ou des contraintes direntes. Parmi ces autres ltres optimaux, on peut, par
exemple, citer ceux de Shen-Castan, prsents dans [Shen 86], ou celui de Deriche, prsent dans
[Deriche 87].
Conclusion
Les quelques mthodes prsentes ci-dessous ne sont bien videmment pas les seules exis-
tantes, mais sont lorigine de la recherche de contours en analyse dimage. De plus, les rsultats
obtenus sont gnralement tout fait satisfaisants, mme pour les mthodes les plus simples.
Plusieurs tudes, comparant dirents algorithmes, ont t ralises (par exemple [Heath 96] ou
[Heath 97]) montrant bien la supriorit de lalgorithme de Canny sur les algorithmes classiques.
La version initiale du logiciel CrestFinder inclura deux algorithmes danalyse dimage :
57
Fig. 3.24 Obtention du module du gradient par ltrage de Canny, [Thomas 07].
Le premier utilisera le masque le plus basique pour calculer les dirents gradients et un
seuil simple pour dterminer les contours.
Le second combinera un ltre gaussien (comme prconis par Canny) avec le masque de
Sobel, pour calculer des gradients et un seuillage par hysteresis, limit aux maxima locaux,
pour dterminer les contours.
Les valeurs des dirents seuils seront par contre dtermines de manire dynamique par
lutilisateur.
58
Chapitre 4
Le Projet CrestFinder
4.1 Prsentation
Le logiciel CrestFinder a pour but de retrouver les gravures prsentes sur un objet archolo-
gique dont une copie numrique puridimensionnelle a t ralise. Pour ce faire, il combinera une
analyse du maillage du modle numrique avec une analyse de la texture qui y a t associe.
Ce logiciel est dot dune interface graphique la plus simpli possible an de faciliter sa prise
en main. De plus, an de faciliter la visualisation et de permettre lutilisateur de se concentrer
sur un problme la fois, les direntes donnes et commandes sont spares dans quatre onglets
dirents :
Le premier onglet est consacr lachage des modles dorigine. Il comporte galement
une srie de curseurs qui permettent lutilisateur de positionner au mieux la pice quil
dsire analyser.
Le second onglet est consacr lanalyse du maillage. Une fois que lextraction des crtes
et valles aura t eectue par le programme, lutilisateur pourra y dnir, laide de
curseurs, les direntes valeurs seuils qui dtermineront quelles seront celles qui seront
aches lcran.
Le troisime onglet est consacr lanalyse de la texture. A nouveau, une fois les varia-
tions de couleurs calcules par le logiciel, lutilisateur pourra y dnir, toujours laide de
curseurs, celles qui lui semblent les plus pertinentes.
Finalement, le quatrime et dernier onglet est consacr lachage des rsultats obtenus.
Ceux-ci, ou une partie de ceux-ci (au choix de lutilisateur), seront alors achs sur un
mme modle an davoir une vision densemble et de pouvoir raliser des comparaisons.
Le programme ntant actuellement que dans une version beta, il nest capable de lire que les
modles enregistrs dans le format .obj et un certain nombre de fonctionnalits na pas encore
t implment. Cest pourquoi, il est conseill de lutiliser de pair avec le logiciel Meshlab qui
est un logiciel gratuit et open source.
La procdure standard pour analyser un modle avec le logiciel CrestFinder dans sa version
actuelle est la suivante :
1. Utiliser le logiciel fourni avec le scanner pour aligner et fusionner les scans 3D de lobjet
numris.
2. Enregistrer ensuite le modle rsultant dans le format .obj
3. Si le logiciel du scanner na pas t capable de raliser lassemblage des dirents scans 3D,
sauvegarder ceux-ci en format .obj et tenter de raliser lalignement et la fusion laide du
logiciel Meshlab.
59
4. Raliser un lissage du modle laide de Meshlab (ce logiciel propose un grand nombre de
lissages dirents)
5. Sauver le modle liss en format .obj
6. Ouvrir le modle liss laide du logiciel CrestFinder
7. Raliser les diverses analyses souhaites.
8. Le format de sauvegarde nayant pas encore t dni, faire une capture dcran des rsul-
tats que lon dsire conserver.
4.2 Gnralits
Dun point de vue plus technique, le logiciel CrestFinder a t ralis laide du kit de
dveloppement Qt 4.6 et compil sur un Macbook pro quip des systmes dexploitation MAC
OS 10.6 et Windows Xp avec le logiciel Qt Creator. A priori, rien nempcherait que le programme
soit galement compil sur un ordinateur sous Linux avec le mme logiciel, mme si cela na pas
t fait.
Le code, dans sa version actuelle, est divis en une trentaine de classes
1
:
main contient lapplication
mainwindows dnit la fentre principale
fenetre dnit la fentre dans laquelle est ach lensemble des donnes relatives un
modle en particulier.
fenetreanalyse2d, fenetreanalyse3d, fenetredonnee et fenetrenal sont les dirents onglets
achs.
glanalyse2d, glanalyse3d, gldonnee et glnal grent les widgets dans lesquels les modles
tridimensionnels sont visualiss (via la bibliothque OpenGL) dans les onglets.
leaderobj gre louverture des chiers en format obj et la conversion des donnes quils
contiennent.
image3d contient lensemble des donnes concernant du modle ach et les direntes
proprits des vertex qui le composent.
texture2 contient les informations relatives aux textures associes au modle.
edge, eigens, elist, features, graph, idlist, idset, point, point3d, pointtool, palarlist, polyhe-
dron et svdsolve grent lextraction des crtes et valles prsentes dans le maillage, ils sont
tous issus du projet CrestCode
2
.
cretes3d contient les crtes et valles extraites lors de lanalyse du maillage et leurs pro-
prits.
analysetexture gre lanalyse de la texture
cretes2d contient les crtes extraites de lanalyse de la texture et leurs proprits.
Par la suite, nous approfondirons un certain nombre daspects du programme et de problmes
qui ont t rencontrs lors de son criture.
4.3 Interface utilisateur graphique et programmation orient ob-
jet
Le programme tant avant tout destin tre utilis par des archologues, et non par des
informaticiens chevronns, il se devait dinclure une environnement graphique (GUI). De plus,
1
Lintgralit du code peut tre trouv lannexe C
2
http://www.riken.jp/brict/Yoshizawa/Research/Crest.html
60
aucun recours lusage de lignes de commande ne devait tre ncessaire son bon fonction-
nement. Linterface se devait dtre aussi intuitif, ou du moins, facile prendre en main, que
possible. Et ce, mme pour une personne peu habitue travailler sur un ordinateur.
Etant donn que le projet consiste travailler sur des copies numriques tridimensionnelles
dartefacts archologiques parfois complexes, le logiciel se devait dtre capable dacher de tels
objets et, surtout, de donner lutilisateur la possibilit de les manipuler.
Finalement, tant donn la complexit du logiciel crer, lutilisation de la programmation
oriente objet simposait implicitement. Le langage de programmation utilis, le C++, tant
parfaitement adapt un tel paradigme, cela ne posait videmment aucun problme, mais se
devait dtre signal.
4.3.1 La librairie Qt 4
Qt est un framework orient objet et dvelopp en C++ par Qt Development Frameworks,
liale de Nokia
3
. Elle ore des composants dinterfaces graphiques (widgets), daccs aux donnes,
de connexions rseaux, de gestion des ls dexcution, danalyse XML, etc. (...)
4
On y retrouve donc les diverses spcicits ncessaires la ralisation de notre projet :
programmation oriente objet
utilisation du C++
composantes dinterfaces graphiques
Ainsi que de nombreuses autres qui pourrait se rvl particulirement intressante dans le
cas dun dveloppement futur du projet, en particulier la possibilit de programmer une gestion
de bases de donnes.
Finalement, en ce qui concerne lachage dobjets en 3D, la version 4 de ce framework inclut
le module QtOpenGL qui permet lutilisation de lOpenGL ((Open Graphics Library
5
), une
librairie spcialise dans la gestion et lachage de scnes tridimensionnelles complexes.
Avantages et spcicits de Qt
Au niveau de la programmation, une des spcicits de Qt est de disposer de classes toutes
faites" pour un grand nombre dobjets spciques : boutons, cases cocher, curseur, menus,
fentres, etc. Ces direntes classes peuvent, non seulement, tre congures de manire relative-
ment prcise, mais galement compltes grce au principe de lhritage, de manire permettre
au programmateur de crer une classe quasi sur mesure reprenant les caractristiques de la classe
dont il sinspire. De plus, lutilisation des mcanismes de signaux et slots (qui sont propres Qt)
facilitent grandement la "communication" entre ces dirents objets et les fonctions quon dsire
leur associer, mais galement, et de manire plus gnrale, entre les direntes classes qui ont
t cres.
Autre avantage non ngligeable de lutilisation de Qt, est la portabilit des applications quil
permet. En eet, le fait quil nutilise que des composantes qui lui sont propres assure que, si
lutilisateur nintroduit pas lui-mme des fonctions qui font appel des fonctionnalits propres
un matriel prcis, le code ralis pourra tre compil sur nimporte quelle machine munie
de nimporte quel systme dexploitation (Linux, MacOS ou Windows) et ce quel que soit lOS
utilis lors de lcriture du code.
3
http://qt.nokia.com/
4
citation issue de : http://fr.wikipedia.org/wiki/Qt
5
http://www.opengl.org/
61
Pour faciliter encore cette inter-oprabilit, Qt nest pas seulement un ensemble de librairie,
mais galement un kit de dveloppement complet incluant entre autre le programme Qt Creator
Un avantage non ngligeable de lutilisation de Qt est la portabilit des applications quil
permet de raliser ; et cela par simple recompilation du code source. En eet, ce framework
nutilise que des composants qui lui sont propres.
Les direntes librairies qui composent Qt 4 sont accompagnes dun kit de dveloppement
complet, Nokia Qt SDK, qui est disponible pour tous les principaux systmes dexploitation.
Celui-ci inclut, entre autre, le programme Qt Creator qui permet lcriture et la compilation de
code en C++, utilisant, ou non, les librairies spciques Qt. Un autre outil trs utile faisant
galement partie du kit de dveloppement Qt est Qt Translation. Ce programme permet, lorsque
les dirents textes prsents dans le programme ont t cods dune manire particulire, de
pouvoir trs facilement convertir la langue dans laquelle lensemble de ceux-ci sont achs. Cela
permet de raliser, de manire simple et rapide, des versions dun mme programme en plusieurs
langues et ce sans devoir toucher au code source en lui-mme, mais uniquement en ajoutant un
chier "traduction" par langue.
Finalement, fait non ngligeable, une version gratuite et open source de Qt est disponible
sous la licence LPGL (Licence publique gnrale limite GNU
6
).
4.3.2 Ce que cela donne en pratique
Nous allons maintenant dcrire plus en dtails, et pas pas, les direntes fentre auquel
lutilisateur va tre confront lors de lutilisation du logiciel dvelopp.
Lenvironnement
Lorsquon lance le programme Crest Finder souvre une fentre (voir Fig. 4.1) dont les pro-
prits ont t dnies dans la classe MainWindows.
La classe MainWindows hrite de la classe QMainWindow
7
et dnit la fentre environnement
du programme. Celle-ci est divise en trois parties : une barre doutils, une zone centrale servant
lachage des documents et une barre de statut. De plus, ces trois parties sajoute une srie de
menus. Suivant le systme dexploitation, ceux-ci seront indpendants de la fentre, sous MacOS,
ou inclus celle-ci, sous Windows XP.
La barre doutils regroupe la plupart des fonctionnalits qui seront les plus utiliss lors de
lutilisation du logiciel.
"Cration" dun nouveau projet.
Ouverture dun chier dans le projet actif.
Enregistrement des rsultats du projet actif.
Fermeture du projet actif.
Rechargement de limage du projet actif (ou plus exactement la replacer dans sa position
dorigine).
Lancement de lanalyse du maillage.
Lancement de lanalyse de la texture.
Activer/dsactiver lachage de modle 3D de lobjet analys.
Activer/dsactiver lclairage.
6
le texte complet de la licence peut tre trouv sur : http://www.gnu.org/licenses/lgpl.html, pour la version
anglaise originale, ou sur : http://www.vadeker.net/humanite/copyleft/lgpl.html, pour une traduction en
franais.
7
http://doc.qt.nokia.com/4.6/qmainwindow.html
62
Fig. 4.1 Environnement de travail du programme Crest Finder.
Activer/dsactiver lachage de la texture de lobjet.
Activer/dsactiver lachage des crtes issues de lanalyse du maillage (quand elle a t
ralise).
Activer/dsactiver lachage des valles issues de lanalyse du maillage (quand elle a t
ralise).
Activer/dsactiver lachage des crtes issues de lanalyse de la texture (quand elle a t
ralise).
Zoomer et dzoomer.
Lensemble de ces fonctionnalits, ainsi quune srie dautres, sont, bien sur, galement re-
prises dans les dirents menus.
Fichier regroupe toute les fonctionnalits concernant louverture, la fermeture et la sauvegarde
de projets ou de documents.
Edition est actuellement vide. Il est prvu pour regrouper lensemble des fonctions amenant
une modication du modle ach (lissage, simplication du maillage, droul, ...).
Achage contient tout ce qui concerne lachage des modles, des textures et des rsultats
des analyses.
Outils regroupe les divers outils danalyse implments dans le programme. Cest dire actuel-
lement la recherche de crtes et valles partir du maillage et celle de gradient de couleur
partir de la texture.
Fenetre contient les fonctionnalit de zoom, dorganisation des fentres des dirents projets
(achage en cascade ou en mosaque) mais galement de passage dun projet un autre.
Aide est destin contenir les dirents modules explicatifs qui pourraient tre crits pour le
projet.
63
La zone dachage centrale utilise le mode MDI (Multiple Document Interface), ce qui per-
met douvrir plusieurs projets en parallle dans le mme environnement. Ces dirents projets
pourront tre achs en mosaque ou en cascade lorsquon voudra passer de lun lautre ou les
comparer. Lorsquau contraire, on dsire travailler sur un objet particulier, la fentre du projet
qui sy rfre pourra tre ache en mode "plein cran" pour avoir la meilleur visualisation
possible.
Il faut nalement signaler que tant quaucun projet nest ouvert, aucune des diverses fonc-
tionnalits (si ce nest la cration dun nouveau projet) nest accessible, raison pour laquelle elle
apparaissent en gris. Les diverses fonctionnalits du logiciel se dbloqueront au cours de luti-
lisation de celui-ci, une fois que les conditions ncessaires leur utilisation auront t remplies.
Cela a bien videmment pour but de faciliter lutilisation du logiciel aux nophytes et dviter
que lutilisateur ne fasse une fausse manoeuvre.
Un objet, un projet, une fentre
Fig. 4.2 Fentre dans laquelle sera ach lensemble des donnes relatives un seul modle.
Lorsquon cre un nouveau projet, en cliquant sur Nouveau..., une fentre souvre dans la
zone dachage centrale du logiciel (voir Fig.4.2).
On peut voir que la fentre comporte plusieurs onglets
Image dorigine (qui est longlet initialement ach).
Analyse du maillage.
Analyse de la texture.
Resultat nal.
A nouveau, une seule option est initialement propose lutilisateur du programme, ouvrir
un chier qui contiendra le modle 3D original de lobjet archologique qui sera associ ce
projet. Lorsquon clique sur le bouton Ouvrir un chier, une fentre apparait pour permettre
lutilisateur de slectionner le modle quil veut acher (Fig. 4.3. Comme on peut le remarquer,
64
seuls les chiers qui sont en format .obj peuvent tre slectionns. Il sagit du seul format que
le programme est actuellement capable de lire, le blocage des autres chiers est donc nouveau
destin empcher un utilisateur distrait de faire une erreur.
Fig. 4.3 Choix du chier qui sera ouvert.
Les dirents onglets
Une fois le modle slectionn, celui-ci est ach (Fig. 4.4. Comme on peut le voir, si les
normales en chaque point du maillage nont pas t dnies, le modle se prsente sous la forme
dune ombre de couleur uniforme. Cependant, lachage du modle dbloqu de nouvelles
fonctionnalits proposes par le programme.
A gauche de la zone dachage :
Recharger limage qui permet de repositionner limage bien au centre de la zone dachage,
et avec la position dans laquelle elle a t initialement ouverte.
Lisser limage qui est destin au jour o des fonctions de lissage seront implmentes dans le
programme.
Analyse du maillage qui lance lanalyse du maillage, cest dire le calcul des normales et
proprits de courbures des dirents vertex, mais galement la dnition des crtes et
valles.
Analyse du maillage qui lance lanalyse de la texture (mais ne se dbloque que si le modle
possde eectivement une texture).
nombre de vertex indique le nombre de points qui composent le modle.
nombre de face indique le nombre de triangles qui composent le modle.
A droite de la zone dachage, on trouve trois curseurs :
65
Fig. 4.4 Premire visualisation du modle.
rot.x qui permet de faire tourner le modle autour de laxe x (laxe rouge).
rot.y qui permet de faire tourner le modle autour de laxe y (laxe vert).
rot.z qui permet de faire tourner le modle autour de laxe z (laxe bleu).
Outre ces trois curseurs, lutilisateur peut galement faire tourner le modle laide de la
souris. Pour ce faire, il lui sut de laisser son doigt appuy sur les boutons droit et gauche de
celle-ci lorsquil la dplace. Autre possibilit qui sore lui, utiliser les boutons A,E (rotation
autour de x), Z,S (rotation autour de y) et Q,D (rotation autour de z). La roulette de la souris
permet quant--elle de zoomer et dzoomer.
Au dessus de la zone dachage, on peut voir quatre cases qui peuvent tre coches :
Acher le repre permet comme son nom lindique dacher ou non le repre.
Acher limage permet dacher ou non le modle. Cette option est bien videmment surtout
intressante pour les onglets suivants.
Acher la texture permet, lorsque le modle en possde une, dacher ou non la texture. En
eet, dans certains cas, la texture complique plus quautre chose la lecture de lobjet.
illuminer lobjet permet, toujours comme son nom lindique, dilluminer ou non lobjet.
En dessous de la zone dachage, se trouve galement cinq autres cases pouvant tre coches,
mais elles ont la particularit dtre "exclusives", cest dire quune seule des cinq peut tre
active la fois (et il y en aura toujours une dactive). Ces boutons permettent de slectionner
le mode actif
mode *rotation est le mode par dfaut, il lie les mouvements de la souris (et les touches
A,E,Q,D,Z,S) avec la rotation de lobjet comme cela a t expliqu prcdemment.
mode *translation permet de translater lobjet laide de la souris (ou des touches A,E,Q,D,Z,S).
De cette manire lutilisateur peut dplacer le modle an de placer la partie de celui-ci
qui lintresse le plus au centre de la fentre.
66
mode *lumiere permet de lier les mouvements de la souris (et les touches A,E,Q,D,Z,S), non
plus pour translater lobjet lui mme, mais pour translater la source de lumire utilise
pour clairer la scne.
mode *camera* lie cette fois la sourie (et les touches A,E,Q,D,Z,S) aux translations de la
camera, ce qui permet de changer langle de vue utilis par celle-ci).
mode *selection est lgrement dirent de celui-ci, il a t prvu pour le jour o un outil,
permettant de slectionner, ou dselectionner, des vertex ou triangles du modle laide
de la souris, sera ajout au projet.
Lorsquon clique sur le bouton Analyse du maillage, le programme ouvre une fentre
pour demander lutilisateur le nombre de premier voisin dont il veut tenir compte. Ensuite, il
calcule automatiquement les normales en chaque vertex, puis les courbures, directions et drives
principales et enn passe dans longlet "analyse du maillage" pour y acher les direntes crtes
et valles quil a identifes (Fig. 4.5).
Fig. 4.5 Visualisation des crtes et valles avec le modle initial en fond.
Cet onglet est nouveau spar en 3 parties : A gauche, lensemble des commandes permet-
tant dacher et daner lachage des crtes. A droite, lensemble des commande permettant
dacher et daner lachage des valles. Et au centre, la fentre o sont aches les valles
(en bleu) respectant les conditions dnies par les curseurs de droite , les crtes (en rouge) res-
pectant les conditions dnies par les curseurs de gauche et le modle lui mme. On voit bien,
sur la capture dcran, lintrt quil peut y avoir ne pas toujours acher le modle (Fig. 4.5
et 4.6).
On remarquera que plus la valeur T
1
qui est associ une ligne de crte sera petite, plus
cette dernire sera sombre. A nouveau il est galement possible de nacher que les crtes ou que
les valles. En dessous des dirents curseurs permettant de dnir des valeurs-seuils maximal
et minimal pour les paramtres T
1
, T
2
et L, on peut voir que sont respectivement indiqus les
nombres totaux de crtes et de valles qui ont t trouves par le programme.
67
Fig. 4.6 Visualisation des crtes et valles sans le modle initial en fond.
Un retour au premier onglet nous permet de voir que maintenant que nous disposons dune
estimation des normales en chaque vertex qui compose le modle, lachage des volumes de
celui-ci est devenu possible (Fig. 4.7.
Lorsque le modle dispose dune texture, le bouton Analyse de la texture du premier
onglet devient utilisable. En cliquant dessus, lutilisateur lancera loutil danalyse de la texture
et ouvrira longlet correspondant. A nouveau, cet onglet est spar en trois parties :
A gauche, lensemble des outils relatifs la recherche simpliste des gradients.
Au centre, lachage des rsultats.
A droite, lensemble des outils relatifs lanalyse de la texture via lalgorithme de Canny.
Lorsque lutilisateur a ralis les analyses qui lintressaient et dnit les dirents seuils lui
permettant de faire une premire slection des crtes (et valles) quil dsire acher lcran,
il est temps pour lui de cliquer sur le dernier onglet, longlet Rsultat nal (Fig.4.8). Comme
dhabitude, cet onglet est divis en 3 parties :
A droite, une srie de cases cocher permettant de dcider ce qui sera ach dans la
zone centrale. Ainsi quun rcapitulatif des direntes valeurs caractristiques du modle
(nombre de points, de triangles, de valles et de crtes 3D).
Au centre, lachage des rsultats obtenus par les direntes analyses.
A gauche, une srie de boutons destins accueillir les futures fonctionnalits de sauvegarde
et, par exemple, de simplication du maillage partir des rsultats achs au centre.
A lutilisateur maintenant de revenir aux onglets Analyse du maillage et Analyse de la
texture pour tenter daner les rsultats achs dans longlet Resultat nal et de mettre en
vidence de nouvelles gravures.
Si on sintresse au code en lui mme, les principales classes prdnies de la librairie Qt 4.6
qui ont t utilises pour raliser cette interface graphique sont :
QMainWindow qui permet de crer, au choix, un environnement MDI (Multiple document
interface) ou SDI (Single document interface) avec Menu, barres des tches, barre dtat
68
Fig. 4.7 Achage du modle lorsquon connait les normales en chaque vertex.
Fig. 4.8 Dernier onglet.
69
et docks.
QTabWidget Qui permet de crer une fentre divise en dirents onglets. La classe fenetre
de notre programme en hrite
QWidget qui permet de crer une fentre, indpendante ou incluse dans une autre fentre. Les
dirents onglets du programme sont dnis laide de classes ayant hrit de celle-ci.
QGLWidget qui permet de crer une fentre servant acher une scne en 3D laide de
la librairie Open GL. Les direntes zones dachage o apparaissent le modle tridimen-
sionnel y ont recours.
QPushButton qui a permis de crer les dirents boutons.
QCheckBox qui a t utilis pour les cases cocher.
QSlider et plus exactement QVSlider qui permet de crer des curseurs verticaux comme il y
en a un certain nombre dans ce programme.
4.4 Lecture et criture de chiers
Nous allons maintenant nous pencher sur les entres et sorties du programme, en commen-
ant par nous intresser une srie de formats qui sont utiliss pour sauvegarder des modles
tridimensionnels.
4.4.1 Images tridimensionnelles et formats denregistrement
Il existe un grand nombre de formats dirents permettant denregistrer un modle tridi-
mensionnel, ce qui peut parfois poser problme tant donn que chacun aura tendance utiliser
celui quil prfre, quil a dvelopp lui mme ou simplement le format utilis de base par le
logiciel quil utilise. Cela a, bien sur, pour consquence, quil peut arriver quon se retrouve in-
capable douvrir un chier envoy par un tier car on ne possde pas "le" logiciel ad-hoc". En
eet, si certains sont des formats ouverts, un grand nombre est ferm et mme parmi les formats
ouverts, bien peu sont rellement normaliss. Heureusement, un certain nombre de formats ou-
verts est susamment populaire pour que la plupart des logiciels travaillant sur des modles 3D
permettent leurs utilisateurs de les employer
8
.
Le format .scn
Le format .scn fait partie de ces formats ferms et propritaires qui ne peuvent tre ouvert ou
modi que par un nombre excessivement rduit de logiciel. Dans ce cas ci, il sagit exclusivement
de ceux produits par NextEngine. Il sagit du format dans lequel sont initialement sauvegards
les modles raliss par le scanner 3D NextEngine utilis pour numriser les direntes gravures
de la grotte dEl Castillo, les lments de la ncropole dItanos et la plupart des autres objets
numriss par le service LISA et disposant dune texture.
Le format .obj
Le format .obj est un format ouvert dvelopp par Wavefront Technologies lors du dvelop-
pement de son logiciel danimation Advanced Visualizer et adopt depuis par toute une srie
dautres logiciels 3D. Le modle enregistr est divis en un certain nombre dlments dont la
8
Une liste, non exhaustive, de formats 3D et 2D, et de leurs proprits, peut tre trouve sur http://local.
wasp.uwa.edu.au/~pbourke/dataformats/
70
forme est prdnie, chacun de ces lments tant caractris par une lettre ou un groupe de
lettres qui vient se placer au dbut de la ligne.
Lorsquune ligne commence par #, cest quil sagit dun commentaire.
Lorsquune ligne commence par la lettre v, cest quil sagit des coordonnes dun vertex.
Le v sera suivi par 3 nombres correspondants aux coordonnes x, y et z du vertex.
Lorsquune ligne commence par les lettres vt, cest quil sagit des coordonnes dune
texture. Le vt sera suivi par 2 nombres correspondants aux coordonnes x, et y du pixel
de limage utilise comme texture.
Lorsquune ligne commence par les lettres vn, cest quil sagit des coordonnes dune
normale. Le vn sera suivit par 3 nombres correspondant aux coordonnes x, y et z de la
normale.
Lorsquune ligne commence par la lettre f, cest quil sagit des indices des vertex formant
une face et des coordonnes de textures et normales qui y sont associes. Le f sera suivi
dune srie de groupes dindices spars par des barres obliques /. Chaque groupe corres-
pondra un coin du polygone qui forme la face, et le nombre de groupes dterminera le
nombre de coins. Le premier lment du groupe sera toujours lindice correspondant au
vertex, le second (aprs le premier /) sera lindice des coordonnes de texture associes au
coin et le troisime (aprs le second /) sera lindice de la normale associe au coin. Si seuls
les vertex ont t dnis, une face se prsentera donc sous la forme : f v1 v2 v3 .... Si
on connait galement les coordonnes de la texture, on aura : f v1/vt1 v2/vt2 v3/vt3
.... Si par contre, on connait les coordonnes de la normale, on aura alors : f v1//vn1
v2//vn2 v3//vn3 .... Et si on dispose de toutes ces informations, la face se prsentera
sous la forme : f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 ....
Lorsque la ligne commence par mtllib, cest quil sagit de ladresse du chier .mtl qui
contiendra toutes les indications concernant les dirents matriaux utiliss pour texturer
les faces du modle. Il peut arriver quun mme chier .obj utilise plusieurs matriaux
possdant chacun leur chier .mtl.
Lorsque la ligne commence par usemtl, cest quelle indique le matriau qui sera utilis
pour texturer les faces qui suivent et ce jusqu la prochaine ligne commenant par cette
commande. La commande usemtl doit toujours avoir t prcde par une commande
mtllib contenant la dnition du matriau appel. Toute face contenant des coordonnes
de textures doit avoir t prcde par une commande usemtl qui dnit le matriau quil
faut utiliser.
Un certain nombre dautres commandes existe, mais elles sont moins importantes. Lensemble
des spcications des chiers .obj peut cependant tre trouv sur http://local.wasp.uwa.edu.
au/~pbourke/dataformats/obj/ ou http://www.fileformat.info/format/wavefrontobj/egff.
htm.
Comme nous lavons vu, les informations concernant la texture ne sont pas directement
enregistres dans le chier .obj mais dans un chier .mtl (qui possde gnralement le mme nom
que le chier .obj lextension prte lorsquil est unique).
Le chier .mtl, pour Material Template Library ou Material Library le, est gnralement
organis en bloc, qui contiennent chacun la dnition dune texture dirente et lensemble des
proprits de celle-ci. En ce qui concerne les chiers .mtl cres laide du logiciel ScanStudio, les
dirents blocs de textures auront la forme
une commande newmtl qui spcie le nom du matriau
une commande map_Kd qui donne ladresse laquelle se trouve limage utiliser comme
texture (qui est sous le format .jpg).
71
Un certain nombre dautres indications peut cependant tre ajout, ou prendre la place de
ladresse du chier contenant la texture. Il sagira en gnral de la couleur, de la transparence
et de la valeur de rectivit utiliser et cela pour un clairage ambiant, dius ou spculaire
suivant la commande prsente en dbut de ligne. Lensemble des spcications des chiers .mtl
peut tre trouv sur http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/ ou http:
//www.fileformat.info/format/material/index.htm.
Le format .ply
Ce format, aussi connu sous le nom de Polygon File Format ou Stanford Triangle Format,
fut dvelopp au milieu des annes 90 au Stantford graphics lab Son design est largement inspir
de celui du format .obj de Wavefront mais laccent a t mis sur la possibilit dinclure, en plus,
des proprits et des groupements arbitraitres, raison pour laquelle ont t introduit les mots
cls "element" et "proprety" qui gnralisent les notions de faces, vertex, donnes associes etc.
Ce format fut principalement conu pour enregistrer des donnes venant de scanners 3D.
Il travaille avec une description relativement simple dun objet qui est encod sous la forme
dune liste de polygones plats et auxquels une varit de proprits peut tre ajoute (couleur,
transparence, normales la surface, coordonnes de texture, ...). Autre particularit de ce format,
il permet davoir des proprits direntes pour les 2 faces dun polygone.
Les chiers contiennent toujours une en-tte (header) crite en ASCII, et un "texte" crit
soit en ASCII soit en binaire. La premire ligne de len-tte contient toujours le texte "ply"
qui permet didentier le chier comme un chier ply, la ligne suivante contiendra le format
dencodage utilis pour le texte.
Le reste de len-tte est divis en "comment", "element" et "proprety" et nit par une ligne
avec le texte "end_header".
Les lignes commenant par "comment" sont des commentaires ajouts par la personne qui
a crit le chier, elles seront donc gnralement ignores.
Les lignes commenant par "element" indiquent comment sera encod un lment de donne
particulier et combien de ces lments contient le chier. Elles seront ensuite suivies par
une srie de lignes commenant par "proprety".
Les lignes commenant par "proprety" indiquent les direntes proprits de llment
introduit par la dernire ligne commenant par "element".
Certaines "proprety" sont des listes de valeurs, le mot-cl "list" suivra dans ce cas le
mot-cl "proprety" et sera suivi par un paramtre indiquant le nombre dentres dans la
liste et ensuite par un paramtre spciant le format de ces entres (int par exemple).
Par exemple, un objet contenant 8 vertex et 6 faces et crit en ascii aura pour header :
ply
format ascii 1.0
comment exemple de header de chier PLY
element vertex 8
proprety oat x
proprety oat y
proprety oat z
element face 6
proprety list uchar int vertex_index
end_header
72
Et le reste du chier ressemblera :
0 0 0
1 0 0
0 1 0
0 0 1
1 1 0
1 0 1
0 1 1
1 1 1
4 0 1 2 4
4 0 1 3 5
4 0 2 3 6
4 1 4 5 7
4 2 4 6 7
4 3 5 6 7
Les 8 lments de 3 chires correspondent au vertex, et les 6 suivants aux faces. Le chire au
dbut de chaque face indique le nombre de vertex qui la dnit et les suivants, lindice des vertex
correspondants, ici il sagit de faces quadrangulaires dnies donc par 4 vertex. Contrairement
au format obj, le type dlment auquel se rapporte chaque ligne nest pas indiqu en dbut de
celle-ci mais uniquement dans len-tte, il vaut donc mieux ne pas sauter une ligne lors de la
lecture ou lenregistrement du chier.
Lensemble des spcications du format .ply peut tre trouv sur : http://local.wasp.uwa.
edu.au/~pbourke/dataformats/ply/.
Gnralement, aucune texture ne sera associe aux chiers enregistrs dans le format .ply
mme si cela est thoriquement faisable.
4.4.2 Entre, lecture de chier image
Actuellement, seuls les chiers qui sont dans le format .obj peuvent tre ouverts avec le
programme CrestFinder. Si lutilisateur ne dispose pas dune version dans ce format du modle
quil dsire analyser, il lui faut en crer une. Pour ce faire, le plus simple est dutiliser le logiciel
qui lui a permis de crer le modle et de refaire une sauvegarde de celui-ci dans le format .obj. Si
ce nest pas possible, lutilisateur peut toujours utiliser un programme comme 3D Studio MAX
pour raliser la conversion. Sil ne possde aucun autre programme capable douvrir un chier
contenant un modle 3D, il lui est toujours possible de tlcharger la dernire version du logiciel
MeshLab, qui rappelons-le, est gratuit, pour ouvrir le chier puis (re)sauvegarder le modle en
format .obj.
Procdure
La procdure suivre pour ouvrir un chier et lacher est la suivante :
1. Lancer le programme.
2. Cliquer sur Nouveau.
3. Cliquer sur Ouvrir un chier.
73
4. Slectionner le chier contenant le modle quon dsire acher (celui-ci doit obligatoirement
tre au format .obj).
5. Attendre que la fentre annonant que le chargement du modle est termine et cliquer sur
le bouton Ok.
4.4.3 Sortie, enregistrement des rsultats
Actuellement, aucun outil permettant la sauvegarde des rsultats obtenus et de ltat du pro-
jet en cours nest compris dans le programme. Une solution alternative, pour quand mme garder
une trace du travail eectu, consiste raliser une capture dcran des rsultats intressants.
Cela peut, par exemple, se faire sous MacOS via le programme Capture ou sous Windows ou
Linux via lutilisation de la touche print screen.
4.5 Outils proposs
Nous entrons maintenant dans le vif du sujet, savoir les outils que propose le logiciel
aux archologues. Ceux-ci se rpartissent actuellement en deux catgories : les outils danalyse
du maillage et les outils danalyse de la texture. Par la suite, lajout de deux autres catgories
doutils sera galement envisag, les outils de "pr-traitement" du modle (lissage du maillage par
exemple) et les outils de "post-traitement" de celui-ci (par exemple, simplication du maillage).
4.5.1 Analyse du maillage
Actuellement, un seul outil danalyse du maillage est propos, il sagit de celui dextraction
des lignes de crte laide de lalgorithme prsent au chapitre 3.2.1 et qui se base sur les
articles [Yoshizawa 08] et [Yoshizawa 05]. Pour ce faire, le code du projet CrestCode (CC
9
) a t
lgrement modi et inclus au projet Crest Finder (CF).
Recherche des crtes et valles
Le code du projet CCmod tant inclus sans modication importante dans le code du pro-
gramme CF, son bon fonctionnement ncessite la conversion du format de sauvegarde des don-
nes dans la classe Image3d (sous la forme dune srie de matrices), vers le format utilis par
la classe polyhedron (une srie de matrices et de listes), conversion qui peut prendre un temps
non ngligeable dans le cas de gros chiers. Outre ce petit dfaut, lalgorithme de recherche des
crtes recalcule automatiquement les normales aux dirents vertex, mme quand celles-ci sont
connues, et ne peut pas calculer ces mmes normales sans rechercher automatiquement par aprs
les lignes de crtes. Ceci, bien videmment, car on part du principe que si lutilisateur utilise ce
programme, cest avant tout pour chercher les gravures, si seul le calcul des normales lintresse,
il vaut mieux pour lui directement se tourner vers un programme comme MeshLab. Cependant,
malgr le fait que la vitesse dexcution pourrait fort probablement tre amliore, les rsultats
obtenus par le programme sont tout fait respectables.
Lorsquil lance lalgorithme de recherche de crtes, une fentre souvre pour conrmer le dbut
de lanalyse et demande lutilisateur de conrmer son choix (Fig. 4.9). Lutilisateur doit alors
cliquer sur Ok pour que la procdure continue.
Lalgorithme calcule alors les normales en chaque vertex, puis une seconde fentre apparait,
demandant lutilisateur de choisir le nombre de premiers voisins k dont il veut tenir compte
9
http://www.riken.jp/brict/Yoshizawa/Research/Crest.html
74
Fig. 4.9 Fentre souvrant lorsquon lance lanalyse du maillage.
(Fig. 4.10. Ce nombre peut varier entre 1 et 10, plus il est grand plus les calculs seront lents.
Si k = 1, les ligne de crtes obtenues seront gnralement loin dtre trs prcises et seront
souvent dcoupes en plusieurs parties. Si k > 4, un eet de lissage aura tendance apparaitre
et certaines des crtes les moins nettes napparatront donc pas. En gnral, les rsultats les plus
prcis ont t obtenus avec k = 3.
Fig. 4.10 Fentre du choix de k .
Une fois que lutilisateur valid son choix de k, le programme calcule tous les paramtres
de courbures et dtermine les direntes lignes de crtes. Une fois cela fait, il passe directement
longlet Analyse du maillage et lance une dernire fentre pour informer lutilisateur que les
calculs sont bien termins (Fig. 4.11).
Fig. 4.11 Fentre annonant la n de la rcupration des lignes de crtes.
Il ne reste alors plus lutilisateur qu utiliser les dirents curseurs pour faire apparaitre
et disparaitre les lignes de crtes qui sont aches dans la zone centrale.
Deux curseurs sont associs chaque paramtre, le premier permet de xer la valeur mi-
nimale que doit avoir ce paramtre pour que la ligne de crte soit ache, le second la valeur
maximale que peut avoir celui-ci pour quelle soit ache. Pour chaque curseur, la valeur en bas
de lchelle est de 0 et celle en haut de lchelle de 1. Cette valeur sera ensuite multiplie par la
valeur maximale du paramtre associ pour lensemble des crtes (ou, respectivement, valles).
75
Cependant, la croissance associe chaque intervalle entre deux traits dun curseur varie suivant
le paramtre associ celui-ci. Pour les curseurs lis au paramtre T
1
la croissance est constante
(1
e
r trait 0, 2
e
0.1, 3
e
0.2, ... dernier 1). Pour les autres par contre, la croissance est
gomtrique (1
e
r trait 0, 2
e
0.01, 3
e
0.04, 4
e
0.09, 5
e
0.16, 6
e
0.25, 7
e
0.36, 8
e
0.42, 9
e
0.64, 10
e
0.81 et dernier 1).
Ces dirences dchelle sexpliquent par le fait que T
1
est dtermin par une intgrale simple,
alors que pour T
2
on utilise une intgrale double. En ce qui concerne le choix dune croissance
gomtrique pour le curseur li L, la valeur de la longueur des crtes, cela est du au constat
exprimental que celle-ci tait loin dtre uniformment rpartie sur lensemble de lchelle quelle
occupe. En eet, si on a gnralement quelques crtes relativement longues, la plupart dentre-
elles sont de longueurs bien plus rduites. De fait, en utilisant une croissance linaire, il arrivait
souvent quon fasse disparaitre quasi lintgralit des crtes avant mme davoir atteint le premier
trait.
Finalement, il faut faire remarquer, que le logiciel dsactive automatiquement lillumination
de lobjet an de faire apparaitre crtes et valles. Il ne dsactive par contre pas lachage du
modle dorigine, de manire conserver limpression de volume. Il peut cependant se rvler
intressant de cacher celui-ci, en particulier si le modle est plan (comme cest gnralement le
cas lorsquon a numris une gravure paritale) ou constitu dun trs grand nombre de faces
et de vertex (ce qui est typiquement le cas lorsquon travaille avec des modles crs par des
scanners 3D haute dnition).
Procdure
La procdure suive pour raliser lanalyse du maillage est donc la suivante :
1. Lorsquun modle a t charg, cliquer sur le bouton Analyse du maillage.
2. Lorsque la fentre de conrmation de lanalyse du maillage sache, cliquer sur Ok
3. Dnir la valeur du k que lon dsire utiliser (1 si on veut que les calculs soient rapides,
3 si on veut avoir de bons rsultats, 5 ou plus si on veut en plus avoir un eet de lissage
supplmentaire) et cliquer sur le bouton Ok.
4. Attendre la fentre annonant que le calcul des lignes de crtes est termine, et cliquer sur
le bouton Ok.
5. Une fois les lignes de crtes dtermines, commencer par nacher que les crtes (ou que
les valles).
6. Dnir les seuils infrieurs pour chacun des trois paramtres relatifs aux crtes (ou aux
valles).
7. Dnir ensuite, si ncessaire, les seuils suprieurs de ces trois paramtres.
8. Cacher les crtes (ou les valles) et acher les valles (ou les crtes).
9. Dnir les seuils infrieurs pour chacun des trois paramtres relatifs aux valles (ou aux
crtes).
10. Dnir ensuite, si ncessaire, les seuils suprieurs de ces trois paramtres.
11. Acher toutes les lignes de crtes (crtes et valles).
12. Si ncessaire, recommencer lopration partir du point 7, jusqu obtenir un rsultat que
lon considre comme acceptable.
13. Revenir longlet Image dorigine pour lancer lanalyse de la texture (si le modle en
possde une) ou passer directement longlet Resultat nal.
76
4.5.2 Analyse de la texture
Actuellement, deux outils danalyse de la texture sont proposs. Le premier repose sur le
calcul du gradient par une dirence nie et utilise le masque le plus simple prsent au chapitre
3.2.3. Le second repose sur la mthode introduite par Canny dans son article [Canny 86] et
prsent au chapitre ??
Mthode des dirences nies
Lalgorithme utilisant la mthode des dirences nies utilis par le logiciel CrestFinder est
largement inspir de celui prsent sur : http://www.cppfrance.com/codes/DETECTION-CONTOURS_
28297.aspx.
Pour calculer le gradient en x et en y des pixels qui ne sont pas aux bords de limage, il utilise
respectivement les masques :
1
2
_
_
_
1
0
1
_
_
_
et
1
2
_
1 0 1
_
(4.1)
centrs sur leur lment 0. Et pour le gradient des points appartenant aux bords, ce seront
les masques :
_
1
1
_
et
_
1 1
_
(4.2)
Masques que lon fera pivoter de + ou - ou /2 en fonction du bord pour lequel on calcule
les gradients.
Une fois les gradients suivant x et suivant y calculs, on en dduit la norme du gradient et
la direction de celui-ci. La particularit du code repose cependant sur le fait que lon calcule
les gradients pour la fonction intensit de limage, mais aussi et de manire indpendante, pour
les composantes en chacune des 3 couleurs qui composent limage, cest--dire les gradients de la
composante rouge, ceux de la composante verte et enn ceux de la composante bleue.
Lalgorithme dtermine ensuite quels sont les pixels qui sont galement des maxima locaux du
gradient. Une fois lensemble de ces valeurs calcules, elles sont alors associes au vertex associ
au pixel de la texture auxquels elles correspondent.
Une fois cette opration eectue, cest lutilisateur de dnir les valeurs seuils en dessous
desquelles le vertex ne sera pas ach lcran, et de choisir sil veut tenir compte du gradient
associ tous les vertex ou seulement des vertex pour lesquels le gradient associ t reconnu
comme un maxima local. Quatre valeurs de seuils peuvent ainsi tre dnies laide des curseurs
par lutilisateur : Une valeur pour le gradient dintensit, une pour le gradient de la composante
rouge, une pour celui de la composante verte et enn une pour celui de la composante bleu de
la texture.
Mthode de Canny
Le second outil danalyse de la texture que compte proposer le logiciel CrestFinder utilise
la mthode mise au point par Canny. Lalgorithme utilis sinspirera largement de celui utilis
77
dans larticle [?] et prsent sur le site http://marathon.csee.usf.edu/edge/edge_detection.
html
10
.
Dans un premier lieu, lalgorithme demandera lutilisateur dentrer la valeur du quil veut
utiliser. A partir de celui ci, il crera le noyau gaussien par lequel limage sera convolue. La
taille de ce noyau sera gal 2, 5 arrondi lentier suprieur. Une fois le masque correspondant
au noyau gaussien cr, lalgorithme calculera les valeurs dintensit des pixels de limage ltre.
La seconde tape de lalgorithme consiste utiliser les mmes masques que pour la mthode
prcdente (celle des dirences nies), pour estimer la valeur des gradients suivant x et suivant
y. Il en dduira ensuite le module G et lorientation du gradient en chaque pixel de limage.
Il identiera ensuite les maxima locaux du gradient, en comparant le gradient de chaque pixel
avec celui de ses premiers voisins dans la direction . A nouveau, lensemble des valeurs calcules
pour chacun des pixels de limage sera transmise aux vertex qui leur sont associs.
Ce sera enn lutilisateur de dnir de manire dynamique, laide de curseurs, les valeurs
des seuils infrieur et suprieur quil dsire utiliser pour raliser un seuillage par hystrsis et
ainsi faire ressortir les dirents contours prsents dans limage.
Procdure
La procdure suivre pour raliser lanalyse de la texture est donc la suivante :
1. Lorsquun modle a t charg, cliquer sur le bouton Analyse de la texture.
2. Lorsque la fentre de conrmation de lanalyse de la texture sache, cliquer sur Ok
3. Lorsque la fentre demandant si on veut utiliser la mthode des dirences nies apparait,
cliquer sur Oui, si cest le cas. Sinon cliquer sur Non.
4. Si ltape prcdente, lutilisateur a cliqu sur Non, une fentre demandant si on veut
utiliser la mthode de Canny apparat. Si cest le cas cliquer sur Oui.
5. Si ltape prcdente, lutilisateur a cliqu sur Oui, dnir la valeur de que lon dsire
utiliser et cliquer sur Oui.
6. Attendre la fentre annonant que le calcul des gradients de couleur est termine, et cliquer
sur le bouton Ok.
7. Pour commencer, nacher que lanalyse des gradients calculs par dirences nies (si
ceux-ci ont t calculs).
8. Choisir si on veut travailler avec tous les vertex ou seulement ceux qui correspondent un
maximum local laide des boutons cocher correspondants.
9. Dnir les dirents seuils dachage des vertex. Commencer par celui correspondant au
seuil du gradient dintensit pour ensuite faire ceux correspondant aux direntes couleurs
10. Recommencer lopration partir du point 7 jusqu lobtention dun rsultat satisfaisant.
11. Cacher lanalyse des gradients calculs par dirences nies et acher celle des gradients
calculs par la mthode de Canny (si ceux-ci ont t calculs).
12. Dnir le seuil suprieur puis le seuil infrieur dachage des vertex.
13. Recommencer lopration partir du point 12 jusqu lobtention dun rsultat satisfaisant.
14. (R)acher lanalyse des gradients calculs par dirences nies.
15. Revenir longlet Image dorigine pour lancer lanalyse du maillage (si cela na pas dj
t fait) ou passer directement longlet Resultat nal.
10
Le code source est disponible ladresse : ftp://figment.csee.usf.edu/pub/Edge_Comparison/source_
code/canny.src
78
4.6 Autres outils envisags
4.6.1 Pr-traitement du modle
Comme cela a dj t indiqu prcdemment, il est gnralement recommand de raliser
un lissage du maillage avant den chercher les crtes et valles, et un lissage de la texture avant
de rechercher les contours quelle contient.
Actuellement, aucun algorithme de lissage nest inclus dans le logiciel CrestFinder, cette
opration doit donc tre ralise sur le modle, avant quil ne soit ouvert par ce logiciel.
Lissage du maillage et de la texture
Un certain nombre dalgorithmes de lissage du maillage est, par exemple, incorpor au pro-
gramme MeshLab. Ce logiciel peut donc tre utilis pour raliser tout lissage pralable qui serait
ncessaire lobtention, aprs analyse du maillage par le logiciel CrestFinder, de rsultats utili-
sables.
Cependant, lidal serait que ces algorithmes soient directement implments dans ce dernier
logiciel. Contrairement au logiciel MeshLab, lutilisateur devrait pouvoir, tout moment, compa-
rer le modle original et le modle liss et repartir du modle original pour recrer le modle liss
(en utilisant par exemple un autre ltre de lissage). Parmi les dirents algorithmes de lissage
3D existants, citons, par exemple, le lissage de Taubin, celui de Laplace ou le lissage bilaplacien
11
.
Lissage de la texture
De nos jours, la plupart des logiciels de traitement dimage ou de photos tels que Gimp ou
Adobe R Photoshop R mettent la disposition de leurs utilisateurs, des ltres pour rduire le
bruit prsent dans les images et plus particulirement les photos. Ils incluent mme parfois des
algorithmes de recherche de contours.
Cependant, nouveau, lidal serait de pouvoir inclure ces algorithmes directement dans le
logiciel CrestFinder de manire, nouveau, ce que lutilisateur puisse comparer la texture
initiale la texture lisse et refaire le lissage, si celui ci ne lui convient pas, sans devoir recharger
tout le modle. Parmi les dirents algorithmes de lissage 2D existants, citons par exemple le
ltre moyenneur ou le ltre mdian (cf, par exemple, [Matre 03]).
4.6.2 Analyse du maillage
Crtes et valles
Actuellement, une seule mthode de recherche des crtes et valles est implmente, mais
comme nous lavons vu dans les chapitres prcdents, il en existe un certain nombre dautres
dont certaines qui pourraient se rvler beaucoup plus rapides.
Lide serait donc de permettre lutilisateur de choisir quelle mthode il prfre utiliser, voire
lui permettre den utiliser plusieurs la fois pour quil puisse comparer les rsultats obtenus.
Simplement laisser lutilisateur choisir la mthode quil prfre, quitte refaire les calculs avec
une autre mthode par la suite, ne changerait pas la structure du programme, il surait dajouter
une fentre interface pour faire ce choix avant la fentre dans laquelle lutilisateur dtermine k.
11
Des codes sources relatifs ces trois mthodes de lissage sont par exemple disponibles sur : http://ikit.
prod.free.fr/index.php?title=M2:Lissage.
79
Permettre lutilisateur dutiliser plusieurs mthodes simultanment, par contre, pourrait se
rvler plus problmatique, car la conguration actuelle de longlet analyse du maillage ne serait
plus susante. Il faudrait donc, au choix, ajouter des nouveaux onglets ou modier les onglets
actuels pour quils permettent lachage de plusieurs jeux de crtes et valles. Personnellement,
je prfrerais la seconde solution, mme si elle demanderait plus de travail.
Parmi les nombreux algorithmes existants, je pense que cela vaudrait la peine dajouter
ce programme les 2 autres algorithmes tests dans larticle [Yoshizawa 08] savoir ceux de
[Yoshizawa 07] et la version amliore de [Rusinkiewicz 04]. Mais dautres mthodes locales
peuvent galement tre envisages, comme celle propose par [Song 05], [Cazals 06] ou [Kim 06].
De plus, au moins une mthode globale devrait galement tre incluse dans le programme, tant
donn que, daprs [Kent 96], celle-ci, bien que beaucoup plus lente, est sense donner des rsul-
tats plus exacts.
Reliefs et courbes de niveau
Par manque de temps, cette fonctionnalit na pu tre incluse dans la version initiale du
logiciel. Pourtant, les rsultats prsents dans les articles [Zatzarinni 09] et [Kolomenkin 09]
taient trs prometteurs. Cest pourquoi, une des premires fonctionnalits ajouter au logiciel
Crest Finder devrait tre celle-ci. Pour ce faire, un nouvel onglet devrait tre cr suivant la
mme structure que les prcdents, cest dire :
A droite, lensemble des fonctionnalits relatives aux reliefs "encaisss", cest dire, au
nal, les gravures. Cela comprendrait, priori, une case cocher pour choisir sil faut, ou
non, les acher. Et deux sliders permettant de dnir les hauteurs minimum et maximum
qui doivent tre associes de tels reliefs pour quils soient achs dans la zone centrale.
Au centre, la fentre dachage habituelle.
A gauche, le pendant du dock de droite, mais pour les reliefs "en lvation", ceux dont la
hauteur est suprieure celle de la surface-base.
Si un tel onglet est cre, il sera ncessaire de renommer lactuel onglet Analyse du maillage
en Crtes et Valles 3D an dviter toute confusion et de mme pour le bouton Analyse du
maillage qui devrait tre remplac par un bouton Extraction des crtes et valles 3D et
un bouton Extraction des reliefs et courbes de niveau.
4.6.3 Analyse de la texture
A nouveau, il existe beaucoup plus doutils danalyse dimages que les deux seuls proposs
par ce programme pour analyser la texture.
Parmi les ltres quil serait les plus intressants dajouter, on peut citer ceux de Shen-Castan
[Shen 86] et de Deriche [Deriche 87]. On peut galement envisager dimplmenter un algorithme
de recherche de contours via ltude des passages par zro du laplacien (voir [Matre 03] ou
[Devernay 05]). Ou encore, par contours actifs, une autre catgorie de mthodes de recherche de
contours dont je nai pas parl jusqu prsent, mais galement prsente dans [Matre 03].
4.6.4 Post-traitement du modle
Jusqu prsent, nous nous sommes contents de rechercher les gravures prsentes dans le
modle. Mais comme nous lavons vu dans la premire partie du Chapitre 3, une fois les gravures
identies, vient le temps de les analyser, et nouveau ,on peut esprer que linformatique pourra
venir en aide aux archologues.
80
Analyser les gravures nest cependant pas la seule opration qui pourrait tre ralise aprs
que celles-ci aient t mises en vidence. Connaitre la position des gravures permettrait de rduire
le nombre de vertex composant le modle loin de celles-ci. Une autre possibilit encore serait,
par exemple, de dvelopper un outil pour simuler la prise de relevs.
Simplication du maillage
La premier algorithme ajouter qui vient lesprit dun informaticien est probablement un
algorithme de simplication du maillage. En eet, comme on pourra le voir par la suite, le nombre
de points ncessaires pour reprsenter une paroi rocheuse avec une prcision infrieure au dixime
de millimtre, est juste norme. Cela pose bien videmment un problme, non seulement quand il
faut acher les dirents modles, mais aussi, et surtout, lorsquil faut stocker les trs nombreux
scans 3D qui ont t raliss lors de la fouille. Lide est donc dutiliser un maillage non uniforme,
qui minimise le nombre de vertex et de faces, tout en gardant une prcision similaire au maillage
original au niveau des zones importantes, cest dire celles prsentant des structures. Un tel
algorithme de forme a, par exemple, t propos dans larticle [Yoshizawa 08], en se basant sur
les articles [Kho 03] et [Lvy 02].
Projections et drouls
Comme nous avons pu le voir au chapitre 3.1.2, il existe dirents modes de projection pour
raliser lenregistrement dune gravure. Il serait donc intressant que le logiciel soit capable de
simuler ces direntes projections, de manire pouvoir enregistrer les rsultats obtenus laide
des outils danalyse proposs, non pas uniquement sous la forme dun modle tridimensionnel,
mais galement sous la forme dune image en deux dimensions, dune "photo". Le fait de pouvoir
simuler facilement les direntes projections envisageables permettrait alors larchologue de
choisir celle qui lui semble la plus adapte, ou la plus parlante.
Le logiciel est galement conu pour rechercher des gravures prsentes sur dautres supports
que des parois rocheuses, comme par exemple sur une cramique ou un sceau. Il serait donc
intressant dajouter, outre un outil permettant de faire une projection du modle sur un plan,
un outil permettant de raliser un droul de celui-ci. Un tel outil ncessite, cependant, que
soit galement implment un certain nombre dautres outils, car avant de pouvoir drouler un
objet, il faut pouvoir dterminer laxe autour duquel celui-ci est enroul. Cela pourrait donc se
rvler intressant dincorporer, dans ce programme, une partie des outils prsents par Cdric
Laugerotte dans sa thse [Laugerotte 06], voir mme lensemble dentre eux.
4.6.5 Mais encore...
Les direntes amliorations proposes ne sont bien videmment pas les seules envisageables.
Un outil qui pourrait se rvler des plus utile serait un "lasso" permettant de slectionner
certains vertex ou segments en particulier. Lutilisateur pourrait dsactiver, ou ractiver, la-
chage, lcran, des vertex appartenant cette zone. Il pourrait galement dcider de nacher
que les vertex ou segments pntrant dans cette zone et aucun autre
Le fait de pouvoir travailler directement avec des modles enregistrs dans une base de don-
nes, et de sauvegarder dans celle-ci les rsultats des analyses, pourrait galement se rvler
intressant. Cela permettrait, pourquoi pas, de crer des "cartes didentit" de chacun des mo-
dles partir des caractristiques extraites par le logiciel et de comparer, et classer, les dirents
objets sur base de celles-ci.
81
4.6.6 Lecture et criture de chiers
Actuellement, le logiciel nest capable que de lire les chiers OBJ. Une premire chose
faire serait donc dtendre les formats de chier quil est capable de lire, en commenant par
les formats PLY et STL prsents plus haut, puis en passant au format 3DS, pour au nal tre
capable de grer tous les formats supports par Meshlab et mme plus.
Au niveau de lenregistrement des rsultats, tout est encore faire. Actuellement, on ne peut
pas arrter un projet en cours. Fermer un projet signie que, si par la suite, on dsire retravailler
dessus, il faudra "repartir de zro". Cela peut videmment se rvler problmatique lorsquon voit
le temps parfois ncessaire pour calculer toutes les proprits de courbure de certains modles.
Une premire chose faire serait donc de mettre en place un format dans lequel pourrait tre sauv
lensemble des informations dj recueillies par le programme, de manire pouvoir reprendre
un projet l o on lavait laiss.
Un second problme consiste en lexportation des crtes et valles dtectes par le logiciel et
slectionnes par lutilisateur. Actuellement, le seul moyen den garder une trace, est deectuer
une capture dcran, ce qui nest pas pratique, il faut bien lavouer. Un format doit donc tre
trouv pour sauver ces donnes. Le format OBJ est envisageable dans un premier temps, mais
cela voudrait dire quon perdrait galement toutes les informations complmentaires la simple
localisation des crtes. Dans le mme ordre dide, le format U3D devrait galement tre envisag,
car il permettrait dinclure ces modles de crtes et valles dans des documents pdf.
Bien sur, cela nest susant que dans lhypothse o aucun autre des outils proposs prc-
demment na t ajout au programme. En eet, si le programme commence inclure des outils
permettant de modier le modle (outils de lissage, de simplication du maillage, de cration
de droul ou de projection des crtes), alors il faudra aussi envisager la sauvegarde du nouveau
modle cr (en format OBJ mais aussi PLY, STL 3DS, U3D, ...).
Un dernier point a abord est celui de la cration de drouls et de projections du modle
tridimensionnel sur une surface plane. De tels outils sont typiques de la recherche archologique,
et ne suivraient nalement que lvolution logique de la pratique actuelle, qui consiste faire une
capture dcran pour enregistrer les rsultats. Les rsultats seraient alors sauvegards sous forme
de chiers PNG, JPEG, GIF ou BMP, mais pourquoi pas aussi sous forme de dessins vectoriels.
82
Chapitre 5
Premires analyses de modles
tridimensionnels
5.1 Introduction
Maintenant que le programme Crest Finder a t prsent, voyons les rsultats quil permet
dobtenir dans un certain nombre de cas pratiques. Nous commencerons dabord par des images
tests dont la plupart sont issues dinternet, elles ont la particularit de ntre constitues que dun
nombre relativement rduit de vertex et de triangles et de ne pas possder de texture. Ensuite,
nous continuerons avec des images ralises laide du scanner 3D NextEngine.
La procdure qui sera suivie pour comparer les rsultats sera la suivante :
1. Achage du modle avec ScanStudio sans texture (lorsque celui-ci a t ralis laide du
scanner 3D NextEngine et que nous possdons la version .scn du chier).
2. Achage du modle avec ScanStudio avec texture (lorsque celui-ci a t ralis laide du
scanner 3D NextEngine et que nous possdons la version .scn du chier).
3. Achage du modle avec MeshLab sans texture
4. Achage du modle avec MeshLab avec texture (quand il en possde une et que cest
possible).
5. Achage du modle avec Crest Finder sans texture (aprs calcul des normales).
6. Achage des crtes et valles extraites du maillage pour une, ou plusieurs, valeur(s) de k.
7. Achage des crtes extraites de la texture (quand le modle en possde une et quelle se
prsente sous la forme dun seul chier .jpg).
8. Achage du rsultat nal le plus intressant.
Une fois les rsultats prsents, nous allons en faire lanalyse, prsenter les direntes sources
de problmes qui ont t identies et voir ce qui pourrait tre amlior dans le programme.
Ensuite, nous prsenterons une srie doutils supplmentaire quil serait intressant dajouter au
logiciel.
83
5.2 Etudes de cas
5.2.1 Vache
Le premier modle sur lequel nous allons travailler est celui dune vache
1
(Fig. 5.1). Comme
nous pouvons le voir, celui-ci est compos dun nombre relativement limit de vertex (4.583) et
de faces (5.804).
Fig. 5.1 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation avec
CrestFinder. En bas gauche : Crtes et Valles pour k=1. En bas droite : Crtes et valles
pour k=3.
On peut voir que dans ce cas, mme si le programme fournit des donnes relativement sa-
tisfaisantes, elles sont loin dtre parfaites. Que cela soit au niveau de lclairage o certains
paramtres devraient probablement tre corrigs. Ou au niveau des lignes de crtes, en particu-
lier au niveau des sabots. Le problme vient probablement du fait que lalgorithme dispose de
trop peu de points pour faire des calculs corrects. On peut cependant dj voir que les rsultats
obtenus avec k = 3 sont meilleurs que ceux obtenus avec k = 1 (les crtes sont moins dcoupes),
et ce, sans rellement prendre beaucoup plus de temps de calcul. Que ce soit pour k = 1 ou pour
k = 3, la dtermination des lignes de crtes na pris que quelques secondes (dont une bonne partie
1
http://redgeonline.net:8080/openGL/annotate/head\%3A/obj/cow-nonormals.obj
84
a probablement t utilise pour faire des conversions de format dimage au sein du programme.
5.2.2 Lapin
Le second modle, est celui du lapin de Stanford
2
(Fig. 5.2) et contient dj un nombre un
peu plus important de faces (69.664) et de vertex (34.834).
Fig. 5.2 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation avec
CrestFinder. En bas gauche : Crtes (1166) et Valles (468) pour k=1. En bas droite : Crtes
et valles pour k=3.
Le temps ncessaire pour ouvrir le chier et extraire les lignes de crtes est dj plus important
( chaque fois quelques secondes), mais reste raisonnable. Le temps douverture du chier est
cependant quasi 2 fois plus long celui pris par MeshLab. Au niveau des lignes de crtes, cela
2
http://graphics.im.ntu.edu.tw/~robin/courses/cg03/model/
85
commence devenir vident que prendre k = 3 fournit de meilleurs rsultats, en particulier au
niveau des pattes dont les bords napparaissent pas avec k = 1.
5.2.3 Tte dAthena
Avec ce troisime modle, nous rentrons enn dans le domaine de larchologie, il sagit dune
copie numrique dune tte dAthena
3
(Fig. 5.3). Les nombres de vertex (7.546) et de faces
(15.014) sont infrieurs ceux du modle prcdent, mais la pice est plus proche de ce qui
devrait tre tudi en pratique par les archologues via le logiciel CrestFinder.
Fig. 5.3 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation avec
CrestFinder. En bas gauche : Crtes (475) et Valles (289) pour k=1. En bas droite : Crtes
(271) et valles (196) pour k=3.
Comme on peut le voir, la visualisation faite avec MeshLab reste toujours de meilleure qualit,
en particulier les deux ttes de blier qui ornent le casque dAthena sont presque compltement
gommes. Lorsquon se contente de choisir k = 1 lors de la recherche des lignes de crtes, il
3
http://graphics.im.ntu.edu.tw/~robin/courses/cg03/model/
86
devient mme impossible de distinguer ces mmes ttes. Par contre, si on choisit k = 3, les yeux
ornant le haut du casque et les ttes de blier ornant lavant rapparaissent.
5.2.4 Venus
Le dernier cas "simple" est celui dune statue de Venus
4
(Fig. 5.4). A nouveau, le nombre de
faces (43.357) et de vertex (19.847) augmente par rapport au cas prcdent, mais reste quand
mme relativement limit. On remarquera cependant quon a dj une objet relativement com-
plexe analyser.
Fig. 5.4 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation avec
CrestFinder. En bas gauche : Crtes (735) et valles (534) pour k=3. En bas droite : Zoom
sur les crtes de la tte.
On remarquera que la complexit du drap et de la chevelure est bien mise en vidence par
les lignes de crtes identies.
4
http://graphics.im.ntu.edu.tw/~robin/courses/cg03/model/
87
5.2.5 Poterie grave
Nous allons maintenant nous intresser des modles raliss laide du scanner 3D nex-
tEngine et du logiciel ScanStudio. Le premier dentre eux est une poterie en terre cuite dans
laquelle une srie de gravures a t ralise laide de ciseaux. Ce modle initialement t
ralis pour tester le scanner en lui mme est avoir une ide de sa prcision. Comme on peut
le voir, ce modle comporte nettement plus de vertex (327.592) et de faces (633.789) que les
modles prsents jusqu prsent (Fig. 5.5).
Fig. 5.5 De gauche droite : Photo de la poterie. Visualisation de celle-ci avec MeshLab.
Visualisation de celle-ci avec CrestFinder.
Premire constatation, les gravures qui sont bien visibles sur la photo qui a t prise du mo-
dle, le sont beaucoup moins quand on visualise le modle avec MeshLab, et semblent disparaitre
lorsquon le visualise avec CrestFinder. De plus, pour une raison inconnue, MeshLab ne semble
pas reconnaitre les textures associes la pice, et ne les ache donc pas (pour tre exact, il
voit qu"il y a une texture, mais pour lui, elle consiste en une image uniformment noire). Ce
sera dailleurs le cas pour toutes les textures de modles convertis au format .obj par ScanStudio.
Pour ce modle-ci, CrestFinder semble galement avoir du mal avec les textures. Il semblerait,
malheureusement, quun problme au niveau du code fasse que, ds que la texture associe un
objet est rpartie sur plusieurs chiers, celui-ci narrive pas les analyser.
Deuxime constatation, le temps ncessaire pour raliser le chargement et lachage du mo-
dle, que ce soit avec les logiciels MeshLab ou CrestFinder est beaucoup plus long que pour les
modles prcdents. En particulier, alors quil ny avait pas de dirence notable de ce temps
entre les 2 logiciels jusqu prsent, il devient maintenant vident que rien que pour cette pro-
cdure, le logiciel CrestFinder est presque deux fois plus lent que le logiciel MeshLab. Pourtant,
contrairement ce dernier, il ne ralise pas le calcul des normales durant cette tape. Ce pro-
blme vient, fort probablement, de la manire dont sont stockes les donnes. Une rvision de
celle-ci a dailleurs t engage (mais une refonte totale de la fonction de lecture de chier doit
tre ralise pour que la nouvelle structure de stockage des donnes serve quelque chose).
Lorsquon ralise lanalyse du maillage, la premire chose qui frappe, cest le nombre relative-
ment lev de lignes de crtes "parasites" qui semblent y avoir par rapport aux rsultats obtenus
jusqualors (Fig. 5.6). Cependant, en nachant que les valles, on voit dj rapparaitre les
gravures qui semblaient jusqu prsent avoir disparues. En augmentant, mme trs lgrement,
la valeur minimale des valeurs de T
1
, T
2
et L pour les valles, nombre de valles "parasites"
88
disparaissent et les gravures se font beaucoup plus nettes. En ce qui concerne les valeurs de T
1
,
T
2
et L pour les crtes, un ltrage un peu plus important permet de bien mettre en vidence
que la gravure la plus marque est, non seulement, dnie par une valle (qui correspond son
fond) mais galement par deux crtes (qui correspondent ses lvres). Pour les autres gravures
par contre, seule une valle les marque.
Fig. 5.6 De gauche droite : Ensemble des crtes (7328) et des valles (2869) extraites pour
k=3. Uniquement les valles. Zoom sur la zone contenant les gravures (aprs avoir appliqu un
lger ltre). Rsultat nal.
Lorsquon ralise un ltrage pralable de limage dans loptique de rduire le nombre de lignes
de crtes parasites, on se rend vite compte que cela a galement un eet sur les gravures, les
moins marques ayant tendance disparaitre, gommes par le lissage.
Ces nombreuses lignes de crtes parasites ont probablement plusieurs origines : Dans un
premier lieu, le scanner ntant pas parfait, on peut supposer quil introduit un bruit de fond lors
de la prise de mesures. Ensuite, une seconde source de bruit est probablement la fusion des scans,
faits sous des angles dirents, qui sont lorigine du modle complet. Enn, la source la plus
importante de ces lignes de crtes "parasites" est probablement lobjet en lui mme. En eet,
89
cette poterie tant initialement destine tre vendue des touristes, sa qualit est relativement
mdiocre, sa surface est donc loin dtre lisse, contrairement au modle tudi prcdemment.
5.2.6 La stle dItanos
Ce modle a initialement servi tester la capacit quavaient les logiciels ScanStudio et
MeshLab aligner et fusionner dirents scans dun mme objet pour en raliser un modle
numrique complet.
Le logiciel CrestFinder a ensuite t test sur un des scans de la stle (le numro 16) (Fig.
5.7). Le choix de ne travailler que sur un seul des scans raliss est motiv par deux raisons :
Premirement, la taille de chaque des scans qui est dj trs importante, rien que pour celui-ci
nous avons dj 765.585 vertex et 1.520.629 faces. Et deuximement chaque scan ntant associ
qu un seul chier texture, se concentrer sur un seul dentre eux permettait de raliser lanalyse
de cette texture.
Fig. 5.7 A gauche : Visualisation de la stle texture avec ScanStudio. A droite : Visualisation
du maillage de la stle avec ScanStudio
.
Premire constatation, lorsquon visualise le modle avec ScanStudio, les gravures sont net-
tement plus lisibles lorsquon nache que le maillage que lorsquon y ajoute la texture.
A nouveau, lorsque limage est visualise avec MeshLab, il narrive pas lui appliquer la
texture. (Fig. 5.8, gauche.). De plus, mme en nachant que le maillage, les gravures ressortent
nettement moins.
Lorsquon passe au logiciel CrestFinder, les gravures disparaissent totalement et le visuel du
modle ne correspond plus rien (Fig. 5.8, droite.).
Cependant, lorsquon ralise lanalyse du maillage, les gravures refont leur apparition. Du
moins, lorsquon se contente dacher les valles (Fig. 5.9, gauche.). Un ltrage de celles-ci,
par limposition de seuil infrieur pour les valeurs des T
1
, T
2
et L est cependant ncessaire pour
90
Fig. 5.8 A gauche : Visualisation avec MeshLab. A droite : Visualisation avec CrestFinder.
bien les visualiser. Les gravures restent cependant plus lisibles lorsquon part de la visualisation
oerte par ScanStudio que lorsquon se base sur les valles extraites.
Une analyse de la texture laide dun algorithme utilisant la mthode des dirences nies
et un seuil simple pour chacune des trois couleurs de base a ensuite t ralise (Fig. 5.9,
droite.). Malheureusement, comme on peut le voir, cela na rien donn, probablement cause
des nombreuses "taches" claires prsentes dans la texture. Lutilisation de la mthode de Canny
aurait probablement t plus ecace. Malheureusement, le dbuggage complet de lalgorithme
sy rfrant na pu tre ralis avant lcriture de ce rapport. On peut cependant voir apparaitre
une certaine structure dans le rsultat de lanalyse de cette texture, avec la prsence de zone
plue sombre qui semble correspondre certains des caractres les plus nets.
Des tests ont galement t raliss en analysant limage servant de base cette texture, avec
les outils proposs parGimp. Ceux-ci nont cependant pas fourni de meilleurs rsultats que ceux
obtenus par loutil danalyse de la texture du logiciel CrestFinder.
91
Fig. 5.9 A gauche : Valles extraites par lanalyse du maillage (avec ltrage). A droite : Rsultat
de lanalyse de la texture.
5.2.7 Gravure de la conque gravetienne dEl Castillo
Avec ce modle-ci, nous rentrons dans le vif du sujet, il sagit en eet, enn, de la numrisation
dun gravure paritale palolithique. Plus exactement, il sagit de scans raliss avec le scanner
3D NextEngine dune gravure de biche se trouvant dans la zone appele la conque gravetienne
de la grotte dEl Castillo, en Cantabrie (Espagne). Comme nous pouvons le voir, 4 scans ont du
tre raliss pour numriser lensemble de la gravure (Fig. 5.10). Cependant, comme dans le cas
de la stle, et pour les mmes raisons, nous nanalyserons quun seul dentre eux, celui contenant
la tte de la biche. En eet, ce scan, lui seul, contient dj prs de 740.319 vertex et 1.474.093
faces
A nouveau, la visualisation du maillage fourni par le logiciel ScanStudio est de trs bonne
qualit. Par contre, lorsquon applique la texture dessus, seul le dos de la biche peut encore tre
distingu (lorsquon sait ce quon cherche), la tte semblant, quant--elle, avoir disparu.
Encore une fois, lors la visualisation du modle laide du logiciel MeshLab, les dtails
semblent sattnuer. Par contre, alors que la visualisation du modle de la stle avec le logiciel
CrestFinder ne donnait strictement rien, dans ce cas-ci, limage est plus nette que celle fournie
par MeshLab (Fig. 5.11, en haut).
Lorsquon ralise lanalyse du maillage, la premire chose qui vient lesprit est que celui-ci
ne pourra jamais nous fournir dinformation intressante, vu comme il est "recouvert" de lignes
de crtes. En eet, si la poterie ntait dj pas trs lisse, ici cest encore pire. Nous seulement,
la surface sur laquelle a t ralise la gravure na jamais t "usin" et se trouve donc dans son
tat naturel, mais en plus, elle prsente une structure dite " en choux-eurs", particulirement
irrgulire et due lrosion. Le nombre de lignes de crtes "parasites", correspondant en fait
aux "choux-eurs" recouvrant le modle, est donc excessivement lev. Cependant, en modiant
92
Fig. 5.10 A gauche : Visualisation du maillage de limage complte de la biche avec ScanStudio
. A droite : Visualisation du modle textur avec ScanStudio.
les paramtres des valeurs T
1
, T
2
et L, on peut nouveau faire ressortir la gravure (Fig. 5.11,
au centre droite). Les rsultats sont cependant bien moins satisfaisants que dans le cas de la
poterie, o on arrive au nal bien distinguer les direntes gravures ou ceux de la stle o les
gravures, mme si on ne sait toujours pas les lire, sont bien isoles les unes des autres. En fait,
dans ce cas-ci, on pourra remarquer que les gravures se distinguent avant tout par labsence de
crtes dans certaines zones du modle (Fig. 5.11, au centre gauche). Cela pourrait sexpliquer
par le fait qualors que lensemble de la paroi est en choux-eurs, ce nest plus le cas pour la zone
o la gravure se trouve, tant donn quelle a t travaille, rabote et lisse par lhomme.
Lanalyse de la texture est, quant--elle, beaucoup plus concluante que celle qui avait t
ralise pour la stle. Cela, alors qu priori, la photo servant de base la texture semblait de
bien moindre qualit (Fig. 5.11, en bas gauche). Il est, en eet, encore possible de lire quelques
caractres sur la photo de la stle, alors que distinguer la gravure, sur la photo qui a t prise
delle, est quasi impossible.
Finalement, la combinaison du rsultat de lanalyse de la texture et des valles issues de
lanalyse du maillage permet de bien cerner la gravure et mme de lidentier (Fig. 5.11, en bas
droite).
Il faut faire remarquer que le fait de faire bouger le modle et de modier de manire dyna-
mique les valeurs seuils des dirents paramtres permet beaucoup plus facilement de cerner la
gravure que ne le laisse penser les captures dcran qui ont t ralises. Les rsultats les plus
lisibles, restent malheureusement ceux fournis directement par le logiciel ScanStudio.
Au vu de la structure de la paroi sur laquelle a t incise la gravure et de la profondeur
de celle-ci, le recours une procdure de lissage est cette fois-ci totalement envisageable. Trois
algorithmes de lissage proposs par MeshLab ont donc t tests sur ce modle : un lissage par la
mthode de Laplace, un lissage par la mthode de Taubin et un lissage se basant sur la mthode
des normales et nomm "2 step". Pour chacun de ces lissages, les conditions initiales proposes
par le logiciel ont t conserves. Les rsultats obtenus par ces trois lissages sont compars la
gure initiale sur la gure 5.12.
Comme on peut le voir, le lissage le moins "puissant" semble tre celui de Taubin et le plus
"puissant" celui nomm "2 step".
Lorsquon sintresse aux rsultats aprs analyse du maillage par le logiciel crestFinder on
peut constater que si les modles ayant eu recours aux lissages de Taubin et de Laplace ne se
rvlent pas plus lisibles que le modle original (dans le cas du lissage de Taubin cest mme
93
Fig. 5.11 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. Au milieu gauche : Crte issue de lanalyse du maillage. Au milieu droite :
valles issues de lanalyse du maillage. En bas gauche : analyse de la texture et en bas droite
combinaison des rsultats de lanalyse de la texture et des valles
94
Fig. 5.12 Comparaison de la visualisation du modle dorigine (en haut gauche) et du modle
liss (respectivement, de gauche droite, lissage de Laplace, de Taubin et "2 step").
le contraire), le cas du modle pour lequel a t utilis le lissage "2 step" se distingue. En
eet, avec ce dernier lissage, on voit que les valles entourant la zone de la gravure ont pour la
plupart disparu, mettant ainsi cette dernire en vidence. Malheureusement, cela saccompagne,
au niveau de la gravure elle-mme, de lapparition de nombreuses valles parasites parallles
celle-ci. Celles-ci permettent, certes, daccentuer la visibilit de la gravuren mais ne correspondent
en ralit aucune structure de la gure dorigine.
Fig. 5.13 Crtes et Valles pour respectivement les ltres de Laplace, Taubin et "2step".
On peut donc voir que dans ce cas-ci, raliser un lissage important avant de rechercher les
lignes de crtes permet de mettre en vidence les gravures. Cependant, il est fort probable que,
si la gravure est moins marque, comme cest le cas pour la plupart des gravures de la grotte
dEl Castillo, le lissage fera disparaitre celle-ci en mme temps que la structure en choux-eurs
de la paroi. Malheureusement, une fois encore, la visualisation la plus "lisible" est fournie par
95
le logiciel ScanStudio, raison pour laquelle il est impratif damliorer le moteur graphique de
CrestFinder si on dsire quil soit concurrentiel.
5.2.8 Pices de monnaie antiques
Le dernier cas que nous prsenterons sera celui de ltude dune srie de pices de monnaie
antiques. En eet, disposant dun ami numismate, je lui ai demand sil pouvait men prter
quelques unes pour les numriser et tester mon logiciel dessus, ce quil a gnreusement accept.
Premire constatation, lutilisation dun scanner 3D laser pour numriser des pices mtal-
liques (ou, de manire plus gnrale, tout objet rchissant) nest pas des plus ecace (surtout
quand on ne dispose pas de talc). Les modles obtenus se sont donc rvls dassez pitre qualit.
Le logiciel CrestFinder cependant t test dessus,an de voir sil arrivait quand mme en
tirer quelque chose. Deux des modles ainsi crs, ceux qui semblaient les plus exploitables, ont
ainsi t analyss.
La premire pice analyse fut celle pour laquelle les reliefs de la face taient les plus marqus
et encore bien visibles sur le modle numrique (Fig. 5.14).
Fig. 5.14 En haut gauche : photo de la premire pice. En haut au centre : visualisation de la
pice avec MeshLab. En haut gauche : Visualisation avec CrestFinder. En bas : Crtes, valles
et rsultat nal.
On peut voir quon arrive relativement bien distinguer le visage lorsquon ltre les valles.
De plus, on arrive mme lire les trois dernires lettres du mot se trouvant en haut gauche de
limage (NUS), le scanner nayant malheureusement pas russi numriser le reste de ce mot.
En combinant lachage des crtes et des valles, la prsence dune tte se fait encore plus
nette. Malheureusement, il est toujours impossible de lidentier.
En ce qui concerne la seconde pice, les rsultats sont encore plus dcevants. (Fig. 5.15). Si
on devine la prsence de caractres lorsquon visualise le modle ralis avec MeshLab, ceux-ci
96
disparaissent lorsquon utilise CrestFinder et ce mme aprs analyse du maillage. Cest peine
si le visage se distingue aprs quaient t ltres les crtes (au nombre de 1627 lorigine) et les
valles (au nombre de 1504 lorigine). Malheureusement, la texture tant nouveau spare en
plusieurs chiers .jpg pour ces deux cas, lanalyse de celle-ci na pu tre ralise, mais aurait fort
probablement donn des rsultats de bien meilleure qualit (surtout avec lusage dun algorithme
optimal).
Fig. 5.15 En haut gauche : photo de la seconde pice. En haut au centre : visualisation de la
pice avec MeshLab. En haut gauche : Visualisation avec CrestFinder. En bas : Valles (sans
ltrage), crtes (avec ltrage) et rsultat nal.
La conclusion quil faut tirer de ce petit test est que ltape qui consiste numriser les objets
est aussi importante, voir probablement mme plus, que ltape qui consiste traiter les donnes
obtenues, la premire conditionnant les rsultats obtenus par la seconde.
5.3 Analyse des rsultats
Au vu des donnes obtenues ci-dessus, il est clair quun des principaux dfauts du logiciel
CrestFinder est sa relative lenteur, que ce soit pour ouvrir un chier ou analyser un modle. Cela
vient, entre autre, de la forme sous laquelle sont stockes les donnes dans la classe Image3D qui
est loin dtre optimale. Une premire correction apporter serait donc de modier cette classe.
Lide serait de la remplaer par une structure, dans laquelle, chaque modle serait dni par
une liste contenant ses vertex, une liste contenant les proprits relatives au maillage de chacun
des vertex(normale, directions principales, courbures principales, etc.), une liste contenant les
proprits relatives la texture de chacun des vertex (couleur, coordonne de la texture, adresse
du chier texture, les direntes valeurs des gradients, etc.) et une liste contenant les faces. Si,
en adaptant la fonction de lecture de chier cette nouvelle texture, on ne devrait pas gagner
97
de temps lors de la lecture du chier (on devrait mme probablement en perdre un petit peu vu
les nombreuses valeurs supplmentaires initialiser), on devrait par contre en gagner lors des
oprations suivante, et cela devrait uidier le fonctionnement global du programme.
Autre perte de temps, la conversion des donnes, au format utilis par le programme [?],
avant de lancer la recherche des lignes de crtes. Le nouveau format de stockage propos devrait
faciliter lutilisation directe des donnes, retirant, de fait, une tape qui peut parfois prendre
plusieurs minutes pour de trs gros modles. Sparer le calcul des normales du reste des proprits
devrait aussi tre envisag. En fait le calcul des normales et la dtermination des premiers
voisins pourraient mme se faire ds la lecture du chier contenant le modle. Si cela ne permet
pas rellement de rduire le temps ncessaire lanalyse du maillage, cela devrait renforcer
limpression gnrale de uidit. Cela permettrait galement davoir une meilleure visualisation
de limage avant de lancer lanalyse du maillage, et de sauter une tape lorsquon dispose dj
des normales en chaque vertex. Le stockage des lignes de crtes devrait galement tre revu.
Actuellement chaque segment est enregistr sparment du numro de la ligne de crtes auquel il
appartient. La nouvelle structure prconise serait de crer un objet pour chaque ligne de crtes.
Celui-ci contiendrait ses proprits (crte ou valles, T
1
, T
2
et L et la liste des segments qui la
composent et la liste des vertex de ceux-ci. Les segments seraient ensuite stocks dans une seconde
liste (appartenant toujours cet objet ligne de crtes), contenant les indices et coordonnes des
deux vertex qui la dnissent (ainsi que les ventuelles proprits qui lui sont propres). Un autre
moyen dacclrer le processus est, priori, dutiliser lalgorithme prsent dans [Yoshizawa 07],
cependant le gain de temps se ferait alors au dtriment de la qualit des rsultats.
Autre dfaut, les fonctions dachage des textures et danalyse de celle-ci par lalgorithme
de Canny qui doivent encore tre dbuggs. La nouvelle structure de stockage propose devrait
cependant permettre de travailler plus facilement avec des modles pour lesquels la texture est
spare dans plusieurs chiers .jpg. Un second algorithme utilisant la mthode des dirences
nies, mais avec un masque de Sobel, est galement en cours de dbuggage, cependant mme si
elle semble priori fonctionner, le temps dont elle a besoin pour raliser lanalyse est bien trop
important et doit encore tre optimis.
Finalement, il pourrait tre intressant de rajouter linterface lachage dun certain nombre
de valeurs, comme celles de T
max
et L
max
mais aussi des nombreux seuils, infrieurs et suprieurs,
dnis par lutilisateur laide des curseurs.
Au niveau des rsultats obtenus, on constate bien que, suivant les cas, ce sera parfois lanalyse
du maillage (stle) parfois celle de la texture (biche), qui fournira les informations les plus
pertinentes, combiner les deux analyses sest donc rvl une stratgie payante. Avec le cas de
la biche, lutilisation dun lissage pralable a montr toute son utilit. Cependant, celui qui nous
a permis de distinguer le plus facilement la gravure, aprs analyse du maillage, a galement fait
apparaitre un certain ou, se prsentant sous la forme dune srie de lignes de crtes parasites
tout autour de la dite gravure. De fait, sil sagit du lissage qui permet la "meilleure" lecture
du modle, il ne pourra probablement pas tre utilis si on dsire, par la suite, raliser une
simplication du maillage partir des lignes de crte obtenus. De plus, vu la force de ce lissage,
il nest pas certain que des gravures plus nes, comme cest le cas pour la plupart des gravures
de la grotte dEl Castillo, restent encore visibles.
Le scanner en lui mme peut galement se rvler une source derreur, en particulier lorsque
lobjet scanner est fait dans une matire rchissante, comme cest le cas des pices de monnaie
qui sont en mtal. Le maillage obtenu est ainsi souvent loin dtre optimal, voir carrment
inutilisable comme on peut le voir sur la Figure 5.16.
Une remarque est dailleurs faire concernant les photos prises par le scanner 3D et servant
98
Fig. 5.16 Visualisation avec MeshLab dune pice dont la numrisation sest rvle pour le
moins rate et photo servant de base la texture associe et ralise par le scanner.
de texture. Celles-ci sont le plus souvent de qualit moyenne, raliser la texture laide dune
photographie haute dnition, comme cela t fait aux abris sous roches du Roc-aux-Sorciers
et de la Chaire--Calvin (France) ([Pinon 07] et [Bourdier 07]), devrait donc tre envisag.
Le cas de la stle nous montre que, sil est souvent ncessaire de raliser un lissage du maillage,
un lissage de la photo servant de texture devrait galement tre envisag. On peut cependant
esprer quun algorithme optimal, comme celui de Canny, devrait donner de meilleurs rsultats
que ceux obtenus laide de lalgorithme, utilisant la mthode des dirences nies, actuellement
utilis par le logiciel CresFinder. En eet, en regardant de plus prs la texture, on peut voir
apparaitre de nombreuses taches plus claires. Ce sont probablement toutes ces taches qui rendent
un seuillage simple inecace. La combinaison, limiter lachage aux maxima locaux et utiliser
un seuillage par hysteresis, devrait, priori, se rvler plus ecace, surtout si elle est associe
un lissage optimal pralable.
Cette stle permet galement dintroduire le problme de la divergence qui peut apparaitre
lorsquon tente de recombiner les dirents scans 3D qui ont t faits partir dun mme objet.
En eet, outre celui qui est analys ici, plus dune quinzaine de scans de la stle ont t raliss.
Cependant, lorsquon essaie de tous les recombiner, on ny arrive pas. Des divergences fortes
apparaissent lorsquon tente daligner le 6
e
, 7
e
(suivant le programme) scan sur les prcdents.
Les meilleurs rsultats enregistrs sont lalignement de 10 de ces scans et ont t obtenus par
MeshLab, (voir Fig. 5.17). De plus, plus il y a de scans, plus il y aura de chance davoir des
artefacts dans limage (typiquement un "bourrelet" au niveau du bord de certains des scans). On
peut donc voir quil nest pas ncessaire de prendre un grand nombre de scans 3D pour constituer
un modle partir dun objet, bien au contraire, moins il y aura de scans, mieux ce sera. Il est
par contre indispensable de bien choisir les angles sous lesquels ceux-ci sont pris, de manire ce
que chaque point de lobjet napparaisse que sur 2 ou 3 images, et pas plus. Dans le cas de petits
objets mobiliers, le scanner NextEngine est capable de raliser lalignement automatiquement,
99
du moins s"il a t bien calibr au pralable, ce qui est un plus non ngligeable.
Fig. 5.17 Achage par Meshlab du rsultat de lalignement et la fusion des scans 0 9 de la
stle dItanos. Le rsultat a t sauv dans le format .ply de manire occuper moins despace
mmoire, mais cela sest fait au dtriment de la texture qui a t perdue durant lopration.
Dernier petit point concernant lanalyse de la texture, on est jusqu prsent parti de lhy-
pothse que lorsquon prenait une photo de lobjet, celui-ci ntait pas dform, or ce nest bien
videmment pas le cas. En ce qui concerne les textures ralises directement par le scanner
NextEngine, la correction est ralise automatiquement lors de la dnition des coordonnes de
texture de chaque vertex. Par contre, si on ralise, sparment, la photo qui servira de base la
texture, il est absolument ncessaire de prvoir un outil pour raliser un bon alignement des deux
et un autre pour corriger celui-ci quand il se rvle erron. Un tel outil pourra bien videmment
se baser sur la recherche des contours prsents dans la texture, en les comparant aux reliefs et
lignes de crtes du maillage, pour raliser lalignement.
100
Chapitre 6
Conclusion
La premire question qui se pose est bien sur de savoir si le travail ralis a servi quelque
chose et si le logiciel dvelopp est utilisable en pratique. La rponse la seconde partie de
la question est malheureusement non, le logiciel est encore beaucoup trop lent et de nombreux
outils (en particulier tous ceux qui concernent le pr-traitement du modle et la sauvegarde des
rsultats) restent mettre en place. La rponse la premire partie de la question est cependant
oui. En premier lieu, ce travail a permis de faire un tat des lieux de la recherche dans le
domaine, ce qui est toujours utile. Il a galement permis didentier nombre doutils qui seront
ncessaires son bon fonctionnement et de synthtiser, ou de rfrencer, les bases thoriques qui
seront ncessaires leur dveloppement. Il a ensuite pu montrer que, oui, combiner analyse de
la texture et analyse du maillage est intressant et complmentaire. Finalement, il propose une
interface qui se veut pratique et facile dutilisation, mme sil y a toujours moyen de faire mieux.
Un point important signaler est la sparation qui est faite entre, la rcupration des donnes
et leur interprtation. En eet, si la plupart des programmes demandent lutilisateur de donner
les dirents seuils dachage avant mme le dbut de lanalyse, voire les dtermine automati-
quement, ce programme-ci permet lutilisateur de dterminer ces seuils de manire dynamique
et donc de choisir lui-mme ceux qui lui semblent les plus adapts. Linterprtation des rsul-
tats est donc entirement dans les mains de lutilisateur, ce qui est particulirement important
en archologie. Bien videmment, rien nempche dajouter des algorithmes pour dterminer
priori les meilleures valeurs pour chaque seuil, pour laisser ensuite lutilisateur la possibilit de
les modier, sil considre quelles ne sont pas adaptes ou, simplement, sil a envie de voir si les
modier ne fait pas apparaitre de nouvelles "structures".
On ne peut le nier, au niveau du code, beaucoup reste faire. Non seulement un certain
nombre de fonctions doit encore tre crit et la structure dun certain nombre dautres doit tre
revue. Mais une optimisation du moteur graphique serait galement la bienvenue, lOpenGL
semblant avoir un peu de mal avec des modles composs de plusieurs millions de triangles.
Lidal, si on dsire vraiment rendre ce logiciel oprationnel, et parfaitement utilisable par des
archologues sur le terrain, serait cependant de faire appel un informaticien expriment. En
eet, nombreuses sont, probablement, les incohrences prsentes dans le code, qui sont dues
mon manque de connaissance initial quant la programmation orient objet. Une illustration de
cela tant probablement la manire dont jai stock les donnes dans un premier temps (la classe
image3D) et la nouvelle structure que je souhaitais mettre la place la n du projet, aprs prs
dune anne passe plancher sur le sujet et coder. Structure, pourtant, qui est probablement
loin dtre optimale.
Cependant, mme sil est loin dtre parfait, le programme dvelopp reste parfaitement
101
fonctionnel. Il peut donc tre utilis par les archologues, ou tout autre personne, le souhaitant
et lui trouvant une utilit. En eet, sil est vrai que le traitement de modles trs lourds (plus
dun million de triangles) est particulirement lent, le temps ncessaire pour raliser lanalyse de
modles plus lgers (quelques milliers, voir une centaine de milliers de triangles) reste tout a fait
acceptable.
Je terminerai cette conclusion par une note plus personnelle pour dire combien ce projet,
faisant un lien entre mes deux formations, ma normment apport. Il ma permis de prendre
encore plus conscience de la dirence pouvant exister entre ces deux mondes que sont lingnierie
et larchologie et des modes de penser, parfois totalement antagonistes, de chacun deux. Et
pourtant, il est vident, au vu des rsultats obtenus, que ces deux mondes seront de plus en plus
amen travailler ensemble. En particulier, ce projet ma permis de me rendre compte de la
place, de plus en plus importante, que prenait linformatique dans la recherche archologique.
Il ma galement permis dacqurir un certain nombre de nouvelles connaissances ne faisant pas
partie de mon cursus, en particulier dans les domaines de lanalyse dimages et de ltude de
surfaces (3D) et den approfondir dautres, en particulier linformatique et la programmation
orient objet. Pour nir, ce projet fut mon premier "gros" projet individuel et il ma permis
de me rendre compte du temps que cela demandait, et de lintrt de travailler en quipe. Je
pense que, si une personne stait concentre sur louverture, le stockage et lenregistrement
des donnes, une autre sur linterface et ltat de la recherche en archologie, une troisime sur
lanalyse et le traitement de la texture et une quatrime sur lanalyse et le traitement du maillage,
le logiciel nal aurait pris quatre fois moins de temps tre crit et contiendrait 2 fois plus de
fonctionnalits (au moins). En eet, une des grandes dicults que jai rencontre fut le passage
incessant dun domaine dintrt lautre, et lobligation de travailler sur plusieurs sujets, parfois
trs dirents, quasi en mme temps. Cela, de manire disposer, au nal, dun programme o
simbriquent parfaitement de lanalyse de surface et de lanalyse de texture, et possdant une
interface graphique adapte.
Pour nir, javoue esprer que quelquun continue ce projet. Et ce, an quun jour, peut-
tre, celui-ci donne naissance un logiciel parfaitement utilisable pour leurs recherches par les
archologues de lULB et dailleurs.
102
Annexe A
Photo et che technique du scanner
NextEngine utilis
103
104
Annexe B
Interfaces des direntes versions du
logiciel CrestFinder
Fig. B.1 Premire interface envisage pour le logiciel (version MacOS).
105
Fig. B.2 Interface de la version actuelle sous MacOS.
Fig. B.3 Interface de la version actuelle sous Windows XP.
106
Annexe C
Code source du programme
CrestFinder
voir cd-rom joint au rapport.
107
Table des gures
1.1 Plan de la grotte dEl Castillo tel quon le trouve sur le site du CREA, [Groenen 08a]. 4
2.1 Plan de la grotte de Polyphemus, [Patias 08]. . . . . . . . . . . . . . . . . . . . . 9
2.2 Un enfant jouant au premier jeu et une capture dcran de celui-ci, [Djaouti 09]. . 10
2.3 Comparaison homothtique de deux gures. En haut : dcoupage de ltagne du
modle numrique du Roc-aux-Sorciers. En bas : Intgration du ce dernier au
modle de la frise de La Chaire--Calvin. c G. Pinon, DRAC Poitou-Charentes,
Art Graphique et Patrimoine, [Pinon 07]. . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Modle 2D+ dune tablette accompagn de la transcription du code qui la recouvre
et de sa traduction, [Cohen 04]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Assemblage des dirents scans 3D du mur et zoom sur certaines gravures avec
mise en vidence des inscriptions par ajout de couleur, [Balzani 04]. . . . . . . . . 15
2.6 A gauche : Tetradrachm athnien du 5me sicle BC. A droite : procd de clas-
sication des pices dvelopp par le projet ILAC, [Kampel 08]. . . . . . . . . . . 16
2.7 Reconstitution du Parthenon dans laquelle a t incluse lensemble des scans 3D
dans le cadre du projet, [Stumpfel 03]. . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 Reconstitution virtuelle dune niche et extrapolation des primitives gomtriques
des fragments associs ralise laide du programme dvelopp par Cdric Lau-
gerotte, [Laugerotte 06]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Interface physique dveloppe lors du projet ArcheoTUI, [Reuter 07]. . . . . . . . 19
3.1 Terminologie de lincision ([Lorblanchet 93], p.267). . . . . . . . . . . . . . . . . . 26
3.2 Dirents types de sections de traits gravs ([Lorblanchet 93], p.268). . . . . . . . 27
3.3 Dirents types dincisions exprimentales ([Lorblanchet 93], p.269). En 1, en V.
En 2, en U. En 3, fond plat. En 4, angulaire asymtrique, bord droit ouvert, la
main tant place droite du trait. En 5, lincision suprieure est ralise de haut
en bas (sa largeur samenuise), lautre incision est de direction inverse, sa largeur
est plus importante lattaque du trait. En 6, incisions croises (le sillon vertical
est postrieur au sillon horizontal). . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4 Dirents modes de projection ([Lorblanchet 93], p.341). En 1, Projection ortho-
graphique. En 2, projection sur une surface dveloppable. En 3, projection poly-
drique (chaque lment de cette mosaque sapparente un plan). en 4, projection
conique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5 Illustrations des courbures principales . . . . . . . . . . . . . . . . . . . . . . . . 33
3.6 A gauche : Situation pour laquelle on aimerait connecter ensemble 2 lignes de
crtes voisines. A droite : Dnition des angles , et , [Yoshizawa 08]. . . . . . 40
3.7 Rsultats obtenus avec la mthode prsente sur la gravure de Lena ( gauche)
avec k = 3 et T
2
= 0, 8 et 37, [Yoshizawa 06]. . . . . . . . . . . . . . . . . . . . . 41
108
3.8 Rsultats obtenus avec la mthode prsente partir de dirents modles 3D
de complexit variable avec k=1 et avec des valeurs de T
2
adaptes (de gauche
droite, T
2
= 2.4, 1, 2.7, 3.2, 0.9 et 2.3), [Yoshizawa 05]. . . . . . . . . . . . . . . . 41
3.9 Dcomposition dune surface en une surface-base et une fonction hauteur, [Zatzarinni 09]. 42
3.10 Modle 3D, fonction hauteur et courbes de niveau dun fragment de vase hellnis-
tique, [Zatzarinni 09]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.11 Normale la surface dorigine et normale la surface-base, [Zatzarinni 09]. . . . 44
3.12 Normale la surface dorigine et normale la surface-base, [Zatzarinni 09]. . . . 45
3.13 Exemple dhistogrammes des fonctions hauteur et de leurs approximations par des
distributions gaussiennes, [Zatzarinni 09]. . . . . . . . . . . . . . . . . . . . . . . 46
3.14 Comparaison entre les rsultats fournis par une recherche des lignes de crtes et
cette mthode-ci, [Zatzarinni 09]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.15 Les dirents types de contours et la fonction intensit qui y est associe, [Devernay 05]. 48
3.16 Synoptique dune dtection de contours par gradient. Les contours sont nalement
reprsents par des pixels blancs sur fond noir, [Thomas 07]. . . . . . . . . . . . . 50
3.17 Exemple dapplication de lapproximation de base, [Thomas 07]. . . . . . . . . . . 51
3.18 Exemple dapplication de loprateur de Roberts, [Thomas 07]. . . . . . . . . . . 52
3.19 Exemple dapplication de loprateur de Sobel, [Thomas 07]. . . . . . . . . . . . . 53
3.20 Exemple de seuillage simple. Le seuil est not t, [Mavromatis 07]. . . . . . . . . . 53
3.21 Exemple de seuillage par hystrsis. Le seuil suprieur est t
h
et le seuil infrieur
t
b
, [Mavromatis 07]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.22 Principe du critre de bonne localisation, [Thomas 07]. . . . . . . . . . . . . . . . 56
3.23 Comparaison des rponses impulsionnelles de Canny et de la drive de la gaus-
sienne sur 20 chantillons, [Thomas 07]. . . . . . . . . . . . . . . . . . . . . . . . 57
3.24 Obtention du module du gradient par ltrage de Canny, [Thomas 07]. . . . . . . 57
4.1 Environnement de travail du programme Crest Finder. . . . . . . . . . . . . . . . 63
4.2 Fentre dans laquelle sera ach lensemble des donnes relatives un seul modle. 64
4.3 Choix du chier qui sera ouvert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 Premire visualisation du modle. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5 Visualisation des crtes et valles avec le modle initial en fond. . . . . . . . . . . 67
4.6 Visualisation des crtes et valles sans le modle initial en fond. . . . . . . . . . . 68
4.7 Achage du modle lorsquon connait les normales en chaque vertex. . . . . . . . 69
4.8 Dernier onglet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.9 Fentre souvrant lorsquon lance lanalyse du maillage. . . . . . . . . . . . . . . . 75
4.10 Fentre du choix de k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.11 Fentre annonant la n de la rcupration des lignes de crtes. . . . . . . . . . . 75
5.1 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. En bas gauche : Crtes et Valles pour k=1. En bas droite :
Crtes et valles pour k=3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. En bas gauche : Crtes (1166) et Valles (468) pour k=1. En
bas droite : Crtes et valles pour k=3. . . . . . . . . . . . . . . . . . . . . . . . 85
5.3 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. En bas gauche : Crtes (475) et Valles (289) pour k=1. En
bas droite : Crtes (271) et valles (196) pour k=3. . . . . . . . . . . . . . . . . 86
109
5.4 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. En bas gauche : Crtes (735) et valles (534) pour k=3. En
bas droite : Zoom sur les crtes de la tte. . . . . . . . . . . . . . . . . . . . . . 87
5.5 De gauche droite : Photo de la poterie. Visualisation de celle-ci avec MeshLab.
Visualisation de celle-ci avec CrestFinder. . . . . . . . . . . . . . . . . . . . . . . 88
5.6 De gauche droite : Ensemble des crtes (7328) et des valles (2869) extraites
pour k=3. Uniquement les valles. Zoom sur la zone contenant les gravures (aprs
avoir appliqu un lger ltre). Rsultat nal. . . . . . . . . . . . . . . . . . . . . . 89
5.7 A gauche : Visualisation de la stle texture avec ScanStudio. A droite : Visuali-
sation du maillage de la stle avec ScanStudio . . . . . . . . . . . . . . . . . . . . 90
5.8 A gauche : Visualisation avec MeshLab. A droite : Visualisation avec CrestFinder. 91
5.9 A gauche : Valles extraites par lanalyse du maillage (avec ltrage). A droite :
Rsultat de lanalyse de la texture. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.10 A gauche : Visualisation du maillage de limage complte de la biche avec ScanS-
tudio . A droite : Visualisation du modle textur avec ScanStudio. . . . . . . . . 93
5.11 En haut gauche : Visualisation avec MeshLab. En haut droite : Visualisation
avec CrestFinder. Au milieu gauche : Crte issue de lanalyse du maillage. Au
milieu droite : valles issues de lanalyse du maillage. En bas gauche : analyse
de la texture et en bas droite combinaison des rsultats de lanalyse de la texture
et des valles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.12 Comparaison de la visualisation du modle dorigine (en haut gauche) et du
modle liss (respectivement, de gauche droite, lissage de Laplace, de Taubin et
"2 step"). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.13 Crtes et Valles pour respectivement les ltres de Laplace, Taubin et "2step". . 95
5.14 En haut gauche : photo de la premire pice. En haut au centre : visualisation
de la pice avec MeshLab. En haut gauche : Visualisation avec CrestFinder. En
bas : Crtes, valles et rsultat nal. . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.15 En haut gauche : photo de la seconde pice. En haut au centre : visualisation
de la pice avec MeshLab. En haut gauche : Visualisation avec CrestFinder. En
bas : Valles (sans ltrage), crtes (avec ltrage) et rsultat nal. . . . . . . . . . 97
5.16 Visualisation avec MeshLab dune pice dont la numrisation sest rvle pour le
moins rate et photo servant de base la texture associe et ralise par le scanner. 99
5.17 Achage par Meshlab du rsultat de lalignement et la fusion des scans 0 9 de
la stle dItanos. Le rsultat a t sauv dans le format .ply de manire occuper
moins despace mmoire, mais cela sest fait au dtriment de la texture qui a t
perdue durant lopration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
B.1 Premire interface envisage pour le logiciel (version MacOS). . . . . . . . . . . . 105
B.2 Interface de la version actuelle sous MacOS. . . . . . . . . . . . . . . . . . . . . . 106
B.3 Interface de la version actuelle sous Windows XP. . . . . . . . . . . . . . . . . . . 106
110
Bibliographie
[Balzani 04] M. Balzani, M. Callieri, C. Fasano A. andMontani, P. Pingi, N. Santopuoli,
F. Scopigno R. andUcceli & A. Varone. Digital representation and multi-
modal presentation of archaeological grati at Pompei, In : The 5th Inter-
national Symposium on Virtual Reality, Archaeology and Cultural Heritage
VAST (2004) - Short Presentations, The Eurographics Association. K.Cain,
Y. Chrysanthou, F. Niccolucci, N. Silberman (Editors), 2004. pages 93103.
[Barnett 04] T. Barnett, A. Chalmers, M. Diaz-Andreu, G. Ellis, R. Gillibrand, P. Long-
hurst, K.E. Sharpe & I. Trinks. Breaking Through Rock Art Recording :
Three Dimentioal Laser Scanning of Prehistoric Rock Art, In : The 5th In-
ternational Symposium on Virtual Reality, Archaeology and Cultural Heritage
VAST (2004) - Short Presentations, The Eurographics Association. K.Cain,
Y. Chrysanthou, F. Niccolucci, N. Silberman (Editors), 2004. pages 7071.
[Belyaev 97] A. G. Belyaev, E.V. Anoshkina & KuniiT.L. Ridges, Ravines and Singularities,
In : Topological Modeling for Visualisation, Chapter 18, A.T. Kunii (Eds.)
Formenko. Springer, 1997. pages 375383.
[Beraldin 06] J.A. Beraldin, F. Blais, L. Cournoyer, M. Picard, D Gamache, V. Valzano,
A. Vandiera & M. Gorgoglion. Multi-resolution Digital 3D Imaging System
Applied to the Recording of Grotto Sites : The Case of the Grotta dei Cervi,
In : Proceedings of the 7th International Symposium on Virtual Reality, Ar-
chaeology and Cultural Heritage (VAST 2006). VAST, 2006.
[Bourdier 07] C. Bourdier, O. Fuentes, G. Hamon & G. Pinon. Technologies 3D appliques
la sculpture paritale magdanienne, In : Images et relevs archologiques,
de la preuve la dmonstration. 2007. pages 123142.
[Breuil 11] H. Breuil. Les cavernes de la rgion cantabrique, 1911.
[Canny 86] J. Canny. A Computational Approach to Edge Detection, In : IEEE Transac-
tions on pattern analysis and Machine intelligence, vol.PAMI-8, No.6, The Eu-
rographics Association, volume K. Cain, Y. Chrysanthou, F. Niccolucci, N.
Silberman (editors). Novembre 1986. pages 679698.
[Cazals 04] F. Cazals & M Pouget. Ridges and umbilics of a sampled smooth surface :
a complete picture gearing toward topological coherence., In : Rapport de
Recherche RR-5294. INRIA, 2004.
[Cazals 06] F. Cazals, J-C. Faugre, M Pouget & Rouillier F. The implicit structure of
ridges of smooth parametric surface, In : Computer Aided Geometric Design
23 (7). 2006. pages 582598.
[Cohen 04] J. Cohen, D. Duncan, D. Snyder, D. Cooper, S. Kumar, D. Hahn, Y. Chen,
B. Purnomo & J. Graettinger. iClay : Digitizing Cuneiform, In : The 5th In-
111
ternational Symposium on Virtual Reality, Archaeology and Cultural Heritage
VAST (2004) - Short Presentations, The Eurographics Association. K.Cain,
Y. Chrysanthou, F. Niccolucci, N. Silberman (Editors), 2004. pages 7273.
[DAndrea 08] A. DAndrea. Sharing 3D Archaeological Data : Tools and Semantic Ap-
proaches, In : Digital Heritage Proceedings of the 14th International Confe-
rence on Virtual Systems and Multimedia -Full Papers. M. Ioannides, A. Ad-
dison, A. Georgopoulos, L. Kalisperis (Editors), 2008. pages 149156.
[Deriche 87] R. Deriche. Using Cannys criteria to derive a recursively implemented optimal
edge detector, In : International Journal of Computer Vision. 1987. pages
167187.
[Devernay 05] F. Devernay. Cours de Vision par Ordinateur. http ://dever-
nay.free.fr/cours/vision/, 2005.
[Djaouti 09] D. Djaouti, J. Alvarez, O. Rampnoux, V. Charvillat & J-P. Jessel. Serious
Games and Cultural Heritage : A Case Study of Prehistoric Caves, In : 15th In-
ternational Conference on Virtual Systems and Multimedia. Vienna, Austria,
2009.
[Donelan 02] J. Donelan. Making Prehistory, In : Cumputer Graphis World (Mars 2002).
2002. pages 3233.
[Dunham 07] P. Dunham, O. Debeir, N. Warze, M. Groenen & J. Rosoux. Documenta-
tion of the El Castillo (Puente Viesgo) cave using 3D scanning, In : Virtual
Retrospect 2007 : Archologie et Ralit Virtuelle, 2007.
[Goldfeather 04] J. Goldfeather & V. Interrante. A Novel Cubic-Order Algorithm for Approxi-
mating Principal Direction Vectors, In : ACM Transactions on Graphics 23
(1). Proc. ACM SIGGRAPH, 2004. pages 4563.
[Groenen 97] M. Groenen. Ombre et lumire dans lart des grottes. Centre de Recherches
et dtudes technologiques des Arts plastiques, ULB, Bruxelles, 1997.
[Groenen 07a] M. Groenen. Principios de lectura del arte parietal en las cuevas decoradas
del Monte del Castillo, In : Miscelnea en Homenaje a Victoria Cabrera (vol.
2), Museo Arqueolgico Regional, Alcala de Henares, 2007. J.M. Maillo, E.
Baquedano (ed.). pages 4253.
[Groenen 07b] M. Groenen. Voir limage prhistorique : bilan des travaux dans la grotte orne
dEl Castillo (Cantabrie, Espagne), In : Un sicle de construction du discours
scientique en prhistoire, vol. III. . . . aux conceptions daujourdhui . Actes
du Congrs du Centenaire de la Socit prhistorique franaise (Avignon, 21-
25 septembre 2004), S.P.F. J. vin (dir.), Paris, 2007. pages 307321.
[Groenen 08a] M. Groenen. La imagen en el arte de las cuevas del Monte del Castillo, In :
Homenaje a Eduardo Ripoll Perell. S. Ripoll, 2008.
[Groenen 08b] M. Groenen & D. Martens. Nouvelles attributions dans les grottes du Monte
del Castillo (Puente Viesgo, Cantabrie), In : Actes du 15e Congrs de lUnion
international des Sciences Prhistoriques et Protohistoriques (UISPP, Lis-
bonne, 4-10 septembre 2006), British Archaeological Reports (B.A.R.). UISPP,
Oxford, 2008.
[Heath 96] M. Heath, S. Sarkar, T. Sanocki & K. Bowyer. Comparison of edge detectors : a
methodology and initial study, In : Computer Vision and Pattern Recognition
96. San Francisco, 1996.
112
[Heath 97] M. Heath, S. Sarkar, T. Sanocki & K. Bowyer. A Robust Visual Method for
Assessing the Relative Performance of Edge-Detection Algorithms, In : IEEE
Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 12.
1997. pages 13381358.
[Hildebrandt 05] K Hildebrandt, K. Polthier & M. Wadetzky. Smooth feature lines on surface
meshes, In : Third Eurographics Symposiim on Geometry Processing (SGP
2005). 2005. pages 8590.
[Iakovleva 03] L. Iakovleva. Computerised Methods for Palaeolithic Art Studies, In : [Enter
the Past]. 2003.
[Kampel 08] M. Kampel, K. Vondrovec, M. Zaharieva & S. Zambanini. Image-based classi-
cation of ancient coin, In : Digital Heritage - Proceedings of the 14th Internatio-
nal Conference on Virtual Systems and Multimedia, project paper, VSMM2008.
2008. pages 341348.
[Kent 96] J.T. Kent, K.V. Mardia & J. West. Ridge curves and shape analysis, In : The
British Machine Vision conference 1996. 1996. pages 4352.
[Kho 03] Y. Kho & M. Garland. User-guided simplication, In : ACM Symposium on
Interactive 3D Graphics. 2003. page 123126.
[Kim 06] S-K. Kim & C-H. Kim. Finding ridges and valleys in a discrete surface using
a modied MLS approximation, In : Computer Aided Design 38 (2). 2006.
pages 173180.
[Kolomenkin 09] M Kolomenkin, I Shimshoni & A Tal. On Edge Detection on Surfaces, In :
IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2009.
2009. pages 173180.
[Laugerotte 04] C Laugerotte & N. Warze. 3D orientation of archaeological fragments co-
ming from a Gothic spire, In : The 5th International Symposium on Virtual
Reality, Archaeology and Cultural Heritage VAST (2004), The Eurographics
Association. K. Cain, Y. Chrysanthou, F. Niccolucci, N. Silberman (editors),
2004.
[Laugerotte 06] C. Laugerotte. Contribution lextraction et lexploitation dattributs gom-
triques du maillage 3D de fragments archologiques. Masters thesis, Universit
Libre de Bruxelles, facult des Sciences Appliques, Bruxelles, 2006.
[Liu 07] S. Liu, R. Martin, F. Langbein & P. Rosin. Segmenting periodic reliefs on
triangle meshes., In : Math. of Surfaces XII. 2007. pages 290306.
[Lorblanchet 93] M. Lorblanchet. Lart parital palolithique : techniques et mthodes dtude.
Groupe de rexion sur lart parital palolithique. Collection : Documents
prhistoriques. d. Comit des Travaux Historiques et Scientiques, Ministres
de lducation Nationale et de la Culture, de lEnseignement Suprieur et de
la Recherche, 1993.
[Lutz 99] B. Lutz & M. Weintke. Cultural Heritage : Virtual Dunhuang Art Cave : A
Cave within a CAVE, In : Cumputer Graphics Forum, 18(3). 1999.
[Lvy 02] B. Lvy, S. Petitjean, N. Ray & J. Maillot. Least squares conformal maps for
automatic texture atlas generation, In : ACM Transactions on Graphics 21
(3). Proc. ACM SIGGRAPH, 2002. page 362371.
[Mavromatis 07] S. Mavromatis & O. Coulon. Analyse dimages, Dtection de contours, 2007.
113
[Max 99] N. Max. Weight for Computing Vertex Normals from Facet Normals, In :
Journal of Graphics Tools, 4 (2). 1999. pages 16.
[Matre 03] H. Matre. Le traitement des images. Herms, 2003.
[Ohtake 04] Y. Ohtake, A. Belyaev, H. Yokota & H-P. Seidel. Ridge-Valley Lines on Meshes
via Implicit Surface Fitting, In : ACM Transactions on Graphics 23 (3). Proc.
ACM SIGGRAPH, 2004. pages 609612.
[Patias 08] P. Patias, S. Sylaiou, Ch. Georgiadis, O. Georgoula, D. Kaimaris & S. Styliani-
dis. 3D mapping of cultural and natural Heritage : The case study of the cave
of Polypheus Cyclope, In : Digital Heritage - Proceedings of the 14th Interna-
tional Conference on Virtual Systems and Multimedia, Full paper, VSMM2008.
2008. pages 108113.
[Pinon 07] G. Pinon, C. Bourdier & O. Fuentes. Les sculptures paritales magdal-
niennes du Roc-aux-Sorciers (Vienne) et de la Chaire--Calvin (Charente) :
oeuvres dun groupe culturel ou dun seul et mme artiste ?, In : Virtual Re-
trospect 2007 -Session 1, Virtual Retrospect. 2007. pages 1320.
[Porteous 87] I.R. Porteous. Ridges and umbilics of surfaces, In : The Mathematics of Sur-
faces II, R.R (Ed.) Martin. Clarendon Press, Oxford, 1987. pages 447458.
[Reuter 07] P. Reuter, G. Riviere, N Couture, N. Sorraing, L Espinasse & R Vergnieux.
ArcheoTUI - A tangible User Interface for the Virtual Reassembly of Fractu-
red Archeological Object, In : 4th International Symposium on Virtual Rea-
lity, Archaeology and Intelligent Cultural Heritage (2007), The Eurographics
Association. D. Arnold, F. Niccolucci, A. Chalmers (editors), 2007. pages
10571065.
[Rosoux 10] L Rosoux. Les biches racle de la grotte dEl Castillo Puente Viesgo (Can-
tabrie, Espage), ltude des gravures palolithique. Masters thesis, Universit
Libre de Bruxelles, facult de philosophie et lettres, 2010.
[Rusinkiewicz 04] S. Rusinkiewicz. Estimating Curvatures and Their Derivatives on Triangle
Meshes, In : 3DPVT 04 : Proceedings of the 3D Data Processing, Visua-
lization, and Transmission, 2nd International Symposium. IEEE Computer
Society, Washington DC, USA, 2004. pages 486493.
[Shen 86] S. Shen J. et Castan. An optimal linear operator for edge detection, In :
Conference on Vision and Pattern Recognition. 1986.
[Song 05] W. Song, L. Liu & X. Yang. Fast and Robust Ridge-Ravine Detection on
Triangular Meshes by Smooth Parametric Functions. 2005.
[Stumpfel 03] J. Stumpfel, C. Tchou, N. Yun, P Martinez, T. Hawkins, A Jones, B Emer-
son & P. Debevec. Digital Reunication of the Parthenon and its Sculptures,
In : 4th International Symposium on Virtual Reality, Archaeology and Intelli-
gent Cultural Heritage (2003), The Eurographics Association. D. Arnold, A.
Chhalmers, F. Niccolucci (edtors), 2003. pages 110.
[Thirion 92] J.P. Thirion, O. Monga, S Benayou, A. Guziec & N Ayache. Automatic
registration of 3D images using surface curvature, In : Mathematical Methods
in Medical Imaging, Proc. SPIE vol 1768. SPIE, 1992. pages 206216.
[Thirion 96] J. Thirion. The extremal mesh and the understanding of 3D surfaces., In :
International Journal of Computer Vision 19 (2). 1996. pages 115128.
114
[Thomas 07] J-H. Thomas. Analyse dimages, Dtection de contours, 2007.
[Vialou 06] D Vialou. La Prhistoire. LUnivers des formes. Gallimard, 2006.
[Wallace 04] T.R. Wallace. Criticism Begins at Home : Developing a Methodology for
Critically Reading 3D/VR Reconstructions, In : The 5th International Sym-
posium on Virtual Reality, Archaeology and Cultural Heritage VAST (2004) -
Short Presentations, The Eurographics Association. K.Cain, Y. Chrysanthou,
F. Niccolucci, N. Silberman (Editors), 2004. pages 7273.
[Warze 09] N. Warze, M. Groenen, J. Rosoux, O. Debeir, R. Ercek & C. Reichling.
Numrisation 3D de la grotte dEl Castillo (Puento Viesgo), Ausonius Editions
/ collection archovision, vol. 3, 2009. pages 221229.
[Weatherburn 27] C.E. Weatherburn. Dierential Geometry of Three Dimensions, vol I. Cam-
bridge University Press, 1927.
[Yoshizawa 05] S. Yoshizawa, A. Belyaev & H-P. Seidel. Fast and Robust Detection of Crest
Lines on Meshes, In : Proceeding of the 2005 ACM Symposium on Solid and
Physical Modeling. 2005.
[Yoshizawa 06] S. Yoshizawa. Computational Dierential Geometry Tools for Surface Inter-
rogation, Fairing and Design, 2006.
[Yoshizawa 07] S. Yoshizawa, A. Belyaev & H-P. Seidel. Fast and faithful algorithm for de-
tecting crest lines on meshes, In : Pacic Graphics. 2007. pages 231237.
[Yoshizawa 08] S. Yoshizawa, A. Belyaev, H. Yokota & H-P. Seidel. Fast, robust, and faithful
methods for detecting crest lines on meshes, In : Computer Aided Geometric
Design 25. 2008. page 545560.
[Zatzarinni 09] R. Zatzarinni, A. Tal & A. Shamir. Relief Analysis and Extraction, In : ACM
Transaction on Graphics, Vol.28, No.5 Article 136. December 2009. pages
136 :1136 :9.
[Zignoni 08] P. Zignoni & R. Scopigno. Sampled 3D Models for CH Applications : A
Viable and Enable New Medium or Just a Technological Exercice ?, In : ACM
J. Comput. Cultu. Heritage 1, 1, Article 2 (June 2008). 2008. pages 2 :12 :23.
115