3.6 Clasificaci´ on
3.6.1 Extracci´ on de Caracter´ısticas
Es necesario representar y describir los p´ıxeles resultantes de la segmentaci´on de forma que sea posible su procesamiento; la descripci´on de una regi´on se realiza con base en sus carac- ter´ısticas internas, externas o ambas. La extracci´on de caracter´ısticas consiste b´asicamente en la tarea de localizar puntos de inter´es en una imagen dada, los cuales, contienen una alta cantidad de informaci´on relevante sobre su entorno y son invariables ante las perturbaciones que puede sufrir una imagen, es decir, son reproducibles.
Para lograr clasificar correctamente las im´agenes dermatosc´opicas se debe asegurar que la representaci´on de las im´agenes de una misma clase sea lo m´as similar posible. En otras pa- labras, en la representaci´on por puntos de inter´es se debe lograr que en im´agenes diferentes de la misma clase se detecten los mismos puntos de inter´es, en las mismas zonas y que estas zonas sean las m´as representativas de la imagen.
SIFT
Muchos algoritmos son invariantes ante las rotaciones pero esto no necesariamente aplica cuando la imagen presenta un escalamiento. Scale Invariant Feature Transform, SIFT, es un algoritmo de detecci´on de puntos de inter´es que es invariante ante rotaciones y escalamientos. SIFT consiste en aplicar sobre la imagen una secuencia de diferencias gaussianas centradas en cada uno de los p´ıxeles de la imagen en una escala σ determinada (de la pir´amide de im´agenes5) 3-8, esto produce un efecto de suavizado y p´erdida del detalle de la imagen ori-
ginal a medida que los pixeles vecinos van perdiendo influencia una vez se van alejando del p´ıxel principal. La diferencia de gaussianas act´ua como detector de contornos o ´areas con intensidad homog´enea (BLOBS) rodeadas de zonas oscuras o claras.
Con lo anterior, podemos encontrar los m´aximos locales a trav´es de la escala y el espacio, lo que nos da una lista de valores (x, y, σ) indicando que hay un punto de inter´es potencial en (x, y) a escala σ. En otras palabras, un p´ıxel es comparado con sus 8 vecinos m´as cercanos en la misma escala, como tambi´en se compara con los 9 puntos vecinos en las escala anterior y posterior3-9. Esto significa que un punto de inter´es est´a mejor representado en esa escala. Una vez localizados todos los puntos de inter´es, estos deben refinarse para obtener resultados m´as precisos. Se eliminan todos los puntos con contraste bajo (bajo valor en la diferencia de
5Conjunto de im´agenes con tama˜no decreciente o creciente, usada para detectar caracter´ısticas de diferentes
3.6 Clasificaci´on 19
Figura 3-8: Pir´amide de im´agenes [18].
gaussianas) adem´as de puntos localizados en los bordes ya que pueden introducir ruido en la imagen.
Ahora una orientaci´on es asignada a cada punto de inter´es, ya que la descripci´on de estos se representar´a a trav´es de un vector num´erico que representa la informaci´on que se tiene de la imagen en una zona que se define alrededor del punto de inter´es. El descriptor se basa en el concepto de gradiente y se define como el cambio de intensidad de la imagen en una direcci´on determinada. La diferencia de intensidad se mide en las coordenadas x e y, ´estas se pueden ubicar en un plano describiendo un vector con su respectiva magnitud y ´angulo de direcci´on.
Se crea un histograma de orientaci´on dividiendo los 360 grados en 36 intervalos, que provee informaci´on sobre la distribuci´on de las orientaciones del gradiente en una determinada regi´on adem´as de, la orientaci´on dominante en la regi´on. Los p´ıxeles centrales deben tener una mayor importancia y por ello se pondera la magnitud del gradiente con una funci´on gaussiana de σ igual a 1,5 veces la escala del punto de inter´es. Para calcular la orientaci´on se toma el pico m´as alto en el histograma y picos superiores al 80 %, creando puntos de inter´es con la misma ubicaci´on y escala, pero con diferentes direcciones, contribuyendo a la estabilidad de la coincidencia.
A continuaci´on se crea el descriptor del punto de inter´es. Se toma un ´area de 16x16 alrededor del punto de inter´es y se divide en 16 subbloques de tama˜no 4x4. Para cada subbloque, se crea un histograma de orientaci´on de 8 divisiones, de modo que hay un total de 128 valores de divisi´on disponibles. Adem´as de esto, se toman varias medidas para lograr robustez contra
Figura 3-9: Comparaci´on entre p´ıxeles [18].
cambios de iluminaci´on (normalizar el descriptor), rotaci´on, etc.
SURF
Speeded-Up Robust Features, SURF, es la versi´on mejorada de SIFT. Este algoritmo aproxima el Laplaciano de Gaussianas(LoG) mediante filtros cuadrados, lo cual implica mayor rapidez debido a que su convoluci´on puede ser calculada mediante el uso de im´agenes integrales. SURF tambi´en usa el determinante de la matriz Hessiana para hallar BLOBS en lugares donde este es m´aximo y seleccionar la escala.
Para la asignaci´on de orientaci´on al igual que para la descripci´on de los puntos de inter´es, SURF usa respuestaswavelet en direcci´on horizontal y vertical para un vecindario de tama˜no determinado. En el primer caso, se toma un vecindario circular de radio 6s, siendosla escala del punto de inter´es, y al igual que en SIFT se ponderan con pesos Guassianos adecuados. La orientaci´on dominante se estima sumando todas las respuestas dentro de una ventana de orientaci´on deslizante con ´angulo de 60 grados. La respuestawavelet se puede encontrar usando de nuevo im´agenes integrales en cualquier escala.
En la descripci´on de los puntos de inter´es, se toma un vecindario cuadrado de tama˜no 20sx20s alrededor del punto central, el cual se divide en 4x4 subregiones. Para cada subregi´on, se toman las respuestas wavelets horizontales y verticales, suavizando los resultados mediante un filtro Gaussiano (ofrece mayor robustez ante el ruido, errores y deformaciones geom´etricas o fotom´etricas) y obteniendo as´ıdx y dy. A continuaci´on se suman los resultados dx, dy y el valor absoluto |dx|, |dy|. De esta manera, cada subregi´on proporciona un vector v, que estar´a compuesto por:
v = (Xdx,Xdy,X|dx|,X|dy|) (3-16)
3.6 Clasificaci´on 21
3.6.2.
Clasificaci´on
Una vez se obtienen las caracter´ısticas de los objetos a clasificar, hay dos criterios que se pueden aplicar para la determinaci´on de las clases en un algoritmo de clasificaci´on, la clasi- ficaci´on supervisada y no supervisada. La clasificaci´on supervisada parte de un conjunto de clases conocido a priori (datos de entrenamiento), que servir´an para generar una signatura caracter´ıstica para cada clase a trav´es de la extracci´on de caracter´ısticas[1]. Existen nume- rosos algoritmos de este tipo, como son las redes neuronales artificiales, SVM, ´arboles de decisi´on, Na¨ıve Bayes, Random Forests, etc.
En la clasificaci´on no supervisada es necesario establec er el n´umero de clases en las cuales se quiere clasificar los objetos, ya que se emplea para procesar datos de los cuales no se ten´ıa conocimiento a priori. Aqu´ı los elementos m´as similares se van agrupando formando clases hasta llegar al n´umero definido inicialmente. Dentro de esta categor´ıa se incluyen las t´ecnicas de clustering o agrupamiento y el algoritmo k-means. Con cualquiera de los dos criterios se puede dise˜nar un sistema que ser´a capaz de asignarle a muestras futuras una clase determinada.
Redes Neuronales
Las redes neuronales artificiales son modelos matem´aticos inspirados en nuestra comprensi´on de los sistemas nerviosos biol´ogicos. Por tanto una red neuronal es una colecci´on de neuronas artificiales, las cuales son unidades elementales para el procesamiento de la informaci´on. El modelo matem´atico de una neurona artificial se basa en las siguiente proposiciones:
Las neuronas son las unidades elementales en un sistema nervioso en el que se produce el procesamiento de la informaci´on.
Las entradas est´an dadas en forma de se˜nales que se transmiten entre las neuronas a trav´es conexiones.
Cada conexi´on tiene un peso que multiplica la se˜nal transmitida.
Cada neurona tiene una acci´on interna, seg´un el umbral de disparo, lo que resulta en una funci´on de activaci´on aplicada a la suma ponderada de las se˜nales de entrada para producir una se˜nal de salida.
SMV
Las m´aquinas de vectores soporte (SVM, del ingl´es Support Vector Machines) pertene- cen a la categor´ıa de los clasificadores lineales, puesto que inducen separadores lineales N-dimensionales o hiperplanos en la dimensi´on correspondiente para lograr una separaci´on ´
optima. Para la introducci´on de dichos hiperplanos en problemas no lineales, se transforma el problema original en su forma dual equivalente (plano de caracter´ısticas) y se resuelve este
´
ultimo mediante el uso de funciones kernel. La idea principal es obtener el margen m´aximo equidistante entre el hiperplano y aquellas muestras de cada clase que se encuentran m´as cercanas a la frontera entre clases (vectores soporte),
En SVM existen kernels lineales y no lineales, los primeros dan peores resultados ya que muchos problemas no son linealmente separables, sin embargo el costo computacional y de entrenamiento es muy bajo. La ecuaci´on de predicci´on para una nueva entrada est´a dada por el producto punto entre la entrada (X) y cada vector soporteXi. Loskernels no lineales tienen un costo computacional mayor (tiempo y memoria) en las etapas de aprendizaje y clasificaci´on (es necesario guardar todos los vectores de soporte).
Es necesario validar el par´ametro C que es el factor de regularizaci´on de impacto del com- promiso entre el grado de sobreajuste del clasificador final y la proporci´on del n´umero de ejemplos mal clasificados; en la actualidad no existe una forma te´orica de encontrar el valor del par´ametro, sin embargo, se utiliza un valor tendiente al infinito.
K-MEANS
El par´ametro de entrada en este tipo de algoritmos es el n´umero final de conjuntos (k), utilizado para obtener un representante para cadacluster. Los clusters son definidos por la distancia al representante m´as cercano, el algoritmo es iterativo y su objetivo es encontrar la agrupaci´on que minimice la distancia de las muestras al representante de cada cluster. El funcionamiento del algoritmo ser´ıa el siguiente:
Inicializar los representantes de cadacluster de forma aleatoria con una muestra cual- quiera del conjunto de entrenamiento.
Se calcula la distancia de las muestras a los diferentes clusters inicializados aleatoria- mente y se asigna al cluster que muestre la distancia m´as peque˜na.
Se modifica el representante de cada clase recalculando la media de todas las muestras asignadas alcluster.
Se modifican las fronteras de los clusters y se repiten los pasos 2 y 3 hasta que no hayan cambios en la asignaci´on.
El resultado depende de la inicializaci´on, a veces es necesario repetir el proceso con diferentes inicializaciones y escoger la soluci´on que tenga la menor suma total de cada una de las distancias de las muestras a los representantes de cadacluster.
ˆ C =argmin k X j=1 X xi∈Cj d(xi, Cj) (3-17)
3.6 Clasificaci´on 23
Bag of Words
El m´etodo de bag of words (BOW) considera la imagen como un conjunto de caracter´ısticas locales, comunes y relevantes que son utilizadas para reconocer y clasificar las im´agenes por m´etodos estad´ısticos. A estas caracter´ısticas se les llamar´a palabras visuales.
La estructura general del algoritmo consiste en primer lugar agrupar las caracter´ısticas me- diante el uso del algoritmo de agrupamiento K-means y de all´ı obtener el vocabulario visual. Los centros de agrupamiento son considerados como palabras visuales que componen el vo- cabulario visual. Luego se hace uso del histograma descrito por la frecuencia de aparici´on de las palabras visuales para representar el contenido de la imagen; como resultado, una imagen se ve como una bolsa llena de palabras visuales. Como ´ultimo paso, se toma el histo- grama formado por palabras visuales de cada imagen como caracter´ısticas, luego se obtiene el modelo de clasificaci´on por entrenamiento SVM. En este m´etodo no se tiene en cuenta la localizaci´on de las caracter´ısticas locales de la imagen, lo cual puede ayudar a clasificar una imagen independientemente de donde se encuentre el objeto[10].
Como ya se ha mencionado anteriormente, K-Means permite construir el vocabulario a trav´es de un conjunto de im´agenes suficientemente caracter´ısticas de cada clase, el resultado ser´a un conjunto de puntos de inter´es los cuales son agrupados mediante clustering. La idea b´asica para representar una imagen a trav´es de BOW se basa en asignar cada caracter´ıstica local a la palabra visual m´as cercana, se selecciona la palabra visual que tenga la menor distancia al punto de referencia. La representaci´on final corresponde a un histograma de palabras donde cada componente indica cuantas caracter´ısticas han quedado asociadas a una palabra. Existe la necesidad de comparar cada caracter´ıstica con todas las palabras, lo que puede generar un costo computacional elevado por ello, se definen diferentes pesos para las ca- racter´ısticas. Las palabras que sean comunes y aparezcan frecuentemente en las im´agenes brindan en su mayor´ıa poca informaci´on y se le asigna un peso menor, en cambio, una carac- ter´ıstica poco com´un puede brindar m´as informaci´on en la representaci´on de la imagen. El valor asociado a cada palabra va dado por elterm frecuency, el primer termino en la formula 3-17, ´este cuenta la frecuencia de cada palabra en la imagen, normalizado por el n´umero total de caracter´ısticas o de palabras que se tienen en la imagen.
El valor anterior se pondera con otro factor que tiene en cuenta la relevancia o capacidad de discriminaci´on de la palabra (IDF), este se obtiene dividiendo el n´umero total de im´agenes que hemos utilizado para construir el vocabulario, por el n´umero de im´agenes donde aparece una determinada palabra. De esta forma, si una palabra aparece en todas las im´agenes, este cociente va a ser igual a 1 y al tomar el logaritmo, su peso va a ser de 0. Por lo contrario, si una palabra aparece en muy pocas im´agenes, el valor de este cociente va a ser elevado y, por lo tanto, su ponderaci´on va a ser elevada. En este m´etodo es importante normalizar para evitar dependencia del n´umero total de palabras en la imagen.