11 Segmentation JCA
11 Segmentation JCA
11 Segmentation JCA
contours
Julien Cohen-Adad
ELE8812
1. Introduction
2. Détection de contours
• Méthodes élémentaires: gradient et laplacien
• Méthode de Canny
• Détection de frontières
3. Segmentation de régions
• Seuillage global
• Seuillage local ou adaptatif
• Autres méthodes
• Comparaison détection contour / régions avec scikit-image (Python)
4. Autres méthodes
• Réseau de neurones convolutionnels (deep learning)
• Segmentation de la matière blanche par Tractographie en IRM
1. Introduction
2. Détection de contours
• Méthodes élémentaires: gradient et laplacien
• Méthode de Canny
• Détection de frontières
3. Segmentation de régions
• Seuillage global
• Seuillage local ou adaptatif
• Autres méthodes
• Comparaison détection contour / régions avec scikit-image (Python)
4. Autres méthodes
• Réseau de neurones convolutionnels (deep learning)
• Segmentation de la matière blanche par Tractographie en IRM
Introduction
Introduction
Formulations équivalentes?
• Réponse théorique : oui
• Réponse pratique : non
1. Introduction
2. Détection de contours
• Méthodes élémentaires: gradient et laplacien
• Méthode de Canny
• Détection de frontières
3. Segmentation de régions
• Seuillage global
• Seuillage local ou adaptatif
• Autres méthodes
• Comparaison détection contour / régions avec scikit-image (Python)
4. Autres méthodes
• Réseau de neurones convolutionnels (deep learning)
• Segmentation de la matière blanche par Tractographie en IRM
Détection de contours
Contour et détection
• Contour : discontinuité dans l’intensité de l’image
• Contenu hautes fréquences!
• Détection de contour : filtrage passe-haut
Cadre 1D
• Filtrage passe haut en temps continue : dérivée première ou
seconde
• Filtrage passe haut en temps discret : differences premières ou
secondes
• Différences premières : d1(x) = f (x + 1) − f (x − 1)
• Différences secondes : d2(x) = f (x + 1) − 2f (x) + f (x − 1)
Types de contours :
Sensibilité au bruit
• Définition :
Approximations numériques
• Opérateurs centrés exacts :
Laplacien de l’image
• Définition :
Approximations numériques
Gradient
• Directionnel
• Moins sensible au bruit (différences premières)
• Possibilité de mise en œuvre par opérateurs 1D
Laplacien
• Isotrope
• Très sensible au bruit (différences secondes)
• Possibilité limitée de mise en œuvre par opérateurs 1D
• Double réponse aux discontinuités => détection des passages
par zéro
Exemple : demo_grad.m
Exemple : demo_lap.m
Méthode de Canny
Démarche
Méthode de Canny
Affinage des contours (maximum suppression)
1. Carte des gradients 2. Seuillage
seuil
faible gradient faible gradient
x x Ce pixel a un gradient
plus fort, donc on
rejette le pixel
pixel
considéré
Méthode de Canny
Double seuillage avec hystérésis
Double seuillage
• Deux seuils sont utilisés pour classer les pixels avec « fort seuil » et
avec « faible seuil ».
• Ces deux classes seront utilisés dans l’étape hystérésis.
Exemple : demo_canny.m
Détection de frontières
Position du problème
• Contours détectés : représentation incomplète des frontières présentes dans
l’image
• Nécessité de joindre entre eux les éléments d’une même frontière
Approches
• Approche locale
• Seuillage avec hystérésis (Canny)
• Méthodes empiriques : magnitude semblable et angle du gradient correct
• Approche par regions (exemple : approximations polygonales)
• Approche globale : transformée de Hough
Transformée de Hough
Principe
• Détection de l’ensemble des points de contour appartenant à un même objet
paramétré
• L’object paramétré peut être un point, une droite, une courbe, etc.
• Pour chaque point de l’image, on construit un objet dans l’espace de Hough
• Ensuite, on vote pour sélectionner les paramètres de l’objet qui ressortent le
plus souvent.
Transformée de Hough
Exemple 1 : Représenter 3 points avec une droite
On trace toutes les droites On fait de même pour le 2e … puis pour le 3e point
qui passent par le premier point…
point
Source: https://en.wikipedia.org/wiki/Hough_transform
Transformée de Hough
Exemple 2 : Représenter 2 droites avec 2 points
Source: https://en.wikipedia.org/wiki/Hough_transform
Transformée de Hough
Généralisation
• Paramétrisation plus générale d’une droite : x.cos(θ) + y.sin(θ) = ρ
• Extension possible à d’autres types de courbes paramétrées
• En général, détection des échantillons de plus forte amplitude dans
le domaine transformé (contours les plus longs)
• Nécessité de post-traitements (connexion des éléments de frontière)
Transformée de Hough
Démo
Exemple : demo_Hough.m
Modèle déformable
Exemple: Segmentation moelle épinière (PropSeg)
But : Segmenter la moelle épinière pour mesurer atrophie (e.g., sclérose en plaques,
compressions traumatiques, etc.)
Modèle déformable
Exemple: Segmentation moelle épinière (PropSeg)
Méthode : Combinaison de différentes techniques pour détecter la moelle, puis lancer
un algorithme de détection de l’interface moelle / liquide cerebro-spinal
5. Mesh propagation
&"
!
!'" %$
!'"
!" %$
!"
!'" #$
!" #$
Modèle déformable
Exemple: Segmentation moelle épinière (PropSeg)
1. Introduction
2. Détection de contours
• Méthodes élémentaires: gradient et laplacien
• Méthode de Canny
• Détection de frontières
3. Segmentation de régions
• Seuillage global
• Seuillage local ou adaptatif
• Autres méthodes
• Comparaison détection contour / régions avec scikit-image (Python)
4. Autres méthodes
• Réseau de neurones convolutionnels (deep learning)
• Segmentation de la matière blanche par Tractographie en IRM
Segmentation de régions
Objectif :
• Partitionnement de l’image
Comment faire ?
• Chaque région est caractérisée par :
• Son intensité moyenne
• Petites variations dans chaque région (e.g., bruit)
myéline
background
axon
https://www.slicer.org/w/images/7/77/MRI_Bias_Field_Correction_Slicer3_close_up.png
objet d’intérêt
Méthode de Otsu
• Dispersion :
Méthode de Otsu
Méthode de Otsu
Comment palier au bruit et taille des régions ?
Méthode de Otsu
Comment palier au bruit et taille des régions ?
2e pic
détecté !
Histograme calculé sur
les pixels des contours
© 1992-2008 R. C.
Gonzalez & R. E. Woods
Seuillage globale
• Simple
• Forte composante empirique
• Caractéristique propres aux images non prises en compte (e.g., taille des
objets)
Exemple : plot_active_contours_julien.ipynb
https://en.wikipedia.org/wiki/Level-set_method
https://profs.etsmtl.ca/hlombaert/levelset/
Image à segmenter
AxonDeepSeg AxonDeepSeg
AxonDeepSeg https://github.com/neuropoly/axondeepseg
Exemple : plot_coins_segmentation_julien.ipynb
1. Introduction
2. Détection de contours
• Méthodes élémentaires: gradient et laplacien
• Méthode de Canny
• Détection de frontières
3. Segmentation de régions
• Seuillage global
• Seuillage local ou adaptatif
• Autres méthodes
• Comparaison détection contour / régions avec scikit-image (Python)
4. Autres méthodes
• Réseau de neurones convolutionnels (deep learning)
• Segmentation de la matière blanche par Tractographie en IRM
375
Brain MRI Cortex White matter MS Lesions
Neural network
250
125
0
2015 2016 2017 2018
sct_deepseg_sc -i t1w.nii.gz -c t1
Où est Charlie ?
=
=
Input image Feature Feature map Input image Feature Feature map
github.com/vdumoulin/conv_arithmetic
in vivo
• Idea: Atrous Spatial Pyramid Pooling [2] add holes in
convolution kernels, providing parameter reduction while
increasing the effective receptive field.
• Methods: Data from GM challenge [3], Training (N=40),
Testing (N=40)
ex vivo
4676 axial slices @ 100 μm isotropic
https://github.com/neuropoly/gmseg
[1] Perone, Sci Rep 2018 ; [2] Chen, arXiv preprint 2017 1706.05587 ; [3] Prados, Neuroimage 2017
Axon diameter
Axon density
Myelin density
Myelin thickness
G-ratio
1 mm 200 µm 30 µm
Upsampling layer
Convolutional layer
3×3 conv, ReLU, 64 channels
3×3 conv, ReLU, 64 channels 3×3 conv, ReLU, 64 channels
3×3 conv, ReLU, 64 channels 3×3 conv, ReLU, 64 channels
3×3 conv, ReLU, 64 channels
Stride 2 conv
Concatenation
Up-conv AxonDeepSeg
Downsampling layer
3×3 conv, ReLU, 128 channels https://neuropoly.github.io/axondeepseg/
3×3 conv, ReLU, 128 channels
3×3 conv, ReLU, 128 channels
0 µm Axon diameter 10 µm
500 µm
Uncertain(*)
prediction
Add image+label to training set and re-train
[1] Blanch, CEAL : Cost Effective Active Learning ; Gal, https://arxiv.org/abs/1506.02142 ; Kendall, https://arxiv.org/abs/1511.02680 ;
Julien Cohen-Adad (ELE8812) Segmentation d’images 67
Autres méthodes Segmentation par IRM de “tractographie“
Kleenex Newspaper
isotropy anisotropy
longitudinal
diffusion
transverse
diffusion
Myelin
Axon
water
molecules
MRI “diffusion”
gradients MRI signal equation:
TR TE
− −
T1 T2
S = ρ ⋅ 1− e ⋅e ⋅ e− b ⋅ D
diffusion
contrast
DW #1 DW #2 DW #N Non-DW
(b=0)
Acquisition
tensor
Processing fitting diffusion
WM:
anisotropic
nikola.stikov@polymtl.ca
@stikov
www.neuro.polymtl.ca
Julien Cohen-Adad (ELE8812) Segmentation d’images 77