Reporte de B´ usqueda, detecci´ on y conteo de objetos

Alonso Ram´ırez-Manzanares
Centro de Investigaci´ on en Matem´ aticas A.C.,
Apdo. Postal 402, Guanajuato, Gto., 36000, Mexico
alram@cimat.mx
1 Introducci´ on
Uno de los principales objetivos de la visi´on por computadora es poder diferenciar los objetos presentes en
una imagen (en este caso, en una imagen digital), de tal manera, que esto logre que la identificaci´on de los
mismos (un proceso posterior) sea una tarea mas f´acil de realizar. Cuando nos enfocamos en el problema de
diferenciar los objetos en cualquier imagen (como es hecho por los seres humanos), una importante pregunta
abierta aparece: ¿ Qu´e informaci´on es, tanto suficiente como necesaria, para poder llevar a cabo esta tarea?.
Es muy dif´ıcil poder expresar este conocimiento o informaci´on de una manera algor´ıtmica, por lo que esta
respuesta es contestada solamente para algunos casos particulares y no en general.
Dentro de la Visi´on Computacional, podemos encontrar el procesamiento de im´agenes, y dentro de este,
una parte muy importante se encarga del an´alisis de las mismas. Esto es, dada una imagen, lo que deseamos
obtener es una descripci´on de dicha imagen. Los siguientes son ejemplos de problemas de an´alisis de im´agenes:
1. Dado un texto, reconocer las palabras.
2. Dada una imagen a´erea de un terreno, clasificar los distintos tipos de suelos (urbano, bosque, lagos,
carreteras, etc.)
3. Dada una imagen de un conjunto de c´elulas, clasificar las c´elulas por tama˜ no, forma, etc.
4. Dada una imagen m´edica, detectar tumores, roturas de huesos, etc.
Es decir, dada una imagen, el an´alisis se encarga de entregar informaci´on de ella. Por lo que en todos
estos ejemplos, el an´alisis depende primeramente de detectar determinadas partes de la imagen (regiones
u objetos). Para generar tal descripci´on es necesario segmentar (o separar) adecuadamente e identificar la
regi´on deseada.
EL objetivo de este reporte es i) mostrar la consideraciones y problemas que se encuentran en las tareas
de distinguir en una imagen digital los objetos de inter´es de todo lo dem´as, y ii) ejemplificar algunas de las
estrategias o m´etodos que se han utilizado. Este segundo objetivo es ´ unicamente descriptivo y de ninguna
manera trata de mostrar la totalidad de los m´etodos, ya que simplemente, la enumeraci´on de ellos, es una
tarea sumamente dif´ıcil, debido a la inmensa literatura existente sobre el tema. Por el contrario, se trata
de ejemplificar algunos de los m´etodos mas famosos dependiendo del tipo de imagen y los problemas que
conlleva el poder separar los objetos en la misma.
1
Este trabajo se estructura como a continuaci´on se explica: La secci´on 2 define como se ha defindo el objeto
y el fondo en una imagen, la secci´on 3 explica los principales problemas que se encuentran en este tipo de
tareas, la secci´on 4 ejemplifica algunos de los m´etodos comunmente utlizados en este tipo de tareas, la secci´on
5 se centra en el tratamiento de las im´agenes, una vez que se ha establecido cu´ales p´ıxeles corresponden al
fondo y cu´ales al objeto. Experimentos con varios de los m´etodos explicados son mostrados en la secci´on 6
y finalmente las conclusiones son presentadas en la seccion 7.
2 Objetos y Fondo
El separar la imagen en unidades significativas es un paso importante en visi´on computacional para llegar al
reconocimiento de objetos. Este proceso se conoce como segmentaci´on. Una forma de segmentar la imagen
es mediante la determinaci´on de los bordes. El dual de este problema, es determinar las regiones; es decir,
las partes o segmentos que se puedan considerar como unidades significativas. Esto ayuda a obtener una
versi´on m´as compacta de la informaci´on de bajo nivel, ya que, en vez de miles o millones de pixels, se puede
llegar a decenas de regiones, y de ahi reconocer los objetos. Las carater´ısticas m´as com´ unes para delimitar
o segmentar regiones son: intensidad de los p´ıxeles, textura, color y gradiente. Una suposici´on importante,
que normalmente se asume en visi´on de nivel intermedio, es considerar que p´ıxeles de un mismo objeto
comparten propiedades similares. Por ejemplo, al procesar una imagen de una manzana, suponemos que el
color de sus p´ıxeles es aproximadamente homog´eneo. En la vida real esto no es totalmente cierto, el color
de los p´ıxeles var´ıa. Para evitar este tipo de variaciones es mejor considerar un color “aproximadamente”
similar sobre una regi´on mas que a nivel pixel. Esto no es un problema sencillo, ya que es dif´ıcil distinguir
las variaciones propias del objeto o por cambios de iluminaci´on (por ejemplo, cuando hay sombras en los
objetos), de las diferencias por tratarse de otro objeto.
En el an´alisis de los objetos en im´agenes es esencial que podamos distinguir entre los objetos del inter´es y
“el resto”, normalmente se hace referencia a este ´ ultimo grupo como el fondo. Las t´ecnicas que se utilizan para
encontrar los objetos de inter´es se refieren generalmente como t´ecnicas de segmentaci´on (segmentar el primer
plano del fondo). El resultado de esta segmentaci´on da como resultado una imagen binaria. Normalmente
se utiliza la convenci´on de que se le asigan el valor 1 a los p´ıxeles que corresponden a objetos y el valor de
0 a los p´ıxeles que corresponden al fondo. Como resultado de dicha segmentaci´on, la imagen es partida en
regiones y se conocen los bordes entre las regiones.
3 Los problemas en la Segmentaci´ on de los Objetos y del fondo
Existen diversos m´etodos para la segmentaci´on reportados tanto en la literatura cl´asica como en desarrollos
recientes. Un hecho es que no existe un solo m´etodo que pueda ser aplicado para todos los casos. Dependiendo
del problema, es decir, de las caracter´ısticas de los objetos y del fondo, ser´a necesario aplicar diferentes
m´etodos. A continuaci´on se explican los casos mas comunes que se encuentran en este tipo de aplicaciones.
3.1 El caso mas simple, objetos y fondo con intensidades de gris homog´eneas
Este caso es el mas sencillo y por lo tanto las t´ecnicas de soluci´on son las mas simples e intuitivas. En
este tipo de im´agenes tanto los objetos como el fondo tienen valores de gris homog´eneos y la diferencia
entre los valores asociados a cada clase es distinguible. Este tipo de im´agenes son raras en la mayor´ıa de
2
las aplicaciones. Se podr´ıa decir que este tipo de im´agenes solo se presentan en casos sint´eticos y cuando
en el proceso de captura el ambiente de iluminaci´on y el proceso de formaci´on de la imagen son altamente
controlados, dando como resultado un alto contraste entre el objeto y el fondo. Restricciones que no son
f´aciles de satisfacer en general. La figura 1a muestra un ejemplo de este tipo de im´agenes.
3.2 El problema de Shading o variaci´ on suave del fondo
A´ un dentro del caso en el cual tanto los objetos y el fondo son capturados con intensidades de gris homog´eneas,
se tiene el problema de que la iluminaci´on no sea homog´enea, lo cual conlleva el problema de diferentes
intensidades de gris corresponden al mismo objeto. Un ejemplo puede este problema se puede ver en la
figura 1b. En este caso no es posible utilizar solamente la informaci´on de la intensidad del objeto y se
requiere utilizar otras fuentes de informaci´on, como por ejemplos los bordes de la imagen. Por otro lado la
presencia de ruido en el proceso de captura hace que las intensidades cambi´en y las zonas homog´eneas dejan
de serlo.
3.3 Objetos y/o fondo con textura
El caso quiz´a mas complicado es aquel en el cual los objetos y/o el fondo no tienen como caracter´ıstica
espacial que las intensidades son homog´eneas y por el contrario su caracter´ıstica es una textura visual. Para
entender este concepto, podemos revisar la definici´on dada por Tamra, Mori y Yamawaky, 1978: ”Una regi´on
de una imagen tiene una textura constante si el conjunto de estad´ısticas locales u otras propiedades locales
son constantes, var´ıan lentamente o son aproximadamente peri´odicas”. Cabe aclarar, que esta no es la ´ unica
definici´on de textura y m´as grave a´ un, no existe una definici´on con la que todos los expertos coincidan o que
se pueda aplicar a todos los casos. La figura 1c muestra un ejemplo de este tipo de im´agenes. En este caso
no es posible clasificar cada pixel de manera independiente, ya que la textura est´a difinida por regiones de
p´ıxeles y no por p´ıxeles individuales. En la pr´actica siempre es mucha ayuda saber cuantos tipos de textura
pueden existir en la imagen, si por ejemplo, todos los objetos tienen la misma textura y grupos de objetos
tienen texturas diferentes. Normalmente es necesario formar un vector de razgos o caracter´ısticas para cada
pixel r y se pueden obtener caracter´ısticas de acuerdo al comportamiento del entorno o vecindad de dicho
punto. Juzlesz 1973, ha estudiado y definido:
1. Estad´ısticas de primero Orden. Mide la verosimilitud de observar un nivel de gris en una posici´on
escogida aleatoriamente en la imagen. No tiene dependencia de la interacci´on entre p´ıxeles
2. Estad´ısticas de segundo Orden. Est´an definidas como la verosimilitud de observar un par de valores
de gris en los extremos de un dipolo (en este contexto, un dipolo se refiere una estructura de l´ınea que
tiene un distancia y una orientaci´on y donde cada uno de sus extremos esta colocado en un pixel de la
imagen) en el que tanto el tama˜ no, la orientaci´on y la posici´on son seleccionados de manera aleatoria.
En este caso, dado que el concepto de textura se aplica a regiones, es necesario utilizar la informaci´on del
entorno, es decir, se aplican m´etodos que utilizan las estad´ısticas de segundo orden. Es necesario entonces
obtener rasgos de los p´ıxeles de la imagen, rasgos que sean los mismos para regiones que tienen la misma
textura. La adquisici´on de este tipo de rasgos se´a un de los temas de las siguientes secciones.
3
a) b) c)
Figure 1: Diferentes tipo de im´agenes que conllevan diversos problemas en la detecci´on de los objetos.
En general, podemos concluir que la separaci´on de objetos en una imagen se basa en la detecci´on de
fronteras entre partes de dicha imagen, donde la cada parte esta definida por diferentes propiedades, las
cuales como se vi´o anteriormente pueden ser: intensidad de valor de gris o textura.
4 M´etodos de clasificaci´ on Objeto-Fondo
En las siguientes subsecciones se muestran varios met´odos que se utilizan para poder clasificar si un pixel
es del tipo objeto o del tipo fondo. Es importante decir que el n´ umero de m´etodos que se pueden encontrar
hoy en d´ıa en la literatura es exesivamente extenso como para intentar cubrirlos todos. El objetivo de
este trabajo es ejemplificar algunos de los m´etodos utilizados comunmente. En las siguientes secciones se
muestran algunos de dichos m´etodos.
4.1 Segmentaci´ on basada en p´ıxeles, umbralizado
Este es el m´etodo de segmentaci´on que conceptualmente es el mas simple. En este metodolog´ıa, la clasificaci´on
se hace pixel a pixel y sin tomar en cuenta las interacciones espaciales de los mismos.
Los procedimientos b´asicos de este tipo de segmentaci´on son el umbralizado (Thresholding) y el umbral-
izado basado en el histograma (Histogramming).
El m´etodo de umbralizado se aplica a im´agenes en las cuales tanto los objetos como el fondo tienen
valores homog´eneos de gris como los mostrados en la figura 1a. El usuario escoje un valor de intensidad
dentro del rango din´amico de la imagen llamado umbral, luego, los p´ıxeles con un valor mayor a este umbral
son considerados de una clase (objeto o fondo), mientras que todos los demas p´ıxeles son considerados de la
otra clase. Esto es, dado un umbral θ, (si los objetos son mas claros que el fondo) los p´ıxeles que conforman
a los objetos son definidos como:
¦< x, y >¦ : I
x,y
> θ (1)
Si el valor del umbral es determinado tomando en cuenta la informaci´on del histograma, el m´etodo se
conoce como umbralizado basado en el histograma (Histogramming). En este caso el valor del umbral se
escoje, tal que este valor divide las dos modas de la distribuci´on del histograma. Los resultados de utilizar
esta t´ecnica sobre la figura 1a utilizando el histograma asociado Figura 2a, se pueden apreciar en la figura
2b. Aunque claro est´a que esta situaci´on ideal rara vez ocurre. Un claro problema es que por lo general
4
a) b)
Figure 2: El proceso de histogramming.
existe una gran cantidad de p´ıxeles que tienen valores de gris intermedios entre la media de la intensidad de
los objetos y la media de la intensidad del fondo (por ejemplo en los bordes). Por lo tanto, la selecci´on de
este umbral afecta el tamao de los objetos clasificados en la imagen. Un conocimiento a priori sobre el tipo
de frontera (por ejemplo si el borde es sim´etrico) entre el objeto y el fondo puede ayudar a determinar el
umbral correcto, lo cual, por supuesto en muchas aplicaciones no es posible conocer de antemano.
En implementaciones mas sofisticadas, varios umbrales puedes ser especificados si existen varias bandas
de informaci´on, como en el caso de im´agenes multi-espectrales o las bien conocidas im´agenes a color RGB.
4.1.1 Correcci´on del problema de Shading
No obstante que por lo general, los m´etodos de segmentaci´on basada en p´ıxeles se usan en casos cuando la
iluminaci´on es homog´enea, a´ un cuando esta restricci´on no se cumple, es posible utilizar este tipo de t´ecnicas
y obtener resultados aceptables, siempre y cuando se haga un pre–procesamiento que corrija la iluminaci´on.
El problema radica en el hecho de que para realizar dicha correcci´on con exactitud es necesario conocer la
naturaleza de la distorci´on, es decir se necesitan im´agenes de referencia adecuadas. Una imagen de referencia
adecuada puede ser una toma con un fondo homog´eneo (sin objetos) en el cual se pueda apreciar el gradiente
del cambio de la iluminaci´on. Una vez que se tiene esta informaci´on es posible encontrar las intensidades
que se necesitan restar para contrarestar este pernicioso efecto [ver secc 8.3.2 [3]]
Otra manera de poder encontrar un aproximaci´on de la iluminaci´on es filtrar la imagen por un filtro
pasabajas, ya que se asume que la iluminaci´on tiene frecuencias mucho mas bajas que las frecuencias de los
objetos. Una vez que se tiene la imagen filtrada, esta se resta a la imagen original anulando el efecto del
shading.
4.2 Segmentaci´ on basada en Regiones
Estas t´ecnicas surgen bajo uno de los supuestos mas importantes en cuanto a la estructura de los objetos en
una imagen, la conectividad, evitando errores tales como clasificar p´ıxeles aislados como objetos.
En este punto es ´ util dar la definici´on de un objeto en una imagen: i) un objeto se define como el conjunto
de todos los p´ıxeles que comparten caracter´ısticas (intensidad, textura, etc.) y que estan conectados, o bien,
ii) un objeto es el conjunto de p´ıxeles que se localizan al interior de una curva cerrada o curva de borde.
5
4.2.1 Crecimiento de regiones (Region Growing)
Este m´etodo se puede explicar por los siguientes pasos b´asicos
1. Se necesita tener un umbral alto T
H
y un umbral bajo T
L
dentro del rango din´amico de la imagen.
2. Definir la conectividad. En im´agenes 2D se usa vecindad de primer grado con 4 vecinos o bien vecindad
de segundo grado con 8 vecinos.
3. Comenzar con un punto de inicio o punto semilla, el cual tiene un valor de intensidad arriba del umbral
alto. A continuaci´on checar para cada punto vecino si est´a dentro del rango v´alido de intensidades, si
es as´ı, se agrega a la lista de los p´ıxeles v´alidos.
4. Escojer un pixel v´alido como el siguiente y repetir.
La principal desventaja de este m´etodo es que muy peque˜ nas conexiones entre regiones diferentes pueden
ocasionar que 2 de ellas se colapsen en una sola. Nuevamente, la manera de escojer el valor de los 2 umbrales
no esta establecida.
4.2.2 Algoritmo de divisi´on y uni´on de Regiones (Split and Merge)
En este caso (ver [3]), la partici´on de la imagen en regiones se desarrolla de acuerdo a un criterio de
homogeneidad calculado para cada regi´on. Como medidadas de homogeneidad se pueden establecer umbrales
para las medias y las desviaciones de estandar de los valores de gris de las regiones. Es decir se evalua si la
media de una regi´on es parecida a la de la otra, o bien la diferencia es menor a un umbral y usando el mismo
criterio de diferencia para las desviaciones estandar.
Las 2 operaciones principales que modifican la partici´on de la imagen son la divisi´ on de una regi´on y
la uni´ on de 2 regiones. Una regi´on que tiene un valor de homegeneidad mayor a un umbral definido, es
subdividida en subregiones. Dos regiones adyacentes pueden ser unidas para generar una nueva regi´on que
tiene un valor de homogeneidad menor a un cierto umbral. Se pueden distinguir 3 variantes principales:
1. La estrategia Top-Down la cual comienza con una subpartici´on de la imagen y se incrementa el n´ umero
de regiones usando el algoritmo de divisiones.
2. La estrategia Bottom-Up en la cual se comienza con una sobrepartici´on de la imagen y se decrementa
el n´ umero de regines con el algoritmo de uniones.
3. La estrategia h´ıbrida en la cual se modifica la partici´on actual combinando los algoritmos de divisi´on
y uni´on.
En un algoritmo puro de divisi´on, se puede partir del hecho de que la imagen es en si es el objeto, se
divide en 4 y se mide la homogeneidad. En la contraparte en un algoritmo de uni´on de regiones, se puede
empezar uniendo p´ıxeles vecinos que cumplan con el criterio de homogeneidad.
6
4.2.3 Algoritmo de conexi´on en Pir´amide (Pyramid Linking)
Burt [10] propuso un algoritmo de conexi´on en pir´amide como una implementaci´on efectiva en un algoritmo
de segmerntaci´on de caracter´ısticas. En una imagen la caracter´ıstica que se evalua es el nivel de gris de los
p´ıxeles.
El algoritmo contiene los siguientes pasos:
1. C´ alculo de una piramide Gaussiana. Los valores de 4 vecinos son promediados para formar el valor de
un pixel en el siguiente nivel mas alto de la pir´amide. El nivel inmediato superior de la pir´amide tiene
la mitad de p´ıxeles que el nivel actual. ver figura 3a.
2. Segmentaci´ on por medio de la conexi´ on en pir´ amide. Por la forma de crear la pir´amide, cada pixel
contribuye a 2 p´ıxeles en el nivel inmediato superior, para decidir a cual pertenece, simplemente se
escoje aquel que tiene el valor mas parecido. Esta decisi´on genera conexiones entre p´ıxeles que se
localizan en distintos niveles de la pir´amide, form´andose una estructura de ´arbol como se muestra en
la figura 3b.
3. Promediado de los p´ıxeles conectados. A continuaci´on la estructura de conexi´on resultante es usada para
recualcular la media de los valores de gris, ahora usando unicamente los p´ıxeles que est´an conectados.
Es decir, el valor de cada nodo padre en el arbol es calculado como el promedio de los hijos que estan
conectados (ver figura 3c).
4. Los ´ ultimos 2 pasos son repetidos iterativamente hasta que el algoritmo converge a una soluci´on, por
ejemplo, en la figura 3c se puede ver que el algoritmo converger´a a dos regiones en el nivel pen´ ultimo
de la pir´amide, ya que en el nivel inmediato inferior las diferencias entre los p´ıxeles son despreciables.
Dentro de las ventajas de este m´etodo, podemos mencionar de que no es necesario establecer de antemano
cuantas regiones se esta buscando, y que la forma de las regiones no tiene ninguna restricci´on.
4.2.4 Umbralizado adaptivo (Adaptive Thresholding)
En este caso - a diferencia del m´etodo de umbralizado convencional explicado anteriormente - un umbral
debe de ser calculado para cada pixel de la imagen.
Existen 2 estrategias principales para determinar dicho umbral [12]. La estrategia de Chow y Kanenko y
el umbralizado local. Ambos m´etodos est´an basados en que se asume que es mas probable que la iluminaci´on
sea aproximadamente uniforme en peque˜ nas regiones.
1. Chow y Kanenko dividen la imagen en un arreglo de subimagenes que se traslapan y entonces encuen-
tran el umbral ´optimo para cada subimagen por medio del an´alisis del histograma. El umbral para
cada pixel es encontrado por medio de la interpolaci´on de los resultados de las subim´agenes en las
que tiene relaci´on espacial. La desventaja de este m´etodo es que es computacionalmente caro y para
aplicaciones en rob´otica de tiempo real es inapropiado.
2. La otra alternativa es encontrar el valor del umbral local por medio del an´alisis estad´ıstico de los
valores de intensidad en una vecindad de cada pixel. El estad´ıstico ´optimo depende completamente
del tipo de imagen que se est´a anlizando. Los estad´ısticos mas simples y r´apidos de calcular incluyen
la media de los valores T
r
= media, la mediana T
r
= mediana, o la media de los valores m´aximos
7
a)
b)
c)
Figure 3: Pasos del m´etodo de conexi´on en pir´amide.
y min´ımos T
r
=
max−min
2
(es importante hacer notar que en el caso cuando existen valores at´ıpicos
(outliers) en una regi´on, la mediana es mas robusta que la media, ya que la media es dezplazada
significativamente por un solo valor at´ıpico y la mediana no). El tama˜ no de la vecindad debe de ser lo
suficientemente grande para contener suficientes valores de fondo y de objeto, ya que de lo contrario
un umbral inadecuado es escogido. En la contraparte, el escoger regiones muy grandes puede violar la
suposici´on de que la iluminaci´on es aproximadamente uniforme. Los puntos anteriores representan las
desventajas del m´etodo
4.2.5 M´etodo de Watersheds
Una regi´on ”watershed” (linea divisoria de las aguas) o bien una cuenca es defina como una regi´on sobre
la cual todos los puntos fluyen cuesta abajo hacia el mismo punto en com´ un. Inspirados en geolog´ıa, uno
deber´ıa de considerar la regi´on local donde toda el agua de lluvia fluje al mismo lago o r´ıo. Esto parecer´ıa no
ser aplicable a las im´agenes con valores de intensidad, pero toma sentido si se aplica a im´agenes de gradiente.
Una manera de encontrar watersheds es pensar en llenarlos desde abajo hac´ıa arriba y hallar cu´ales
piscinas se generan. Sup´ongase que el rango de la imagen es [0,255]. Empezamos primero con los p´ıxeles
con valor 0. Claramente no hay ning´ un pixel con valor menor a ello, por lo tanto forman la base de nuevos
watersheds. Entonces agregamos todos los p´ıxeles con intensidad 1. Si ellos estan en la vecindad de de
8
watersheds ya encontradas (con valores de 0), agregamos estos p´ıxeles a estas regiones, de lo contrario
creamos una nueva regi´on para estos p´ıxeles.
Este algoritmo se repite para cada valor k hasta el m´aximo (255 en este ejemplo): cada pixel con intensidad
k que es vecino de una regi´on ya etiquetada es agregado a esa regi´on.
Se debe de ser cuidadoso con un detalle: puede haber varios p´ıxeles juntos con intensidad k, y si uno de
ellos es adyacente a una regi´on ya etiquetada, todos ellos deben de ser agregados a esta regi´on. Este algorimo
b´asico puede ser implementado de una manera eficiente por medio del uso de estructuras de datos del tipo
histograma, las cuales indexan todos los p´ıxeles por su intensidad. Este implementaci´on permite localizar
r´apidamente todos los p´ıxeles con intensidad k.
Otra posible implentaci´on es denominada tobogganing, la cual tiene ese nombre ya que es un proceso
an´alogo a deslizarse por las cordilleras del gradiente hasta llegar a un m´ınimo local en com´ un. Esta estrategia
liga cada pixel p con su vecino de valor menor, este a su vecino de valor menor y as´ı sucesivamente. Se llega
aun punto en el cual se alcanza el pixel q el cual es un m´ınimo local y por lo tanto no tiene vecinos con
valores menor a ´el. Este pixel q es la base de una cuenca. En este momento se establece que apartir de p se
alcanz´o q con esta estrategia. Todos aquellos p´ıxeles que alcanzan q con esta estrategia pertenecen al mismo
watershed.
Hay que hace notar que el fondo de la cuenca puede estar conformado por varios p´ıxeles y no solo uno. En
este caso, un grupo de p´ıxeles pueden converger a uno de los p´ıxeles de este m´ınimo y otro grupo de p´ıxeles
pueden converger a otro p´ıxel del mismo min´ımo, con lo cual se detectar´ıan 2 watersheds que en realidad son
la misma. Es entonces necesario agrupar estos m´ınimos a una sola regi´on usando un post-procesamiento.
El post-procesamiento es simple: al final se tiene que para cada pixel tenemos asociado un identificador
r
i
= (x
i
, y
i
), que es la coordenada del pixel a donde se lleg´o mediante el proceso de descenso, por lo tanto el
´ındice i corre de 1 al n´ umero de regiones encontradas hasta este momento. El post–procesamiento investiga
uno por uno estos identificadores, digamos que tomamos un r
k
y buscamos si existe alg´ un r
j
que sea vecino,
si esto ocurre (es decir tenemos 2 watersheds cuyas bases son vecinas, es decir son la misma), se fusionan
las regiones r
k
y r
j
. Lo anterior se hace hasta convergencia, es decir hasta que ya no es posible fusionar
regiones.
4.2.6 Un algoritmo de segmentaci´on EM
Existen algoritmos muy sofisticados para la segmentaci´on de objetos y fondo. Un Algoritmo que es muy
utilizado por su buen desempe˜ no es el algoritmo EM (Expectation-Maximization). Como su nombre lo indica
este algoritmo consta de 2 pasos, los cuales se ejecutan de manera iterativa hasta alcanzar convergencia. En
el paso de Expectation se ajusta la mejor segmentaci´on de acuerdo a los par´ametros del modelo, mientras
que en el paso de Maximization los par´ametros del modelo son aproximados de acuerdo a la segmentaci´on
actual [4].
Supongamos entonces que los objetos y el fondo tienen un valor de intensidad de gris µ
o
y µ
f
respecti-
vamente, pero que las intensidades han cambiado por la introducci´on de un ruido Gaussiano (se asume la
ditribuci´on Gaussiana por simplicidad en los c´alculos, aunque quiz´a no es la mejor distribuci´on), cambiando
su valor de intensidad. Entonces los valores de gris observados vienen de distribuciones:
Y
o
∼ ^(µ
o
, σ
2
o
) (2)
Y
f
∼ ^(µ
f
, σ
2
f
) (3)
9
por lo tanto, la probabilidad de que un pixel en la posici´on r pertenezca al fondo esta dado por:
P (I(r) = µ
f
) =
1
_
(2π)σ
f
exp
−(µ
f
−I(r))
2

2
f
(4)
y la probabilidad de que pertenezca al objeto esta dada por:
P (I(r) = µ
o
) =
1
_
(2π)σ
o
exp
−(µ
o
−I(r))
2

2
o
(5)
Estas probabilidades son conocidas como verosimilitudes, ya que parten de la imagen observada. Por
lo tanto, los par´ametros desconocidos que hay que determinar son la medias y las desviaciones estandar de
ambas distribuciones, ya que dadas podemos estimar una verosimilitud para cada pixel de si pertenece al
fondo o al objeto.
Adem´as de lo anterior, se asume que tanto el fondo como los objetos son regiones, y no p´ıxeles aislados,
por lo que deben de existir zonas homog´eneas. Esta homogeneidad se modela en base a campos aleatorios
Markovianos [5]. En este enfoque la probabilidad a priori se modela, dando probabilidades altas a configura-
ciones en donde los p´ıxeles tienen vecinos con valores iguales y probabilidades bajas al caso opuesto. En base
a lo anterior, se usa un Gibs Sampler [6] para muestrear la probabilidad de que la imagen modelada como
un campo aleatorio Markoviano pertenece a un configuraci´on en base al comportamiento de cada pixel con
respecto a su vecindad y a la verosimilitud tomada de los modelos (4) y (5) . Una vez que se tiene la proba-
bilidad muestreada para cada pixel, se obtiene una segmentaci´on preliminar y se recalculan los estimadores
de los par´ametros de estas distribuciones de la siguiente manera:
´ µ
o
=

r
I(r) ∗ b
o
(r)

r
b
o
(r)
(6)
´ σ
o
=
¸

r
(I(r) − ´ µ
o
)
2
b
o
(r)

r
b
o
(r)
(7)
y
´ µ
f
=

r
I(r) ∗ b
f
(r)

r
b
f
(r)
(8)
´ σ
f
=
¸

r
(I(r) − ´ µ
f
)
2
b
f
(r)

r
b
f
(r)
(9)
donde b
o
(r) y b
f
(r) son unas funciones indicadoras:
b
o
(r) =
_
1 si r pertenece al objeto
0 en caso contrario
(10)
b
f
(r) =
_
1 si r pertenece al fondo
0 en caso contrario
(11)
El c´alculo de los estimadores proviene directamente de la definici´on de media y varianza. La media de
los p´ıxeles que pertenecen al objeto, por ejemplo es la suma de los valores de gris de los p´ıxeles que fueron
catalogados como pertenecientes al objeto entre el n´ umero de p´ıxeles que pertenecen al objeto.
10
Las funciones indicadoras se obtienen como el resultado del proceso del Gibbs Sampler: si un pixel s
tiene probabilidad mas alta de pertenecer al objeto, entonces b
o
(s) = 1 y b
f
(s) = 0.
Una vez que se han calculado los nuevos estimadores de par´ametros ´ µ
o
, ´ σ
o
, ´ µ
f
y ´ σ
y
se procede nuevamente
a el paso Expectation para obtener una nueva segmentaci´on y despu´es Maximization hasta convergencia.
El principio del algoritmo los estimadores de parmetros son propuestos por el usuario en base a su
conocimiento a priori del problema.
El desempe˜ no de este algoritmo es muy bueno, aunque tiene la desventaja de ser costoso computacional-
mente.
4.3 Segmentaci´ on basada en Bordes
Como se hab´ıa mencionado en la secci´on 2, un problema muy importante en la segmentaci´on de los objetos
es el problema de Shading o iluminaci´on no uniforme, [ver figura 1c]. Aunado a ello, a´ un con iluminaci´on
perfecta, si tenemos 2 clases de objetos unos obscuros y otros claros, al momento de utilizar un umbral, los
objetos claros tienden a engrandecerse y los objetos oscuros tienden a empeque˜ nerse. Este problema puede
solucionarse si se utiliza un valor umbral para cada objeto, lo cual en la pr´actica es dif´ıcil de determinar.
La segmentaci´on basada en bordes esta basada en el hecho de que la posici´on de un borde es dada por
un m´aximo en las derivadas de primer orden o un cruce por cero en las derivadas de segundo orden. Por lo
tanto, lo que se debe de hacer es buscar los m´aximos locales en la intensidad del borde. Se puede probar
que esta estrategia no est´a influenciada por las variaciones en la iluminaci´on.
La estrategia t´ıpica es:
1. Realizar un barrido de la imagen l´ınea por l´ınea en busca de un m´aximo local en la magnitud del
gradiente.
2. Cuando un m´aximo es encontrado, se ejecuta un algoritmo de rastreo (Tracing algorithm) el cual
intenta seguir el m´aximo del gradiente alrededor del objeto hasta encontrar nuevamente el punto de
inicio.
3. Se busca nuevamente un punto de inicio.
4.3.1 Detector de Bordes de Canny
El algoritmo mas utilizado es el de Canny [11], ya que es el detector de bordes ms poderoso que existe
actualmente. A continuaci´on se describen los pasos de dicho algoritmo.
El primer paso es el c´alculo de la magnitud del gradiente y de la direci´on del mismo. Nunca se puede
esperar que alg´ un algoritmo de detecci´on de contornos trabaje bien con im´agenes crudas, por lo tanto, se
convoluciona la imagen f con filtros gaussianos uni-dimensionales. De esta forma la imagen se suaviza
(eliminacin de ruidos). Aunque la imagen de salida es mas borrosa se gana que un pixel de ruido tiene un
efecto pernicioso mas peque˜ no sobre el c´alculo de las derivadas.
A continuaci´on se calcula el gradiente de la imagen suavizada, definido como:
∇f(x, y) = (
∂f
∂x
,
∂f
∂y
) (12)
donde a su vez las derivadas son aproximadas por diferencias finitas atrasadas
11
∂f
∂x
= f(x, y) −f(x −1, y) (13)
y se procede a calcular la magnitud del gradiente:
[∇f(x, y)[ =
¸
∂f
∂x
2
+
∂f
∂y
2
(14)
y la direcci´on del gradiente:
Θ(x, y) = atan
_ ∂f
∂y
∂f
∂x
_
(15)
En este momento tenemos una imagen con las magnitudes del gradiente y una imagen con la direcci´on
del gradiente con cada punto.
El segundo paso adelgazar los bordes, es decir identificar unicamente los puntos que pertenecen al centro
del borde y eliminar todos los demas, eso se logra aplicando un algoritmo de supresi´ on de los no m´ aximos
(non maximum suppression), el cual consiste en poner un cero en todos aquellos puntos que tienen un pixel
vecino en la direcci´on local del gradiente con un valor de magnitud de gradiente mayor a ´el.
El tercer paso es la ejecuci´on de un algoritmo de rastreo de borde. Canny utiliz´o un umbralizado con
hist´eresis, como a continuaci´on se explica. Se requieren dos umbrales, uno alto y uno bajo. Haciendo la
suposici´on de que los bordes importantes deben de estar sobre lineas continuas, nos permite detectar un
borde a´ un en una parte de la imagen donde la linea no esta bien definida (y la magnitud del gradiente es
peque˜ na), pero al mismo tiempo evita que se confundan bordes con p´ıxeles de ruido aislados (los cuales
tambi´en tienen una magnitud peque˜ na). Esto marca claramente cuales pueden ser bordes genuinos y cuales
no. El proceso es el siguiente: se define un punto de borde como aquel punto que tiene un valor de magnitud
mas grande que el umbral alto. Para estos puntos de borde se rastrea si este pixel est´a conectado a un punto
que tenga una magnitud arriba del umbral bajo, si es asi, este punto tambi´en se marca como un punto del
borde. Este proceso contin´ ua hasta que se llega al punto de donde se parti´ıo o bien ya no hay mas p´ıxeles a lo
largo del borde que cumplan la condici´on de estar arriba del umbral bajo. De esta manera todos los p´ıxeles
que tienen una magnitud de gradiente arriba de del umbral bajo, pero que necesariamente estan conectados
con puntos con alta confianza en el borde, son marcados como borde, pero puntos candidatos a borde que
no est´an conectados son desechados.
Por lo tanto el algoritmo de Canny tiene 3 par´ametros, los cuales determinan el funcionamiento del
mismo, El tama˜ no del filtro Gaussiano de suavizado y los dos umbrales.
4.3.2 Diferentes esquemas de c´alculo de gradientes
Aunque en la secci´on anterior se propuso el c´alculo de las derivadas parciales en base a diferencias finitas
atrasadas, existen varios esquemas para el c´alculo de las mismas. Se pueden usa difencias finitas adelantadas:
∂f
∂x
= f(x + 1, y) −f(x, y) (16)
o bien diferencias finitas centrales:
∂f
∂x
=
f(x + 1, y) −f(x −2, y)
2
(17)
12
cada una de estas aproximaciones tiene sus ventajas y sus desventajas: las diferencias finitas adelantadas
y atrasadas no indican el valor discreto de la derivada en el punto x, sino 0.5 de unidad atras o adelante
respectivamente. Por otro lado las diferencias finitas centrales no tienen ese problema, pero adolecen del
hecho de que el c´alculo de la derivada en un punto x no toma en cuenta el valor de la funci´on f(x) en el
punto x. A´ un con estas desventajas las diferencias finitas son altamente utilizadas como un aproximados de
la derivada de un funci´on discreta, ya que los resultados son bastante aceptables y el costo computacional
del c´alculo es peque˜ no.
4.3.3 Detector de bordes basado en el operador de Laplace
Uno de los detectores de borde mas usados es el operador de Lapace. Se deriva a partir de las derivadas de
segundo orden, ya que en una funci´on 2D, f(x, y)

2
f(x, y) =

2
f
∂x
2
+
∂f
2
∂y
2
(18)
En la versi´on discreta, tenemos que:

2
f
∂x
2
= f(x + 1, y) +f(x −1, y) + 2f(x, y) (19)
∂f
2
∂y
2
= f(x, y + 1) +f(x, y −1) + 2f(x, y) (20)
lo que da como resultado

2
f(x, y) = f(x + 1, y) +f(x −1, y) +f(x, y + 1) +f(x, y −1) −4f(x, y) (21)
La m´ascara del filtro usada para la convoluci´on es entonces:
L
1
=
_
¸
_
0 1 0
1 −4 1
0 1 0
_
¸
_ (22)
La idea intuitiva es la siguiente, si el coeficiente del centro es positivo los coeficientes alrededor del centro
deben de ser negativos y de esta manera la suma de los coeficientes es cero. Es decir el resultado de la
convoluci´on de esta mascara es cero cuando existe un cambio de sigo en la imagen.
La mascara anterior nos da un laplaciano isotr´opico a 90
0
, si se desea tener un Laplaciano isotr´opico a
45
o
se puede utilizar:
L
2
=
_
¸
_
1 1 1
1 −8 1
1 1 1
_
¸
_ (23)
Ademas, es com´ un encontrar que se utilizan las m´ascaras anteriores con los signos de los coeficientes
cambiados (positivo en el centro y negativo en los alrededores ).
Una ventaja de este detector de bordes es que los bordes detectados no dependen de la rotaci´on de los
mismos (a diferencia de otros como es el caso del detector de Sobel [3]) y se usa una sola m´ascara para
detectar todos los bordes.
13
Las desventajas es que produce bordes dobles, es sensible al ruido (como cualquier derivada de segundo
orden) y no es posible detectar la direcci´on del borde apartir de la imagen de resultado.
4.3.4 El filtro LoG
Los filtros de Laplace tienden a aumentar el nivel de ruido considerablemente, por lo tanto un es posible
obtener un mejor detector de bordes si primero se suaviza la imagen con un filtrado Gaussiano y despues se
aplica el filtro de Laplace. Esto lleva a un tipo de de detector de bordes regularizado y a una clase de filtros
llamados Laplace of Gaussian o LoG. Es posible calcular la expresi´on ana
´
litica de la derivaci´on del kernel
gaussiano y aplicar este kernel en un solo paso, lo cual es computacionalmente m´as eficiente que convolver
2 veces, una para el suvizado y la otra para el laplaciano.
4.4 Segmentaci´ on basada en Textura
Cuando no es posible binarizar tomando en cuenta la homogeneidad de valores de intensidad ya sea en los
objetos o en el fondo, es necesario utilizar m´etodos de segmentaci´on que tomen en cuenta la textura de los
mismos. En general es dif´ıcil encontrar un solo descriptor de la textura, ya que existen varios problemas
asociados a ellos: El detector perfecto deber´ıa de ser insensible a rotaciones, a escalamientos o a transforma-
ciones proyectivas. Por lo anterior lo mas com´ un es que se forme una imagen multi–param´etrica. Donde cada
imagen contiene un descriptor de los que se ver´an en las secciones posteriores, mas aparte algun descriptor
de la textura basado siempre en una vecindad, ya que la textura se define para regiones y no para p´ıxeles
individuales. En fases de procesamiento posteriores, como se ver´a mas adelante, se podra usar alguno de los
varios mtodos para detectar clusters n-dimensionales para separar las regiones.
Cuando se calculan las caracter´ısticas de un punto locales en base a su vecindad, normalmente se usa
una ventana (Gaussiana) para limitar la contribuci´on de la informaci´on conforme la distancia al punto en
cuesti´on aumenta.
Los rasgos o caracter´ıstica de textura son coeficientes que texturas que son iguales para texturas iguales.
A continuaci´on se presentan algunos m´etodos de detecci´on de rasgos o caracter´ısticas de textura.
4.4.1 Matrices de co-ocurrencia
Los estimadores espaciales de co-ocurrencia de niveles de gris, estiman propiedades de las im´agenes rela-
cionadas con los estad´ısticos de segundo orden.
La G G matriz de co-ocurrencia de niveles de gris P
d
= (dx, dy) para un vector de dezplazamiento d
esta definida formalmente como:
P
d
(ij) = [¦((r, s), (t, v)) : I(r, s) = i, I(t, v) = j¦[ (24)
donde (r, s), (t, v) ∈ N N, (t, v) = (r +dx, s +dy), y [ [ es la cardinalidad del conjunto. Ejemplo: para la
imagen I de dimensi´on 4 4 con 3 niveles de gris, tenemos
I =
1 1 0 0
1 1 0 0
0 0 2 2
0 0 2 2
, P
d
=
_
_
_
4 0 2
2 2 0
0 0 2
_
_
_
14
Caracter´ıstica F´ormula
Energ´ıa

i

j
P
2
d
(i, j)
Entrop´ıa −

i

j
P
d
(i, j) log(P
d
(i, j))
Contraste

i

j
(i −j)
2
P
d
(i, j)
Homogeneidad

i

j
P
d
(i,j)
1+|i−j|
Correlaci´on

i

j
(i−µx)(j−µy)P
d
(i,j)
σxσy
Table 1: Caracter´ısticas de textura en base a la Matriz de co-ocurrencia
La matriz de co-ocurrencias indica algunas propiedades hacerca de la distribuci´on espacial de niveles de
gris en la textura de una imagen. Por ejemplo, si observamos que la diagonal de esta matriz tiene los valores
mas grandes, podemos deducir que la textura es burda con respecto al vector de dezplazamiento d.
Se han propuesto varias caracter´ısticas de la textura que pueden ser calculadas a partir de la matriz de
co-ocurrencia. Se define :
P
d
(x) =

j
P
d
(x, j) (25)
P
d
(y) =

i
P
d
(i, y) (26)
y definimos µ
x
y µ
y
como las medias y σ
x
y σ
y
como las desviaciones est´andar de P
d
(x) y P
d
(y) respectiva-
mente, con lo cual tenemos las caracter´ısticas mostradas en la tabla 1. Los nombres de estas caracter´ısticas
se ha definido as´ı para dar una idea de lo que representan.
Las caracter´ısticas basadas en la matriz de co-ocurrencia adolecen de varias dificultades. La primera es que
no esta bien defino como escoger el vector de desplazamiento d, y calcular varias matrices para diferentes
valores de d es computacionalmente costoso, ya que para cada uno de ellos existen un gran n´ umero de
caracter´ısticas a evaluar.
4.4.2 Medidas de Textura de Law
La medidas de energ´ıa desarrolladas por Kenneth Ivan Laws han sido usadas en diversas aplicaciones. Esas
medidas son calculadas en 2 pasos: primero se aplican peque˜ nos kerneles de convoluci´on a la imagen digital
y luego se aplica una operaci´on de ventana no lineal.
Los kerneles t´ıpicos de de convoluci´on en 2D para discriminaci´on de texturas son generados a partir del
siguiente conjunto de kerneles de convoluci´on unidimensional de longitud 5:
L5 = [ 1 4 6 4 1 ]
E5 = [ -1 -2 0 2 1 ]
S5 = [ -1 0 2 0 -1 ]
W5 = [ -1 2 0 -2 1 ]
R5 = [ 1 -4 6 -4 1 ]
Los nemot´ecnicos utilizados se refieren a nivel (Level), borde (Edge), mancha (Spot), ondulaci´on (Wave)
y rizo (Ripple). Es importante notar que la suma de todos los kernel excepto L5 es igual a cero.
15
De esos kernels de convoluci´on uni-dimensionales se pueden generar 25 diferentes kerneles de convoluci´on
bi-dimensional por medio de la convoluci´on de un kernel vertical con otro horizontal. De los 25 dos-
dimensional kernels que se pueden general, 24 de ellos suman cero excepto el L5L5. La lista de todos
los 5 5 kerneles generados es:
L5L5 E5L5 S5L5 W5L5 R5L5
L5E5 E5E5 S5E5 W5E5 R5E5
L5S5 E5S5 S5S5 W5S5 R5S5
L5W5 E5W5 S5W5 W5W5 R5W5
L5R5 E5R5 S5R5 W5R5 R5R5
La manera gen´erica de utilizar estos kerneles se explica a continuaci´on:
1. Aplicar los kerneles de Convoluci´on. Dada una imagen de ejemplo a la que se le deasea aplicar un
an´alisis texturas (calcular caracter´ısticas de textura en cada pixel), primero se aplican cada uno de los
25 kerneles de convoluci´on a dicha imagen (por supuesto, para algunas aplicaciones solo es necesario
usar un subconjunto de ellos). El resultado es un conjunto de 25 N M im´agenes en escala de gris,
las cuales componen la base de este an´alisis.
2. Aplicar una operaci´on de ventana. En este paso vamos a reemplazar cada pixel de nuestras 25 N M
im´agenes en escala de grises por una “Medida de Energ´ıa de la Textura” (TEM). Esto se hace tomando
en cuenta una vecindad local alrededor de cada pixel y sumando todos los valores absolutos de los p´ıxeles
vecinos. Con lo anterior se ha generado otro conjunto de im´agenes las cuales son nombradas como el
conjunto TEM de im´agenes. Esto es, el siguiente filtro no-lineal es aplicado a las 25 im´agenes:
New(x, y) =
l

i=−l
l

j=−l
[Old(x +i, y +j)[ (27)
Laws sugiere que se puede aplicar otro filtro diferente al absuluto, el cual es presentado a continuaci´on:
New(x, y) =
¸
¸
¸
_
l

i=−l
l

j=−l
Old(x +i, y +j)
2
(28)
En este punto se han generado 25 im´agenes a partir de la original. Estas im´agenes van a ser nom-
bradas de acuerdo al nombre del kernel aplicado con una “T” al final, que indica que es una medida
de “energ´ıa” de la textura, ya que un filtrado no lineal ha sido aplicado. Las imagens TEM son las
siguientes:
L5L5T E5L5T S5L5T W5L5T R5L5T
L5E5T E5E5T S5E5T W5E5T R5E5T
L5S5T E5S5T S5S5T W5S5T R5S5T
L5W5T E5W5T S5W5T W5W5T R5W5T
L5R5T E5R5T S5R5T W5R5T R5R5T
16
3. Normalizar las caracter´ısticas en contraste. Todos los kerneles que hemos utilizado tienen una media
zero excepto el L5L5. De acuerdo a la sugerencia de Laws, es posible utilizar este como una imagen
de normalizaci´on; si normalizamos las im´agenes TEM pixel por pixel con el valor de la imagen L5L5T,
esto normalizar´a las caracter´ısticas para el contraste.
4. Combinaci´on de caracter´ısticas similares. Para muchas aplicaciones, la orientaci´on de las texturas no es
importante. Si este es el caso, entonces caracter´ısticas similares pueden ser combinadas para remover
el sesgo en la orientaci´on. Por ejemplo L5E5T es sensible a bordes verticales y E5L5T es sensible a
bordes horizontales. Si se suman esas 2 im´agenes TEM, entonces tenemos una sola caracter´ıstica que
es simplemente sensible a bordes.
De esta manera las caracter´ısticas que fueron generadas con kerneles de convoluci´on transpuestos son
adicionados juntos. Para identificar estas nuevas im´agenes, les agregamso la letra R al final, la cual
denota invarianza rotacional.
E5L5TR = E5L5T + L5E5T
S5L5TR = S5L5T + L5S5T
W5L5TR = W5L5T + L5W5T
R5L5TR = R5L5T + L5R5T
S5E5TR = S5E5T + E5S5T
W5E5TR = W5E5T + E5W5T
R5E5TR = R5E5T + E5R5T
W5S5TR = W5S5T + S5W5T
R5S5TR = R5S5T + S5R5T
R5W5TR = R5W5T + W5R5T
Para mantener la consistencia de las caracter´ısticas con respecto a la contribuci´on, se deben escalar las
caracter´ısticas restantes por 2:
E5E5TR = E5E5T * 2
S5S5TR = S5S5T * 2
W5W5TR = W5W5T * 2
R5R5TR = R5R5T * 2
El resultado (si asumimos que hemos eliminado el kernel L5L5T como fue sugerido en el paso 3), es
un conjunto de 14 caracter´ısticas de textura que son invariantes rotacionalmente. La apliaci´on de esta
14 im´agenes nos da un vector de caracter´ısticas de 14 componentes para cada pixel.
4.4.3 Caracter´ısticas en base a los mosaicos de Voronoi
Los mosaicos de Voronoi han sido utilizados como generadores de tokens de textura [8], debido a sus
propiedades espaciales de definici´on de la vecindad local y porque la distribuci´on espacial de estos tokens
esta reflejada en las formas de los poligonos de Voronoi, ver figura 4.
El algoritmo de para generar los mosaicos de Voronoi, apartir de un serie de puntos puede ser consultado
en [7].
17
Figure 4: 2 patrones de puntos y los mosaicos de Voronoi asociados.
Para poder aplicar un m´etodo geom´etrico como este a una im´agen de valores de gris, es necesario obtener
los tokens. Una manera de obtener tokens (o simplemente puntos) en las im´agenes de niveles de gris es
descrita a continuaci´on:
1. Aplicar filtro del Laplaciano del Gaussiano.
2. Seleccionar aquellos p´ıxeles est´an en un m´aximo local en la imagen filtrada. (Se dice que un pixel esta
en un m´aximo local si su valor es mas grande que seis de sus 8 vecinos)
3. Ejecutar un an´alisis de componentes conectados (ver secci´on 5.1) en la imagen binaria resultante del
paso anterior usando los 8 vecinos mas cercanos. Cada componente conectado define un token.
Una vez que se ha construido los mosaicos de Voronoi, se extraen caracter´ısticas de cada celda y tokens
que tienen caracter´ısticas similares son agrupadas para construir regiones de textura uniforme.
Los momentos de ´area de los pol´ıgonos de Voronoi sirven como un conjunto ´ util de caracte´ısticas, ya que
reflejan tanto la distribuci´on espacial tanto las formas de los tokens en la imagen texturizada. El momento
de area de orden (p+q) de una regi´on cerrada R con respecto aun token con coordenadas (x
0
, y
0
) es definido
como:
m
pq
=
_ _
R
(x −x
0
)
p
(y −y
0
)
q
dxdy (29)
donde p + q = 0, 1, 2, ... (ver secci´on 5.4.6). Una descripci´on de las cinco caracter´ısticas usadas se dan en
la tabla 2 donde (x, y) son las coordenadas del centroide del pol´ıgono de Voronoi. En ella se muestran
caracter´ısticas como f
2
, la cual da la magnitud del vector del token al centroide del pol´ıgono, f
3
da la
direcci´on, f
4
indica la elongaci´on completa del pol´ıgono (f
4
= 0 para un c´ırculo) y f
5
indica la orientaci´on
del eje mayor.
Estas caracter´ısticas han sido utilizadas para la segmentaci´on de texturas. El algoritmo de segmentaci´on
esta basado en bordes: una gran diferencia (estad´ıstica) entre las caracter´ısticas de textura es evidencia de
un borde en la textura.
4.4.4 Modelos de Gabor
Una de las formas mas utilizadas para la detecci´on de texturas es el banco de filtros de Gabor [8, 13].
La idea de utilizar un banco de filtros es la siguiente, hacer pasar la imagen f por este conjunto de filtros
y obtener una imagen como resultado del proceso con cada uno de los filtros, es decir una imagen r
i
. Como
a continuaci´on se ver´a, un filtro entonado a una cierta frecuencia responder´a con una alta magnitud donde
18
Caracter´ıstica de Textura Expresi´on
f
1
m
00
f
2
_
x
2
+y
2
f
3
atan(y/x)
f
4

(m20−m02)
2
+4m
2
11
m20+m02+

(m20−m02)
2
+4m
2
11
f
5
atan(
2m11
m20−m02
)
Table 2: Caracter´ısticas de los mosaicos de Voronoi
exista esa cierta frecuencia y atenuar´a las zonas en donde no est´e presente. Si partimos del hecho de que una
textura esta conformada por varias franjas en diferentes orientaciones y a diferentes frecuencias, podemos
separar la imagen por regiones donde los filtros indicaron que exist´ıan frecuencias diferentes. Esto se explica
a detalle a continuaci´on.
Una imagen de entrada I(x, y), x, y ∈ Ω (donde Ω es el conjunto de puntos de la imagen) es convolucionada
con una funci´on de Gabor bidimensional compleja g
c
(x, y), x, y ∈ Ω, para obtener una imagen compleja de
caracter´ısticas de Gabor, esto es, la imagen real e imaginaria son:
r
(r)
(x, y) =
_ _
I(ξ, η)g
(r)
(x −ξ, y −η)dξdη (30)
r
(i)
(x, y) =
_ _
I(ξ, η)g
(i)
(x −ξ, y −η)dξdη (31)
Para entender las funciones bidimensionales de gabor es necesario describir como se visualiza un filtro de
gabor en la frecuencia. La imagen 5a muestra como se distribuyen las diferentes frecuencias de una imagen
en el dominio de la frecuencia (u, v). Podemos ver que las frecuencias mas altas se encuentran mas alejadas
de origen (u,v)=(0,0) y que la orientaci´on de estas frecuencias es perpendicular a la l´ınea de ´angulo Θ que
une esta frecuencia con el origen de coordenadas. El filtro de gabor, visulaizado en este espacio, y el cual
dejar´a pasar algunas de estas frecencuencias est´a definido entonces como una ventana Gaussiana con los
siguientes 4 par´ametros:
1. Los numeros u, v que definen la posici´on del filtro. Esta posici´on es claramente tambi´en definida por
otros dos par´ametros: el ´angulo Θ y la distancia al origen ρ.
2. El ancho de la ventana gaussiana en la direcci´on u, denominado σ
u
, y el ancho de la ventana Gaussiana
en la direcci´on v, denominado σ
v
.
La diferencia fundamental entre un fitro de Gabor y un filtro pasabando radica en el hecho de que como el
filtro de gabor no es simetrisco (esta posicionado solo para frecuencias positivas) la respuesta es la envolvente
de las frecuncia a donde ha sido entonado, la cual entrega espacialmente. Por ejemplo, supongamos que
queremos que nuestro filtro de Gabor asent´ ue en nuestra imagen las zonas donde hay franjas con frecuencia
media y pendiente unitaria, en este caso el filtro de gabor se posiciona como se muestra en la figura 5b.
Una vez que hemos determinado el filtro de Gabor correspondiente mediante la colocaci´on de una funci´on
Gaussiana, se procede a calcular la Transformada Inversa de Fourier la cual nos entrega los 2 kerneles de
convoluci´on g
(r)
(x, y) y g
(i)
(x, y), real e imaginario respectivamente.
19
a) b)
Figure 5: a) Relaci´on de las franjas y su posici´on en el espacio de la frecuencia. b) Colocaci´on de un filtro
de Gabor.
La magnitud punto a punto de esta imagen M(x, y) =
_
g
(r)
(x, y)
2
+g
(r)
(x, y)
2
nos indica en que regiones
de la imagen esta presente esta textura.
Es claro que, sin conocimiento a priori del tipo de franjas que contiene una imagen, el n´ umero posible de
filtros a probar ( combinaciones de los 4 para´ametros descritos anteriormente) es muy grande y por lo tanto
el proceso completo requiere de un tiempo computacional considerable.
Mediante la utilizaci´on del banco de filtros de Gabor, tenemos un vector de caracter´ısticas para cada punto
de la imagen, donde la entrada i-´esima de este vector es la magnitud (M
i
(x, y)) obtenida del procesamiento
de la imagen con el i-´esimo filtro de Gabor.
4.4.5 Local binary Pattern (LBP)
La primera versi´on o versi´on original de este operador trabajaba con los 8 vecinos de cada pixel, usando el
valor del pixel central como umbral. Supongamos que estamos posicionados en el pixel r y este tiene los
ocho vecinos denominados s
i
, i=0,1,..,7. Este umbralizado se realiza de la siguiente manera:
s
(b)
i
= u(s
i
−r) (32)
con
u(x) =
_
1, x ≥ 0
0, x < 0
(33)
El codigo LBP es generado por la multiplicaci´on de los valores de los vecinos umbralizados s
(b)
i
por los
pesos asignados a cada vecino. Este proceso se muestra en la figura 6.
Dado que el codigo LBP es por definici´on invariante a cambios mon´otonos en la escala de gris, este
operador detecta ´ unicamente caracter´ısticas de textura y no es alterado por cambios en la iluminaci´on de la
imagen.
4.5 M´etodos de clasificaci´ on basados en los vectores de razgos. Clustering
Para poder separar las diferentes regiones de la imagen basados en un conjunto de caractaer´ısticas para cada
pixel (caracter´ısticas como las descritas en las secciones anteriores), se modela este conjunto como un vector
20
Figure 6: Ejemplo del c´alculo del codigo LBP
n-dimensional asociado a cada poisici´on r de la imagen. Es entonces la tarea detectar c´ umulos o clusters en
este espacio n-dimensional, donde un cluster indica que esos p´ıxeles comparten carecter´ısticas o rasgos.
En la literatura se pueden encontrar un n´ umero exorbitante referencias de m´etodos para clusterizar. La
clasificacin b´asica de estos m´etodos es en metodos a los cuales se les indica de antemano cuantas clases o
clusters se desea encontrar y metodos en los que este n´ umero es determinado por el mismo algoritmo. En
nuestro sencillo caso de segmentaci´on entre fondo u objeto, se asume que solo hay dos clases, por lo que un
algoritmo donde se define de antemano el n´ umero de clase puede trabajar bien. A manera de demostraci´on
en esta secci´on se describe uno de los m´etodos mas sencillos e intuitivos de clusterizaci´on llamada k-medias.
4.5.1 Agrupamiento por K-medias
Este algoritmo consiste de 3 pasos principales [4]:
1. Inicializaci´on. Consiste en inicializar arbitrariamente los centros de los K grupos, para esto simplemente
se puede incializar como los centros con K de los puntos a clusterizar, o bien si se tiene informaci´on a
priori del comportamiento de los centros, se puede inicializar con esta, lo cual acelerar´ıa la convergencia.
2. Asignaci´on y actualizaci´on de los centros. En este paso se asigna cada patr´on al grupo ms cercano y
se recalculan los centros en base a esta asignaci´on. Aqui conviene hablar de las distancias entre los
patrones o vectores: si todas las entradas del vector (o caracter´ısticas) tienen el mismo peso, entonces
se puede usar la distancia euclidiana, de otra manera se deber´ıa de asigna pesos a cada caracter´ıstica de
tal forma que las caracte´ısticas mas relevantes tengan una mayor influencia en el c´alculo de la distancia.
3. En el paso 2, algunos patrones pueden cambiar de agrupamiento y en consecuencia, los centros de ´estos.
Si ´esto ocurre, se trata de repetir dicho paso hasta que no se modifiquen los centros. Cuando no hayan
modificaciones se considera que se ha encontrado una buena partici´on y se termina el agrupamiento.
5 Detecci´ on y conteo de Objetos en im´agenes binarias
Hasta lo que se ha expuesto, tenemos un conjunto de p´ıxeles que pertenecen al fondo y un conjunto que
pertenece al objeto. Ahora es necesario agrupar esto p´ıxeles para formar objetos o componentes conectados,
ya que por definici´on un objeto es un conjunto de p´ıxeles que pertenecen a la clase objeto, pero que estan
conectados.
21
Como siguiente paso, se pueden obtener muchas caracter´ısticas de dichos objetos, los cuales nos pueden
servir para diferenciar objetos de ciertas caracter´ısticas, por ejemplo, objetos grandes de peque´os, concavos
de convexos, etc. En esta secci´on se presentan m´etodos para realizar las dos tareas anteriores.
Dentro de los descriptores de forma de los objetos, se cuenta con una gran variedad: desde los mas
sencillos e intuitivos, hasta los mas complicados. Sin embargo, dependiendo de la aplicaci´on, es necesario
escojer algun descriptor de forma, es decir, la aplicaci´on definir´a el descriptor de forma mas adecuado para
una posible clasificaci´on.
5.1 An´alisis de componentes conectados y etiquetado
Una vez que tenemos la imagen ya binarizada indicando cuales p´ıxeles pertenecen al fondo y cuales al objeto,
es necesario entonces agrupar estos p´ıxeles en objetos o componentes. Es decir, es posible tener 500 p´ıxeles
de tipo objeto pero, digamos por ejemplo, solo 3 objetos.
A continuaci´on se presentan algunas ideas para realizar dicho procesamiento.
5.1.1 B´ usqueda exhaustiva basada en la conectividad de los p´ıxeles
El algoritmo b´asico para establecer lo componentes conectados de una imagen binaria asigna una etiqueta
diferente (normalmente un numero entero) a cada componente u objeto de la imagen. A continuaci´on se
indica el algoritmo b´asico :
1. Se iniciliazan las etiquetas de todos los p´ıxeles que pertenecen a la clase objeto a -1. Se inicializa un
identificador secuencial de etiquetas a C=0. Se inicializa una lista de equivalencia de etiquetas a vacia
(LE = ∅).
2. Se recorre la imagen rengl´on a rengl´on de arriba a bajo y de izquierda a derecha, hasta encontrar un
pixel de p que no tiene etiqueta asignada, es decir, E(p) = −1.
3. Se establecen los 4 posibles vecinos que ya han sido visitados por el algoritmo, y por lo tanto que
ya han sido etiquetados. Estos 4 vecinos son : izquierda, arriba, diagonal izquierda-arriba y diagonal
derecha-arriba.
4. Si ninguno de los 4 vecinos tiene una identificador de etiqueta, se asigna la nueva etiqueta actual al
punto p (E(p) = C) y se incrementa el n´ umero de etiqueta actual: C = C + 1.
5. Si solo uno de los 4 vecinos q tiene un identificador de etiqueta, entonces asignar esta etiqueta al pixel
actual E(p) = E(q).
6. Si hay diferentes etiquetas en los 4 vecinos asignar a p la etiqueta de cualquiera de ellos, digamos la
de r. Ya que estas regiones est´an conectadas tomar nota de la equivalencia, es decir agregar a la lista
estas nuevas equivalencias, por ejemplo EL.add(E(p) == E(q)).
7. En el momento en que no se encuentran mas puntos para procesar se ha terminado la asignaci´on.
8. Se debe de recorrer la lista de equivalencias y se asigna una nueva etiqueta para todas las etiquetas
anteriores que son equivalentes.
22
a) b) c)
Figure 7: Algoritmo de rastreo de contorno. a) Caso 1 , contorno externo, b) Primera variante del caso de
contorno interno, c) Segunda variante del contorno interno. Ver el texto.
9. Se recorre la imagen nuevamente y para cada etiqueta vieja se le asigna la nueva que etiqueta que junta
componentes equivalentes.
Este algoritmo es el enfoque b´asico. Tiene la desventaja que hay que recorrer la imagen 2 veces.
5.1.2 Un M´etodo de etiquetado usando un algoritmo de rastreo de contorno.
La idea de este algoritmo es usar una t´ecnica de rastreo de contorno para detectar los contornos de los
objetos y tambi´en para rellenar las areas internas [14]. Todos los componentes son etiquetados en un solo
barrido de la imagen y se les es asignada una nueva etiqueta o la misma etiqueta de los p´ıxeles vecinos.
El algoritmo consiste de los siguientes pasos:
Para cada imagen I se le asocia una imagen L en la cual se van a guardar las etiquetas asignadas a
todos los componentes. Todos los p´ıxeles de L son inicializados a 0. Sea C el ´ındice de etiquetado, el cual es
inicializado a 1.
Se procede a barrer la imagene de arriba a abajo y de izquierda a derecha buscando un pixel de objeto P,
el cual denominaremos como un pixel negro (y el fondo blanco). El estado de este pixel puede caer dentro
de los 3 siguientes casos:
1. P no tiene etiqueta y su vecino de la izquierda es un pixel blanco (Figura 7a). En este caso P debe
ser un punto externo del contorno y se ejecuta el procedimiento de RASTREO DE CONTORNO para
encontrar el contorno que contiene a P. Se asigna la etiqueta C a todos los p´ıxeles del contorno y se
incrementa el valor de C.
2. El vecino de la derecha de P en un pixel blanco no etiquetado. En este caso, P debe de ser un pixel
de contorno interno y por lo tanto se ejecuta tambien la rutina RASTREO DE CONTORNO. En este
caso hay dos posibilidades sobre la etiqueta que le corresponde al contorno. Primera posibilidad: P no
tiene etiqueta (figura 7b), en este caso el vecino izquierdo de P ya debi´o de haber sido etiquetado, por
lo tanto se asigna a P y a todo el contorno la etiqueta del vecino izquierdo de P. Segunda posibilidad:
P ya ha sido etiquetado (figura 7c) y se le asigna a todo el contorno esta etiqueta. N´otese que es
importante diferenciar en este caso el pixel P del tipo de p´ıxeles como el Q en la figura 8a, el cual tiene
23
a) b)
Figure 8: El uso de etiquetas negativas en el rastreo de contorno. Ver texto.
Figure 9: Convenci´on de posiciones relativas a un pixel en el procedimiento RASTREADOR
tambi´en un vecino a la derecha que es blanco. La manera de evitar ejecutar la rutina de RASTREO DE
CONTORNO en Q es etiquetando los p´ıxeles que rodean al componente con un n´ umero negativo en
donde ya se ha trazado un contorno. Por lo tanto, al momento en que Q es alcanzado por la b´ usqueda
line a linea, el vecino de la derecha de Q ya no es un pixel blanco sin etiqueta. Por otro lado, en la
figura 8a se puede ver que el vecino de la derecha de P todavia no tiene etiqueta, dado que el contorno
interno que contiene a P no ha sido rastreado en el momento que P es encontrado. El etiquetar con
numeros negativos los p´ıxeles que rodena a los componentes permite ademas evitar que el contorno sea
rastreado mas de una vez apartir de cualquier otro punto del contorno. Por ejemplo en la figura 8b
se muestra como el caso 2 no se cumple para R ya que el vecino de la derecha ya tiene una etiqueta
negativa.
3. Ninguna de las condiciones anteriores. En este caso el vecino de la izquierda de P ya debe de tener
una etiqueta y por lo tanto asignamos a P dicha etiqueta.
A continuaci´on se indica el algoritmo del procedimiento RASTREO DE CONTORNO. El objetivo de
RASTREO DE CONTORNO es encontrar un contorno ya sea interno o externo apartir deun pixel dado, el
cual llamaremos S. En este pixel se ejecuta el procedimento RASTREADOR. Si RASTREADOR identifica
a S como un punto aislado se termina el procedimiento de RASTREO DE CONTORNO. De otra manera
RASTREADOR entregara´a el siguiente punto del contorno el cual denominaremos T. Entonces se contin´ ua
ejecutando RASTREADOR sucesivamente hasta que las dos siguientes condiciones on satisfechas (i) RAS-
TREADOR entrega el punto S de nuevo y (ii) el siguiente punto del contorno de S es T de nuevo, con lo
cual garantizamos el contorno de objetos que tienen anchura 1.
A continuaci´on se indica el algoritmo del procedimiento RASTREADOR. El objetivo de este proced-
24
imiento es buscar el siguiente punto del contorno apartir de un punto actual P. El rastreo es controlado por
la direcci´on inicial de b´ usqueda, la cual es determinada por la posici´on del punto anterior del contorno como
a continuaci´on se explica. Para un punto P dado, las posiciones relativas de los vecinos son identificadas con
numeros del 0 al 7 como se muestra en la figura 9. Si P es un punto inicial de un contorno externo, la direcci´on
inicial de b´ usqueda es 0, dado que todos los p´ıxeles de arriba y de la izquierda no pueden pertenecer a este
contorno (de otra manera el contorno habr´ıa sido encontrado antes). Si de otra manera P es el punto inicial
de un contorno interno la poisci´on inicial de b´ usqueda es 1, ya que sabemos que el vecino de la derecha en un
pixel blanco. Por otro lado cuando buscamos el siguiente punto del contorno la direcci´on inicial es asignada
como d +(2 mod 8), donde d es la posici´on relativa con respecto a P donde esta localizado el punto anterior
del contorno. Lo anterior se deriva del hecho que la posici´on (d+1 mod 8) necesariamente fue analizada
cuando se detect´o que P era el siguiente punto del contorno. Una vez que se establece la direcci´on inicial de
b´ usqueda se procede a buscar el siguiente punto negro (del objeto) en el sentido de las manecillas del reloj.
Este punto es el devuelto por RASTREADOR. Si se han recorrido todos los vecinos y no se encuentra ningun
pixel negro, RASTREADOR indica que P es un punto aislado. La tarea de marcar con n´ umeros negativos
los p´ıxeles que rodean un objeto se hace en este procedimiento. Esto se hace de la siguiente manera: en
la b´ usqueda secuencial en el sentido de las manecillas del reloj los puntos que no pertenecen al objeto son
etiquetados con un n´ umero negativo.
Este algoritmo es eficiente en velocidad ya que etiqueta los componentes en una sola pasada y permite
tener una representaci´on de los contorno al mismo tiempo que etiqueta (los p´ıxeles con etiqueta negativa).
5.2 Operadoradores morfol´ ogicos
En el contexto de im´agenes, el procesado morfol´ogico se refiere al estudio de la topolog´ıa de las estructuras de
los objetos a partir de sus im´agenes. Se trata de operaciones sobre objetos binarizados mediante elementos
estructurales, que var´ıan la forma de estos de una manera definida.
Cuando se habla de procesado morfol´ogico se habla fundamentalmente de dos operaciones b´asicas: erosi´on
y dilataci´on.
5.2.1 Erosi´on
Si tenemos un objeto X y un elemento estructural B
x
cuyo origen ha sido trasladado a la posici´on x, la
erosi´on de X por B
x
est´a definida por todos los puntos de x tales que B
x
est´a incluida en X. Se puede
representar formalmente como:
X¸B = ¦x : B
x
⊂ X¦ (34)
5.2.2 Dilataci´on
De la misma forma, la dilataci´on estar´a formada por todos los puntos x tales que B
x
“toca” a X:
X⊕B = ¦x : B
x
∩ X ,= ∅¦ (35)
Ejemplos de erosi´on y dilataci´on pueden ser vistos en la figura 10
25
Figure 10: Ejemplos de erosi´on y dilataci´on
5.2.3 Propiedades de la erosi´on y dilataci´on
- No son inversas una de la otra
(X⊕B) ¸B ,= X (36)
- Distributividad
(X⊕(B ∪ C) = (X⊕B) ∪ (X⊕C)) (37)
(X¸(B ∪ C) = (X¸B) ∩ (X¸C)) (38)
- De conocimiento total
(X∩ Z) ¸B = (X¸B) ∩ (Z ¸B) (39)
- Iteraci´on
(X¸B) ¸C = X¸(B ⊕C) (40)
(X⊕B) ⊕C = X⊕(B ⊕C) (41)
- Dualidad
X
c
⊕B = (X¸B)
c
(42)
Basados en estos operadores b´sicos se han definido dos nuevos operadores llamados cerradura y apertura.
La cerradura se define como la aplicaci´on de una erosi´on y a continuaci´on una dilataci´on, mientras que la
apertura se define como primero la aplicaci´on de una dilataci´on y despu´es una erosi´on.
En procesamiento de im´agenes estos operadores se utilizan comunmente para mejorar la calidad” de las
formas de los objetos binarios, donde la calidad” puede ser un concepto muy subjetivo y que depender´a de
la aplicaci´on en cuesti´on. Una de las aplicaciones de la apertura es por ejemplo para eliminar peque˜ nas
porosidades en los objetos: al dilatar estas porosidades se cierran y una erosi´on restiruye de manera aproxi-
mada el tama˜ no del objeto. Por su parte la cerradura se utiliza muy comunmente para eliminar objetos muy
peque˜ nos los cuales se pueden presentar por ruido: la erosi´on los elimina y la dilataci´on regenera de manera
aproximada el tama˜ no de los objetos grandes.
5.2.4 Conteo de objetos sin huecos, basado en configuraciones elementarias
Cuando es el caso de una aplicaci´on en la cual se desean contar los componentes conectados que hay una
imagen binaria, y se sabe de antemano que los objetos en la imagen no tienen huecos, es posible utilizar
una t´ecnica muy eficiente la cual no encuentra las etiquetas de todos los p´ıxeles, sino ´ unicamente cuenta el
n´ umero de objetos en la imagen [15]. Por supuesto estas restricciones en el desempe˜ no del procedimeinto lo
hacen muy eficiente en tiempo.
26
Figure 11: Configuraciones elementales para el conteo de objetos.
Figure 12: C´odigo de Freeman.
El algoritmo trabaja de la siguiente manera. Se definen 3 configuraciones elementales en una rejilla
formada por 4 p´ıxeles vecinos, las cuales son mostradas en la figura 11 y son denominadas E
1
, E
3
y E
6
. Los
puntos negros indican puntos que pertenecen al objeto y los puntos blancos indican puntos que pertenece al
fondo. A continuaci´on se recorre la imagen completamente y utilizando un estructura de 4 puntos se cuenta
cuantas veces ocurre en la imagen la estructura E
i
. Denotamos por N
i
el n´ umero de veces que ocurre la
confuguraci´on elementraria E
i
. El numero de objetos en la imagen esta dado por :
N
obj
= N
1
+N
3
−N
6
(43)
5.3 Representaci´ on del contorno por medio del c´ odigo de Cadena (Chain Code)
El c´odigo de cadena es una estructura de datos que se usa para representar el borde de un objeto. En vez
de almacenar las posiciones de todos los puntos del borde, se selecciona un punto de inicio en el borden
(del cual si se almacena su coordenada) por un rastreo linea por linea. Entonces se sigue el contorno en la
direcci´on de las manecillas del reloj. En un esquema de vecindad de 8 vecinos hay 8 posibles direcciones y
en uno de 4 vecinos existen 4 direcciones posibles para tomar, las cuales pueden ser almacenadas codificadas
con 3 o con 2 bits segun sea el caso. La convenci´on utilizada es el codigo de Freeman, el cual se muestra en
la figura 12. Por ejemplo un cuadrado de 2 2 p´ıxeles es almacenado como ¦x
o
, y
0
, 0, 6, 4, 2¦.
Las ventajas que presenta la utilizaci´on del c´odigo de Freeman son las siguientes:
1. Es una representaci´on compacta de un objeto binario. Por ejemplo veamos el caso de un disco de
diametro D: si el cuadro que limita un objeto tiene D p´ıxeles de ancho, se necesita alrededor de D
2
p´ıxeles y por lo tanto bits. Si por el contrario se utiliza una vecindad de 8, el disco tiene alrededor de
πD puntos de frontera, el c´odigo de cadena, puede ser almacenado entonces usando 3πD, lo cual es
una representaci´on mas compacta para objetos con di´ametro es mas grande de 10.
2. Esta representaci´on es invariante a traslaciones, lo cual puede ser una representaci´on ´ util para comparar
objetos. Mas adelante se ver´a como es util en el c´alculo del Area.
27
3. El c´odigo de cadena es una representaci´on completa de un objeto o de una curva, por lo que, en teor´ıa
se puede calcular cualquier caracter´ıstica de forma a partir de ´el.
Las limitantes son que, por supuesto tenemos una representaci´on de la forma de manera discreta, es decir
con la representaci´on m´axima de la rejilla de la imagen. Si el objeto no es conectado o tiene huecos, es
necesario mas de un c´odigo de cadena para representarlo.
5.4 Par´ametros de forma Simples
Cuando se ha binarizado la imagen, separando los objetos del fondo (o bien se tiene una imagen en escala
de gises y un umbral con el cual se separa estas dos clases), y se ha hecho un an´alisis de componentes
conectados, es posible conocer ciertas caracter´sticas de los objetos resultantes. Mediante el c´alculo de dichas
caracter´ısticas es posible reconocer un tipo de objetos sobre otros posibles, por ejemplo reconoces objetos
de forma circular separ´andolos de objetos con forma de rectangular. A continuaci´on se muestran algunas
caracter´ısticas que se pueden calcular sobre los objetos.
5.4.1
´
Area
Una de las caracter´ısticas mas simples e intuitivas de un objeto es el ´area, que en nuestras im´agenes digitales
no es otra cosa que el n´ umero de p´ıxeles que contiene el objeto.
Por supuesto se puede econtrar el rect´angulo que encierra completamente al objeto (bounding box) y
contar iterativamente los p´ıxeles que pertenecen al objeto, con lo cual se obtiene el area. Pero una manera
mas eficiente de hacerlo es utilizando el c´odigo de cadena descrito en la secci´on 5.3.
Si una imagen esta representada por un contorno codificado en c´odigo de cadena, el c’alculo del ´area se
realiza por un algoritmo que trabaja en forma similar a la integraci´on num´erica. Este algoritmo asume una
l´ nea base horizontal, trazada en una posici´on vertical arbitraria de la imagen. Se debe definir una distancia
entre la l´ nea base y el punto inicial del contorno p
i
, denotada por B. La integraci´on debe comenzar desde
p
i
, siguiendo luego el contorno. El ´area del objeto debe incrementarse o decrementarse, de acuerdo a la
direcci´on almacenada en el c´odigo. Por ejemplo, si nos movemos a la derecha sobre el borde (c´odigo de
cadena 0), el ´area se incrementa en un factor de B. Si nos movemos hacia arriba, (c´odigo de cadena 1) el
area nuevamente se incrementa por B, pero B debe de ser tambien incrementada. Las reglas completas del
algoritmo se muestran en la tabla 3
5.4.2 Per´ımetro
Es un par´ametro geom´etrico que al igual que el ´area, puede ser calculado a partir del c
´
digo de cadena. Para
realizar este c
´
lculo, es necesario contar la longitud del c´odigo, y tomar en consideraci´on que los pasos en
direcciones diagonales deben ser multiplicados por un factor igual a ra´ız cuadrada de dos. El per´ımetro p de
un contorno codificado en c
´
digo de cadena se expresa como:
p = n
e
+

2n
o
(44)
donde n
e
representa el n ´ mero pasos con identificador par del c´odigo y n
o
el n´ umero pasos impares del c´odigo.
28
Codigo de contorno Incremento en el Area Incremento en B
0 +B 0
1 +B 1
2 0 1
3 −B 1
4 −B 0
5 −B -1
6 0 -1
7 +B -1
Table 3: C´alculo del Area de un objeto en base a su c´odigo de cadena.
5.4.3 Circularidad
La circularidad es una medida de que tan parecido es un objeto a un c´ırculo. Puede ser expresada como
la varianza de la distancia de los p´ıxeles del borde al centroide del objeto. Si un objeto es perfectamente
circular, la varianza debe de ser cero.
El algoritmo es sencillo:
1. Se calcula el centroide del objeto.
2. Para cada punto del borde se calcula la distancia euclidiana de este punto al centroide y se almacena
en un vector.
3. Se calcula la varianza de este vector de medidas y se toma esta como valor de circularidad.
5.4.4 Compacidad
Es uno de los par´ametros geom´etricos utilizados en la comparaci´on de objetos que son observados desde
diferentes distancias, ya que el mismo no depende del tama˜ no del objeto. La compacidad es un n´ umero
adimensional definido como:
F =
4πA
p
2
(45)
El valor de compacidad ser´a m´ınimo para objetos circulares, pero esta medida es sensible al ruido. Objetos
con bordes ruidosos tendr´an un per´ımetro muy largo en comparaci´on con objetos que tienen bordes suaves,
por lo tanto se obtendr´an valores distintos de compacidad no obstante la circularidad de ambos objetos.
5.4.5 Rect´angulo de m´ınima area que contiene al objeto (Bounding box)
Otro par´ametro muy simple para describir crudamente el ´area de un objeto es el rect´angulo de m´ınima area
que contiene el ´area. Por supuesto este rect´angulo esta definido por las coordenadas m´ınimas y m´aximas del
objeto tanto verticales como horizontales. La desventaja obvia de un descriptor tan sencillo, es que es no es
invariante a rotaciones.
29
5.4.6 Descriptores de forma basados en Momentos
A continuaci´on se definiran los momentos para im´agenes binarias y en escala de grises, y entonces e mostrar´a
como extraer par´ametros de forma ´ utiles para nuestros prop´ositos.
Se define los momentos de una funci´on bi-dimensional de valores de gris g(x) de un objeto como:
m
p,q
=
_
(x
1
−¸x
1
))
p
(x
2
−¸x
2
))
q
g(x)d
2
x (46)
donde
¸x
i
) =
_
x
i
g(x)d
2
x
_
g(x)d
2
x
(47)
Donde la integraci´on incluye el area del objeto. Lo anterior se puede entender dado que el vector
¸x) = (¸x
1
), ¸x
1
)) es llamdo el centro de masa del objeto. Si tomamos g(x) como la densidad p(x) , por lo
tanto el momento de orden cero m
0,0
nos indica la masa total del objeto. En el caso de nuestras im´agenes
discretas binarias el c´alculo de los momentos se reduce a :
m
p,q
=

x1,x2
(x
1
−¸x
1
))
p
(x
2
−¸x
2
))
q
(48)
Si se est´a interesado ´ unicamente en los par´ametros de forma de un objeto podemos utilizar los momentos
basados en una imagen binaria. Sin embargo, los monentos basados en escala de grises reflejan la distribuci´on
de caracter´ısticas dentro del objeto.
Es importante utilizar momentos normalizados, los cuales sean invariantes a escala. Si un objeto es
escalado por un factor α, g

(x) = g(x/α), el momento es escalado por
m

p,q
= α
p+q+2
m
p,q
(49)
Por lo tanto, podemos normalizar los momentos con el momento de orden cero, m
0,0
para obtener
momentos invariantes a escala:
m
p,q
=
m
p,q
m
(p+q+2)/2
0,0
(50)
Ya que el momento de orden cero de objetos binarios nos indica el ´area del mismo, los momentos normal-
izados estan escalados por ´area, por ejemplo los momentos de de segundo orden (p +q = 2) estan escalados
por el cuadrado del area, etc..
Como los momentos de orden 1 son zero por definici´on, el an´alisis de forma comienza apartir de los
momentos de segundo orden. m
2,0
, m
0,2
y m
1,1
contienen t´erminos en los cuales la funci´on de valores de
gris son multiplicados por el cuadrado de la distancia del centro de masa. Esos t´erminos son los terminos
del tensor de inercia para la rotaci´on del objeto alrededor del centro de masa:
J =
_
m
2,0
−m
1,1
−m
1,1
m
0,2
_
(51)
La orientaci´on del objeto es definido como el ´angulo entre el eje x y el eje en el cual el objeto puede ser
rotado con la m´ınima inercia. Este es el eigen-vector con el m´ınimo eigen-valor, en la direcci´on donde el
objeto es mas estirado, como se muestra en la figura 13. Este ´angulo se puede calcular como:
30
Figure 13: Ejes del tensor de inercia basados en los momentos de segundo orden de un objeto.
Θ =
1
2
atan
2m
1,1
m
2,0
−m
2,0
(52)
Por otro lado la excentricidad del elipsoide asociado (ver figura 13) es calculada como una medida de
coherencia, la cual toma valores entre [0,1] (0 para c´ırculos y 1 para formas de palo):
=
(m
2,0
−m
0,2
)
2
+ 4m
2
1,1
(m
2,0
+m
0,2
)
2
(53)
5.4.7 Dispersi´on y elongaci´on
Bas´andose en los momentos calculados en la secci´on 5.4.6 y ne los momentos crudos (raw moments) es posible
calcular otros descriptores de forma como a continuaci´on se ilustra.
En las im´agenes discretas los momentos crudos de orden n = p +q se definen como:
µ
p,q
=

x1,x2
(x
1
)
p
(x
2
)
q
(54)
Usando lo anterior, la dispersi´on esta definida por:
S =
µ
2,0
−µ
0,2
m
2
0,0
(55)
y la elongaci´on esta definida por:
E =
2m
2
0,0
[4µ
2
1,1
+ (µ
2,0
−µ
0,2
)
2
]
1/2
µ
2,0

0,2
(56)
La dispersi´on mide que tan desigualmente esta distribuida alrededor del centroide y la elongaci´on mide el
grado de concentraci´on de la masa a lo largo del eje principal.
5.4.8 Radio m´ınimo y m´aximo del centro al borde
Otro descriptor de forma es el c´alculo del centro al borde del objeto. Proceso que se puede llevar a cabo
mediante el recorrido secuencial de los puntos del borde y midiendo la distancia al centroide. La figura
14 muestra como esta medida presenta variaciones para distintas formas de objetos. As´ı mismo es posible
31
Figure 14: La distancia del centro del objeto al borde como un descriptos de forma.
Figure 15: Izquierda: Un objeto convexo, derecha un objeto c´oncavo .
facilmente imaginar objetos muy distintos que sin embargo tiene las mismas distancias m´ınimas y m´aximas.
Como todos los descriptores de forma, es la aplicaci´on espec´ıfica la que indicara si es viable o no utilizarlo.
5.4.9 Determinaci´on de la convexidad del objeto
Otro par´ametro del objeto es si este es c´oncavo o convexo. En una imagen discreta es posible definir un
objeto convexo si para cualesquiera 3 puntos del objeto, todos los puntos (de coordenadas enteras) contenidos
en el tri´angulo que forman pertenecen al objeto. La figura 15 muestra tanto un objeto convexo como un
objeto c´oncavo. Podemos detectar que el objeto de la derecha es concavo ya que el tri´angulo definido por 3
puntos contiene un punto (punto B) que no pertenece al objeto.
La manera de saber si todos los puntos del objeto estan contenidos en todos los posibles tri´angulos es
mediante la selecci´on de todas las triadas posibles de puntos (p
1
, p
2
, p
3
) no colineales del objeto. Luego
entonces las coordenadas de cualquier punto en el plano puden ser representadas como:
x = x
1
+λ(x
2
−x
1
) +µ(x
3
−x
1
) (57)
y = y
1
+λ(y
2
−y
1
) +µ(y
3
−y
1
) (58)
con
λ =
(x −x
1
)(y
3
−y
1
) −(y −y
1
)(x
3
−x
1
)
(x
2
−x
1
)(y
3
−y
1
) −(y
2
−y
1
)(x
3
−x
1
)
, (59)
µ =
(x −x
1
)(y
2
−y
1
) −(y −y
1
)(x
2
−x
1
)
(x
3
−x
1
)(y
2
−y
1
) −(y
3
−y
1
)(x
2
−x
1
)
. (60)
(61)
Con los c´alculos anteriores, es posible saber si el punto de coordenadas (x, y) est´a dentro del tri´angulo,
ya que si es as´ı se debe de cumplir que λ > 0, µ > 0 y λ + µ ≤ 1. El c´alculo descrito anterioremente es
32
a) b)
Figure 16: a) Imagen con iluminaci´on inhomogen´ea. b) Resultado de aplicar un umbralizado.
computacionalmente costoso, ya que para cada objeto con n puntos esta validaci´on se debe de hacer
_
n
3
_
veces.
6 Experimentos Ilustrativos
En esta secci´on se seleccionaron algunos de los m´etodos expuestos en las secciones anteriores, as´ı como
im´agenes que con caracter´ısticas diferentes (que presentan algunos de los problemas vistos en la secci´on 3).
Lo anterior con el objetivo de mostrar algunos experimentos que den una idea de los problemas pr´acticos
que surgen cuando se desarrollan tareas de b´ usqueda, detecci´on y conteo de objetos.
6.1 Segmentaci´ on basada en p´ıxeles
En esta secci´on ilustramos el tipo de segmentaci´on basada en umbralizado. Se ilustra ademas los casos con
problemas de shading y una soluci´on a los mismos.
En la figura 16a se puede apreciar una imagen (200 200 p´ıxeles) en la cual se desea segmentar los objetos
peque˜ nos obscuros. En este caso la imagen tiene el problema de la iluminaci´on (generado sint´eticamente),
de tal forma que, como se muestra en la figura 16a, la aplicaci´on de un umbral (ver secci´on 4.1) fracasa ya
que las intensidades de los p´ıxeles no indican si pertenecen o no al fondo.
Ante estos problemas, es necesario entonces hacer una correcci´on de la iluminaci´on (ver secci´on 4.1.1).
El proceso que se llev´o a cabo en este caso fu´e uno muy sencillo: se toma la imagen original y se hace pasar
por un filtro pasabajas. El resultado de dicho proceso se ve en la figura 17a. Esta imagen es substraida de la
imagen original d´ando como resultado la imagen mostrada en 17b. Por ´ ultimo, esta nueva imagen corregida
es segmentada aplicando un m´etodo de umbralizado y los resultados son mostrados en la figura 17c.
Este proceso de correcci´on se pude apreciar en las gr´aficas de un rengl´on de la imagen mostradas en
la figura 18. En esta figura se puede apreciar a) el rengl´on original, b) el rengl´on filtrado y c) el rengl´on
corregido. Como es l´ogico suponer, este m´etodo es muy barato computacionalmente hablando, tanto en
la implementaci´on como en la ejecuci´on, ya que el filtrado puede hacerse simplemente como un proceso de
promediaci´on de cada pixel con sus vecinos y la aplicaci´on de un umbral es una tarea muy r´apida.
33
a) b) c)
Figure 17: a) Resultado de la aplicaci´on de un filtro pasabajas a la imagen con iluminaci´on inhomog´enea b)
Correcci´on al restarle la imagen filtrada. C) Segmentaci´on por medio de umbral sobre la imagen corregida
a) b) c)
Figure 18: Graficas de un rengl´on en la imagen a) Con problema de Shading, b) Resultado de la aplicaci´on
de un filtro pasabajas c) imagen corregida.
34
a) b)
Figure 19: a) Imagen original. b) Resultado de 5 iteraciones de algoritmo EM
6.2 Segmentaci´ on basada en regiones
Para este experimento se utiliz´o una imagen de c´elulas (128 128 p´ıxeles), la cual se puede ver en la
figura 19a, y se utiliz´o un algoritmo EM (ver secci´on 4.2.6). El resultado de 5 iteraciones es mostrado en
la figura 19b. Los par´ametros iniciales de las clases fueron µ
i
o
= 0.1, µ
i
f
= 0.95, σ
i
o
= 0.1 y σ
i
f
= 0.1 (el
rango din´amico de la imagen fu´e normalizado de 0 a 1). Los par´ametros encontrados por el m´etodo fueron
ˆ µ
o
= 0.394, ˆ µ
f
= 0.726, ˆ σ
o
= 0.133 y ˆ σ
f
= 0.055.
Como podemos ver, la desviaci´on estandar del los objetos es m´as grande que la del fondo, lo cual indica
que el modelo es consistente con la realidad, ya que hay mas escalas de gris en los objetos que en el fondo.
Podemos ver tambi´en que el algoritmo es robusto a la inicializaci´on de los par´ametros, ya que los estimadores
iniciales son significativamente distintos a los encontrados.
N´otese que en este caso los objetos tienen huecos, los cuales, dependiendo de la aplicaci´on deben de ser
removidos para obtener objetos compactos.
La aplicaci´on de un algoritmo de este tipo, conlleva un proceso de programaci´on elaborado. La ejecuci´on
del mismo toma un tiempo considerable (poco mas de 1 minuto en una computadora Pentium 1.6 GHz).
Sin embargo, los resultados por lo general son de alta calidad y tiene el valor agregado de encontrar los
par´ametros del modelo. Esto ´ ultimo puede agilizar el procesamiento de imagenes futuras. Si se asume que se
procesar´an varias im´agenes con condiciones de captura similares, en el procesamiento de estas los par´ametros
obtenidos se pueden introducir como par´ametros iniciales, logrando que con 1 o 2 iteraciones sea suficiente.
6.3 Segmentaci´ on basada en Bordes
Para este tipo de experimentos se implement´o el detector de bordes de Canny (ver seccci´on 4.3.1). La
imagen usada para este experimento se muestra en la figura 20a (la cu´al es la misma usada en el experimento
anterior). Los bordes obtenidos con los par´ametros σ = 1.0, T
H
= 0.75 y T
L
= 0.15 son mostrados en la
figura 20b.
Como podemos ver, dependiendo de los par´ametros, algunos bordes son cerrados u otros no, lo cual
representa un problema si se desea “rellenar” los objetos. Es quiz´a viable (dependiendo de la aplicaci´on)
detectar los bordes no cerrados por medio de los extremos (aquellos p´ıxeles de bordes que no tienen mas
que un vecino) y eliminarlos. Este problema de bordes abiertos presenta una desventaja con respecto a la
aplicaci´on del algoritmo EM, sin embargo este m´etodo es mas f´acil de implementar y el tiempo de ejecuci´on
35
a) b)
Figure 20: a) Imagen original. b) Bordes encontrados por el algoritmo de Canny.
es considerablemente menor (1 segundo en la misma PC).
6.4 Segmentaci´ on basada Textura
Para los experimentos de esta secci´on se escogieron algunas im´agenes con textura, las cuales, es casi imposible
segmentarlas en base a su valor de gris. Los m´etodos probados fueron un banco de filtros de Gabor (ver
secci´on 4.4.4) y los kernels de Laws (ver secci´on 4.4.2).
La figura 21 muestra los resultados de esta segmentaci´on, en ella se muestra por renglones los experi-
mentos, la primera columna contiene las im´agenes originales (200 200 p´ıxeles en promedio) , la segunda
columna tiene los resultados de la segmentaci´on con el banco de filtros de Gabor y la tercera columna muestra
los resultados de la aplicaci´on de los kerneles de Laws.
A continuaci´on se indican los par´ametros utilizados. En todos los caso se coloc´o un banco de 40 filtros
de Gabor equidistantes en el espacio de la frecuencia y con la misma anchura σ = 3.0. La segmentaci´on que
se presenta corresponde a una agrupaci´on usando el algoritmo de K-Medias, con k = 2 (ver secci´on 4.5.1)
tomando como entrada de caracter´ısticas las respuestas de los filtros para cada pixel.
En el caso de los kernels de Laws, el unico par´ametro que es el tama˜ no de la vecindad del filtrado, el
cual se fij´o de esta manera : 17, 25 y 17, para el primer, segundo y tercer experimento respectivamente. La
agrupaci´on se hizo igualmente usando el algoritmo de K-Medias con el par´ametro k = 2.
Como podemos ver en los resultados, la segmentaci´on en textura es un proceso complicado, dependiendo
de los par´ametros escogidos los objetos se pueden obtener erosionados o bien dilatados. El caso extremo se
ve en el panel 21b en donde los filtros de gabor no pudieron segmentar correctamente el objeto.
El proceso de Gabor es significativamente mas caro que el utilizar las energias de Laws. La ejecuci´on de
los filtros de Gabor involucra convoluciones y/o transformadas de Fourier directas e inversas, lo cual hace el
proceso lento (aproximadamente 50 segundos en la PC descrita anteriormente, implementaci´on en lenguaje
C). Por su parte las energ´ıas de Laws son de f´acil implementaci´on y su ejecuci´on es r´apida (6 segundos,
misma computadora, implementaci´on en Matlab).
6.5 Descriptores de forma
Finalmente se muestra un experimento en el cual se desea diferenciar un tipo de objetos de otros.
La figura 22 muestra el proceso completo desde la imagen original (panel a), la aplicaci´on de un umbral
36
a) b) c)
d) e) f)
g) h) i)
Figure 21: Segmentaci´on de textura, experimentos por renglones. La primera columna tiene las im´agenes
originales, la segunda columna tiene los resultados por medio de un banco de filtros de gabor y la tercera
columna los resultados de la aplicaci´on de los kernels de laws.
(panel b), el rellenado de los huecos (panel c), la aplicaci´on de una cerradura para eliminar los objetos muy
peque˜ nos (panel d) y finalmente el proceso de etiquetado (ver secci´on 5.1).
Una vez que se tienen estos objetos en una imagen binaria, ahora es necesario poder determinar carac-
ter´ısticas de cada uno de ellos para poder identificarlos en dado caso de que haya mas de un tipo de objeto, o
tamb´ıen si se desea detectar traslapes de objetos, las cuales dan como resultados componentes que no tienen
formas el´ıpticas como se puede ver en la figura 22d.
Para mostrar la utilidad y (problemas que se presentan) cuando se escoge algun descrptor de forma, se
seleccionaron 4 de los objetos segmentados para encontrar sus coeficiente de compacidad (ver secci´on 5.4.4).
La figura 23 muestra los 4 objetos seleccionados y la tabla 4 mustra los coeficientes de compacidad calculados
para cada uno de ellos.
Es importante hacer notar que salvo el objeto mas circular [panel 23b] el cual tiene un valor de compacidad
significativamente mas grande que los demas y el objeto que tiene un gran hueco [panel 23c], el cual tiene
un valor de compacidad significativamente inferior, nos ser´ıa muy dif´ıcil poder separar el caso de los objetos
con forma de estrella [panel 23a] de los casos donde 2 objetos el´ıpticos se intersectaron [panel 23d], ya que
sus coeficientes no son muy diferentes. Sin embargo, si consideramos que el tama˜ no medio de los objetos
es similar, y nos fijamos en los per´ımetros o el ´area, el caso de los objetos traslapados es quiz´a identificable
37
a) b) c)
d) e)
Figure 22: Proceso completo, desde umbralizado, restauraci´on y an´alisis de componentes conectados.
a) b) c) d)
Figure 23: Objetos encontrado en aplicaciones pr´acticas de formas variadas.
por esta medida, la cual podemos apreciar que es significativamente mayor. El caso es que, nuevamente,
dependiendo de la aplicaci´on, es posible que unos descriptores de forma nos ayuden o no, y que algunos
descriptores sencillos trabajen mejor que otros mas complicados.
7 Conclusiones
El n´ umero de estrategias computacionales que se han desarrollado para la llevar a cabo la b´ usqueda detecci´on
y conteo de objetos en im´agenes digitales es sumamente extenso. Sin embargo, no existen esquemas de
soluci´on generales para todos los casos posibles. Existen m´etodos que por definici´on son especializados para
ciertos casos y m´etodos que aunque parecieran de aplicaci´on general, siempre es posible encontrar casos en
los cuales no van a entregar los resultados deseados (ya que, debido a la creciente demanda de aplicaciones
autom´aticas o semi-autom´aticas de vision computacional, los casos de aplicaci´on son tambi´en muchos, son
complicados por naturaleza y de ´ındole muy variada).
Por lo anterior, es necesario tener en mente, que cuando se desea solucionar un problema pr´actico,
se necesita analizar el problema como un paso primario (y fundamental), lo cual nos conducir´a a buscar
un m´etodo de soluci´on que se adapte adecuadamente a las caracter´ısticas del problema en cuesti´on. Este
trabajo, da un panorama ´amplio de los diferentes problemas y las diferentes esquemas de soluci´on que se han
38
Objeto Area Per´ımetro Compacidad
a) 903.5 135.98 0.614027677
b) 727 104.08 0.843353609
C) 720.5 160.46 0.351649718
d) 1568.5 178.26 0.620278292
Table 4: Medida de compacidad para los objetos de la figura 23
propuesto, de tal manera, que sirva como un punto de partida en la b´ usqueda de la soluci´on mas adecuada
(o en el mejor de los casos indique una manera de resolver el problema).
En la b´ usqueda de soluciones, un adecuado an´alisis del problema nos puede llevar a soluciones sencillas
bien adaptadas al problema, las cuales pueden dar mejores resultados que la aplicacion de m´etodos un tanto
complicados de caracter gen´erico.
En la secci´on de resultados se han presentado los productos obtenidos con algunos de los m´etodos expli-
cados en las secciones anteriores. Esto con el objetivo de conocer o permearse en el problema y de dejar un
registro de las posibles soluciones obtenidas a algunos casos que sirven de ejemplo.
References
[1] Harry Wechsler “Computational Vision”, Academic Press,.
[2] K. Laws. Rapid texture identification. In SPIE Vol. 238 Image Processing for Missile Guidance, pages
376-380, 1980.
[3] Bernard Jahne. Digital Image Processing. Concepts, Algorithms and scientific applications. Springer-
Verlag
[4] T. Hastie, R. Tibshirani, J. Friedman “The Elements of Statistical Learning: Data Mining, Inference,
and Prediction” Springer-Verlag, 2001
[5] S.Z. Li, “Markov Random Field Modeling in Image Analysis,” Springer Verlag, Tokyo, 2001.
[6] S. Geman and D. Geman, “Stochastic relaxation, Gibbs distribution and the Bayesian restoration of
images,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 6, 6, 721-741, 1984.
[7] Preparata F. P. and M. I. Shamos. Computational Geometry. Spreinger Verlag. New York, 1985
[8] Tuceryan, M. and Jain, A.K. Texture Analysis. HPRCV , 1998.
[9] C. H. Chen, L. F. Pau and P. S. P. Wang . HANDBOOK OF PATTERN RECOGNITION AND
COMPUTER VISION. World Scientific Publishing Co. 1998.
[10] P. J. Burt, T. H. Hong, A. Rosenfeld. Segmentation and Estimation of Image Region Properties Through
Cooperative Hierarchical Computation. IEEE Tran. On SMC, Vol. 11, N.12, 1981, pp. 802-809.
39
[11] J. Canny. A Computational Approach to Edge Detection, IEEE Trans. on Pattern Analysis and Machine
Intelligence, 8(6), pp. 679-698 (1986).
[12] N. Milstein Image Segmentation by Adaptive Thresholding, Technion Israel Institute of Technology,
The Faculty for Computer Sciences, 1998.
[13] P. Kruizinga, N. Petkov and S.E. Grigorescu. Comparison of texture features based on Gabor filters.
Proceedings of the 10th International Conference on Image Analysis and Processing, Venice, Italy,
September 27-29, 1999, pp.142-147.
[14] Fu Chang, Chun-Jen Chen: A Component-Labeling Algorithm Using Contour Tracing Technique. IC-
DAR 2003: 741-745
[15] K. Voss: Discrete Images, Objects ans Functions in Z
n
. Springer Verlag . 1993.
40

Este trabajo se estructura como a continuaci´n se explica: La secci´n 2 define como se ha defindo el objeto o o y el fondo en una imagen, la secci´n 3 explica los principales problemas que se encuentran en este tipo de o tareas, la secci´n 4 ejemplifica algunos de los m´todos comunmente utlizados en este tipo de tareas, la secci´n o e o 5 se centra en el tratamiento de las im´genes, una vez que se ha establecido cu´les p´ a a ıxeles corresponden al fondo y cu´les al objeto. Experimentos con varios de los m´todos explicados son mostrados en la secci´n 6 a e o y finalmente las conclusiones son presentadas en la seccion 7.

2

Objetos y Fondo

El separar la imagen en unidades significativas es un paso importante en visi´n computacional para llegar al o reconocimiento de objetos. Este proceso se conoce como segmentaci´n. Una forma de segmentar la imagen o es mediante la determinaci´n de los bordes. El dual de este problema, es determinar las regiones; es decir, o las partes o segmentos que se puedan considerar como unidades significativas. Esto ayuda a obtener una versi´n m´s compacta de la informaci´n de bajo nivel, ya que, en vez de miles o millones de pixels, se puede o a o llegar a decenas de regiones, y de ahi reconocer los objetos. Las carater´ ısticas m´s com´nes para delimitar a u o segmentar regiones son: intensidad de los p´ ıxeles, textura, color y gradiente. Una suposici´n importante, o que normalmente se asume en visi´n de nivel intermedio, es considerar que p´ o ıxeles de un mismo objeto comparten propiedades similares. Por ejemplo, al procesar una imagen de una manzana, suponemos que el color de sus p´ ıxeles es aproximadamente homog´neo. En la vida real esto no es totalmente cierto, el color e de los p´ ıxeles var´ Para evitar este tipo de variaciones es mejor considerar un color “aproximadamente” ıa. similar sobre una regi´n mas que a nivel pixel. Esto no es un problema sencillo, ya que es dif´ distinguir o ıcil las variaciones propias del objeto o por cambios de iluminaci´n (por ejemplo, cuando hay sombras en los o objetos), de las diferencias por tratarse de otro objeto. En el an´lisis de los objetos en im´genes es esencial que podamos distinguir entre los objetos del inter´s y a a e “el resto”, normalmente se hace referencia a este ultimo grupo como el fondo. Las t´cnicas que se utilizan para ´ e encontrar los objetos de inter´s se refieren generalmente como t´cnicas de segmentaci´n (segmentar el primer e e o plano del fondo). El resultado de esta segmentaci´n da como resultado una imagen binaria. Normalmente o se utiliza la convenci´n de que se le asigan el valor 1 a los p´ o ıxeles que corresponden a objetos y el valor de 0 a los p´ ıxeles que corresponden al fondo. Como resultado de dicha segmentaci´n, la imagen es partida en o regiones y se conocen los bordes entre las regiones.

3

Los problemas en la Segmentaci´n de los Objetos y del fondo o

Existen diversos m´todos para la segmentaci´n reportados tanto en la literatura cl´sica como en desarrollos e o a recientes. Un hecho es que no existe un solo m´todo que pueda ser aplicado para todos los casos. Dependiendo e del problema, es decir, de las caracter´ ısticas de los objetos y del fondo, ser´ necesario aplicar diferentes a e o m´todos. A continuaci´n se explican los casos mas comunes que se encuentran en este tipo de aplicaciones.

3.1

El caso mas simple, objetos y fondo con intensidades de gris homog´neas e

e o Este caso es el mas sencillo y por lo tanto las t´cnicas de soluci´n son las mas simples e intuitivas. En este tipo de im´genes tanto los objetos como el fondo tienen valores de gris homog´neos y la diferencia a e entre los valores asociados a cada clase es distinguible. Este tipo de im´genes son raras en la mayor´ de a ıa 2

las aplicaciones. Se podr´ decir que este tipo de im´genes solo se presentan en casos sint´ticos y cuando ıa a e en el proceso de captura el ambiente de iluminaci´n y el proceso de formaci´n de la imagen son altamente o o controlados, dando como resultado un alto contraste entre el objeto y el fondo. Restricciones que no son f´ciles de satisfacer en general. La figura 1a muestra un ejemplo de este tipo de im´genes. a a

3.2

El problema de Shading o variaci´n suave del fondo o

A´n dentro del caso en el cual tanto los objetos y el fondo son capturados con intensidades de gris homog´neas, u e se tiene el problema de que la iluminaci´n no sea homog´nea, lo cual conlleva el problema de diferentes o e intensidades de gris corresponden al mismo objeto. Un ejemplo puede este problema se puede ver en la figura 1b. En este caso no es posible utilizar solamente la informaci´n de la intensidad del objeto y se o requiere utilizar otras fuentes de informaci´n, como por ejemplos los bordes de la imagen. Por otro lado la o presencia de ruido en el proceso de captura hace que las intensidades cambi´n y las zonas homog´neas dejan e e de serlo.

3.3

Objetos y/o fondo con textura

El caso quiz´ mas complicado es aquel en el cual los objetos y/o el fondo no tienen como caracter´ a ıstica espacial que las intensidades son homog´neas y por el contrario su caracter´ e ıstica es una textura visual. Para entender este concepto, podemos revisar la definici´n dada por Tamra, Mori y Yamawaky, 1978: ”Una regi´n o o de una imagen tiene una textura constante si el conjunto de estad´ ısticas locales u otras propiedades locales son constantes, var´ lentamente o son aproximadamente peri´dicas”. Cabe aclarar, que esta no es la unica ıan o ´ definici´n de textura y m´s grave a´n, no existe una definici´n con la que todos los expertos coincidan o que o a u o se pueda aplicar a todos los casos. La figura 1c muestra un ejemplo de este tipo de im´genes. En este caso a no es posible clasificar cada pixel de manera independiente, ya que la textura est´ difinida por regiones de a p´ ıxeles y no por p´ ıxeles individuales. En la pr´ctica siempre es mucha ayuda saber cuantos tipos de textura a pueden existir en la imagen, si por ejemplo, todos los objetos tienen la misma textura y grupos de objetos tienen texturas diferentes. Normalmente es necesario formar un vector de razgos o caracter´ ısticas para cada pixel r y se pueden obtener caracter´ ısticas de acuerdo al comportamiento del entorno o vecindad de dicho punto. Juzlesz 1973, ha estudiado y definido: 1. Estad´ ısticas de primero Orden. Mide la verosimilitud de observar un nivel de gris en una posici´n o escogida aleatoriamente en la imagen. No tiene dependencia de la interacci´n entre p´ o ıxeles 2. Estad´ ısticas de segundo Orden. Est´n definidas como la verosimilitud de observar un par de valores a de gris en los extremos de un dipolo (en este contexto, un dipolo se refiere una estructura de l´ ınea que tiene un distancia y una orientaci´n y donde cada uno de sus extremos esta colocado en un pixel de la o imagen) en el que tanto el tama˜o, la orientaci´n y la posici´n son seleccionados de manera aleatoria. n o o En este caso, dado que el concepto de textura se aplica a regiones, es necesario utilizar la informaci´n del o entorno, es decir, se aplican m´todos que utilizan las estad´ e ısticas de segundo orden. Es necesario entonces obtener rasgos de los p´ ıxeles de la imagen, rasgos que sean los mismos para regiones que tienen la misma textura. La adquisici´n de este tipo de rasgos se´ un de los temas de las siguientes secciones. o a

3

a)

b)

c)

Figure 1: Diferentes tipo de im´genes que conllevan diversos problemas en la detecci´n de los objetos. a o En general, podemos concluir que la separaci´n de objetos en una imagen se basa en la detecci´n de o o fronteras entre partes de dicha imagen, donde la cada parte esta definida por diferentes propiedades, las cuales como se vi´ anteriormente pueden ser: intensidad de valor de gris o textura. o

4

M´todos de clasificaci´n Objeto-Fondo e o

En las siguientes subsecciones se muestran varios met´dos que se utilizan para poder clasificar si un pixel o es del tipo objeto o del tipo fondo. Es importante decir que el n´mero de m´todos que se pueden encontrar u e hoy en d´ en la literatura es exesivamente extenso como para intentar cubrirlos todos. El objetivo de ıa este trabajo es ejemplificar algunos de los m´todos utilizados comunmente. En las siguientes secciones se e muestran algunos de dichos m´todos. e

4.1

Segmentaci´n basada en p´ o ıxeles, umbralizado

Este es el m´todo de segmentaci´n que conceptualmente es el mas simple. En este metodolog´ la clasificaci´n e o ıa, o se hace pixel a pixel y sin tomar en cuenta las interacciones espaciales de los mismos. Los procedimientos b´sicos de este tipo de segmentaci´n son el umbralizado (Thresholding) y el umbrala o izado basado en el histograma (Histogramming). El m´todo de umbralizado se aplica a im´genes en las cuales tanto los objetos como el fondo tienen e a valores homog´neos de gris como los mostrados en la figura 1a. El usuario escoje un valor de intensidad e dentro del rango din´mico de la imagen llamado umbral, luego, los p´ a ıxeles con un valor mayor a este umbral son considerados de una clase (objeto o fondo), mientras que todos los demas p´ ıxeles son considerados de la otra clase. Esto es, dado un umbral θ, (si los objetos son mas claros que el fondo) los p´ ıxeles que conforman a los objetos son definidos como: {< x, y >} : Ix,y > θ (1)

Si el valor del umbral es determinado tomando en cuenta la informaci´n del histograma, el m´todo se o e conoce como umbralizado basado en el histograma (Histogramming). En este caso el valor del umbral se escoje, tal que este valor divide las dos modas de la distribuci´n del histograma. Los resultados de utilizar o esta t´cnica sobre la figura 1a utilizando el histograma asociado Figura 2a, se pueden apreciar en la figura e 2b. Aunque claro est´ que esta situaci´n ideal rara vez ocurre. Un claro problema es que por lo general a o

4

como en el caso de im´genes multi-espectrales o las bien conocidas im´genes a color RGB. varios umbrales puedes ser especificados si existen varias bandas de informaci´n.1 Correcci´n del problema de Shading o No obstante que por lo general. Una vez que se tiene esta informaci´n es posible encontrar las intensidades o o que se necesitan restar para contrarestar este pernicioso efecto [ver secc 8. lo cual. a´n cuando esta restricci´n no se cumple. por supuesto en muchas aplicaciones no es posible conocer de antemano. Por lo tanto. los m´todos de segmentaci´n basada en p´ e o ıxeles se usan en casos cuando la iluminaci´n es homog´nea.) y que estan conectados. Un conocimiento a priori sobre el tipo de frontera (por ejemplo si el borde es sim´trico) entre el objeto y el fondo puede ayudar a determinar el e umbral correcto.2 [3]] Otra manera de poder encontrar un aproximaci´n de la iluminaci´n es filtrar la imagen por un filtro o o pasabajas. b) existe una gran cantidad de p´ ıxeles que tienen valores de gris intermedios entre la media de la intensidad de los objetos y la media de la intensidad del fondo (por ejemplo en los bordes).1. o bien. siempre y cuando se haga un pre–procesamiento que corrija la iluminaci´n. Una vez que se tiene la imagen filtrada. En este punto es util dar la definici´n de un objeto en una imagen: i) un objeto se define como el conjunto ´ o de todos los p´ ıxeles que comparten caracter´ ısticas (intensidad. 4. esta se resta a la imagen original anulando el efecto del shading. es decir se necesitan im´genes de referencia adecuadas. ii) un objeto es el conjunto de p´ ıxeles que se localizan al interior de una curva cerrada o curva de borde.2 Segmentaci´n basada en Regiones o Estas t´cnicas surgen bajo uno de los supuestos mas importantes en cuanto a la estructura de los objetos en e una imagen. ya que se asume que la iluminaci´n tiene frecuencias mucho mas bajas que las frecuencias de los o objetos. textura. la conectividad. es posible utilizar este tipo de t´cnicas o e u o e y obtener resultados aceptables. 5 . o a a 4. En implementaciones mas sofisticadas. Una imagen de referencia o a adecuada puede ser una toma con un fondo homog´neo (sin objetos) en el cual se pueda apreciar el gradiente e del cambio de la iluminaci´n. la selecci´n de o este umbral afecta el tamao de los objetos clasificados en la imagen. o El problema radica en el hecho de que para realizar dicha correcci´n con exactitud es necesario conocer la o naturaleza de la distorci´n.a) Figure 2: El proceso de histogramming.3. etc. evitando errores tales como clasificar p´ ıxeles aislados como objetos.

el cual tiene un valor de intensidad arriba del umbral alto. 2. si o a a es as´ se agrega a la lista de los p´ ı. a 2. se o divide en 4 y se mide la homogeneidad. Comenzar con un punto de inicio o punto semilla. A continuaci´n checar para cada punto vecino si est´ dentro del rango v´lido de intensidades. Escojer un pixel v´lido como el siguiente y repetir. se puede partir del hecho de que la imagen es en si es el objeto. u 3.2. es o o subdividida en subregiones. ıxeles v´lidos.4. Se pueden distinguir 3 variantes principales: 1. 3. o bien la diferencia es menor a un umbral y usando el mismo o criterio de diferencia para las desviaciones estandar. Nuevamente. La estrategia Bottom-Up en la cual se comienza con una sobrepartici´n de la imagen y se decrementa o el n´mero de regines con el algoritmo de uniones.1 Crecimiento de regiones (Region Growing) Este m´todo se puede explicar por los siguientes pasos b´sicos e a 1. o En un algoritmo puro de divisi´n. En la contraparte en un algoritmo de uni´n de regiones. Como medidadas de homogeneidad se pueden establecer umbrales o para las medias y las desviaciones de estandar de los valores de gris de las regiones. Es decir se evalua si la media de una regi´n es parecida a la de la otra. Una regi´n que tiene un valor de homegeneidad mayor a un umbral definido. a 4.2 Algoritmo de divisi´n y uni´n de Regiones (Split and Merge) o o En este caso (ver [3]). Se necesita tener un umbral alto TH y un umbral bajo TL dentro del rango din´mico de la imagen. 4. En im´genes 2D se usa vecindad de primer grado con 4 vecinos o bien vecindad a de segundo grado con 8 vecinos. Definir la conectividad. 6 . a e n La principal desventaja de este m´todo es que muy peque˜as conexiones entre regiones diferentes pueden ocasionar que 2 de ellas se colapsen en una sola. Las 2 operaciones principales que modifican la partici´n de la imagen son la divisi´n de una regi´n y o o o la uni´n de 2 regiones. se puede o empezar uniendo p´ ıxeles vecinos que cumplan con el criterio de homogeneidad. Dos regiones adyacentes pueden ser unidas para generar una nueva regi´n que o tiene un valor de homogeneidad menor a un cierto umbral.2. la manera de escojer el valor de los 2 umbrales no esta establecida. La estrategia Top-Down la cual comienza con una subpartici´n de la imagen y se incrementa el n´mero o u de regiones usando el algoritmo de divisiones. la partici´n de la imagen en regiones se desarrolla de acuerdo a un criterio de o homogeneidad calculado para cada regi´n. La estrategia h´ ıbrida en la cual se modifica la partici´n actual combinando los algoritmos de divisi´n o o y uni´n.

ahora usando unicamente los p´ ıxeles que est´n conectados. podemos mencionar de que no es necesario establecer de antemano e cuantas regiones se esta buscando. Los ultimos 2 pasos son repetidos iterativamente hasta que el algoritmo converge a una soluci´n.2. La otra alternativa es encontrar el valor del umbral local por medio del an´lisis estad´ a ıstico de los valores de intensidad en una vecindad de cada pixel. Ambos m´todos est´n basados en que se asume que es mas probable que la iluminaci´n e a o sea aproximadamente uniforme en peque˜as regiones. Los estad´ a ısticos mas simples y r´pidos de calcular incluyen a la media de los valores Tr = media.a diferencia del m´todo de umbralizado convencional explicado anteriormente . El umbral para o a cada pixel es encontrado por medio de la interpolaci´n de los resultados de las subim´genes en las o a que tiene relaci´n espacial. la mediana Tr = mediana. simplemente se escoje aquel que tiene el valor mas parecido. Promediado de los p´ recualcular la media de los valores de gris. En una imagen la caracter´ ıstica que se evalua es el nivel de gris de los p´ ıxeles. El nivel inmediato superior de la pir´mide tiene a a la mitad de p´ ıxeles que el nivel actual.un umbral e debe de ser calculado para cada pixel de la imagen. o 2. para decidir a cual pertenece. o 4. el valor de cada nodo padre en el arbol es calculado como el promedio de los hijos que estan conectados (ver figura 3c). Segmentaci´n por medio de la conexi´n en pir´mide. La desventaja de este m´todo es que es computacionalmente caro y para o e aplicaciones en rob´tica de tiempo real es inapropiado. cada pixel o o a a contribuye a 2 p´ ıxeles en el nivel inmediato superior. a Es decir. y que la forma de las regiones no tiene ninguna restricci´n. o la media de los valores m´ximos a 7 .3 Algoritmo de conexi´n en Pir´mide (Pyramid Linking) o a Burt [10] propuso un algoritmo de conexi´n en pir´mide como una implementaci´n efectiva en un algoritmo o a o de segmerntaci´n de caracter´ o ısticas. por ´ o ejemplo. ıxeles conectados. El estad´ ıstico ´ptimo depende completamente o del tipo de imagen que se est´ anlizando. en la figura 3c se puede ver que el algoritmo converger´ a dos regiones en el nivel pen´ltimo a u de la pir´mide. Esta decisi´n genera conexiones entre p´ o ıxeles que se localizan en distintos niveles de la pir´mide. A continuaci´n la estructura de conexi´n resultante es usada para o o 3. ya que en el nivel inmediato inferior las diferencias entre los p´ a ıxeles son despreciables. form´ndose una estructura de ´rbol como se muestra en a a a la figura 3b. Existen 2 estrategias principales para determinar dicho umbral [12]. Por la forma de crear la pir´mide. La estrategia de Chow y Kanenko y el umbralizado local. 4. 2. Los valores de 4 vecinos son promediados para formar el valor de a un pixel en el siguiente nivel mas alto de la pir´mide.4. Dentro de las ventajas de este m´todo. ver figura 3a. Chow y Kanenko dividen la imagen en un arreglo de subimagenes que se traslapan y entonces encuentran el umbral ´ptimo para cada subimagen por medio del an´lisis del histograma.2. C´lculo de una piramide Gaussiana.4 Umbralizado adaptivo (Adaptive Thresholding) En este caso . El algoritmo contiene los siguientes pasos: 1. n 1.

Sup´ngase que el rango de la imagen es [0. e o a y min´ ımos Tr = max−min (es importante hacer notar que en el caso cuando existen valores at´ ıpicos 2 (outliers) en una regi´n. por lo tanto forman la base de nuevos u watersheds. deber´ de considerar la regi´n local donde toda el agua de lluvia fluje al mismo lago o r´ Esto parecer´ no ıa o ıo. ya que de lo contrario un umbral inadecuado es escogido.255].a) b) c) Figure 3: Pasos del m´todo de conexi´n en pir´mide. El tama˜o de la vecindad debe de ser lo n suficientemente grande para contener suficientes valores de fondo y de objeto. Si ellos estan en la vecindad de de 8 . Entonces agregamos todos los p´ ıxeles con intensidad 1. el escoger regiones muy grandes puede violar la suposici´n de que la iluminaci´n es aproximadamente uniforme. Claramente no hay ning´n pixel con valor menor a ello. Los puntos anteriores representan las o o desventajas del m´todo e 4. ıa ser aplicable a las im´genes con valores de intensidad.5 M´todo de Watersheds e Una regi´n ”watershed” (linea divisoria de las aguas) o bien una cuenca es defina como una regi´n sobre o o la cual todos los puntos fluyen cuesta abajo hacia el mismo punto en com´n. Empezamos primero con los p´ o ıxeles con valor 0. a a Una manera de encontrar watersheds es pensar en llenarlos desde abajo hac´ arriba y hallar cu´les ıa a piscinas se generan. ya que la media es dezplazada o significativamente por un solo valor at´ ıpico y la mediana no). Inspirados en geolog´ uno u ıa. En la contraparte. pero toma sentido si se aplica a im´genes de gradiente.2. la mediana es mas robusta que la media.

σf ) 9 . agregamos estos p´ ıxeles a estas regiones. Hay que hace notar que el fondo de la cuenca puede estar conformado por varios p´ ıxeles y no solo uno. Este pixel q es la base de una cuenca. Todos aquellos p´ o ıxeles que alcanzan q con esta estrategia pertenecen al mismo watershed.watersheds ya encontradas (con valores de 0). o El post-procesamiento es simple: al final se tiene que para cada pixel tenemos asociado un identificador ri = (xi . Como su nombre lo indica n este algoritmo consta de 2 pasos. En el paso de Expectation se ajusta la mejor segmentaci´n de acuerdo a los par´metros del modelo. los cuales se ejecutan de manera iterativa hasta alcanzar convergencia. yi ). Este implementaci´n permite localizar o r´pidamente todos los p´ a ıxeles con intensidad k. El post–procesamiento investiga u uno por uno estos identificadores. Un Algoritmo que es muy o utilizado por su buen desempe˜o es el algoritmo EM (Expectation-Maximization). y si uno de ellos es adyacente a una regi´n ya etiquetada. con lo cual se detectar´ 2 watersheds que en realidad son ıan la misma. cambiando o a a o su valor de intensidad. Esta estrategia u liga cada pixel p con su vecino de valor menor. aunque quiz´ no es la mejor distribuci´n). Este algoritmo se repite para cada valor k hasta el m´ximo (255 en este ejemplo): cada pixel con intensidad a k que es vecino de una regi´n ya etiquetada es agregado a esa regi´n. por lo tanto el o ´ ındice i corre de 1 al n´mero de regiones encontradas hasta este momento. Es entonces necesario agrupar estos m´ ınimos a una sola regi´n usando un post-procesamiento. todos ellos deben de ser agregados a esta regi´n. mientras o a que en el paso de Maximization los par´metros del modelo son aproximados de acuerdo a la segmentaci´n a o actual [4]. 4. digamos que tomamos un rk y buscamos si existe alg´n rj que sea vecino. Se llega ı aun punto en el cual se alcanza el pixel q el cual es un m´ ınimo local y por lo tanto no tiene vecinos con valores menor a ´l. Lo anterior se hace hasta convergencia. se fusionan las regiones rk y rj . que es la coordenada del pixel a donde se lleg´ mediante el proceso de descenso. Entonces los valores de gris observados vienen de distribuciones: 2 Yo ∼ N (µo . pero que las intensidades han cambiado por la introducci´n de un ruido Gaussiano (se asume la ditribuci´n Gaussiana por simplicidad en los c´lculos. u si esto ocurre (es decir tenemos 2 watersheds cuyas bases son vecinas. En este momento se establece que apartir de p se e alcanz´ q con esta estrategia. es decir hasta que ya no es posible fusionar regiones. un grupo de p´ ıxeles pueden converger a uno de los p´ ıxeles de este m´ ınimo y otro grupo de p´ ıxeles pueden converger a otro p´ del mismo min´ ıxel ımo. Otra posible implentaci´n es denominada tobogganing. En este caso. este a su vecino de valor menor y as´ sucesivamente. Este algorimo o o b´sico puede ser implementado de una manera eficiente por medio del uso de estructuras de datos del tipo a histograma. es decir son la misma). o o Se debe de ser cuidadoso con un detalle: puede haber varios p´ ıxeles juntos con intensidad k. σo ) (2) (3) 2 Yf ∼ N (µf . las cuales indexan todos los p´ ıxeles por su intensidad.6 Un algoritmo de segmentaci´n EM o Existen algoritmos muy sofisticados para la segmentaci´n de objetos y fondo. Supongamos entonces que los objetos y el fondo tienen un valor de intensidad de gris µ o y µf respectio vamente. la cual tiene ese nombre ya que es un proceso o an´logo a deslizarse por las cordilleras del gradiente hasta llegar a un m´ a ınimo local en com´n.2. de lo contrario creamos una nueva regi´n para estos p´ o ıxeles.

por lo tanto. se asume que tanto el fondo como los objetos son regiones. Una vez que se tiene la probabilidad muestreada para cada pixel. En base a lo anterior. Por lo tanto. ya que parten de la imagen observada. dando probabilidades altas a configuraciones en donde los p´ ıxeles tienen vecinos con valores iguales y probabilidades bajas al caso opuesto. los par´metros desconocidos que hay que determinar son la medias y las desviaciones estandar de a ambas distribuciones. se obtiene una segmentaci´n preliminar y se recalculan los estimadores o de los par´metros de estas distribuciones de la siguiente manera: a I(r) ∗ bo (r) r bo (r) µo = σo = y r (6) (7) r (I(r) − µo )2 bo (r) r bo (r) µf = σf = r I(r) ∗ bf (r) r bf (r) (8) (9) r (I(r) − µf )2 bf (r) r bf (r) donde bo (r) y bf (r) son unas funciones indicadoras: 1 0 1 0 si r pertenece al objeto en caso contrario si r pertenece al fondo en caso contrario bo (r) = bf (r) = (10) (11) El c´lculo de los estimadores proviene directamente de la definici´n de media y varianza. 10 . Esta homogeneidad se modela en base a campos aleatorios e Markovianos [5]. ya que dadas podemos estimar una verosimilitud para cada pixel de si pertenece al fondo o al objeto. por ejemplo es la suma de los valores de gris de los p´ ıxeles que fueron catalogados como pertenecientes al objeto entre el n´mero de p´ u ıxeles que pertenecen al objeto. Adem´s de lo anterior. y no p´ a ıxeles aislados. la probabilidad de que un pixel en la posici´n r pertenezca al fondo esta dado por: o P (I(r) = µf ) = 1 (2π)σf exp −(µf − I(r))2 2 2σf (4) y la probabilidad de que pertenezca al objeto esta dada por: P (I(r) = µo ) = 1 (2π)σo exp −(µo − I(r))2 2 2σo (5) Estas probabilidades son conocidas como verosimilitudes. La media de a o los p´ ıxeles que pertenecen al objeto. En este enfoque la probabilidad a priori se modela. por lo que deben de existir zonas homog´neas. se usa un Gibs Sampler [6] para muestrear la probabilidad de que la imagen modelada como un campo aleatorio Markoviano pertenece a un configuraci´n en base al comportamiento de cada pixel con o respecto a su vecindad y a la verosimilitud tomada de los modelos (4) y (5) .

a´n con iluminaci´n o u o perfecta. Se busca nuevamente un punto de inicio. ya que es el detector de bordes ms poderoso que existe actualmente.Las funciones indicadoras se obtienen como el resultado del proceso del Gibbs Sampler: si un pixel s tiene probabilidad mas alta de pertenecer al objeto. Realizar un barrido de la imagen l´ ınea por l´ ınea en busca de un m´ximo local en la magnitud del a gradiente. por lo tanto. µf y σy se procede nuevamente a a el paso Expectation para obtener una nueva segmentaci´n y despu´s Maximization hasta convergencia. definido como: o f (x. Nunca se puede a o esperar que alg´n algoritmo de detecci´n de contornos trabaje bien con im´genes crudas. se u o a convoluciona la imagen f con filtros gaussianos uni-dimensionales. a o La estrategia t´ ıpica es: 1. Cuando un m´ximo es encontrado.1 Detector de Bordes de Canny El algoritmo mas utilizado es el de Canny [11]. 4. De esta forma la imagen se suaviza (eliminacin de ruidos). y) = ( ∂f ∂f . lo cual en la pr´ctica es dif´ de determinar. entonces bo (s) = 1 y bf (s) = 0. lo que se debe de hacer es buscar los m´ximos locales en la intensidad del borde. un problema muy importante en la segmentaci´n de los objetos ıa o o es el problema de Shading o iluminaci´n no uniforme. si tenemos 2 clases de objetos unos obscuros y otros claros. Una vez que se han calculado los nuevos estimadores de par´metros µo . al momento de utilizar un umbral. Se puede probar a que esta estrategia no est´ influenciada por las variaciones en la iluminaci´n. ) ∂x ∂y (12) donde a su vez las derivadas son aproximadas por diferencias finitas atrasadas 11 . 2. Aunado a ello. o e El principio del algoritmo los estimadores de parmetros son propuestos por el usuario en base a su conocimiento a priori del problema. El desempe˜o de este algoritmo es muy bueno. a ıcil La segmentaci´n basada en bordes esta basada en el hecho de que la posici´n de un borde es dada por o o un m´ximo en las derivadas de primer orden o un cruce por cero en las derivadas de segundo orden. Aunque la imagen de salida es mas borrosa se gana que un pixel de ruido tiene un efecto pernicioso mas peque˜o sobre el c´lculo de las derivadas. los objetos claros tienden a engrandecerse y los objetos oscuros tienden a empeque˜erse. se ejecuta un algoritmo de rastreo (Tracing algorithm) el cual a intenta seguir el m´ximo del gradiente alrededor del objeto hasta encontrar nuevamente el punto de a inicio. aunque tiene la desventaja de ser costoso computacionaln mente.3. 3. 4. n a A continuaci´n se calcula el gradiente de la imagen suavizada. σo . Este problema puede n solucionarse si se utiliza un valor umbral para cada objeto. o El primer paso es el c´lculo de la magnitud del gradiente y de la direci´n del mismo. Por lo a tanto. [ver figura 1c].3 Segmentaci´n basada en Bordes o Como se hab´ mencionado en la secci´n 2. A continuaci´n se describen los pasos de dicho algoritmo.

y) ∂x o bien diferencias finitas centrales: ∂f f (x + 1. existen varios esquemas para el c´lculo de las mismas. pero que necesariamente estan conectados con puntos con alta confianza en el borde.3. nos permite detectar un o borde a´n en una parte de la imagen donde la linea no esta bien definida (y la magnitud del gradiente es u peque˜a). n 4. uno alto y uno bajo. es decir identificar unicamente los puntos que pertenecen al centro del borde y eliminar todos los demas. y) − f (x. Esto marca claramente cuales pueden ser bordes genuinos y cuales e n no. El tama˜o del filtro Gaussiano de suavizado y los dos umbrales. pero al mismo tiempo evita que se confundan bordes con p´ n ıxeles de ruido aislados (los cuales tambi´n tienen una magnitud peque˜a). Se requieren dos umbrales. Se pueden usa difencias finitas adelantadas: a ∂f = f (x + 1. El segundo paso adelgazar los bordes. Este proceso contin´a hasta que se llega al punto de donde se parti´ o bien ya no hay mas p´ u ıo ıxeles a lo largo del borde que cumplan la condici´n de estar arriba del umbral bajo. Para estos puntos de borde se rastrea si este pixel est´ conectado a un punto a que tenga una magnitud arriba del umbral bajo. De esta manera todos los p´ o ıxeles que tienen una magnitud de gradiente arriba de del umbral bajo. y) − f (x − 1. Canny utiliz´ un umbralizado con o o hist´resis. los cuales determinan el funcionamiento del a mismo. y) = ∂x 2 12 (17) (16) . y) ∂x y se procede a calcular la magnitud del gradiente: | f (x. si es asi. y) = atan ∂f ∂y ∂f ∂x (13) ∂f 2 ∂f 2 + ∂x ∂y (14) (15) En este momento tenemos una imagen con las magnitudes del gradiente y una imagen con la direcci´n o del gradiente con cada punto.∂f = f (x. y) − f (x − 2. Haciendo la e o suposici´n de que los bordes importantes deben de estar sobre lineas continuas. como a continuaci´n se explica. o e El tercer paso es la ejecuci´n de un algoritmo de rastreo de borde. este punto tambi´n se marca como un punto del e borde. El proceso es el siguiente: se define un punto de borde como aquel punto que tiene un valor de magnitud mas grande que el umbral alto. eso se logra aplicando un algoritmo de supresi´n de los no m´ximos o a (non maximum suppression). el cual consiste en poner un cero en todos aquellos puntos que tienen un pixel vecino en la direcci´n local del gradiente con un valor de magnitud de gradiente mayor a ´l.2 Diferentes esquemas de c´lculo de gradientes a Aunque en la secci´n anterior se propuso el c´lculo de las derivadas parciales en base a diferencias finitas o a atrasadas. pero puntos candidatos a borde que no est´n conectados son desechados. son marcados como borde. y)| = y la direcci´n del gradiente: o Θ(x. a Por lo tanto el algoritmo de Canny tiene 3 par´metros.

3 Detector de bordes basado en el operador de Laplace Uno de los detectores de borde mas usados es el operador de Lapace. y + 1) + f (x. y − 1) − 4f (x.5 de unidad atras o adelante respectivamente. si se desea tener un Laplaciano isotr´pico a o o o 45 se puede utilizar: 1  L2 =  1 1  1 −8 1  1  1  1 (23) Ademas. y) = f (x + 1. y) ∂y 2 lo que da como resultado 2 (19) (20) f (x. y) ∂x2 ∂f 2 = f (x. y) + f (x. f (x. es com´n encontrar que se utilizan las m´scaras anteriores con los signos de los coeficientes u a cambiados (positivo en el centro y negativo en los alrededores ). tenemos que: o ∂2f = f (x + 1.3. A´n con estas desventajas las diferencias finitas son altamente utilizadas como un aproximados de u la derivada de un funci´n discreta. y + 1) + f (x. y) + f (x − 1.cada una de estas aproximaciones tiene sus ventajas y sus desventajas: las diferencias finitas adelantadas y atrasadas no indican el valor discreto de la derivada en el punto x. Es decir el resultado de la convoluci´n de esta mascara es cero cuando existe un cambio de sigo en la imagen. ya que los resultados son bastante aceptables y el costo computacional o del c´lculo es peque˜o. Por otro lado las diferencias finitas centrales no tienen ese problema. Una ventaja de este detector de bordes es que los bordes detectados no dependen de la rotaci´n de los o mismos (a diferencia de otros como es el caso del detector de Sobel [3]) y se usa una sola m´scara para a detectar todos los bordes. 13 . o La mascara anterior nos da un laplaciano isotr´pico a 900 . y) o 2 f (x. sino 0. y) + f (x − 1. ya que en una funci´n 2D. y) = ∂2f ∂f 2 + 2 2 ∂x ∂y (18) En la versi´n discreta. y)   0  1  0 (21) La m´scara del filtro usada para la convoluci´n es entonces: a o 0  L1 =  1 0 1 −4 1 (22) La idea intuitiva es la siguiente. Se deriva a partir de las derivadas de segundo orden. y − 1) + 2f (x. pero adolecen del hecho de que el c´lculo de la derivada en un punto x no toma en cuenta el valor de la funci´n f (x) en el a o punto x. a n 4. y) + 2f (x. si el coeficiente del centro es positivo los coeficientes alrededor del centro deben de ser negativos y de esta manera la suma de los coeficientes es cero.

Esto lleva a un tipo de de detector de bordes regularizado y a una clase de filtros llamados Laplace of Gaussian o LoG. se podra usar alguno de los a varios mtodos para detectar clusters n-dimensionales para separar las regiones.3. dy) para un vector de dezplazamiento d esta definida formalmente como: Pd (ij) = |{((r. y | · | es la cardinalidad del conjunto. En general es dif´ encontrar un solo descriptor de la textura.4 Segmentaci´n basada en Textura o Cuando no es posible binarizar tomando en cuenta la homogeneidad de valores de intensidad ya sea en los objetos o en el fondo.4 El filtro LoG Los filtros de Laplace tienden a aumentar el nivel de ruido considerablemente. v) = (r + dx. es sensible al ruido (como cualquier derivada de segundo orden) y no es posible detectar la direcci´n del borde apartir de la imagen de resultado. I(t. s). A continuaci´n se presentan algunos m´todos de detecci´n de rasgos o caracter´ o e o ısticas de textura. (t. Pd = 2 2 0 2 14 0 2 0  2  0 2 . s) = i. v)) : I(r. por lo tanto un es posible obtener un mejor detector de bordes si primero se suaviza la imagen con un filtrado Gaussiano y despues se aplica el filtro de Laplace. Por lo anterior lo mas com´n es que se forme una imagen multi–param´trica. s). v) = j}| (24) donde (r. es necesario utilizar m´todos de segmentaci´n que tomen en cuenta la textura de los e o mismos. Ejemplo: para la imagen I de dimensi´n 4 × 4 con 3 niveles de gris. lo cual es computacionalmente m´s eficiente que convolver a 2 veces. 4. normalmente se usa una ventana (Gaussiana) para limitar la contribuci´n de la informaci´n conforme la distancia al punto en o o cuesti´n aumenta. o Los rasgos o caracter´ ıstica de textura son coeficientes que texturas que son iguales para texturas iguales. 4. La G × G matriz de co-ocurrencia de niveles de gris Pd = (dx. En fases de procesamiento posteriores. Donde cada u e imagen contiene un descriptor de los que se ver´n en las secciones posteriores.Las desventajas es que produce bordes dobles.4. v) ∈ N × N . tenemos o 1 1 I= 0 0 1 1 0 0 0 0 2 2  0 4 0  . o 4. Cuando se calculan las caracter´ ısticas de un punto locales en base a su vecindad. mas aparte algun descriptor a de la textura basado siempre en una vecindad. (t. como se ver´ mas adelante. s + dy). Es posible calcular la expresi´n ana´ o litica de la derivaci´n del kernel o gaussiano y aplicar este kernel en un solo paso. estiman propiedades de las im´genes relaa cionadas con los estad´ ısticos de segundo orden. ya que existen varios problemas ıcil asociados a ellos: El detector perfecto deber´ de ser insensible a rotaciones. a escalamientos o a transformaıa ciones proyectivas. una para el suvizado y la otra para el laplaciano.1 Matrices de co-ocurrencia Los estimadores espaciales de co-ocurrencia de niveles de gris. (t. ya que la textura se define para regiones y no para p´ ıxeles individuales.

j) σx σy 2 Pd (i. j) j Pd (i.j) j 1+|i−j| j (i−µx )(j−µy )Pd (i.Caracter´ ıstica Energ´ ıa Entrop´ ıa Contraste Homogeneidad Correlaci´n o F´rmula o i − i i i i Pd (i.2 Medidas de Textura de Law La medidas de energ´ desarrolladas por Kenneth Ivan Laws han sido usadas en diversas aplicaciones. ondulaci´n (Wave) e o y rizo (Ripple). Los nombres de estas caracter´ ısticas se ha definido as´ para dar una idea de lo que representan. Por ejemplo. 4. La primera es que no esta bien defino como escoger el vector de desplazamiento d. si observamos que la diagonal de esta matriz tiene los valores mas grandes. y calcular varias matrices para diferentes valores de d es computacionalmente costoso. o Los kerneles t´ ıpicos de de convoluci´n en 2D para discriminaci´n de texturas son generados a partir del o o siguiente conjunto de kerneles de convoluci´n unidimensional de longitud 5: o L5 E5 S5 W5 R5 = = = = = [ [ [ [ [ 1 -1 -1 -1 1 4 -2 0 2 -4 6 0 2 0 6 4 2 0 -2 -4 1 1 -1 1 1 ] ] ] ] ] Los nemot´cnicos utilizados se refieren a nivel (Level). ya que para cada uno de ellos existen un gran n´mero de u caracter´ ısticas a evaluar. Esas ıa medidas son calculadas en 2 pasos: primero se aplican peque˜os kerneles de convoluci´n a la imagen digital n o y luego se aplica una operaci´n de ventana no lineal. mancha (Spot). 15 . Es importante notar que la suma de todos los kernel excepto L5 es igual a cero. j)) (i − j)2 Pd (i. Se define : Pd (x) = j Pd (x. j) Pd (i. borde (Edge). j) log(Pd (i. con lo cual tenemos las caracter´ ısticas mostradas en la tabla 1. Se han propuesto varias caracter´ ısticas de la textura que pueden ser calculadas a partir de la matriz de co-ocurrencia.4. ı Las caracter´ ısticas basadas en la matriz de co-ocurrencia adolecen de varias dificultades. y) i (25) (26) Pd (y) = y definimos µx y µy como las medias y σx y σy como las desviaciones est´ndar de Pd (x) y Pd (y) respectivaa mente. j) j j Table 1: Caracter´ ısticas de textura en base a la Matriz de co-ocurrencia La matriz de co-ocurrencias indica algunas propiedades hacerca de la distribuci´n espacial de niveles de o gris en la textura de una imagen. podemos deducir que la textura es burda con respecto al vector de dezplazamiento d.

que indica que es una medida de “energ´ de la textura. y + j)| (27) Laws sugiere que se puede aplicar otro filtro diferente al absuluto.De esos kernels de convoluci´n uni-dimensionales se pueden generar 25 diferentes kerneles de convoluci´n o o bi-dimensional por medio de la convoluci´n de un kernel vertical con otro horizontal. ya que un filtrado no lineal ha sido aplicado. El resultado es un conjunto de 25 N × M im´genes en escala de gris. y + j)2 (28) En este punto se han generado 25 im´genes a partir de la original. y) = i=−l j=−l |Old(x + i. el cual es presentado a continuaci´n: o l l N ew(x. Aplicar los kerneles de Convoluci´n. y) = i=−l j=−l Old(x + i. Las imagens TEM son las ıa” siguientes: L5L5T L5E5T L5S5T L5W5T L5R5T E5L5T E5E5T E5S5T E5W5T E5R5T S5L5T S5E5T S5S5T S5W5T S5R5T W5L5T W5E5T W5S5T W5W5T W5R5T R5L5T R5E5T R5S5T R5W5T R5R5T 16 . para algunas aplicaciones solo es necesario o usar un subconjunto de ellos). La lista de todos los 5 × 5 kerneles generados es: L5L5 L5E5 L5S5 L5W5 L5R5 E5L5 E5E5 E5S5 E5W5 E5R5 S5L5 S5E5 S5S5 S5W5 S5R5 W5L5 W5E5 W5S5 W5W5 W5R5 R5L5 R5E5 R5S5 R5W5 R5R5 La manera gen´rica de utilizar estos kerneles se explica a continuaci´n: e o o 1. a las cuales componen la base de este an´lisis. Aplicar una operaci´n de ventana. Estas im´genes van a ser noma a bradas de acuerdo al nombre del kernel aplicado con una “T” al final. 24 de ellos suman cero excepto el L5L5. el siguiente filtro no-lineal es aplicado a las 25 im´genes: a a l l N ew(x. primero se aplican cada uno de los 25 kerneles de convoluci´n a dicha imagen (por supuesto. Esto es. De los 25 doso dimensional kernels que se pueden general. Dada una imagen de ejemplo a la que se le deasea aplicar un an´lisis texturas (calcular caracter´ a ısticas de textura en cada pixel). En este paso vamos a reemplazar cada pixel de nuestras 25 N × M o im´genes en escala de grises por una “Medida de Energ´ de la Textura” (TEM). Con lo anterior se ha generado otro conjunto de im´genes las cuales son nombradas como el a conjunto TEM de im´genes. a 2. Esto se hace tomando a ıa en cuenta una vecindad local alrededor de cada pixel y sumando todos los valores absolutos de los p´ ıxeles vecinos.

Para identificar estas nuevas im´genes. 4. entonces caracter´ ısticas similares pueden ser combinadas para remover el sesgo en la orientaci´n. Por ejemplo L5E5T es sensible a bordes verticales y E5L5T es sensible a o bordes horizontales. es un conjunto de 14 caracter´ ısticas de textura que son invariantes rotacionalmente. si normalizamos las im´genes TEM pixel por pixel con el valor de la imagen L5L5T. De acuerdo a la sugerencia de Laws. 17 . E5L5TR = E5L5T + L5E5T S5L5TR = S5L5T + L5S5T W5L5TR = W5L5T + L5W5T R5L5TR = R5L5T + L5R5T S5E5TR = S5E5T + E5S5T W5E5TR = W5E5T + E5W5T R5E5TR = R5E5T + E5R5T W5S5TR = W5S5T + S5W5T R5S5TR = R5S5T + S5R5T R5W5TR = R5W5T + W5R5T Para mantener la consistencia de las caracter´ ısticas con respecto a la contribuci´n. De esta manera las caracter´ ısticas que fueron generadas con kerneles de convoluci´n transpuestos son o adicionados juntos. debido a sus propiedades espaciales de definici´n de la vecindad local y porque la distribuci´n espacial de estos tokens o o esta reflejada en las formas de los poligonos de Voronoi. entonces tenemos una sola caracter´ a ıstica que es simplemente sensible a bordes. es posible utilizar este como una imagen de normalizaci´n. Todos los kerneles que hemos utilizado tienen una media zero excepto el L5L5. Si este es el caso. Combinaci´n de caracter´ o ısticas similares. apartir de un serie de puntos puede ser consultado en [7]. o a esto normalizar´ las caracter´ a ısticas para el contraste. la cual a denota invarianza rotacional. ver figura 4. se deben escalar las o caracter´ ısticas restantes por 2: E5E5TR S5S5TR W5W5TR R5R5TR = = = = E5E5T S5S5T W5W5T R5R5T * * * * 2 2 2 2 El resultado (si asumimos que hemos eliminado el kernel L5L5T como fue sugerido en el paso 3).3 Caracter´ ısticas en base a los mosaicos de Voronoi Los mosaicos de Voronoi han sido utilizados como generadores de tokens de textura [8]. El algoritmo de para generar los mosaicos de Voronoi. les agregamso la letra R al final. La apliaci´n de esta o 14 im´genes nos da un vector de caracter´ a ısticas de 14 componentes para cada pixel. la orientaci´n de las texturas no es o importante. Normalizar las caracter´ ısticas en contraste.4. 4.3. Si se suman esas 2 im´genes TEM. Para muchas aplicaciones.

Seleccionar aquellos p´ ıxeles est´n en un m´ximo local en la imagen filtrada.4 Modelos de Gabor Una de las formas mas utilizadas para la detecci´n de texturas es el banco de filtros de Gabor [8. la cual da la magnitud del vector del token al centroide del pol´ ıgono. En ella se muestran caracter´ ısticas como f2 . hacer pasar la imagen f por este conjunto de filtros y obtener una imagen como resultado del proceso con cada uno de los filtros. o La idea de utilizar un banco de filtros es la siguiente. Como a continuaci´n se ver´.4. 2.4.1) en la imagen binaria resultante del a o paso anterior usando los 8 vecinos mas cercanos. es necesario obtener e e a los tokens. y0 ) es definido o como: mpq = R (x − x0 )p (y − y0 )q dxdy (29) donde p + q = 0. Estas caracter´ ısticas han sido utilizadas para la segmentaci´n de texturas.Figure 4: 2 patrones de puntos y los mosaicos de Voronoi asociados. f4 indica la elongaci´n completa del pol´ o o ıgono (f4 = 0 para un c´ ırculo) y f5 indica la orientaci´n o del eje mayor. . Una vez que se ha construido los mosaicos de Voronoi. (Se dice que un pixel esta a a en un m´ximo local si su valor es mas grande que seis de sus 8 vecinos) a 3.. se extraen caracter´ ısticas de cada celda y tokens que tienen caracter´ ısticas similares son agrupadas para construir regiones de textura uniforme. Aplicar filtro del Laplaciano del Gaussiano. un filtro entonado a una cierta frecuencia responder´ con una alta magnitud donde o a a 18 . y) son las coordenadas del centroide del pol´ ıgono de Voronoi. Ejecutar un an´lisis de componentes conectados (ver secci´n 5. es decir una imagen r i . Los momentos de ´rea de los pol´ a ıgonos de Voronoi sirven como un conjunto util de caracte´ ´ ısticas. 4. 1. Cada componente conectado define un token. Una descripci´n de las cinco caracter´ o o ısticas usadas se dan en la tabla 2 donde (x. 2. 13]. ya que reflejan tanto la distribuci´n espacial tanto las formas de los tokens en la imagen texturizada. (ver secci´n 5. Para poder aplicar un m´todo geom´trico como este a una im´gen de valores de gris. El algoritmo de segmentaci´n o o esta basado en bordes: una gran diferencia (estad´ ıstica) entre las caracter´ ısticas de textura es evidencia de un borde en la textura. Una manera de obtener tokens (o simplemente puntos) en las im´genes de niveles de gris es a descrita a continuaci´n: o 1.. f3 da la direcci´n. El momento o de area de orden (p + q) de una regi´n cerrada R con respecto aun token con coordenadas (x 0 .6).

x. x. o Una imagen de entrada I(x. y el cual dejar´ pasar algunas de estas frecencuencias est´ definido entonces como una ventana Gaussiana con los a a siguientes 4 par´metros: a 1. esto es. y ∈ Ω. y) = r(i) (x. y − η)dξdη (30) (31) Para entender las funciones bidimensionales de gabor es necesario describir como se visualiza un filtro de gabor en la frecuencia. visulaizado en este espacio. o La diferencia fundamental entre un fitro de Gabor y un filtro pasabando radica en el hecho de que como el filtro de gabor no es simetrisco (esta posicionado solo para frecuencias positivas) la respuesta es la envolvente de las frecuncia a donde ha sido entonado. en este caso el filtro de gabor se posiciona como se muestra en la figura 5b. Esto se explica ıan a detalle a continuaci´n.0) y que la orientaci´n de estas frecuencias es perpendicular a la l´ o ınea de ´ngulo Θ que a une esta frecuencia con el origen de coordenadas. o 19 . η)g (r) (x − ξ. y).Caracter´ ıstica de Textura f1 f2 f3 f4 f5 Expresi´n o m00 x2 + y 2 atan(y/x) √ (m20 −m02 )2 +4m2 11 √ 2 m20 +m02 + 2m11 atan( m20 −m02 ) (m20 −m02 ) +4m2 11 Table 2: Caracter´ ısticas de los mosaicos de Voronoi exista esa cierta frecuencia y atenuar´ las zonas en donde no est´ presente. Podemos ver que las frecuencias mas altas se encuentran mas alejadas de origen (u. La imagen 5a muestra como se distribuyen las diferentes frecuencias de una imagen en el dominio de la frecuencia (u. denominado σv . v que definen la posici´n del filtro. supongamos que queremos que nuestro filtro de Gabor asent´e en nuestra imagen las zonas donde hay franjas con frecuencia u media y pendiente unitaria. y).v)=(0. y). la imagen real e imaginaria son: r(r) (x. y) y g (i) (x. η)g (i) (x − ξ. Por ejemplo. a a 2. y − η)dξdη I(ξ. y el ancho de la ventana Gaussiana o en la direcci´n v. la cual entrega espacialmente. Una vez que hemos determinado el filtro de Gabor correspondiente mediante la colocaci´n de una funci´n o o Gaussiana. podemos separar la imagen por regiones donde los filtros indicaron que exist´ frecuencias diferentes. Los numeros u. y ∈ Ω (donde Ω es el conjunto de puntos de la imagen) es convolucionada con una funci´n de Gabor bidimensional compleja gc (x. real e imaginario respectivamente. Si partimos del hecho de que una a e textura esta conformada por varias franjas en diferentes orientaciones y a diferentes frecuencias. denominado σu . para obtener una imagen compleja de o caracter´ ısticas de Gabor. v). El filtro de gabor. Esta posici´n es claramente tambi´n definida por o o e otros dos par´metros: el ´ngulo Θ y la distancia al origen ρ. El ancho de la ventana gaussiana en la direcci´n u. se procede a calcular la Transformada Inversa de Fourier la cual nos entrega los 2 kerneles de convoluci´n g (r) (x. y) = I(ξ.

Es claro que. x ≥ 0 0.. Clustering e o Para poder separar las diferentes regiones de la imagen basados en un conjunto de caractaer´ ısticas para cada pixel (caracter´ ısticas como las descritas en las secciones anteriores). y) = g (r) (x.. sin conocimiento a priori del tipo de franjas que contiene una imagen.7. usando el o o valor del pixel central como umbral.1. Supongamos que estamos posicionados en el pixel r y este tiene los ocho vecinos denominados si .5 Local binary Pattern (LBP) La primera versi´n o versi´n original de este operador trabajaba con los 8 vecinos de cada pixel. x < 0 (b) (b) = u(si − r) (32) (33) El codigo LBP es generado por la multiplicaci´n de los valores de los vecinos umbralizados s i por los o pesos asignados a cada vecino. 4. tenemos un vector de caracter´ o ısticas para cada punto de la imagen. y)2 nos indica en que regiones de la imagen esta presente esta textura. Este proceso se muestra en la figura 6. el n´mero posible de u filtros a probar ( combinaciones de los 4 para´metros descritos anteriormente) es muy grande y por lo tanto a el proceso completo requiere de un tiempo computacional considerable. Mediante la utilizaci´n del banco de filtros de Gabor. Este umbralizado se realiza de la siguiente manera: si con u(x) = 1. donde la entrada i-´sima de este vector es la magnitud (Mi (x.. b) Colocaci´n de un filtro o o o de Gabor.4. e 4. La magnitud punto a punto de esta imagen M (x. este o o operador detecta unicamente caracter´ ´ ısticas de textura y no es alterado por cambios en la iluminaci´n de la o imagen. se modela este conjunto como un vector 20 . i=0. Dado que el codigo LBP es por definici´n invariante a cambios mon´tonos en la escala de gris. y)2 + g (r) (x. y)) obtenida del procesamiento e de la imagen con el i-´simo filtro de Gabor.5 M´todos de clasificaci´n basados en los vectores de razgos.a) b) Figure 5: a) Relaci´n de las franjas y su posici´n en el espacio de la frecuencia.

donde un cluster indica que esos p´ ıxeles comparten carecter´ ısticas o rasgos.1 Agrupamiento por K-medias Este algoritmo consiste de 3 pasos principales [4]: 1. se trata de repetir dicho paso hasta que no se modifiquen los centros. Inicializaci´n. Asignaci´n y actualizaci´n de los centros. e Si ´sto ocurre. algunos patrones pueden cambiar de agrupamiento y en consecuencia. por lo que un o algoritmo donde se define de antemano el n´mero de clase puede trabajar bien. Ahora es necesario agrupar esto p´ ıxeles para formar objetos o componentes conectados. Es entonces la tarea detectar c´mulos o clusters en o u este espacio n-dimensional. En la literatura se pueden encontrar un n´mero exorbitante referencias de m´todos para clusterizar. A manera de demostraci´n u o en esta secci´n se describe uno de los m´todos mas sencillos e intuitivos de clusterizaci´n llamada k-medias. tenemos un conjunto de p´ ıxeles que pertenecen al fondo y un conjunto que pertenece al objeto. a 3. o e o 4. ıa 2. En el paso 2. para esto simplemente o se puede incializar como los centros con K de los puntos a clusterizar. o bien si se tiene informaci´n a o priori del comportamiento de los centros. o 5 Detecci´n y conteo de Objetos en im´genes binarias o a Hasta lo que se ha expuesto. Cuando no hayan e modificaciones se considera que se ha encontrado una buena partici´n y se termina el agrupamiento. Consiste en inicializar arbitrariamente los centros de los K grupos. En u nuestro sencillo caso de segmentaci´n entre fondo u objeto. 21 . pero que estan conectados. ya que por definici´n un objeto es un conjunto de p´ o ıxeles que pertenecen a la clase objeto. La u e clasificacin b´sica de estos m´todos es en metodos a los cuales se les indica de antemano cuantas clases o a e clusters se desea encontrar y metodos en los que este n´mero es determinado por el mismo algoritmo. los centros de ´stos.5. se asume que solo hay dos clases. En este paso se asigna cada patr´n al grupo ms cercano y o o o se recalculan los centros en base a esta asignaci´n. Aqui conviene hablar de las distancias entre los o patrones o vectores: si todas las entradas del vector (o caracter´ ısticas) tienen el mismo peso. de otra manera se deber´ de asigna pesos a cada caracter´ ıa ıstica de tal forma que las caracte´ ısticas mas relevantes tengan una mayor influencia en el c´lculo de la distancia. lo cual acelerar´ la convergencia. entonces se puede usar la distancia euclidiana.Figure 6: Ejemplo del c´lculo del codigo LBP a n-dimensional asociado a cada poisici´n r de la imagen. se puede inicializar con esta.

3. 22 . Se iniciliazan las etiquetas de todos los p´ ıxeles que pertenecen a la clase objeto a -1. Es decir. solo 3 objetos. arriba.Como siguiente paso. es necesario entonces agrupar estos p´ ıxeles en objetos o componentes. 7. es necesario o escojer algun descriptor de forma. En esta secci´n se presentan m´todos para realizar las dos tareas anteriores. 4. entonces asignar esta etiqueta al pixel actual E(p) = E(q). es posible tener 500 p´ ıxeles de tipo objeto pero. A continuaci´n se presentan algunas ideas para realizar dicho procesamiento. y por lo tanto que ya han sido etiquetados. Estos 4 vecinos son : izquierda. Se inicializa un identificador secuencial de etiquetas a C=0. u 5.1 B´ squeda exhaustiva basada en la conectividad de los p´ u ıxeles El algoritmo b´sico para establecer lo componentes conectados de una imagen binaria asigna una etiqueta a diferente (normalmente un numero entero) a cada componente u objeto de la imagen. objetos grandes de peque´os. se cuenta con una gran variedad: desde los mas sencillos e intuitivos. concavos de convexos. 2. o 8. dependiendo de la aplicaci´n. diagonal izquierda-arriba y diagonal derecha-arriba. por ejemplo EL. es decir agregar a la lista a estas nuevas equivalencias. 6. se pueden obtener muchas caracter´ ısticas de dichos objetos. digamos la de r. En el momento en que no se encuentran mas puntos para procesar se ha terminado la asignaci´n. es decir. Si hay diferentes etiquetas en los 4 vecinos asignar a p la etiqueta de cualquiera de ellos. Si ninguno de los 4 vecinos tiene una identificador de etiqueta. Si solo uno de los 4 vecinos q tiene un identificador de etiqueta. Se debe de recorrer la lista de equivalencias y se asigna una nueva etiqueta para todas las etiquetas anteriores que son equivalentes. por ejemplo. Sin embargo. Ya que estas regiones est´n conectadas tomar nota de la equivalencia. o 5. es decir. los cuales nos pueden servir para diferenciar objetos de ciertas caracter´ ısticas. hasta encontrar un o o pixel de p que no tiene etiqueta asignada. o e Dentro de los descriptores de forma de los objetos. la aplicaci´n definir´ el descriptor de forma mas adecuado para o a una posible clasificaci´n. digamos por ejemplo. A continuaci´n se o indica el algoritmo b´sico : a 1. se asigna la nueva etiqueta actual al punto p (E(p) = C) y se incrementa el n´mero de etiqueta actual: C = C + 1. Se establecen los 4 posibles vecinos que ya han sido visitados por el algoritmo.add(E(p) == E(q)). etc. hasta los mas complicados. E(p) = −1.1. o 5. Se inicializa una lista de equivalencia de etiquetas a vacia (LE = ∅). Se recorre la imagen rengl´n a rengl´n de arriba a bajo y de izquierda a derecha.1 An´lisis de componentes conectados y etiquetado a Una vez que tenemos la imagen ya binarizada indicando cuales p´ ıxeles pertenecen al fondo y cuales al objeto.

Segunda posibilidad: P ya ha sido etiquetado (figura 7c) y se le asigna a todo el contorno esta etiqueta. Todos los componentes son etiquetados en un solo e barrido de la imagen y se les es asignada una nueva etiqueta o la misma etiqueta de los p´ ıxeles vecinos. P debe de ser un pixel de contorno interno y por lo tanto se ejecuta tambien la rutina RASTREO DE CONTORNO. Sea C el ´ ındice de etiquetado. a Este algoritmo es el enfoque b´sico. En este caso P debe ser un punto externo del contorno y se ejecuta el procedimiento de RASTREO DE CONTORNO para encontrar el contorno que contiene a P . en este caso el vecino izquierdo de P ya debi´ de haber sido etiquetado. P no tiene etiqueta y su vecino de la izquierda es un pixel blanco (Figura 7a). 5. El vecino de la derecha de P en un pixel blanco no etiquetado. contorno externo. el cual es inicializado a 1. Se recorre la imagen nuevamente y para cada etiqueta vieja se le asigna la nueva que etiqueta que junta componentes equivalentes.a) b) c) Figure 7: Algoritmo de rastreo de contorno. El estado de este pixel puede caer dentro de los 3 siguientes casos: 1. Se procede a barrer la imagene de arriba a abajo y de izquierda a derecha buscando un pixel de objeto P . e La idea de este algoritmo es usar una t´cnica de rastreo de contorno para detectar los contornos de los e objetos y tambi´n para rellenar las areas internas [14]. En este caso hay dos posibilidades sobre la etiqueta que le corresponde al contorno. Tiene la desventaja que hay que recorrer la imagen 2 veces. el cual denominaremos como un pixel negro (y el fondo blanco).2 Un M´todo de etiquetado usando un algoritmo de rastreo de contorno. b) Primera variante del caso de contorno interno. Se asigna la etiqueta C a todos los p´ ıxeles del contorno y se incrementa el valor de C. Primera posibilidad: P no tiene etiqueta (figura 7b).1. el cual tiene 23 . c) Segunda variante del contorno interno. N´tese que es o importante diferenciar en este caso el pixel P del tipo de p´ ıxeles como el Q en la figura 8a. 9. a) Caso 1 . En este caso. 2. por o lo tanto se asigna a P y a todo el contorno la etiqueta del vecino izquierdo de P . Ver el texto. El algoritmo consiste de los siguientes pasos: Para cada imagen I se le asocia una imagen L en la cual se van a guardar las etiquetas asignadas a todos los componentes. Todos los p´ ıxeles de L son inicializados a 0.

A continuaci´n se indica el algoritmo del procedimiento RASTREADOR. Por ejemplo en la figura 8b se muestra como el caso 2 no se cumple para R ya que el vecino de la derecha ya tiene una etiqueta negativa. el cual llamaremos S. Entonces se contin´a a u ejecutando RASTREADOR sucesivamente hasta que las dos siguientes condiciones on satisfechas (i) RASTREADOR entrega el punto S de nuevo y (ii) el siguiente punto del contorno de S es T de nuevo. En este pixel se ejecuta el procedimento RASTREADOR. Ver texto. Si RASTREADOR identifica a S como un punto aislado se termina el procedimiento de RASTREO DE CONTORNO. en la figura 8a se puede ver que el vecino de la derecha de P todavia no tiene etiqueta.a) b) Figure 8: El uso de etiquetas negativas en el rastreo de contorno. En este caso el vecino de la izquierda de P ya debe de tener una etiqueta y por lo tanto asignamos a P dicha etiqueta. De otra manera RASTREADOR entregara´ el siguiente punto del contorno el cual denominaremos T . Ninguna de las condiciones anteriores. al momento en que Q es alcanzado por la b´squeda u line a linea. A continuaci´n se indica el algoritmo del procedimiento RASTREO DE CONTORNO. Figure 9: Convenci´n de posiciones relativas a un pixel en el procedimiento RASTREADOR o tambi´n un vecino a la derecha que es blanco. Por lo tanto. dado que el contorno interno que contiene a P no ha sido rastreado en el momento que P es encontrado. Por otro lado. con lo cual garantizamos el contorno de objetos que tienen anchura 1. 3. La manera de evitar ejecutar la rutina de RASTREO DE e CONTORNO en Q es etiquetando los p´ ıxeles que rodean al componente con un n´mero negativo en u donde ya se ha trazado un contorno. el vecino de la derecha de Q ya no es un pixel blanco sin etiqueta. El objetivo de este procedo 24 . El etiquetar con numeros negativos los p´ ıxeles que rodena a los componentes permite ademas evitar que el contorno sea rastreado mas de una vez apartir de cualquier otro punto del contorno. El objetivo de o RASTREO DE CONTORNO es encontrar un contorno ya sea interno o externo apartir deun pixel dado.

la o erosi´n de X por Bx est´ definida por todos los puntos de x tales que Bx est´ incluida en X. Si P es un punto inicial de un contorno externo. Una vez que se establece la direcci´n inicial de o o b´squeda se procede a buscar el siguiente punto negro (del objeto) en el sentido de las manecillas del reloj. Si se han recorrido todos los vecinos y no se encuentra ningun pixel negro. Se trata de operaciones sobre objetos binarizados mediante elementos a estructurales. Lo anterior se deriva del hecho que la posici´n (d+1 mod 8) necesariamente fue analizada o cuando se detect´ que P era el siguiente punto del contorno.2. Si de otra manera P es el punto inicial ıa de un contorno interno la poisci´n inicial de b´squeda es 1. las posiciones relativas de los vecinos son identificadas con o numeros del 0 al 7 como se muestra en la figura 9. Esto se hace de la siguiente manera: en la b´squeda secuencial en el sentido de las manecillas del reloj los puntos que no pertenecen al objeto son u etiquetados con un n´mero negativo. 5. Para un punto P dado.2 Operadoradores morfol´gicos o En el contexto de im´genes. la cual es determinada por la posici´n del punto anterior del contorno como o u o a continuaci´n se explica. dado que todos los p´ u ıxeles de arriba y de la izquierda no pueden pertenecer a este contorno (de otra manera el contorno habr´ sido encontrado antes). u Este algoritmo es eficiente en velocidad ya que etiqueta los componentes en una sola pasada y permite tener una representaci´n de los contorno al mismo tiempo que etiqueta (los p´ o ıxeles con etiqueta negativa).2. Por otro lado cuando buscamos el siguiente punto del contorno la direcci´n inicial es asignada o como d + (2 mod 8). el procesado morfol´gico se refiere al estudio de la topolog´ de las estructuras de a o ıa los objetos a partir de sus im´genes. o 5.imiento es buscar el siguiente punto del contorno apartir de un punto actual P . donde d es la posici´n relativa con respecto a P donde esta localizado el punto anterior o del contorno. la direcci´n o inicial de b´squeda es 0. que var´ la forma de estos de una manera definida. ya que sabemos que el vecino de la derecha en un o u pixel blanco. El rastreo es controlado por la direcci´n inicial de b´squeda.2 Dilataci´n o B = {x : Bx ⊂ X} (34) De la misma forma. ıan Cuando se habla de procesado morfol´gico se habla fundamentalmente de dos operaciones b´sicas: erosi´n o a o y dilataci´n. La tarea de marcar con n´meros negativos u los p´ ıxeles que rodean un objeto se hace en este procedimiento.1 Erosi´n o Si tenemos un objeto X y un elemento estructural Bx cuyo origen ha sido trasladado a la posici´n x. Se puede o a a representar formalmente como: X 5. la dilataci´n estar´ formada por todos los puntos x tales que B x “toca” a X: o a X ⊕ B = {x : Bx ∩ X = ∅} Ejemplos de erosi´n y dilataci´n pueden ser vistos en la figura 10 o o (35) 25 . RASTREADOR indica que P es un punto aislado. u Este punto es el devuelto por RASTREADOR.

26 . donde la calidad” puede ser un concepto muy subjetivo y que depender´ de a la aplicaci´n en cuesti´n. basado en configuraciones elementarias Cuando es el caso de una aplicaci´n en la cual se desean contar los componentes conectados que hay una o imagen binaria. o o e o En procesamiento de im´genes estos operadores se utilizan comunmente para mejorar la calidad” de las a formas de los objetos binarios.4 Conteo de objetos sin huecos. mientras que la o o o o apertura se define como primero la aplicaci´n de una dilataci´n y despu´s una erosi´n.Distributividad (X ⊕ (B ∪ C) = (X ⊕ B) ∪ (X ⊕ C)) (X .De conocimiento total (X ∩ Z) . Por su parte la cerradura se utiliza muy comunmente para eliminar objetos muy n peque˜os los cuales se pueden presentar por ruido: la erosi´n los elimina y la dilataci´n regenera de manera n o o aproximada el tama˜o de los objetos grandes. es posible utilizar una t´cnica muy eficiente la cual no encuentra las etiquetas de todos los p´ e ıxeles. Por supuesto estas restricciones en el desempe˜o del procedimeinto lo u n hacen muy eficiente en tiempo. Una de las aplicaciones de la apertura es por ejemplo para eliminar peque˜as o o n porosidades en los objetos: al dilatar estas porosidades se cierran y una erosi´n restiruye de manera aproxio mada el tama˜o del objeto. s La cerradura se define como la aplicaci´n de una erosi´n y a continuaci´n una dilataci´n.Iteraci´n o (X B) C=X (B ⊕ C) (40) (41) B = (X B) ∩ (Z B) (39) (B ∪ C) = (X B) ∩ (X C)) (37) (38) B=X (36) (X ⊕ B) ⊕ C = X ⊕ (B ⊕ C) .Figure 10: Ejemplos de erosi´n y dilataci´n o o 5.Dualidad Xc ⊕ B = (X B)c (42) Basados en estos operadores b´icos se han definido dos nuevos operadores llamados cerradura y apertura. n 5.3 Propiedades de la erosi´n y dilataci´n o o .2.No son inversas una de la otra (X ⊕ B) . sino unicamente cuenta el ´ n´mero de objetos en la imagen [15].2. y se sabe de antemano que los objetos en la imagen no tienen huecos.

Si por el contrario se utiliza una vecindad de 8. Denotamos por Ni el n´mero de veces que ocurre la u confuguraci´n elementraria Ei . Por ejemplo veamos el caso de un disco de o diametro D: si el cuadro que limita un objeto tiene D p´ ıxeles de ancho. el disco tiene alrededor de πD puntos de frontera. En un esquema de vecindad de 8 vecinos hay 8 posibles direcciones y o en uno de 4 vecinos existen 4 direcciones posibles para tomar.Figure 11: Configuraciones elementales para el conteo de objetos. Figure 12: C´digo de Freeman. En vez o de almacenar las posiciones de todos los puntos del borde. a a 27 . se necesita alrededor de D 2 p´ ıxeles y por lo tanto bits. E3 y E6 . Es una representaci´n compacta de un objeto binario. Esta representaci´n es invariante a traslaciones. o a 2. 4. 2}. Por ejemplo un cuadrado de 2 × 2 p´ ıxeles es almacenado como {x o . las cuales pueden ser almacenadas codificadas con 3 o con 2 bits segun sea el caso. las cuales son mostradas en la figura 11 y son denominadas E 1 . Los puntos negros indican puntos que pertenecen al objeto y los puntos blancos indican puntos que pertenece al fondo. Se definen 3 configuraciones elementales en una rejilla formada por 4 p´ ıxeles vecinos. Entonces se sigue el contorno en la direcci´n de las manecillas del reloj. Las ventajas que presenta la utilizaci´n del c´digo de Freeman son las siguientes: o o 1. El numero de objetos en la imagen esta dado por : o Nobj = N1 + N3 − N6 (43) 5. La convenci´n utilizada es el codigo de Freeman. y0 . lo cual puede ser una representaci´n util para comparar o o ´ objetos. 6. A continuaci´n se recorre la imagen completamente y utilizando un estructura de 4 puntos se cuenta o cuantas veces ocurre en la imagen la estructura Ei . Mas adelante se ver´ como es util en el c´lculo del Area. el cual se muestra en o la figura 12. lo cual es o una representaci´n mas compacta para objetos con di´metro es mas grande de 10. se selecciona un punto de inicio en el borden (del cual si se almacena su coordenada) por un rastreo linea por linea. puede ser almacenado entonces usando 3πD. 0. el c´digo de cadena. o El algoritmo trabaja de la siguiente manera.3 Representaci´n del contorno por medio del c´digo de Cadena (Chain Code) o o El c´digo de cadena es una estructura de datos que se usa para representar el borde de un objeto.

o 5. trazada en una posici´n vertical arbitraria de la imagen. ´ o u o 28 .4 Par´metros de forma Simples a Cuando se ha binarizado la imagen. (c´digo de cadena 1) el a o area nuevamente se incrementa por B. pero B debe de ser tambien incrementada. y se ha hecho un an´lisis de componentes a conectados.4. por ejemplo reconoces objetos de forma circular separ´ndolos de objetos con forma de rectangular. es necesario contar la longitud del c´digo. Por supuesto se puede econtrar el rect´ngulo que encierra completamente al objeto (bounding box) y a contar iterativamente los p´ ıxeles que pertenecen al objeto. Si el objeto no es conectado o tiene huecos. separando los objetos del fondo (o bien se tiene una imagen en escala de gises y un umbral con el cual se separa estas dos clases). puede ser calculado a partir del c digo de cadena. Las reglas completas del algoritmo se muestran en la tabla 3 5. por supuesto tenemos una representaci´n de la forma de manera discreta. Mediante el c´lculo de dichas s a caracter´ ısticas es posible reconocer un tipo de objetos sobre otros posibles. A continuaci´n se muestran algunas a o caracter´ ısticas que se pueden calcular sobre los objetos. e Las limitantes son que. El c´digo de cadena es una representaci´n completa de un objeto o de una curva. El ´rea del objeto debe incrementarse o decrementarse. que en nuestras im´genes digitales a a no es otra cosa que el n´mero de p´ u ıxeles que contiene el objeto. El per´ ız ımetro p de ´ un contorno codificado en cdigo de cadena se expresa como: p = ne + √ 2no (44) donde ne representa el nmero pasos con identificador par del c´digo y no el n´mero pasos impares del c´digo. de acuerdo a la a direcci´n almacenada en el c´digo. con lo cual se obtiene el area.4. Por ejemplo. Si nos movemos hacia arriba. el ´rea se incrementa en un factor de B.3.3. o o Si una imagen esta representada por un contorno codificado en c´digo de cadena. Se debe definir una distancia n o entre la l´ea base y el punto inicial del contorno pi . el c’alculo del ´rea se o a realiza por un algoritmo que trabaja en forma similar a la integraci´n num´rica. y tomar en consideraci´n que los pasos en o o direcciones diagonales deben ser multiplicados por un factor igual a ra´ cuadrada de dos. La integraci´n debe comenzar desde n o pi . Este algoritmo asume una o e l´ea base horizontal. Para a e a realizar este c´ lculo. si nos movemos a la derecha sobre el borde (c´digo de o o o cadena 0).1 ´ Area Una de las caracter´ ısticas mas simples e intuitivas de un objeto es el ´rea. siguiendo luego el contorno. Pero una manera mas eficiente de hacerlo es utilizando el c´digo de cadena descrito en la secci´n 5. es o a necesario mas de un c´digo de cadena para representarlo. en teor´ o o ıa se puede calcular cualquier caracter´ ıstica de forma a partir de ´l.2 Per´ ımetro ´ Es un par´metro geom´trico que al igual que el ´rea. 5. es decir o con la representaci´n m´xima de la rejilla de la imagen. denotada por B. es posible conocer ciertas caracter´ticas de los objetos resultantes. por lo que.

a 5. La compacidad es un n´mero n u adimensional definido como: F = 4πA p2 (45) El valor de compacidad ser´ m´ a ınimo para objetos circulares. pero esta medida es sensible al ruido. Por supuesto este rect´ngulo esta definido por las coordenadas m´ a a ınimas y m´ximas del a objeto tanto verticales como horizontales. Se calcula la varianza de este vector de medidas y se toma esta como valor de circularidad. Se calcula el centroide del objeto. El algoritmo es sencillo: 1. La desventaja obvia de un descriptor tan sencillo.4. es que es no es invariante a rotaciones. 2. Si un objeto es perfectamente circular. Puede ser expresada como la varianza de la distancia de los p´ ıxeles del borde al centroide del objeto. a o 5.4.5 Rect´ngulo de m´ a ınima area que contiene al objeto (Bounding box) Otro par´metro muy simple para describir crudamente el ´rea de un objeto es el rect´ngulo de m´ a a a ınima area que contiene el ´rea.4 Compacidad Es uno de los par´metros geom´tricos utilizados en la comparaci´n de objetos que son observados desde a e o diferentes distancias. Objetos con bordes ruidosos tendr´n un per´ a ımetro muy largo en comparaci´n con objetos que tienen bordes suaves. 5. 3. o por lo tanto se obtendr´n valores distintos de compacidad no obstante la circularidad de ambos objetos. Para cada punto del borde se calcula la distancia euclidiana de este punto al centroide y se almacena en un vector. la varianza debe de ser cero. ya que el mismo no depende del tama˜o del objeto.Codigo de contorno 0 1 2 3 4 5 6 7 Incremento en el Area +B +B 0 −B −B −B 0 +B Incremento en B 0 1 1 1 0 -1 -1 -1 Table 3: C´lculo del Area de un objeto en base a su c´digo de cadena.4.3 Circularidad La circularidad es una medida de que tan parecido es un objeto a un c´ ırculo. 29 .

m0. como se muestra en la figura 13. Este es el eigen-vector con el m´ ınimo eigen-valor. Como los momentos de orden 1 son zero por definici´n.0 para obtener momentos invariantes a escala: mp. m 0. Si un objeto es escalado por un factor α.1 contienen t´rminos en los cuales la funci´n de valores de e o gris son multiplicados por el cuadrado de la distancia del centro de masa.2 (51) La orientaci´n del objeto es definido como el ´ngulo entre el eje x y el eje en el cual el objeto puede ser o a rotado con la m´ ınima inercia. etc. En el caso de nuestras im´genes a discretas binarias el c´lculo de los momentos se reduce a : a mp. y entonces e mostrar´ o a a como extraer par´metros de forma utiles para nuestros prop´sitos.5. los monentos basados en escala de grises reflejan la distribuci´n o de caracter´ ısticas dentro del objeto. por lo tanto el momento de orden cero m0. g (x) = g(x/α).q (p+q+2)/2 m0. el an´lisis de forma comienza apartir de los o a momentos de segundo orden.q = αp+q+2 mp. a ´ o Se define los momentos de una funci´n bi-dimensional de valores de gris g(x) de un objeto como: o mp. por ejemplo los momentos de de segundo orden (p + q = 2) estan escalados a por el cuadrado del area.4.0 nos indica la masa total del objeto. Sin embargo.1 m0.6 Descriptores de forma basados en Momentos A continuaci´n se definiran los momentos para im´genes binarias y en escala de grises.0 (50) Ya que el momento de orden cero de objetos binarios nos indica el ´rea del mismo. Si tomamos g(x) como la densidad p(x) .x2 (x1 − x1 )p (x2 − x2 )q (48) Si se est´ interesado unicamente en los par´metros de forma de un objeto podemos utilizar los momentos a ´ a basados en una imagen binaria.0 −m1. podemos normalizar los momentos con el momento de orden cero. en la direcci´n donde el o objeto es mas estirado.. Lo anterior se puede entender dado que el vector o x = ( x1 .q = x1 .0 . el momento es escalado por mp.q = mp. Este ´ngulo se puede calcular como: a 30 . Esos t´rminos son los terminos e del tensor de inercia para la rotaci´n del objeto alrededor del centro de masa: o J= m2. Es importante utilizar momentos normalizados.1 −m1. m2.2 y m1. los cuales sean invariantes a escala.q (49) Por lo tanto. los momentos normala izados estan escalados por ´rea.q = donde xi = xi g(x)d2 x g(x)d2 x (47) (x1 − x1 )p (x2 − x2 )q g(x)d2 x (46) Donde la integraci´n incluye el area del objeto. x1 ) es llamdo el centro de masa del objeto.

0 − µ0.0 − m0.0 − µ0.6 y ne los momentos crudos (raw moments) es posible a o calcular otros descriptores de forma como a continuaci´n se ilustra.x2 (x1 )p (x2 )q (54) Usando lo anterior.7 Dispersi´n y elongaci´n o o Bas´ndose en los momentos calculados en la secci´n 5.q = x1 .1 atan 2 m2. La figura 14 muestra como esta medida presenta variaciones para distintas formas de objetos.2 )2 (53) 5.2 m2 0.2 )2 ]1/2 0.0 + m0. la cual toma valores entre [0. o En las im´genes discretas los momentos crudos de orden n = p + q se definen como: a µp. 1 2m1.8 Radio m´ ınimo y m´ximo del centro al borde a Otro descriptor de forma es el c´lculo del centro al borde del objeto. o 5.1 µ2.2 (56) µ2.4.4.0 Θ= (52) Por otro lado la excentricidad del elipsoide asociado (ver figura 13) es calculada como una medida de coherencia. Proceso que se puede llevar a cabo a mediante el recorrido secuencial de los puntos del borde y midiendo la distancia al centroide. As´ mismo es posible ı 31 .0 + µ0.0 − m2. la dispersi´n esta definida por: o S= y la elongaci´n esta definida por: o E= 2m2 [4µ2 + (µ2.Figure 13: Ejes del tensor de inercia basados en los momentos de segundo orden de un objeto.2 )2 + 4m2 1.1] (0 para c´ ırculos y 1 para formas de palo): = (m2.0 (55) La dispersi´n mide que tan desigualmente esta distribuida alrededor del centroide y la elongaci´n mide el o o grado de concentraci´n de la masa a lo largo del eje principal.1 (m2.0 1.4.

Luego o entonces las coordenadas de cualquier punto en el plano puden ser representadas como: x = x1 + λ(x2 − x1 ) + µ(x3 − x1 ) y = y1 + λ(y2 − y1 ) + µ(y3 − y1 ) con (x − x1 )(y3 − y1 ) − (y − y1 )(x3 − x1 ) . Podemos detectar que el objeto de la derecha es concavo ya que el tri´ngulo definido por 3 o a puntos contiene un punto (punto B) que no pertenece al objeto. derecha un objeto c´ncavo . p2 . (x2 − x1 )(y3 − y1 ) − (y2 − y1 )(x3 − x1 ) (x − x1 )(y2 − y1 ) − (y − y1 )(x2 − x1 ) . La manera de saber si todos los puntos del objeto estan contenidos en todos los posibles tri´ngulos es a mediante la selecci´n de todas las triadas posibles de puntos (p1 . El c´lculo descrito anterioremente es ı a 32 .4. µ > 0 y λ + µ ≤ 1. En una imagen discreta es posible definir un a o objeto convexo si para cualesquiera 3 puntos del objeto. y) est´ dentro del tri´ngulo. 5. p3 ) no colineales del objeto. La figura 15 muestra tanto un objeto convexo como un a objeto c´ncavo. a Como todos los descriptores de forma. o facilmente imaginar objetos muy distintos que sin embargo tiene las mismas distancias m´ ınimas y m´ximas. a a a ya que si es as´ se debe de cumplir que λ > 0.9 Determinaci´n de la convexidad del objeto o Otro par´metro del objeto es si este es c´ncavo o convexo. es la aplicaci´n espec´ o ıfica la que indicara si es viable o no utilizarlo. es posible saber si el punto de coordenadas (x. µ= (x3 − x1 )(y2 − y1 ) − (y3 − y1 )(x2 − x1 ) (57) (58) λ= (59) (60) (61) Con los c´lculos anteriores. Figure 15: Izquierda: Un objeto convexo. todos los puntos (de coordenadas enteras) contenidos en el tri´ngulo que forman pertenecen al objeto.Figure 14: La distancia del centro del objeto al borde como un descriptos de forma.

1). o e n 3 computacionalmente costoso. e Este proceso de correcci´n se pude apreciar en las gr´ficas de un rengl´n de la imagen mostradas en o a o la figura 18. o En la figura 16a se puede apreciar una imagen (200 × 200 p´ ıxeles) en la cual se desea segmentar los objetos peque˜os obscuros. El resultado de dicho proceso se ve en la figura 17a. este m´todo es muy barato computacionalmente hablando. u o 6.1) fracasa ya o o que las intensidades de los p´ ıxeles no indican si pertenecen o no al fondo. tanto en o e la implementaci´n como en la ejecuci´n. ya que el filtrado puede hacerse simplemente como un proceso de o o promediaci´n de cada pixel con sus vecinos y la aplicaci´n de un umbral es una tarea muy r´pida. Esta imagen es substraida de la imagen original d´ndo como resultado la imagen mostrada en 17b.1 Segmentaci´n basada en p´ o ıxeles En esta secci´n ilustramos el tipo de segmentaci´n basada en umbralizado. detecci´n y conteo de objetos. Se ilustra ademas los casos con o o problemas de shading y una soluci´n a los mismos. b) Resultado de aplicar un umbralizado. o Lo anterior con el objetivo de mostrar algunos experimentos que den una idea de los problemas pr´cticos a que surgen cuando se desarrollan tareas de b´squeda. as´ como o e ı im´genes que con caracter´ a ısticas diferentes (que presentan algunos de los problemas vistos en la secci´n 3). es necesario entonces hacer una correcci´n de la iluminaci´n (ver secci´n 4. En este caso la imagen tiene el problema de la iluminaci´n (generado sint´ticamente). Como es l´gico suponer. n o e de tal forma que. b) el rengl´n filtrado y c) el rengl´n o o o corregido. como se muestra en la figura 16a. la aplicaci´n de un umbral (ver secci´n 4. esta nueva imagen corregida a ´ es segmentada aplicando un m´todo de umbralizado y los resultados son mostrados en la figura 17c.a) b) Figure 16: a) Imagen con iluminaci´n inhomogen´a. Por ultimo. Ante estos problemas. o o a 33 . 6 Experimentos Ilustrativos En esta secci´n se seleccionaron algunos de los m´todos expuestos en las secciones anteriores.1. En esta figura se puede apreciar a) el rengl´n original. o o o El proceso que se llev´ a cabo en este caso fu´ uno muy sencillo: se toma la imagen original y se hace pasar o e por un filtro pasabajas. ya que para cada objeto con n puntos esta validaci´n se debe de hacer o veces.

b) Resultado de la aplicaci´n o o de un filtro pasabajas c) imagen corregida. C) Segmentaci´n por medio de umbral sobre la imagen corregida o o a) b) c) Figure 18: Graficas de un rengl´n en la imagen a) Con problema de Shading.a) b) c) Figure 17: a) Resultado de la aplicaci´n de un filtro pasabajas a la imagen con iluminaci´n inhomog´nea b) o o e Correcci´n al restarle la imagen filtrada. 34 .

a) b) Figure 19: a) Imagen original. dependiendo de la aplicaci´n deben de ser o o removidos para obtener objetos compactos. ya que hay mas escalas de gris en los objetos que en el fondo. los cuales.1 y σf = 0. Es quiz´ viable (dependiendo de la aplicaci´n) a o detectar los bordes no cerrados por medio de los extremos (aquellos p´ ıxeles de bordes que no tienen mas que un vecino) y eliminarlos.3 Segmentaci´n basada en Bordes o Para este tipo de experimentos se implement´ el detector de bordes de Canny (ver seccci´n 4. N´tese que en este caso los objetos tienen huecos. ˆ ˆ ˆ ˆ Como podemos ver. lo cual indica o a que el modelo es consistente con la realidad. σo = 0. Este problema de bordes abiertos presenta una desventaja con respecto a la aplicaci´n del algoritmo EM. Los par´metros iniciales de las clases fueron µi = 0. lo cual a representa un problema si se desea “rellenar” los objetos. la desviaci´n estandar del los objetos es m´s grande que la del fondo. µf = 0.055. dependiendo de los par´metros.75 y TL = 0. conlleva un proceso de programaci´n elaborado. los resultados por lo general son de alta calidad y tiene el valor agregado de encontrar los par´metros del modelo. y se utiliz´ un algoritmo EM (ver secci´n 4.133 y σf = 0. Como podemos ver. la cual se puede ver en la figura 19a. Los par´metros encontrados por el m´todo fueron a e a e µo = 0.1.726.1 (el a o f rango din´mico de la imagen fu´ normalizado de 0 a 1).95. El resultado de 5 iteraciones es mostrado en o o i i la figura 19b. Si se asume que se a ´ procesar´n varias im´genes con condiciones de captura similares. Podemos ver tambi´n que el algoritmo es robusto a la inicializaci´n de los par´metros.2. b) Resultado de 5 iteraciones de algoritmo EM 6. a 6. algunos bordes son cerrados u otros no. TH = 0.2 Segmentaci´n basada en regiones o Para este experimento se utiliz´ una imagen de c´lulas (128 × 128 p´ o e ıxeles). Esto ultimo puede agilizar el procesamiento de imagenes futuras.3. σo = 0. La ejecuci´n o o o del mismo toma un tiempo considerable (poco mas de 1 minuto en una computadora Pentium 1. sin embargo este m´todo es mas f´cil de implementar y el tiempo de ejecuci´n o e a o 35 .394. en el procesamiento de estas los par´metros a a a obtenidos se pueden introducir como par´metros iniciales.6 GHz).0. Sin embargo. La aplicaci´n de un algoritmo de este tipo. logrando que con 1 o 2 iteraciones sea suficiente. ya que los estimadores e o a iniciales son significativamente distintos a los encontrados.15 son mostrados en la a figura 20b. Los bordes obtenidos con los par´metros σ = 1. µi = 0. La o o imagen usada para este experimento se muestra en la figura 20a (la cu´l es la misma usada en el experimento a anterior).6).1).

Por su parte las energ´ de Laws son de f´cil implementaci´n y su ejecuci´n es r´pida (6 segundos. la primera columna contiene las im´genes originales (200 × 200 p´ a ıxeles en promedio) . La segmentaci´n que o se presenta corresponde a una agrupaci´n usando el algoritmo de K-Medias. el a n cual se fij´ de esta manera : 17. implementaci´n en Matlab). es considerablemente menor (1 segundo en la misma PC). o o La figura 21 muestra los resultados de esta segmentaci´n. el unico par´metro que es el tama˜o de la vecindad del filtrado. o 6.1) o o tomando como entrada de caracter´ ısticas las respuestas de los filtros para cada pixel.4) y los kernels de Laws (ver secci´n 4.2).4. para el primer.4.0. la segmentaci´n en textura es un proceso complicado. ıas a o o a misma computadora. dependiendo o de los par´metros escogidos los objetos se pueden obtener erosionados o bien dilatados. o a Como podemos ver en los resultados. La figura 22 muestra el proceso completo desde la imagen original (panel a). 6. Los m´todos probados fueron un banco de filtros de Gabor (ver e secci´n 4.5 Descriptores de forma Finalmente se muestra un experimento en el cual se desea diferenciar un tipo de objetos de otros. El caso extremo se a ve en el panel 21b en donde los filtros de gabor no pudieron segmentar correctamente el objeto. las cuales. b) Bordes encontrados por el algoritmo de Canny.4 Segmentaci´n basada Textura o o a Para los experimentos de esta secci´n se escogieron algunas im´genes con textura. 25 y 17. con k = 2 (ver secci´n 4.a) b) Figure 20: a) Imagen original. lo cual hace el proceso lento (aproximadamente 50 segundos en la PC descrita anteriormente.5. En todos los caso se coloc´ un banco de 40 filtros o a o de Gabor equidistantes en el espacio de la frecuencia y con la misma anchura σ = 3. la aplicaci´n de un umbral o 36 . La ejecuci´n de o los filtros de Gabor involucra convoluciones y/o transformadas de Fourier directas e inversas. o A continuaci´n se indican los par´metros utilizados. la segunda columna tiene los resultados de la segmentaci´n con el banco de filtros de Gabor y la tercera columna muestra o los resultados de la aplicaci´n de los kerneles de Laws. en ella se muestra por renglones los experio mentos. es casi imposible segmentarlas en base a su valor de gris. segundo y tercer experimento respectivamente. En el caso de los kernels de Laws. La o agrupaci´n se hizo igualmente usando el algoritmo de K-Medias con el par´metro k = 2. El proceso de Gabor es significativamente mas caro que el utilizar las energias de Laws. implementaci´n en lenguaje o C).

y nos fijamos en los per´ ımetros o el ´rea. Es importante hacer notar que salvo el objeto mas circular [panel 23b] el cual tiene un valor de compacidad significativamente mas grande que los demas y el objeto que tiene un gran hueco [panel 23c].a) b) c) d) e) f) g) h) i) Figure 21: Segmentaci´n de textura. nos ser´ muy dif´ poder separar el caso de los objetos ıa ıcil ıpticos se intersectaron [panel 23d]. el caso de los objetos traslapados es quiz´ identificable a a 37 . se seleccionaron 4 de los objetos segmentados para encontrar sus coeficiente de compacidad (ver secci´n 5. Sin embargo. ya que con forma de estrella [panel 23a] de los casos donde 2 objetos el´ sus coeficientes no son muy diferentes. el rellenado de los huecos (panel c). las cuales dan como resultados componentes que no tienen ıen formas el´ ıpticas como se puede ver en la figura 22d. la segunda columna tiene los resultados por medio de un banco de filtros de gabor y la tercera columna los resultados de la aplicaci´n de los kernels de laws.1). experimentos por renglones.4). n o Una vez que se tienen estos objetos en una imagen binaria. La primera columna tiene las im´genes o a originales. o La figura 23 muestra los 4 objetos seleccionados y la tabla 4 mustra los coeficientes de compacidad calculados para cada uno de ellos. la aplicaci´n de una cerradura para eliminar los objetos muy o peque˜os (panel d) y finalmente el proceso de etiquetado (ver secci´n 5. Para mostrar la utilidad y (problemas que se presentan) cuando se escoge algun descrptor de forma. ahora es necesario poder determinar caracter´ ısticas de cada uno de ellos para poder identificarlos en dado caso de que haya mas de un tipo de objeto. el cual tiene un valor de compacidad significativamente inferior. o (panel b). o tamb´ si se desea detectar traslapes de objetos. si consideramos que el tama˜o medio de los objetos n es similar.4.

es necesario tener en mente. 7 Conclusiones El n´mero de estrategias computacionales que se han desarrollado para la llevar a cabo la b´squeda detecci´n u u o y conteo de objetos en im´genes digitales es sumamente extenso. a por esta medida. da un panorama ´mplio de los diferentes problemas y las diferentes esquemas de soluci´n que se han a o 38 . restauraci´n y an´lisis de componentes conectados. dependiendo de la aplicaci´n. lo cual nos conducir´ a buscar a un m´todo de soluci´n que se adapte adecuadamente a las caracter´ e o ısticas del problema en cuesti´n. debido a la creciente demanda de aplicaciones autom´ticas o semi-autom´ticas de vision computacional. y que algunos o descriptores sencillos trabajen mejor que otros mas complicados. Existen m´todos que por definici´n son especializados para o e o ciertos casos y m´todos que aunque parecieran de aplicaci´n general. la cual podemos apreciar que es significativamente mayor. los casos de aplicaci´n son tambi´n muchos. no existen esquemas de a soluci´n generales para todos los casos posibles. Sin embargo. o a a) b) c) d) Figure 23: Objetos encontrado en aplicaciones pr´cticas de formas variadas. son a a o e complicados por naturaleza y de ´ ındole muy variada). desde umbralizado. Por lo anterior. a se necesita analizar el problema como un paso primario (y fundamental).a) b) c) d) e) Figure 22: Proceso completo. que cuando se desea solucionar un problema pr´ctico. El caso es que. siempre es posible encontrar casos en e o los cuales no van a entregar los resultados deseados (ya que. Este o trabajo. es posible que unos descriptores de forma nos ayuden o no. nuevamente.

IEEE Tran. H. las cuales pueden dar mejores resultados que la aplicacion de m´todos un tanto e complicados de caracter gen´rico. 11.” IEEE Transactions on Pattern Analysis and Machine Intelligence. HANDBOOK OF PATTERN RECOGNITION AND COMPUTER VISION. 1980. 1984. Chen. Rapid texture identification. 1985 [8] Tuceryan. T. N.Z. Friedman “The Elements of Statistical Learning: Data Mining. P. I. Computational Geometry. “Markov Random Field Modeling in Image Analysis. 1981. Shamos. que sirva como un punto de partida en la b´squeda de la soluci´n mas adecuada u o (o en el mejor de los casos indique una manera de resolver el problema).351649718 0. 238 Image Processing for Missile Guidance. Concepts. 6.620278292 Table 4: Medida de compacidad para los objetos de la figura 23 propuesto.Objeto a) b) C) d) Area 903. Li. 1998. 2001. A. Geman and D. Gibbs distribution and the Bayesian restoration of images. H. de tal manera. 6. and Jain. S. J. 802-809. [2] K. [9] C. Texture Analysis. References [1] Harry Wechsler “Computational Vision”. Digital Image Processing. Laws.98 104.08 160. Tokyo. J. [6] S. [7] Preparata F. Geman.614027677 0.. Algorithms and scientific applications. Wang . “Stochastic relaxation.26 Compacidad 0. Vol. Hong. pages 376-380. Segmentation and Estimation of Image Region Properties Through Cooperative Hierarchical Computation. F. Burt. SpringerVerlag [4] T.12. World Scientific Publishing Co. 2001 [5] S. pp. un adecuado an´lisis del problema nos puede llevar a soluciones sencillas u a bien adaptadas al problema.843353609 0.5 727 720.5 Per´ ımetro 135. HPRCV . Pau and P. In SPIE Vol. Tibshirani. and M. L. 721-741. [3] Bernard Jahne. New York.” Springer Verlag. Spreinger Verlag. Academic Press. Esto con el objetivo de conocer o permearse en el problema y de dejar un registro de las posibles soluciones obtenidas a algunos casos que sirven de ejemplo. [10] P. Hastie. 39 . En la b´squeda de soluciones. A. P.5 1568.K. On SMC. e En la secci´n de resultados se han presentado los productos obtenidos con algunos de los m´todos explio e cados en las secciones anteriores. and Prediction” Springer-Verlag. Rosenfeld. Inference. R. 1998.46 178. M.

Milstein Image Segmentation by Adaptive Thresholding. Grigorescu. 8(6).E.[11] J. 679-698 (1986). Canny. 40 . [14] Fu Chang. Voss: Discrete Images. 1998. Comparison of texture features based on Gabor filters. Petkov and S. Venice. IEEE Trans. on Pattern Analysis and Machine Intelligence. pp.142-147. Proceedings of the 10th International Conference on Image Analysis and Processing. 1999. The Faculty for Computer Sciences. Kruizinga. pp. [13] P. September 27-29. 1993. Technion Israel Institute of Technology. Chun-Jen Chen: A Component-Labeling Algorithm Using Contour Tracing Technique. Springer Verlag . [12] N. A Computational Approach to Edge Detection. ICDAR 2003: 741-745 [15] K. Italy. N. Objects ans Functions in Z n .

Sign up to vote on this title
UsefulNot useful