---
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)