DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE...

50
1 Sistema para detección y rastreo de sillas en tiempo real para el robot de servicios Golem –II+ Memoria de proyecto Que para obtener el título en Ingeniero en Mecatrónica Presenta Guadalupe Antonio Castro García Cd. Obregón, Sonora; Diciembre de 2014

Transcript of DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE...

Page 1: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

1

Sistema para detección y rastreo de sillas en

tiempo real para el robot de servicios Golem –II+

Memoria de proyecto

Que para obtener el título en

Ingeniero en Mecatrónica

Presenta

Guadalupe Antonio Castro García

Cd. Obregón, Sonora; Diciembre de 2014

Page 2: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

2

Agradecimientos

A mi señora madre Hildelisa Garcia Herrera, que ha hecho hasta lo imposible para

que pudiera seguir adelante en el camino de la vida, por su apoyo y amor

incondicional que siempre me ha brindado. Porque ha sido y será un ejemplo a

seguir y espero siempre se sienta tan orgullosa de mi como yo siempre lo he

estado de usted. Gracias madre mía.

A mi hermano Alejandro con el que he compartido casi toda mi vida, gracias por

compartir tantos bueno y malos momentos conmigo, gracias por apoyarme cuando

lo he necesitado.

A mi pequeño hermano Cruz Alberto, por ser una persona tan noble, talentosa y

buen amigo. Recuerda que yo siempre estaré para ti cuando lo necesites pequeño

saltamontes.

A mis amigos de la universidad, David, Gildardo, José Luis, Héctor e Irving con los

que compartí grandes experiencias durante toda esta gran travesía. Por todas las

alegrías, pelas, risas, enojos y enseñanzas que vivimos juntos. Nunca los olvidaré

nenas.

A mi asesor el Maestro Jose Manuel Campoy Salguero que me apoyado y

motivado para concluir esta etapa de mi vida con éxito.

Por último pero no menos importante, al Dr. Ivan Vladimir Meza Ruiz y a todos mis

compañeros del verano de investigación Alfredo, Héctor, Rocela, Karla, Raúl,

Guillermo, Frine, Adrian, Fernando el grande y Fernando el chico con los cuales

aprendí y compartí buenos momentos desarrollando este proyecto, experiencias

que nunca olvidaré.

Page 3: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

3

Índice Tabla de Figuras .................................................................................................................. 4

Capítulo I. Introducción ....................................................................................................... 6

1.1.- Antecedentes ........................................................................................................... 6

1.2.- Planteamiento del problema .................................................................................. 8

1.3.- Justificación .............................................................................................................. 9

1.4.- Objetivo ..................................................................................................................... 9

1.5.- Delimitaciones ........................................................................................................ 10

1.6.- Limitaciones ........................................................................................................... 10

Capítulo II. Método ............................................................................................................. 11

2.1.- Sujeto ...................................................................................................................... 11

2.2.- Materiales ............................................................................................................... 12

2.3.- Procedimiento ........................................................................................................ 13

2.3.1.- Estudio del estado del arte. .......................................................................... 14

2.3.2.- Recolección de la base de datos. ................................................................ 14

2.3.3.- Etiquetación de la base de datos. ............................................................... 14

2.3.4.- Creación de Modelos. .................................................................................... 15

2.3.5.- Pruebas. ........................................................................................................... 16

2.3.6.- Resultados. ...................................................................................................... 16

Capitulo III. Desarrollo ....................................................................................................... 17

3.1.- Recolección de base de datos para el aprendizaje del sistema detector. ... 17

3.2.- Etiquetación de la base de datos. ...................................................................... 24

3.3.- Creación de modelos. ........................................................................................... 35

Capitulo IV. Resultados ..................................................................................................... 43

Capítulo V. Conclusiones.................................................................................................. 47

Referencias Bibliográficas ................................................................................................ 49

iii

Page 4: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

4

Tabla de Figuras

Figura 2 1. Procedimiento para la elaboración del proyecto....................................... 13

Figura 2 2. Diagrama del proceso de elaboración de modelos. ................................. 15

Figura 3 1. Fotografía con demasiada iluminación....................................................... 18

Figura 3 2. Fotografía borrosa. ........................................................................................ 19

Figura 3 3. Ninguna de las sillas muestra todas sus partes visibles en la fotografía.

.............................................................................................................................................. 19

Figura 3 4. La silla que esta al centro de la fotografía muestra todas sus partes. .. 20

Figura 3 5. Silla con todas sus partes y en diferentes ángulos. ................................. 20

Figura 3 6. De cuatro patas, asiento, respaldo y color café. ....................................... 21

Figura 3 7. De cuatro patas, asiento, respaldo, apoya manos y color azul. ............. 21

Figura 3 8. De rueditas, asiento, respaldo y color azul. ............................................... 22

Figura 3 9. De rueditas, asiento, respaldo, apoya manos y color azul. .................... 22

Figura 3 10. De rueditas, asiento, respaldo, apoya manos y color negro. ............... 22

Figura 3 11. Paredes y muebles del laboratorio. .......................................................... 23

Figura 3 12. Pasillos de las instalaciones. ..................................................................... 24

Figura 3 13. Personas en interacción con Golem. ....................................................... 24

Figura 3 14. Librerías utilizadas y argumentos de entrada del programa. ............... 25

Figura 3 15. Lectura de imágenes, modificación de características y

almacenamiento. ................................................................................................................ 26

Figura 3 16. Librerías utilizadas, lectura de imágenes y coordenadas. .................... 28

Figura 3 17. Movimiento de la etiqueta (mouse), salir del programa de etiquetación

(tecla escape o “q”). ........................................................................................................... 28

Figura 3 18. Adición del recuadro rojo y azul (tecla control izquierdo). .................... 29

Figura 3 19. Incremento (tecla space) y decremento (tecla Shift izquierdo) de la

etiqueta. ............................................................................................................................... 29

Figura 3 20. Recuadro de confirmación (tecla Alt izquierdo) y eliminación de

recuadro rojo y azul (tecla “x” y “s” respectivamente). ................................................. 30

Figura 3 21. Para avanzar o retroceder en las imágenes a etiquetar. ...................... 30

Figura 3 22. Almacenamiento de etiqueta y coordenadas de la misma (tecla enter).

.............................................................................................................................................. 31

Figura 3 23. Etiqueta para sillas de rueditas, asiento, respaldo y color azul. .......... 31

Figura 3 24. Para silla de cuatro patas, asiento, respaldo, apoya manos y color

azul. ...................................................................................................................................... 32

Figura 3 25. Etiqueta para silla de rueditas, asiento, respaldo, apoya manos y color

negro. ................................................................................................................................... 32

iv

Page 5: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

5

Figura 3 26. Etiqueta para silla de rueditas, asiento, respaldo, apoya manos y color

azul. ...................................................................................................................................... 33

Figura 3 27. Etiqueta para silla de cuatro patas, asiento, respaldo y color café. .... 33

Figura 3 28. Etiquetación de fotografías negativas (1). ............................................... 34

Figura 3 29. Etiquetación de fotografías negativas (2). ............................................... 34

Figura 3 30. Configuración para el descriptor HOG de una imagen. ........................ 35

Figura 3 31. Configuración del SMV para un conjunto de objetos. ........................... 36

Figura 3 32. Librerías utilizadas y argumentos de entrada del programa. ............... 36

Figura 3 33. Se abren las etiquetas positivas y se calcula su descriptor HOG. ...... 37

Figura 3 34. Se abren las etiquetas negativas y se calcula su descriptor HOG. ..... 37

Figura 3 35. Entrenamiento y almacenamiento del modelo. ....................................... 38

Figura 3 36. Argumentos de entrada del programa y configuración del descriptor

HOG. .................................................................................................................................... 39

Figura 3 37. Se carga el modelo entrenado y se sincroniza con el descriptor HOG.

.............................................................................................................................................. 39

Figura 3 38. Se carga la imagen y se buscan las sillas con el barrido y reducción

de la imagen. ...................................................................................................................... 39

Figura 3 39. Se dibujan sobre la imagen rectángulos de las áreas localizadas. ..... 40

Figura 3 40. Ejemplo del modelo del sistema detector de sillas sin errores (1). ..... 40

Figura 3 41. Ejemplo del modelo del sistema detector de sillas sin errores (2). ..... 41

Figura 3 42. Ejemplo del modelo del sistema detector de sillas con errores. .......... 41

Figura 4 1. Modelo de detección aplicado al robot de servicios detectando

correctamente. .................................................................................................................... 44

Figura 4 2. Ejemplo del modelo con deficiencia al detectar sillas por la falta de

ejemplos (1). ....................................................................................................................... 45

Figura 4 3. Ejemplo del modelo con deficiencia al detectar sillas por la falta de

ejemplos (2). ....................................................................................................................... 46

v

Page 6: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

6

Capítulo I. Introducción

1.1.- Antecedentes

En la actualidad la mayoría de los sistemas electrónicos o mecánicos que se

encuentran funcionando en el ámbito industrial como social, se busca que sean lo

más autónomos posibles, es decir, que sean capaces de responder de la manera

más idónea al tomar una decisión sin tener la necesidad de la intervención

humana. Conforme el avance de la tecnología continúa la independencia de estos

sistemas se hace cada vez más sólida, pero llegado a este punto se plantea la

siguiente pregunta ¿Las máquinas pueden llegar a ser lo suficientemente

inteligentes como los seres humanos?.

El científico y matemático Alan Turing en la década de los 50’s preguntó, ¿Una

máquina puede pensar?, quién apoyado de su artículo “Computing Machinery and

Intelligence” plantea la posibilidad de que una máquina pueda imitar el

comportamiento de la mente humana, en este mismo artículo se propone el

conocido “Test de Turing” orientado a demostrar si una determinada máquina es

Page 7: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

7

inteligente o no, aportaciones que lo llevaron a ser reconocido como padre de la

inteligencia artificial.

Este artículo fue el catalizador que oriento el conocimiento acumulado con

anterioridad en otras disciplinas llevando al nacimiento de una ciencia, la

inteligencia artificial, pero no fue hasta el año de 1956 durante la conferencia

denominada “Dartmouth Summer Research Conference on Artificial Intelligence”

impartida por los investigadores Marvin L. Minsky, Claude E. Shannon, Herber

Simon y Allen Newell que esta nueva ciencia fuera bautizada con dicho nombre.

Una vez abierta la puerta a este nuevo campo de la tecnología el desarrollo e

investigación no se hizo esperar, pero debido a la época en que esto estaba

siendo planteado, se carecía de financiamiento, las capacidades computacionales

y conocimientos eran bastante escasos, los sistemas eran costosos de mantener e

incapaces de aprender cometiendo grandes errores, esto se mantuvo así por casi

cuatro décadas. A finales de los años 80´s y principios de los años 90´s se

presentaron los primeros avances significativos en la creación de algoritmos de

búsqueda, lenguaje natural, creación de máquinas capaces de conversar,

interpretar imágenes y razonamiento como seres humanos.

La propagación obtenida por la inteligencia artificial como aplicación ha sido tal

que ya se encuentra en ramas tan diversas como lo son robótica, procesamiento

de lenguaje natural, videojuegos, lingüística computacional, sistemas de apoyo de

decisión, prototipos informáticos, seguridad, procesos industriales e incluso

medicina.

Instituciones académicas también han incursionado en esta nueva rama de la

investigación. Tal es el caso de la Universidad Autónoma de México, la UNAM es

líder nacional en investigación, formación de recursos humanos y difusión en

computación realizando aportes teóricos y prácticos a las ciencias cognitivas e

inteligencia artificial, reconocimiento de patrones, vida artificial, diseños

Page 8: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

8

combinatorios, sistemas complejos y procesamiento de imágenes. Estos avances

han sido realizados dentro del Departamento de Ciencias de la Computación en el

Instituto de Investigaciones de Matemáticas Aplicadas y de Sistemas (IIMAS) de la

UNAM donde se cuentan con laboratorios con el equipo necesario para el

desarrollo de nuevas tecnologías, uno de estos laboratorios es “Golem: Diseño y

construcción de robots de servicio” o “Grupo Golem” mismo nombre que posee el

robot de servicio de IIMAS, Golem.

Grupo Golem se enfoca en la investigación del modelado cognitivo de la

interacción humano-sistema computacional aplicado a los robots de servicio. Un

robot de servicio, según la Federación Internacional de Robótica (IFR) “es un robot

que opera de forma parcial o totalmente autónoma para realizar servicios útiles

para el bienestar de los humanos”. De acuerdo a esta definición el equipo de

trabajo de grupo Golem se centró en el desarrollo de habilidades domésticas y de

servicios de Golem obteniendo como resultado que este fuera capaz de mantener

conversaciones sencillas, entendimiento de comando, reconocimiento de voz en

español, y con sistemas de visión es capaz de dar una “visita guiada” a través de

carteles de los proyectos de investigación del departamento.

Se busca que Golem sea capaz de interactuar con el entorno físico de una manera

más natural aprendiendo de manera autónoma de la información constante que

recibe por los diferentes dispositivos de entrada que posee.

1.2.- Planteamiento del problema

Un robot de servicio tiene que interactuar con muchos cambios físicos en entornos

complejos, ya sean personas, objetos fijos, objetos móviles en habitaciones, zonas

urbanas, áreas verdes, etc. Elementos proporcionan información poco

estructurada y muy variante en el tiempo. En muchas situaciones, el robot debe

interactuar directamente con estos elementos, de los cuales tiene que aprender en

un corto periodo de tiempo mientras se realiza la interacción para poder después

identificarlos si así lo requiere la tarea.

Page 9: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

9

Dentro del entorno de trabajo actual de Golem los principales elementos de

interacción que pudieran presentarse van desde el cruce de personas hasta

muebles como sillas o mesas de trabajo.

Por lo cual surge la interrogante ¿Qué se requiere hacer para crear un sistema

que ayude al robot de servicios Golem a identificar y seguir objetos de interés de

manera autónoma aprovechando los sistemas de visión que este posee?

1.3.- Justificación

El desarrollar un sistema que contribuya a la localización y rastreo de objetos

específicos para Golem conducirá a mejorar la interacción que el robot tiene con el

entorno, reducirá el tiempo de respuesta en la toma de decisiones una vez

encontrado con el elemento a interactuar, realizará en un tiempo menor las tareas

que se le planteen, se contará con un análisis visual más completo y robusto,

destacando el abrir la posibilidad para el desarrollo de nuevas habilidades del

robot.

La manera en que Golem se traslada dentro de las instalaciones de IIMAS se ve

fuertemente obstaculizada principalmente por sillas que por el hecho de ser un

laboratorio estos son los principales elementos que están en constante

movimiento, por lo tanto si el robot pudiera ver y seguir estos elementos buscaría

la manera de evadirlos o evitarlos.

Al no crear dicho sistema de localización y rastreo para el robot se verá

fuertemente afectada la interacción que tiene, llegando al punto de no realizar las

tareas que se planteen.

1.4.- Objetivo

Desarrollar un sistema de detección de sillas capaz de localizar y rastrear al objeto

mediante un sistema de visión y algoritmos computacionales para el robot de

servicios Golem-II+.

Page 10: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

10

1.5.- Delimitaciones

El sistema en su última instancia será capaz de realizar las siguientes tareas:

I. Será capaz de detectar dentro del entorno visual que el robot de servicios

posea los diferentes tipos de sillas que existan en el laboratorio.

II. Las sillas que será capaz de identificar serán de las siguientes

características:

De cuatro patas.

De base con llantitas.

Con o sin apoyabrazos.

Color indistinto.

III. Una vez localizada la o las sillas, el sistema será capaz de seguir su cambio

de posición o ubicación hasta donde el campo de visión se lo permita.

1.6.- Limitaciones

Este proyecto fue realizado durante mi estancia de verano científico en el Distrito

Federal, se contó con poco tiempo para desarrollar un sistema confiable y robusto.

Además el robot de servicios es exclusivo del Instituto de Investigaciones de

Matemáticas Aplicadas de la Universidad Autónoma de México por lo que es poco

probable continuar con las pruebas del sistema desarrollado estando en el Instituto

Tecnológico de Sonora.

Page 11: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

11

Capítulo II. Método

2.1.- Sujeto

El presente proyecto está dirigido a la comunidad científica que se encuentre

interesada en el tema, ya sea para investigación o estudio.

El responsable del proyecto es el Doctor Ivan Vladimir Meza Ruiz, Ingeniero en

Computación de la Facultada de Ingeniería – UNAM (1996), Maestro en Ciencias

Especialidad en Procesamiento de Lenguaje Natural en la Universidad de

Edimburgo (2003), Doctorado en Sistemas de Diálogo en la Universidad de

Edimburgo (2006) y cuyas líneas de investigación son:

- Inteligencia Artificial.

- Lingüística Computacional.

- Procesamiento de Lenguaje Natural.

- Aprendizaje Automático.

Page 12: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

12

- Text Mining.

- Patrones de Reconocimiento.

- Recuperación de Información.

- Reconocimiento de Voz.

2.2.- Materiales

Los distintos elementos empleados para el desarrollo del presente proyecto se

mencionan a continuación:

1. Computadora portátil. Para el manejo de los programas requeridos. Algunas

características son: Laptop Dell, Procesador de Intel Core 5 de 1.60GHz, 6

Gb de memoria RAM, Disco duro de 685 Gb, Sistema operativo Windows 8

de 64 bits.

2. Cámara Digital. Para la captura de las fotos que son la base de datos.

3. Herramienta de programación Python 2.7. Software utilizado para la

elaboración de los programas necesarios para la creación del sistema de

localización y rastreo.

4. Bibliotecas extras para Python 2.7. (Pygame, OpenCV, Numpy, Matplotlib).

5. Robot de Servicios Golem. Principal elemento del proyecto el cual

ejecutaba los modelos creados para ver su comportamiento. Algunas

elementos que este contiene son: Arreglos de sonares con ocho sensores

cada uno, dos sensores IR (infrarrojos) al frente, arreglos de sensores al

tacto con cinco sensores cada uno, micrófonos y bocinas, computadora

interna VersaLogic EBX-12, una laptop Dell Precision M4600, LAIDETEC-

IIMAS brazos robóticos, Webcam QuickCam Pro 9000, Cámara Microsoft

Kinect.

Page 13: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

13

6. Herramientas de apoyo. Acceso a internet, presentaciones del académicas

de IIMAS, vídeos.

7. Bibliografía. Se utilizó documentación de los manuales de programas y

libros referentes a la programación y anteriores proyectos de Golem para el

desarrollo de este proyecto.

2.3.- Procedimiento

El procedimiento llevado a cabo para el desarrollo del presente proyecto se

muestra a continuación:

Figura 2 1. Procedimiento para la elaboración del proyecto.

Inicio

Investigación del estado del arte.

Recolección de la base de datos.

Etiquetación de la base de datos.

Creación de Modelos

Pruebas

Resultados

Fin

Page 14: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

14

2.3.1.- Estudio del estado del arte. Para empezar a trabajar con el desarrollo del

sistema detector de sillas para el robot de servicios Golem, primeramente fue

necesario hacer un reconocimiento del robot, así como las técnicas de

programación antes utilizadas para desarrollar las habilidades de esté.

Para ello se recurrió a hacer una investigación bibliográfica en los distintos

artículos, libros y tesis que IIMAS ha desarrollado en base a Golem para así

aprender tanto de la metodología del trabajo así como del software utilizado.

Posteriormente se plantearon problemáticas donde el tema principal es el

aprendizaje automático y cuyo principal objetivo fue crear códigos en el software

de programación Python que solucionan dichos problemas y nos familiarizamos

con el lenguaje que utiliza Python.

2.3.2.- Recolección de la base de datos. El método que se decidió utilizar para

programar a Golem fue aprendizaje automático, el cual consiste en que el sistema

tome decisiones en base a la “experiencia”, dicha experiencia la obtiene en base a

ejemplos dados como lo son las sillas en cada una de las fotografías, una vez

aprendido de los ejemplos tomara la decisión en un futuro de que es silla y que no

lo es.

Para ello se necesita una base de datos de fotos donde haya sillas (fotos

positivas) y una base de datos donde no haya sillas (fotos negativas), estas bases

de datos tienen que ser grande y considerando la mayor cantidad de posibles

casos en los que se podría encontrar el objeto a identificar por lo que se tomaron

alrededor de 5000 fotos tanto positivas como negativas.

2.3.3.- Etiquetación de la base de datos. Este proceso consiste en seleccionar

de manera manual en cada una de las fotos donde se encuentra la silla en cada

una de las fotografías, esto con el fin de indicarle dentro de la programación que

es silla de lo que no lo es y así pueda aprender el sistema. Una vez etiquetada la

Page 15: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

15

silla se renombraba para mantener un estándar de las imágenes que el sistema

utilizaría.

2.3.4.- Creación de Modelos. Para la elaboración de los modelos se utilizó el

proceso mostrado en la Figura 2. Primero se tomaba un número establecido de las

etiquetas de la base datos (tanto positivas como negativas), se entrenaba al

sistema con el código de programación de Python y así obtener un modelo, se

hacían pruebas a los modelos para comprobar que cumpliera con el objetivo, de

no ser así se agregaban más etiquetas de la base de datos, positivas, negativas o

ambas para mejorar los modelos.

Figura 2 2. Diagrama del proceso de elaboración de modelos.

Número de etiquetas de la

base de datos.

Entrenamiento del modelo

Pruebas del modelo.

¿Cumple con el

objetivo?

Documentación

Si

No

Page 16: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

16

2.3.5.- Pruebas. Al obtener un modelo lo suficientemente confiable, este pasaba a

ser aplicado a Golem para hacer las pruebas suficientes en tiempo real con el

mismo, buscando obtener de manera más concreta como es que el modelo se

comportaba y concluir si este funciona correctamente o es necesario mejorarlo

siguiendo los pasos anteriores.

2.3.6.- Resultados. Después de realizarse las pruebas y correcciones necesarias

para la obtención de un resultado satisfactorio, se procede a realizar la

documentación de cada modelo.

Page 17: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

17

Capitulo III. Desarrollo

3.1.- Recolección de base de datos para el aprendizaje del sistema detector.

La base de datos que el sistema requiere consiste principalmente de dos tipos de

muestras, fotografías de las sillas ejemplo de las que el sistema aprenderá (fotos

positivas) y fotografías del entorno que rodean las sillas sin contener a las mismas

(fotos negativas).

La recolección de las fotos positivas es un paso bastante importante, ya que esto

es lo que define en gran medida la capacidad del sistema para detectar lo que es

una silla de lo que no lo es. Por ello, se propusieron ciertas características que

deberían de poseer las fotografías que contuvieran a las muestras y que se

mencionan a continuación:

No se toman en cuenta para la base de datos fotografías borrosas o con

demasiada iluminación que impedían ver con claridad a la silla.

Page 18: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

18

La silla tiene que estar vacía para considerarse válida, si una persona u

objeto está sobre la misma no se toma en cuenta.

La silla no debe de abarcar más del 50% de la imagen total.

En caso de que dos o más sillas se sobreponían en una fotografía, se toma

en cuenta soló la silla que se visualizaba completamente.

La silla debe contener todas y cada una de sus partes visibles en la

fotografía (patas, asiento, respaldo, apoya brazos).

La silla no debe ser el único elemento contenido en la fotografía.

Las fotografías tomadas a las sillas deben ser de todos los ángulos y

posiciones posibles para cubrir la mayor cantidad de casos que estás

pudiesen presentar.

Ejemplos de una mala toma de fotografías para la base de datos se muestran en

las figuras 3.1, 3.2 y 3.3.

Figura 3 1. Fotografía con demasiada iluminación.

Page 19: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

19

Figura 3 2. Fotografía borrosa.

Figura 3 3. Ninguna de las sillas muestra todas sus partes visibles en la fotografía.

Ejemplos de una buena toma de fotografías positivas para la base de datos se

muestran en las figuras 3.4 y 3.5.

Page 20: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

20

Figura 3 4. La silla que esta al centro de la fotografía muestra todas sus partes.

Figura 3 5. Silla con todas sus partes y en diferentes ángulos.

Otro aspecto importante de la base de datos es la cantidad de muestras que debe

poseer. Por lo tanto, además de que las fotografías deben tener “calidad”

respetando las características antes mencionadas, también se busca que haya

cantidad de las mismas.

Page 21: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

21

Como el objetivo del proyecto es que el robot de servicios “Golem” fuera capaz de

detectar las sillas que se encuentran en su entorno de trabajo, era necesario tomar

en cuenta cada una de ellas para la base de datos. Dentro de IIMAS se cuentan

con cinco tipos distintos de sillas. Las características que poseen cada una de

ellas entre sí, es muy similar pero con pequeñas variaciones, a continuación se

describe cada una de ellas, en las figuras 3.6, 3.7, 3.8, 3.9 y 310.

Figura 3 6. De cuatro patas, asiento, respaldo y color café.

Figura 3 7. De cuatro patas, asiento, respaldo, apoya manos y color azul.

Page 22: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

22

Figura 3 8. De rueditas, asiento, respaldo y color azul.

Figura 3 9. De rueditas, asiento, respaldo, apoya manos y color azul.

Figura 3 103. De rueditas, asiento, respaldo, apoya manos y color negro.

Page 23: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

23

Una vez definido cada ejemplo del cual el sistema tendría que ser capaz de

aprender se inició con la recolección de las muestras. Se hizo uso de cámaras

digitales o de celulares para la toma de las imágenes. Se tomaron

aproximadamente 1000 fotografías por cada una de las sillas con las

características antes mencionadas, por lo que al final la base de datos de fotos

positivas contó aproximadamente con una cantidad cercana a los 5000

ejemplares.

La recolección de la base de datos de fotos negativas no fue tan rigurosa como la

de fotos positivas, ya que simplemente se buscó que la imagen representase el

área de trabajo de Golem sin contener a los elementos de ejemplo a identificar,

siempre y cuando la imagen no estuviera borrosa o con demasiada iluminación.

Al igual que las fotos positivas fue necesario tener una gran cantidad de

ejemplares de fotos negativas principalmente para que el sistema poseyera un

contraste significativo entre lo que es o no una silla.

Ejemplos de fotografías negativas para la base de datos se muestran en las

figuras 3.11, 3.12 y 3.13.

Figura 3 11. Paredes y muebles del laboratorio.

Page 24: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

24

Figura 3 12. Pasillos de las instalaciones.

Figura 3 13. Personas en interacción con Golem.

3.2.- Etiquetación de la base de datos.

La etiquetación de la base de datos consiste en hacer recortes exclusivamente de

las sillas dentro de las fotografías tomadas en el paso anterior, esto con el fin de

señalarle posteriormente al sistema las características que una silla posee y

aprenda a identificarla.

Page 25: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

25

Pero antes de realizar lo antes mencionado fue necesario estandarizar tanto las

dimensiones como nombres de cada fotografía de la base de datos. Por lo tanto

se creó un programa en Python que hiciera esta tarea. Se propuso que las

dimensiones que deberían de tener las fotografías serían de 640 píxeles de ancho

por 480 píxeles de alto y que el nombre que tendrían sería “silla_(número

correspondiente)”.

Además de las librerías propias del software fue necesario hacer uso de librerías

externas como lo es OpenCV que se enfoca en el procesamiento de imágenes

para aplicaciones de tiempo real, estas mismas librerías fueron utilizadas para la

elaboración de los próximos programas del proyecto. Dicho programa quedó de la

manera como lo muestran las figuras 3.14 y 3.15.

Figura 3 14. Librerías utilizadas y argumentos de entrada del programa.

Page 26: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

26

Figura 3 15. Lectura de imágenes, modificación de características y almacenamiento.

Una vez realizado lo anterior se procedió a realizar los recortes de las sillas de la

nueva base de datos. Para ello se hizo uso del programa de etiquetación de

imágenes que IIMAS ya poseía, cuyo autor es Rogelio Adrián Romero Cordero,

pero antes de ser aplicado a nuestro sistema fue necesario hacer breves

modificaciones y adaptarlo a nuestro proyecto.

El código funciona de la siguiente manera.

El programa lee la primera imagen contenida dentro de la carpeta con todas

las imágenes predispuestas a etiquetar y la muestra al usuario.

Una vez que usuario ve la imagen, este con el cursor del mouse se

posiciona sobre la silla a etiquetar.

Ya sobre la silla, se presiona la tecla espaciadora del teclado (Space) para

hacer crecer el rectángulo (color verde) de 48 por 96 pixeles de la etiqueta

hasta que este rectángulo rodee completamente a la silla sin haberse

excedido demasiado. En caso de que el rectángulo haya sido demasiado

grande, presionando la tecla Shift es posible decrecer el rectángulo de la

etiqueta, de igual manera si la posición de la etiqueta no fue el correcto

Page 27: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

27

también se puede dar click sostenido sobre rectángulo verde y arrastrarlo a

la posición deseada. Solo hay que tener en cuenta que al presionar la tecla

Space o Shift para hacer crecer o decrecer el marco de la etiqueta esté lo

hará a partir de donde se encuentre el cursor del mouse ya que este le

indica el centro de la etiqueta.

Cuando el rectángulo de color verde es de las dimensiones deseadas, sin

mover el mouse se presiona la tecla control izquierdo (Left Ctrl) lo que

ocasiona que el rectángulo cambie de color verde a rojo, indicando la

posición preliminar de la etiqueta. En caso de haber ocurrido un error con el

posicionamiento con la etiqueta, al presionar la tecla “x” elimina el

rectángulo rojo.

Para confirmar que la etiqueta es correcta se presiona la tecla Left Alt, la

cual hace que se muestre de nueva cuenta el rectángulo verde pero con las

dimensiones que el rectángulo rojo ya posee. Posteriormente se presiona la

tecla Left Ctrl de nueva cuenta, lo que hará que el rectángulo cambie de

color azul. En caso de haber ocurrido un error con el posicionamiento con la

etiqueta, al presionar la tecla “x” elimina el rectángulo azul.

Cuando se tenga el rectángulo en color azul al presionar “enter” la imagen

que se encuentra dentro del rectángulo se almacena en la carpeta

especificada así como un documento de “.txt” con las coordenadas de la

misma imagen.

Una vez etiquetadas la o las sillas que se encuentren en la fotografía se

puede cambiar a la siguiente fotografía con las flechas del teclado y seguir

el procedimiento anterior para proseguir con las etiquetas de la base de

datos.

Para salir del proceso de etiquetación solo es necesario presionar la tecla

escape (esc) o la tecla “q” para terminar el proceso.

A continuación se muestran las partes más importantes del programa de

etiquetación en las figuras 3.16, 3.17, 3.18, 3.19, 3.20, 3.21 y 3.22.

Page 28: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

28

Figura 3 16. Librerías utilizadas, lectura de imágenes y coordenadas.

Figura 3 17. Movimiento de la etiqueta (mouse), salir del programa de etiquetación (tecla escape o “q”).

Page 29: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

29

Figura 3 18. Adición del recuadro rojo y azul (tecla control izquierdo).

Figura 3 19. Incremento (tecla space) y decremento (tecla Shift izquierdo) de la etiqueta.

Page 30: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

30

Figura 3 20. Recuadro de confirmación (tecla Alt izquierdo) y eliminación de recuadro rojo y azul (tecla “x” y “s” respectivamente).

Figura 3 21. Para avanzar o retroceder en las imágenes a etiquetar.

Page 31: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

31

Figura 3 22. Almacenamiento de etiqueta y coordenadas de la misma (tecla enter).

Algunos ejemplos de las sillas etiquetadas de las fotografías positivas son

mostradas en las figuras 3.23, 3.24, 3.25, 3.26 y 3.27.

Figura 3 23. Etiqueta para sillas de rueditas, asiento, respaldo y color azul.

Page 32: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

32

Figura 3 24. Para silla de cuatro patas, asiento, respaldo, apoya manos y color azul.

Figura 3 25. Etiqueta para silla de rueditas, asiento, respaldo, apoya manos y color negro.

Page 33: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

33

Figura 3 26. Etiqueta para silla de rueditas, asiento, respaldo, apoya manos y color azul.

Figura 3 27. Etiqueta para silla de cuatro patas, asiento, respaldo y color café.

Para la etiquetación de la base de datos de fotografías negativas se hizo uso del

mismo programa que el de etiquetación de sillas, pero con la diferencia de que en

Page 34: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

34

esta ocasión soló era necesario realizar etiquetas donde se estuviera seguro que

no estuviera ninguna silla contenida.

Ejemplos de etiquetas de fotografías negativas se muestran en las figuras 3.28 y

3.29.

Figura 3 28. Etiquetación de fotografías negativas (1).

Figura 3 29. Etiquetación de fotografías negativas (2).

Page 35: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

35

3.3.- Creación de modelos.

Una vez realizada la etiquetación de ambas base de datos el siguiente paso a

realizar fue la del entrenamiento de sistema con la finalidad de obtener modelos

con la capacidad para detectar sillas.

Para ello es necesario hacer uso de dos principales herramientas para el

procesamiento y clasificación de imágenes. El primero de ellos es el histograma

de orientaciones de gradientes (Hog) el cual es una técnica que se encarga de

extraer características básicas de la imagen en estudio, esto lo logra hacer al

transformar la imagen en componentes básicos que representen a la imagen

original con el objetivo de reducir la cantidad de información. Este proceso se logra

hacer directamente mediante una de las librerías contenidas dentro de OpenCV la

cual calcula el descriptor HOG de una imagen (figura 3.30).

Figura 3 30. Configuración para el descriptor HOG de una imagen.

Lo segundo es por medio de las máquinas de soporte vectorial (SVM) las cuales

son técnicas de aprendizaje automático que se especializan en aprender modelos

de dos diferentes clases de objetos o un conjunto de estas. Se caracteriza por

crear un trazado de línea que separa las dos diferentes clases de objetos desde la

máxima distancia dada por dos ejemplos de cada clase que no tengan elementos

en común entre ellos. A estos ejemplos se les conoce vectores de soporte, de ahí

el nombre de la técnica. En nuestro caso los ejemplos de las dos diferentes clases

son las etiquetas de las fotografías positivas y las etiquetas de las fotografías

negativas.

Page 36: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

36

Igual que en el caso anterior, OpenCV posee una implementación de SVM que

puede utilizarse para el entrenamiento de los modelos (figura 3.31).

Figura 3 31. Configuración del SMV para un conjunto de objetos.

En conjunto con estas dos herramientas fue posible realizar la programación para

el entrenamiento del sistema y poder generar los modelos de detección de sillas.

Dichos modelos varían su efectividad y confiabilidad dependiendo del número de

ejemplos tanto de etiquetas positivas como negativas eran ingresadas al código.

Las partes más importantes son mostradas en las figuras 3.32, 3.33, 3.34 y 3.35.

Figura 3 32. Librerías utilizadas y argumentos de entrada del programa.

Page 37: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

37

Figura 3 33. Se abren las etiquetas positivas y se calcula su descriptor HOG.

Figura 3 34. Se abren las etiquetas negativas y se calcula su descriptor HOG.

Page 38: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

38

Figura 3 35. Entrenamiento y almacenamiento del modelo.

Una vez obtenido el modelo el siguiente y último paso para la detección de las

sillas fue hacer uso de la implementación de OpenCV que viene equipada con un

detector para la búsqueda de sillas en cualquier imagen la cual consiste de la

siguiente manera.

Se hace un barrido sobre la imagen con una ventana de las dimensiones del

descriptor HOG que ya poseemos (48 por 96 pixeles) hasta a completar con toda

la imagen y esperando que la ventana se tope con alguna silla a la cual detectar.

Esto no puede ser muy eficiente a la primera por lo que al hacer el segundo

barrido se reduce el tamaño de la imagen para repetir el proceso. Esto se repite

hasta que la ventana supere a la imagen donde se realiza la búsqueda.

La programación utilizada para la búsqueda y detección de las sillas fue la que se

muestra en las figuras 3.36, 3.37, 3.38 y 3.39.

Page 39: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

39

Figura 3 36. Argumentos de entrada del programa y configuración del descriptor HOG.

Figura 3 37. Se carga el modelo entrenado y se sincroniza con el descriptor HOG.

Figura 3 38. Se carga la imagen y se buscan las sillas con el barrido y reducción de la imagen.

Page 40: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

40

Figura 3 39. Se dibujan sobre la imagen rectángulos de las áreas localizadas.

Los primeros modelos creados tuvieron un entrenamiento con un número

aproximados de etiquetas positivas y negativas de entre 1500 a 2500 fotografías

arrojando los resultados que se muestran en las figuras 3.40, 3.41 y 3.42.

Figura 3 40. Ejemplo del modelo del sistema detector de sillas sin errores (1).

Page 41: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

41

Figura 3 41. Ejemplo del modelo del sistema detector de sillas sin errores (2).

Figura 3 42. Ejemplo del modelo del sistema detector de sillas con errores.

Para el mejoramiento de los modelos preliminares detectores de silla se hicieron

dos principales cosas. La primera de ellas fue entrenar nuevamente el sistema con

un número mayor de ejemplos tanto de etiquetas positivas así como negativas. La

Page 42: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

42

segunda y más importante fue agregar a los nuevos modelos las áreas de error tal

como se muestra en la Figura 3 38. Al hacer esto se agregan más negativos al

sistema reduciendo el error para los próximos modelos considerablemente. A este

nuevo ejemplo de negativos se le denominó, negativos duros. Por lo tanto ahora el

sistema estará siendo entrenado por tres diferentes tipos de ejemplos, Etiquetas

positivas, Etiquetas negativas y negativos duros.

Page 43: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

43

Capitulo IV. Resultados

Los resultados obtenidos presentaron distintos niveles de confiabilidad de acuerdo

a los diferentes modelos creados por el equipo de trabajo. Los primeros modelos

creados presentaron errores bastantes notables, como ignorar sillas donde si

había y detectar como sillas figuras o sombras que aparentaban serlo. Los

modelos finales lograron ser mucho más robustos y eficientes eliminando errores

de modelos iniciales y detectando en la mayoría de los casos las sillas del

laboratorio (figura 4.1).

Page 44: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

44

Figura 4 1. Modelo de detección aplicado al robot de servicios detectando correctamente.

En las implementaciones finales de los modelos se puede apreciar que algunas

sillas no eran posibles detectarlas por el limitado número de ejemplos presentados

en la base de datos de fotos positivas, lo que restringía hacer un buen trabajo de

detección del sistema (figuras 4.2 y 4.3).

Page 45: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

45

Figura 4 2. Ejemplo del modelo con deficiencia al detectar sillas por la falta de ejemplos (1).

Page 46: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

46

Figura 4 3. Ejemplo del modelo con deficiencia al detectar sillas por la falta de ejemplos (2).

Page 47: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

47

Capítulo V. Conclusiones

La creación de sistemas capaces de detectar objetos mediante el método de

aprendizaje automático generaliza de manera muy completa la diversidad de

casos que pudiese presentar un fenómeno en específico lo que resulta ser un

método bastante bueno y confiable. El principal problema de este método de

aprendizaje radica en los ejemplos de los que el sistema tiene que aprender. La

cantidad de ejemplos tienen que ser bastante grande para que el sistema aprenda

de todos los casos posibles.

Dentro del proyecto realizado la presencia de los errores radica en eso, el sistema

requiere de muchos más ejemplos tanto de sillas como de no sillas para ser más

robusto. Esa conclusión se puede apreciar de manera sencilla de acuerdo en los

diferentes modelos realizados. Los primeros donde la base de datos fue pequeña

los errores fueron más latentes pero conforme el número de la base de datos era

mayor los errores se minimizaron.

Page 48: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

48

Cabe aclarar que el sistema como todo sistema analógico también presenta una

curva de aprendizaje donde a pesar de poseer un número infinito de ejemplos no

aprenderá más que si poseyera 50,000 ejemplos (por decir un número). Esta

curva se puede obtener de manera manual agregan poco a poco ejemplos a la

base de datos y evaluar los resultados obtenidos. Cabe mencionar que esta curva

de aprendizaje nos puede indicar la cantidad de ejemplos positivos o negativos

que hay que agregar al sistema para ser más robusto los modelos.

Page 49: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

49

Referencias Bibliográficas

Julio Villena Román (2011). Inteligencia de Redes de Comunicación:

Historia de la Inteligencia Artificial. Madrid. C.C. Autor.

Ciencias de la computación. Obtenida el 01 de Octubre de 2014, de

Instituto de Investigaciones de Matemáticas Aplicadas y de Sistemas de la

Universidad Autónoma de México (IIMAS-UNAM), página web institucional:

http://www.iimas.unam.mx/iimas/

Grupo Golem. Obtenida el 01 de Octubre de 2014, de Instituto de

Investigaciones de Matemáticas Aplicadas y de Sistemas de la Universidad

Autónoma de México (IIMAS-UNAM), página web institucional:

http://golem.iimas.unam.mx/

Rafael Barea (n.d.). Robótica de Servicios. Madrid. C.C. Autor.

Sumir Kumar Sahar (2008). Introduction to robotics (1ra ed.). India. Tata

McGraw-Hill.

International Organization for Standardization (2012) ISO 8373:2012 Robots

and robotic devices – Vocabulary.

Marcos Berreto. Applied ontologies and standards for service robots. [En

línea]. Robotics and Autonomous Systems, Volume 61, Issue 11, November

2013.

Sebastien Lechevalier. Diversity in patterns of industry evolution: How an

intrapreneurial regime contributed to the emergence of the service

robot industry [En línea]. Research Policy, Volume 43, Issue 10, December

2014.

Page 50: DESARROLLO DE UN SISTEMA DE DETECCIÓN DE SILLAS PARA ROBOTS DE …golem.iimas.unam.mx/pubs/castro14sistema.pdf · 2017-03-23 · Sistema para detección y rastreo de sillas en tiempo

50

¿Cómo ves? Obtenida el 20 de Octubre de 2014, Revista de Divulgación de

la Ciencia de la Universidad Autónoma de México, página web institucional:

http://www.comoves.unam.mx

Sekou L. Remy. How to teach a new robot new tricks: Interactive learning

freamwork applied to service robotics. Tesis (Doctor en Filosofía). U. E.,

Instituto de Tecnología de Georgia. (2009)

La Ciencia y el Hombre, Obtenida el 20 de Octubre de 2014, Revista de

Divulgación Científica y Tecnológica de la Universidad Veracruzana, página

web institucional: http://www.uv.mx

Aprendizaje Automático – Machine Learning. Obtenida el 21 de Octubre del

2014, Facultad de Ciencias Exactas y Naturales de la Universidad de

Buenas Aires, página web institucional: http://www.dc.uba.ar

Kamal Priyantha Ranaweera. Optimization, Artificial Intelligence and

Machine Learning in the Develpment of Image Processing Plans. Tesis

(Ingeniero en Ciencias). Londres., Universidad del Este de Ontario. (2007)

Grupo Golem. Obtenida el 21 de Octubre de 2014, de Instituto de

Investigaciones de Matemáticas Aplicadas y de Sistemas de la Universidad

Autónoma de México (IIMAS-UNAM), página web institucional:

http://golem.iimas.unam.mx/

Python. Obtenida el 22 de Octubre de 2014, de Tutorial de Python, página

web: http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.pdf