Aplicación De La Transformada Wavelet Para El Reconocimiento De Formas En Visión Artificial Camilo Andrés Moreno, Oscar Oscar Alexander Bertel y Eduin José Toro Universidad Distrital-Facultad Tecnológica , ,
[email protected] Resumen — La Transformada Wavelet es una técnica matemática desarrollada recientemente, que mejora en muchos aspectos a la transformada de fourier en el campo del procesamiento digital de señales e imágenes, mostrando características como: eliminación de ruido, compresión y extracción de bordes (detalles diagonales, verticales y horizontales en las imágenes digitales). Estas características brindadas por la Transformada Wavelet son utilizadas específicamente para la extracción óptima del contorno. A partir de diversos procesos (signaturas y conteo de píxeles) se obtiene parámetros de comparación como área, perímetro, compacidad y diámetro de los contornos a comparar, finalizando con la visualización de un grado de coincidencia de los contornos comparados. Esto se hace mediante un programa desarrollado en Matlab 7.1 el cual ya incluye funciones propias para el desarrollo de la Transformada Wavelet.
— Wavelet, Contorno, signatura, DWT
Palabras clave
El análisis de wavelets puede muchas veces comprimir o eliminar ruido sin degradación apreciable.
Es importante resaltar la importancia de las transformaciones tanto en el dominio espacial como en el dominio de la frecuencia ya que muchas de las operaciones de procesamiento se pueden realizar sobre la propia imagen o transformando esta a un domino alternativo, realizando el procesamiento en el dominio alternativo para posteriormente realizar la transformación inversa con el fin de realizar un mejor y adecuado procesamiento de la imagen. Por consiguiente el objetivo principal principal de este este proyecto es desarrollar e implementar un algoritmo para el reconocimiento de formas utilizando DWT, implementando un ambiente controlado para la adquisición de imágenes a través de una cámara digital y a partir de los resultados obtenidos poder hacer una discriminación de los datos para determinar un grado de coincidencia entre las imágenes. Además se pretende dejar una base de conocimientos para futuras investigaciones en este campo.
1. INTRODUCCIÓN L procesamiento digital de imágenes surge en los años 50-60 en el momento que se dispone de los recursos 2. METODOLOGIA tecnológicos para captar y manipular las imágenes como matrices caracterizadas por una gran cantidad de El software para el reconocimiento de formas a partir de la información en forma de una lista valores para ser DWT se desarrollo en cinco fases: construcción del procesadas por el computador con el objetivo de mejorar la ambiente controlado, adquisición y pretratamiento de la calidad visual visual de dichas imágenes [1]. Para mejorar la imagen, aplicación de la DWT, aplicación de técnicas en calidad visual, el primer paso en el procesamiento digital de búsqueda de parámetros que permitan el cotejo de las una imagen es la eliminación del ruido en las imágenes imágenes y publicación del grado de coincidencia coincidencia entre los captadas y/o transmitidas. contornos.
E
En la actualidad existen diversos métodos para la extracción de ruido, pero ninguno de ellos es óptimo para todo tipo de señales, es por eso que aun se sigue trabajando en nuevos métodos. Uno de ellos es la Transformada Wavelet Discreta (DWT) la cual es una técnica relativamente nueva en el procesamiento digital de señales e imágenes. Entre sus características principales tenemos:
Permite conocer qué frecuencias componen una señal en cada instante de tiempo (a diferencia de la transformada de fourier la cual realiza una descomposición de las señales en sus componentes co mponentes frecuenciales pero sin facilitar información temporal de éstas). Permite aislar y manipular distintos tipos de patrones específicos ocultos en grandes cantidades de datos.
Construcción del ambiente controlado La importancia del ambiente controlado es permitir que si se cumplen ciertas condiciones de luminosidad y textura del fondo se pueda garantizar el correcto funcionamiento del software. Se construyo un cubo como se ve en la figura 1, de 33cm de lado cubierto interna y completamente de color negro mate, buscando la uniformidad y absorción de la luz, la cual se origina a través de 28 leds a chorro de luz blanca (5mm) dispuestos internamente sobre el cubo, con la condición de que el rayo de luz no se encuentre dirigido directamente a la figura o la lente de la cámara, para no generar ruido en el procesamiento digital de la imagen. (Se dispuso que cada led consuma una corriente máxima de 20mA con un voltaje de 3V). En cuanto a las especificaciones de la cámara (colocada en la parte superior interna) se utilizo una
webcam o cámara Web con una resolución de píxeles de 320 X 240, un formato de datos de video de 8/16/24 bits con protocolo de comunicación USB y una relación de señal a ruido >48db.
Es importante resaltar que la DWT se divide según el tipo, grado, y el nivel seleccionado.
Cabe mencionar que para poder obtener una mejor abstracción del contorno de la figura, esta debe resaltar notablemente sobre el fondo negro (figuras de color claro) y para aumentar el tamaño de la imagen y mejorar el campo visual de la cámara, se implemento una lente compuesta por una lupa colocada a 1.6cm de la lente de la cámara Web.
Los tipos de wavelet son llamadas wavelet madre, entre las cuales tenemos: Wavelet de Haar, Daubechies, Symlets, Coiflets, BiorSplines, Reverse Bior, Meyer, DMeyer, Gaussian, Mexican_hat, Morlet, Complex Gaussian, Shannon, Frequency B-Spline y Complex Morlet.
2.3.1 Tipos, grado y nivel de la wavelet
Según la wavelet madre utilizada, se puede seleccionar el grado de la wavelet madre Ej. Tipo: Daubechies: Grado: db1, db2, db3, db4, db5, db6, db7, db8, db9, db10, db**. (Donde db1=haar)
Fig. 1: Diseño Del Ambiente Controlado
Adquisición y pretratamiento de la imagen La imagen inicialmente es capturada por la cámara Web con una resolución de 320 X 240 píxeles en formato JPG. La imagen capturada, esta conformada por 3 matrices que corresponde a la escala de tonos rojo, verde y azul respectivamente, llamada imagen RGB (en ingles red, green y blue). Luego se realiza una unificación de las 3 matrices (RGB) a una sola matriz, este proceso es denominado conversión a escala de grises de la imagen capturada (Figura 2A). Por ultimo se aplica un filtro de media a la imagen para resaltar el contraste de la figura con el fondo (Figura 2B).
Es importante resaltar el nivel de la DWT, si es de nivel 1, se obtiene una sola aproximación (A1) y 3 detalles (V1, H1, D1) de la imagen original, si es de nivel 2, se realiza el mismo proceso anterior pero con A1, obteniendo igualmente 3 detalles (V2, H2, D2) y una nueva aproximación (A2), por consiguiente se deduce la misma mecánica para los niveles posteriores [15]. 2.3.2 Wavelet madre implementada La wavelet madre implementada es la wavelet de Haar (a nivel 1) la cual es la misma daubechies grado 1 y aunque es la mas sencilla con respecto a las otras, es la que mejor actúa con las imágenes capturadas a través de la cámara Web, obteniendo (A1, V1, H1 y D1) como se observa en la Figura 3.
Fig. 2: A) Imagen En Escala De Grises B) Imagen Filtrada
La conversión a escala de grises de la imagen y el posterior filtrado son pasos primordiales para la correcta ejecución de la DWT y así poder obtener un óptimo contorno primario de la imagen. (la Transformada Wavelet Discreta trabaja con una sola matriz, y no con una imagen RGB que consta de tres matrices). Aplicación de la DWT La DWT y su inversa permiten la Reducción de ruido sobre la imagen, además permite la obtención de los detalles verticales (V), horizontales (H), diagonales (D) y una aproximación (A) de la imagen. La superposición de los detalles crea un contorno primario de la figura (contorno grueso).
Fig. 3: DWT De Haar Nivel 1 A) Aproximación 1 (A1) B) Detalles verticales (V1) C) Detalles horizontales (H1) D) Detalles diagonales (D1)
2.3.3 Contorno primario Consiste en unificar los píxeles de mayor valor (los que delimitan el contorno de la figura) de cada uno de los detalles V1, H1 y D1, en una sola matriz la cual visualiza el contorno primario de la imagen, el cual es bastante grueso y esta en escala de grises. (Figura 4)
Fig. 6: Extracción del contorno externo A) Doble Borde B) Extracción Del Borde Externo
Aplicación de técnicas en búsqueda de parámetros que permitan el cotejo de contornos
Fig. 4: Contorno primario
2.3.4 Contorno Doble Borde El contorno primario por ser grueso no es óptimo para la comparación o cotejo de figuras al ser los bordes bastante toscos y gruesos. Se soluciona este inconveniente mediante algoritmos de adelgazamiento de borde para obtener el contorno doble, mostrado en la Figura 5.
El borde externo es el contorno final, el cual se analiza para obtener distintos parámetros (área, perímetro, etc) que permitan comparar o discriminar la forma de una figura con otra. Para obtener estos parámetros tenemos la técnica de signaturas y el conteo de píxeles. 2.4.1
Signatura
En síntesis se han utilizado 2 métodos para obtener estos parámetros de comparación, el primero es a través de signaturas. Consiste es una representación de un contorno mediante una función real unidimensional que sea más sencilla que la función bidimensional que define el contorno. Hay varias maneras de definir una signatura. Una de las más simples es a través de la distancia desde un punto interior, como puede ser el centroide del contorno, a cada uno de los puntos del mismo como una función del ángulo [11] (ver figura 7).
Fig. 7: Función del ángulo de un cuadrado
Fig. 5: Doble Borde
2.3.5 Extracción Del Contorno Externo El contorno doble (externo e interno) se forma a partir del borde grueso generado por el contorno primario. Ahora se extrae el borde externo y de esta forma se obtiene un contorno óptimo de un píxel de ancho sin discontinuidades en el borde que delimita la figura (Figura 6). Es importante resaltar que la extracción de ruido es implícita en la aplicación de la DWT.
Sin embargo el método de signaturas debe cumplir ciertas condiciones con respecto a las transformaciones geométricas básicas, las cuales son translación, rotación y escala (TRS) (translation, rotation and scale) con el fin de ser utilizado en el análisis de formas. Las características son:
Invarianza ante traslaciones, que impone que la correlación entre el modelo y el objeto de la imagen ha de ser independiente de la posición que éste último ocupe.
Tampoco debe influir si el objeto, sufre algún giro, definiéndose así la invarianza ante rotaciones.
2.4.5
2.4.2
Finalmente es importante la invarianza ante cambios de escala, es decir, cómo de cerca o de lejos esté el objeto de la cámara. Cuando algún parámetro cumple estas tres propiedades se dice que posee invarianza TRS. Propiedades del método de signatura es invariante a la translación donde X +v es X trasladado por un vector V
Invarianza TRS
La función del ángulo que describe una figura X, directamente ya es invariante a la translación al obtener el centro geométrico y tomarlo como el origen del plano (x,y), además la función de la figura Y(figura X rotada un ángulo α) tiene la misma función de la figura X pero desfasada un Angulo α, por consiguiente se empieza a trasladar la función Y sobre la función X y al coincidir estas, se puedes afirmar la invarianza ante la rotación (Figura 9), por ultimo el valor de compacidad esta definido como:
(1)
depende del cambio de el tamaño de la figura donde λ X es la figura X aumentada un factor λ
(5) El cual es un parámetro invariante a la escala y por ende se completa las propiedades de invarianza TRS.
(2)
no depende de la orientación de la figura X donde Y es la figura X rotada un ángulo (3)
no es invariante a la reflexion.
es periódica con un periodo (4)
2.4.3
Desventajas Del Método De Signatura
Para aplicar el método de signaturas, se debe cumplir dos condiciones, la primera: que el centro geométrico del contorno se encuentra interno en este y la segunda es que la figura no debe tener curvas muy cerradas. (Ver Figura 8) por consiguiente nos condiciona el tipo de contornos para cotejar [13].
Fig. 9: función A) Cuadrado 0 Grados B) Cuadrado Rotado Un Angulo α
2.4.6
Obtención Del “Centro Geométrico”
Es importante resaltar que realmente no se esta hallando el centro geométrico sino un punto interno del contorno, alejado en lo posible del borde, es decir primero se obtiene la distancia entre los dos píxeles del contorno mas lejanos entre si, llamada diámetro mayor (figura 10), luego la mitad de esta distancia será el origen (0,0) y a partir de el se tiene un nuevo plano (x, y) (figura 11). En algunos casos (cuadrados, rectángulos y círculos) el punto de origen hallado a partir del método descrito anteriormente (diámetro mayor) coincidirá con su centro geométrico.
fig. 8: Desventajas De Las Signaturas
2.4.4
Conteo De Pixeles
Para complementar la falencia del método de signaturas, se aplico un nuevo método el cual consiste en el conteo de los píxeles referentes al contorno, obteniendo el perímetro (como la suma de los píxeles que conforman el borde), y el área (suma de todos los píxeles que conforman la región interna del contorno), por tanto no tiene restricciones en el tipo de figura para analizar. Fig. 10: Diámetro Mayor
2.4.8
Fig. 11: Nuevo Plano (x, y)
Área, perímetro y compacidad mediante la función del angulo que describe el contorno
Al obtener cierta cantidad de puntos que conforman la función del ángulo r (θ) que describe el contorno, se procede a interpolar los datos y de esta manera obtener una mayor cantidad de puntos, luego se integra numéricamente y se obtiene un valor equivalente al área de la función, ahora se aplica ecuación de integral de línea (ecuación 7) para determinar el perímetro (longitud de la curva) y a partir de estos dos parámetros se obtiene la compacidad.
Las figuras 9,10 y 11 se visualizan contornos de borde doble, pero no se debe olvidar que se esta utilizando el borde externo para los procesos mencionados anteriormente, simplemente no se esta visualizando ese paso. 2.4.7
Área, perímetro y compacidad mediante conteo de píxeles
(7) Donde y(t) es r (θ) y por consiguiente dt es dθ
Publicación del grado de coincidencia entre los Para el conteo de píxeles no es necesario obtener el contornos diámetro mayor, simplemente se extrae el borde externo de la figura y luego se realiza un escaneo de la matriz de la Pretende entregar al usuario final los resultados definitivos imagen punto a punto (Xi,Yj) obteniendo coordenadas del proceso. donde los píxeles tienen un valor por encima de un umbral (borde), como también coordenadas donde el píxel vale Guardar contorno que se desea buscar cero (región externa e interna del contorno, es decir el posteriormente fondo negro), Con esto tenemos el numero de píxeles que conforman el borde (perímetro), el área se obtiene por En primer lugar se debe enseñar al software cual es la medio de un proceso que recorre la matiz verticalmente y figura que posteriormente se debe buscar, la cual ha sido mide las distancias entre cada par de puntos que forman el capturada a través de la cámara Web y se ha tratado con los borde para luego moverse al siguiente píxel de manera procesos de escala de grises, filtrado, DWT (contorno horizontal y obtener las distancias de los puntos de dicho primario), adelgazamiento de bordes (Borde doble), segmento del área. Para al final calcular la sumatoria de las extracción del contorno externo, diámetro mayor, distancias de cada segmento y con esto tener la totalidad del signaturas (área, perímetro, compacidad) y conteo de área interna de la imagen. píxeles (área, perímetro, compacidad). (Todos descritos en párrafos anteriores) para luego crear un Un parámetro invariante a la escala es la excentricidad o archivo (archivo .mat), el cual guarda los valores de la elongación de cualquier región, esta adopta valores matriz que describe el contorno, el área, perímetro, y mayores cuanto más se parezca a un círculo, tomando compacidad tanto por signaturas como por conteo de entonces el valor de uno. Cuando el contorno presenta píxeles. (Ver Figura 12) muchos pliegues el perímetro aumenta, por lo que la elongación tiende a cero. Este parámetro puede utilizarse Comparación de contornos como primer discriminante en el proceso de clasificación de un objeto. El paso siguiente es propiamente la comparación de los contornos, para ello es necesario reiniciar la cámara, es decir activarla para una nueva captura (la cámara se deshabilita cada vez que se captura una imagen), luego se eligen los procesos que se quieren realizar para cotejar la (6) Comparando la ecuación 5 que define la compacidad con la imagen capturada contra la imagen previamente guardada ecuación 6, tenemos que la única variación es el termino (archivo .mat), estos procesos son: 4π, igualmente la ecuación de compacidad sigue Calculo del área por conteo de píxeles dependiendo del área y el perímetro de la imagen. Sin embargo el método de conteo tiene una gran falla y por consiguiente no es prudente utilizar solamente algoritmos de este tipo, ya que existe la posibilidad de estar comparando dos contornos, con el mismo valor de área o perímetro pero con formas completamente distintas, y como resultado, datos erróneos a la salida (grado de coincidencia de los contornos)
Calculo del perímetro por conteo de píxeles
Calculo de compacidad por conteo de píxeles
Cotejo de funciones angulares
Calculo del área con la función
Calculo del perímetro con la función
Calculo de compacidad con la función
Calculo diferencia entre diámetros mayores
(Explicados a lo largo del informe) Este ultimo proceso, como se explico antes, busca los dos píxeles mas lejanos entre si, después se calcula la distancia entre ellos (diámetro mayor) y luego se divide en dos esta distancia. Esto se hizo inicialmente para obtener un punto interno del contorno el cual permitiese encontrar la función angular del contorno. Sin embargo se ha colocado este proceso como otro parámetro de comparación ya que es invariante a la rotación y translación, por consiguiente se comporta como un
descriptor y se obtiene otro discriminante para la comparación de contornos. Grado De Coincidencia Por ultimo obtenemos los resultados acerca del grado de coincidencia de los contornos que han sido comparados (Contorno guardado VS contorno capturado). Cada proceso calcula un parámetro especifico (por Ej. área) de cada uno de los contornos a comparar y genera un porcentaje de error, la suma de los errores de cada proceso es por consiguiente el error total, el cual no debe exceder el porcentaje de error permitido de libre elección por el usuario. Si el valor del error Total es menor o igual al valor del error permitido el grado de coincidencia es positivo (Figura 13). De lo contrario el grado de coincidencia es negativo.
Fig. 12: Selección de contorno a guardar para posteriormente comparar.
Fig. 13: cotejo de imágenes (respuesta positiva)
3. DIAGRAMA DE FLUJO DEL SOTFWARE
Coteja los datos obtenidos contra lo datos buscados. Entrega de porcentaje de coincidencia entre el contorno buscado y la imagen digital capturada por la cámara.
•
4. R ESULTADOS •
Se obtuvo un software con las siguientes características: •
•
•
Realiza la captura y digitalización de una imagen de video. Hace una conversión de la imagen digitalizada a su equivalente wavelet. Filtra los datos obtenidos de la transformada wavelet para extraer solo la información del contorno.
Los resultados experimentales del software han sido obtenidos a partir de la captura de las imágenes mostradas en la Figura 14, representados en diversas tablas de datos, en las cuales encontramos los distintos valores de error al rotar la imagen, al igual que la comparación entre los distintos contornos.
Fig. 14: Figuras de ejemplo A) Cuadrado B) Circulo C) Figura2 D) Galleta E) Figura1 F) Poligono1 G) Galleta partida H) Rectángulo
TABLAS DE DATOS TABLA 1 MEDICION DE ERROR DE UN CUADRADO ROTADO DISTINTOS ANGULOS
Cuadrado rotación 0
rotación 0
Rotación 60
rotación 90
rotación 120
rotación 150
rotación 180
Área (conteo)
0,00963489 0,0312953 0,0299913
0,0150681
0,0289771
0,0305708
0,0139815
Perímetro (conteo)
0,00845666 0,295983
0,291755
0
0,27907
0,293869
0
Compacidad (conteo)
0,0261751
0,423243
0,41868
0,0150681
0,406472
0,420924
0,0139815
Funciones angulares
0,0085823
0,0145004 0,0138217
0,0104507
0,0147225
0,0150239
0,00904042
Área (función)
0,00536184 0,0147598 0,0141607
0,0075601
0,0137869
0,0145233
0,00688961
Perímetro (funciones)
0,0199772
0,501326
0,338305
0,021693
0,346123
0,288432
0,0282524
Compacidad (funciones)
0,043942
0,562888
0,449578
0,0492564
0,455747
0,40636
0,0516969
Diámetros mayores
0,00476725 0,0095973 0,00649383 0,00816373 0,00647397 0,00488623 0,00888026
Sumatoria del error
0,12689724 1,8535928 1,56278553 0,12726013 1,55137247 1,47458923 0,13272259 TABLA 2 MEDICION DE ERROR DE UN CUADRADO VS DISTINTAS FIGURAS Cuadrado Cuadrado Cuadrado Cuadrado Cuadrado vs Circulo1 vs figura1 vs figura2 vs Poligono1 vs Rectangulo1 Error
Error
Error
Error
Error
Área (conteo)
0,252753
0,137424
0,565923
0,699797
0,497175
Perímetro (conteo)
0,2537
0,312896
0,215645
0,372093
0,17759
Compacidad (conteo)
0,202963
0,340125
0,294428
0,23858
0,25657
Funciones angulares
0,15262
0,148022
0,33655
0,444366
0,363428
Área (función)
0,127829
0,0517455
0,347985
0,452842
0,348569
Perímetro (funciones)
0,416328
0,572384
0,470569
0,564285
0,405785
Compacidad (funciones)
2,31059
0,574604
1,32616
1,88209
0,844937
Diámetros mayores
0,0578563
0,0805101
0,354016
0,524363
0,0934017
Sumatoria del error
3,7746393
2,2177106
3,911276
5,178416
2,9874557
TABLA 3 MEDICION DE ERROR DE UN CIRCULO ROTADO DISTINTOS ANGULOS
Circulo Rotación 0
30
rotación
Rotación 60
90
rotación
rotación 120
Área (conteo)
0,000862447
0,000345
0,00109246
0,000805
0,000862466
Perímetro (conteo)
0
0,003361
0,00672269
0
0,00336134
Compacidad (conteo)
0,000862466
0,007032
0,0143889
0,000805
0,00754564
Funciones angulares
0,00106517
0,030338
0,0213134
0,023544
0,0110343
Área (función)
0,000439423
0,000575
4,51728E-05
0,00031
4,74968E-05
Perímetro (funciones)
0,0202584
0,011205
0,0335516
0,035857
0,00749411
Compacidad (funciones)
0,0397401
0,021476
0,0439133
0,056097
0,0148682
Diámetros mayores
0
0,006184
0,0043106
0,002191
0,0283161
Sumatoria del error
0,063228006
0,080516
0,125338123
0,119609
0,073529653
TABLA 4 MEDICION DE ERROR DE UN CIRCULO VS DISTINTAS FIGURAS Circulo1 vs Circulo1 Circulo1 vs Circulo1 vs Circulo Cuadrado vs figura1 figura2 Poligono1 Rectangulo1
vs
Error
Error
Error
Error
Error
Área (conteo)
0,228726
0,0606601
0,653231
0,760235
0,600391
Perímetro (conteo)
0,0638655
0,0535294
0,376471
0,50084
0,342857
Compacidad (conteo)
0,318548
0,103352
0,10808
0,0377065
0,0746294
Funciones angulares
0,136678
0,148831
0,418643
0,512099
0,422064
Área (función)
0,126268
0,0628321
0,421598
0,51419
0,423323
Perímetro (funciones)
2,20351
0,826735
0,0472747
0,287419
0,009730029
Compacidad (funciones)
0,914861
0,719155
0,362773
0,0432511
0,434384
Diámetros mayores
0,0588781
0,142912
0,314658
0,49605
0,0390431
Sumatoria del error
4,0513346
2,1180066
2,7027287
3,1517906
2,346421529
TABLA 5 MEDICION DE ERROR DE LA Figura1 ROTADA DISTINTOS ANGULOS
Figura1 rotación 0
rotación 0
rotación 60
rotación 90
rotación 120
rotación 180
rotación 210
rotación 270
rotación 300
Área (conteo)
0,000380759 0,039028 0,00228455 0,002792 0,00793248 0,000444 0,0268435 0,00114228 0,00596522
Perímetro (conteo)
0
Compacidad (conteo)
0,000380759 0,180962 0,06944243 0,003421 0,153231
0,000444 0,113039
Funciones angulares
0,0205486
0,014453 0,0162681
0,015899 0,0692823 0,0268797
Área (función)
0,0019086
0,000364 0,00258934 0,004831 0,00274251 0,000839 0,0608703 0,0026566
0,00192351
Perímetro (funciones)
0,0382725
0,276494 0,0961888
0,504856 0,115781
0,181458 0,184463
0,197479
0,142548
0,91106
0,560553 0,282536
0,284188 0,412012
0,548575
0,35512
Compacidad (funciones) 0,0741352
0,062016 0,0341085
0,169952
0,003101 0,0651163 0,039958 0,0230268
0
0,075969
0,00310078 0,0589147 0,00508112 0,135861 0,0165888
Diámetros mayores
0,000688954 0,008847 0,00122785 0,001295 0,00564714 0,006367 0,0470825 0,00068895 0,00564714
Sumatoria del error
0,136315372 1,493224 0,39206157 1,120807 0,65601323 0,48964
0,9895616 0,78560343 0,72256837
TABLA 6 MEDICION DE ERROR DE LA figura1 VS DISTINTAS FIGURAS Figura1 vs Figura1 vs Figura1 vs Figura1 vs Figura1 Cuadrado Circulo figura2 Poligono1 Rectangulo1 Error
Error
Error
Error
Error
Área (conteo)
0,141135
0,0912552
0,625206
0,737974
0,578119
Perímetro (conteo)
0,269767
0,0806202
0,458915
0,539535
0,0186047
Compacidad (conteo)
0,610656
0,29103
0,28015
0,235806
0,561972
Funciones angulares
0,134271
0,172586
0,353169
0,4604
0,447475
Área (función)
0,064503
0,0624675
0,385955
0,484413
0,458868
Perímetro (funciones)
0,302694
0,606915
0,582901
0,741333
2,68259
Compacidad (funciones)
0,923956
5,87611
2,52956
6,70586
0,960098
Diámetros mayores
0,084968
0,131876
0,409807
0,567266
0,17535
Sumatoria del error
2,53195
7,3128599
5,625663
10,472587
5,8830767
vs
TABLA 7 MEDICION DE ERROR DE UNA GALLETA ROTADA DISTINTOS ANGULOS
Galleta Rotación 0
rotación 30
Rotación 60
rotación 90
rotación 120
rotación 180
Rotación 240
rotación 270
rotación 330
Área (conteo)
0,01242774 0,000363 0,00226778
0,003447
0,00235849 0,003538 0,00172351 0,00172351 0,000907112
Perímetro (conteo)
0,0286299
0
0,01636
0,0122699
0,01227
0,0204499
0,0286299
0,0163599
Compacidad (conteo)
0,0466453
0,000363 0,0311968
0,029978
0,0225816
0,021373 0,0403933
0,0579895
0,0326031
Funciones angulares
0,0132659
0,01493
0,014418
0,0129559
0,010418 0,0135516
0,0162116
0,011996
Área (función)
0,00525577 0,000153 0,000762886 0,001014
0,00138785 0,002287 0,00039278 0,00020094 4,25737E-05
Perímetro (funciones)
0,0265762
0,121071 0,0995218
0,136603
0,039647
0,074703 0,0735348
0,0963448
0,118699
Compacidad (funciones)
0,0498022
0,204207 0,173466
0,226711
0,0760999
0,136169 0,132645
0,168201
0,200984
Diámetros mayores
0,00188728 0,011148 0,00819406
0,007786
0,0112158
0,000137 0,00968909 0,01362
Sumatoria del error
0,18449029 0,352234 0,345135726 0,436316
0,0163599 0,0133665
0,0104018
0,17851644 0,260895 0,29237998 0,38292125 0,391993486
TABLA 8 MEDICION DE ERROR DE UNA GALLETA VS DISTINTAS FIGURAS Galleta vs Cuadrado
Galleta vs Circulo
Galleta vs figura1
Galleta vs Poligono1
Galleta vs Rectangulo1
Galleta vs Galleta partida
Error
Error
Error
Error
Error
Error
Área (conteo)
0,221517
0,421898
0,414067
0,626179
0,396226
0,252086
Perímetro (conteo)
0,0368098
0,159509
0,278119
0,396728
0,0245399
0,752556
Compacidad (conteo)
0,316665
0,0575964
0,134361
0,0271576
0,424803
11,2151
Funciones angulares
0,306517
0,195491
0,208038
0,390876
0,377621
19,6276
Área (función)
0,100379
0,19596
0,171756
0,392292
0,289414
0,760223
Perímetro (funciones)
0,225684
0,291816
1,12841
0,491377
0,210908
0,696895
Compacidad (funciones)
0,267538
1,38465
0,741342
1,34911
0,515388
1,6099
Diámetros mayores
0,318027
0,188247
0,418667
0,374795
0,185503
0,015896
Sumatoria del error
1,7931368
2,8951674
3,49476
4,0485146
2,4244029
34,930256
11 5. PERSPECTIVAS El software fue implementado sin ambiente controlado con el objetivo de dejar sentada una base de conocimiento más amplia para futuras investigaciones dicha implementación tuvo resultados satisfactorios siempre y cuando se logre un buen contraste entre el fondo y los objetos.
•
•
•
•
•
Se piensa que en un futuro se podría implementar por ejemplo en una industria o en plataformas móviles (robots)
•
•
•
•
6. LIMITACIONES •
•
•
•
•
Las imágenes analizadas deben tener un alto contraste con respecto al fondo. La iluminación debe garantizar el contraste entre la imagen y el fondo. De haber múltiples imágenes de colores muy parecidos estas no deben estar sobrepuestas ya que el algoritmo las reconocería como un solo objeto. Algunas de las técnicas de análisis de contorno no pueden ser usadas en todo tipo de imágenes por sus características particulares. El funcionamiento del programa en tiempo de ejecución, se ve limitado por las características técnicas del PC.
La luminosidad ambiente es uno de los factores más determinantes para el procesamiento de una imagen capturada a través de una cámara WEB. Los distintos métodos para el cotejo de imágenes conllevan ciertas restricciones según los tipos de formas a analizar. El pretratamiento de la imagen (Filtrado) es un paso vital para la aplicación de la DWT. Entre mayor sea el contraste entre el fondo y las figuras, mejores serán los resultados obtenidos. La resolución de la cámara digital es un factor determinante en el procesamiento de imágenes. Las figuras o formas empleadas deben cumplir la característica que al trazar vectores desde su “centro geométrico” en dirección a cada punto del contorno, ninguno de estos vectores debe cortar mas de un punto del contorno, siempre y cuando se aplique el análisis de signatura. Al aplicar los algoritmos de conteo de píxeles se puede presentar que el rango de error entre figuras diferentes sea muy bajo debido a que exista similitud en el área o perímetro. El diámetro mayor es un parámetro de cotejo que complementa muy bien los análisis por conteo. Este sistema puede ser implementado a un bajo costo.
AGRADECIMIENTOS A Frank Nixon Giraldo por su labor como tutor de proyecto de grado y a todos aquellos que creyeron en el proyecto, en especial a nuestras familias. REFERENCIAS
[1].
Soriano Molina Rafael. Del procesamiento a la visión artificial. Documento disponible en: decsai.ugr.es/mia/complementario/t1/del_proc_a_ va.pdf.
7. CONCLUSIONES •
•
La determinación de descriptores invariables ante la translación, rotacion y escala de una figura es la condición primordial para el reconocimiento de formas en visón artificial. La transformada Wavelet discreta (DWT) es una herramienta óptima para la obtención de un contorno primario y la extracción de ruido.
[2]. Javier García de Jalón, José Ignacio Rodríguez, Jesús Vidal, (2005), Aprenda Matlab 7.0 como si estuviera en primero [3]. Madrid, Universidad Politécnica de Madrid [4]. The mathworks,(2008), Matlab Image Processing Toolbox™ 6 User’s Guide
12 [5]. Maria José González fuentes, Maria Eva Ramírez Rodríguez
http://www7.nationalacademies.org/spanishbeyonddisco very/mat_008276-04.html
[6]. Manuel Berrocoso Domínguez, Yolanda Jiménez teja (2004), Del análisis de fourier a la teoría de wavelets, Universidad de Cadiz
[20]. R. Polikar, (1995), The Wavelet Tutorial, Durham Computation Center, Iowa State University, USA, Documento disponible en:
[7]. Eduardo Pedro Serrano, introducción a la transformada wavelet y sus aplicaciones al procesamiento de señales de emisión acústica, Escuela de Ciencia y Tecnología - Universidad Nacional de General San Martín [8]. Juliana Villa Bedoya y Juan Manuel María, La transformada wavelet y su aplicación en ingeniería biomédica [9]. Diego Orlando Barragán Guerrero, manual de interfaz gráfica de usuario en matlab, universidad técnica particular de Loja escuela de electrónica y telecomunicaciones [10]. Nubia Liliana Montes Castrillón, (2001), desarrollo de algoritmos de segmentación de frutos maduros y verdes de café en imágenes tomadas en condiciones controladas, basados en las propiedades de color, universidad nacional de Colombia [11]. Capítulo 8: Representación de formas y descripción, Documento disponible en: www.lcc.uma.es/~munozp/pi_cap8.pdf
[12]. Santiago De Pablo Gómez, (1995), tesis doctoral arquitecturas y algoritmos para el tratamiento y la segmentación de imágenes en tiempo real, universidad de valladolid [13]. V. Kindratenko, ,(2001), SHAPE ANALYSIS Documento disponible en: http://www.ncsa.uiuc.edu/~kindr/phd/index.pdf [14]. Pablo Faundez, Alvaro Fuentes, Procesamiento Digital de Señales Acústicas utilizando Wavelets. [15]. Samir Kouro R. y Rodrigo Musalem M, (2002), Tutorial introductoria a la teoría de wavelet [16]. Erik Valdemar Cuevas Jiménez, Daniel Zaldivar Navarro, Visión por Computador utilizando MatLAB Y el Toolbox de Procesamiento Digital de Imágenes [17]. Michel Misiti, Yves Misiti, Georges Oppenheim, Jean-Michel Poggi, (2008), Matlab Wavelet Toolbox™ 4 User’s Guide [18]. Rafael Gonzalez, Richard Woods, Steven Eddins, (2003), Digital Image Processing Using Matlab [19]. Beyonddiscovery, Wavelets: ver el bosque y los árboles, Documento disponible en:
http://users.rowan.edu/~polikar/WAVELETS/WTtutoria l.html
[21]. Román Pérez Enríquez, (2007), El análisis Wavelet, Centro de Geociencias, UNAM, Documento disponible en: www.geociencias . unam.mx /geociencias/desarrollo/wavelets