ajuste de algoritmo de identificacion visual para su´ uso en aplicaciones de...

15
Ajuste de algoritmo de identificaci´ on visual para su uso en aplicaciones de navegaci´ on aut´ onoma de robots Jordan S. Casta˜ neda B. Yeison A. Salguero L. [email protected] [email protected] Fredy H. Mart´ ınez S. [email protected] Grupo de investigaci´ on ARMOS (COL0029956) Tecnolog´ ıa en Electricidad Facultad Tecn´ ologica Universidad Distrital Francisco Jos´ e de Caldas Bogot´ a D.C., Colombia Resumen—Este art´ ıculo muestra la elaboraci´ on e implementaci´ on de robot aut´ onomo, el cual nos permitir´ e por medio de un escaneo del entorno dar reconocimiento a figuras geom´ etricas en un espacio determinado, andole al procesador paso para que realice el pertinente an´ alisis de lo que la c´ amara est´ a mirando y as´ ı permitiendo reconocer el objeto que se est´ a observando. Con ayuda de un sistema embebido, nos permitir´ e el manejo aut´ onomo del prototipo, brindando ayuda al procesador en simplificar su detecci´ on en tiempo real, y ayudando a dar un mejor reconocimiento sobre lo esperado. Se ha visto un gran avance en el desarrollo de nuevas tecnolog´ ıas enfocadas en el procesamiento de im´ ıgenes digitales, brindado un mejor reconocimiento a tareas espec´ ıficas donde un humano no puede llegar, dando una mayor eficiencia y rapidez en su labor en tiempo real. Con la realizaci´ on de este proyecto se dar´ a una nueva alternativa al uso nuevas tendencias para el procesamiento de im´ agenes, enfocadas en la visi´ on artificial. Adem´ as, se cuenta con el software adecuado y robusto que facilita la implementaci´ on de algoritmos eficientes, econ´ omicos y brindar la facilidad de hacer mejoras sobre la misma plataforma. Abstract—This article shows the elaboration and implementation of autonomous robot, which we will allow us through a scan of the environment to recognize geometric figures in a given space, giving the processor step to perform the relevant analysis of what the camera is looking and thus allowing to recognize the object being observed. With the help of an embedded system, we will allow us to autonomously manage the prototype, helping the processor to simplify its detection in real time, and helping to give better recognition than expected. There has been a breakthrough in the development of new technologies focused on digital image processing, giving better recognition to specific tasks where a human can’t reach, giving greater efficiency and speed in their work in real time. With the realization of this project will be given a new alternative to the use of new trends for the image processing, focused on the artificial vision. In addition, it has whit the adequate and robust software that facilitates the implementation of efficient algorithms, economic and provide the facility to make improvements on the same platform. I. I NTRODUCCI ´ ON En la actualidad los robots se han convertido en una herramienta capaz de desarrollar tareas de manera eficiente y con mayor precisi´ on a diferencia de los seres humanos, de tal forma que hoy d´ ıa surge la necesidad de implementar robots cada vez m´ as aut´ onomos y sofisticados que sean capaces de simplificar el trabajo humano, logrando as´ ı mayor eficiencia en el desarrollo de cualquier proceso que se vea intervenido por dichos robots. Uno de los puntos de mayor inter´ es se encentra en la detecci´ on de obst´ aculos en veh´ ıculos no tripulados [1], ya que en ellos se hace uso del sistema omnidireccional para tener una mejor visi´ on en robots m´ oviles [2]. Adem´ as el uso de la visi´ on artificial hace un gran aporte a esta ´ area de la investigaci´ on donde el m´ etodo IBDMS [3], nos ayuda a determinar la distancia de colisi´ on y la pronto reacci´ on de la maquina por medio de una c´ amara, ya que nos ayuda al reconocimiento basado en CAD [4], todo esto se hace con la necesidad de maniobrar en lugares con objetos y obst´ aculos [1], los resultados que se obtienen son de gran utilidad ya que lo consiguen sin hacer uso de GPS, y es de gran acogida ya que su implementaci´ on es en veh´ ıculos a´ ereos no tripulados [1]. Adem´ as, el enfoque que se le pretende dar a la autonom´ ıa es muy grande, ya que es parte fundamental en los robots, ya que ha sido el BOOM en las ´ ultimas d´ ecadas, ´ ultimamente se est´ a desarrollando un micro-veh??culo a´ ereo (MAV) [5], con sensores de visi´ on en 3D, ayuda a desarrollar gran variedad de tareas sin el uso de GPS, este sistema de vuelo aut´ onomo

Upload: truongxuyen

Post on 20-Oct-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

  • Ajuste de algoritmo de identificacion visual para suuso en aplicaciones de navegacion autonoma de

    robots

    Jordan S. Castaneda B. Yeison A. Salguero [email protected] [email protected]

    Fredy H. Martnez [email protected]

    Grupo de investigacion ARMOS (COL0029956)Tecnologa en Electricidad

    Facultad TecnologicaUniversidad Distrital Francisco Jose de Caldas

    Bogota D.C., Colombia

    ResumenEste artculo muestra la elaboracion eimplementacion de robot autonomo, el cual nos permitirepor medio de un escaneo del entorno dar reconocimiento afiguras geometricas en un espacio determinado, dandole alprocesador paso para que realice el pertinente analisis de lo quela camara esta mirando y as permitiendo reconocer el objetoque se esta observando. Con ayuda de un sistema embebido, nospermitire el manejo autonomo del prototipo, brindando ayudaal procesador en simplificar su deteccion en tiempo real, yayudando a dar un mejor reconocimiento sobre lo esperado. Seha visto un gran avance en el desarrollo de nuevas tecnologasenfocadas en el procesamiento de imgenes digitales, brindadoun mejor reconocimiento a tareas especficas donde un humanono puede llegar, dando una mayor eficiencia y rapidez en sulabor en tiempo real. Con la realizacion de este proyecto sedara una nueva alternativa al uso nuevas tendencias para elprocesamiento de imagenes, enfocadas en la vision artificial.Ademas, se cuenta con el software adecuado y robusto quefacilita la implementacion de algoritmos eficientes, economicos ybrindar la facilidad de hacer mejoras sobre la misma plataforma.

    AbstractThis article shows the elaboration andimplementation of autonomous robot, which we will allowus through a scan of the environment to recognize geometricfigures in a given space, giving the processor step to performthe relevant analysis of what the camera is looking and thusallowing to recognize the object being observed. With the help ofan embedded system, we will allow us to autonomously managethe prototype, helping the processor to simplify its detection inreal time, and helping to give better recognition than expected.There has been a breakthrough in the development of newtechnologies focused on digital image processing, giving betterrecognition to specific tasks where a human cant reach, givinggreater efficiency and speed in their work in real time. Withthe realization of this project will be given a new alternativeto the use of new trends for the image processing, focusedon the artificial vision. In addition, it has whit the adequateand robust software that facilitates the implementation of

    efficient algorithms, economic and provide the facility to makeimprovements on the same platform.

    I. INTRODUCCION

    En la actualidad los robots se han convertido en unaherramienta capaz de desarrollar tareas de manera eficiente ycon mayor precision a diferencia de los seres humanos, de talforma que hoy da surge la necesidad de implementar robotscada vez mas autonomos y sofisticados que sean capaces desimplificar el trabajo humano, logrando as mayor eficienciaen el desarrollo de cualquier proceso que se vea intervenidopor dichos robots.

    Uno de los puntos de mayor interes se encentra en ladeteccion de obstaculos en vehculos no tripulados [1], yaque en ellos se hace uso del sistema omnidireccional paratener una mejor vision en robots moviles [2]. Ademas el usode la vision artificial hace un gran aporte a esta area dela investigacion donde el metodo IBDMS [3], nos ayuda adeterminar la distancia de colision y la pronto reaccion dela maquina por medio de una camara, ya que nos ayuda alreconocimiento basado en CAD [4], todo esto se hace con lanecesidad de maniobrar en lugares con objetos y obstaculos[1], los resultados que se obtienen son de gran utilidad ya quelo consiguen sin hacer uso de GPS, y es de gran acogida yaque su implementacion es en vehculos aereos no tripulados[1].

    Ademas, el enfoque que se le pretende dar a la autonomaes muy grande, ya que es parte fundamental en los robots, yaque ha sido el BOOM en las ultimas decadas, ultimamente seesta desarrollando un micro-veh??culo aereo (MAV) [5], consensores de vision en 3D, ayuda a desarrollar gran variedadde tareas sin el uso de GPS, este sistema de vuelo autonomo

  • presenta gran exito en sus tareas de planeacion de rutas yposicionamiento exacto.

    Tambien el desarrollo sistematico de un helicoptero notripulado [6], hace su aporte en la deteccion de objetos,utilizando el hardware como sistema de vision y siendo capazde coordinar varias tareas, dando como respuesta inmediata alobjetivo terrestre en movimiento.

    En la utilidad de la vision artificial se ve necesario realizaraplicaciones capaces de leer datos en imagenes tanto estaticascomo en tiempo real, con el objeto de detectar formas ocolores para tareas de mejoramiento de la calidad de la imageno restauracion de imagenes degradas, as mismo de tenerresultados simples y eficientes segun el interes buscado.

    Para la identificacion de figuras [7], propone un metodogeometrico y dinamico basado en la busqueda de formasen algunos conjuntos de imagenes. El algoritmo acopla lasdiferentes formas contenidas en estos conjuntos para realizaruna segmentacion de la imagen. Se realiza una transformacionde la imagen a un espacio de dos dimensiones, y un analisisde componentes principales para representar la variacion dela forma y calcular un numero suficiente de proyeccionesposibles en las direcciones que puede tener un objeto y asrealizar su deteccion.

    La deteccion de la imagen obtiene formas geometricas ycaractersticas [8], exteriores del objetivo en una distancia muycorta y suministra la informacion relevante sobre el objetivo.Pero debido a la gran cantidad de la informacion suministradaen tiempo real por la camara, en algunas ocasiones se encuen-tra algo de ruido o distorsiones del objetivo, para resolver esteproblema se opta por usar un indicador laser el cual permitemarcar la region de interes. El algoritmo binariza la imagenpara obtener y orientar el esqueleto. En segundo lugar, seextrae la forma del objetivo. Por ultimo, se realiza un mapeoutilizando la tecnica FMW (Caracterstica Red Mapeo Wave)para obtener el estado del objetivo.

    En imagenes binarias, el pixel puede tomar exactamenteuno de dos valores [9]. A menudo se piensa que estos valoresrepresentan el primer plano y segundo plano en la imagen,aunque estos conceptos a menudo no son aplicables a escenasnaturales. De tal forma nos centramos en regiones en imagenesy como aislar y describir tales estructuras. Nuestra tareaprincipal es entonces, disenar un programa para interpretar elnumero y tipo de objetos en una figura. Mientras sigamos con-siderando cada pxel en forma aislada, no podremos determinarcomo muchos objetos hay en general en la imagen, donde seencuentran, y cuyos pxeles pertenecen a que objetos. Por lotanto, nuestro primer paso es encontrar cada objeto agrupandotodos los pxeles que le pertenecen. En el caso mas simple,un objeto es un grupo de pixeles tomados del primer plano;es decir, una region binaria conectada.

    Bien es cierto la utilidad de software capaz de efectuar consu lenguaje programado sofisticado el realizar procesamientode imagenes, estos son diversos en plataformas moviles comoen computadoras.

    Desarrollo de algoritmos es central para el procesamientode imagenes y vision por computadora [10], ya que cada

    situacion es unica, y buenas soluciones requieren multiplesiteraciones de diseno. MathWorks proporciona un entornocompleto para profundizar en los datos de imagen y vdeo,desarrollar algoritmos y explorar las ventajas y desventajas deimplementacion. Con MATLAB y Simulink productos paraprocesamiento de imagenes y vision por computadora.

    Una imagen digital no es mas que numeros de datos queindican variaciones de rojo, verde y azul en una ubicacionparticular en una cuadrcula de pxeles [11]. La mayora delas veces, vemos estos pxeles como rectangulos en miniaturaintercalados juntos en una pantalla de computadora. Con unpoco de pensamiento creativo y un nivel mnimo de codifi-cacion para manipulacion de pixeles, podemos mostrar esainformacion de varias maneras.

    El artculo se estructura de la siguiente forma. En la SeccionII se expone el desempeno de los algoritmos desarrolladospor los companeros Leon y Valderrama [12]; un analisiscomparativo entre los algoritmo, determinando sus falenciasy mejoras a realizar. En la Seccion III se ve el desarrolloe implementancion del prototipo disenado en este proyecto,mostrando el ensamblaje para cada una de sus piezas. Enla Seccion IV se presentan los resultados obtenidos en laspruebas realizadas al prototipo y algoritmos implementadosen el. Finalmente, la Seccion V concluye el artculo.

    II. FORMULACION DEL PROBLEMA

    Para la realizacion y ajuste de estos algoritmos, se parteprimeramente de un analisis donde se realizaron pruebas dedesempeno a los dos codigos expuestos por los companerosJhon Leon y Henry Valderrama [12], donde se expusieron trestipos de luminosidad donde reflejaron los siguientes resultados.

    II-A. Baja intensidad lumnica

    Figura 1. Primera prueba realizada al codigo 1 [12]

    Figura 2. Segunda prueba realizada al codigo 1 [12]

  • Figura 3. Primera prueba realizada al codigo 2 [12]

    Figura 4. Segunda prueba realizada al codigo 1 [12]

    II-B. Media intensidad lumnica

    Figura 5. Prueba realizada al codigo 1 [12]

    Figura 6. Primera prueba realizada al codigo 2 [12]

    II-C. Alta intensidad lumnica

    Para la realizacion de las anteriores pruebas se tuvo encuenta la intensidad lumnica, bajo cada una de las condicionesy donde se tuvo como instrumento de medida para dicha laborun luxo-metro donde nos arrojo los siguientes datos.

    Como resultado final del desempeno a los dos codigosexpuestos por los companeros Jhon Leon y Henry Valderrama,se reflejo que la cantidad de luz fue un factor muy importanteen el reconocimiento de las figuras, ya que la camara expuesta

    Figura 7. Segunda prueba realizada al codigo 2 [12]

    Figura 8. Primera prueba realizada al codigo 1 [12]

    en este trabajo presentaba un baja resolucion la cual impedaque se diera una mejor respuesta a dicha labor; como se puedever en las imegenes tomadas a partir de la pruebas se pudodeterminar que el mejor ambiente para el reconocimiento deestas figuras fue a bastante luz, y con la ayuda del luxometrose determina una intensidad lumnica de 730[lx].

    Como consideracion a partir de lo obtenido anteriormentese parte de primer codigo expuesto por los companeros JhonLeon y Henry Valderrama, ya que presenta un mejor recono-cimiento y deteccion de la figura y ademas nos permite hacerun mejor rediseno e implementacion de los codigos. Tambien

    Figura 9. Segunda prueba realizada al codigo 1 [12]

    Figura 10. Primera prueba realizada al codigo 2 [12]

  • Figura 11. Segunda prueba realizada al codigo 2 [12]

    Tabla I

    se debe tener en cuenta, que la camara para dicha labor debepresentar una mejor resolucion y campo de vision, para poderhacer un mejor reconcomiendo bajo cualquier ambiente.

    III. METODOLOGIA

    El sistema de procesamiento, se ensamblo con el fin detener una plataforma de bajo costo para realizar las tareas dereconocimiento y representacion visual de figuras geometrica.Las partes que lo componen son:

    A continuacion se evidencian los pasos a seguir para dar ala construccion del prototipo:

    III-A. Sistema embebido (Arduino Uno)

    Arduino/Genuino uno es una tarjeta de microcontroladorbasada en la ATmega328P. Esta tiene 14 pines de entra-das/salidas digitales (6 de estas pueden ser usadas comosalidas PWM), 6 entradas analogicas, un cuarzo de cristal de16 MHz, una conexion USB, un conector de alimentacion,un encabezado ICSP y un boton de reinicio. Contiene todolo necesario para soportar el microcontrolador; simplementepuede ser conectado a un ordenador por puerto USB o con unadaptador de CA a CC o una batera para empezar [14]. Estees programado mediante una IDE, Software especialmente deArduino, el cual su lenguaje se basa en codigo C/C++. Seenlaza con AVR Libc y permite el uso de cualquiera de susfunciones [15].

    III-B. Modulo de camara para (Dispositivo Android concamara IP)

    Con el avance de las tecnologas hoy en da, la camara IP seha vuelto una herramienta muy funcional en proyectos dondeimplique el uso de ello, ademas se ha desarrollado para quesea una tarea muy sencilla de implementar, y cuenta con unagran cobertura en los dispositivos de gama baja ya que escompatible con versiones de Android 1.6 en adelante.

    Figura 12. Plantilla del plano(AutoCAD)

    III-B1. Instalacion del App IP Webcam: Primero se debedescargar la aplicacion desde la tienda Play Store que se en-cuentra en el siguiente enlace, ademas, es completamente gra-tis en cualquier dispositivo. hrulefill//play.google.com/store/apps/details?id=com.pas.webcam&hl=es 419 Despues de te-ner realizado el primer paso, es necesario que el dispositivoy en el PC se encuentres conectados a una misma red WIFI,para poder realizar la comunicacion. Se puede observar que laaplicacion, cuenta con una gran variedad de configuracionesentre las mas importantes se tiene, permitir elegir la resolucionde video, la calidad de imagen, entre otras. Todo esto dependede la necesidad para la que se vaya a usar, una vez implemen-tado esto, solo se le da en la opcion de iniciar servido, el cualnos genera una direccion IP del tipo http://192.168.0.#:8080/,el cual se debe implementar en el codigo de Matlab por poderhacer la reproduccion de imagen en tiempo real para nuestrocaso.

    III-C. Desarrollo de los algoritmos de procesamiento deimagenes

    Para la realizacion del algoritmo de procesamiento deimagenes el cual nos permite hacer el facil reconocimientode figuras geometricas basicas, en las cuelas encontramos eltriangulo, circulo, rectangulo y cuadrado. Dicho algoritmo serealizado bajo el entorno de Matlab, el cual se diseno para quesolo detecta figuras de color azul, sin importar la textura de

    hrulefill//play.google.com/store/apps/details?id=com.pas.webcam&hl=es_419hrulefill//play.google.com/store/apps/details?id=com.pas.webcam&hl=es_419http://192.168.0.##:8080/

  • Figura 13. Partes del prototipo

    Figura 14. Ensamblaje servos [13]

    fondo, as permitiendonos poder realizar un mejor bosquejo yreconocimiento de la figura.

    III-C1. Algoritmo: La deteccion de las figuras consta dehallar una caja rectangular delimitadora para cada region,la cual se ajusta a cada region hallada, as el rectangulodelimitador podra tomar una orientacion con angulo arbitrariogracias a la funcion minbounrect (toolbox de Matlab) y tomaralos siguientes enfoques para cada forma geometrica:

    Para la deteccion del cuadrado se tiene en cuenta larelacion de aspecto entre ancho y alto de la caja rectan-

    Figura 15. Ensamblaje soporte protoboard [13]

    Figura 16. Ensamblaje base principal [13]

    gular hallada gracias a la funcion minboundrect (toolboxde Matlab), la forma del cuadrado es casi proporcionala la forma de la caja rectangular, por tanto se hacenecesario el encontrar la relacion de aspecto ancho/altosea inferior a la unidad, as la relacion de aspecto seraalto/ancho, lo cual hace la aproximacion al valor metricodel cuadrado, por otro lado al ser comparado con lasotras formas geometricas, este sera cercano a la unidaden aproximadamente un 80 por-ciento.Para la deteccion del triangulo se tiene en cuenta el areade la caja rectangular hallada y a su vez el area que ocupala region de forma de triangulo, por tanto se asigna larelacion metrica del triangulo como area de la region /area de la caja rectangular, el espacio ocupado por estaforma no sera superior al 60 por-ciento con respecto alespacio ocupado por el area de la caja rectangular, as setomara como valores inferiores al 60 por-ciento la formageometrica del triangulo, que a su vez servira para sercomparada con las otras formas geometricas.La deteccion del crculo toma en cuenta la relacionmetrica de permetro2/4*pi*area, aplicada en la formadel crculo, para las regiones halladas esta relacion resulta

  • Figura 17. Ensamblaje base rueda loca [13]

    Figura 18. Ensamblaje ruedas [13]

    valores numericos superiores a la unidad, por lo tanto, esmayor a la proporcion de ancho/alto de la caja rectangu-lar hallada y a su vez el area ocupada por la misma, asse diferenciara de las otras formas geometricas.La deteccion del Rectangulo se tiene en cuenta su grancercana conforme a la relacion de aspecto de alto/anchode la caja rectangular hallada, as el valor proporcionalsera muy cercano a la unidad o en si sera la unidad,por lo tanto, de esta manera se diferenciara de las otrasformas geometricas.

    III-D. Implementacion

    El funcionamiento de la aplicacion desarrollada se muestraen el siguiente flujograma y de la imagen le siente imagenreal:

    III-E. Ajuste y/o comparacion al desempeno de algoritmopara deteccion de figuras geometricas

    En base a las pruebas realizadas en el numeral 5 del presenteartculo, y a su vez lo expuesto en el artculo de John Leony Henry Valderrama [12], se toman en cuenta los siguientestems como base en el ajuste y/o comparacion en pro de mejorapara la deteccion de figuras geometricas basicas:

    Figura 19. Ensamblaje ruedas en base principal [13]

    Figura 20. Ensamblaje rueda loca [13]

    III-E1. Sistema embebido: Uno de los aspectos atacadopara la mejora fue el dispositivo utilizado para el proceso devisualizacion del entorno real, para el caso de Leon y Valderra-ma [12], fue utilizado el Raspberry Pi Model B +, ofreciendolimitaciones en su dispositivo periferico de visualizacion comolo es su camara de 5 Megapxeles, para nuestro caso tenemoscomo dispositivo de visualizacion la camara del Smartphone,la cual gracias a la aplicacion utilizada (IP Webcam) permiteel aprovechamiento de la resolucion de la camara entre los8 Megapxeles hasta los 13 Megapxeles, pero, el ajuste detamano de pantalla para el vdeo permite una mejor lecturapara efectuar el procesamiento de imagen debido.

    III-E2. Algoritmo:Formato de color imagen El formato de imagen es uno de los preambulos importan-

    tes para el procesamiento de imagen, permiten algunasfacilidades en operaciones que minimizan la busquedade lo que necesitamos o a su vez transformar la imagenpara conveniencia. Para el caso de Leon y Valderrama[12], se utilizo HSV y para nuestro caso el formato RGB,para el formato RGB se toma en cuenta la intensidad delos colores primarios de la luz [16], para el HSV es ladegradacion en de los colores vistos por el RGB pero en

  • Figura 21. Ensamblaje soporte rueda loca [13]

    Figura 22. Ensamblaje rueda loca en base principal[13]

    terminos de Matiz (dado en grados) y saturacion (dadoen porcentaje) [17]. As permite en alguno de los dosformatos escoger el canal de color que desea utilizarsepara tomar una limitacion especfica.

    Operaciones morfologicas Para corregir irregularidades en la imagen, es necesarioutilizar metodos basados en operaciones morfologicas,tales como el erosionado, dilatado y relleno de formasque dan un toque suavizado a la imagen y permitiendoque la busqueda se minimice, para el caso de Leony Valderrama [12], como tambien nuestro caso fueronutilizados los anteriormente mencionados.

    Deteccion de formas(Figuras geometricas basicas) La deteccion de formas vara en las partes, tanto paraLeon y Valderrama, como para nosotros. El enfoque deLeon y Valderrama [12], fue tomado desde los contornos(bordes) de las areas filtradas segun el canal de color, a suvez comparadas con una aproximacion polinomica segunlos contornos encontrados teniendo en cuenta la cantidadde puntas que contena el contorno encontrado, con estoestableca la figura geometrica basica segun corresponda,por otro lado la alternativa de un segundo algoritmo quetomaba en cuenta los contornos pero media la longitudde los contornos encontrados y se comparan con la forma

    Figura 23. Esquema de prototipo [13]

    Figura 24. Prototipo real [13]

    de una circunferencia trazada de forma teorica luegode acuerdo a una comparacion de acuerdo a las areassobrantes se determina que figura geometrica es.Para nuestro caso se tienen en cuenta el etiquetadode regiones o busqueda regiones, las cuales se efectuarelaciones matematicas que se comparan sus resultados

    Figura 25. Pieza cara anterior de soporte para Smartphone [13]

  • Figura 26. Ensamblaje cara anterior Smartphone[13]

    Figura 27. Pieza cara posterior de soporte para Smartphone [13]

    por debajo o por encima de la unidad debido a un mnimorectangulo encontrado para cada region, con similitud alo utilizado por Leon y Valderrama [12], en su segundoalgoritmo, por tanto con unos valores de comparacionque se encuentran por debajo a la unidad, a excepcionde una de las figuras, se determina el tipo de figura

    Figura 28. Ensamblaje cara posterior Smartphone [13]

    Figura 29. Soporte de cara anterior y posterior [13]

    Figura 30. Prototipo real final [13]

    encontrada, esto fue tratado en el numeral III-C delpresente artculo.

    Software utilizado Es importante utilizar un software robusto con la capa-cidad de efectuar un procesamiento de imagen de unamanera efectiva, para el caso de Leon y Valderrama [12],se soportaron en Python y la API de OPENCV 2.4.11(plataformas de procesamiento robustas) sobre el sistemaoperativo Raspbian que utiliza el sistema embebidoRaspberry Pi Model B+ , esto torno dificultad en elprocesado de imagen en tiempo real por las plataformasantes mencionadas, ya que su velocidad de respuestaes algo lenta y que a su deja incompleta su estado

    Figura 31. Sistema embebido Arduino/Genuino Uno [14]

  • Deteccion Cuadrado

    Figura 32. Aproximacion de deteccion forma geometrica cuadrado

    Deteccion Triangulo

    Figura 33. Aproximacion de deteccion forma geometrica triangulo

    de deteccion de los algoritmos desarrollados por ellos.Para nuestro caso, y como estado de mejora, fue lautilidad del sistema operativo Android utilizada por losSmartphones permitiendo la instalacion de la aplicacionadecuada para darle utilidad a la camara del mismo y a suvez aprovechada por la plataforma robusta de MATLAB,

    Deteccion Crculo

    Figura 34. Aproximacion de deteccion forma geometrica crculo

    Deteccion Rectangulo

    Figura 35. Aproximacion de deteccion forma geometrica rectangulo

    Figura 36. Imagen real

    aca se hace del aprovechamiento de esta conforme a lostoolbox adecuados para el procesamiento de imagenes yque a su vez son ejecutados en el ordenador (compu-tador) y los resultados esperados se veran en el mismo,tornando as una mejor respuesta gracias a la velocidadde procesamiento.

    Software utilizado Es importante utilizar un software robusto con la capa-cidad de efectuar un procesamiento de imagen de unamanera efectiva, para el caso de Leon y Valderrama [12],se soportaron en Python y la API de OPENCV 2.4.11(plataformas de procesamiento robustas) sobre el sistemaoperativo Raspbian que utiliza el sistema embebidoRaspberry Pi Model B+ , esto torno dificultad en elprocesado de imagen en tiempo real por las plataformasantes mencionadas, ya que su velocidad de respuestaes algo lenta y que a su deja incompleta su estadode deteccion de los algoritmos desarrollados por ellos.Para nuestro caso, y como estado de mejora, fue lautilidad del sistema operativo Android utilizada por losSmartphones permitiendo la instalacion de la aplicacionadecuada para darle utilidad a la camara del mismo y a suvez aprovechada por la plataforma robusta de MATLAB,aca se hace del aprovechamiento de esta conforme a lostoolbox adecuados para el procesamiento de imagenes yque a su vez son ejecutados en el ordenador (compu-tador) y los resultados esperados se veran en el mismo,tornando as una mejor respuesta gracias a la velocidadde procesamiento

    Efectos del entorno(Luminosidad) El desempeno del algoritmo de Leon y Valderrama[12], evaluado en el numeral 5 del presente artculo

  • Figura 37. Tratado de imagen

    Figura 38. Imagen RGB,canal azul

    mostro irregularidad conforme a la intensidad luminosadel entorno o espacio en que se efectua la deteccion delalgoritmo realizado por la Raspberry Pi, su detecciones optima a mayor luminosidad en mediana y poca sedesmejora la deteccion, a su vez la deteccion se limita a3 o 4 areas encontradas. Para nuestro caso, utilizamos unumbral promedio en el canal de los azules del formatoRGB, el cual se comporta de una manera estable amediana y alta intensidad de luz, por otro lado, la

    Figura 39. Imagen binarizada

    Figura 40. Imagen binarizada invertida

    deteccion de regiones nos ayuda a obtener mas cantidadde formas detectadas las cuales nos facilitan la busquedade la figura geometrica basica deseada.

    IV. EVALUACION DE DESEMPENO

    El algoritmo implementado en la plataforma de Matlab, ycon ayuda de la camara IP Webcam instalado en el Smartpho-ne, se logro el reconocimiento de las figuras deseadas, comose ilustra en las siguientes imagenes recolectadas.

    IV-A. Imagen final, forma uno

    IV-B. Imagen final, forma dos

    Se observa que el reconocimiento de las figuras de laforma uno pinta de un color aleatoria de las regiones en-contradas, para este caso corresponde a figuras geometricasespecificandonos el nombre de cada una, y de la segundaforma realiza un bordeado sobre la imagen de color verdey tambien indicandonos el nombre de cada una de ellas seguncondiciones.

    Para probar el margen de error se realizaron pruebas endistintos ambientes y fondos, cuyos resultados se evidencianen la siguiente tabla:

  • Figura 41. Imagen erosionada

    Figura 42. Imagen dilatada

    V. CONCLUSIONES

    Se diseno un prototipo de bajo costo muy versatil, el cualnos permite realizar un mejor bosquejo y reconocimientode las figuras geometricas deseadas, ademas nos permitedar y brindar soluciones en la vida diaria, sin necesidadde la ayuda del hombre.La estrategia de reconocimiento de figuras geometricasen tiempo real, esta basada a partir de un mnimorectangulo delimitador, se forma a partir de las regionesencontradas, el cual nos permite determinar la figura queesta en ella gracias a la funcion minbounrect (toolboxde Matlab), es util cuando el contorno de la figura es

    Tabla II

    Figura 43. Imagen rellenada, lista para ser etiquetada

    Figura 44. Etiquetado de imagen

    continuo, es decir no hay lneas cortadas y funciona pararegiones cerradas.Se logro dar cumplimiento a cada uno de los objetivosestipulados en el documento, brindando una mejora en elreconocimiento de figuras geometricas del algoritmo deJhon Jairo Leon Aparicio y Henry Giovanny Valderrama[12].Para evidenciar ello se tiene en cuenta las siguientestablas con respecto al tiempo de respuesta conforme a

  • Figura 45. Reconocimiento de formas geometricas

    la figura geometrica encontrada: Algoritmos Jhon Leony Henry Valderrama [12].

    Tabla III

    Respuesta efectuada por nuestro algoritmo.

    Tabla IV

    Como se evidecio en las tablas 3-4, se determina quenuestro algoritmo es un 20 porciento mas efectivo ensu velocidad de respuesta para la deteccion de figurasutilizando Matlab con respecto a Python y OpenCVutilizado por nuestros companeros. Con respecto a laRaspberry, nuestro algoritmo es aproximadamente un 80

    Figura 46. Crculo

    Figura 47. Triangulo

    porciento a 85 porciento mas eficiente en su velocidadde respuesta para la deteccion de figuras.Los tiempos de respuesta fueron medidos gracias a lasfunciones de cronometro que pose cada una de lasplataformas software utilizadas, tanto en nuestro casocomo en el de los companeros Leon Y Valderrama.Por otro lado, gracias a la prueba de desempeno delos algoritmos de Leon y Valderrama evidenciado enla seccion II del presente artculo y adicionalmente laevaluacion de desempeno de nuestro algoritmo dado enla seccion IV del presente artculo muestra que la tota-lidad de regiones detectadas por los companeros Leon yValderrama no es completa, all nuestro algoritmo cumple

  • Figura 48. Rectangulo

    Figura 49. Reconocimiento de tres figuras

    el criterio de detectar la totalidad de regiones necesarias.Ademas, nuestro algoritmo cumple con detectar la figuracon un angulo arbitrario, notorio en las posiciones deltriangulo y el rectangulo, los cuales no son evidentes enlos algoritmos de Leon y Valderrama.Gracias a la posibilidad de comunicacion entre la pla-taforma MATLAB y el sistema embebido ARDUINOUNO, es posible generar una alternativa de navegacionpara el prototipo de robot autonomo utilizado los ele-mentos complementarios del sistema embebido, talescomo sensores de proximidad e intercomunicador vaBluetooth.

    Figura 50. Reconocimiento de seis figuras

    Figura 51. Crculo

    Figura 52. Triangulo

    VI. TRABAJO FUTURO

    VI-A. Alternativa de sistema de navegacion para prototipode robot autonomo

    VI-B. Accesorios posibles para tener en cuenta en sistemade navegacion

    La utilidad del modulo de bluetooth HC-05 de Arduino,puede generar comunicacion entre Matlab y la Tarjeta ArduinoUNO, gracias a la comunicacion de puerto serial que sirvecomo medio para condicionar la posible accion de desplaza-miento deseada para prototipo de robot autonomo.

  • Figura 53. Rectangulo

    Figura 54. Reconocimiento de tres figuras

    VI-C. Para otros lenguajes de programcion

    La deteccion de formas geometricas puede implementarsesu algoritmo en otros posibles lenguajes amigables con elsistema operativo Android, tal podra ser el caso en Javateniendo los conocimientos necesarios en tal lenguaje.

    VII. RECONOCIMIENTOS

    Se agradece y reconoce a la Universidad Distrital FranciscoJose de Caldas en general, ademas al grupo de investigacionARMOS, el cual nos brindo su colaboracion y apoyo durantela realizacion del proyecto.

    Figura 55. Reconocimiento de seis figuras

    Figura 56. Flujograma inicial alternativa de navegacion

    REFERENCIAS

    [1] M. Samadi and M. Othman, Global path planning for autonomousmobile robot using genetic algorithm, 2013 International Conferen-ce on, Signal-Image Technology & Internet-Based Systems (SITIS),no. 14064378, pp. 726 730, 2013.

    [2] M. Lee, L. Feng, E. Yeh, and I. Ivan, Visual sensor integration onservoing the autonomous mobile robot, 2013 IEEE/SICE InternationalSymposium on, System Integration (SII), no. 14198191, pp. 185 189,2013.

    [3] C. Tsai, C. Chuang, L. Lu, and W. Wang, Machine-vision based obsta-cle avoidance system for robot system, 2013 International Conferenceon, System Science and Engineering (ICSSE), no. 13840626, pp. 273 277, 2013.

    [4] C. Louis and M. Ricky, Global path planning in mobile robot usingomnidirectional camera, 2011 International Conference on, ConsumerElectronics, Communications and Networks (CECNet), no. 12055341,pp. 49864989, 2011.

    [5] A. Schoellig, T. Barfoot, and A. Pfrunder, A proof-of-concept demons-tration of visual teach and repeat on a quadrocopter using an altitudesensor and a monocular camera, 2014.

    [6] H. Ponte, M. Queenan, C. Gong, and C. Mertz, Visual sensing fordeveloping autonomous behavior in snake robots, 2014 IEEE Interna-

  • Figura 57. Flujograma alternativo de navegacion(Obstaculos)

    tional Conference on, Robotics and Automation (ICRA), no. 14616810,pp. 2779 2784, 2014.

    [7] M. Aslan, H. Abdelmunim, and A. Farang, Probabilistic shape-basedsegmentation using level sets, Computer Vision Workshops (ICCVWorkshops), 2011 IEEE International Conference on, no. 12504040,pp. 182194, 2012.

    [8] S. Chegtian, W. Keyong, and Z. Lian, The image processing andtarget identification of laser imaging fuze, Intelligent System andKnowledge Engineering, 2008. ISKE 2008. 3rd International Conferenceon, no. 10441285, pp. 35893594, 2008.

    [9] W. Burger and M. Burge, Digital Image Processing, vol. First Editionof 119. 2008.

    [10] MathWorks, Image processing and computer vision.https://es.mathworks.com/solutions/image-video-processing.html.

    [11] Processing, Images and pixels. https://processing.org/tutorials/pixels/.[12] J. Leon and H. Valderrama, Sistema minimalista embebido de recono-

    cimiento en tiempo real de figuras geometricas. 2016.[13] Instructables, Arduino controlled servo robot (serb).

    http://www.instructables.com/id/How-to-Make-an-Arduino-Controlled-Servo-Robot-SER/.

    [14] A. . G. Products, Arduino/genuino uno.https://www.arduino.cc/en/main/arduinoBoardUno.

    [15] Arduino, Language reference. https://www.arduino.cc/en/Reference/HomePage.[16] Wikipedia, Rgb. https://es.wikipedia.org/wiki/RGB.[17] Wikipedia, Modelo de color hsv..

    Figura 58. Flujograma alternativo de navegacion(Deteccion de figuras)

    IntroduccinFormulacin del problemaBaja intensidad lumnicaMedia intensidad lumnicaAlta intensidad lumnica

    MetodologaSistema embebido (Arduino Uno)Mdulo de cmara para (Dispositivo Android con cmara IP)Instalacin del App IP Webcam

    Desarrollo de los algoritmos de procesamiento de imgenes Algoritmo

    ImplementacinAjuste y/o comparacin al desempeo de algoritmo para deteccin de figuras geomtricasSistema embebidoAlgoritmo

    Evaluacin de desempeoImagen final, forma unoImagen final, forma dos

    ConclusionesTrabajo futuroAlternativa de sistema de navegacin para prototipo de robot autnomoAccesorios posibles para tener en cuenta en sistema de navegacinPara otros lenguajes de programcin

    ReconocimientosReferencias