Segmentation hiérarchique faiblement supervisée

02/20/2018
by   Amin Fehri, et al.
0

Image segmentation is the process of partitioning an image into a set of meaningful regions according to some criteria. Hierarchical segmentation has emerged as a major trend in this regard as it favors the emergence of important regions at different scales. On the other hand, many methods allow us to have prior information on the position of structures of interest in the images. In this paper, we present a versatile hierarchical segmentation method that takes into account any prior spatial information and outputs a hierarchical segmentation that emphasizes the contours or regions of interest while preserving the important structures in the image. An application of this method to the weakly-supervised segmentation problem is presented.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 3

page 4

03/09/2017

Prior-based Hierarchical Segmentation Highlighting Structures of Interest

Image segmentation is the process of partitioning an image into a set of...
06/10/2009

The VOISE Algorithm: a Versatile Tool for Automatic Segmentation of Astronomical Images

The auroras on Jupiter and Saturn can be studied with a high sensitivity...
05/01/2020

ACCL: Adversarial constrained-CNN loss for weakly supervised medical image segmentation

We propose adversarial constrained-CNN loss, a new paradigm of constrain...
08/18/2019

Weakly Supervised Segmentation by A Deep Geodesic Prior

The performance of the state-of-the-art image segmentation methods heavi...
03/15/2016

Hierarchical image simplification and segmentation based on Mumford-Shah-salient level line selection

Hierarchies, such as the tree of shapes, are popular representations for...
06/21/2021

Large-scale image segmentation based on distributed clustering algorithms

Many approaches to 3D image segmentation are based on hierarchical clust...
10/08/2018

Hierarchical segmentation using equivalence test (HiSET): Application to DCE image sequences

Dynamical contrast enhanced (DCE) imaging allows non invasive access to ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Dans cet article, nous proposons une méthode permettant de tirer parti de toute information spatiale préalablement obtenue sur une image pour obtenir une segmentation hiérarchique de cette image qui met en exergue ses régions d’intérêt. Ceci nous permet d’avoir plus de détails dans ces régions tout en conservant les informations structurelles fortes de l’image.

Les potentielles applications sont nombreuses. Cela permettrait par exemple, lorsqu’on a une capacité de stockage limitée (e.g. pour de très larges images), de conserver les détails de l’image dans les régions d’intérêt en priorité. De nombreux cas étant abordés dans un article associé [5], nous illustrerons dans la suite cette méthode uniquement par son application à un problème de segmentation faiblement supervisé. Une vue d’ensemble est proposée en figure 1.

Il a été montré que la segmentation est de façon inhérente un problème multi-échelles. C’est pourquoi la segmentation hiérarchique est devenue une tendance majeure ces dernières années, et qu’elle a donné la plupart des algorithmes de l’état de l’art actuel en segmentation. L’idée est de pas renvoyer uniquement une partition des pixels de l’image mais une structure multi-échelles qui rende compte des objets d’intérêt à toutes les échelles. Nous présentons ici un algorithme de segmentation hiérarchique qui se concentre sur certaines zones prédéterminées de l’image. L’aspect hiérarchique permet alors de choisir de façon simple le niveau de détails désiré en fonction de l’application. De plus, cet algorithme est très versatile car l’information spatiale a priori qu’il prend en entrée peut être obtenu par n’importe laquelle des nombreuses approches de vision par ordinateur existantes pour localiser les objets. De ce point de vue, ce travail s’inscrit dans le cadre des recherches visant à incorporer un savoir pré-existant sur l’image pour la segmentation.

Figure 1: Vue d’ensemble de la méthode proposée.

Dans la section 2, nous expliquerons comment construire et utiliser un algorithme de segmentation hiérarchique sur graphes. Puis nous préciserons dans la section 3 comment utiliser une information spatiale a priori sur un objet d’intérêt pour obtenir une hiérarchie à finesse régionalisée. Enfin, un exemple d’application à la segmentation faiblement supervisée sera présenté dans la partie 4 et des conclusions seront tirées dans la partie 5.

2 Hiérarchies et partitions

2.1 Segmentation hiérarchique fondée sur des graphes

Obtenir de façon directe une segmentation adaptée à partir d’une image est très difficile. C’est pourquoi on fait souvent appel à des hiérarchies pour organiser et proposer des contours intéressants en les valuant. Dans cette section, nous rappelons au lecteur comment construire et utiliser des outils de segmentation hiérarchique sur graphes.

On suppose que, pour chaque image, une partition fine est obtenue par une segmentation initiale et qu’elle contient tous les contours qui font sens dans l’image. On définit alors une mesure de dissimilarité entre tuiles adjacentes de cette partition fine. On peut alors voir l’image comme un graphe, le graphe d’adjacence de régions (GAR), dans lequel chaque noeud représente une tuile de la partition fine; une arête relie deux noeuds si les régions correspondantes sont voisines dans la partition fine; le poids de chaque arête est égal à la dissimilarité entre ces régions. Travailler sur le GAR est beaucoup plus efficient que de travailler sur l’image, car il y a beaucoup moins de noeuds dans le GAR qu’il n’y a de pixels dans l’image.

De façon formelle, on note ce graphe , où correspond au domaine de l’image ou à l’ensemble des pixels ou régions fines, est l’ensemble des arêtes reliant les régions voisines, est la valeur de dissimilarité généralement basée sur une mesure du gradient local (ou couleur ou texture), par exemple avec représentant l’intensité de l’image.

L’arête reliant les noeuds et est notée . Un chemin est une suite de noeuds et d’arêtes : par exemple, un chemin liant les noeuds et est l’ensemble . Un graphe connecté est un sous-graphe dans lequel toute paire de noeuds est connectée par un chemin. Un cycle est un chemin dont les extremités coïncident. Un arbre est un graphe connecté sans cycle. Un arbre couvrant est un arbre contenant tous les noeuds. Un arbre de poids minimum (APM) d’un graphe est un arbre couvrant avec le poids minimal possible, obtenu par exemple en utilisant l’algorithme de Boruvka (le poids d’un arbre étant égal à la somme des poids de ses arêtes). Une forêt est un ensemble d’arbres.

Une partition d’un ensemble est une collection de sous-ensembles de , tels que l’ensemble soit l’union disjointe des sous-ensembles dans la partition, i.e. tel que : ; ; .

Couper toutes les arêtes de ayant une valuation supérieure à un seuil mène à une forêt de poids minimum (FPM) , i.e. à une partition du graphe. La partition obtenue est alors la même que celle qui aurait été obtenue en coupant les arêtes de valuations supérieures à directement dans . Puisque travailler sur un est moins coûteux et fournit des résultats similaires pour la segmentation, nous travaillons dans la suite uniquement avec un .

Couper les arêtes par valuation décroissante mène donc à une hiérarchie de partitions indexée , avec une hiérarchie de partitions i.e. une chaine de partitions imbriquées , avec la partition à une seule région et la partition fine de l’image, et étant un indice de stratification vérifiant pour deux partitions imbriquées . Cette application croissante nous permet d’attribuer à chaque tronçon de contour le niveau de la hiérarchie pour lequel il disparaît : c’est la saillance du contour et on considère que plus la saillance est grande, plus le contour est fort. Pour une hiérarchie donnée, l’image dans laquelle chaque contour prend comme valeur sa saillance est appelée Carte de Contours Ultramétriques (CCU)[2]. Représenter une hiérarchie par sa CCU est une façon simple d’avoir une idée de son effet car seuiller une CCU aboutit toujours à un ensemble de courbes fermées et donc à une partition. Dans cet article, pour une meilleure visibilité, nous représentons les CCU avec un contraste inversé.

Il y a plusieurs façons d’obtenir une segmentation à partir d’une hiérarchie : (i) de façon simple en seuillant les saillances les plus hautes; (ii) en marquant certains noeuds comme importants et en calculant alors une partition conformément à ces marqueurs, connu sous le nom de segmentation avec marqueurs; (iii) en recherchant la segmentation minimisant une fonctionnelle énergétique définie sur le graphe.

Or, la qualité des segmentations obtenues dépend grandement de la dissimilarité que nous utilisons, et en changer peut mener à des segmentations plus pertinentes. La ligne de partage des eaux stochastique est un des outils possibles nous permettant d’attribuer aux contours des poids prenant en compte une information plus riche qu’une simple dissimilarité locale, de telle sorte que des méthodes plus simples soient suffisantes pour en extraire des segmentations intéressantes.

2.2 Hiérarchies de Ligne de Partage des Eaux Stochastique (LPES)

La ligne de partage des eaux stochastique (LPES), introduite dans [1] par simulation et étendue à une approche par graphes dans [6], est un outil versatile pour construire des hiérarchies. L’idée originale est d’opérer à de multiples reprises une segmentation avec marqueurs avec des marqueurs aléatoires puis de valuer chaque arête de l’ par sa fréquence d’apparition dans les segmentations résultantes.

En effet, en distribuant des marqueurs sur le GAR , on peut construire une segmentation comme une FPM dans laquelle chaque arbre prend racine dans un noeud marqué. On constate que la segmentation avec marqueurs est possible directement sur l’ : on doit alors couper, pour chaque paire de marqueurs, l’arête la plus haute sur le chemin les reliant. De plus, il y a un domaine de variation dans lequel chaque marqueur peut se déplacer tout en aboutissant à la même segmentation. Plus de détails sont fournis dans l’article associé [5].

Considérons sur l’ une arête de poids et calculons sa probabilité d’être coupée. Nous coupons toutes les arêtes de l’ ayant un poids supérieur ou égal à , ce qui aboutit à deux arbres T et T de racines et . Si au moins un marqueur tombe dans le domaine des noeuds de T et au moins un marqueur tombe dans le domaine des noeuds de T, alors sera coupé dans la segmentation finale.

Si l’on note le nombre de marqueurs aléatoires tombant dans la région , nous voulons attribuer à la valeur de probabilité suivante :

(1)

Si les marqueurs sont distribués suivant une distribution de Poisson, alors pour une région :

(2)

avec l’espérance du nombre de marqueurs tombant dans . La probabilité devient donc :

(3)

Avec, lorsque la distribution de Poisson a une densité uniforme :

(4)

Et lorsque la distribution de Poisson a une densité non-uniforme :

(5)

La sortie de l’algorithme de LPES dépend donc de l’ de départ (structure et valuations des arêtes) et de la loi de probabilité gouvernant la distribution des marqueurs. De plus, les hiérarchies de LPES peuvent être chaînées puisque les nouvelles valuations des contours correspondent à des nouvelles valeurs pour l’ et que l’on peut alors réitérer le processus décrit précedemment sur cet . Ceci amène un large espace d’exploration qui peut être utilisé dans une chaîne de segmentation [4].

Du fait de sa versatilité et de ses bonnes performances, la LPES représente un bon algorithme de départ à modifier pour y injecter une information spatiale a priori. En effet, lorsque l’on a une telle information sur l’image, est-il possible de l’utiliser pour avoir plus de détails dans certaines parties de l’image plutôt que dans d’autres ? Cela permettrait de simplifier et d’améliorer des traitements ultérieurs en concentrant les efforts dans les zones d’intérêt.

3 Hiérarchies avec information a priori

3.1 Hiérarchie à finesse régionalisée (HFR)

Dans la LPES originale, une distribution uniforme de marqueurs est utilisée (quelque soit leur taille ou leur forme). Pour avoir des contours plus forts dans une région spécifique de l’image, on propose d’adapter le modèle pour que plus de marqueurs soient distribués dans cette région.

Figure 2: HFR focalisée sur la classe principale (“vélo”) avec une issue d’une méthode basée sur des CNN. (a) Image, (b) Heatmap de la classe principale, (c)(d)CCU de la LPES volumique et de la HFR avec information prior. (e)-(g) Segmentations obtenues avec la HFR - 10,100,200 régions.

Soit un objet d’une classe d’intérêt, par exemple , et l’image étudiée. On note la densité de probabilités associée à , définie sur le domaine de et obtenue par ailleurs. On note la carte de probabilités associée, dans laquelle chaque pixel de prend comme valeur sa probabilité de faire partie de . Etant donnée une telle information sur la position d’un objet d’intérêt dans une image, on obtient une hiérarchie de segmentations focalisée sur cette région en modulant la distribution des marqueurs.

Si est une densité (uniforme ou non) définie sur pour distribuer des marqueurs, on choisit comme nouvelle densité, favorisant ainsi l’émergence de contours parmi les régions d’intérêt. Si on considère une région de l’image, le nombre moyen de marqueurs tombant dans est alors :

(6)

De plus, cette approche peut aisément être étendue au cas où l’on veut tirer parti d’informations provenant de sources multiples. En effet, si et sont des densités de probabilités associées aux évènements et , on peut combiner ces deux sources en utilisant comme nouvelle densité .

Figure 3: 1er exemple de HFR modulée (section 3.2). (a) Image, (b)(c) CCU de la HFR et de la LPES volumique, (d) Heatmap de la classe principale, (e)(f) Segmentations avec 2 régions pour la HFR - à gauche - et la LPES volumique - à droite.

3.2 Moduler la HFR en fonction des couples de régions considérées

Si on veut favoriser l’émergence de certains contours, on peut moduler la densité de marqueurs dans chaque région en prenant en compte la force des contours les séparant mais aussi leur position relative dans chacune de ces régions.

Par exemple, pour tester la force du gradient séparant les deux régions et , on peut localement distribuer des marqueurs suivant une distribution , avec . Cela correspond au cas classique de la LPES volumique, qui permet d’obtenir une hiérarchie prenant en compte à la fois les surfaces des régions et les contrastes entre elles.

On peut utiliser toute information spatiale a priori de façon similaire. En effet, en l’utilisant pour influencer la sortie de l’algorithme de segmentation, on peut vouloir choisir l’information pertinente à mettre en valeur dans les segmentations résultantes : le premier-plan, l’arrière-plan ou les zones de transition entre les deux.

Par exemple, avoir plus de détails dans les régions de transition entre le premier-plan et l’arrière-plan nous permet d’avoir plus de précisions là où la limite entre les deux est justement floue. Considérons ce cas. On définit pour chaque couple de régions un pertinent. On veut alors que
soit petit si et sont au premier-plan ou à l’arrière-plan, et grand si est à l’arrière-plan et au premier plan (et vice-versa). On utilise :

(7)

(resp. ) étant la moyenne normalisée (resp. l’écart-type normalisé) des valeurs des pixels dans la région de . Ainsi le nombre de marqueurs distribués sera plus grand lorsque le contraste entre les régions adjacentes sera grand (terme au numérateur) et lorsque ces régions seront cohérentes (terme au dénominateur).

4 Segmentation hiérarchique faiblement supervisée

Il existe aujourd’hui de nombreux algorithmes permettant d’obtenir d’obtenir une localisation grossière de l’objet principal dans une image. On s’inspire de celle décrite dans [7]

pour ce faire. En utilisant le classifieur de type réseau de neurones convolutifs (CNN) VGG19

[8]

entraîné sur la base ImageNet

[3], on commence par déterminer quelle est la classe principale dans l’image. Ce CNN prend comme entrée uniquement des images de taille pixels. Une fois la classe de l’image déterminée, on peut alors, en changeant l’échelle de l’image d’un facteur , calculer pour des sous-fenêtres de taille de l’image, la probabilité d’apparition de la classe principale. On obtient ainsi une carte de probabilités de la classe principale pour chaque échelle. Par max-pooling (“mise en commun en prenant le max”), on garde en mémoire le résultat de l’échelle pour laquelle la probabilité est la plus grande. La heatmap (“carte de chaleur”) ainsi générée prend en chaque pixel pour valeur la probabilité que ce pixel appartienne à la classe d’intérêt. Elle peut alors être utilisée en entrée de notre algorithme. De cette façon, nous avons à notre disposition un outil pour se focaliser automatiquement sur la classe principale de chaque scène.

Au final, la combinaison de cette méthode et de la HFR est très intéressante puisqu’elle permet tout à la fois de classifier l’image (i.e. d’en déterminer la classe principale), d’y localiser les éléments de la classe principale et d’obtenir une hiérarchie de segmentations focalisée sur ces éléments, i.e. une hiérarchie où les contours appartenant à ces éléments sont mis en exergue. Des résultats visuels sont présentés dans les figures

2, 3 et 4.

Figure 4: 2ème exemple de HFR modulée (section 3.2). (a) Image, (b) Heatmap de la classe principale, (c)(d) CCU de la HFR et de la LPES volumique (e)-(h) Segmentations de 5 et 10 régions pour la HFR - (e) et (f) - et la LPES volumique - (g) et (h).

5 Conclusion

Dans cet article, nous avons proposé un algorithme novateur et efficient de segmentation hiérarchique mettant l’accent sur des régions d’intérêt d’une image en utilisant une information exogène obtenue sur celle-ci. La grande variété de possibles sources d’information exogène rend notre méthode extrêmement versatile, et nous l’avons ici illustrée sur le problème de segmentation hiérarchique faiblement supervisé. Pour aller plus loin, on pourrait chercher à étendre ce travail à des vidéos.

Références

  • [1] Angulo, J., Jeulin, D.: Stochastic watershed segmentation. ISMM 1, 265–276 (2007)
  • [2] Arbelaez, P., Maire, M., Fowlkes, C., Malik, J.: Contour detection and hierarchical image segmentation. IEEE PAMI 33(5), 898–916 (2011)
  • [3] Deng, J., Dong, W., Socher, R., Li, L.J., Li, K., Fei-Fei, L.: ImageNet: A Large-Scale Hierarchical Image Database. In: CVPR (2009)
  • [4] Fehri, A., Velasco-Forero, S., Meyer, F.: Automatic selection of stochastic watershed hierarchies. In: EUSIPCO (August 2016)
  • [5] Fehri, A., Velasco-Forero, S., Meyer, F.: Prior-based hierarchical segmentation highlighting structures of interest. In: ISMM (May 2017)
  • [6] Meyer, F.: Stochastic watershed hierarchies. In: ICAPR. pp. 1–8 (2015)
  • [7]

    Oquab, M., Bottou, L., Laptev, I., Sivic, J.: Is object localization for free? weakly-supervised learning with convolutional neural networks. In: CVPR (2015)

  • [8] Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition. arXiv 1409.1556 (2014)