sistema minimalista embebido de reconocimiento...

45
Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom´ etricas John Jairo Le ´ on Aparicio Henry Giovanny Valderrama Estudiantes de Ingenier´ ıa El´ ectrica Universidad Distrital Francisco Jos ´ e de Caldas Facultad Tecnolog ´ ıca Bogot ´ a, D.C. Agosto de 2016

Upload: others

Post on 03-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Sistema Minimalista Embebido de Reconocimiento enTiempo real de Figuras Geometricas

John Jairo Leon AparicioHenry Giovanny Valderrama

Estudiantes de Ingenierıa Electrica

Universidad Distrital Francisco Jose de CaldasFacultad Tecnologıca

Bogota, D.C.Agosto de 2016

Page 2: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Sistema Minimalista Embebido de Reconocimiento enTiempo real de Figuras Geometricas

John Jairo Leon AparicioHenry Giovanny Valderrama

Estudiantes de Ingenierıa Electrica

DirectorFredy H. Martınez S. PhD.(C)

Lınea de investigacionOptimizacion de procesos industriales

Grupo de investigacionSemillero SIEPOT - Grupo ARMOS

Universidad Distrital Francisco Jose de CaldasFacultad Tecnologıca

Bogota, D.C.Agosto de 2016

Page 3: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Tıtulo en espanol

Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geometricas

Title in English

Minimalist System Embedded Real-time Recognition of Geometric Figures

Resumen: Este documento muestra la elaboracion de dos algoritmos de deteccionde figuras geometricas, desarrollados en una herramienta de software libre para unaplataforma de desarrollo de bajo costo. Estos algoritmos desarrollados para plataformasde desarrollo de bajo costo, eliminan la barrera impuesta por el software comercial,debido a que estas herramientas no requieren licencia para su uso y tienen caracterısticassimilares a las que requieren la compra de una licencia.Se han encontrado tecnicas de procesamiento de imagenes digitales, sin embargo soncomplejas o difıcilmente implementables en un hardware, debido a que requieren licenciasde software, instrumentos y/o sensores especializados para la adquision de informacion.Esto hace que su uso sea limitado en el desarrollo de prototipos a escala industrial dentrodel mercado colombiano.Con la realizacion de este proyecto se da inicio a la mejora de algoritmos e implemen-tacion de nuevas tendencias para la deteccion e identificacion de figuras geometricas,implementables en un sistema economico, con gran capacidad de procesamiento.

Abstract: This document shows the elaboration on two algorithms of detection ofgeometric figures, developed on a free software tool development for a low cost platform.These specialized algorithms developed for low cost development platforms, eliminate thebarrier imposed by the commercial software, because these tools do not require a licensefor use and have similar features that require the purchase of a license.We found processing digital image schemes, yet they are complex or hardly implementablein hardware, because they require software licenses, instruments and/or specialized sensorsfor the acquisition of information. This makes their use limited in the development ofprototypes on an industrial scale in the colombian market.With the realization this project we begin to improve algorithms and implement newschemes for detection and identification of geometric figures, implementable in a economicsystem, with high processing capacity.

Palabras clave: Algoritmo, Sistema Embebido, Filtros, Software Libre.

Keywords: Algorithm, Embedded System, Filters, Free Software.

Page 4: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Nota de aceptacion

Trabajo de tesis

Aprobado

“Mencion Meritoria o Laureada”

Jurado

Jurado

DirectorFredy H. Martınez S.

Bogota, D.C., Agosto 15 de 2016

Page 5: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Dedicado a

Este trabajo esta dedicado a Dios, Familiares, Amigos y companeros que nos hanapoyado a lo largo del desarrollo de nuestros estudios.

Page 6: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Agradecimientos

Agradecemos a:

• Al profesor Fredy Martınez, el cual, como director de este trabajo de tesis, estuvodispuesto a orientarnos y aconsejarnos, para seguir adelante durante la culminacionde este proyecto.

• A la Universidad Distrital Francisco Jose de Caldas, la cual como garante amiga nosdio la oportunidad de cursar esta carrera, dentro de sus aulas.

• A nuestras Familias que nos han apoyado durante toda la vida.

• A todas las personas que de alguna manera nos han apoyado en la elaboracion deeste proyecto de grado.

Page 7: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Indice general

Indice general I

Indice de tablas III

Indice de figuras IV

Introduccion VI

Planteamiento del problema VIII

Objetivos del proyecto IX

1. Marco de referencia 1

1.1. Procesamiento de imagenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. El color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Tecnicas de deteccion de bordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Detector de bordes Canny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5. Morfologıa en una imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6. Segmentacion y seguimiento de un objeto . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.7. Interpretacion de una figura de manera computacional . . . . . . . . . . . . . . . 8

1.8. Reconocimiento de contornos esfericos . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.9. Base de imagenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.10. Reconocimiento de caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.11. Deteccion de segmentos rectos y esquinas . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.12. Suposicion de rectangulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.13. API de procesamiento de imagenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.14. Hardware utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

I

Page 8: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

INDICE GENERAL II

2. Metodologıa 15

2.1. Estructura fısica principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2. Algoritmo A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3. Algoritmo B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3. Resultados 22

3.1. Patron de pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2. Medidas obtenidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

A. Codigo algoritmo A 24

B. Codigo algoritmo B 26

Conclusiones 27

Trabajo futuro 28

Bibliografıa 29

Page 9: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Indice de tablas

3.1. Tiempo de procesamiento para reconocer 1 fıgura . . . . . . . . . . . . . . . . . . . 23

3.2. Figuras procesadas algoritmo A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3. Figuras procesadas algoritmo B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

III

Page 10: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Indice de figuras

1.1. Esquema general del procesamiento de una imagen. . . . . . . . . . . . . . . . . . 2

1.2. Longitudes de onda [18]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Transformacion RGB (a) a HSV (b) [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Deteccion de bordes [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5. Tecnica Canny a) Original b) Bordes Canny. . . . . . . . . . . . . . . . . . . . . . . 5

1.6. Imagen dilatada a) Original b) Dilatado. . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.7. Imagen erosionada a) Original b) Erosionado. . . . . . . . . . . . . . . . . . . . . . . 6

1.8. Operacion de cierre a) Original b) Modificada. . . . . . . . . . . . . . . . . . . . . . 6

1.9. Operacion de apertura a) Original b) Modificada. . . . . . . . . . . . . . . . . . . . 6

1.10. Ejemplo de adquisicion [15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.11. Ejemplo de abtraccion [15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.12. Tipos de esquina [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.13. Esquinas supuestas [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.14. Conjuntos de solucion [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.15. Ejemplo del uso de OPENCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.16. Camara raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.17. Raspberry PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1. Sistema ensamblado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2. Circuito general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3. Transistor en saturacion, NC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4. Transistor en corte, NO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5. Diagrama de puesta en marcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6. Presentacion raspbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.7. Funcionamiento algoritmo A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.8. Contorno aproximado antes de imprimirse sobre la imagen . . . . . . . . . . . . 19

IV

Page 11: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

INDICE DE FIGURAS V

2.9. Funcionamiento algoritmo B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.10. Calculo de areas sobrantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1. Ejemplo de patron de reconocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Page 12: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Introduccion

Este documento se muestra el desarrollo del proyecto ((Sistema Minimalista Embebidode Reconocimiento en Tiempo real de Figuras Geometricas )), este proyecto contribuyeen la lınea de investigacion de optimizacion de procesos industriales, mostrando comoimplementar un algoritmo de procesamiento de imagenes a escala industrial en disposi-tivos de bajo costo. Dicho algoritmo acerca a los interesados a un espacio real de visionpor computadora e inteligencia artificial, aplicable en procesos industriales, que en efectoseran enfrentados por personas egresadas de los proyectos curriculares Tecnologıa enElectricidad, e Ingenierıa Electrica, ademas de areas afines a estas profesiones (comoIngenierıa en Electronica, Electromecanica, entre otras).El codigo particular para el sistema embebido (Raspberry pi Model B+) se realizo en ellenguaje de programacion Python, en dicho programa se realizo una aplicacion, la cual,permite la interaccion con el hardware existente para la adquisicion de imagenes desdela camara, realizar operaciones sobre las mismas y mostrar los resultados en un monitoro pantalla. Gracias a que el lenguaje de programacion Python es enteramente libre yligero, se logro la implementacion de una aplicacion robusta para el reconocimiento defiguras geometricas, implementable en dispositivos con caracterısticas de procesamientoinferiores a las de un computador personal convencional.Como producto de este trabajo de grado se elaboro un artıculo, en este artıculo semuestra el desarrollo de dos algoritmos de reconocimiento de figuras geometricas y suimplementacion en un sistema embebido. Dichas tematicas son profundizadas durante eldesarrollo de los capıtulos de este documento, en los cuales se muestran temas relacionadosal codigo desarrollado, la plataforma y su conectividad con los diferentes elementos quese integraron para llevar a cabo el reconocimiento de figuras geometricas.Este documento y el articulo se prepararon teniendo en cuenta varios artıculos obtenidosde una base de datos, para construir el estado del arte. Uno de estos trabajos realiza unainterpretacion de formas realizada a traves de herramientas de diseno computacional,permitiendo crear un modelo digital, el cual se define utilizando un conjunto fijo deelementos geometricos como bordes y superficies. A partir de esta estructura se puedenreconocer patrones y asociaciones, cuando formas emergentes se ajustan a subconjuntosdel conjunto original de elementos geometricos [19] , entre otros que disenan algoritmosde aprendizaje computacional y evolutivos aplicados para mejorar este tipo de tecnicasde reconocimiento de contorno [9].Por ultimo, la estructura de este documento esta compuesta por; una revision delestado del arte para la construccion del marco teorico, seguidamente se encuentran lametodologıa, pruebas y resultados, que muestran como se construyeron los algoritmosde reconocimiento de figuras geometricas, su implementacion en un sistema embebido y

VI

Page 13: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

INTRODUCCION VII

el protocolo de realizacion de pruebas para la validacion del funcionamiento del sistemaen conjunto con el algoritmo. Ası mismo en ultimo lugar se encuentran las conclusiones,trabajo futuro y el apendice que reflejan el aporte realizado con la realizacion de esteprototipo.

Page 14: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Planteamiento del problema

Dentro del estado del arte se encuentran cada vez mas tecnicas de procesamiento deimagenes digitales, sin embargo, algunas son bastante complejas o difıcilmente realizablesdebido a que requieren instrumentos y sensores especializados, haciendo mas compleja lautilizacion de estos dentro del mercado colombiano.Algunos sistemas de reconocimiento de contornos o bordes, se encuentran implementadosen ordenadores o computadores personales, por ejemplo, en sistemas operativos comoWindows, por lo cual es necesario que los usuarios obtengan licencias para poder utilizareste software, esto hace que su uso sea restringido debido a que en algunos casos suelenser de un costo elevado. Aun ası, estos sistemas siguen presentado diferentes problemasde ruido, distorsion, entre otros.Con un algoritmo de deteccion de figuras geometricas dentro de una plataforma dedesarrollo de bajo costo, se pretende realizar un aporte a la investigacion de nuevastecnologıas poco utilizadas en Colombia, ademas mostrar una forma de realizar algoritmosespecializados en plataformas de bajo costo con las mismas caracterısticas de aquellosque son adquiridos por medio de una licencia.Con la realizacion de este proyecto se da inicio a la mejora de algoritmos e implementacionde nuevas tendencias para la deteccion e identificacion de figuras, implementando un sis-tema economico, con gran capacidad de procesamiento; permitiendo al paıs desarrollarseen miras a convertirse en uno de los principales en transferencia de tecnologıas dentro delmarco de desarrollo de algoritmos de aprendizaje computacional.Por consiguiente, se plantea un proyecto de investigacion de reconocimiento de figurasgeometricas el cual sera el pilar en el desarrollo de proyectos en la vinculacion deestudiantes de ingenierıa electrica en el area de procesamiento de imagenes digitales,ademas de la programacion de plataformas de desarrollo de bajo costo lo cual servira paraaprender a proponer soluciones mas optimas en los problemas cotidianos del quehacer delingeniero.Este proyecto se hace con el fin de que los estudiantes de Ingenierıa Electrica y carrerasafines, puedan acceder a un conocimiento mas amplio y practico sobre nuevas tecnologıascomo apoyo a las materias de robotica y sistemas digitales, en la formacion de un profe-sional debido a que se busca lograr un proyecto de impacto social, teniendo en cuenta laincursion de la industria en el mercado de sistemas inteligentes, vision artificial, entre otros.

VIII

Page 15: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Objetivos del proyecto

1. Objetivo general

• Implementar sobre una plataforma de desarrollo un algoritmo que permita elreconocimiento de figuras geometricas.

2. Objetivos especıficos

• Establecer las caracterısticas del algoritmo y el hardware que se requieren parael desarrollo del sistema.

• Implementar un algoritmo que permita el reconocimiento de 3 figuras geometri-cas basicas (Rectangulo, Circulo y Triangulo) en el sistema ensamblado.

• Establecer un protocolo de pruebas y realizar una validacion del algoritmodesarrollado y funcionando en conjunto con el software.

• Realizar un artıculo que muestre la metodologıa, resultados y conclusiones ob-tenidas con el desarrollo del proyecto.

IX

Page 16: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1

Marco de referencia

Este capitulo contiene un resumen de las diferentes tematicas consultadas para larealizacion de este documento, algunos temas se relacionan al procesamiento de imagenesen dispositivos digitales, estrategıas para el reconocimiento de contornos utilizando ope-raciones matematicas matriciales y su implementacion en dispositivos de procesamientodigital.

1.1. Procesamiento de imagenes

La vision por computadora se compone en gran parte por el procesamiento deimagenes digitales, para entender estos procesos y construir maquinas con caracterısticassimilares a las acciones realizadas por un ser humano [18].Segun Marr [7] ((la vision es un proceso que se produce a partir de las imagenes del mundoexterior, una descripcion que es util para el observador y no tiene informacion irrelevante)).La definicion anterior esta ligada a la computacion, debido a que la vision computacionalemula, procesos para las descripciones que dependen del observador y la seleccion deinformacion relevante, propios de un ser humano. Un area que sobresale dentro de lavision computacional es el procesamiento de imagenes digitales, cuyo objetivo principales: mejorar la calidad de las imagenes para su posterior utilizacion o interpretacion [18].Algunos ejemplos de acciones realiazadas mediante el procesamiento de imagenes, son lossiguientes (Ver figura 1.1);

• Eliminar sobresaltos o Defectos.

• Eliminar problemas de desenfoque.

• Aumentar o disminuir color, brillo, contraste, entre otras.

1

Page 17: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 2

Figura 1.1. Esquema general del procesamiento de una imagen.

Actualmente el procesamiento de imagenes digitales se aplica en diferentes, areas de laingenierıa entre las cuales se encuentran:

• Reconocimiento de entornos en robotica movil.

• Control de calidad en lıneas de produccion.

• Reconocimiento de patologias en imagenes medicas.

• Interpretacion de planos y trayectorıas.

1.2. El color

Segun Sucar [18] el color es ((un fenomeno perceptual relacionado con la respuesta hu-mana a diferentes longitudes de onda del espectro visible (400 - 700 nm))). Esta definicionse basa en el hecho de que el ojo tiene una respuesta diferente dependiendo de cada lon-gitud de onda, las respuestas combinadas logran la sensacion de color que percibimos. Lafigura 1.2 es una representacion de tres tipos de onda que intervienen en la formacion delcolor en el rango de su longitud de onda.Hay varias formas de clasificar el color entre las cuales se encuentran las escalas RGB y

Figura 1.2. Longitudes de onda [18].

HSV. En la escala RGB las tonalidades se encuentran compuestas por los colores primarios(R=Rojo, G=Verde, B=Azul) y la escala HSV se obtiene aplicando una transformacion

Page 18: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 3

matematica a la escala RGB, dicha transformacion permite obtener una cantidad de to-nalidades en los colores aun mayor, este fenomeno se puede ver en la figura 1.3 [1]. Dichasescalas se encuentran presentes en la gran mayorıa de dispositivos audiovisuales actualescomo: monitores, Televisores, DVD’s, entre otros.

Figura 1.3. Transformacion RGB (a) a HSV (b) [1].

1.3. Tecnicas de deteccion de bordes

Una operacion usada recurrentemente en los programas de procesamiento y analisis deimagenes digitales es la deteccion de bordes, debido a que tienden a formar el contornoo capa exterior de un objeto y en este tipo de apliciones el reconocer objetos es muyimportante, porque normalmente representa las zonas de interes o son los lımites entre unafigura y el fondo. Ademas permiten determinar ciertas caracteristicas mesurables como: elarea, permetro, volumen, entre otras (Un ejemplo de deteccion de bordes se puede ver enla figura 1.4) [11].

Figura 1.4. Deteccion de bordes [11].

Una definicion mas acertada de esta tecnica, es la provista por Parker [11] la cual dice:((la deteccion de bordes es el proceso de localizacion de los pıxeles del borde, aumentandoel contraste entre ellos y el fondo para que los bordes se hagan mas visibles)).

Page 19: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 4

1.4. Detector de bordes Canny

Para realizar deteccion de bordes en la literatura se encuentran varias tecnicas, sinembargo la empleada en durante la implementacion del proyecto, es el detector de bordesCanny, dicho detector se basa en tres principios los cuales son [11]:

• Taza de error, el detector de bordes solo debe responder a los bordes, representacionesdiferentes aumentan la taza de error, por consiguiente esta debe ser muy baja conrespecto al total de bordes detectado en la imagen.

• Localizacion, la distancıa entre pixeles del borde detectado y el borde real debe serbaja.

• Respuesta, el detector de bordes no debe detectar multiples pixeles sobre el borde.

El detector de bordes canny se basa en la suposicion de un ruido blanco Gaussiano. Estose realiza mediante un filtro de convolucion 1.1 que prepara el ruido y localiza el borde,sin embargo en algunos casos localizar el filtro que cumple los tres criterios de deteccionde bordes es una tarea muy dıficil [11].∫ w

−wg(−x) ∗ f(x)dx = H (1.1)

El filtro se encuentra fuera de la region [−w,w] y los tres criterios de esta tecnica serepresentan matematicamente como: la relacion senal a ruido (SNR 1.2), la distanciaentre el borde localizado y el real (L 1.3) y la distancia media de los cruces por cero def(x) (X 1.4) [11].

A ∗ |∫ 0−w f(x)dx|

n0 ∗√∫ w−w f2(x)dx

= SNR (1.2)

A ∗ |f(0)dx|

n0 ∗√∫ w−w f2dx

= L (1.3)

pi ∗∫ inf−inf f

2(x)dx√∫ inf−inf f

2(x)dx= X (1.4)

Se define una constante iterativa para encontrar el filtro utilizando un bucle, dicho buclese encarga de maximizar un producto (SNR*L) sujeto a una restriccion de multiples res-puestas (X). Dicho algoritmo se puede implementar computacionalmente como se muestraen el seudocodigo del cuadro y el resultado como se muestra en la figura 1.5.

Page 20: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 5

1: Leer la imagen a procesar.2: Crear una mascara de Gauss unidi-

mensional para I.3: Crear una mascara unidimensional

para las primeras derivadas Gx y Gy4: Convolucione I a lo largo de las filas

con Gx y columnas con Gy5: Compute la respuesta de cada pixel.

Figura 1.5. Tecnica Canny a) Original b) Bordes Canny.

1.5. Morfologıa en una imagen

La morfolgıa se basa en operaciones que tratan de simplificar y mantener las caracte-risticas principales de una imagen. Algunos operadores de este tipo permiten reconstruire identificar figuras, bordes o caracterısticas, propias de cada imagen que son de interespara el usuario. Entre algunas aplicaciones de un analisis morfologıco se encuentra:

• Eliminar ruidos de la imagen

• Destacar la estructura de la imagen.

• Detectar objetos

• Describir un Objeto

Para la realizacion del algoritmo se usaron las operaciones mofologıcas de erosion ydilatacion, con el fin de eliminar conjuntos de pixeles pequenos para obtener una imagenlimpia, en la cual la figura geometrica sea de las unicas estructuras presentes al momentode filtrar.Sin embargo, una definicion formal para erosion y dilatacion es la propuesta por Ortiz [20].El mediante una representacion matematica define una imagen f, la cual es erosionada1.5 o dilatada 1.6 mediante un elemento estructurante k.

EvK(f)(x, y) = mino ∗ f(x + s, y + t), (s, t) ∈ K (1.5)

DvK(f)(x, y) = maxo ∗ f(x− s, y − t), (s, t) ∈ K (1.6)

Una forma de aplicar estas estrategas es realizando una erosion, seguida de una dilata-cion (Como se observa en la figura 1.6 y 1.7) esta operacion se conoce con el nombre de

Page 21: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 6

((Operacion de apertura (Ilustrada en la figura de ejemplo 1.9))), cuando se realiza primerouna dilatacion y luego de erosion se conoce con el nombre de ((Operacion de Cierre (mos-trado en la figura 1.8)))[11].

Figura 1.6. Imagen dilatada a) Original b) Dilatado.

Figura 1.7. Imagen erosionada a) Original b) Erosionado.

Figura 1.8. Operacion de cierre a) Original b) Modificada.

Figura 1.9. Operacion de apertura a) Original b) Modificada.

1.6. Segmentacion y seguimiento de un objeto

Una de las tecnicas empleadas en segmentacion es la estimacion de la posicion humanaen esquemas de oclusion y desorden utilizando telemetros laser. Esta tecnica [19] realiza la

Page 22: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 7

segmentacion y seguimiento de un objeto en un video de tiempo real, para ello se consideranla entrada o modelo de fondo, las variaciones o segmentos continuos (Reconocidos con eltelemetro) y la mascara de salida.La entrada o primer plano se obtiene realizando una grabacion u obteniendo una secuenciade imagenes utilizadas como fondo, teniendo en cuenta que no debe haber perturbacioneso variaciones en estas imagenes de fondo. Posteriormente, los datos de primer plano ofondo son comparados con la imagen actual y las variaciones mas relevantes que hayaentre ambas imagenes son extraıdas como regiones de interes, aunque previamente cadafotograma del video es marcado con las regiones de interes candidatas o las regiones masprobables donde haya informacion de relevante [19].Para realizar el seguimiento de fase de la region de interes se aplica un filtro de partıculasa cada uno de los candidatos, donde se tienen en cuenta los siguientes parametros;

S(x(t)) = Estado del CandidatoCo = Centro de Gravedad

V(x(t)) = Velocidad del candidato

Teniendo en cuenta estos parametros se establece como entidad valida un candidato quetenga un ciclo de vida mayor a 0.4 segundos. El esquema de actualizacion considera lapropagacion de cada partıcula de acuerdo con un modelo de movimiento preestablecido,utilizando un componente de ruido gaussiano para calcular la aleatoriedad de la velocidad yla orientacion [19]. Este modelo de probabilidad aproxima al valor de la posicion utilizandolos siguientes parametros;

SmX [l] = m-esimo estado de la partıcula asociado con X en el tiempo t.R (t) = Este es un dato fundamental debido a que ayuda a medir la probabilidad de

ocupacion de un espacio en el tiempo, para definir los contornos y fronteras de dichasentidades

La probabilidad de ocupacion es calculada en 1.7 y 1.8 como [19];

p(r[t]|SmX [t]) =

1

Nspi

Ns∑i=1

(r[t]|SmX [t])− pcol (1.7)

p(r[t]|SmX [t]) = {ps+pc(r[t]|Sm

X [t])RegionOscura

poRegionClara (1.8)

• Ns= Numero de telemetros

• PCOL= Asegura que dos filtros no siguen la misma partıcula.

• Ps= Probabilidad de ser sombra.

• Po= Probabilidad de ser region abierta

• Pe= Probabilidad de ser calculada en una distribucion normal detras del contornoteniendo en cuenta el que el diametro aproximado de la entidad sea 50 cm.

Page 23: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 8

Cuando las probabilidades caen drasticamente o superan el umbral de dispersion se suponeque la entidad salio de la escena y las que se encuentran en el medio ambiente mas de 2segundos, se utilizan en la clasificacion como regiones candidatas. Por ultimo la mascarade salida es la marca particular aplicada a la imagen actual donde se resaltan los diferentesobjetos detectados [19].

1.7. Interpretacion de una figura de manera computacional

La reinterpretacion de formas se produjo por la elaboracion de herramientas de disenocomputacional, esto permite a un modelo digital de un producto al ser creado se definautilizando un conjunto fijo de elementos geometricos como bordes y superficies. A partirde esta estructura se pueden reconocer patrones y asociaciones solo cuando estas formasemergentes se ajustan a subconjuntos del conjunto original de elementos geometricos. Delo contrario, la reinterpretacion de un modelo hace necesario la redefinicion de acuerdocon un nuevo conjunto de elementos [12].Los disenadores no pueden manipular facilmente todos los subconjuntos de figuras queperciben por lo que no pueden generar nuevas estructuras. Como resultado, no son libresde explorar los patrones y asociaciones que surgen por defecto durante el desarrollo deldiseno. Ellos se limitan a formas de manipulacion segun a la estructura por la que el disenofue definido inicialmente [12].Se ha propuesto una variedad de enfoques que tienen como objetivo hacer frente a esteproblema al permitir la manipulacion de los modelos de diseno de acuerdo con las estruc-turas percibidas. Por ejemplo, el WYPIWYG (What You Perceive is What You Get) [13]es un sistema que permite la interpretacion de imagenes basado en un grupo de figurasbase. Estas figuras base estan ordenadas de modo tal que permiten interpretaciones per-ceptuales, es decir encontrar el objeto de mayor similitud en la base de figuras.Del mismo modo [8] se encuentra un algoritmo que automatiza el reconocimiento de sub-conjuntos de figuras en un boceto. El algoritmo reconoce estas formas emergentes medianteel uso de un patron estandar empleado comunmente en los sistemas de dibujo para reco-nocer e identificar elementos y configuraciones en las de entradas a mano alzada.Por ultimo se encuentra un enfoque [17] basado en formas gramaticales, en el que las reglasde sustitucion se aplican para reconocer y manipular subconjuntos de imagenes percibidasen una imagen. Estas reglas de forma proporcionan una doble ventaja, ya que ademas depermitir a la estructura percibida ser facilmente reconocida, tambien formalizan el procesocreativo mediante el cual se genera una senal de percepcion y permiten la repeticion delproceso.Una limitacion importante de cada uno de estos procesos radica en lo cognitivo, tareanecesaria para interactuar con ellos. Por ejemplo en un algoritmo [13] el usuario es reque-rido para que el sistema aprenda gestos especıficos con el fin de mostrar una percepcionparticular de un diseno. O el sistema [8] requiere formacion previa con respecto a lo quelos disenadores podrıan encontrar interesante.En cada uno de estos se requiere un esfuerzo adicional para interactuar con el sistema, noimporta lo pequeno que este esfuerzo sea, puede ocasionar una distraccion durante el ciclode trabajo del usuario. Lo ideal es que el sistema sea dinamico y que pueda soportar unproceso cognitivo en tiempo real, el cual ofrecerıa beneficios evitando la necesidad de quelos usuarios definan explıcitamente su interpretacion de formas disenadas. Debido a estosurge la tecnologıa de seguimiento ocular que se presenta como una interfaz para sistemas

Page 24: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 9

de dibujo.Algunas Investigaciones han explorado la aplicacion de seguimiento ocular comointerfaz de dibujo alternativo, para sustituir el raton tradicional y entrada de teclado [9].

1.8. Reconocimiento de contornos esfericos

Un algoritmo propuesto [6] sugiere la utilizacion de una transformada gaussiana sobreuna superficie digitalizada, la cual mediante aproximaciones polinomicas identifica lasuperficie mas cercana a una esfera.Los atributos de una forma esferica pueden ser definidos por el valor de su radio, aplicandola transformada gaussiana de curvatura 1.9 y las coordenadas de su centro 1.10. Ası quela posicion puede ser determinada mediante el calculo de la base del vector normal decada dato punto.

ui,j =dz

dxpi,j , |

dz

dypi, j| − 1 (1.9)

ci,j = pi,j −1√

ki,j ∗ ||u||∗ ui,i (1.10)

1.9. Base de imagenes

Para construir una base de imagenes, se crea una base de datos en la cual los datosparticulares que la componen son imagenes en un formato determinado, de tal manera quecada imagen contiene un solo ejemplar el cual se encuentra etiquetado, estos ejemplarespertenecen a una unica clase conocida, teniendo en cuenta que el punto de vista de cadaimagen y ejemplar es similar [15].Se aplica un algoritmo de extraccion de caracterısticas a cada ejemplar, para crear unconjunto de valores de entrada, estos valores se ordenan en nodos que representan ca-racterısticas fisicas, las cuales se relacionan con los bordes, sin embargo no se establecencorrespondencias uno a uno entre caracterısticas de un ejemplar del conjunto y el objetivo[15].Un ejemplo de esto se muestra en la figura 1.10, donde a es el conjunto de caracterısticasy b el objetivo, seguidamente el algoritmo permite seleccionar del conjunto los candidatosmas parecidos a la imagen original, por ultimo se corre un algoritmo de segmentacion enuna region de cada imagen para encontrar similitudes en la estructura [15].Aunque no haya un unico nodo comun entre las tres imagenes, la estructura comun surge

Figura 1.10. Ejemplo de adquisicion [15].

una vez los datos se agrupan, haciendo que el trabajo mas difıcil sea intentar encontrar la

Page 25: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 10

estructura con mayor similitud [15].La tarea fundamental del algoritmo se basa en encontrar la estructura comun en estasimagenes, bajo la suposicion de que la estructura comun en muchos ejemplares de unaclase conocida es definitiva en una sola clase. La figura 1.11 muestra una representacionsimbolica de la abstraccion de clase asociando a los ejemplos de entrada [15].Cada region de la abstraccion se combina con los datos del conjunto buscando similitudesentre los objetos. Sin embargo, en algunos casos los ejemplares tienen caracterısticas queno pertenecen a la imagen original, aunque resultan muy parecidas a esta. Por lo tanto,estos objetos que tienen caracterısticas similares son descartados hasta la generacion delmodelo final utilizando la tecnica de segmentacion de la estructura [15].Por ultimo cuando se adquiere una nueva imagen esta puede ser almacenada dentro de labase de imagenes, para ser tenida en cuenta al momento de correr nuevamente el algorit-mo.

Figura 1.11. Ejemplo de abtraccion [15].

1.10. Reconocimiento de caracteres

Una tecnica [3] empleada en el reconocimiento de caracteres, utiliza una busquedade posibles rectangulos en la imagen como regiones de interes. Debido a que los gruposde caracteres se encuentran normalmente en la imagen como rectangulos, este enfoquedetecta segmentos rectos y puntos de cruce (esquinas) entre todos los rectangulos sobrela imagen. Cuando un caracter se encuentra fuera del area del rectangulo se crea unaaproximacion rectangular y se evalua el texto que contiene.

Page 26: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 11

1.11. Deteccion de segmentos rectos y esquinas

Este metodo filtra los segmentos por tamano, rechazando segmentos por debajo de 50pıxeles, ademas de tener en cuenta la proximidad y el solapamiento entre pixeles, es decircuando un grupo de pixeles es similar, el algoritmo los agrupa como un solo elemento.Seguidamente se divide el conjunto de segmentos en dos grupos; verticales y orientados,posteriormente busca los puntos de cruce entre los segmentos de cada grupo [3].Para asegurarse que los elementos encontrados hacen parte de un elemento rectangular,solo se aceptan puntos que se encuentren dentro de la imagen y cuyas puntas en lossegmentos se encuentren dentro de los lımites establecidos. De acuerdo con la posicionrelativa de los componentes de cada punto de cruce, encontramos cuatro tipos diferentesde esquinas como se puede observar en la Figura 1.12, parte (e), esta figura muestra unejemplo de casos particulares en los que segmentos de lınea se cruzan entre sı en la partemedia de uno de ellos, por lo tanto varias esquinas son almacenadas (uno por tipo posible)en esa ubicacion [3].

Figura 1.12. Tipos de esquina [3].

1.12. Suposicion de rectangulos

Para realizar una suposicion de un posible rectangulo se siguen los parametros mos-trados para la deteccion de rectangulos [3]. En primer lugar, estas esquinas son agrupadasentre sı tratando de obtener conjuntos hechos de tantas esquinas compatibles como seaposible, luego se toma genera un punto que se encuentre contenido dentro de todos lossegmentos de esquinas generados [3].En segundo lugar, se verifica que la distancia ente las esquinas debe ser mayor que la lon-gitud del segmento mınimo y finalmente una ubicacion relativa correcta de los diferentestipos de esquinas como se muestra en la figura 1.13 [3].Esta metodologıa permite suponer rincones que han sido omitidos dentro de la imagen y

Figura 1.13. Esquinas supuestas [3].

permite que el sistema sea robusto frente oclusiones y segmentos de lınea perdidos durante

Page 27: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 12

el proceso de extraccion. Todos los conjuntos mostrados en la figura 1.13 excepto el decuatro esquinas, este necesita de un post-procesamiento para estimar la forma completade la region. Para cada uno de estos conjuntos se estima como podrıa ser toda la region,teniendo en cuenta los segmentos que componen cada esquina para generar los lados des-aparecidos de las regiones rectangulares como se muestra en la Figura 1.14, mas de unahipotesis se genera a partir de un conjunto compatible de esquinas [3].

Figura 1.14. Conjuntos de solucion [3].

1.13. API de procesamiento de imagenes

Un sistema de lectura y escritura se basa en la adquisicion de datos desde dispositivosperifericos, este evento se realiza con la ayuda de un driver o API (del ingles, applicationprogramming interface). Los datos son manejados a traves de variables y pueden realizarseoperaciones matriciales con otro tipo de datos [11], en este proyecto se utilizo el API deOPENCV 2.4.11 para la realizacion de pruebas y desarrollo del programa.OpenCV (del ingles, Open Source Computer Vision Library) con licencia BSD de codigoabierto es una librerıa que contiene varios algoritmos de vision por computador 1.15. EsteAPI fue desarrollado enteramente en C++ y se compone de una estructura modular,disenada con algunas funciones compartidas o estaticas. Los modulos disponibles son:

• Core: Es un modulo el cual contiene las estructuras de datos basicas, incluyendofunciones de operaciones matriciales.

• Imgprco: Este modulo contiene las operaciones de procesamiento de imagenes (Fil-tros, transformaciones, entre otros).

• Calib3D: Contiene algoritmos de sincronizacion entre video y sonido o funciones devision estereoscopica.

• features2D: Detector de bordes o caracterısticas sobresalientes.

Page 28: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 13

• Objdetect: Detector de objetos predefinidos (Caras, Extremidades corporales, entreotras).

• Highgui: Interfaz para captura de video.

• GPU: Acelera el rendimiento de la CPU, durante el funcionamiento de OPENCV.

Figura 1.15. Ejemplo del uso de OPENCV

1.14. Hardware utilizado

El sistema embebido en el cual se implementaron los algoritmos, es bastante robusto(debido a su versatilidad y compatibilidad con diferentes sistemas operativos) comparadofrente a otras tecnologıas existentes (microcontroladores, FPGA’s, EMBED y Arduino),debido a que estas tecnologıas se basan en el procesamiento de tareas de manerasecuencial, ocasionando que dichos sistemas colapsen al implementar algoritmos deprocesamiento de senales (debido a que la implementacion de un API, debe hacerse en unsistema multitarea).Ademas, dichas tecnoloıas se usan solamente para la visualizacion de imagenes, debidoa que el lenguaje en el cual son programadas, no permite la implementacion de rutinaspara el embellecimiento de las mismas. Sin contar que una raspberry es mas economicaque un computador portatil o de escritorio y su hardware ofrece las mismas prestacionespara la implementacion de un sistema operativo multitarea.En esta seccion se muestra una descripcion del hardware utilizado para la realizacion delproyecto, los cuales fueron una camara de video de 5 megapıxeles y una tarjeta RaspberryPI.

• Camara Pi NoIR 1.16: Con este dispositivo se pueden registrar imagenes desde elmundo real, conectada a la tarjeta Raspberry PI a traves de un puerto destinadopara tal fin, toma fotografıas de 5 megapıxeles de resolucion con un tamano de 2592x 1944 pıxeles.

• Raspberry PI Model B+ 1.17: Es un sistema embebido destinado para actividadesde enseanza, tiene el tamano de una tarjeta de credito y cuenta con las siguientescaracterısticas [2];

Page 29: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 1. MARCO DE REFERENCIA 14

Figura 1.16. Camara raspberry

1. Un procesador ARMv6 de 700 MHz

2. 256 MB de RAM

3. Una GPU 1080 p con salidas HDMI y de vıdeo

4. Conector de audio de 3,5 mm

5. Conector de 26 vıas con GPIO, UART, I2C y SPI

6. Conectores para JTAG, DSI (display LCD) y CSI (camara)

7. Ranura para tarjeta SD

8. USB

Figura 1.17. Raspberry PI

Page 30: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2

Metodologıa

Este capıtulo muestra dos algoritmos utilizados para la realizar operaciones destinadasal reconocimiento de figuras geometricas (cuyo codigo fuente se encuentra en el apendiceA, B) y su implementacion dentro del hardware.Los algoritmos fueron desarrollados en el programa Python, todo el codigo se encuentrarealizado en el lenguaje de este compilador, apoyado en algunas librerıas del API OpenCV.

2.1. Estructura fısica principal

Para el montaje de la plataforma donde se implementaron los algoritmos de proce-samiento de imagenes, se conecto la camara en un puerto destinado para tal fin sobre latarjeta raspberry PI, una vez conectado se opto por proteger el sistema y la camara dentrode un armazon 2.1.Adicionalmente la carcasa donde se encuentra la camara, fue dotada con un circuito 2.2

Figura 2.1. Sistema ensamblado

de 4 LEDs blancos. Los LED’s graduan la cantidad de luz sobre la zona sobre la cual seesta capturando la imagen, esto se consigue mediante una fotorresistencia que actua comosensor de luz.Cuando la cantidad de luz sobre la resistencia es poca (Oscuridad), el transistor trabajaen la zona de saturacion actuando como un interruptor cerrado 2.3 encendiendo los LED’s,cuando sucede lo contrario y hay mucha luz sobre la resistencia, el transistor trabaja en

15

Page 31: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 16

la zona de corte actuando como un interruptor abierto 2.4 apagando los LED’s.Una vez ensamblado el sistema de reconocimiento de imagenes, se conecta a un adapta-

Figura 2.2. Circuito general

Figura 2.3. Transistor en saturacion, NC

Figura 2.4. Transistor en corte, NO

dor de 5V para alimentalo, a un monitor a traves de un cable HDMI y a los dispositivosperifericos de entrada y salida (mouse y teclado), para proceder a la instalacion del siste-ma operativo y el API OPENCV. La puesta en marcha del sistema embebido se realizasiguiendo los pasos mostrados en el diagrama 2.5 y la primer presentacion del sistemaoperativo una vez instalado se muestra en la figura 2.6.

Figura 2.5. Diagrama de puesta en marcha

Page 32: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 17

Figura 2.6. Presentacion raspbian

2.2. Algoritmo A

Este algoritmo se basa en operaciones morfologicas para la eliminacion de ruido, extraerlas caracterısticas de la imagen y contar la cantidad de puntas de la figura para indicarde que tipo es. Los pasos que realiza el algoritmo para reconocer una figura se enuncian acontinuacion;

• Se importa la lıbreria OpenCV.

• Se carga la imagen desde la camara 2.7 (a).

• Se cambia el formato de la imagen de RGB a HSV, para aumentar el rango devariacion de los colores 2.7 (b).

• Se filtra la imagen, dejando solo los componentes de color azul 2.7 (c).

• Se aplican dos operaciones mofologicas; una de cierre (CLOSE 2.7 (d). rellena huecosentre pixeles), seguido de una apertura (OPEN 2.7 (e) elimina estrecheses o grupospequenos de pixeles).

• Se difumina la imagen (Realizar un desenfocado) para suavizar los contornos de laimagen y un filtro canny se encarga del realce de bordes 2.7 (f).

• Luego se realiza una marca y conteo de cada area cerrada, seguidamente se realiza unfiltrado que permite remover las areas menores a 50 pixeles (estas son interpretadascomo ruido).

• Por ultimo se aproxima mediante un polinomio el borde de cada area, seguidamenteuna operacion de conteo de las puntas encerradas en cada area y segun el resultadose determina el tipo de figura geometrica 2.7 (g).

La figura muestra un ejemplo de de reconocimiento de figuras geometricas, como se puedeobservar se elimina el rectanulo de color rojo en el filtro de color azul y el circulo encerradoen un cırculo de color amarillo, no es reconocido debido a que su area es muy pequena.La aproximacion polinomica 2.8 que realiza OpenCV, es calculada a traves de una inter-polacion pixel a pixel de los bordes resaltados con la operacion Canny, debido a que losvalores de los pixeles binarios son tuplas (Coordenadas X,Y) y el valor en dicho punto es

Page 33: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 18

(a) Imagen original (b) Conversion RGB a HSV

(c) Filtro azul (d) Operacion de cierre

(e) Operacion de apertura (f) Filtro Canny

(g) Salida

Figura 2.7. Funcionamiento algoritmo A

Page 34: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 19

intensidad (0=Color Negro, 1=Color Blanco), estas tuplas son reemplazadas nuevamentedentro del polinomio.Dicho resultado es impreso sobre la imagen original cambiando el valor de color del bordepara representar el contorno de la figura detectada (Verde=Circulo, Rojo= Rectangulo,Azul=Triangulo).

Figura 2.8. Contorno aproximado antes de imprimirse sobre la imagen

El funcionamiento del algoritmo se representa mediante el siguiente pseudocodigo;

1: Iniciar variables();2: Iniciar camara();3: Imagen=Capturar imagen();4: Imagen=Convertir a formato HSV(imagen);5: Imagen=Operacion morfologica de cierre (imagen);6: Imagen=Operacion morfologica de apertura (imagen);7: Imagen=Ruido Gaussiano(imagen);8: Imagen=Filtro Canny(imagen);9: [Numero de objetos,contornos,areas]=Encontrar contornos(imagen);

10: for i=1:Numero de objetos do11: if Areas(i) > 50 then Numero de puntas=Aproximar mediante un poli-

nomio(contorno(i));12: if Numero de puntas==3 then13: Imprimir(triangulo);14: end if15: if Numero de puntas==4 then16: Imprimir(rectangulo);17: end if18: if Numero de puntas>=5 then19: Imprimir(circulo);20: end if21: end if22: end for

Page 35: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 20

2.3. Algoritmo B

Este algoritmo tiene una estructura similar a la del algoritmo A, sin embargo sereemplazo el realce que realiza la operacion Canny 2.9 (a) por una operacion de realcepor gradiente 2.9 (b), con la diferencia que la operacion usando el gradiente permiteaumentar la intensidad del borde dibujandolo dos veces, ası al final la figura quedara condos bordes cerrados en vez de uno 2.9 (d).De la misma forma este algoritmo se basa en un sistema de normalizacion y deteccion

(a) Realse mediante Canny (b) Realse mediante gradiente

(c) Imagen original (d) Salida

Figura 2.9. Funcionamiento algoritmo B

de errores, para reconocer la figura geometrica. Esta funcion realiza una medicion dedistancıa entre los puntos reconocidos de la figura y guarda la longitud del segmento maslargo (L). Dicho segmento es utilizado para escalar los segmentos restantes, es decir todaslas longitudes de los segmentos de la figura son divididas entre la longitud del segmentomas largo 2.10 (a).Seguidamente alrededor de cada figura se traza una circunferencia (con radio 1, Ver figuras2.10 (b)-(d)), y se cuentan la cantidad de areas sobrantes y ası segun este numero sedetermina el tipo de figura (Areas sobrantes para: triangulo=3, rectangulo=4, circulo>4).

Page 36: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 2. METODOLOGIA 21

(a) Longitud mas larga (b) Areas Sobrantes triangulo (c) Areas Sobrantes cuadrado

(d) Areas Sobrantes circulo

Figura 2.10. Calculo de areas sobrantes

El funcionamiento del algoritmo se representa mediante el siguiente pseudocodigo;

1: Iniciar Variables();2: Iniciar camara();3: Imagen=Capturar imagen();4: Imagen=Convertir a formato HSV(Imagen);5: Imagen=Operacion morfologica de cierre (imagen);6: Imagen=Operacion morfologica de apertura (imagen);7: Imagen=Ruido Gaussiano(imagen);8: Imagen=Filtro Canny(imagen);9: [Numero de objetos,contornos,areas]=Encontrar contornos(imagen);

10: for i=1:Numero de objetos do11: Longitud segmento mayor=medir segmentos(Areas(i));12: Imagen normalizada=normalizar(Areas(i),longitud segmento mayor);13: Nueva imagen=trazar circunferencia(Imagen normalizada,longitud seg-

mento mayor);14: Cantidad de areas sobrantes=contar areas(nueva imagen);15: if Numero de areas sobrantes==3 then16: Imprimir(Triangulo);17: end if18: if Numero de areas sobrantes==4 then19: Imprimir(Rectangulo);20: end if21: if Numero de areas sobrantes>4 then22: Imprimir(Circulo);23: end if24: end for

Page 37: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 3

Resultados

Este capitulo muestra como se realizaron las pruebas a los algoritmos A y B, ademasde los resultados que se obtuvieron al correr ambos algoritmos y una comparacion entreellos, con el fin de determinar cual es menos costoso computacionalmente.

3.1. Patron de pruebas

Se tomaron varias siluetas (se elaboraron 10 siluetas en total) de color blanco de fondo,las cuales contienen figuras geometricas en un rango entre 6 y 10 de figuras 3.1.

Figura 3.1. Ejemplo de patron de reconocimiento

Ambos algoritmos se probaron con los mismos patrones geometricos, los resultados fuerontabulados y descritos en la seccion 3.2.

3.2. Medidas obtenidas

Los algoritmos fueron probados en un computador de escritorio y posteriormente salva-dos en el sistema embebido. El tiempo de procesamiento de cada algoritmo, fue medido conuna funcion de cronometro implementada dentro del codigo y los tiempos fueron tabulados

22

Page 38: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

CAPITULO 3. RESULTADOS 23

Tabla 3.1. Tiempo de procesamiento para reconocer 1 fıgura

Algoritmo A Algoritmo B

PC Escritorio 500ms 550ms

Raspberry 2s 2.5s

en la siguiente tabla 3.1;

Para probar el margen de error de cada uno de los algoritmos, se realizaron pruebascon las 10 siluetas elaboradas, cuyos resultados son reportados en las tablas 3.2 y 3.3;

Tabla 3.2. Figuras procesadas algoritmo A

Cantidad de figuras Circulos Triangulos Rectangulos Aciertos

1 1 0 0 1

1 0 1 0 1

1 0 0 1 1

6 2 2 2 6

7 3 3 1 6

8 2 2 4 8

9 5 2 2 9

10 2 5 3 9

Tabla 3.3. Figuras procesadas algoritmo B

Cantidad de figuras Circulos Triangulos Rectangulos Aciertos

1 1 0 0 1

1 0 1 0 1

1 0 0 1 1

6 2 2 2 6

7 3 3 1 7

8 2 2 4 8

9 5 2 2 9

10 2 5 3 10

Como se observa el algoritmo B tiene una mayor cantidad de aciertos, sin embargo elalgoritmo A es mas rapido.

Page 39: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

APENDICE A

Codigo algoritmo A

24

Page 40: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

APENDICE A. CODIGO ALGORITMO A 25

Page 41: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

APENDICE B

Codigo algoritmo B

26

Page 42: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Conclusiones

Se disenaron e implementaron dos algoritmos de procesamiento de imagenes digita-les, destinados a reconocer figuras geometricas en cualquier tipo de ambiente. Dichosalgoritmos fueron desarrollados enteramente en software libre (Python), cuyo lenguaje escompatible con un sistema embebido (Raspberry PI Modl B+), convirtiendose ası en unsistema portable con la posibilidad de ser incorporado en sistemas roboticos y altamenteautomatizados (similar a la vision artificial computarizada).

Durante las pruebas que se realizaron al Algoritmo A y B, se detectaron aproxi-madamente el 90 por ciento de las figuras geometricas regulares. Se muestran dosalgoritmos eficientes para el reconocimiento de figuras geometricas, dado que el tiempomedio para reconocer una figura es de 2.5 segundos en tiempo real en un sistema embebido.

Una ventaja de los sistemas embebidos, es que se basan en sistemas programables,siendo de utilidad para el programador debido a que se pueden eliminar errores en tiemporeal de una manera sencilla por el compilador provisto por defecto. Sin embargo, en simismo el hardware es limitado, asi que el tiempo de muestreo de las imagenes no puedeser menor a 0.5 segundos ya que esto tarda en importar una sola imagen sin tratamientoalguno.

Los algoritmos de procesamiento de imagenes implementados en sistemas embebi-dos, son versatiles ahorrando costos cuando se abordan distintas tematicas, esto secorrobora con el hecho de que se desarrollo una aplicacion capaz de procesar imagenes decualquier tipo e identificar las figuras geometricas regulares de las cuales esta compuesta.

27

Page 43: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Trabajo futuro

• Implementar algoritmos de procesamiento que se basen en tecnicas de aprendizajecomputacional, de esta manera se podrıa estimar una figura mas rapidamente que,con el sistema actual, si este no realiza reprocesos y procesa solo una figura por vez.

• Se pueden construir algoritmos de reconocimientos de caracteres, a partir del imple-mentado ya que segun Cambra [3], un caracter puede ser reconstruido o identificadosi se descompone en figuras geometricas basicas.

• Estos algoritmos pueden ser acoplados a un robot como sistema de vision artificial,teniendo en cuenta que la raspberry tiene un puerto GPIO, el cual puede interactuarcon actuadores gracias a que tiene entradas y salidas digitales.

28

Page 44: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

Bibliografıa

[1] Roger J. BELLO, Procesamiento de imagenes a color utilizando morfologıa matemati-ca, (2006).

[2] Miles Berry and Jeremy Ruston, Raspberry pi, una inversionn en el futuro de laingenierıa, (2011).

[3] A. C. M. A. B. Cambra, Towards robust and efficient text sign reading from a mobilephone, (2011).

[4] S. Chengtian, The image processing and target identification of laser imaging fuze,Proceedings of 2008 3rd International Conference on Intelligent System and Know-ledge Engineering (2008), 1116–1120.

[5] Raspberrypi Comunnity, What is a raspberry pi?, Consultado el 04 de Julio de 2016,disponible en:https://www.raspberrypi.org/help/what-is-a-raspberry-pi.

[6] A. M. Carlos Costa, An algorithm to recognize shape and position of basic functionalgeometries obtained by manufacturing: An optimization of grid increment, (2014).

[7] S. Edelman and L. M. Vaina, International encyclopedia of the social y behavioralsciences, (2001).

[8] G.M.D., Emergence in a recognition based drawing interface, Visual and SpatialReasoning in Design II (2001), 51–65.

[9] HORNOF, A system for drawing pictures with eye movements, Proceedings ofASSETS- International ACM SIGACCESS Conference on Computers and Accessibi-lity (2004).

[10] D.-J. Kim, Geometric feature-based face normalization for facial expression recogni-tion, Second International Conference on Artificial Intelligence, Modelling and Simu-lation (2014), 170–175.

[11] J.R. Parker, Algorithms for image processing and computer vision, (2011).

[12] M. Prats, Interpretation of geometric shapes ? an eye movement study, Marina delRey (2010), 243–250.

[13] M. SAUND, A perceptually-supported sketch editor, Symposium on User InterfaceSoftware and Technology (1994).

29

Page 45: Sistema Minimalista Embebido de Reconocimiento …repository.udistrital.edu.co/bitstream/11349/7351/1/V...Sistema Minimalista Embebido de Reconocimiento en Tiempo real de Figuras Geom

BIBLIOGRAFIA 30

[14] A. Shalaby, Probabilistic shape-based segmentation method using level sets, IET Com-puter Vision (2012), 182–194.

[15] Y. K. A. Shokoufandeh, Many-to-many feature matching in object recognition: a re-view of three approaches, (2012).

[16] M. S. I. Andrzej Sluzek, Using interest points for robust visual detection and identi-fication of objects in complex scenes, International Conference on Intelligent Robotsand Systems (2006), 5326.

[17] STINY, Talking about seeing and doing, MIT-Cambridge (2006).

[18] L. Enrique Sucar, Vision computacional, (2004).

[19] T. Zeynep Yucel, Identification of mobile entities based on trajectory and shape in-formation, IEEE/RSJ International Conference on Intelligent Robots and Systems(2011), 3589–3594.

[20] Francisco Ortiz Zamora and Fernando Torres Medina, Segmentacion basica de image-nes aereas mediante morfologıa matematica en color y geodesia cromatica, (2001).