204 views
--- title: INFO911 (5g) Représentations des régions, des contours, des hiérarchies type: slide slideOptions: transition: slide progress: true slideNumber: true --- # Représentations des régions, des contours, et des hiérarchies ## (Traitement et Analyse d'Image 5g) > > [name=Jacques-Olivier Lachaud][time=Decembre 2020][color=#907bf7] Laboratoire de Mathématiques, Université Savoie Mont Blanc > (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) --- # Topologie des domaines discrets ==Topologie== = études des lieux. Il faut décider qui est voisin de qui. | 4-adjacence| 8-adjacence | d'autres sont possibles ! | | -------- | -------- | -------- | | ![4-adj](https://codimd.math.cnrs.fr/uploads/upload_0accde49f0ce735bcbb58220ce46c013.png =x100) | ![8-adj](https://codimd.math.cnrs.fr/uploads/upload_98dba1ed6a9330009ba7a3945065eac6.png =x100) | 6-adjacence non isotrope | Soit un ensemble $S$ de pixels, $S$ est ==4-connexe== ssi $\exists$ un chemin dans $S$ de pixels 8-adjacents entre n'importe quelle paire de pixels de $S$ (même principe pour 8). --- ## Frontière d'une région ==Frontière== d'une région 8-connexe $R$, ensemble des points de $R$ 4-adjacents à $\mathbb{Z}^2 \setminus R$. ==Frontière== d'une région 4-connexe $R$, ensemble des points de $R$ 8-adjacents à $\mathbb{Z}^2 \setminus R$. | Frontière 8-connexe | Frontière 4-connexe | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | ![frontiere-8-cnx](https://codimd.math.cnrs.fr/uploads/upload_0dac3fc82b9efbcfde364cd39a6a0b52.png =x180) | ![frontiere-4-cnx](https://codimd.math.cnrs.fr/uploads/upload_a0ad9de472d0ad87f2408d3f3c53bded.png =x180) | | => chemin 8-connexe | => chemin 4-connexe | --- ## Difficultés de ces définitions (Paradoxe de Rosenfeld) 1. 2 régions adjacentes n’ont pas de portion de frontière commune 2. une frontière 8-connexe n'est pas séparante en deux comp. 8-connexes distinctes. 3. une frontière 4-connexe peut séparer plus de 2 comp. 4-connexes distinctes. | Int. et ext. sont 8-adjacents | 2 composantes 4-connexes | | ----------------------------- | ------------------------ | | ![paradoxe-8](https://codimd.math.cnrs.fr/uploads/upload_822b1e20791da4b6e73b03851d1dd3e0.png =x150) | ![paradoxe-4](https://codimd.math.cnrs.fr/uploads/upload_49c34eaa7bb886e2f3b5f185ed76ce39.png =x150) | --- ## Solution(s) au paradoxe de Rosenfeld Choix de connexité différente pour objet et fond ! - soit 4-adjacence pour l'objet et 8-adjacence pour le fond - soit 8-adjacence pour l'objet et 4-adjacence pour le fond :::info ==Thm== Si on a un contour 4-connexe (resp. 8-connexe) **simple** de taille $\ge 4$ alors il sépare l'image en 2 composantes 8-connexes (resp. 4-connexes), l'une est finie. ::: E.g. détecteur de Canny: contours 8-connexes, régions 4-connexes --- ## Frontières interpixel Autre approche, codées entre des points à coordonnées 1/2 entières. :::success Frontière commune entre 2 régions adjacentes Bonne propriétés si vous choisissez 4-adjacence pour région et 8 pour le fond. Extensible en dimension quelconque ::: ![frontiere-interpixel](https://codimd.math.cnrs.fr/uploads/upload_8692385332ab47b5f9095ec4b1b399a6.png =x140) --- --- ## Extraction de composantes connexes par balayage ==Objectif== Même étiquette pour tous les pixels même région 2 parcours (4-connexe): balayage avant, puis arrière au début: $\infty$ partout | balayage avant $\begin{array}{c}\rightarrow \ldots \rightarrow \swarrow\\ \rightarrow \ldots \rightarrow \swarrow \end{array}$ | balayage arrière $\begin{array}{c}\nearrow \leftarrow \ldots \leftarrow \\ \nearrow \leftarrow \ldots \leftarrow \end{array}$ | | ------------------------------------------------- | -------- | | $\begin{array}{ccc} & & \fbox{k } \\ & & \downarrow \\ \fbox{n } & \rightarrow& \min(k,n) \\ \end{array}$ | $\begin{array}{ccc} \min(k,n) & \leftarrow & \fbox{k } \\ \uparrow & & \\ \fbox{n } & & \\ \end{array}$ | Si $k$ et $n$ sont $\infty$ et que la case appartient à la région, on lui donne un nouveau label. --- ## Exercice Lancez l'algorithme d'extraction de composantes connexes par balayage sur: $$ \begin{array}{|c|c|c|c|c|c|c|c|c|c|c|}\hline . & . & . & O & . & O & O & O & O & O & .~ \\ \hline . & O & O & O & . & O & . & . & . & O & .~ \\ \hline . & O & O & . & O & O & . & O & . & O & .~ \\ \hline . & . & O & . & O & . & . & O & . & O & .~ \\ \hline . & O & O & . & O & O & O & O & O & O & .~ \\ \hline \end{array} $$ --- ## Suivi de contour interpixel Choix d'une connexité objet et fond. Point de départ à l'interface objet et fond. Observation de configurations locales 2x2. --- # Codage des régions Plusieurs codages, plus ou moins adaptés à des algorithmes ==image de labels== simple, adaptés aux agrégations, codage implicite des frontières ==codage par plages== simple, plus compact, moins adapté aux modifications ==codage par frontières== plus pratique pour calculer la géométrie, moins pour le reste ==graphe d'adjacence de régions== simple, haut niveau, agrégations ok, géométrie faible ==cartes== plus complexe, assez complet, géométrie/fusion/division --- ## Image de labels Image I, image de labels L ![cr-image-label](https://codimd.math.cnrs.fr/uploads/upload_4df63c2cc77a90288cbfc879da62b4e6.png =x200) Pixels $p,q$ dans la même région si et seulement si $L[p] = L[q]$ :+1: simple, adaptés aux agrégations, $region(p)$ en temps $O(1)$ :-1: codage implicite des frontières, géométrie ? --- ## Codage par plages Chaque région a une liste de lignes contenant des intervalles ![cr-plages](https://codimd.math.cnrs.fr/uploads/upload_ebe465491e302b6551443ec189a26793.png =x200) :+1: simple, plus compact, $region(p)$ en temps $O(\log n)$ :-1: certaines modifications complexes, géométrie ? --- ## Codage par frontières | Frontières pixel | Frontières interpixel | | -------- | -------- | | ![cr-frontieres-pixel](https://codimd.math.cnrs.fr/uploads/upload_96b9e7fb442f893b97e455d88364a364.png =x180) | ![cr-frontieres-interpixel](https://codimd.math.cnrs.fr/uploads/upload_d50361c636dd4ada8cc0b7c84ca40dbe.png =x180) | :+1: contours donnent la géométrie, fusions :-1: complexe en cas de modification, inclusion entre régions ? --- ## Graphe d'adjacence de régions (Utilisé avec image de labels, ou codage par plages) ![cr-rag](https://codimd.math.cnrs.fr/uploads/upload_affe6a219d53be48ab9ec089f4d0e5b0.png =x200) :+1: simple, haut-niveau, agrégation/fusions :-1: géométrie ? --- ## Cartes combinatoires Structure décrivant ==exactement== la topologie des partitions du plan | Etiquetage | Géométrie| Topologie/structure | | -------- | -------- | -------- | | ![cr-cartes-image](https://codimd.math.cnrs.fr/uploads/upload_42f92eb8c6413ddc66b082522e2f9a60.png =150x) | ![cr-cartes-geom](https://codimd.math.cnrs.fr/uploads/upload_0271d97eec8e5d5575fc890e0522b164.png =150x) | ![cr-cartes-topo](https://codimd.math.cnrs.fr/uploads/upload_65059c4bec6cea422aeea6e53482683e.png =150x) | $\alpha \ \text{arêtes}, \sigma\ \text{sommets}\quad$![cr-cartes-involutions](https://codimd.math.cnrs.fr/uploads/upload_c20318ecf880cc05b76876e476195760.png =x75) ==cartes== plus complexe, assez complet, géométrie/fusion/division --- ## Cartes combinatoires (2) ![cr-cartes-faces](https://codimd.math.cnrs.fr/uploads/upload_0c6da10a40730e93911c718424872580.png =x200) $\phi=\sigma \circ \alpha\quad$![cr-cartes-phi](https://codimd.math.cnrs.fr/uploads/upload_53d4e230fa198214b7ca7b912c82b59f.png =x80) :+1: Peut tout faire :-1: plus complexe à coder --- # Structures hiérarchiques (images, partitions) Les images ou les partitions requièrent souvent une analyse multi-échelle ==pyramides== simplification hiérarchique régulière rigide des images ==quadtree== découpage hiérarchique régulier mais adaptatif ==pyramides irrégulières== découpage hiérarchique irrégulier --- ## Pyramides Très utilisé en "scale-space image analysis". Filtre ==passe-bas== entre chaque étage $\uparrow$ ![](https://codimd.math.cnrs.fr/uploads/upload_9b447d96e4b49880882318fa591dfce6.png =x200) => résume l'image en dessous à différentes échelles `video-pyramid` --- ## Quadtree Forme abrégée de pyramides => plus compact | Feuilles quadtree | quadtree | |:--------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------:| | ![quadtree-image](https://codimd.math.cnrs.fr/uploads/upload_add94b5ca06d078905bad461d0d31218.png =x150) | ![quadtree-arbre](https://codimd.math.cnrs.fr/uploads/upload_94a5ad272d2b369ede9009451979e2ab.png =x130) | --- ## Pyramide irrégulière Pyramide issue de fusions en parallèle de régions 1. sélection de survivants non voisins 2 à 2 (min variance) 2. fusion non-survivants -> survivants (le plus ressemblant) ![pyrirr-1](https://codimd.math.cnrs.fr/uploads/upload_03a4ce271b5a1497315cfb335553a27e.png =x200) --- ## Pyramide irrégulière (2) 3. on répète le processus ![pyrirr-2](https://codimd.math.cnrs.fr/uploads/upload_ab1f7a82e6a75db3e363587e8898a68c.png =x200)