SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 1
Segmentación por Umbralización
Método de Otsu
Introducción
La umbralización es una técnica de segmentación ampliamente utilizada en las aplica-
ciones industriales. Se emplea cuando hay una clara diferencia entre los objetos a extraer
respecto del fondo de la escena. Los principios que rigen son la similitud entre los píxeles
pertenecientes a un objeto y sus diferencias respecto al resto. Por tanto, la escena debe
caracterizarse por un fondo uniforme y por objetos parecidos.
Al aplicar un umbral, T, la imagen en escala de grises, f(x,y), quedará binarizada; eti-
quetando con ‘1’ los píxeles correspondientes al objeto y con ‘0’ aquellos que son del fon-
do. Por ejemplo, si los objetos son claros respecto del fondo, se aplicará:
En el caso de que los objetos sean oscuros respecto del fondo, la asignación sería a la
inversa:
El umbral puede depender de f(x,y), de alguna propiedad local del píxel, p(x,y), y hasta
de su propia posición:
Si el umbral sólo depende de f(x,y) se dice que es un umbral global; en el caso de que
además dependa de p(x,y), por ejemplo, el valor medio de los píxeles vecinos, el umbral
es denominado local; y si depende también de la posición (x,y) del píxel, se denominará
dinámico.
La mayoría de las técnicas de umbralización se basan en estadísticas sobre el histo-
grama unidimensional (el que vimos hasta ahora) de una imagen. También se utiliza la
matriz de co-ocurrencia de una imagen. Para localizar los umbrales se pueden usar pro-
cedimientos paramétricos y no paramétricos. En los paramétricos, la distribución de los
niveles de gris de una clase de objeto lleva a encontrar los umbrales. En los procedimien-
tos no paramétricos, los umbrales se obtienen de forma óptima de acuerdo a algún crite-
rio. En particular, el método de Otsu, que es el objetivo de este apunte, elige el umbral óp-
timo maximizando la varianza entre clases (between-class variance) mediante una bús-
queda exhaustiva.
Si bien hay diferentes métodos para hallar un umbral, la mayoría de ellos no dan bue-
nos resultados cuando se trabaja con imágenes del mundo real debido a la presencia de
ruido, histogramas planos o una iluminación inadecuada. Por el contrario, el método de
Otsu fue uno de los mejores métodos de selección de umbral para imágenes del mundo



≤⇔
>⇔
=
Tyxf
Tyxf
yxg
),(0
),(1
),(



≥⇔
<⇔
=
Tyxf
Tyxf
yxg
),(0
),(1
),(
),),,(),,(( yxyxpyxfTT =
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 2
real. Sin embargo, como anticipamos, este método usa una búsqueda exhaustiva para e-
valuar el criterio para maximizar la varianza entre clases. A medida que el número de cla-
ses de una imagen aumenta, el método de Otsu necesita mucho más tiempo para selec-
cionar un umbral multinivel adecuado. Para determinar el umbral de una imagen eficiente-
mente, vamos a proponer una varianza entre clases modificada para el método de Otsu.
Esta modificación del método disminuirá considerablemente el tiempo de cálculo.
La importancia del método de Otsu radica en que es automático, es decir, no necesita
supervisión humana ni información previa de la imagen antes de su procesamiento.
Breve descripción del Método de Otsu para un umbral óptimo
Una imagen es una función bidimensional de la intensidad del nivel de gris, y contiene
N píxeles cuyos niveles de gris se encuentran entre 1 y L. El número de píxeles con nivel
de gris i se denota como fi, y la probabilidad de ocurrencia del nivel de gris i en la imagen
está dada por
(1)
En el caso de la umbralización en dos niveles de una imagen (a veces llamada binari-
zación), los píxeles son divididos en dos clases: C1, con niveles de gris [1, ...., t]; y C2, con
niveles de gris [t+1, ...., L]. Entonces, la distribución de probabilidad de los niveles de gris
para las dos clases son:
(2)
(3)
donde
También, la media para la clase C1 y la clase C2 es
Sea µT la intensidad media de toda la imagen. Es fácil demostrar que
Usemos un ejemplo para tener bien claro lo visto hasta aquí. Supongamos un imagen
de N=100 píxeles con cuatro niveles de gris comprendidos en [1,4] (1 el negro, 4 el blan-
co) y supongamos también que el número de píxeles con nivel de gris 1 es 10; con nivel
de gris 2, 20; con nivel de gris 3, 30; y con nivel de gris 4, 40; es decir, f1=10, f2=20, f3=30,
y f4=40. Luego, p1=f1/N=0.1, p2= 0.2, p3= 0.3, y p4= 0.4. Entonces, para una umbralización
en dos niveles de esta imagen tomemos t=2 de manera que la clase C1 consista en los to-
nos de gris 1 y 2, y la clase C2 posea los tonos 3 y 4. De esta manera, ω1(t)=0.1+0.2=0.3 y
N
f
p i
i =
)(
,....,
)( 11
1
t
p
t
p t
ωω
:1C
)(
,....,
)(
,
)( 22
2
2
1
t
p
t
p
t
p Ltt
ωωω
++
:2C
∑=
=
t
i
i
t
pi
1 1
1
)(
.
ω
µ
∑+=
=
L
ti
ipt
1
2 )(ω∑=
=
t
i
ipt
1
1 )(ω
∑+=
=
L
ti
i
t
pi
1 2
2
)(
.
ω
µ
121 =+ ωωTµµωµω =+ 2211 ..
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 3
ω2(t)=0.3+0.4=0.7, y se comprueba que ω1(t)+ω2(t)=1. Por último, la media para la clase
C1 y para la clase C2 estará dada por:
y
Sigamos con el método. Usando análisis discriminante, Otsu definió la variancia entre
clases de una imagen umbralizada como
(4)
Para una umbralización de dos niveles, Otsu verificó que el umbral óptimo t* se elige
de manera que σB
2
sea máxima; esto es
(5)
En el apéndice se incluye un algoritmo que calcula un umbral óptimo usando el método
de Otsu para luego poder binarizar correctamente una imagen.
El método puede de Otsu extenderse fácilmente a múltiples umbrales. Asumiendo que
hay M-1 umbrales, {t1, t2, ..., tM-1}, los cuales dividen a la imagen en M clases: C1 para [1,
..., t1], C2 para [t1+1, ..., t2], ..., Ci para [ti-1+1, ..., ti], ..., y CM para [tM-1, ..., L], los umbrales
óptimos {t1*, t2*, ..., tM-1*} se eligen maximizando σB
2
como sigue:
(6)
Donde,
(7)
Con
ωk es conocido como momento acumulado de orden cero de la k-ésima clase Ck, y el
numerador de la última expresión es conocido como momento acumulado de primer orden
de la k-ésima clase Ck; esto es,
357,3*7,0667,1*3,0.. 2211 ≈+=+= µωµωµT
667,1
3,0
2,0*21,0*1
)(
.2
1 1
1 ≈
+
== ∑=i
i
t
pi
ω
µ
57.3
7,0
4,0*43,0*3
)(
.4
3 2
2 ≈
+
== ∑=i
i
t
pi
ω
µ
2
22
2
11
2
).().( TTB µµωµµωσ −+−=
)}({* 2
tMaxt B
t
σ= Lt ≤≤1
)},...,,({*}*,...,*,{ 121
2
,...,,
121
121
−−
−
= MB
ttt
M tttMaxttt
M
σ
Ltt M <<<≤ −11 ...1
2
1
2
).( Tk
M
k
kB µµωσ −= ∑=
∑∈
=
kCi
ik pω ∑∈
=
kCi k
i
k
pi
ω
µ
.
∑∈
=
kCi
ipik .)(µ
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 4
Formulación alternativa del método de Otsu
Independientemente del número de clases que se consideren durante el proceso de
umbralización, la suma de las funciones de probabilidad acumulada de las M clases son
iguales a 1, y la media de la imagen es igual a la suma de las medias de las M clases
ponderadas por sus correspondientes probabilidades acumuladas; esto es,
(8) y (9)
Usando las expresiones (7) y (8), la varianza entre clases en la ecuación (7) de la ima-
gen umbralizada puede rescribirse de la siguiente forma
(10)
Debido a que el segundo término en la expresión (10) depende de la elección de los
umbrales {t1, t2, ..., tM-1}, los umbrales óptimos {t1*, t2*, ..., tM-1*} pueden ser elegidos ma-
ximizando una varianza entre clase modificada (σB’)2
, definida como la sumatoria de los
términos del lado derecho de la expresión (10). En otras palabras, los valores de los um-
brales óptimos {t1*, t2*, ..., tM-1*} se eligen por
(11)
Donde,
(12)
De acuerdo al criterio de la expresión (6) para σB
2
y al de la expresión (11) para (σB’)2
,
para encontrar los umbrales óptimos, el campo de búsqueda para el máximo σB
2
y para el
máximo (σB’)2
es 1 ≤ t1 < L-M+1, t1+1 ≤ t2 < L-M+2, ..., y tM-1+1 ≤ tM-1 < L-1, como se ilus-
tra en la figura 1. Esta búsqueda exhaustiva involucra (L-M+1)M-1
combinaciones posibles.
Además, comparando la expresión (12) con la (7), encontramos que la resta en la expre-
sión (7) no es necesaria. Así, la expresión (12) es mejor que la expresión (7) ya que elimi-
na M.(L-M+1)M-1
restas del cálculo de los umbrales.
∑=
=
M
k
k
1
1ω ∑=
=
M
k
kkT
1
.µωµ
22
1
121
2
.),...,,( Tk
M
k
kMB ttt µµωσ −= ∑=
−
}},...,,{)'{(*}*,...,*,{ 121
2
,...,,
121
121
−−
−
= MB
ttt
M tttMaxttt
M
σ
Ltt M <<<≤ −11 ...1
2
1
2
.)'( k
M
k
kB µωσ ∑=
=
t1
t2
tM-1
L-1
L-M+2
L-M+1
M-1
2
1
t1 t2 tM-1 L1
Figura 1: Campo
de búsqueda para
{t1, t2, ..., tM-1}.
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 5
Referencias
1) Nobuyuki Otsu, “A threshold selection method from gray-level histogram”, IEEE
Transactions on System Man Cybernetics, Vol. SMC-9, No. 1, 1979, pp. 62-66.
2) Ping-Sung Liao, Tse-Sheng Chen and Pau-Choo Chung, “A Fast Algorithm for
Multilevel Thresholding”, Journal of Information Science and Engineering 17, 713-727
(2001).
3) Digital Image Processing Second Edition, Rafael C. Gonzalez – Richard E. Woods,
capítulo 10.
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 6
Apéndice
A continuación se mostrará un función hecha en un script de MatLab que calcula el um-
bral óptimo para binarizar una imagen utilizando el método de Otsu desarrollado anterior-
mente.
function umbralOptimo = umbralOtsu(Imagen)
%
% umbralOptimo = umbralOtsu(Imagen)
% Esta funcion calcula el umbral optimo para binarizar una imagen mediante el
% Metodo de Otsu.
%
% Universidad Nacional de Quilmes
% Ingeniería en Automatización y Control Industrial
% Cátedra: Visión Artificial - Octubre de 2005
Imagen = fix(double(Imagen));
[f,c]=size(Imagen);
% Calculo de la distribucion de probabilidad de los niveles de gris
P=zeros(1,256);
for i=1:f*c
P(Imagen(i)+1) = P(Imagen(i)+1) + 1;
end
P = P / (f*c);
% Calculo del momento acumulado de orden cero y del de primer orden
omega = zeros(1,256);
omega(1) = P(1);
mu = zeros(1,256);
for i=2:256
omega(i) = omega(i-1) + P(i);
mu(i) = mu(i-1) + (i-1)*P(i);
end
% Calculo del umbral optimo segun Otsu
sigmaB2max = 0;
sigmaB2 = 0;
mut = mu(256); % Intensidad media total de la imagen
umbralOptimo = 0;
for t=1:256
omega1 = omega(t);
omega2 = 1 - omega1;
if omega1~=0 & omega2~=0
mu1 = mu(t) / omega1;
mu2 = (mut-mu(t)) / omega2;
sigmaB2 = omega1 * (mu1-mut)^2 + omega2 * (mu2 - mut)^2;
if sigmaB2 > sigmaB2max
sigmaB2max = sigmaB2;
umbralOptimo = t-1;
end
end
end
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 7
Comparemos ahora los resultados de binarizar una imagen con el método de Otsu y
con un umbral arbitrario.
clear all, close all
A=double(imread('rice.tif','tif'));
Binaricemos la imagen original usando la función anterior, ‘umbralOtsu’:
Botsu = A > umbralOtsu(A);
Binaricemos otra vez la imagen pero usando un umbral global arbitrario, por ejemplo,
110:
Bglobal = A > 110;
Agreguemos a la imagen original ruido gaussiano de media 0 y varianza 20:
r=20*randn(size(A));
Ar=fix(min(max(A+r,0),255));
Figura 2: Imagen
original que se
desea binarizar.
Figura 3: Imagen con
ruido gaussiano de
media cero y
varianza 20 que se
desea binarizar.
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 8
Binaricemos ahora la imagen con ruido gaussiano usando tanto el umbral dado por el
método de Otsu como el umbral arbitrario usado antes:
Botsur = A > umbralOtsu(Ar);
Bglobalr = Ar > 110;
Finalmente, mostremos las imágenes binarias resultantes de los dos métodos de binari-
zación, para el caso de la imagen sin ruido, y con ruido gaussiano:
figure, subplot(1,2,1), imshow(Botsu)
title('Imagen binarizada con umbral Otsu')
subplot(1,2,2), imshow(Botsur)
title('Imagen con ruido binarizada con umbral Otsu')
figure, subplot(1,2,1), imshow(Bglobal)
title('Imagen binarizada con umbral arbitrario')
subplot(1,2,2), imshow(Bglobalr)
title('Imagen con ruido binarizada con umbral arbitrario')
Figura 4: a) Imagen resultante de binarizar la original usando un umbral calculado con el método
de Otsu. b) Imagen resultante de binarizar la imagen con ruido gaussiano mediante Otsu.
Figura 5: a) Imagen resultante de binarizar la original usando un umbral arbitrario. b) Imagen
resultante de binarizar la imagen con ruido gaussiano usando el mismo umbral arbitrario.
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial Octubre de 2005
Segmentación por Umbralización – Método de Otsu 9
Como se puede ver en la figura 4, la imagen sin ruido binarizada con el umbral calcu-
lado mediante el método de Otsu es idéntica a la imagen con ruido gaussiano binarizada
usando el mismo método. Sin embargo, la imagen resultante de binarizar la imagen sin
ruido con el umbral arbitrario difiere en gran medida de la obtenida luego de binarizar la
imagen con ruido gaussiano con el mismo umbral arbitrario.
De esta manera, podemos comprobar la robustez o capacidad del método de Otsu para
encontrar un umbral óptimo con el que se pueda binarizar correctamente una imagen con-
taminada con ruido gaussiano. Dado que no se puede comprobar en este apunte la efi-
ciencia y rapidez del método para calcular el umbral óptimo, tendremos que confiar en el
gran uso que se hace de él en la industria a la hora de binarizar imágenes reales en tiem-
po real y que están inmersas en todo tipo de perturbaciones.
Si bien hemos verificado mediante un simple ejemplo las ventajas del método de Otsu
para hallar un umbral óptimo en una imagen con ruido gaussiano, se puede extender su
utilidad para aquellos casos en que la iluminación no es uniforme o es en general inade-
cuada.

Más contenido relacionado

La actualidad más candente

Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señalesdoc digitus
 
Transformada inversa Fourier
Transformada inversa FourierTransformada inversa Fourier
Transformada inversa Fouriernani1204
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABchrisleoflg
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresBertha Vega
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Julio Daniel Ruano
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flopsSENA-CIMI-GIRON
 
La integral de fourier
La integral de fourierLa integral de fourier
La integral de fourierJuan Sanango
 
Señales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABSeñales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABJose Agustin Estrada
 
Probabilidad de error en modulación digital
Probabilidad de error en modulación digitalProbabilidad de error en modulación digital
Probabilidad de error en modulación digitalFrancisco Apablaza
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Miguel Brunings
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audioRick P
 
Solucionario ecuaciones2
Solucionario ecuaciones2Solucionario ecuaciones2
Solucionario ecuaciones2ERICK CONDE
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraEdwin Rosario Gabriel
 
Sistemas de comunicaciones - Práctica 03
Sistemas de comunicaciones - Práctica 03Sistemas de comunicaciones - Práctica 03
Sistemas de comunicaciones - Práctica 03Cristian Ortiz Gómez
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 

La actualidad más candente (20)

Analisis de fourier para señales
Analisis de fourier para señalesAnalisis de fourier para señales
Analisis de fourier para señales
 
Transformada inversa Fourier
Transformada inversa FourierTransformada inversa Fourier
Transformada inversa Fourier
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLAB
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops
 
La integral de fourier
La integral de fourierLa integral de fourier
La integral de fourier
 
Series de fourier
Series de fourierSeries de fourier
Series de fourier
 
Señales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLABSeñales de tiempo continuo y discreto MATLAB
Señales de tiempo continuo y discreto MATLAB
 
52983063 series-de-fourier
52983063 series-de-fourier52983063 series-de-fourier
52983063 series-de-fourier
 
Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
 
Probabilidad de error en modulación digital
Probabilidad de error en modulación digitalProbabilidad de error en modulación digital
Probabilidad de error en modulación digital
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
Solucionario ecuaciones2
Solucionario ecuaciones2Solucionario ecuaciones2
Solucionario ecuaciones2
 
Manual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de alteraManual para usar la tarjeta del fpga cyclone iv de altera
Manual para usar la tarjeta del fpga cyclone iv de altera
 
Sistemas de comunicaciones - Práctica 03
Sistemas de comunicaciones - Práctica 03Sistemas de comunicaciones - Práctica 03
Sistemas de comunicaciones - Práctica 03
 
SERIES DE FOURIER
SERIES DE FOURIERSERIES DE FOURIER
SERIES DE FOURIER
 
147994600 transformada-de-fourier
147994600 transformada-de-fourier147994600 transformada-de-fourier
147994600 transformada-de-fourier
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 

Similar a Segmentación por umbralización método de otsu

Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfProceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfJuanIngaOrtega
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Velmuz Buzz
 
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813jcbp_peru
 
Práctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitesPráctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitescbpresentaciones
 
Límites, continuidades y derivadas en dimensiones superiores
Límites, continuidades y derivadas en dimensiones superioresLímites, continuidades y derivadas en dimensiones superiores
Límites, continuidades y derivadas en dimensiones superioresUNI - UCH - UCV - UNMSM - UNFV
 
Ecuaciones diferenciales parciales Parte 3
Ecuaciones diferenciales parciales Parte 3Ecuaciones diferenciales parciales Parte 3
Ecuaciones diferenciales parciales Parte 3Kike Prieto
 
Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2nica2009
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCMJoaquin Vicioso
 
Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4jcbenitezp
 
Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4jcbenitezp
 

Similar a Segmentación por umbralización método de otsu (20)

Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfProceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2
 
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813
Dialnet comparacion cualitativay-cuantitativadelastecnicasba-4322813
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Longitud de una curva
Longitud de una curvaLongitud de una curva
Longitud de una curva
 
Práctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitesPráctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limites
 
Límites, continuidades y derivadas en dimensiones superiores
Límites, continuidades y derivadas en dimensiones superioresLímites, continuidades y derivadas en dimensiones superiores
Límites, continuidades y derivadas en dimensiones superiores
 
Límites y continuidad en dimensiones superiores
Límites y continuidad en dimensiones superioresLímites y continuidad en dimensiones superiores
Límites y continuidad en dimensiones superiores
 
Ecuaciones diferenciales parciales Parte 3
Ecuaciones diferenciales parciales Parte 3Ecuaciones diferenciales parciales Parte 3
Ecuaciones diferenciales parciales Parte 3
 
Informe
InformeInforme
Informe
 
Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2Lecture 17 probabilidad de error para señales en awgn parte 2
Lecture 17 probabilidad de error para señales en awgn parte 2
 
SSLL-SE-2014-2S
SSLL-SE-2014-2SSSLL-SE-2014-2S
SSLL-SE-2014-2S
 
Problemas tema1 sy_c
Problemas tema1 sy_cProblemas tema1 sy_c
Problemas tema1 sy_c
 
Actividad N°2.Primera Parte.
Actividad N°2.Primera Parte.Actividad N°2.Primera Parte.
Actividad N°2.Primera Parte.
 
Semana 8x
Semana 8xSemana 8x
Semana 8x
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCM
 
Cadenas de Markov
Cadenas de MarkovCadenas de Markov
Cadenas de Markov
 
Raices deecuaciones
Raices deecuacionesRaices deecuaciones
Raices deecuaciones
 
Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4
 
Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4Pds 2011 2-balotario de preguntas pc4
Pds 2011 2-balotario de preguntas pc4
 

Más de Jorge Antonio Parra Serquen (12)

Procesamiento informacion
Procesamiento informacionProcesamiento informacion
Procesamiento informacion
 
Sis percep0
Sis percep0Sis percep0
Sis percep0
 
Image j advanced
Image j   advancedImage j   advanced
Image j advanced
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
 
Redesia2
Redesia2Redesia2
Redesia2
 
Dialnet preprocesamientodeimagenesaplicadasamamografiasdig-4829296
Dialnet preprocesamientodeimagenesaplicadasamamografiasdig-4829296Dialnet preprocesamientodeimagenesaplicadasamamografiasdig-4829296
Dialnet preprocesamientodeimagenesaplicadasamamografiasdig-4829296
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
 
Tema4
Tema4Tema4
Tema4
 
A02v6n2
A02v6n2A02v6n2
A02v6n2
 
Formato inventario 2011BBB
Formato inventario  2011BBBFormato inventario  2011BBB
Formato inventario 2011BBB
 
Servidor hpVVVV
Servidor hpVVVVServidor hpVVVV
Servidor hpVVVV
 
Linked data
Linked dataLinked data
Linked data
 

Segmentación por umbralización método de otsu

  • 1. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 1 Segmentación por Umbralización Método de Otsu Introducción La umbralización es una técnica de segmentación ampliamente utilizada en las aplica- ciones industriales. Se emplea cuando hay una clara diferencia entre los objetos a extraer respecto del fondo de la escena. Los principios que rigen son la similitud entre los píxeles pertenecientes a un objeto y sus diferencias respecto al resto. Por tanto, la escena debe caracterizarse por un fondo uniforme y por objetos parecidos. Al aplicar un umbral, T, la imagen en escala de grises, f(x,y), quedará binarizada; eti- quetando con ‘1’ los píxeles correspondientes al objeto y con ‘0’ aquellos que son del fon- do. Por ejemplo, si los objetos son claros respecto del fondo, se aplicará: En el caso de que los objetos sean oscuros respecto del fondo, la asignación sería a la inversa: El umbral puede depender de f(x,y), de alguna propiedad local del píxel, p(x,y), y hasta de su propia posición: Si el umbral sólo depende de f(x,y) se dice que es un umbral global; en el caso de que además dependa de p(x,y), por ejemplo, el valor medio de los píxeles vecinos, el umbral es denominado local; y si depende también de la posición (x,y) del píxel, se denominará dinámico. La mayoría de las técnicas de umbralización se basan en estadísticas sobre el histo- grama unidimensional (el que vimos hasta ahora) de una imagen. También se utiliza la matriz de co-ocurrencia de una imagen. Para localizar los umbrales se pueden usar pro- cedimientos paramétricos y no paramétricos. En los paramétricos, la distribución de los niveles de gris de una clase de objeto lleva a encontrar los umbrales. En los procedimien- tos no paramétricos, los umbrales se obtienen de forma óptima de acuerdo a algún crite- rio. En particular, el método de Otsu, que es el objetivo de este apunte, elige el umbral óp- timo maximizando la varianza entre clases (between-class variance) mediante una bús- queda exhaustiva. Si bien hay diferentes métodos para hallar un umbral, la mayoría de ellos no dan bue- nos resultados cuando se trabaja con imágenes del mundo real debido a la presencia de ruido, histogramas planos o una iluminación inadecuada. Por el contrario, el método de Otsu fue uno de los mejores métodos de selección de umbral para imágenes del mundo    ≤⇔ >⇔ = Tyxf Tyxf yxg ),(0 ),(1 ),(    ≥⇔ <⇔ = Tyxf Tyxf yxg ),(0 ),(1 ),( ),),,(),,(( yxyxpyxfTT =
  • 2. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 2 real. Sin embargo, como anticipamos, este método usa una búsqueda exhaustiva para e- valuar el criterio para maximizar la varianza entre clases. A medida que el número de cla- ses de una imagen aumenta, el método de Otsu necesita mucho más tiempo para selec- cionar un umbral multinivel adecuado. Para determinar el umbral de una imagen eficiente- mente, vamos a proponer una varianza entre clases modificada para el método de Otsu. Esta modificación del método disminuirá considerablemente el tiempo de cálculo. La importancia del método de Otsu radica en que es automático, es decir, no necesita supervisión humana ni información previa de la imagen antes de su procesamiento. Breve descripción del Método de Otsu para un umbral óptimo Una imagen es una función bidimensional de la intensidad del nivel de gris, y contiene N píxeles cuyos niveles de gris se encuentran entre 1 y L. El número de píxeles con nivel de gris i se denota como fi, y la probabilidad de ocurrencia del nivel de gris i en la imagen está dada por (1) En el caso de la umbralización en dos niveles de una imagen (a veces llamada binari- zación), los píxeles son divididos en dos clases: C1, con niveles de gris [1, ...., t]; y C2, con niveles de gris [t+1, ...., L]. Entonces, la distribución de probabilidad de los niveles de gris para las dos clases son: (2) (3) donde También, la media para la clase C1 y la clase C2 es Sea µT la intensidad media de toda la imagen. Es fácil demostrar que Usemos un ejemplo para tener bien claro lo visto hasta aquí. Supongamos un imagen de N=100 píxeles con cuatro niveles de gris comprendidos en [1,4] (1 el negro, 4 el blan- co) y supongamos también que el número de píxeles con nivel de gris 1 es 10; con nivel de gris 2, 20; con nivel de gris 3, 30; y con nivel de gris 4, 40; es decir, f1=10, f2=20, f3=30, y f4=40. Luego, p1=f1/N=0.1, p2= 0.2, p3= 0.3, y p4= 0.4. Entonces, para una umbralización en dos niveles de esta imagen tomemos t=2 de manera que la clase C1 consista en los to- nos de gris 1 y 2, y la clase C2 posea los tonos 3 y 4. De esta manera, ω1(t)=0.1+0.2=0.3 y N f p i i = )( ,...., )( 11 1 t p t p t ωω :1C )( ,...., )( , )( 22 2 2 1 t p t p t p Ltt ωωω ++ :2C ∑= = t i i t pi 1 1 1 )( . ω µ ∑+= = L ti ipt 1 2 )(ω∑= = t i ipt 1 1 )(ω ∑+= = L ti i t pi 1 2 2 )( . ω µ 121 =+ ωωTµµωµω =+ 2211 ..
  • 3. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 3 ω2(t)=0.3+0.4=0.7, y se comprueba que ω1(t)+ω2(t)=1. Por último, la media para la clase C1 y para la clase C2 estará dada por: y Sigamos con el método. Usando análisis discriminante, Otsu definió la variancia entre clases de una imagen umbralizada como (4) Para una umbralización de dos niveles, Otsu verificó que el umbral óptimo t* se elige de manera que σB 2 sea máxima; esto es (5) En el apéndice se incluye un algoritmo que calcula un umbral óptimo usando el método de Otsu para luego poder binarizar correctamente una imagen. El método puede de Otsu extenderse fácilmente a múltiples umbrales. Asumiendo que hay M-1 umbrales, {t1, t2, ..., tM-1}, los cuales dividen a la imagen en M clases: C1 para [1, ..., t1], C2 para [t1+1, ..., t2], ..., Ci para [ti-1+1, ..., ti], ..., y CM para [tM-1, ..., L], los umbrales óptimos {t1*, t2*, ..., tM-1*} se eligen maximizando σB 2 como sigue: (6) Donde, (7) Con ωk es conocido como momento acumulado de orden cero de la k-ésima clase Ck, y el numerador de la última expresión es conocido como momento acumulado de primer orden de la k-ésima clase Ck; esto es, 357,3*7,0667,1*3,0.. 2211 ≈+=+= µωµωµT 667,1 3,0 2,0*21,0*1 )( .2 1 1 1 ≈ + == ∑=i i t pi ω µ 57.3 7,0 4,0*43,0*3 )( .4 3 2 2 ≈ + == ∑=i i t pi ω µ 2 22 2 11 2 ).().( TTB µµωµµωσ −+−= )}({* 2 tMaxt B t σ= Lt ≤≤1 )},...,,({*}*,...,*,{ 121 2 ,...,, 121 121 −− − = MB ttt M tttMaxttt M σ Ltt M <<<≤ −11 ...1 2 1 2 ).( Tk M k kB µµωσ −= ∑= ∑∈ = kCi ik pω ∑∈ = kCi k i k pi ω µ . ∑∈ = kCi ipik .)(µ
  • 4. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 4 Formulación alternativa del método de Otsu Independientemente del número de clases que se consideren durante el proceso de umbralización, la suma de las funciones de probabilidad acumulada de las M clases son iguales a 1, y la media de la imagen es igual a la suma de las medias de las M clases ponderadas por sus correspondientes probabilidades acumuladas; esto es, (8) y (9) Usando las expresiones (7) y (8), la varianza entre clases en la ecuación (7) de la ima- gen umbralizada puede rescribirse de la siguiente forma (10) Debido a que el segundo término en la expresión (10) depende de la elección de los umbrales {t1, t2, ..., tM-1}, los umbrales óptimos {t1*, t2*, ..., tM-1*} pueden ser elegidos ma- ximizando una varianza entre clase modificada (σB’)2 , definida como la sumatoria de los términos del lado derecho de la expresión (10). En otras palabras, los valores de los um- brales óptimos {t1*, t2*, ..., tM-1*} se eligen por (11) Donde, (12) De acuerdo al criterio de la expresión (6) para σB 2 y al de la expresión (11) para (σB’)2 , para encontrar los umbrales óptimos, el campo de búsqueda para el máximo σB 2 y para el máximo (σB’)2 es 1 ≤ t1 < L-M+1, t1+1 ≤ t2 < L-M+2, ..., y tM-1+1 ≤ tM-1 < L-1, como se ilus- tra en la figura 1. Esta búsqueda exhaustiva involucra (L-M+1)M-1 combinaciones posibles. Además, comparando la expresión (12) con la (7), encontramos que la resta en la expre- sión (7) no es necesaria. Así, la expresión (12) es mejor que la expresión (7) ya que elimi- na M.(L-M+1)M-1 restas del cálculo de los umbrales. ∑= = M k k 1 1ω ∑= = M k kkT 1 .µωµ 22 1 121 2 .),...,,( Tk M k kMB ttt µµωσ −= ∑= − }},...,,{)'{(*}*,...,*,{ 121 2 ,...,, 121 121 −− − = MB ttt M tttMaxttt M σ Ltt M <<<≤ −11 ...1 2 1 2 .)'( k M k kB µωσ ∑= = t1 t2 tM-1 L-1 L-M+2 L-M+1 M-1 2 1 t1 t2 tM-1 L1 Figura 1: Campo de búsqueda para {t1, t2, ..., tM-1}.
  • 5. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 5 Referencias 1) Nobuyuki Otsu, “A threshold selection method from gray-level histogram”, IEEE Transactions on System Man Cybernetics, Vol. SMC-9, No. 1, 1979, pp. 62-66. 2) Ping-Sung Liao, Tse-Sheng Chen and Pau-Choo Chung, “A Fast Algorithm for Multilevel Thresholding”, Journal of Information Science and Engineering 17, 713-727 (2001). 3) Digital Image Processing Second Edition, Rafael C. Gonzalez – Richard E. Woods, capítulo 10.
  • 6. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 6 Apéndice A continuación se mostrará un función hecha en un script de MatLab que calcula el um- bral óptimo para binarizar una imagen utilizando el método de Otsu desarrollado anterior- mente. function umbralOptimo = umbralOtsu(Imagen) % % umbralOptimo = umbralOtsu(Imagen) % Esta funcion calcula el umbral optimo para binarizar una imagen mediante el % Metodo de Otsu. % % Universidad Nacional de Quilmes % Ingeniería en Automatización y Control Industrial % Cátedra: Visión Artificial - Octubre de 2005 Imagen = fix(double(Imagen)); [f,c]=size(Imagen); % Calculo de la distribucion de probabilidad de los niveles de gris P=zeros(1,256); for i=1:f*c P(Imagen(i)+1) = P(Imagen(i)+1) + 1; end P = P / (f*c); % Calculo del momento acumulado de orden cero y del de primer orden omega = zeros(1,256); omega(1) = P(1); mu = zeros(1,256); for i=2:256 omega(i) = omega(i-1) + P(i); mu(i) = mu(i-1) + (i-1)*P(i); end % Calculo del umbral optimo segun Otsu sigmaB2max = 0; sigmaB2 = 0; mut = mu(256); % Intensidad media total de la imagen umbralOptimo = 0; for t=1:256 omega1 = omega(t); omega2 = 1 - omega1; if omega1~=0 & omega2~=0 mu1 = mu(t) / omega1; mu2 = (mut-mu(t)) / omega2; sigmaB2 = omega1 * (mu1-mut)^2 + omega2 * (mu2 - mut)^2; if sigmaB2 > sigmaB2max sigmaB2max = sigmaB2; umbralOptimo = t-1; end end end
  • 7. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 7 Comparemos ahora los resultados de binarizar una imagen con el método de Otsu y con un umbral arbitrario. clear all, close all A=double(imread('rice.tif','tif')); Binaricemos la imagen original usando la función anterior, ‘umbralOtsu’: Botsu = A > umbralOtsu(A); Binaricemos otra vez la imagen pero usando un umbral global arbitrario, por ejemplo, 110: Bglobal = A > 110; Agreguemos a la imagen original ruido gaussiano de media 0 y varianza 20: r=20*randn(size(A)); Ar=fix(min(max(A+r,0),255)); Figura 2: Imagen original que se desea binarizar. Figura 3: Imagen con ruido gaussiano de media cero y varianza 20 que se desea binarizar.
  • 8. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 8 Binaricemos ahora la imagen con ruido gaussiano usando tanto el umbral dado por el método de Otsu como el umbral arbitrario usado antes: Botsur = A > umbralOtsu(Ar); Bglobalr = Ar > 110; Finalmente, mostremos las imágenes binarias resultantes de los dos métodos de binari- zación, para el caso de la imagen sin ruido, y con ruido gaussiano: figure, subplot(1,2,1), imshow(Botsu) title('Imagen binarizada con umbral Otsu') subplot(1,2,2), imshow(Botsur) title('Imagen con ruido binarizada con umbral Otsu') figure, subplot(1,2,1), imshow(Bglobal) title('Imagen binarizada con umbral arbitrario') subplot(1,2,2), imshow(Bglobalr) title('Imagen con ruido binarizada con umbral arbitrario') Figura 4: a) Imagen resultante de binarizar la original usando un umbral calculado con el método de Otsu. b) Imagen resultante de binarizar la imagen con ruido gaussiano mediante Otsu. Figura 5: a) Imagen resultante de binarizar la original usando un umbral arbitrario. b) Imagen resultante de binarizar la imagen con ruido gaussiano usando el mismo umbral arbitrario.
  • 9. Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Octubre de 2005 Segmentación por Umbralización – Método de Otsu 9 Como se puede ver en la figura 4, la imagen sin ruido binarizada con el umbral calcu- lado mediante el método de Otsu es idéntica a la imagen con ruido gaussiano binarizada usando el mismo método. Sin embargo, la imagen resultante de binarizar la imagen sin ruido con el umbral arbitrario difiere en gran medida de la obtenida luego de binarizar la imagen con ruido gaussiano con el mismo umbral arbitrario. De esta manera, podemos comprobar la robustez o capacidad del método de Otsu para encontrar un umbral óptimo con el que se pueda binarizar correctamente una imagen con- taminada con ruido gaussiano. Dado que no se puede comprobar en este apunte la efi- ciencia y rapidez del método para calcular el umbral óptimo, tendremos que confiar en el gran uso que se hace de él en la industria a la hora de binarizar imágenes reales en tiem- po real y que están inmersas en todo tipo de perturbaciones. Si bien hemos verificado mediante un simple ejemplo las ventajas del método de Otsu para hallar un umbral óptimo en una imagen con ruido gaussiano, se puede extender su utilidad para aquellos casos en que la iluminación no es uniforme o es en general inade- cuada.