Detección de monedas con el método de la transformada de Hough
Transcripción
Detección de monedas con el método de la transformada de Hough
Detección de monedas con el método de la transformada de Hough GRUPO 10 CARLOS HERCE GUILLERMO GUTIÉRREZ Procesamiento de Imágenes Digitales Ingeniería en Informática. Enero 2014 Índice 2 1. 2. 3. 4. 5. Introducción Procedimiento de detección Solución técnica Bibliografía Demostración Introducción 3 Artículo de investigación relacionado: Coin Detection by Mobile Devices Wu-Ja Lin & Chih-Wei Tseng. I2MTC; IEEE, 2012 Aplicación principal: detección de monedas desde el smartphone. Foto de monedas sobre la mano. Algoritmos principales: detector de bordes de Canny transformada de Hough para Círculos Procedimiento 4 Conversión de RGB->CIE L*a*b* 2. Clustering del plano a* 3. Detector de bordes de Canny 4. Transformada de Hough para Círculos 1. 5 En el espacio de color Lab, la diferencia entre dos colores es proporcional a la percepción de los ojos. Se demuestra que el plano a* (coordenada del color entre rojo y verde) separa mejor la moneda del fondo, cuando es la palma de la mano. Espacio de color CIE L*a*b* 1. Conversión de RGB->CIE L*a*b* 6 RGB a XYZ, con 1. Conversión de RGB->CIE L*a*b* 7 XYZ a Lab, (sólo componente a*): con 1. Conversión de RGB->CIE L*a*b* 8 Imagen en RGB a* en falso color 2. Clustering del plano a* 9 Feature-Preseerving Clustering Algorithm Algoritmo de clustering por bisección iterativo. Separa el conjunto S en dos subconjuntos SA y SB Cumpliendo: 2. Clustering del plano a* 10 Solución rápida del sistema de 4 ecuaciones anterior para el cálculo de centros: 1. 2. 3. 4. 2. Clustering del plano a* 11 Simplemente queda asociar cada punto de la imagen a un clúster u otro según su proximidad (en valor de gris) al centro del clúster (xA ó xB). Iterativamente, biseccionar el subconjunto mayor. Tomamos, como dice en el artículo, 4 clústeres (niveles de cuantización) como máximo. No obstante consideramos este paso opcional, pues dependiendo de la imagen puede empeorar el resultado que sin clustering. 2. Clustering del plano a* 12 a* en falso color a* cuantizado 3. Detector de bordes de Canny 13 Método para la detección de bordes basado en el uso de la primera derivada, donde un cambio de intensidad se manifiesta como un cambio brusco en la primera derivada. Se simplifica en cinco pasos: 1. 2. 3. 4. 5. Conversión a tonos de gris y normalizar histograma Filtro Gaussiano Obtención del vector gradiente Supresión no máximos locales Doble umbralización 3. Detector de bordes de Canny 14 Paso 1 Paso 2 Se convierte la imagen Se aplica un filtro tonos de gris gracias a la componente Y del espacio XYZ, para calcular su histograma y ecualizar el contraste de la imagen. Gaussiano a la imagen que la suaviza y además elimina posibles ruidos. Mejora el resultado. 3. Detector de bordes de Canny 15 Paso 3: Se calcula el vector gradiente a través de su magnitud y su orientación según: Siendo 𝑔𝑥 y 𝑔𝑦 la primera derivada en la dirección horizontal 𝑥 y dirección vertical 𝑦, respectivamente 3. Detector de bordes de Canny 16 Paso 4 Paso 5 Se suprimen aquellos Se realiza un proceso de píxeles que no son máximos locales en la dirección del gradiente. Para ello se busca la dirección del vector gradiente según las ocho direcciones básicas y se comprueba si es máximo. doble umbralización con T1 y T2 siendo T2 > T1: Se marcan aquellos por encima de T2. Además se marcan aquellos conectados a los primeros cuyo valor esté por encima de T1. 3. Detector de bordes de Canny 17 Imagen plano *a Resultado 4. Transformada de Hough para Círculos 18 Se trata de una técnica ideada para encontrar circunferencias en una imagen. Se utiliza la ecuación paramétrica de una circunferencia con centro en : Donde es el centro de la circunferencia, que habrá que calcular por votaciones y es el radio que se define. 4. Transformada de Hough para Círculos 19 Espacio de 3 dimensiones (2 para las coordenadas del centro del posible círculo y 1 con los distintos radios de prueba) en el que se anotan los votos. Parámetros para la transformada óptimos según nuestra experimentación: Radio mínimo: 30 píxeles Radio máximo: 80 píxeles Incremento: de 5 en 5 píxeles Umbral: votos > 60 4. Transformada de Hough para Círculos 20 Como último paso de post-tratamiento, hay que eliminar el efecto de “círculos duplicados”: Por cada círculo, eliminar aquellos con centro muy próximo y diámetro inferior. En nuestra aplicación, mostramos superpuesta sobre la imagen inicial las circunferencias de los círculos en línea de color rojo. 4. Transformada de Hough para Círculos 21 Imagen de bordes Círculos detectados Resultado final 22 Imagen de Entrada Imagen de Salida Solución Técnica 23 Hemos desarrollado en Java un plugin para la aplicación ImageJ (http://rsbweb.nih.gov/ij/). Licencia de Dominio Público, desarrollado en el Instituto Nacional de la Salud (NIH, EEUU). Son 4 clases Java (una por cada paso del algoritmo). Más 1 clase que realiza el proceso completo. Para instalarlo, no hay más que descomprimir el plugin dentro de la carpeta ImageJ/plugins/. 24 Conclusiones 25 Aunque en el artículo se propone el paso a Lab y el clustering, hemos comprobado que: El paso 1 mejora el resultado final cuando el fondo de las monedas es la mano, y empeora cuando el fondo de las monedas es un folio en blanco. Lo dejamos como paso opcional, activado por defecto. El paso 2 mejora el resultado final si hay poca variabilidad de colores. Lo dejamos como paso opcional, desactivado por defecto. Se detectan todo tipo de círculos, no sólo monedas. Futuro y aplicaciones 26 Reconocer las monedas en la imagen y contabilizar el dinero total de las monedas que aparezcan Implementación en smartphones Detección en tiempo real, sin necesidad de fotografía Puede contabilizar un gran número de monedas en apenas unos segundos Bibliografía 27 ① WJ. Lin, CW. Tseng. Coin detection by mobile devices. Instrumentation and Measurement Technology Conference (I2MTC). IEEE International, pp. 707-711, mayo 2012. ② M.J. Jiménez Rodríguez, B. Medrano Garfia. Procesamiento de Imágenes Digitales. Universidad de Sevilla, 2013. ③ Ja-Chen Lin, Wen-Hsiang Tsai. Feature-preserving clustering of 2-D data for two-class problems using analytical formulas: an automatic and fast approach. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 16, Iss. 5, pp. 554-560, 1994. ④ Plugins de ImageJ: http://rsbweb.nih.gov/ij/plugins. DEMOSTRACIÓN 28 ¿PREGUNTAS? 29 GRACIAS POR SU ATENCIÓN