PROJET DE MTI :
Eleves : Thomas Maure, Laurent Veilex.
Sujet : les squelettes avec barbules sont-ils préférables aux squelettes sans barbules?


Sommaire :

O-Introduction.

I-Exemple 1 : squelette de caractères hébraiques.

II-Exemple 2 : visualisation d'outils.

III-Exemple 3 : comptage de cellules.

IV-Conclusion.


O-Introduction.

Le squelette est effectué sur des images binaires, par une opération morphologique. Sa principale utilité est de donner une idée de la forme des objets à identifier dans une image : par exemple si l'on désire reconnaitre des caractères ou donner une idée de la forme de cellules ou de grains de café.

Suivant les algorithmes utilisés, les squelettes peuvent etre très différents. En particulier certains génèrent beaucoup de barbules d'autres peu voire pas du tout.

On va voir que dans certains cas il est préférable d'avoir des barbules et dans d'autres celles-ci doivent etre considérées comme du bruit. Le problème qui se pose est ainsi attaché à l'application que l'on veut en tirer.


Les algorithmes que nous avons testés sont ceux donnés dans CANTATA c'est à dire Thome, Marthon et Rosenfeld. Le gros problème de Rosenfeld est qu'il donne des squelettes localement non connexes (constitué de petits points ), ce qui est peu intéressant pour nous . Marthon génère moins de barbules que Thome comme on va le voir dans les exemples qui suivent.

squelette non connexe de Rosenfeld.


I-Exemple 1 : squelette de caracteres hébraiques.

Les deux images ci-dessous ont été obtenues par les algorithmes de Marthon et de Thome. On voit que dans le premier cas, dépourvu de barbules le squelette seul donne autant d'information que l'image non squeletisée. Au contraire, dans le deuxième cas les barbules nous apportent un bruit inutile sur la structure des caractères.

Marthon : sans barbules

Thome : Quelques barbules.

Donc, dans ce cas il vaut mieux ne pas voir de barbules.


II-Exemple 2 : visualisation d'outils.

Si un algorithme génàre des barbules il est clair qu'un objet squelettisé engendre d'autant plus de barbules que ses contours présentent des aspérités sous la forme d'infractuosités, ou que son intérieur est garni de taches de bruit.

Un moyen de pallier ces deux problèmes est de faire un lissage dans le premier cas et un filtrage dans le deuxième (par exemple utiliser un filtre alterné séquentiel sur l'image de départ avant de la binariser).

Cependant il se peut que ces opérations nous fassent perdre de l'information sur la forme des objets : par exemple si un objet est naturellement cranté comme dans la partie avant de la clé anglaise ci-dessous.

Marthon

Thome

Dans ce cas on voit que l'absence de barbules dans Marthon donne une idée claire du disque mais ne nous informe guère sur les crants à l'avant de la clé. C'est le contraire pour Thome : on voit ici l'avantage et l'inconvénient des barbules.

Ici, afin de pouvoir visualiser certains détails comme les crants, il est préférable de limiter les opérations de traitement et de filtrage, puis de choisir des algorithmes générant peu de barbules.


III-Exemple 3 : formes de cellules musculaires.

Dans cet exemple, on retrouve le problème évoqué ci-dessus; à savoir la quantité minimale de barbules nécéssaire à une description optimale des objets. Le squelette de la cellule en forme de papillon présente des défauts avec les deux algorithmes. Le squelette de Marthon ne rend pas compte de la partie la plus à gauche de la cellule supérieure, alors que le squelette de Thome engendre une fourche pour la partie la plus à droite de la cellule inférieure et apporte donc une information erronée sur la forme générale.

MarthonThomeThome

Marthon


IV-Conclusion.

Ces trois exemples nous montrent que les barbules correspondent assez souvent à un bruit inutile, et donc qu'il est nécéssaire d'en éliminer une certaine quantité. Cependant un ébarbulage trop important risque de supprimer de l'information pertinente quant à la forme des objets.

Le compromis à trouver dépend donc de l'application visée. Par exemple, la reconnaissance de l'écriture manuscrite nécéssite un ébarbulage assez important, alors que des applications cherchant à coder la forme d'objets à partir de leur squelettes doivent se contenter d'un ébarbulage plus léger.