Segmentación por medio del
método Mean Shift: Estado del Arte
Ivana Azarola
Profesora: Juliana Gambini
Julio 2017
1
Índice
1. Introducción 3
2. Presentación de imágenes 8
3. Mean Shift 9
3.1. Función Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Condición de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4. Variantes de Mean Shift 14
4.1. Kernel multivariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Agregado de una función de peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3. Kernel anisotrópico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4. Mean Shift geodésico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5. Conclusiones 18
2
1. Introducción
La visión artificial [1] es una ciencia que mediante el procesamiento de imágenes busca
encontrar una representación de la misma para permitir la toma de decisiones automáticamente
sin la intervención de un usuario.
En este área se utiliza la segmentación de imágenes para agrupar pı́xeles según alguna
caracterı́stica común como ser el color, la intensidad o bien formar parte de una textura. Esta
clasificación en grupos de pı́xeles posibilita obtener una imagen más fácil de analizar permitiendo
detectar bordes y localizar objetos.
Existen variadas aplicaciones de la segmentación de imágenes entre las cuales se encuentran
las siguientes:
Imágenes médicas. Al disminuir el ruido en imágenes de resonancias magnéticas, podemos
observar tumores cerebrales [2], la anatomı́a de una rodilla [3], etc. Este procesamiento
también se aplica en diferentes tomografı́as [4] permitiendo el reconocimiento y clasificación
de órganos como por ejemplo: hı́gado, vaso, estómago, riñones, etc.
Imágenes de radar y de satélite. El análisis de estas imágenes permite identificar y predecir
tormentas y otros efectos climatológicos [5], ası́ como detectar tempranamente incendios
forestales [6] y detectar manchas de petróleo [7] en el mar entre otras actividades de monitoreo
ambiental.
Análisis de datos microscópicos. Con microscópios eletrónicos(cryo-EM) [8], utilizados para
el análisis de muestras a temperaturas criogénicas, se estudian estructuras celulares como
por ejemplo los proteosomas.
Seguridad. En vehı́culos aéreos no tripulados [9], como por ejemplo un cuadricóptero, se
utiliza una cámara para detectar y rastrear objetos en movimiento en tiempo real. Las
aplicaciones de este tipo de herramientas se presentan como una alternativa para la supervición
de tránsito, la vigilancia en grandes instalaciones (por ejemplo, galpones industriales, plantas
de energı́a solar, etc.), seguimiento de ganado en el sector ganadero, etc.
(a) (b) (c)
Figura 1: Ejemplo de aplicación de segmentación de imágenes donde (a) es una imagen satelital,
(b) es una división de la primera imagen en 6 grupos donde cada color se asocia a una temperatura.
La imagen (c) corresponde a los pixels de uno de los grupos de mayor temperatura.
3
Imágenes astrológicas. El procesamiento de imágenes multiespectrales se utiliza por ejemplo
en el estudio de la la galaxia M82, correspondiente a la constelación de la Osa Mayor o de la
nebulosa de Orión [10].
Escritura. La segmentación de imágenes permite el reconocimiento de documentos históricos
ya sea impresos o bien escritos a mano [11] sin conocimiento de la tipografı́a empleada,
haciendo uso de bases de datos para el aprendizaje automático por medio de la inteligencia
artificial.
(a) (b) (c)
(d) (e)
Figura 2: Ejemplo de aplicación de segmentación de imágenes. (a) Ejemplo donde se logra
detectar y seguir el movimiento de personas identificando individuos e indicando la dirección de su
movimiento. (b) Imagen de resonancia magnética. (c) Imagen resultante del procesamiento de la
imagen (b) con un algoritmo de segmentación. (d) Imagen a partir de un documento. (e) Ejemplo
de aplicación para identificación de caracteres a partir de la imagen (d).
Las Fig. 1 y 2 muestran algunos ejemplos de aplicación de la segmentación de imágenes en
diversos ámbitos.
Actualmente el método de Mean Shift, presentado por Fukunaga y Hostetler [12], es una
técnica muy utilizada para segmentación de imágenes, reconocimiento de contornos y seguimiento
de objetos en videos, en muchos campos de la ciencia.
En el área de aplicaciones de análisis facial, se estudia el seguimiento del iris haciendo uso del
algoritmo Mean Shift como se observa en la Fig. 3(a). Se busca detectar el momento en que el ojo
se encuentra cerrado, ha sido ocluido por una mano o bien, se desvı́a de una región de interés [13].
4
Un producto comercializado en el mercado, que emplea el método Mean Shift es el dispositivo
Kinect [14] que observa en la fotografı́a de la Fig. 3(b). Producido por PrimeSense y distribuido
por Microsoft, el mismo es utilizado en la captura de movimiento para las consolas de videojuegos
Xbox 360 y Xbox One. Kinect utiliza Mean Shift para ubicar las articulaciones del cuerpo humano.
Adicionalmente, este dispositivo hace uso del algoritmo de Randomized Forest [15] para aprender
rasgos caracterı́sticos en imágenes de profundidad y, mediante la clasificación de puntos, establecer
las poses de las personas.
(a) Seguimiento del iris (b) Dispositivo Kinect
Figura 3: Utilización del método Mean Shift en distintas áreas de aplicaciones. (a)Ejemplo de
aplicación donde se señala el iris para distintas poses del ojo.
La segmentación de imágenes puede realizarse de diversas formas y con diferentes técnicas.
En el artı́culo [16], el autor explica una categorización a grandes rasgos de las múltiples técnicas
de segmentación en imágenes. Basadas en las siguientes caracterı́sticas:
Umbralización. Son procedimientos con los que se busca diferenciar objetos utilizando distintos
tonos de gris.
Detección de bordes. Aplicando estas técnicas se consigue determinar el contorno de un objeto
en una imagen.
Detección de Regiones. A diferencia de los métodos de detección de bordes, estas técnicas
inician en uno o mas puntos y comienzan a expandirse hacia fuera hasta alcanzar el contorno
de un objeto en una imagen.
Agrupamiento. Se trata de técnicas que mediante evaluaciones sobre los puntos de la imagen
forman particiones de los mismos. Con estas se busca determinar la ubicación de un objeto
de interés.
Estimación de parámetros. En estos procedimientos se tiene una idea de como debe verse un
objeto, por lo tanto haciéndo uso del conocimiento a priori que se tiene, se ubica el mismo
en la imagen.
A la hora de segmentar una imagen, las técnicas utilizadas son variadas. La elección de una
de ellas depende tanto del tipo de datos como del problema a tratar.
En este documento nos enfocaremos en las técnicas de agrupamiento [17] de pı́xeles en una
imagen. Las cuales se pueden clasificar principalmente en:
Jerárquicas: En estas técnicas se realiza la aglomeración o división de grupos de datos. Los
métodos aglomerativos comienzan con todos los elemento separados, o sea, inicialmente hay
5
tantos datos como grupos. Por el contrario, los métodos divisorios inician con un número de
grupos de datos de uno y durante el procesamiento se obtienen n grupos.
Dentro de la categorı́a de los métodos aglomerativos jerárquicos se encuentra el método de
Mean Shift, el cual será el objeto de estudio de este proyecto.
No jerárquicas: En estos procedimientos se fija el número de grupos en el que se dividen
los datos por medio de criterios de cercanı́a. En este sentido, cada uno de los grupos debe
contener al menos un elemento y estos a su vez solo pueden pertenecer a un único grupo. Un
ejemplo de un método perteneciente a este grupo es k-means.
A continuación analizaremos brevemente el método de segmentación de imágenes k-means [18],
una de las técnicas no jerárquicas más utilizada. Mean Shift al igual que k-means son métodos
iterativos, empleados para el agrupamiento de pı́xeles tanto en el procesamiento de imágenes como
de videos.
El algoritmo de k-means divide una imagen en K secciones. Inicialmente, se eligen K grupos
de pı́xeles de una imagen llamados clusters. Cada grupo se elige en forma aleatoria o utilizando
alguna heurı́stica. A continuación, se itera hasta alcanzar una condición de convergencia que puede
estar por ejemplo relacionada con la cantidad de modificaciones que sufren los grupos. En cada
iteración, se realizan los siguientes pasos:
(a) Elegir una división en grupos inicial y calcular sus centros.
(b) Cada pı́xel de la imagen se asocia al grupo con el cual, éste presenta una mayor similitud.
(c) Recalcular los centros de los grupos haciendo la media de todos los pı́xeles del grupo.
Los resultados obtenidos en imágenes con la técnica de k-means son muy dependientes de
la definición del número de clusters. El uso del método k-means requiere tener un conocimiento a
priori de la imagen para una óptima elección de la cantidad k.
En la Fig.4(a) tomada del artı́culo [18] se muestra la aplicación del método de k-means a
una mamografı́a donde los autores intentan realizar diagnóstico de cáncer. Las Figuras 4(b) y
4(c) muestran el resultado de aplicar el método de k-means a la Fig.4(a) con k = 5 y k = 20,
respectivamente.
(a) (b) (c)
Figura 4: Aplicación de método de k-means
El método de Mean Shift no requiere de la determinación preliminar de cantidad de grupos,
y esta es una de las caracterı́sticas mas importantes de su éxito.
6
Este método puede aplicarse a imágenes médicas, como las de tomografı́a computada o las
de resonancia magnética y se utiliza para diagnóstico como en los artı́culos [2], [3], [4] y [19].
Una de las dificultades más importantes de estas imágenes reside en que los experimentos deben
ser muy precisos, ya que los resultados se utilizan para tomar decisiones que involucran la salud
de personas.
7
2. Presentación de imágenes
A lo largo de este documento se estudia el método de Mean Shift utilizando algunas imágenes
de prueba en el procesamiento de imágenes. En la Fig. 5 las podemos observar. La elección de las
mismas obedece a la necesidad de poder comparar resultados con los obtenidos por la comunidad
especializada en el área.
La imágenes consideradas poseen caracterı́sticas diferentes, por ejemplo algunas presentan
un gran colorido, mientras que otras no. Esta desigualdad permitirá observar el comportamiento
del algoritmo en situaciones disı́miles.
(a) Foto de Lena (b) Camerógrafo (c) Vegetales
(d) Baboon (e) Lago (f) Loros
Figura 5: Imágenes estandares en el procesamiento de imágenes.
8
3. Mean Shift
Mean Shift es un método iterativo utilizado para la clasificación y segmentación de puntos
dentro de una imagen. En cada iteración del algoritmo se realizan sobre cada uno de los puntos de
la imagen los siguientes pasos:
1. Se define una ventana de tamaño arbitrario.
2. Se ubica un punto x de la imagen en el centro de la ventana y se calcula la media correspondiente
al conjunto de puntos pertenecientes a la misma.
Para el cálculo de la media se utiliza la Ec.(1), donde
N (x) es el conjunto de puntos que se encuentran dentro de la ventana,
x es el punto seleccionado,
h es el ancho de ventana que representa el rango de influencia que se le da a cada
elemento,
K es una función kernel utilizada para aproximar una función de densidad de probabilidad
subyacente del conjunto de datos.
P xi −x
xi ∈N (x) K h xi
m(x) = P (1)
xi −x
xi ∈N (x) K h
3. Se reemplaza el valor del punto por el valor obtenido en el cálculo de la media.
El algoritmo culmina al alcanzarse un número finito de iteraciones o bien, por una condición
de convergencia.
(a) (b) (c) (d)
Figura 6: Aplicación del método Mean Shift a las imágenes de la Fig.5(b) y 5(d). (a) Imagen original
del camarógrafo. (b) Imagen del camarógrafro luego de la segmentación. (c) Imagen original del
baboon. (d) Imagen del baboon resultado de la segmentación.
Es importante señalar que este método de segmentación se no requiere activamente de
conocimiento previo sobre una imagen, el uso de modelos de apariencia, platillas deformables
9
u otro tipo de mecanimo que permita detectar formas o contornos conocidos. Este aspecto es de
gran importancia ya posibilita la aplicación del algoritmo a todo tipo de imágenes como puede
observarse en las Fig.2(b) y 6.
3.1. Función Kernel
El kernel es una función con la que se estima la densidad de probabilidad subyacente de un
conjunto de datos. De esta forma, si se suma el valor resultante de aplicar la función kernel a cada
uno de los datos se obtiene una estimación de la función de densidad desconocida.
Dentro de las funciones kernel más utilizadas se destacan la rectangular (Ec. (2)), la gaussiana
(Ec. (3)) y la de Epanechnikov (Ec. (4)).
(
1 a≤x≤b
K(x) = (2)
0 en otro caso
x2
K(x) = e− 2σ2 (3)
(
3
4 (1 − x2 ) |x| ≤ 1
K(x) = (4)
0 en otro caso
La Fig. 7 muestra el histograma de densidad de datos de la imagen de Lena(Fig. 5) para las
bandas de color: rojo, verde y azul. Por otro lado, la Fig. 8 muestra el histograma de la densidad
subyacente de los datos para la misma imagen. Las Figuras 2.a, 2.b y 2.c muestran el histograma
de la densidad subyacente, calculada con el kernel Rectangular para las bandas rojo, verde y azul,
respectivamente. De igual forma, las Figuras 2.d, 2.e y 2.f muestran el histograma de la densidad
subyacente para el kernel Gaussiano para las mismas bandas. Las Figuras 2.g, 2.h y 2.i muestran
el histograma de la densidad subyacente correspondiente a las bandas rojo, verde y azul del kernel
Epanechnikov.
10
(a) Banda rojo (b) Banda verde (c) Banda azul
Figura 7: Histograma de densidad para las bandas rojo, azul y verde de la imagen de Lena.
Dependiendo de la elección del valor del parámetro h, se pueden producir resultados muy
diferentes. La elección manual de este valor puede producir mejores resultados, sin embargo cuando
el conjunto de datos a evaluar difiere significativamente la elección de h se hace mas compleja.
11
(a) Kernel Rectangular (b) Kernel Rectangular (c) Kernel Rectangular
(d) Kernel Gaussiano (e) Kernel Gaussiano (f) Kernel Gaussiano
(g) Kernel Epanechnikov (h) Kernel Epanechnikov (i) Kernel Epanechnikov
Figura 8: Funciones de densidad subyacente calculada con distintos kernels. En (a), (b) y (c) se
utilizaron a = 31 y b = 223. En (d), (e) y (f ) se utilizó σ = 0,1.
12
3.2. Condición de convergencia
El algoritmo de Mean Shift requiere de una condición para su finalización. Tal como se
mencionó anteriormente, el método finaliza generalmente al cumplirse un número prefijado de
iteraciones o una condición de convergencia.
El kernel permite aproximar una función de densidad desconocida a partir de una muestra
de datos. En el artı́culo [20], los autores explican como se realiza esta estimación obteniéndose la
Ec. (5) para la estimación de la densidad. En la misma, n es el tamaño del conjunto de datos y d
es la dimensión del espacio.
n
1 X x − xi
fˆ(x) = K (5)
nhd i=1 h
A partir de las definiciones 1 y 2 de sucesión infinita y su convergencia [21]. Se define una
secuencia con las Ec. (6) y (7) a partir de la Ec. (1).
Definición 1: Una función f cuyo dominio es el conjunto de todos los enteros positivos
se denomina sucesión infinita. El valor f (n) de la función se denomina el término n-ésimo
de la sucesión.
Definición 2: Una sucesión {f (n)} tiene lı́mite L si, para cada número positivo , exite
otro número positivo N (que en general depende de ) tal que
| f (n) − L |<
para todo n ≥ N . En este caso, se dice que la sucesión {f (n)} converge hacia L y puede
escribirse como
lı́m f (n) = L.
x→∞
Una sucesión que no converge se llama divergente.
yi0 = xi (6)
Pn t
y −xi
i=1 K h xi
y t+1 = P t (7)
n y −xi
i=1 K h
En el documento, los autores intentan probar la convergencia utilizando el siguiente teorema.
Teorema: Si el kernel K tiene un perfil convexo y monótonamente decreciente,
las secuencias {yj }j=1,2,... y {fˆ(j)j=1,2,... } convergen y además {fˆ(j)j=1,2,... } es
monótonamente creciente.
La demostración de la convergencia de Mean Shift, propuesta por los autores prueba que
fˆ(y t+1 ) ≥ fˆ(y t ), sin embargo la segunda parte de la prueba posee errores matemáticos.
13
Existen muchos estudios que intentan demostrar la convergencia de Mean Shift. Sin embargo,
la comunidad especializada en el área aún no posee una demostración fehaciente en varias dimensiones [22] [23].
4. Variantes de Mean Shift
A continuación se listan algunas de las variantes más interesantes que se han encontrado del
algoritmo Mean Shift:
Utilización de una función kernel multivariable parametrizada en el espacio y en el color [19] [20].
Modificación del algoritmo agregando una función de peso [24].
Uso de un kernel anisotrópico en Mean Shift [25].
La implementación de un Mean Shift geodésico [26].
4.1. Kernel multivariable
En el artı́culo [20], los autores presentan un kernel multivariable. El cual utiliza la ubicación
y el tono de color como variables.
Una imagen digital puede representarse como una matriz bidimensional de vectores de
p-dimensiones (pı́xeles). En este documento, p = 1 para niveles de gris o p = 3 para imágenes
en color. Cuando se parametriza en el espacio y en el color, el número de dimensiones es q = p + 2.
c xs xr
Khr ,hs (x) = k k (8)
hpr hqs hs hr
Los autores del artı́culo, presentan el kernel multivariable de la Ec. (8) donde la función k(x)
se define como en la Ec. (9) si se utiliza un kernel gaussiano, o bien se puede definir como Ec. (10)
para el caso de un kernel normal.
kxk2
k(x) = e− 2σ (9)
−x
k(x) = e 2 (10)
Dado que la naturaleza de las variables espacio y color es muy diferente se compensa en
la Ec. (8) normalizando con los parámetros hs y hr , siendo c la constante de normalización. Los
valores de hs y hr son los valores de ancho de ventana respectivos para la variable cromática y la
variable espacial. Las variables xs y xr son los valores correspondientes al dominio espacial y de
color.
14
4.2. Agregado de una función de peso
En el artı́culo [24] se altera la Ec.(1) adicionando una función de peso, siendo la resultante
de esta transformación la Ec.(11) .
P xi −x
xi ∈N (x) K h w(c)xi
m(x) = P (11)
xi −x
xi ∈N (x) K h w(c)
La función peso w(c) puede tener un valor prefijado para todas las iteraciones del algoritmo
o bien, ser reevaluado luego de cada una de ellas.
El autor explica esta desición argumentando que con la fórmula original de Mean Shift se
puede llevar a confundir un punto con un promedio de puntos perdiendo especificidad y lográndose
agrupaciones confusas. La nueva ecuación se presenta entonces como una solución a este problema
permitiendo asociar un punto con otros similares de su vecindario y a su vez darle importancia a
aquellos aspectos que los diferencian.
4.3. Kernel anisotrópico
El uso de distintos kernels en el cálculo del Mean Shift en imágenes y video es motivo de
estudio. Con algunos kernels se obtienen mejores resultados a simple vista, pero esto generalmente
depende de las caracterı́sticas de la imagen.
En el artı́culo [25], los autores explican que el uso de una función kernel simétrica para
la estimación de la densidad subyacente puede no ser optima para imágenes con algún tipo de
estructura. Como resultado a esto, presentan una variante de Mean Shift utilizando un kernel
anisotrópico el cual por su forma, escala y orientación permite adaptarse mejor a la estructura
local de la imagen. A modo de ejemplo, en la Fig. 9 puede observarse una cebra donde se distingue
claramente su pelaje caracterı́stico y donde la aplicación de la variante anisotrópica del algoritmo
de Mean Shift permite obtener buenos resultados.
(a) (b)
Figura 9: Ejemplo de aplicación del método de Mean Shift anisotrópico. (a) Imagen original. (b)
Resultado de la segmentación.
15
Para la definición de la variante de Mean Shift utilizando un kernel anisotrópico, los autores
utilizan un kernel multivariable donde las funciones k s y k r son las funciones perfil de los kernels
que se emplean. El primero corresponde al dominio espacial, mientras que el segundo se asocia a
la gama cromática.
Para el cálculo de la variable espacial se utiliza la distancia de Mahalanobis definida en la
Ec. (12).
g(xs , xsi , His ) = (xsi − xs )T (His )−1 (xsi − xs ) (12)
En el artı́culo, la función de estimación de densidad se define como en la Ec. (13), donde
q es el número de dimensiones como se comento en la subsección anterior. El superı́ndice denota
el tipo de la variable señalándose con r que se trata de una variable cromática y con s a una
correspondiente al dominio espacial.
n 2
1X 1 xr − xr
fˆ(x) = k s
(g(x s
, xs
i , Hi
s
))k r i
(13)
n i=1 hr (His )q hr (His )
La matriz del dominio espacial His describe la variación de los puntos vecinos a xi . Los
autores definen el ancho de banda en la gama de colores hr (His ) como una función de la matriz de
ancho de banda en el espacio.
4.4. Mean Shift geodésico
En el artı́culo [26] se presenta una variante del algoritmo de Mean Shift adaptado a superficies
de mallas poligonales. El método presentado utiliza como variable de interés superficies geométricas.
Las caracterı́sticas de un punto en este espacio incluye una combinación de las coordenadas
espaciales y de un conjunto de atributos asociados relacionados a la temperatura, densidad, presión,
dirección del viento, etc.
Un ejemplo de aplicación de Mean Shift geodésico se encuentra en la Fig. 10 donde en la
Fig. 10(a) se encuentra la malla poligonal. La Fig. 10(b) corresponde al coloreo de la anterior
tomándose para ello un atributo de interés (en este caso, un mapeo de la dirección normal de las
coordenadas XYZ a RGB). En la Fig. 10(c) puede observarse el resultado de la aplicacion de esta
variante de Mean Shift.
16
(a) (b) (c)
Figura 10: Ejemplo de aplicacion de Mean Shift geodésico. (a) Imagen de la malla. (b) Imagen
coloreada. (c) Imagen resultante de la aplicación del Mean Shift geodésico a la imagen (b).
El uso de Mean Shift sobre mallas poligonales presenta algunos obstáculos. A modo de
ejemplo, el uso de superficies de mallas puede dar resultados donde el promedio de coordenadas
3D caigan fuera de la malla, debiendo aplicarse en estos casos el cálculo de distancias geodésicas
(Definición 3) y no euclidianas (Definición 4).
Definición 3: En un grafo la distancia geodésica es la distancia mı́nima entre dos vértices
medida por el número de aristas necesarias para conectarlas.
Definición 4: Sean p~ = (p1 , p2 , ..., pi ) y ~q = (q1 , q2 , ..., qi ) dos vectores en coordenadas
cartesianas. La distancia euclidiana se define como
p
D(~p, ~q) = (p1 − q1 )2 + (p2 − q2 )2 + ... + (pi − qi )2
Para los cálculos, los autores definen como vecindario Ω el conjunto de puntos alrededor
del punto sobre el que se aplica el algoritmo, siendo h el ancho de ventana y quedando definido
el cálculo de la media según la Ec. (14). En la misma, DΦ (P, Q) es la distancia (euclidiana o
geodésica) entre dos puntos P y Q en el espacio Φ, g(x) es una función perfil de un kernel como
en la Ec. (10) y S es la región representada por las caracterı́sticas espaciales de punto PS .
P DΦ (P,PS )
S⊂ΩPS · g h · área(S)
Mh (P ) = (14)
P DΦ (P,PS )
S⊂Ω g h · área(S)
El artı́culo presenta una variante de Mean Shift aplicable a superficies poligonales 3D
extendiéndose la aplicación de la misma a mallas irregulares y desestructuradas.
El uso de distancias geodésicas trae aparejado distorciones del cálculo desde un punto o
vértice hacia los demás puntos del vecindario. Por ello, los autores para minimizar esta distorción
introducen una parametrización geodésica puntual que se modifica de un punto a otro. Esto permite
la aplicación de Mean Shift geodésico como si la superficie fuera plana.
17
5. Conclusiones
El método de Mean Shift es utilizado para el análisis de imágenes de todo tipo, destacándose
por no asumir una forma o tamaño para realizar el agrupamiento de los datos. Los resultados de su
aplicación dependen fuertemente de la elección del ancho de banda y de los aspectos a evaluar ya
sea el color, el espacio, etc. La dificultad en este algoritmo se encuentra en darle el valor adecuado
al parámetro h, el cuál depende del problema que queremos resolver.
Dentro de las ventajas de este método de segmentación se encuentra principalmente que no
requiere de un gran número de parámetros ni de un conocimiento a priori de la imagen y sus
caracterı́sticas, que pueden incluir texturas o formas. Estas cualidades distinguen este método
porque permite obtener resultados de gran calidad en diferentes escenas. Esto califica al método
Mean Shift como una buena alternativa para procesar todo tipo de imágenes, ya sea porque no
se posee una fuente de conocimiento sobre patrones en las mismas o bien, porque éstas pueden
presentar una gran diversidad entre si.
Es importante tener en cuenta que este método no siempre obtiene los resultados óptimos.
Otros algoritmos como k-means pueden realizar segmentaciones incluso de mejor calidad si se posee
un conocimiento sobre previo sobre la imagen y el parámetro k toma el valor adecuado.
En la sección 4 se presentan algunas variantes del algoritmo de Mean Shift. En ellas se
intenta mejorar los resultados obtenidos por el algoritmo original. Para estas variantes, la correcta
elección de los parámetros sigue siendo de suma importancia. Se destaca la variante presentada en
la subsección 4.3 donde se mejora el algoritmo original para imágenes que presentan algún tipo de
estructura (como se presentan en el pelaje de una zebra).
No debe olvidarse que los resultados obtenidos con Mean Shift también varı́an de acuerdo al
número de iteraciones o de la convergencia del algoritmo (la cual no fue desmostrada).
18
Referencias
[1] G. Gómez L. E. Sucar. Visión Computacional. Disponible on-line:
[Link] esucar/Libros/[Link], 2008.
[2] V. Rajesh Ramesh Babu Vallabhaneni. Brain tumor detection using mean shift clustering and
GLCM features with Edge Adaptive Total Variation Denoising Technique. ARPN Journal of
Engineering and Applied Sciences, VOL. 12, NO. 3, 666-671, Febrero 2017.
[3] Juan Zhang Lihui Zou Jinghua Lu, Jie Chen. Medical Image Segmentation Using Mean
Shift Algorithm and General Edge Detection. 18th IFAC World Congress Milano (Italy).
p.9656-9661., 2011.
[4] [Link] [Link]. An Efficient Clustering based Segmentation Algorithm for
Computer Tomography Image Segmentation. Journal of biomedical engineering and medical
imaging, vol.1, n.3, pp. 1-11, 2014.
[5] V. DeBrunner V. Lakshmanan, R. Rabin. Multiscale storm identification and forecast. Atmos.
Res., 67/68, 367–380, 2003.
[6] [Link] B. Lavanya. A Novel Approach for Identification of Forest Fires using Land
Surface Temperature Images. IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN:
2278-0661,p-ISSN: 2278-8727, Volume 16, Issue 5, Ver. IV (Sep – Oct. 2014), PP 78-83, 2014.
[7] Yuanzhi Zhang Yu Li. Synthetic aperture radar oil spills detection based on
morphological characteristics. Geo-spatial Information Science, 17:1, 8-16, DOI:
10.1080/10095020.2014.883109, 2014.
[8] C. C. Yin Y. Mao Y. Xu, J. Wu. Unsupervised Cryo-EM Data Clustering
through Adaptively Constrained K-Means Algorithm. PLoS ONE 11(12): e0167765.
[Link] 2016.
[9] J. del Cerro A. Barrientos B. MacDonald G.R. Rodrguez-Canosa, S. Thomas. A Real-Time
Method to Detect and Track Moving Objects (DATMO) from Unmanned Aerial Vehicles
(UAVs) Using a Single Camera. Remote Sens. 2012, 4, 1090–1111, 2012.
[10] F. Murtagh C. Collet. Multiband segmentation based on a hierarchical markov model. Pattern
Recogn. 37, 2337–2347. doi: 10.1016/S0031-3203(04)00190-6, 2004.
[11] N. Stamatopoulos S.J. Perantonis G. Vamvakas, B. Gatos. A complete opticalcharacter
recognition methodology for historical documents. Proceedingsof the Eighth IAPR Workshop
on Document Analysis Systems, 2008.
[12] Keinosuke; Larry D. Hostetler. Fukunaga. The Estimation of the Gradient of a Density
Function, with Applications in Pattern Recognition. IEEE Transactions on Information Theory
(IEEE) 21 (1): 32–40, Febrero 1975.
[13] J Soraghan. MI Masrullizam, AR Syafeeza. Tracking The Eyes Using Interdependence Mean
Shift Tracking Algorithm With Appropriate Information Provided. Journal Of Engineering
And Applied Sciences 11 (12), 7862-7865, Junio 2016.
[14] A. Agarwal V. Singh A. K. Gautam. [Link], P. Agarwal. Skeleton based Human Action
Recognition using Kinect. International Journal of Computer Applications (0975 – 8887),
Recent Trends in Future Prospective in Engineering & Management Technology, 2016.
19
[15] Leo Breiman Statistics and Leo Breiman. Random Forests. Machine Learning. Kluwer
Academic Publishers, 45, 5–32, 2001.
[16] Twan Maintz. Digital and Medical Image Processing.
[Link] 2005.
[17] L. Kaufman P.J. Rousseeuw. Finding Groups in Data: An Introduction to Clúster Analysis.
Wiley, 1990.
[18] G. R. Sinha. B. C. Patel. An adaptative K-means clustering algorithm for breast image
segmentation. International Journal of Computer Aplication New York USA, 10(4), 35-38.
doi:10.5120/1467-1982, 2010.
[19] A . Mehnert M. Persson. Q. Mahmood, A. Chodorowski. A novel Bayesian approach to
adaptive mean shift segmentation of brain images. Proceeds of CBMS 2012 The 25th IEEE
International Symposium on Computer-Based Medical Systems. Vol. 1 Italy : IEEE. p. 1-6.,
2012.
[20] Dorin Comaniciu and Peter Meer. Mean shift: A robust approach toward feature space analysis.
IEEE Transactions on Pattern Analysis and Machine Intelligence (24) 603-619, 2002.
[21] T. M. Apostol. Calculus, Volumen 1, Cálculo con funciones de una variable, con una
introducción al álgebra lineal. Editorial Reverté S.A., 1984.
[22] Y. Aliyari Ghassabeh. On the convergence of the mean shift algorithm in the one-dimensional
space. Pattern Recognition Letters. 34 (12): 1423–1427, 2013.
[23] Zhanyi; Wu Fuchao Li, Xiangru; Hu. A note on the convergence of the mean shift. Pattern
Recognition. 40 (6): 1756–1762. doi:10.1016/[Link].2006.10.016, 2007.
[24] Yizong. Cheng. Mean Shift, Mode Seeking, and Clustering. IEEE Transactions on Pattern
Analysis and Machine Intelligence, August 1995.
[25] Yingqing Xu y Michael Cohen. Jue Wang, Bo Thiesson. Image and Video Segmentation by
Anisotropic Kernel Mean Shift. Microsoft Research (Asia and Redmond), T. Pajdla and J.
Matas (Eds.): ECCV 2004, LNCS 3022, pp. 238–249, 2004.
[26] D. Cohen-or. A. Shamir, L. Shapira. Mesh analysis using geodesic mean-shift. [SSCO06] Vis.
Comput. 22, 2, 99–108., 2006.
20