Équipe IMAGE - Le projet Pantheon

Tutoriel : Séparer des objets en amas

Identification

Ressources

I. Objectif

L'objectif est de séparer les objets qui se trouvent regroupés dans des amas, de manière à isoler chaque objet dans une région spécifique.

La séparation se fait à partir de la forme des objets que l'on suppose convexe.

Dans l'exemple proposé, il s'agit d'isoler chaque cellule dans une région individuelle. L'image initiale est une image binaire des objets obtenue par un processus de segmentation préliminaire.

L'image initiale avec les amas.Le résultat avec les objets individualisés.

II. Méthode

La méthode de séparation fait l'hypothèse que les objets à séparer (ici les cellules) sont convexes. Ils ne possèdent donc qu'un érodé ultime alors que les amas, qui présentent des concavités, en possèdent plusieurs, ce qu'illustrent les exemples ci-dessous :

La séparation nécessite deux étapes :

  1. Détecter les érodés ultimes.
  2. Localiser les frontières de séparation entre objets à partir de leur érodé ultime.

II.1 Détecter les érodés ultimes

Les érodés ultimes sont calculés à partir de la fonction de distance aux contours des régions. Ce sont les maxima locaux de la fonction distance. Avant la détection des maxima locaux , il est nécessaire d'appliquer un lissage Gaussien de manière à éroder les plateaux et créer des maxima ponctuels. Le lissage vise aussi à regrouper des maxima très proches. La force du lissage permet de contrôler la distance entre deux maxima.

Finalement, un masquage par l'image binaire d'entrée permet de ne récupérer que les maxima à l'intérieur des objets.

pany2pan input.png input.pan
pboundary 8 input.pan tmp1.pan
pdistance tmp1.pan tmp2.pan
pgaussianfiltering 1.5 tmp2.pan tmp3.pan
plocalmaxima 8 tmp3.pan tmp4.pan
pbinarization 1 1e30 tmp4.pan tmp5.pan

pmask tmp5.pan input.pan tmp6.pan
tmp2.pan : L'image de distances aux contours.
tmp6.pan : Les maxima locaux superposés à l'image initiale.

II.2 Localiser les frontières de séparation

Les maxima locaux trouvés précédemment sont labélisés avec un numéro d'étiquette unique et deviennent les germes du processus de localisation. La localisation des frontières des objets utilise la ligne de partage des eaux. Elle procède par propagation des germes contrôlés par l'inverse de la distance aux contours. L'image de distance est d'abord masquée par l'image binaire des objets de manière à mettre à 0 tous les pixels qui ne font pas partie des objets. Après l'inversion, ces valeurs deviennent très grandes et empêchent une propagation anarchique.

pmask tmp2.pan input.pan tmp7.pan
pinverse tmp7.pan tmp8.pan

plabeling 8 tmp6.pan tmp9.pan

pwatershed tmp9.pan tmp8.pan tmp10.pan

pmask tmp10.pan input.pan output.pan
tmp9.pan : Les germes.
tmp10.pan : Après la ligne de partage des eaux.
output.pan : Après le masquage par l'image des objets.

II.3 Visualiser le résultat

Uniquement pour des raisons de visualisation des résultats, on va superposer les frontières des zones boisées trouvées à l'image initiale.

psuperimposition 1 input.pan output.pan result.pan
ppan2png result.pan output.png
result.pan : Le résultat superposé à l'image initiale.

III. Le script Pandore complet


Projet Panthéon
Equipe Image Laboratoire GREYC
UMR CNRS 6072 - ENSICAEN - Université de Caen, France
Page modifiée le 31 October 2013