Méthode d'Otsu

Méthode d'Otsu
Exemple d'une image seuillée par l'algorithme d'Otsu
Type
TechniqueVoir et modifier les données sur Wikidata
Inventeur
Nobuyuki Otsu
Nommé en référence à
Nobuyuki Otsu (en)Voir et modifier les données sur Wikidata

modifier - modifier le code - modifier WikidataDocumentation du modèle

En vision par ordinateur et traitement d'image, la méthode d'Otsu est utilisée pour effectuer un seuillage automatique à partir de la forme de l'histogramme de l'image[1], ou la réduction d'une image à niveaux de gris en une image binaire. L'algorithme suppose alors que l'image à binariser ne contient que deux classes de pixels, (c'est-à-dire le premier plan et l'arrière-plan) puis calcule le seuil optimal qui sépare ces deux classes afin que leur variance intra-classe soit minimale[2]. L'extension de la méthode originale pour faire du seuillage à plusieurs niveaux est appelée Multi Otsu method[3]. Le nom de cette méthode provient du nom de son initiateur, Nobuyuki Otsu (大津展之, Ōtsu Nobuyuki?). Elle ne doit pas être confondue avec la méthode d'Antzu.

Méthode

Dans la méthode d'Otsu, le seuil qui minimise la variance intra-classe est recherché à partir de tous les seuillages possibles :

σ w 2 ( t ) = ω 1 ( t ) σ 1 2 ( t ) + ω 2 ( t ) σ 2 2 ( t ) {\displaystyle \sigma _{w}^{2}(t)=\omega _{1}(t)\sigma _{1}^{2}(t)+\omega _{2}(t)\sigma _{2}^{2}(t)}

Les poids ω i {\displaystyle \omega _{i}} représentent la probabilité d'être dans la i {\displaystyle i} ème classe, chacune étant séparée par un seuil t {\displaystyle t} . Finalement, les σ i 2 {\displaystyle \sigma _{i}^{2}} sont les variances de ces classes.

Otsu montre que minimiser la variance intra-classe revient à maximiser la variance inter-classe[2]:

σ b 2 ( t ) = σ 2 σ w 2 ( t ) = ω 1 ( t ) ω 2 ( t ) [ μ 1 ( t ) μ 2 ( t ) ] 2 {\displaystyle \sigma _{b}^{2}(t)=\sigma ^{2}-\sigma _{w}^{2}(t)=\omega _{1}(t)\omega _{2}(t)\left[\mu _{1}(t)-\mu _{2}(t)\right]^{2}}

qui est exprimée en termes des probabilités de classe ω i {\displaystyle \omega _{i}} et des moyennes de classes μ i {\displaystyle \mu _{i}} qui à leur tour peuvent être mises à jour itérativement. Cette idée conduit à un algorithme efficace.

  • Avant
    Avant
  • Après
    Après

Algorithme

Visualisation de l'histogramme
  1. Calculer l'histogramme et les probabilités de chaque niveau d'intensité
  2. Définir les ω i ( 0 ) {\displaystyle \omega _{i}(0)} et μ i ( 0 ) {\displaystyle \mu _{i}(0)} initiaux
  3. Parcourir tous les seuils possibles t = 1 {\displaystyle t=1\ldots } intensité max
    1. Mettre à jour ω i {\displaystyle \omega _{i}} et μ i {\displaystyle \mu _{i}}
    2. Calculer σ b 2 ( t ) {\displaystyle \sigma _{b}^{2}(t)}
  4. Le seuil désiré correspond au σ b 2 ( t ) {\displaystyle \sigma _{b}^{2}(t)} maximum.

Références

  1. (en) M. Sezgin and B. Sankur, « Survey over image thresholding techniques and quantitative performance evaluation », Journal of Electronic Imaging, vol. 13, no 1,‎ , p. 146–165 (DOI 10.1117/1.1631315)
  2. a et b (en) Nobuyuki Otsu, « A threshold selection method from gray-level histograms », IEEE Trans. Sys., Man., Cyber., vol. 9,‎ , p. 62–66 (DOI 10.1109/TSMC.1979.4310076)
  3. (en) Ping-Sung Liao and Tse-Sheng Chen and Pau-Choo Chung, « A Fast Algorithm for Multilevel Thresholding », J. Inf. Sci. Eng., vol. 17, no 5,‎ , p. 713–727

Articles connexes

  • Seuillage
  • Tramage (informatique)

Liens externes

  • (en) Lecture notes on thresholding - couvre également la méthode d'Otsu.
  • (en) A plugin for ImageJ utiliser la méthode d'Otsu pour effectuer un seuillage.
  • (en) A full explanation of Otsu's method avec un exemple et une implémentation Java.
  • (fr) Une explication de la méthode avec une implémentation C++.
  • icône décorative Portail de l’imagerie numérique