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

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