Nous avons étudié précédemment des opérateurs morphologiques qui transforment un ensemble en un autre ensemble. Dans la mesure où la morphologie interprète une image en termes d'objets, il est licite de se demander s'il n'existe pas une opération qui est capable de décrire un objet par une série d'ensembles.
Une description en termes d'objets a plusieurs objectifs: interprétation automatique d'images, modélisation de matériau (séparation de phase), reconnaissance de formes, etc. Une description valable d'une scène intègre nécessairement une approche hiérarchique ou multirésolution des objets mais avant de travailler valablement avec des objets de résolution variable, il faudra définir le concept de taille morphologique. Ainsi tant pour le codage que pour le traitement d'objets, il est préférable de traiter en premier lieu les grands ensembles puis de passer successivement aux détails fins. La squelettisation offre une approche intéressante à plusieurs degrés de précision.
Considérons un ensemble continu X et sa frontière
(X);
un point x de X appartiendra au squelette
de X, noté S(X), s'il existe un disque centré en x inclus
dans X et touchant
(X) en deux points au moins. Plus
intuitivement le squelette peut être défini comme le lieu des centres
des boules maximales B contenues dans X (voir figure 9.8
pour quelques exemples de squelettes). Ces deux définitions ne sont
pas tout à fait équivalentes mais elles ont la même fermeture topologique
dans
2.
L'opérateur issu de cette approche intuitive est défini par les propriétés suivantes:
![]() |
Plus généralement, la définition pratique du squelette dans le cas d'objets définis sur une grille d'échantillonnage pose plusieurs problèmes:
Si la squelettisation (opérateur de
X S(X)) respecte
les deux premiers principes de toute transformation morphologique,
le respect de la continuité n'est pas nécessairement assuré. Par exemple,
le squelette d'un polygone régulier est constitué de segments de droite
joignant son centre aux sommets; lorsque, par un passage à la limite,
on fait tendre le nombre de côtés vers l'infini (cercle), le squelette
devient pratiquement équivalent au polygone alors que le squelette
d'un cercle se réduit à son centre. La connaissance locale exige aussi
quelques précautions.
Citons les propriétés algébriques suivantes.
Mais avant de fournir l'expression analytique du squelette, nous introduisons le concept de taille morphologique. C'est aussi l'occasion de présenter les filtres multirésolution.
rB = {rb| b ![]() ![]() |
(9.3) |
La définition précédente ne convient pas du tout pour le cas d'un ensemble discrétisé9.1. En effet, si B est un carré de 2x2 pixels, alors 2B est composé uniquement des sommets d'un carré de taille 3x3. En d'autres termes, le nombre d'éléments contenus dans l'ensemble 2B n'a pas été modifié alors que la taille l'était. Ceci nous conduit à proposer une autre définition basée sur l'opération de dilatation.
Le théorème suivant permet d'arriver à une simplification de la formule 9.4.
Dès lors,
nB = ![]() ![]() ![]() |
(9.6) |
Remarquons que cette formule donne un sorte de borne maximale. En effet, comme le montre le théorème suivant, il n'est pas nécessaire de prendre tous les points de la frontière lorsque la condition de réduction est respectée.
Pour s'en convaincre, prenons le cas d'un ensemble B = H
La figure 9.10 illustre un autre cas.
XonB | = | (X ![]() ![]() |
(9.8) |
X![]() |
= | (X ![]() ![]() |
(9.9) |
XonB = [![]() ![]() |
(9.10) |
Une forme similaire vaut pour la fermeture
XnB. La complexité
de cette dernière expression est directement proportionnelle au nombre
de points de B alors que celle de
(X
nB)
nB est
de complexité quadratique. Si B a une forme suffisamment régulière,
XonB et
X
nB fournissent des versions filtrées non
linéaires et multirésolution de la frontière de X. Par définition,
XonB = ![]() |
(9.11) |
Ainsi, XonB supprime toute la surface intérieure qui ne peut inclure un translaté de nB. C'est pour cette raison que l'on associe le concept de taille n à celle de l'objet analysé.
Si en chaque point du squelette, on dessine le disque de taille maximale correspondant, l'union de ces cercles reconstitue l'objet de départ et l'enveloppe des disques formera le bord de l'objet. Soit Sr(X), r > 0, le sous-ensemble du squelette S(X) des centres des disques dont le rayon est égal à r; les sous-ensembles Sr(X) s'obtiennent par des opérations morphologiques d'érosion et d'ouverture. On peut démontrer qu'à l'exception des figures non bornées ou de celles incluant des points isolés, voire des lignes qui sont leur propre squelette, le squelette existe et s'exprime de manière équivalente par
S(X) = ![]() |
(9.12) |
Bien que le concept de squelette soit difficile à étendre au cas d'images discrétisées, cela reste possible. SERRA propose une définition de la squelettisation qui s'applique à tout ensemble discret, borné et non vide. Nous passons à une définition plus pratique, due à LANTUÉJOUL, faisant intervenir les concepts de taille morphologique et de filtre multirésolution.
Sn(X) = (X ![]() ![]() |
(9.13) |
S(X) = ![]() |
(9.14) |
Remarquons que la relation de LANTUÉJOUL fournit un squelette qui ne préserve pas la connexité.
Le sous-ensemble de taille n, Sn(X), s'obtient en érodant X
par nB, puis en ne conservant du résultat
X nB que les
parties anguleuses et les lignes d'épaisseur nulle. Le squelette de
taille n est la différence entre
X
nB et son ouverture
par B,
(X
nB)oB. Si l'objet est entièrement contenu
dans un masque de taille M×M, alors n
M. De ces propos,
il découle que la famille des couples
(Sn(X), n) forme une
description
(X) de l'image. Pour obtenir une approximation
(X) de l'image, il faut encore se munir d'une recomposition
valable
(X).
La squelettisation est une des rares transformations morphologiques à avoir un inverse. L'image numérisée X est reconstruite avec exactitude par la réunion de ses N + 1 sous-ensembles Sn(X) dilatés par l'élément de structure de taille adéquate:
![]() ![]() ![]() |
(9.15) |
Il apparaît clairement que plus l'indice n est élevé, plus les détails de reconstruction sont grossiers. Si on tient compte de l'associativité de la dilatation et de la distributivité de la dilatation par rapport à l'union, il est possible de trouver une forme équivalente de reconstruction de X
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
(9.16) |
Nous avons vu que le squelette de X est plus mince que X par l'intermédiaire de la propriété d'anti-extensivité. De plus, les sous-ensembles Sn(X) forment une partition du squelette.
Il existe d'autres formules de calcul de l'opération de squelettisation. VINCENT a proposé une méthode basée sur la fonction distance [41].
[![]() |
(9.17) |
|
La figure 9.13 montre quant à elle des squelettes calculés par l'algorithme de VINCENT. On voit que ce type d'algorithme préserve la connexité de la figure analysée.