E N D
Manzanas Nuestras manzanas amarillas son las Golden Delicius. Su piel es de color verde amarillento y muy dulce al paladar. Es propenso a los moretones y marchitamiento, por lo que requiere de un manejo y almacenamiento cuidadoso. Es uno de los favoritos para ensaladas, salsa de manzana y mantequilla de manzana.
Manzanas Nuestras manzanas rojas son las Red Delicius.Comprende más de 50 variedades, La piel es gruesa y amarga y tiene hay que masticarla vigorosamente. Es deliciosa, conserva su alegre buena apariencia mucho tiempo después de que se le vaya el sabor.
Manzanas Las manzanas verdes son Granny Smith. El fruto tiene la piel de color verde claro duro y una carne crujiente y jugosa. Pasó de ser amarilla a completamente verde. La acidez se suaviza considerablemente, y luego toma un sabor equilibrado.
Manzanas Las que denominamos mixtas en realidad son Braeburn. Es una variedad que es firme al tacto, con un aspecto veteado vertical roja/naranja sobre un fondo de color amarillo/verde. Su intensidad del color varía con las diferentes condiciones de crecimiento. Ellos son conocidos por tener una explosión de sabor cuando mordido.
Definición de Objetivos • Profundizar en el concepto de clustering, más concretamente en el algoritmo de k-medias. • Desarrollar un plugin para la aplicación ImageJ para clasificar manzanas según su color de piel. • Se deberá implementar una interfaz simple e intuitiva que permita al usuario desarrollar las funciones del plugin de manera eficaz. • El plugin deberá implementar las funciones de entrenamiento y clasificación.
Un poquito de Teoría • Clustering Procedimiento de agrupación de una serie de objetos de acuerdo con un criterio. Para nosotros el criterio será la similitud. Generalmente, los vectores de un mismo grupo (o clústers) comparten propiedades comunes. El conocimiento de los grupos puede permitir una descripción sintética de un conjunto de datos multidimensional complejo. De ahí su uso en minería de datos. Esta descripción sintética se consigue sustituyendo la descripción de todos los elementos de un grupo por la de un representante característico del mismo.
Un poquito de Teoría Clustering por K-medias Es uno de los algoritmos de aprendizaje no supervisado más simples para resolver el problema de la clusterización. El procedimiento aproxima por etapas sucesivas un cierto número (prefijado, en nuestro caso 3) de clusters haciendo uso de los centroides de los puntos que deben representar. El algoritmo se compone de los siguientes pasos: • Sitúa K puntos en el espacio en el que "viven" los objetos que se quieren clasificar. Estos puntos representan los centroides iniciales de los grupos. • Asigna cada objeto al grupo que tiene el centroide más cercano. • Tras haber asignado todos los objetos, recalcula las posiciones de los K centroides. • Repite los pasos 2 y 3 hasta que los centroides se mantengan estables. Esto produce una clasificación de los objetos en grupos que permite dar una métrica entre ellos.
Un poquito de Teoría Ejemplo Clustering por K-medias En el primer paso situamos los centros de manera aleatoria sobre nuestra nube de puntos. En este caso se han situado dos centros. Se calculan los clusters, que son los puntos que están más cercanos a cada centro. En el segundo paso, los centros cambian su posición para pasar a ser el centro de los clusters que representa.
Un poquito de Teoría Ejemplo Clustering por K-medias En el paso 3, como los centros han cambiado de posición se vuelven a calcular los puntos que están más cercanos. Hay varios puntos que cambian de color porque están más cerca del centro del clúster al que no pertenecían antes. En el paso 4, los centros vuelven a cambiar de posición y a situarse en medio del clúster al que representan.
Un poquito de Teoría Ejemplo Clustering por K-medias En los pasos 5 y 6, los clusters no cambian, por lo que los centros no se mueven. El algoritmo para.
Un poquito de Teoría Cielab El CIE L*a*b* es el modelo cromático usado normalmente para describir todos los colores que puede percibir el ojo humano. Fue desarrollado específicamente con este propósito por la Comisión Internacional de la Iluminación. Los tres parámetros en el modelo representan la luminosidad de color (L*, L*=0 rendimientos negro y L*=100 indica blanca), su posición entre rojo y verde (a*, valores negativos indican verde mientras valores positivos indican rojo) y su posición entre amarillo y azul (b*, valores negativos indican azul y valores positivos indican amarillo).
Un poquito de Teoría Cielab El modelo de color Lab es tridimensional y sólo puede ser representado adecuadamente en un espacio tridimensional.
Aplicación APPLEUGIN Antes De Empezar Copiar previamente los archivos a la carpeta “Plugins” que aparece en el directorio donde está instalado ImageJ
Aplicación APPLEUGIN Compilar y Ejecutar Seleccionar la imagen con la manzana que queremos clasificar. Entrar en menú “Plugins” y seleccionar la opción “Compile and Run...”.
Aplicación APPLEUGIN Proceso • Entrenamiento Manual • Seleccionar Manzana • Clasificación • Cargar Entrenamiento • Salvar Entrenamiento
Aplicación APPLEUGIN Entrenamiento Manual
Aplicación APPLEUGIN Entrenamiento Manual
Aplicación APPLEUGIN Entrenamiento Manual
AplicaciónAPPLEUGIN Entrenamiento Manual
AplicaciónAPPLEUGIN Entrenamiento Manual
AplicaciónAPPLEUGIN Guardar Entrenamiento
AplicaciónAPPLEUGIN Guardar Entrenamiento Importante: Extensión .ent
AplicaciónAPPLEUGIN Cargar Entrenamiento
AplicaciónAPPLEUGIN Cargar Entrenamiento Importante: Extensión .ent
AplicaciónAPPLEUGIN Segmentación con Clustering
AplicaciónAPPLEUGIN Segmentación con Clustering
AplicaciónAPPLEUGIN Evaluación
DesarrolloAPPLEUGIN Procesado a Cielab Las imágenes las procesamos a Cielab, esto permite obtener su color en base a los parámetros L*, a* y b*. Nota: Los números de los ejemplos no son reales. Simplemente interesa que se entiendan los procedimientos, por lo que son números sencillos.
DesarrolloAPPLEUGIN Segmentación con Clustering • Con técnicas de clustering (kmedias con K=3) se obtienen 3 colores. Por un lado el fondo, que se supone como el clúster con mayor número de puntos, y los dos colores de cada manzana.
DesarrolloAPPLEUGIN Entrenamiento Obtiene los 2 colores predominantes (rechazando el fondo) de cada manzana y realiza la media de los parámetros cielab. …
DesarrolloAPPLEUGIN Entrenamiento Análogamente se calculan con los diferentes tipos. Y se obtiene la tabla de Entrenamiento calculando la media de casa parámetro.
DesarrolloAPPLEUGIN Evaluación Calcula los parámetros cielab de la imagen a clasificar. Compara esos parámetros con los parámetros de cada tipo del entrenamiento. Y se clasifica como el tipo con el que su diferencia sea menor. |Verde 1 L – Color 1 L| + |Verde 1 a – Color 1 a| + |Verde 1 b – Color 1 b| = V1 |Verde 2 L – Color 2 L| + |Verde 2 a – Color 2 a| + |Verde 2 b – Color 2 b| = V2 |Rojo 1 L – Color 1 L| + |Rojo 1 a – Color 1 a| + |Rojo 1 b – Color 1 b| = R1 |Rojo 2 L – Color 2 L| + |Rojo 2 a – Color 2 a| + |Rojo 2 b – Color 2 b| = R2 |Amarillo 1 L – Color 1 L| + |Amarillo 1 a – Color 1 a| + |Amarillo 1 b – Color 1 b| = A1 |Amarillo 2 L – Color 2 L| + |Amarillo 2 a – Color 2 a| + |Amarillo 2 b – Color 2 b| = A2 |Mixtas 1 L – Color 1 L|+ |Mixtas 1 a – Color 1 a| + |Mixtas 1 b – Color 1 b| = M1 |Mixtas 2 L – Color 2 L|+ |Mixtas 2 a – Color 2 a| + |Mixtas 2 b – Color 2b | = M2
DesarrolloAPPLEUGIN Evaluación La aplicación evalúa al Verde de la mínima suma parcial. Compara V1+V2, A1+A2, R1+R2, M1+M2 y clasifica como el más pequeño. La Seleccionaría Verde
DesarrolloAPPLEUGIN Archivo de Entrenamiento El archivo de entrenamiento contiene toda la información codificada de tal manera que el sistema pueda interpretarla correctamente. Para cada tipo de manzana, se tiene las coordenadas CIELAB de los dos colores dominantes. Los tres números que aparecen para cada línea indican las coordenadas L*, A* y B*, respectivamente.
Experimentación Para llevar a cabo la experimentación, se han seleccionado 8 manzanas, dos de cada tipo, una que identifique perfectamente el color, y otra que intente distorsionarlo lo más que se pueda, y además se irán cambiando los entrenamientos, de manera que se vaya dotando al sistema de más información sobre las manzanas y sus propiedades. Es importante decir que las manzanas que se van a evaluar no pueden estar contenidas en el entrenamiento
Experimentación Manzanas Verdes VA: Poco identificativa (amarillenta) VB: Muy identificativa (fuerte nivel de verde)
Experimentación Manzanas Amarillas • AA: Poco identificativa (matices verdes) • AB: Muy identificativa (fuerte nivel de amarillo)
Experimentación Manzanas Amarillas • RA: Poco identificativa (casi mixta) • RB: Muy identificativa (color rojo marcado)
Experimentación Manzanas Amarillas • MA: Poco identificativa (matices rojos) • MB: Muy identificativa (fuerte contraste)
Experimentación Entrenamiento 1
Experimentación Conclusiones 1 Las manzanas de evaluación mencionadas anteriormente, los resultados obtenidos fueron los siguientes: Esto supone que el porcentaje de acierto del sistema ha sido de un 87.5% La deliberación del sistema tiene sentido, ya que la manzana que se evaluó con color amarillo tenía muchos matices que podrían ser verde perfectamente, mientras que la de color mixto podría pasar por roja perfectamente.
Experimentación Entrenamiento 2 Se añade al Entrenamiento 1 las siguientes manzanas
Experimentación Conclusiones 2 Los resultados obtenidos fueron los siguientes: Hemos disminuido la tasa de aciertos a un 75% Esto se debe a que el umbral que toma el programa para decidir si una manzana es verde o amarilla se ha reducido, por lo que la manzana, que nosotros hemos supuesto verde, el programa la ha determinado como amarilla. Además, el equipo no ha sido capaz de identificar el fallo de porqué ha devuelto como mixta una manzana que es claramente verde
Experimentación Entrenamiento 3 Se han añadido al entrenamiento, todas las manzanas, menos las que se van a evaluar al entrenamiento, para estudiar el comportamiento del programa. Debido a la cantidad de manzanas que se han añadido, no se muestran en el documento. Aunque se encuentran en las imágenes proporcionadas junto con el código fuente.
Experimentación Conclusiones 3 Los resultados obtenidos fueron los siguientes: Ya se ha obtenido el 100% de aciertos en el entrenamiento. Los problemas anteriores han podido ser paliados añadiendo distintos tipos de color a las manzanas verdes, para que el sistema pueda establecer umbrales para la elección de colores, que le permitan acertar en las conclusiones
PosiblesMejoras • Nuestras imágenes están sacadas de internet y contienen sobras que dificultan el proceso. • Analizar el contorno a través de alguna técnica de reconocimiento de objetos. En nuestra aplicación si metemos un limón (o cualquier otra cosa) en vez de una manzana no lo da por malo.
PosiblesMejoras • La aplicación siempre devuelve una predicción del tipo de la manzana. Se podría haber buscado unos márgenes de resultados, es decir, si la imagen a evaluar no tiene unas características parecidas a los valores del conjunto de entrenamiento podría devolver que no encuentra la categoría la categoría. • Evaluación de un conjunto de manzanas al mismo tiempo. El plugin solo clasifica de manzana en manzana.
Conclusiones Con Appleugin podemos clasificar manzanas según su color. Debido al proceso de clustering, que es donde nos hemos centrado y puesto mayor interés para la realización del trabajo. Mediante esta técnica analizamos todos los pixeles de la imagen, realizamos una segmentación manual del fondo y obtenemos los colores predominantes. Hay que ser meticulosos en el entrenamiento porque de esta fase depende que la clasificación se haga correctamente. Appleugin tiene buen uso a la hora de identificar o clasificar manzanas y fácilmente se podría extrapolar a cualquier objeto que presente pocos colores predominantes.
Referencias K-Medias http://www.cs.us.es/~fsancho/?e=43 http://www.java2s.com/Open-Source/Java/Graphic-Library/ImageJ-Plugins-1.4.1/net/sf/ij_plugins/clustering/KMeans.java.htmhttp://rsbweb.nih.gov/ij/developer/api/ij/ImageJ.htmlhttp://rsbweb.nih.gov/ij/docs/pdfs/tutorial10.pdfhttp://es.wikipedia.org/wiki/Segmentaci%C3%B3n_%28procesamiento_de_im%C3%A1genes%29http://www.java2s.com/Open-Source/Java/Graphic-Library/ImageJ-Plugins-1.4.1/net/sf/ij_plugins/multiband/VectorProcessor.java.htm CIElab http://es.wikipedia.org/wiki/Espacio_de_color_Lab Manzanas http://en.wikipedia.org/wiki/Braeburn http://en.wikipedia.org/wiki/Granny_Smith http://en.wikipedia.org/wiki/Red_delicious http://en.wikipedia.org/wiki/Golden_Delicious