cap9

12
&DStWXOR 7pFQLFDVGHXPEUDOL]DFLyQDXWRPiWLFD >$XWRPDWLFWKUHVKROGLQJPHWKRGV@ 2.1 Media aritmética ................................................ 3 2.2 Máximos [ ] ................................... 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

Transcript of cap9

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

&DStWXOR��

7pFQLFDV�GH�XPEUDOL]DFLyQ�DXWRPiWLFD

>$XWRPDWLF�WKUHVKROGLQJ�PHWKRGV@

.�/10'243�57698�: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-G�8�KL:1MNH�5�OQP1=SRCOT;�=?>92UOV:<3F6�MWIX3�=?;�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 [ \ ]"^�_ `"aJb�c'de\(f�g�aJd�fh^�ikjhlkm�n ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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=pH�P1=?6%qh5�OQrJs 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/%1�2�3'465%7�8�9-9-:<;�2

En Visión Artificial se emplea una gran variedad de métodos de segmentación deimágenes. El objetivo de la umbralización es la conversión de una imagen con varios niveles degris en una imagen monocroma (en blanco y negro) que contenga la información esencial relativaal 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 monocromaes seleccionar un umbral. Todos los pixels cuyos niveles de gris estén por debajo se clasificaráncomo 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 puedenaplicarse a otro tipo de problemas (como subdividir un conjunto dado de valores numéricos endos intervalos). Todas las técnicas aquí descritas utilizan el histograma para seleccionar el valordel umbral.

=?> @BA#C�D�E"FHGJI�@BKLCMKLE"KLCNKLE�OLDM>HDQPMK"@-R�FHE�KLES A�K?E�K�A6TFU>UF(V�D�R�I�CXW�D�R�DNFU>UA#EYT(R�D�R"K'>-O'Z#G%W"Z#RYT(D�G[FUKLC\TZ

PMK�>UZ#E�PMFHEYTFHC\TZ#E�G[]�TZ#PMZ#E�PMK�A#G_^�R�DM>UF(V�DMO'FU`#CQDMA6TZ#GJI\TFUOLD

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

.0/%1325476%8�6%9;:�<�9�=?>@6%9;8�ACB�DE:�F5G�H?=JI%G�>@=?K�LEG�B�476%DE<%47=?>@G

M5NPO�QSR'T-UWV;V�X7UY[Z]\7Y[UW^'V

Una forma simple de seleccionar el umbral, aunque no muy buena, es calcular la mediaaritmética de los datos disponibles: _

`ba= ( )

Esta selección del umbral equivale a fijar el porcentaje de muestras por debajo del umbralen un 50% aproximadamente. Aunque pueda parecer excesivamente arbitrario, en determinadasaplicaciones puede resultar útil. Por ejemplo, en Visión Artificial, este método es práctico cuandose 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).

cedgf�h�ikjWl(m�ikn'lWo#p;qkr�jsi�t"lsdvu�wxrypkryt�qkr�r(z�ryd%{"jW|}5~ lWjWl(m�i�p�qk|;jsi;d�ryqklsi;qkr'j��klst ~ |�w@h�i�dvi

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

.0/ .2143�5�687:9�;�<=?>@92ACB'D�E-;F=HGCIJB';�GC9�K8LC68MCN�OEl 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 histogramatiene ú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ónhemos de encontrar el segundo pico. No obstante, el segundo valor mayor del histograma no nosvale (puede que sea adyacente al máximo). Para encontrar un valor adecuado para el segundo picopodemos tener en cuenta la distancia al primero (le damos preferencia a picos que no seencuentren cerca del máximo):

max{( ) ( )}V W X YZW− 2

El umbral que estábamos buscando será el valor correspondiente al mínimo del histogramaque encontremos entre los picos S y [ .

“Two peaks thresholding”

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

.0/ 132-46574'8'8'97:�;<9=>4'?6@�=>9(AB@<CDE97F-574'?6GIH�J�K�L�M

Este método de selección del umbral consiste en estimar inicialmente el valor del umbraly 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 valoresdisponibles. A continuación se calcula la media NPO de todos los valores por debajo de este umbraly la media N�Q de los valores que quedan por encima. La nueva estimación del umbral será iguala la media de NPO y N�Q : R>NPO�S�N�Q T6UWV . El proceso se repite hasta que el umbral estimado no varíe.

Empleando el histograma, la estimación k-ésima del umbral será:

XY[Z\Y

Z\Y

]^Z_]

Z_]` acb

acb

d bd b

e

e

e

e=

⋅+

⋅≤

>

>

∑∑

∑∑

( )

( )

( )

( )1

1

1

1

2 2

donde f0g es la estimación inicial del umbral y h es el histograma de los datos. Cuando lleguemosa una iteración en la cual f#i�j�f#ilk�m habremos encontrado el umbral que buscábamos.

npo'q7o'r'r's7t#uvsxwozy�{Bws7|z{

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+%,

-/.021�3547698;:�<=:><=?�@>8;A�BDCFE�G�H�I�J

Este método supone que los datos correspondientes a una clase siguen una distribuciónnormal. Realizando un análisis de varianzas, se puede encontrar un umbral óptimo en ciertosentido minimizando la razón

σσ

KL2

2

donde M N es la varianza total de los datos y OPN es la varianza “entre clases” (la varianza de lasmedias 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 partirde los datos de entrada. La varianza entre clases se puede calcular como T U�VWQSTXQSUZY�N , donde

T es la probabilidad de que un dato quede por debajo del umbral t y U es [�\ T . Así mismo:

µµω0

0

= ] µµ µ

ω101

=−

−^ _

µ ` a `bdceb= ⋅

≤∑ ( )

fhgWikj�lm#nompnoqsrsl(t�u

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

.0/132547698�:;8�<�=;>�<�>�:;8�<�?'@BAC>D?'@E69F78�G;HC>En Teoría de la Información, dados I posibles símbolos J�K que ocurren con probabilidadLNM J�K O , la entropía asociada a la fuente de información (en bits por símbolo) es:

P QSR QSRT TT= − ∑ ( ) log ( )2

La entropía asociada a los datos cuyos valores quedan por debajo del umbral t es:

U VSW VXWY Z ZZ\[= −≤

∑ ( ) log ( )2

Igualmente, la asociada a los datos que quedan por encima es:

] ^S_ ^S_` a aa�b= −>

∑ ( ) log ( )2

El método de Pun (1981) consiste en encontrar el umbral t que maximiza la suma cDd�efcDg .Esto es equivalente a maximizar la función h Mji O definida como sigue:

kml nn

opmq l n

no

pmq lrs

rt

rs

rt( )

log

log(max{ | })

log( )

log(max{ | })=

≤+ −

−>

11

donde

u v vw x xx�w= − ⋅≤

∑ log

y z z{ | ||= − ⋅∑ log

y } ~� ��\�=≤

El método de Kapur (1985) es una variación del método de Pun en la cual se definenindependientemente las distribuciones de probabilidad para cada clase. Se trata de minimizar lasuma cDd Mji O�efcDg Mji O , donde

� � � � � �� �� ��� �( ) log= −≤

∑ 2

y � ��

��

�� ��� ����

�( ) log= −− −>

∑1 12

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,

Finalmente, el método de Johannsen (1982) propone seleccionar el umbral de tal formaque se minimice la interdependencia entre las clases. Se persigue la minimización de .�/1032 4657.�89032 4 :

: ; < < = < = <> ??�@ ??�@@ ??�@( ) log ( )=

+ +

≤≤

<∑ ∑ ∑1

A B C C D C D CE FFHG FF�GG FFHG( ) log ( )=

+ +

≥≥

>∑ ∑ ∑1

donde I*0(JK4 es la función de entropía I*0(JK4ML�NOJ�PRQ�ST0(JK4 .

U Q#V�WYX�2Q#Z[Q#V�Z[\"]"^#_`0 a#bRPdceV�^�f"\9g�bRQ#g4�h�i�cjf"^#gk0 a#bRPdclbd_62\9g�WY\9Z[bdc�4nmeo#Q#p�c�_�_�V�\9_`0 a#bRPdclbd_qa#\9g�bRQ#g4

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+,)

-/.02143�5#68795,:;3�<�=9>?@79<�3�<

En teoría de conjuntos clásica, un elemento pertenece o no pertenece a un conjunto. Enteoría de conjuntos difusos, un elemento A pertenece a un conjunto S con un grado de pertenenciaB�C .

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:

I JJ

J JK/LMJ N

JJ J

K/LMJ NO ( )

| |

| |

max min

max min

=+

−−

+−−

>

1

1

1

1

0

1

µ

µ

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 QR ( ) log ( ) log( )= − − − −1 1

El umbral adecuado será aquel que minimice la entropía de los datos:

SUT V W X YZX[ \]( ) ( ( )) ( )= ⋅∑1µ

Otro método, ideado por Yager (1979), consiste en minimizar la función:

^ _ ` `a ab22( ) | ( ) ( )|= −∑ µ µ

dondeµ µc cd d

( ) ( )= −1

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,�.

/10'230'4'4'536#79810'2;:#<>=�?�@12;:BA53235(C�@�7�81D92E@F0G7HA(?�D�IKJ(@9810�:#7F4'D#7ML�:#7HAD>815 N#:#O�D

P <>=�?�@1235(C�@14'536#7F:BA53235(C�@�7�81D92E@%N#:#714'536#7QI�?�D�I":�0GORA(@QI"D#?TS#@�UV0G?

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,�,

.0/132546467�458:9<;-=<8:7El histograma de los datos puede considerarse como una combinación de dos

distribuciones de probabilidad (las dos clases >�?A@CB�DFE G y HIE(D?KJ�L�G ). Estas distribuciones suelenconsiderarse distribuciones normales, por lo que el histograma es una aproximación de

MON P PQ Q

( )( ) ( )

= +−

−−

−1

2

1

21

2

2

21

2

12

22

22

σ π σ π

µσ

µσ

El error mínimo se alcanza cuando seleccionamos como umbral el valor para el cualRTS H<@ UWV R�X H<@ U . Tomando logaritmos en ambos lados de la ecuación podemos obtener

( )log log

( )log log

Y Z Y Z−+ − =

−+ −

µσ

σµ

σσ1

2

12 1 1

22

22 2 22 2

Los valores de [ , y R

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

2

1 1 2 2

1 1 2 2

+ +

− +

\^] ] \ ] ]\^] \^] \ ] \ ]

( ) log ( ) ( ) log ( )

( ) log ( ) ( ) log ( )

σ σ

en la cual _a` bdc

e5f1( ) ( )=≤

∑ g h ikjl5m2 ( ) ( )=>

µ11

( )( )

( )n

oqpkor ns5t

=⋅

≤∑

µ22

( )( )

( )u

vqwdvx uy�z

=⋅

>∑

( )σ

µ12

1

2

1

( )( ) ( )

( ){

|k}~} {� {�5�

=−

≤∑ ( )

σµ

22

2

2

2

( )( ) ( )

( )�

�d��� �� ��5�

=−

>∑

�����������<�(�����'�<�#�������C���"�C�K���W�����������W����������� �0¡�<�<�(��������¢��'�£�A¤�¡¢#��¢����¥��¦(���C�A¢�������¢#�

�������������� �������������� �������������� ���"!#� ��� $%!'&#�(��*)�+-,'.

/10%24365�76368%91:<;�=�>6;

?*@(AB@�C"D#E�FG@IH�@KJ�L#M�N�OBPIQRNTSUH�@(AB@IJ�@�VWQ'QX FGL<Y�Z<[\I]_^B@KH�L#M`[(a�L�PbE�cdQ�[Q']']'\IZ#M�EWe<\bf�\IZ#MdQ"g�M`[Q'PI\ hiQ_MB]'\b^Gj

kl]�JTa�^�m"npod\IPIPbErq�s�sKt

En este libro, clásico en Robótica, se describen algunos algoritmos utilizados en Visión Artificial. Entreellos se encuentra un algoritmo típico de umbralización automática que, suponiendo distribuciones normales deprobabilidad, 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_f�FG@�x�^�a�y�Q_aX{z P hiL#a�\|[(}�v~f��#L#a�g�v~^�hiQ"x�a�L�]'Q_f�f�\bM�h�^�M���H�L#v%�"D<[Q_awe<\bf�\IL#MGj��A zw� u#L#}�M���\IPIQ���S�ABL#M�f�Erq�s�s%�

Un libro bastante bueno que recoge muchas de las técnicas utilizadas en Visión Artificial. Su tercercapítulo está dedicado a algoritmos de segmentación de imágenes (algunos de los cuales se han adaptado aquí paraseleccionar un umbral que permita dividir los valores de un atributo numérico en dos intervalos).