&DStWXOR 7pFQLFDVGHXPEUDOL]DFLyQDXWRPiWLFD >$XWRPDWLFWKUHVKROGLQJPHWKRGV@ ./10'24357698:4;<;=?>92@/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/A A/CBED<3F698<6-G%HJI7G=?;<6-G8KL:1MNH5OQP1=SRCOT;=?>92UOV:<3F6MWIX3=?;OY/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/[Z 2.1 Media aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Máximos [ \ ]"^_ `"aJbc'de\(fgaJdfh^ikjhlkmn ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Selección iterativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 El método de Otsu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 Métodos basados en la entropía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 Conjuntos difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.7 Error mínimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Z/1oU=pHP1=?6%qh5OQrJs Ot/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/u.A "!# $%!'&#( *)+-, .0/%123'465%789-9-:<;2 En Visión Artificial se emplea una gran variedad de métodos de segmentación de imágenes. El objetivo de la umbralización es la conversión de una imagen con varios niveles de gris en una imagen monocroma (en blanco y negro) que contenga la información esencial relativa al número, posición, tamaño y forma de los objetos recogidos en la imagen. La forma más común de pasar de una imagen en niveles de gris a una imagen monocroma es seleccionar un umbral. Todos los pixels cuyos niveles de gris estén por debajo se clasificarán como si fuesen pixels negros (0) y los que estén por encima, blancos (1). Las técnicas utilizadas para seleccionar este umbral suelen ser de tipo estadístico y pueden aplicarse a otro tipo de problemas (como subdividir un conjunto dado de valores numéricos en dos intervalos). Todas las técnicas aquí descritas utilizan el histograma para seleccionar el valor del umbral. = > @BA#CDE"FHGJI@BKLCMKLE"KLCNKLEOLDM>HDQPMK"@-RFHEKLE ? S AK?EKA6TFU>UF(VDRICXWDRDNFU>UA#EYT(RDR"K'>-O'Z#G%W"Z#RYT(DG[FUKLC\TZ PMK>UZ#EPMFHEYTFHC\TZ#EG[]TZ#PMZ#EPMKA#G_^RDM>UF(VDMO'FU`#CQDMA6TZ#GJI\TFUOLD "!# $%!'&#( *)+-, .0/%1325476%86%9;:<9=?>@6%9;8ACBDE:F5GH?=JI%G>@=?KLEGB476%DE<%47=?>@G M5NPOQSR'T-UWV;VX7UY[Z]\7Y[UW^'V Una forma simple de seleccionar el umbral, aunque no muy buena, es calcular la media _ aritmética de los datos disponibles: `ba = () Esta selección del umbral equivale a fijar el porcentaje de muestras por debajo del umbral en un 50% aproximadamente. Aunque pueda parecer excesivamente arbitrario, en determinadas aplicaciones puede resultar útil. Por ejemplo, en Visión Artificial, este método es práctico cuando se conoce la proporción de píxeles que deben corresponder a un objeto contenido en una imagen (en general se fijará un determinado percentil como umbral). cedgfhikjWl(mikn'lWo#p;qkrjsit"lsdvuwxrypkrytqkrr(zryd%{"jW| }5~ lWjWl(mipqk|;jsi;dryqklsi;qkr'jklst ~ |w@hidvi "!# $%!'&#( *)+-, .0/ .21435687:9;<=?>@92ACB'DE-;F=HGCIJB';GC9K8LC68MCNO El uso del histograma es frecuente a la hora de seleccionar el umbral. Cuando éste es evidente, su valor corresponde al punto más bajo entre dos picos del histograma. Si el histograma tiene únicamente dos máximos locales, este método es bastante bueno. En primer lugar se localiza el máximo PRQ SUT del histograma (el primer pico). A continuación hemos de encontrar el segundo pico. No obstante, el segundo valor mayor del histograma no nos vale (puede que sea adyacente al máximo). Para encontrar un valor adecuado para el segundo pico podemos tener en cuenta la distancia al primero (le damos preferencia a picos que no se encuentren cerca del máximo): 2 max{( V W −X ) Z Y ( W )} El umbral que estábamos buscando será el valor correspondiente al mínimo del histograma que encontremos entre los picos S y [ . “Two peaks thresholding” "!# $%!'&#( *)+-, .0/ 132-46574'8'8'97:;<9=>4'?6@=>9(AB@<CDE97F-574'?6GIHJKLM Este método de selección del umbral consiste en estimar inicialmente el valor del umbral y después ir afinando la estimación realizada en sucesivas pasadas sobre los datos. Inicialmente, el umbral es simplemente la media aritmética de todos los valores disponibles. A continuación se calcula la media NPO de todos los valores por debajo de este umbral y la media NQ de los valores que quedan por encima. La nueva estimación del umbral será igual a la media de NPO y NQ : R>NPOSNQ T6UWV . El proceso se repite hasta que el umbral estimado no varíe. Empleando el histograma, la estimación k-ésima del umbral será: X ∑e ≤ ` = acb Y[Z\Y ⋅ () −1 Z\Y 2∑ () ≤ acb e −1 + d ∑e > b 2 ]^Z_] ⋅ ( ) −1 d ∑e > b Z_] ( ) −1 donde f0g es la estimación inicial del umbral y h es el histograma de los datos. Cuando lleguemos a una iteración en la cual f#ijf#ilkm habremos encontrado el umbral que buscábamos. npo'q7o'r'r's7t#uvsxwozy{Bws7|z{ "!# $%!'&#( *)+-, -/.0213547698;:<=:><=?@>8;ABDCFEGHIJ Este método supone que los datos correspondientes a una clase siguen una distribución normal. Realizando un análisis de varianzas, se puede encontrar un umbral óptimo en cierto sentido minimizando la razón σK2 σ L2 donde M N es la varianza total de los datos y OPN es la varianza “entre clases” (la varianza de las medias de cada clase respecto a la media global). La varianza global M N y la media total QSR de todos los datos son fáciles de calcular a partir de los datos de entrada. La varianza entre clases se puede calcular como T UVWQSTXQSUZYN , donde T es la probabilidad de que un dato quede por debajo del umbral t y U es [\ T . Así mismo: µ µ^ − µ_ bdceb µ0 = ] µ1 = µ` = a ⋅ ( ) ω0 1 − ω0 ≤` ∑ fhgWikjlm#nompnoqsrsl(tu "!# $%!'&#( *)+%, .0/132547698:;8<=;><>:;8<?'@BAC>D?'@E69F78G;HC> En Teoría de la Información, dados I posibles símbolos JK que ocurren con probabilidad LNM JK O , la entropía asociada a la fuente de información (en bits por símbolo) es: P QSR QSR = − ∑ ( T ) log 2 ( T ) T La entropía asociada a los datos cuyos valores quedan por debajo del umbral t es: U Y = − ∑ Z\[ VSW VXW ( Z ) log 2 ( Z ) ≤ Igualmente, la asociada a los datos que quedan por encima es: ] ` = − ∑ab ^S_ ^S_ ( a ) log2 ( a ) > El método de Pun (1981) consiste en encontrar el umbral t que maximiza la suma cDdefcDg . Esto es equivalente a maximizar la función h Mji O definida como sigue: o o log r log(1 − r ) kml n r n r l l ( )= + 1− pmq pmq n s log(max{ t | ≤ }) n s log(max{ t | > }) donde u y w = − ∑xw { = − ∑| v x ⋅ log x ≤ } = y v z z | ⋅ log | ∑\ ~ ≤ El método de Kapur (1985) es una variación del método de Pun en la cual se definen independientemente las distribuciones de probabilidad para cada clase. Se trata de minimizar la suma cDd Mji OefcDg Mji O , donde y ( )= − ( ) = − ≤ log 2 ∑ 1 − "!# ∑ > log 2 1− $%!'&#( *)+-, Finalmente, el método de Johannsen (1982) propone seleccionar el umbral de tal forma que se minimice la interdependencia entre las clases. Se persigue la minimización de ./1032 4657.89032 4 : : ; > ( ) = log ∑ ?@ < ≤ ? + 1 < < ? = ( @ )+ = ∑ ? ?< @ 1 C C D ( G ) + D ∑ F FH> G F ∑?@ < ≤ A B E ( ) = log ∑F ≥ G H C F + ∑FG ≥ C donde I*0(JK4 es la función de entropía I*0(JK4MLNOJPRQST0(JK4 . U Q#VWYX2Q#Z[Q#VZ[\"]"^#_`0 a#bRPdceV^f"\9gbRQ#g4hicjf"^#gk0 a#bRPdclbd_62\9gWY\9Z[bdc4nmeo#Q#pc__V\9_`0 a#bRPdclbd_qa#\9gbRQ#g4 "!# $%!'&#( *)+-, -/.021435#68795,:;3<=9>?@79<3< En teoría de conjuntos clásica, un elemento pertenece o no pertenece a un conjunto. En teoría de conjuntos difusos, un elemento A pertenece a un conjunto S con un grado de pertenencia BC . Al seleccionar un umbral D , la media de los datos correspondientes a cada clase es EGF y EGH . La función de pertenencia a cada clase viene definida por: 1 J | − µ0 | 1+ J J I J max − min O ( )= 1 J 1 + | − µ1 | J J max − min K/LMJ ≤N K/LMJ >N Una forma de seleccionar el valor del umbral se basa en la entropía de un conjunto difuso, que se calcula usando la función de Shannon: P Q Q Q Q Q R ( ) = − log − (1 − ) log(1 − ) El umbral adecuado será aquel que minimice la entropía de los datos: SUT ( )= V1 ∑] W X YZX [ ( µ \ ( )) ⋅ ( ) Otro método, ideado por Yager (1979), consiste en minimizar la función: ^ _ 2 ` ∑b | µa ( ) − µa ( )= donde "!# d ` ( )|2 d µc ( ) = 1 − µc ( ) $%!'&#( *)+,) /10'230'4'4'536#79810'2;:#<>=?@12;:BA53235(C@781D92E@F0G7HA(?DIKJ(@9810:#7F4'D#7ML:#7HAD>815 N#:#OD P <>=?@1235(C@14'536#7F:BA53235(C@781D92E@%N#:#714'536#7QI?DI":0GORA(@QI"D#?TS#@UV0G? "!# $%!'&#( *)+-,. .0/132546467458:9<;-=<8:7 El histograma de los datos puede considerarse como una combinación de dos distribuciones de probabilidad (las dos clases >?A@CBDFE G y HIE(D?KJLG ). Estas distribuciones suelen considerarse distribuciones normales, por lo que el histograma es una aproximación de Q Q ( − µ1 ) 2 ( − µ2 )2 − − 2 1 1 MON P P 2σ 1 2σ 22 ( )= RTS H<@ UWV + σ 1 2π σ 2 2π REl X error mínimo se alcanza cuando seleccionamos como umbral el valor para el cual H<@ U . Tomando logaritmos en ambos lados de la ecuación podemos obtener Y Z Y Z 2 2 ( − µ1 ) + log σ 1 − 2 log σ 12 1 = ( − µ2 ) + log σ 2 − 2 log σ 22 2 R Los valores de [ , y son desconocidos y su estimación es difícil. Kittler e Illingworth (1986) propusieron la minimización de la siguiente función para obtener el valor del umbral: 1 + 2( 1 ( ) log σ 1 ( ) + \^] ] − 2( 1 ( ) log \^] _a` n µ1 ( ) = { σ 12 ( ) = ≤ () ⋅ () r { { 1 ( ) ] ] 2 ( ) log g 2 (h ) = u µ2 ( ) = n () ( )( − µ1 ( )) |k}~} \ ] 2 oqpko 1 ∑ 5 bdc ≤ ∑s5t ≤ 1( ) + ∑e5f 1( ) = en la cual \^] ( ) log σ 2 ( ) ) \ 2 ( )) \ ] ∑l5m ik(j ) > ∑yz > vqwdv ⋅ () x u 2 2 σ 22 ( ) = ∑5 > () ( )( − µ2 ( ) ) d 2 2 () <('<#C"CKWW 0¡<<(¢'£A¤¡¢#¢¥¦(CA¢¢# "!# $%!'&#( *)+-,, /10%2436576368%91:<;=>6; ?*@(AB@C"D#EFG@IH@KJL#MNOBPIQRNTSUH@(AB@IJ@VWQ'Q X FGL<YZ<[\I]_^B@KHL#M`[(aLPbEcdQ[Q']']'\IZ#MEWe<\bf\IZ#MdQ"gM`[Q'PI\ hiQ_MB]'\b^Gj kl]JTa^m"npod\IPIPbErqssKt En este libro, clásico en Robótica, se describen algunos algoritmos utilizados en Visión Artificial. Entre ellos se encuentra un algoritmo típico de umbralización automática que, suponiendo distribuciones normales de probabilidad, minimiza el error medio. El algoritmo descrito en este libro es similar (aunque no exactamente igual) al expuesto en la sección 1.7. u^vwQ_fFG@x^ayQ_a X{z P hiL#a\|[(}v~f#L#agv~^hiQ"xaL]'Q_ff\bMh^MHL#v%"D<[Q_awe<\bf\IL#MGj A zw u#L#}M\IPIQSABL#MfErqss% Un libro bastante bueno que recoge muchas de las técnicas utilizadas en Visión Artificial. Su tercer capítulo está dedicado a algoritmos de segmentación de imágenes (algunos de los cuales se han adaptado aquí para seleccionar un umbral que permita dividir los valores de un atributo numérico en dos intervalos). "!# $%!'&#( *)+-,'.