436 views
--- title: INFO911 (5b) Segmentation - approches régions type: slide slideOptions: transition: slide progress: true slideNumber: true --- # Segmentation d'image - approches régions ## (Traitement et Analyse d'Image 5b) > [name=Jacques-Olivier Lachaud][time=Decembre 2020][color=#907bf7] > (Les images peuvent être soumises à des droits d'auteur. Elles sont utilisées ici exclusivement dans un but pédagogique) ###### tags: `info911` Retour à [INFO911 (Main) Traitement et analyse d'image](https://codimd.math.cnrs.fr/s/UE_B59gMy) --- # Approches régions ==Principe== : Rechercher les composantes image homogènes de l'image $I$ Prédicat $\mathrm{hom}(R,I)$ retourne vrai si region $R$ homogène dans $I$. Ex: $\mathrm{hom}(R,I)$ est vrai ssi $\mathrm{Variance}_{p \in R}(I[p]) < T$ :::info Algorithmes de structuration en régions “homogènes”. * Méthode de grossissement de régions (region growing) * Méthode de division (top–down) * Méthode de fusion (bottom–up) * Méthode de division-fusion (split & merge). * Autres: approche par champ de Markov ::: --- ## Grossissement de régions (region growing) ![lena-region-growing](https://codimd.math.cnrs.fr/uploads/upload_a7b24cfb37946c25d39f9a67e8227e64.png =x120) ```cpp= K régions R[i] initialisés sur K pixels germes donnés do { bool change = false; for (int i = 0; i < K; ++i) { Soit p un pixel voisin de R[i] et non affecté if ( hom( R[i] union {p}, I ) ) { R[i].append( p ); change = true; } } } while ( change ); ``` --- ## division-fusion (split and merge) ```cpp= L <- [ domaine de l'image I ]; do { foreach région R de L { // try split if ( ! hom(R,I) ) { R1, R2 <- split( R ); L.append( R1 ); L.append( R2 ); } } foreach régions R1, R2 de L { // try merge if (R1 adjacent à R2 && hom(R1 union R2, I)) { L.erase( R1 ); L.erase( R2 ); L.append( R ); } } } while ( changement ); ``` --- ## division-fusion (split and merge) ![cameraman-split-merge](https://codimd.math.cnrs.fr/uploads/upload_4fb8bf4680a1f65e7c8154a6167cec58.png =x230) :::danger Choix de la géométrie de découpe important. Critères simples => résultats moyens. Critères complexes souvent non-consistants. ::: --- ## approche bottom-up par fusions successives [Felzenszwalb, Huttenlocher 2004] ![graphe-image-fusion](https://codimd.math.cnrs.fr/uploads/upload_d15375b11c4d14a6a416ac1f07b4d910.png =x120) 1. Chaque arête $e=(p_i,p_j)$ a un poids $w(e)$, e.g. $|I(p_i)-I(p_j)|$ 2. Cohérence interne de région $R$: $\mathrm{Int}(R)=\max_{e, e \cap R \neq \emptyset} w(e)$, 3. ==Init== $\mathcal{G}$ est le graphe d'adjacence des pixels, et $R(p)$ est la région contenant $p$ 4. ==Fusions== Pour chaque arête $e=(p_i,p_j)$ pris dans l'ordre croissant des $w$ 5. Si $w(e) \le \min( \mathrm{Int}(R(p_i)) + k/ \#R(p_i), \mathrm{Int}(R(p_j)) + k/\#R(p_j))$ Alors on fusionne $R(p_i)$ et $R(p_j)$ --- ## Approche bottom-up par fusions successives `video-graph-segmentation` | $\sigma=1.6, k=300, minsize=100$ | $\sigma=1.2, k=121, minsize=42$ | | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | ![segmentation-fh-lena-1](https://codimd.math.cnrs.fr/uploads/upload_bc1ebe1e72b5735739f71b539e96ef66.png =x200) | ![](https://codimd.math.cnrs.fr/uploads/upload_4fc2fad8b7d38665d895c7e745b73cd3.png =x200) | --- | input | $\sigma=1.2, k=76, minsize=42$ | | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | ![cook](https://codimd.math.cnrs.fr/uploads/upload_6a508d8c71c84ba619d4b291c4242c39.png =x160) | ![graph-seg-3](https://codimd.math.cnrs.fr/uploads/upload_49e86e9eaaf04f7d4ea978bf3e54eaca.png =x160) | | $\sigma=1.2, k=157, minsize=42$ | $\sigma=1.2, k=360, minsize=200$ | | ![graph-seg-1](https://codimd.math.cnrs.fr/uploads/upload_140a54e62f08d88184817ca3d4f7be4e.png =x160) | ![](https://codimd.math.cnrs.fr/uploads/upload_833f67ee617d19a7567a49983c2e9204.png =x160) | --- ## Conclusion * approche très étudiée entre 1970 et 2000 * algorithmes souvent efficaces, basés sur des graphes d'adjacence * beaucoup d'autres variantes * résultats assez peu prédictibles sauf avec des critères très précis * manque de modélisation