tesis_lucia_barrera procesamiento de imágenes
DESCRIPTION
muy buenoTRANSCRIPT
-
1
INSTITUTO TECNOLGICO Y DE ESTUDIOS SUPERIORES DE
MONTERREY
RECTORA ZONA CENTRO
MAESTRA EN CIENCIAS DE LA INGENIERA
DESARROLLO E IMPLEMENTACIN DE
ALGORITMOS PARA EL SISTEMA DE PERCEPCIN Y
LOCALIZACIN DE LOS ROBOTS BOGOBOTS
TESIS PARA OPTAR POR EL GRADO DE MAESTRO EN CIENCIAS DE
LA INGENIERA
LUCIA BARRERA TOVAR
Asesor: Dr. ALEJANDRO ACEVES LPEZ
Comit de Tesis: Dr. MIGUEL GONZLEZ MENDOZA (ITESM-CEM)
Dr. JESS SAVAGE CARMONA (UNAM)
Dr. JUAN MANUEL IBARRA ZANNATHA
(CINVESTAV)
Atizapn de Zaragoza, Edo. Mx., 26 de Abril de 2010.
-
2
Resumen
En los ltimos aos el campo de la robtica ha crecido considerablemente. Se han
desarrollado nuevas tecnologas para mejorar los sistemas de visin, localizacin,
exploracin, navegacin y comunicacin en diversas reas de aplicacin. Uno de los
requisitos ms fuertes se ha generado en el campo de la visin, a travs del cual el robot
determina parmetros tiles como son la orientacin, distancia o color de objetos en el medio
ambiente. Posteriormente esta informacin es utilizada por el sistema de localizacin para
tomar decisiones adecuadas con respecto a la posicin que guarda en el entorno y ejecutar
acciones.
Este trabajo de tesis surge como parte de la labor que se lleva a cabo en el Proyecto
Humanoide, en los robots que llevan por nombre Bogobots. El proyecto pertenece a la
Ctedra de Investigacin en Control Avanzado, Adaptable e Inteligente del Campus Estado
de Mxico.
RoboCup es una iniciativa internacional cuyo principal objetivo busca impulsar la
investigacin en inteligencia artificial y robtica a travs de la aplicacin e integracin de
diferentes soluciones tecnolgicas alrededor de un problema comn: encuentros de ftbol
soccer. La visin de esta organizacin es desarrollar un equipo de humanoides completamente
autnomos que compita con el equipo campen de la FIFA y le gane. Para lograr este
objetivo, RoboCup se divide en 4 reas de investigacin: RoboCupSoccer, RoboCupRescue,
RoboCup@Home y RoboCupJunior [32].
El rea en la cual se enfoca esta tesis es RoboCupSoccer, la cual se subdivide en cinco
categoras, entre ellas la categora Humanoide. Esta es una de las categoras ms dinmicas y
cercanas al objetivo planteado para el 2050. La categora Humanoide se divide en dos clases:
KidSize (30-60 cm de altura) y TeenSize (100-160 cm de altura). Los algoritmos propuestos
toman en cuenta el ambiente proyectado por las reglas de la primera categora.
El objetivo final de este proyecto de investigacin consiste en que los algoritmos de
percepcin y localizacin sean funcionales y mejoren el desempeo los robots Bogobots en
las prximas competencias.
Para el logro de esta meta se utiliza el software de MATLAB, el cual tambin funge
como un excelente apoyo para la creacin de la interfaz grfica que contribuye a visualizar
-
3
los resultados. Otra de las herramientas utilizadas fue una cmara web Live! Cam Vista
VF0420 de la marca Creative. La cmara se conecta por puerto USB a la computadora y en
conjunto con el toolbox Image Acquisition de Matlab se procede con la captura de imgenes.
Esta ser la primera de las seis etapas que al agruparse conforman los procesos de bajo, medio
y alto nivel en el procesamiento de imgenes. A continuacin se describen las etapas estas
etapas.
Adquisicin de imgenes a travs de la cmara web y MATLAB: Se realiza a travs del
toolbox Image Acquisition. Los programas desarrollados permiten tomar las fotos requeridas
y despus evaluar cules de ellas tienen mejor calidad para determinar los umbrales de
anlisis.
Clasificacin de color: Se probaron dos tcnicas. La primera se refiere al uso de
superficies implcitas en el espacio de color RGB. Esta tcnica genera tablas de bsqueda
para cada componente a travs de los pixeles encerrados dentro de formas geomtricas
especiales creadas a partir de una funcin matemtica particular que consiste en unir esferas.
La segunda se realiza a travs de seis umbrales de evaluacin para cada una de las
componentes del espacio HSI. El espacio HSI a diferencia del RGB separa la informacin del
color en formas comprensibles para el ojo humano, siendo H la componente relacionada con
el tono, S la saturacincmo se diluye el color con la luz blanca e I, la intensidad o
cantidad de luz que posee un color. Debido a que las cmaras captan imgenes en el espacio
RGB o YUV, se recurri a conversiones entre espacios de color, de tal forma que la imagen
captada por la cmara pasa por un proceso de conversin al espacio HSI.
Segmentacin: Recibe como entrada principal el resultado de la clasificacin de color.
Se probaron diversas tcnicas tanto con las superficies implcitas en RGB como con los
umbrales en HSI. Dentro de estas tcnicas se encuentran: procesamiento rengln por rengln,
crecimiento de regiones a partir de pixeles semilla y procesamiento a travs de lneas de
escaneo. Para este ltimo se proponen dos diferentes mtodos para la creacin de las lneas.
Representacin y descripcin de las regiones: Se extrae informacin importante de las
regiones segmentadas tal como el rea que abarcan los pixeles dentro de la regin, el
centroide de esta rea y el color al que pertenecen. Para realizar esta extraccin se emplea
una conversin a imgenes binarias para poder etiquetar y clasificar las regiones encontradas.
Identificacin de objetos y estimacin de relaciones espaciales: El resultado de la
extraccin de caractersticas, en las regiones encontradas, abre paso a poder identificar los
objetos a partir de la tcnica de rboles de decisin. Estos rboles de decisin toman en cuenta
las caractersticas de los objetos determinadas por las reglas de la categora. Al conocer la
dimensin real y la cantidad de pixeles en la imagen que forman esa dimensin es posible
-
4
establecer una relacin paramtrica que permita, por medio de un muestre, ajustar los valores
a una funcin. El ajuste se logra a travs de la tcnica de mnimos cuadrados con lo cual se
obtienen ciertas constantes que permiten la generalizacin del mtodo y que en cada
fotografa adquirida en la cual se refleje un objeto conocido en el ambiente de la competencia
se pueda estimar la distancia entre l y el robot.
Localizacin del robot (cmara) en el campo: Al conocer la distancia de dos objetos
fijos, como es el caso de las porteras y los postes, se utiliza la tcnica de triangulacin que
por medio de los ngulos formados entre los objetos y la distancia a la cual se ubican, puede
estimarse la posicin del robot.
El experimento final consiste en trazar una trayectoria real que permite verificar la
efectividad de los algoritmos desarrollados al obtener una diferencia entre la trayectoria
deseada y la obtenida realmente. Todo esto a travs de la interfaz grfica generada en
MATLAB.
-
5
Contenido
Captulo 1 .............................................................................................................................................. 13
1 INTRODUCCIN ........................................................................................................................ 13
1.1 PROYECTO HUMANOIDE CAMPUS ESTADO DE MXICO ....................................... 14
1.2 DESCRIPCIN DEL AMBIENTE ...................................................................................... 18
1.2.1 DESCRIPCIN DE ELEMENTOS .............................................................................. 18
1.2.2 DESARROLLO DE UN ENCUENTRO ...................................................................... 21
1.2.3 REGLAS DEL PARTIDO ............................................................................................ 22
1.2.4 CARACTERSTICAS DEL BOGOBOT ..................................................................... 23
1.3 MOTIVACIN ..................................................................................................................... 24
1.4 OBJETIVOS ......................................................................................................................... 25
1.5 CONSIDERACIONES IMPORTANTES DEL DOMINIO Y TESIS .................................. 26
1.6 ORGANIZACIN DE LA TESIS ........................................................................................ 26
Captulo 2 .............................................................................................................................................. 28
2 MARCO TEORICO ...................................................................................................................... 28
2.1 CONCEPTOS SOBRE EL PROCESAMIENTO DE IMGENES .................................... 28
2.1.1 Etapas del procesamiento de imgenes ......................................................................... 29
2.1.2 Nociones bsicas sobre imgenes.................................................................................. 30
2.1.3 Espacios de color ........................................................................................................... 32
2.1.4 La iluminacin como factor clave en el procesamiento de imgenes ........................... 37
2.2 PROCESAMIENTO NIVEL BAJO: ADQUISICIN DE IMGENES
EN MATLAB .................................................................................................................................... 39
2.2.1 Proceso para adquirir imgenes en MATLAB .............................................................. 39
2.3 PROCESAMIENTO NIVEL INTERMEDIO: CLASIFICACIN DE COLOR Y
SEGMENTACIN ........................................................................................................................... 43
2.3.1 Clasificacin de color .................................................................................................... 44
2.3.2 Segmentacin ................................................................................................................ 49
2.3.3 Representacin y descripcin de las regiones ............................................................... 53
2.3.4 Representacin y caracterizacin de imgenes binarias ................................................ 55
2.4 Procesamiento de alto nivel: Identificacin de objetos y estimacin de relaciones espaciales
56
2.5 SISTEMAS DE LOCALIZACIN....................................................................................... 58
3 CLASIFICACION DE COLOR .................................................................................................... 60
3.1 Superficies implcitas ............................................................................................................ 61
3.1.1 Construccin del algoritmo ........................................................................................... 62
3.1.2 Programacin en MATLAB .......................................................................................... 68
-
6
3.1.3 Pruebas y resultados obtenidos...................................................................................... 71
3.2 Determinacin de umbrales simples en el espacio HSI......................................................... 75
3.2.1 Algoritmo en MATLAB ................................................................................................ 76
3.2.2 Pruebas experimentales y resultados ............................................................................. 78
3.3 Observaciones respecto a los criterios de clasificacin de color ........................................... 82
Captulo 4 .............................................................................................................................................. 83
4 SEGMENTACIN ....................................................................................................................... 83
4.1 Procesamiento rengln por rengln ....................................................................................... 84
4.1.1 Algoritmo de construccin procesamiento rengln por rengln ................................... 85
4.2 Crecimiento de regiones a travs de una semilla .................................................................. 87
4.2.1 Algoritmo de construccin para crecimiento de regiones a partir de un pixel semilla . 89
4.3 Crecimiento de regiones a partir de lneas de escaneo ......................................................... 91
4.3.1 Sistema Coordenado ...................................................................................................... 92
4.3.2 Lnea de Horizonte ........................................................................................................ 93
4.3.4 Algoritmos de construccin para generar las lneas de escaneo .................................... 94
4.3.5 Algoritmos de construccin para los dos tipos de lneas de escaneo ............................ 96
4.3.6 Algoritmos de construccin para el crecimiento de regiones a partir de semillas
obtenidas por lneas de escaneo..................................................................................................... 97
4.4 Resultados obtenidos para cada tcnica ................................................................................ 98
4.4.1 Procesamiento rengln por rengln ............................................................................... 99
4.4.2 Crecimiento de regiones por pixel semilla .................................................................. 101
4.4.3 Crecimiento de regiones por lneas de escaneo ........................................................... 105
4.5 Conclusiones para la etapa de segmentacin ...................................................................... 111
Captulo 5 ............................................................................................................................................ 112
5 IDENTIFICACIN DE OBJETOS ............................................................................................ 112
5.1 Criterios para identificacin de los objetos ......................................................................... 112
5.1.1 Identificacin de porteras ........................................................................................... 113
5.1.2 Identificacin de los beacons ...................................................................................... 114
5.1.3 Identificacin de la pelota ........................................................................................... 116
5.2 Calculo de dimensiones espaciales...................................................................................... 118
5.2.1 Aproximacin de la distancia por muestreo e interpolacin ....................................... 118
5.2.2 Resultados para las dimensiones espaciales de cada objeto ........................................ 123
5.3 Algoritmo para la identificacin de objetos y estimacin de distancias ............................. 125
5.4 Conclusiones para la etapa de identificacin y estimacin de distancias ............................ 128
Captulo 6 ............................................................................................................................................ 129
6 SISTEMA DE LOCALIZACIN ............................................................................................... 129
6.1 Metodologa para el algoritmo de triangulacin ................................................................. 129
6.2 Rutina de procesamiento para realizar la triangulacin ...................................................... 131
6.3 Algoritmo para mostrar la trayectoria ................................................................................. 133
6.4 Resultados obtenidos para el sistema de Localizacin ........................................................ 133
Captulo 7 ............................................................................................................................................ 138
-
7 7 ALGORITMO Y EXPERIMENTO FINAL ............................................................................... 138
7.1 Experimento final ................................................................................................................ 139
Captulo 8 ............................................................................................................................................ 144
8 CONCLUSIONES Y TRABAJO FUTURO ............................................................................... 144
ANEXO A ........................................................................................................................................... 146
9 ALGORITMOS ........................................................................................................................... 146
10 REFERENCIAS ...................................................................................................................... 210
-
8
Lista de Figuras
Figura 1.1 Diseo en CAD del prototipo Mayra ...................................................................... 15
Figura 1.2 Se muestran cinco posturas generadas por una persona que inicia un caminado
hacia adelante partiendo de una postura erguida ...................................................................... 15
Figura 1.3 Modelo Vitruvian-MAYRA. ................................................................................... 16
Figura 1.4 Robonova modificado con cmara cmucam3 y procesador dsPIC. ........................ 17
Figura 1.5 Bogobot 1 (Graz Austria, 2009) .............................................................................. 18
Figura 1.6 Campo de juego (No escalado). Imagen tomada de [31] ........................................ 19
Figura 1.7 Porteras [31] ........................................................................................................... 19
Figura 1.8 Lneas de la cancha [31] .......................................................................................... 20
Figura 1.9 Vista del campo con porteras y postes. Objetos fijos. [30] .................................... 20
Figura 1.10 a) Beacon1 b) Pelota c) Beacon2 d) Portera amarilla e) Portera azul ................. 21
Figura 1.11 Dimensiones reglamentarias del Robot [31] ......................................................... 23
Figura 2.1 Diagrama proceso de adquisicin y anlisis de imgenes propuesto por Gonzlez &
Woods [13] ............................................................................................................................... 29
Figura 2.2 Pixeles como arreglos de columnas y renglones. .................................................... 31
Figura 2.3 Extraccin de pixeles de una imagen binaria [19] .................................................. 31
Figura 2.4 Representacin del espacio RGB. Imagen tomada de [36] ..................................... 33
Figura 2.5 Representacin del espacio HSI. Imagen tomada de [36]....................................... 34
Figura 2.6 Modelo de color basado en una luz que incide en una superficie y dicha superficie
lo refleja .................................................................................................................................... 37
Figura 2.7 Proceso de adquisicin de imgenes en MATLAB ................................................ 40
Figura 2.8 Resultado obtenido a partir de la funcin imaqhwinfo en MATLAB ..................... 41
Figura 2.9 Extraccin de pixeles muestra para definir los umbrales a) Imagen RGB con la
seleccin de pixeles a travs de MATLAB c) Pixeles seleccionados en el espacio RGB c)
Conversin y seleccin de pixeles en espacio HSI................................................................... 44
2.10 Esquema para clasificacin de color y segmentacin de imagen ..................................... 45
Figura 2.11 Volumen que define un subespacio de color bajo seis umbrales .......................... 46
Figura 2.12 Ejemplo de imgenes obtenidas en las pruebas entre cmaras bajo diversas
condiciones de iluminacin. a) Imagen en laboratorio cae en la clasificacin de imagen oscura
b) Imagen con ms brillo e iluminacin natura, pero con bajo contraste ................................. 47
Figura 2.13 a) Ejemplo conectividad 4. b) Ejemplo conectividad 8 ........................................ 50
Figura 2.14 Mscara general de 3x3 ......................................................................................... 50
Figura 2.15 Mscara empleada para detectar diferentes puntos aislados en un fondo constante
[13] ........................................................................................................................................... 51
Figura 2.16 Mscaras de lnea. a) Horizontal. b) +45. c) Vertical. d) -45. [13] .................... 51
Figura 2.17 a) Resultado operador de Sobel. b) Resultado con operador Canny. c) Imagen
original ...................................................................................................................................... 52
-
9
Figura 2.18 a) Regiones encontradas b) Etiquetado de esas regiones ...................................... 56
Figura 3.1 a) Nube de pixeles representadas por elipses b) Nube de pixeles representadas por
esferas c) Imagen a partir de la cual se tomaron las muestras de color .................................... 61
Figura 3.2 Datos y centros obtenidos a partir del ejemplo de K-means ................................... 64
Figura 3.3 a) Superficie con fusin grande b) Superficie con fusin pequea ......................... 65
Figura 3.4 Representacin de micro cubos alineados en direccin z y y ................................. 67
Figura 3.5 Proceso para formar tablas de bsqueda a travs del algoritmo de superficies
implcitas .................................................................................................................................. 68
Figura 3.6 Seleccin de muestras a travs de roipoly(f) ........................................................... 69
Figura 3.7 Representacin grfica. Izquierda: Muestras seleccionadas. Derecha: Esferas
resultantes ................................................................................................................................. 70
Figura 3.8 Muestra de pixeles seleccionados. .......................................................................... 72
Figura 3.9 Esferas creadas a partir de n-clusters. Izquierda: seis clusters, resultado esferas de
mayor tamao. Derecha: doce clusters ..................................................................................... 72
Figura 3.10 Esferas para clases de color azul, amarillo y naranja ............................................ 73
Figura 3.11 Diferencia entre imgenes en RGB y HSI. Derecha: RGB. Izquierda: HSI ......... 75
Figura 3.12 Proceso para la obtencin de rangos HSI .............................................................. 76
Figura 3.13 Extraccin de muestras en HSI a) Imagen tomada con Live!Creative b) Imagen
tomada con VGPVCC2 de Sony .............................................................................................. 77
Figura 3.14 Histogramas obtenidos a partir de la seleccin de muestras en el espacio HSI. a)
Muestras de color naranja b) Muestras de color azul ............................................................... 78
Figura 3.15 Adquisicin de imgenes bajo diferentes condiciones de iluminacin. a) Imagen
tomada en el laboratorio con luz artificial. b) Imagen tomada en una casa con luz natural ..... 80
Figura 3.16 Imgenes para revisar componente H. a) Pelota bajo iluminacin natural b) Pelota
bajo iluminacin artificial ......................................................................................................... 81
Figura 4.1 Proceso de conversin a imagen binaria y etiquetado de regiones para obtener cajas
de limitacin y caractersticas................................................................................................... 86
Figura 4.2 Segmentacin de Beacon1. a) Regiones limitadas por cajas blancas. b) Regiones
limitadas por cuadros del color de clase a la que pertenecen ................................................... 87
Figura 4.3 Problemas al contar solo con una semilla para el crecimiento de regiones ............ 88
Figura 4.4 Seleccin de pixel semilla con la funcin getpts .................................................... 90
Figura 4.5 Regin segmentada y el contorno de la regin en caja de limitacin .................... 90
Figura 4.6 Sistema Coordenado para Campo ........................................................................... 92
Figura 4.7 Sistema coordenado para la cmara ........................................................................ 93
Figura 4.8 Sistema coordenado para Imagen............................................................................ 93
Figura 4.9 Clculo del horizonte a partir de la interseccin entre el plano de proyeccin P y el
plano H paralelo al campo ........................................................................................................ 94
Figura 4.10 Primer mtodo para formar el patrn de lneas de escaneo utilizado para
superficies implcitas ................................................................................................................ 95
Figura 4.11 Segundo mtodo para aplicar el patrn de escaneo .............................................. 96
Figura 4.12 Imgenes para las pruebas de segmentacin por crecimiento de regiones a partir
de una matriz de semillas.......................................................................................................... 98
Figura 4.13 Segmentacin a partir de semilla color naranja y verde. Tiempo de proceso 31
segundos ................................................................................................................................. 102
-
10
Figura 4.14 Segmentacin a partir de semilla color verde y azul. Tiempo de proceso 122
segundos ................................................................................................................................. 102
Figura 4.15 Patrones de escaneo para ambos criterios de color. Tomando como ejemplo el
beacon2 ................................................................................................................................... 105
Figura 5.1 Ejemplos de la representacin de cajas de limitacin ........................................... 113
Figura 5.2 Reglas de identificacin para las porteras ............................................................ 114
Figura 5.3 Reglas de identificacin para beacons .................................................................. 116
Figura 5.4 Imagen de la pelota tomada a 1.70 cm que equivale a 484 pixeles en la imagen 117
Figura 5.5 Reglas para identificar la pelota ............................................................................ 117
Figura 5.6 Diagrama de proyeccin de los objetos sobre el plano de la imagen. d es la
distancia real del objeto y Dx Dy son las medidas de los objetos en pixeles ........................... 118
Figura 5.7 Comparacin entre las muestras y curva que aproxima del beacon1 ................... 124
Figura 5.8 Comparacin entre las muestras y curva que aproxima de la portera amarilla .... 124
Figura 5.9 Comparacin entre las muestras y curva que aproxima para la pelota ................. 124
Figura 5.10 Resultados del programa de identificacin de objetos para beacon1 y portera
amarilla ................................................................................................................................... 126
Figura 5.11 Resultados de identificacin de objetos y estimacin de distancia para la pelota
................................................................................................................................................ 127
Figura 5.12 Resultados de identificacin de objetos y estimacin de distancia para beacon2 y
portera azul ............................................................................................................................ 127
Figura 6.1 Esquema de triangulacin ..................................................................................... 129
Figura 6.2 Cancha en Matlab con ejes de referencia y sentido en el cual deben introducirse los
objetos fijos identificados para llevar a cabo el proceso de triangulacin ............................. 131
Figura 6.3 Resultados del sistema de localizacin a partir de la identificacin de portera
amarilla y beacon2.................................................................................................................. 133
Figura 6.4 Imagen de la trayectoria real ................................................................................. 134
Figura 6.5 Trayectoria Real (asteriscos) Vs. Trayectoria Estimada (crculos) ....................... 137
Figura 7.1 Ejemplo de la interfaz grfica generada por el algoritmo final, completafotos .... 139
Figura 7.2 Imagen de la trayectorial real ................................................................................ 140
Figura 7.3 Resultados grficos para P1 .................................................................................. 141
Figura 7.4 Resultados grficos para P3 .................................................................................. 142
Figura 7.5 Resultados grficos para P5 .................................................................................. 142
Figura 7.6 Trayectoria Real (asteriscos) Vs. Trayectoria Estimada (crculos) ....................... 143
-
11
Lista de Tablas
Tabla 1-1Dimensiones de la cancha en cm .............................................................................. 19
Tabla 3-1 Ejemplo de datos para Clasificacin K-means. ........................................................ 62
Tabla 3-2. Centros iniciales ...................................................................................................... 63
Tabla 3-3 Resultado de distancias y pertenencias para ejemplo de K-means .......................... 63
Tabla 3-4 Ejemplo de tabla de bsqueda .................................................................................. 66
Tabla 3-5 Etiquetas de color asignadas para cada clase ........................................................... 70
Tabla 3-6 Resultado de experimentos con diversos valores de rho y mltiplo de sigma......... 73
Tabla 3-7 Ejemplo de Tabla reducida para la clase de color azul, cuyo orden es RGB ........... 74
Tabla 3-8 Datos generados para la tabla de bsqueda .............................................................. 75
Tabla 3-9 Ejemplo de la tabla obtenida a partir del anlisis de histogramas en el espacio HSI
.................................................................................................................................................. 78
Tabla 3-10 Rangos HSI para cada clase de color ..................................................................... 79
Tabla 3-11 Relacin No. de muestras y tiempo de procesamiento para rangos en HSI ........... 79
Tabla 3-12 Comparacin de valores obtenidos para las componentes HSI bajo diferentes
condiciones de iluminacin ...................................................................................................... 80
Tabla 3-13 Resultado de rangos al evaluar ls fotografas con el programa RoiPoly_HSI........ 81
Tabla 4-1 Combinaciones de algoritmos para el proceso de segmentacin ............................. 84
Tabla 4-2 Combinacin entre los tipos de lneas de escaneo y las clasificaciones de color .... 96
Tabla 4-3 Comparativo de resultados arrojados por la tcnica de procesamiento rengln por
rengln utilizando ambos criterios de color, Tabla de bsqueda y superficies implcitas vs.
Conversin de RGB a HSI clasificada en regiones cbicas ................................................... 100
Tabla 4-4 Comparativo de tiempos a partir del procesamiento rengln por rengln ............. 101
Tabla 4-5 Comparativo de resultados arrojados por la tcnica de crecimiento de regiones con
un pixel semilla utilizando ambos criterios de color, Tabla de bsqueda y superficies
implcitas vs. Conversin de RGB a HSI clasificada en regiones cbicas ............................. 103
Tabla 4-6 Comparativo de tiempos a partir del crecimiento de regiones por un pixel semilla
................................................................................................................................................ 104
Tabla 4-7 Comparativo de tiempos para diferentes tomas del objeto Pelota ......................... 104
Tabla 4-8 Tiempos obtenidos para generar la matriz semilla con cada patrn y clasificador de
color ........................................................................................................................................ 105
Tabla 4-9 Resultados de segmentacin del crecimiento de regiones con lneas de escaneo
Tipo I ...................................................................................................................................... 107
Tabla 4-10 Tiempos obtenidos para la tcnica de crecimiento de regiones con lneas de
escaneo tipo I .......................................................................................................................... 108
Tabla 4-11 Resultados de la segmentacin usando ambos criterios de color ......................... 109
Tabla 4-12 Tiempos de procesamiento para la segmentacin por medio de crecimiento de
regiones ................................................................................................................................... 110
Tabla 4-13 Resumen de los tiempos obtenidos para cada tcnica de segmentacin .............. 111
-
12
Tabla 5-1 Muestreo de distancia y dimensiones en la imagen capturada a esa distancia para las
porteras .................................................................................................................................. 120
Tabla 5-2 Muestreo de distancia y dimensiones en la imagen capturada a esa distancia para los
beacons ................................................................................................................................... 121
Tabla 5-3 Muestreo de distancia y dimensiones en la imagen capturada a esa distancia para la
pelota ...................................................................................................................................... 122
Tabla 5-4 Parmetros a y b obtenidos mediante la interpolacin y aproximacin por mnimos
cuadrados para cada objeto ..................................................................................................... 123
Tabla 6-1 Posiciones conocidas de los objetos determinadas con el eje de referencia definido
y las caractersticas del campo de juego ................................................................................. 132
Tabla 6-2 Caractersticas de la Trayectoria Real .................................................................... 134
Tabla 6-3 Imgenes adquiridas para obtener la trayectoria deducida por el instrumento de
adquisicin .............................................................................................................................. 135
Tabla 7-1 Caractersticas de la Trayectoria Real .................................................................... 139
Tabla 7-2 Posiciones para la trayectoria estimada.................................................................. 143
-
13
Captulo 1
1 INTRODUCCIN
Este trabajo de tesis surge como parte de la labor que se lleva a cabo con los Bogobots. Se
enfoca a los requerimientos en el rea de visin artificial para la generacin de algoritmos de
percepcin y localizacin que les permitan obtener y procesar de una forma ms efectiva la
informacin de su entorno y tomar decisiones que se concreten en acciones. Todo esto en el
ambiente de las competencia de RoboCup. El Proyecto Humanoide pertenece a la Ctedra de
Investigacin en Control Avanzado, Adaptable e Inteligente del Campus Estado de Mxico
RoboCup es una iniciativa internacional cuyo principal objetivo es impulsar la
investigacin en inteligencia artificial y robtica a travs de la aplicacin e integracin de
diferentes soluciones tecnolgicas alrededor de un problema comn: encuentros de ftbol
soccer. La visin de esta organizacin es desarrollar un equipo de humanoides completamente
autnomos que compita con el equipo campen de la FIFA y le gane. Para lograr este
objetivo, RoboCup se divide en 4 reas de investigacin: RoboCupSoccer, RoboCupRescue,
RoboCup@Home y RoboCupJunior [32].
Este trabajo de tesis est enfocado al rea de RoboCupSoccer, la cual se subdivide en
cinco categoras, entre ellas la categora Humanoide. Estos robots autnomos cuentan con
estructuras similares al cuerpo humano, cabeza, torso y extremidades inferiores y superiores.
Compiten dos equipos conformados por tres integrantes cada uno y el equipo victorioso ser
aqul que anote ms goles. Adicionalmente a estas competencias de soccer, tambin se llevan
a cabo retos tcnicos. La categora humanoide se divide en dos clases KidSize (30-60 cm de
altura) y TeenSize (100-160 cm de altura). Entre los temas de investigacin que se busca
desarrollar, mejorar e implementar se encuentran: caminata dinmica, carrera, patear la pelota
manteniendo el balance, percepcin visual de los objetos que forman parte del juego (otros
jugadores, porteras, el campo y la pelota), sistemas de auto localizacin y trabajo en equipo
[18].
A pesar de que el primer torneo de RoboCup se realiz en 1997, la liga humanoide
vio la luz hasta el ao 2002. Los primeros robots que compitieron fueron sometidos a retos de
caminado o tandas de penales e incluso se permita el control remoto de los mismos. Con el
-
14
tiempo las categoras adquirieron forma y las reglas restringieron muchos aspectos tcnicos
antes permitidos, todo esto con el objetivo de alcanzar la meta propuesta para el 2050 y
construir humanoides cada vez ms autnomos y similares en comportamiento al humano.
Por ejemplo, a partir del 2008 la torsin de 360 se restringi al giro normal de un humano, es
decir 180 y las competencias de tres contra tres iniciaron. A partir de este momento dos tipos
diferentes de programacin se requirieron, una para portero y otra para jugadores en busca de
anotar gol.
Es en el 2008 que por primera vez particip el equipo del Tecnolgico de Monterrey,
Campus Estado de MxicoBogobotsquedando en dcimo segundo lugar en la categora
KidSize y en sptimo en la categora TeenSize. Para llegar a este punto y lograr un mejor
lugar en las competencias del 2009 (sptimo lugar en KidSize) el proyecto humanoide
atraves un largo proceso de evolucin que se describir en la siguiente seccin.
1.1 PROYECTO HUMANOIDE CAMPUS ESTADO DE MXICO
El proyecto humanoide pertenece a la Ctedra de Investigacin en Control Avanzado,
Adaptable e Inteligente del Campus Estado de Mxico y fue autorizado desde 2004 para ser
apoyado con fondos propios de la institucin, los cuales que se han renovado cada ao hasta
la fecha. Los tres grandes objetivos de este proyecto son:
Construir un robot de dimensiones comparables al ser humano, capaz de
interactuar con l y ayudarlo en tareas cotidianas.
El robot debe ser completamente autnomo, capaz de desplazarse sobre
diferentes superficies as como de manipular y transportar objetos.
Establecer una plataforma de alto grado de dificultad para estudiantes de reas
afines (electrnica, mecnica y computacin) tanto a nivel licenciatura como
posgrado.
En el 2004 se inici la construccin del primer prototipo bpedo, llamado MAYRA, el
cual fue diseado y construido en aluminio, con servo-motores comerciales y una altura de
cincuenta centmetros. Su fuente de alimentacin y su procesador estaban embarcados,
dotndolo de autonoma, y se desarrollaron los algoritmos necesarios para caminar en lnea
recta en superficies lisas y sin inclinacin. Dentro de los logros cientficos se destacan la
resolucin analtica de las ecuaciones de cinemticas inversa y el desarrollo de los clculos de
trayectorias semicirculares de cada pie para lograr equilibrio esttico. Estos resultados fueron
-
15
publicados en [38] y fueron objeto del trabajo de tesis del actual maestro en ciencias Ral
Serna Hernndez cuya tesis fue defendida en enero del 2005 [37].
Figura 1.1 Diseo en CAD del prototipo Mayra
Durante el 2005, se hicieron recomendaciones con objeto de modificar la forma de la
planta del pie del prototipo MAYRA y hacer un caminado ms estable, gracias la
combinacin de informacin proveniente de la captura de movimientos de caminado real de
seres humanos (Human-Motion Captured Data) y a las tcnicas clsicas de caminata de
humanoides con equilibrio estticamente estable [26]. El resultado de estos estudios fue
demostrar la posibilidad de simplificar el algoritmo de control requerido [25].
Figura 1.2 Se muestran cinco posturas generadas por una persona que inicia un caminado hacia adelante partiendo de una postura erguida
El propsito de los trabajos de investigacin desarrollados en el 2006 fue obtener un
modelo dinmico del bpedo MAYRA y el diseo de una ley de control para lograr el
movimiento basado en una tcnica de caminado con balanceo. Como resultado se desarroll
el modelo llamado Vitruvian-MAYRA y los resultados del control, as como la
recomendacin de servomotores ms adecuados, fueron reportados a detalle en [10-11] y
fueron el objeto de investigacin de la tesis de maestra de Enrique Gonzlez quien defendi
su trabajo en el 2007 [9]
-
16
Figura 1.3 Modelo Vitruvian-MAYRA.
En el 2007 se incorporan al proyecto tres estudiantes destacados de la carrera de
ingeniera mecatrnica que previamente haban participado y logrado excelentes resultados en
torneos de robtica. En ese ao se logr la construccin de dos prototipos de humanoides
pequeos (30cm de alto) totalmente autnomos y basados en piezas de los kits comerciales
ROBONOVA [40] [16] y LYNXMOTION [23], incluyendo una cmara CMUCAM2 [33],
una brjula electrnica y un microprocesador central. Los algoritmos de caminado
mencionados anteriormente fueron implementados de manera satisfactoria y se lograron las
primeras acciones integradas de alto nivel, tales como reconocer una pelota naranja, acercarse
y patearla en una direccin establecida.
Se comenz la modificacin de la estructura mecnica del ROBONOVA para
incorporar los movimientos del cuello y la instalacin de sensores (giroscopio, acelermetros,
brjula). Con este prototipo se llev a cabo la primera aplicacin de un jugador de ftbol con
comportamiento de delantero y posteriormente con comportamiento de portero utilizando en
todo momento los recursos embarcados del robot y sin hacer uso de computadora externa.
Posteriormente se inici el diseo y construccin de un humanoide basado en piezas
de LYNXMOTION incluyendo mejoras en la estructura mecnica, incrementando el nmero
de grados de libertad, colocando servomotores ms potentes y desarrollando una tarjeta de
procesamiento central basado en un DSPIC de montaje superficial. La ventaja de estas
modificaciones fue la obtencin de robots ms rpidos y con mejores capacidades para jugar
ftbol.
Para este prototipo, llamado Bogobot se desarroll un modelo geomtrico utilizando
el software de diseo ProEngineering y se obtuvo un robot virtual modelado con tcnicas de
realidad virtual as como un modelo cinemtico basado en el mtodo de D-H con los que se
desarroll un excelente simulador. Adems se aplicaron los algoritmos desarrollados en los
-
17
trabajos en el rea de visin computacional que se haban publicados previamente en el 2004
en [3] y posteriormente en un captulo de libro [4].
El diseo del mecanismo de movimiento de la cabeza, la electrnica de control de
servomotores y la tarjeta de procesamiento central fueron desarrollados y reportados en el
Team Description Paper sometido al comit organizador de RoboCup para lograr la
clasificacin a las competencias del 2008 en la categora de humanoides KidSize [1]
Figura 1.4 Robonova modificado con cmara cmucam3 y procesador dsPIC.
Desde el 2008 y hasta la fecha, se trabaja en la integracin de algoritmos de
segmentacin robusta de colores, localizacin, planeacin de movimiento, comunicacin
entre robots y cooperacin.
Como resultado de estos trabajos, se logr la clasificacin y participacin en las
competencias de robtica humanoide en la categora de humanoides KidSize y TeenSize en
RoboCup celebradas en Julio de 2008 en Suzhou, China, donde se obtuvo un dcimo segundo
lugar en la categora KidSize y sptimo lugar en TeenSize.
Con la experiencia del torneo del 2008, las mejoras en los algoritmos y los avances
electrnicos logrados en el ltimo ao, se clasific nuevamente a las competencias de
humanoides de RoboCup celebradas en junio 2009 en Graz, Austria, en donde se obtuvo el
sptimo lugar.
-
18
Figura 1.5 Bogobot 1 (Graz Austria, 2009)
1.2 DESCRIPCIN DEL AMBIENTE
Este trabajo se ha desarrollado considerando las reglas del 2009. Cabe destacar que las reglas
del juego de la categora de los robots humanoides se actualizan ao con ao y es posible que
a la fecha en que se presente esta tesis se haya publicado la versin 2010 de las reglas. A
continuacin se esbozan los principales componentes de la Liga de Robots Humanoides en la
categora KidSize [31] la cual incluye robots con una altura de 30 a 60 cm. Esto permitir
comprender los factores que dictaminan el diseo de los algoritmos, la toma de decisiones y
los requerimientos que se deben cumplir.
1.2.1 DESCRIPCIN DE ELEMENTOS
Un partido se desarrolla en un terreno similar al campo de ftbol para los humanos, pero de
menor tamao. Cuenta con dos porteras, dos postes en la mitad del campo, lneas que definen
reas importantes del campo y seis marcas a lo largo de la cancha.
Todos los objetos dentro del ambiente en el que se desenvuelve el robot cuentan con
un patrn de color definido y dimensiones. Estos parmetros contribuyen a una identificacin
ms simple y veloz de los objetos con base a forma y color. A continuacin se presenta una
descripcin de los elementos que componen este ambiente.
El campo est cubierto por una alfombra color verde en la cual se dibujan las franjas
que delimitan las diferentes zonas que componen el campo. En la tabla 1.1 se presentan sus
dimensiones.
-
19
Figura 1.6 Campo de juego (No escalado). Imagen tomada de [31]
Tabla 1-1Dimensiones de la cancha en cm
Las porteras se localizan en los extremos de la cancha en el centro de la lnea de gol.
Una portera es amarilla y la otra azul. Ambas cuentan con tres paredes en esos colores y con
postes blancos de 90 cm de altura que bordean la portera.
Figura 1.7 Porteras [31]
KidSize Teen Size
A Longitud del campo
B Ancho del campo
C Profundidad portera 50 60
D Ancho portera 150 260
E Longitud rea de gol
F Ancho rea de gol
G Marca de la distancia de penal
H Marca de reinicio de juego
I Dimetro del crculo central
J Ancho de la lnea de bordes
K Distancia de los postes al campo
120
70
40
600
400
60
300
180
100
-
20
El campo se encuentra rodeado por bordes de madera pintados en color blanco. Las
lneas de color blanco que se encuentran a lo largo y ancho de la cancha tienen un grueso de 5
cm.
Figura 1.8 Lneas de la cancha [31]
Existen dos postes que se localizan en la parte media de la cancha. Tienen un dimetro
de 20 cm y una altura total de 60 cm. Cuentan con tres secciones de colores (20 cm cada una);
el segmento de arriba y abajo tienen el mismo color que la portera localizada a la izquierda,
lo cual sirve como referencia al robot para ubicar la cancha en la cual debe anotar. Para
efectos de este trabajo el poste con la combinacin amarillo-azul-amarillo se ha denominado
beacon1 y el otro, es decir azul-amarillo-azul, ser denominado beacon2.
Figura 1.9 Vista del campo con porteras y postes. Objetos fijos. [30]
Por ltimo en cuanto a objetos se refiere, tambin se utiliza una pelota de tenis color
naranja de 18 cm de dimetro y peso de 294 g
-
21
Los robots participantes deben ser 90% color negro y menos del 1% con colores
diferentes a los que poseen los objetos en el campo. La Figura 1.10 muestra la apariencia real
de los componentes con los cuales se trabaj para el desarrollo de esta tesis.
Figura 1.10 a) Beacon1 b) Pelota c) Beacon2 d) Portera amarilla e) Portera azul
1.2.2 DESARROLLO DE UN ENCUENTRO
Cada encuentro consiste de dos perodos de diez minutos entre los cuales existe un descanso
mximo de cinco minutos. Es posible agregar tiempo extra si el referee lo considera necesario
debido a tiempo perdido o tiempo fuera. En caso de existir un empate se juegan dos tiempos
de cinco minutos. Si el encuentro contina sin decidirse se procede a la ronda de cinco
penales.
Antes de comenzar el juego, los participantes pueden acceder al campo durante quince
minutos. Como primera accin se realiza el volado, a travs del cual el equipo ganador
decidir hacia qu cancha tirar y el otro equipo inicia el partido. En el segundo tiempo el
equipo ganador da la patada de inicio. El juego se inicia y reinicia a travs del kick-off o
patada de salida. Cada vez que se anota un gol el juego se reinicia a mitad de la cancha. Una
restriccin importante es que no se puede anotar desde el punto de kick-off. En caso de que
esto suceda, se concede el punto al equipo contrario.
El procedimiento para iniciar el encuentro es el siguiente: todos los jugadores deben
estar en el lado de su cancha y el equipo que no da la patada de salida debe ubicarse alrededor
a)
b)
c)
d) e)
-
22
del crculo central y esperar a que la pelota se encuentre en movimiento. En caso de que la
pelota no se patee adecuadamente, el juego iniciar diez segundos despus de que el rbitro
haya dado la seal.
La forma de ganar un encuentro es contar con la mayor cantidad de goles. Se
considera vlido un gol cuando la pelota entra completamente en la portera. Si antes de
terminar el partido en el tiempo regular ya existe una diferencia de diez goles, el rbitro da
por terminado el encuentro.
No debe existir contacto o fuerza entre los jugadores de equipos contrarios, en caso de
presentarse esta situacin el robot agresor deber salir del campo durante treinta segundos. En
caso de cometer alguna falta contra miembros contrarios, se concede al equipo agredido un
tiro libre indirecto.
1.2.3 REGLAS DEL PARTIDO
El partido se lleva a cabo entre dos equipos. Cada uno consiste de tres jugadores y uno de
ellos debe operar como portero. Los encuentros no pueden empezar si no se cuenta con al
menos un jugador. A aquellos jugadores incapaces de pararse o caminar autnomamente no se
les permite continuar en el encuentro. Solo es posible cambiar hasta dos jugadores por
encuentro y el rbitro debe autorizar ese cambio. Cualquiera de los robots puede fungir como
portero, pero se debe informar previamente al rbitro. Cuando se necesita dar servicio al robot
por alguna complicacin dentro del encuentro, ste se debe retirar del campo y no regresar
hasta treinta segundos despus de haber sido retirado. Al regresar debe ser posicionado en
alguno de los dos extremos de la lnea central con la vista hacia el centro de la cancha.
Los robots que participan en las competencias deben cumplir con las siguientes
caractersticas: dos extremidades inferiores y dos superiores, una cabeza y un tronco; todo en
proporcin como lo muestra la Figura 1.11 y deben ser capaces de levantarse y caminar por
cuenta propia.
-
23
Figura 1.11 Dimensiones reglamentarias del Robot [31]
La altura del robot se determina de la siguiente forma:
Acm= altura del robot de los pies al centro de masa
At= altura total del robot considerando que est de pie y derecho
A= min (At, 2.2 Hcm)
La categora KidSize debe cumplir con una altura entre treinta y sesenta centmetros,
as como con otras dimensiones del cuerpo tales como el tamao del pie (debe encontrarse en
un rectngulo de A2/28) y la extensin de los brazos (debe ser menor a 1.2* A).
Los sensores autorizados en las competencias deben colocarse en una posicin similar
a la del funcionamiento biolgico humano. Por ejemplo la cmara, que funge como sensor de
visin, debe colocarse en la cabeza y los movimientos se encuentran restringidos a los mismos
que experimenta el cuello humano, 180 de izquierda a derecha, 270 de arriba abajo y 180
de hombro a hombro. Los sensores de fuerza, temperatura y tacto pueden ubicarse en
cualquier posicin. Tambin pueden colocarse sensores interiores para medir ciertos
parmetros como el voltaje, la corriente, aceleracin, fuerza y rotacin.
Cabe resaltar que los robots no pueden ser operados va remota y que, a pesar de que
es posible la comunicacin entre ellos a travs de una red inalmbrica, sta no debe exceder
1MBaud.
1.2.4 CARACTERSTICAS DEL BOGOBOT
A continuacin se describen las caractersticas del robot humanoide que compiti en Graz,
Austria. Est fabricado en aluminio y las cadenas cinemticas se encuentran motorizadas a
travs de seis servomotores de alto torque en cada pierna y tres en cada brazo. Para darle
movimiento al cuello se cuenta con dos servomotores ms que estn conectados al procesador
de la cmara y por tanto, resultan independientes de los anteriores. El procesador central es un
-
24
DSPic30f4013 el cual posee una tarjeta de control para los servomotores, la cmara
CMUCAM3 conectada, cuatro brjulas digitales conectadas a la entrada analgica, un
dispositivo electrnico IMU tambin conectado a entradas analgicas y una fuente de poder
compuesta por dos bateras de litio. La tarjeta del control de servomotores recibe todas las
posiciones angulares solicitadas y las enva a travs de seales elctricas a los servomotores.
La cmara CMUCAM3 tiene programados los algoritmos para identificacin de objetos,
seguimiento y estimacin de distancia, sin embargo todos los resultados se mandan al
procesador para la toma de decisiones.
La cmara CMUCAM3 [34] pertenece a un proyecto desarrollado por la Universidad
Carnegie-Mellon. El objetivo del proyecto es integrar un ambiente de desarrollo flexible y
sencillo con un hardware de bajo costo. La cmara es capaz de procesar veintisis cuadros por
segundo, cuenta con una resolucin CIF (352x288) en el espacio RGB, se programa en C con
el compilador GCC, puede desarrollarse en ambiente Windows o Linuxpara compilar en
Windows requiere del Cygwin, cuenta con cuatro puertos PWM para controlar los servos
de acuerdo a las imgenes que perciba. La programacin de esta cmara se lleva a cabo con
una aplicacin especial llamada Phillips Flash Utility relacionada con el procesador LPC2000,
importante componente de la cmara. A este procesador se le transfieren archivos .hex a
travs del cable serial.
1.3 MOTIVACIN
Hasta este momento, el robot Bogobot desarrollado en el Tecnolgico de Monterrey utiliza
algoritmos simples para la deteccin de colores y con ellos identifica los objetos en el medio
ambiente.
Esto ha permitido analizar hasta cinco cuadros por segundo logrando un buen
seguimiento de objetos mviles como es el caso de la pelota. Sin embargo los algoritmos de
visin embarcados en los Bogobots no permiten deducir la auto-localizacin del robot, la
ubicacin de los robots compaeros de equipo o de los contrarios. Como consecuencia de esta
situacin el equipo de robots Bogobots cuenta con un bajo desempeo en lo individual y
colectivo para mantener el control de la pelota, marcar gol rpidamente o generar una
estrategia defensiva colectiva cuando no se tiene el control de la pelota u ofensiva cuando se
encuentran en el caso contrario.
Para otorgar a los robots la capacidad de jugar como equipo y establecer acciones de
juego, en funcin de la ubicacin de la pelota y de los robots en el campo de juego, resulta
crtico que los algoritmos de visin permitan la auto-localizacin de los autmatas. Lo
-
25
anterior se efecta a partir del anlisis de los objetos fijos reconocidos en la cancha.
Por lo tanto, si los robots Bogobots contaran con algoritmos de auto-localizacin se
podran construir algoritmos de planeacin de trayectorias, navegacin y evasin de
obstculos. Los cuales mejoraran sustancialmente el desempeo de los robots al ejecutar
acciones que tomen en cuenta su posicin y la ubicacin de la pelota. Dada esta situacin, el
primer paso consistir en desarrollar un algoritmo de auto-localizacin efectivo.
1.4 OBJETIVOS
El proyecto elegido est orientado a la creacin de sistemas de percepcin y localizacin para
el equipo Bogobots que participa en la Liga RoboCup en la categora KidSize. El sistema de
percepcin se refiere a cmo el robot observa su entorno a travs de la cmara, lo cual implica
adentrarse en los algoritmos de segmentacin y clasificacin de imgenes. Una vez que puede
identificar colores ser posible identificar objetos y determinar la distancia a la cual se
localizan. El siguiente paso ser fijar su posicin en el campo al contar con puntos de
referencia definidos. La conjuncin de ambos sistemas proveer suficiente informacin al
procesador para la toma de decisiones adecuadas en momentos fundamentales tales como
pasar la pelota a un compaero, tirar a gol o defender la portera.
La meta final de este proyecto de investigacin radica en crear algoritmos de
percepcin y localizacin que funcionen y mejoren el desempeo de los Bogobots en las
siguientes competencias.
Para lograr esta meta se ha establecido el uso de una cmara comercial tipo Web con
entrada USB conectada a una computadora personal y el desarrollo de los algoritmos a travs
de MATLAB.
Se espera que una vez desarrollados y optimizados los algoritmos de percepcin, estos
puedan ser codificados en lenguaje C y colocados en la cmara CMUCAM3 que actualmente
tienen los robots Bogobots. Esto ltimo no forma parte de los alcances de este trabajo y se
plantea como trabajo futuro en el rea.
Para desarrollar el algoritmo de auto-localizacin mencionado en la seccin anterior
resulta importante trabajar en varias etapas previas, las cuales se abarcan en este trabajo. Estas
son: adquisicin de imgenes, determinacin de criterio de color para realizar la clasificacin,
segmentacin de la imagen, extraccin de caractersticas del rea segmentada, identificacin
de objetos de acuerdo a las reglas planteadas por el ambiente, estimacin de distancias y
finalmente estas distancias sern fundamentales para efectuar la localizacin del robot en el
-
26
campo de juego. En algunas de estas etapas se evaluarn diferentes tcnicas a fin de
determinar lo ms conveniente respecto a tiempo de ejecucin y resultados de procesamiento.
Como parte complementaria se desarrollar una interfaz grfica en MATLAB que
permita visualizar la salida de cada algoritmo y los resultados finales alcanzados, despus de
ejecutar el programa de localizacin.
1.5 CONSIDERACIONES IMPORTANTES DEL DOMINIO Y TESIS
Aunque la cmara CMUCAM3 cuenta con su propio procesador para almacenar y procesar
algoritmos en lenguaje C, se opt por utilizar una Webcam comercial y generar los
algoritmos en MATLAB debido a su gran versatilidad y facilidad para depurar cdigo. Todos
los algoritmos desarrollados y evaluados en este programa se podrn fcilmente transferir a
otro sistema de procesamiento.
La cmara web utilizada se llama Live! Cam Vista VF0420 de la marca Creative.
Entrega treinta cuadros por segundo en el espacio RGB y se pueden obtener cinco
resoluciones diferentes: baja (160 x120 y 176 x144), media (320x240 y 352x288) y alta
(640x480). La cmara tambin puede configurarse con algunos parmetros, tales como:
compensacin en la luz de fondo, brillantez, contraste, saturacin, balance de blancos,
exposicin, y modo de exposicin. La cmara puede girar 360 horizontal y 45 vertical. La
resolucin elegida para el desarrollo de este trabajo fue 352x288. Por otro lado, dado que
MATLAB ha sido la herramienta de programacin seleccionada, en captulos posteriores se
explicar el proceso de adquisicin de imgenes y los parmetros que pueden modificarse,
tales como el disparo o la tasa a la cual se almacenan las fotos.
1.6 ORGANIZACIN DE LA TESIS
En el siguiente captulo, se explican las nociones bsicas sobre imgenes y su procesamiento,
se definen algunas generalidades de los sistemas de clasificacin, segmentacin y
localizacin. Tambin existe un apartado especial para explicar el proceso de adquisicin de
imgenes por medio de MATLAB. Los conceptos expuestos permiten una mejor comprensin
de las tcnicas evaluadas y seleccionadas en captulos posteriores. En el Captulo 3 se
describe el proceso para determinar las clases de color. Se evalan dos criterios, superficies
implcitas y umbrales simples en HSI. Como salida se generan tablas de color reducidas y
tablas de umbrales para las tres componentes de HSI, mismas que son utilizadas en los
algoritmos de segmentacin de imgenes expuestos en el Captulo 4. En ste se explica el
-
27
proceso de segmentacin a travs de algunas tcnicas tales como el procesamiento rengln
por rengln o crecimiento de regiones a travs de un pixel semilla, el cual podr elegir el
usuario u obtener varias semillas a travs de lneas de escaneo. Se verifican los resultados
obtenidos al evaluar cada tcnica con el fin de optar por la de mejor comportamiento. En el
Captulo 5 con la informacin procesada es posible proceder con las tareas de alto nivel, tales
como la identificacin de objetos y estimacin de parmetros espaciales de objetos, cunto
miden y a qu distancia de encuentran. En el Captulo 6 se describe la implementacin del
algoritmo de localizacin. El captulo 7 explica la interfaz grfica desarrollada en MATLAB,
as como el experimento final realizado. Las conclusiones y trabajo futuro se exponen en el
captulo 8. Todos los algoritmos elaborados, adems de explicarse en cada etapa del proceso
se presentan en el captulo 9 de Anexos.
-
28
Captulo 2
2 MARCO TEORICO
La integracin a este proyecto implica proponer algoritmos en el campo de percepcin y
localizacin que mejoren el desempeo de los robots dentro de las competencias. La literatura
que se puede encontrar referente a estas reas tan extensas de investigacin es vasta, sin
embargo la aplicacin de los mtodos conocidos est sujeta a las restricciones que imponga el
objeto de aplicacin. Para entender mejor las tcnicas expuestas en captulos subsecuentes,
este captulo abarcar nociones bsicas sobre las imgenes y su procesamiento, espacio de
color y conversiones entre los mismos, histogramas, el papel determinante de la iluminacin
en la toma de imgenes, conceptos bsicos en los algoritmos de segmentacin y localizacin.
Los conceptos y definiciones presentados en este captulo con fundamentales para la
comprensin de los algoritmos de segmentacin de colores que sern expuestos en el captulo
4. El lector experimentado puede obviar este captulo y continuar con el siguiente.
2.1 CONCEPTOS SOBRE EL PROCESAMIENTO DE IMGENES
El campo del procesamiento de imgenes deriva en dos reas principalmente: mejorar la
informacin pictrica para la percepcin humana, incluyendo la impresin y transmisin, y
procesar los datos de una escena para la percepcin autnoma por una mquina. Una imagen
digital se define como una imagen descrita por la funcin f(x,y), donde x y y son las
coordenadas espaciales y f representa la intensidad de esas coordenadas. Las coordenadas
espaciales se relacionan con la resolucin de la imagen entre mayor sea el valor que
adquieran, mayor ser la resolucin. De esta forma . Tambin
puede considerarse como una matriz cuyos ndices de fila y columna identifican un punto de
la imagen y el valor correspondiente al elemento de la matriz indica el nivel de color en ese
punto. Los elementos de esa distribucin digital se conocen como pixeles, por su abreviatura
en ingls picture elements. La cantidad de valores empleados para describir un pixel depende
de cuanta informacin es empleada para representar el color de tales elementos de la imagen.
-
29
2.1.1 Etapas del procesamiento de imgenes
Gonzlez y Woods [13] en su libro proponen diversas etapas en el procesamiento de las
imgenes, tal como lo muestra la Figura 2.1. La primera es la etapa de adquisicin de
imgenes para lo cual es necesario un sensor de imgenes y la posibilidad de digitalizar la
seal producida por el sensor, el cual puede ser una cmara digital. Una vez adquirida, el
siguiente paso es preprocesar esa imagen. El objetivo principal de esta etapa es mejorar la
imagen de forma tal que se aumenten las posibilidades de xito en los procesos posteriores. Se
puede eliminar el ruido, aislar regiones que contengan informacin importante, mejorar el
contraste, aplicar filtros, etc. La tercera etapa trata de la segmentacin que consiste en dividir
una imagen de entrada en sus partes constituyentes u objetos. La salida dar como resultado
datos del pixel en bruto, que conformarn el contorno de una regin o bien todos los puntos
de una regin determinada. En la etapa subsecuente de representacin y descripcin se extrae
la informacin fundamental para diferenciar una clase de objetos de otra. Trasladando este
proceso al dominio de esta tesis, en esta etapa se sabra el color y la cantidad de pixeles que
posee esa regin. Esto brinda informacin a la siguiente fase de reconocimiento e
interpretacin, de tal forma que se pueda asignar una etiqueta al objeto identificado que cubra
ciertas caractersticas.
Figura 2.1 Diagrama proceso de adquisicin y anlisis de imgenes propuesto por Gonzlez & Woods [13]
Acompaando a estas etapas se encuentra una base de conocimiento que permite
detallar las regiones de una imagen o definir las condicionantes para reconocer y asignar
etiquetas a una imagen. En este trabajo la base del conocimiento son todas las caractersticas
de tamao y color de los objetos del ambiente en la competencia de ftbol de la categora
humanoide KidSize de RoboCup.
-
30
Dentro de cada etapa mostrada en la Figura 2.1 se aplican distintos algoritmos. Las
tcnicas utilizadas pueden dividirse en tres reas bsicas que agruparn a una o dos de las
etapas descritas previamente: procesado de bajo nivel, procesado de nivel intermedio y
procesado de alto nivel.
El procesado de bajo nivel considera un tipo de funciones a las que se puede
considerar reacciones automticas y que no requieren inteligencia por parte del sistema de
anlisis de imgenes. Las dos primeras etapas, adquisicin y pre procesamiento, entran en esta
clasificacin. Los algoritmos destinados a preprocesar la imagen son aquellos que buscan
reducir el ruido, mejorar el contraste u homogeneizar el color. El procesamiento de nivel
intermedio se refiere a la labor de extraer y caracterizas los componentes de la imagen, por lo
tanto la etapa de segmentacin y descripcin se consideran en este procesamiento. El
procesamiento de alto nivel se encarga de entender la imagen, por lo que la etapa de
identificacin de objetos en una imagen y estimacin de parmetros recae en esta
clasificacin.
En este trabajo se aplica el esquema propuesto por Woods [13] y Firket [8] de procesar
la imagen en tres niveles, primero con algoritmos de adquisicin y discriminacin de
regiones, seguidos por los algoritmos de segmentacin y extraccin de caractersticas de las
regiones, para finalmente entregar los resultados de esta etapa y comenzar el procesamiento
de alto nivel con tareas como la identificacin de objetos, estimacin de caractersticas
espaciales y localizacin del autmata en su entorno.
2.1.2 Nociones bsicas sobre imgenes
Las imgenes son proyecciones bidimensionales de escenas tridimensionales, representadas
por f(x,y) donde x y y son las coordenadas espaciales y el valor de f representa la intensidad en
dichas coordenadas. Cuando las imgenes son en blanco y negro solo se requiere de una
funcin. En cambio una imagen a color necesita de tres funciones independientes f1, f2 y f3, en
las cuales se representa la intensidad del pixel para cada componente. Las imgenes
capturadas durante un encuentro en RoboCup son a color, tratadas en diferentes espacios
dependiendo de las caractersticas de la cmara. Por ejemplo el equipo Darmstadt, campen
de las competencias 2009, utiliza el espacio YUV, mientras que el equipo del TEC-CEM
emplea el espacio RGB.
La Figura 2.2.a muestra la idea de los pixeles como arreglos de columnas y filas que
almacenan un valor de intensidad. Para una imagen compuesta de grises slo se tendr una
malla o canal, pero cuando la imagen es de color, sin importar el espacio elegido, se hablar
-
31
de tres mallas o canales. La Figura 2.2 b explica la resolucin de una imagen ya que se define
como el nmero de columnas x renglones que posee la imagen, lo cual significa que una
imagen con resolucin de 388 x252, tendr 352 columnas por 288 renglones.
Figura 2.2 Pixeles como arreglos de columnas y renglones.
Para una imagen en escala de grises, el pixel se representa por un dgito de ocho bits,
por lo tanto el rango de cuantificacin es [0,255] con cero correspondiendo al negro y el 255
al blanco. La escala de grises se distribuye en ese rango. Si el pixel se representa por un bit, el
rango ir de 0 a 1, y esta se denominar imagen binaria. Entender el concepto de imgenes
binarias ser de gran utilidad para el desarrollo de este trabajo. La Figura 2.3 muestra un
ejemplo de la extraccin de pixeles de una imagen binaria en la cual el blanco est
representado por 1 y el negro por 0.
Figura 2.3 Extraccin de pixeles de una imagen binaria [19]
Para las imgenes a color basadas en el espacio RGB se presenta la siguiente
ecuacin: a(i,j)=[R,G,B]T donde cada canal de color se cuantifica por un entero de ocho bits,
es decir, el nmero de colores posibles representado por un pixel se determinar 28 x 2
8 x 2
8 y
por lo tanto habr 1.677 x 107 colores posibles.
-
32
El contenido de una imagen se encuentra codificado en un espacio de color que se
define mediante la combinacin de sus componentes y la distribucin del color en el espacio
delimitado por el rango de sus valores. Forsyth y Ponce describen en su libro [29] dos tipos
de clasificaciones: espacios lineales y espacios no lineales.
2.1.3 Espacios de color
La base de los espacios lineales se encuentra en el uso de un conjunto de colores primarios.
Los espacios de color RGB y YUV pertenecen a esta categora. Dentro de este trabajo la
primera aproximacin para la clasificacin de color se hizo a travs del espacio RGB.
Los espacios no lineales incluyen propiedades propensas a perderse en los espacios
lineales y que describen los colores en trminos ms comprensibles para el ojo humano.
Dentro de estas descripciones se encuentran el tono, la saturacin y la intensidad o
luminosidad. Ejemplos de estos espacios son: HSI (Hue, Saturation and Intensity) HSV (Hue
Saturation and Value), HLS (Hue, lightness and saturation). De acuerdo a J.Russ [36], el tono
describe al color por su longitud de onda, por ejemplo la diferencia entre amarillo y rojo es
fcil identificar por las caractersticas que cada uno posee y que marcan la diferencia con los
dems. La saturacin es la cantidad de ese color o cmo se diluye con la luz blanca. Ejemplo:
la diferencia entre rosa y rojo. La tercera componente de los espacios mencionados es la
intensidad, luminosidad o valor, trminos que describen la cantidad de luz en un color. Por
ejemplo, la distincin entre un color rojo carmn y un rojo bandera.
Despus de analizar las ventajas del uso de este tipo de espacios se modificaron los
algoritmos para trabajar en el espacio HSI y se realizaron las conversiones pertinentes entre el
espacio RGB y HSI, ya que las fotos adquiridas por las cmaras solo es posible obtenerlas en
espacios lineales como RGB o YUV.
RGB es un espacio de color lineal que utiliza los colores primarios Rojo (Red), Verde
(Green) y Azul (Blue), definidos por las longitudes de onda 645.16nm, 526.32nm y 444.44nm
respectivamente. Las imgenes representadas en RGB se forman con las tres componentes
definidas por los colores primarios mencionados. Con estas tres componentes el nmero de
combinaciones posibles ser 1.677 x 107, tal como se mencion en la seccin previa.
Una imagen en el espacio RGB es un arreglo tridimensional M x N x 3, donde M se
refiere al nmero mximo de renglones, N al nmero mximo de columnas y 3 a cada uno de
las componentes de este espacio, es decir rojo, verde y azul, generalmente se representa a
travs de un cubo para mostrar la progresin de cada color tal como se muestra en la Figura
2.4 . El eje de referencia muestra que una combinacin particular de intensidad las tres
-
33
componentes dar como resultado un color en especfico. Por ejemplo el color Cyan se
obtiene con R=0, B=255 y G=255. Los extremos de este cubo sern los colores negro y
blanco, cuyas intensidades sern (0,0,0) para el caso del negro y (255,255,255) para el blanco.
Figura 2.4 Representacin del espacio RGB. Imagen tomada de [36]
YUV se trata de un espacio lineal, con una profundidad de pixel de veinticuatro bits.
En este modelo, la componente o canal representa la luminosidad del pxel, mientras que la u
(cb) y la v (cr) definen el color o croma. Particularmente, el canal u representa la cantidad de
azul, mientras que el canal v manifiesta la cantidad de rojo.
El espacio HSI describe el tono, saturacin e intensidad de un color. Este espacio tiene
la capacidad de separar la intensidad de la informacin intrnseca del color, la cual se referira
al tono y saturacin. Por tal motivo su uso es recomendable para el procesamiento de
imgenes. Estos valores se pueden graficar en un espacio circular, hexagonal, triangular,
cnico o cilndrico. Sin embargo la forma ms comn de representarlo es con un doble cono,
como el que se muestra en la Figura 2.5. El centro de este doble cono ser una circunferencia
dividida en ngulos de igual magnitud. Para mostrar los seis colores representados en el cubo
de RGB, cada seccin ser de 60. Por tal motivo R, Y, G, C, B, M se refieren a Red, Yellow,
Green, Cyan, Blue y Magenta respectivamente. La distancia del centro de esa circunferencia
al exterior representa la saturacin encontrada en cada color y finalmente el eje que atraviesa
ambos conos corresponde a la componente de la intensidad. Esta tendr un valor normalizado
de 0 (negro) a 1 (blanco). Al extraer una pequea circunferencia de la figura formada por
ambos conos, los colores cercanos a una intensidad de 1 sern ms claros que aquellos
cercanos a cero.
B (0,0,255)
R (255,0,0)
G (0,255,0)
-
34
Figura 2.5 Representacin del espacio HSI. Imagen tomada de [36]
La capacidad de separar la intensidad o luminosidad de las otras componentes provoca
que el espacio HSI resulte til para el procesamiento de imgenes ya que permite dejar de
lado los cambios de iluminacin que se presenten en el ambiente a trabajar.
Ren Honge y Zhong Qiubo en su artculo A new Image Segmentation Method Base
on HSI Color Space for a Biped Soccer Robot [17], exponen el uso del HSI para la
segmentacin en el sistema de visin de un robot bpedo. Su sistema de visin se basa en un
anlisis dinmico de la componente I, referente a la intensidad y aplican el algoritmo de Fuzzy
K-means para llevar a cabo la segmentacin. Calin Rotaru, el Dr. Thorsten Graf y el Dr.
Zhang Jianwei en su estudio sobre la segmentacin de imgenes en aplicaciones
automovilsticas para Volkswagen [35] tambin emplean el espacio HSI para realizar el
algoritmo de visin. La ventaja que encontraron es la relacin que guarda este espacio con la
iluminacin. Mientras que en el espacio RGB cada componente est relacionada entre s y
aparentemente en el anlisis un mismo color con diferente iluminacin puede clasificarse
errneamente, en el espacio HSI ese color conserva las caractersticas esenciales sin importar
la iluminacin ya que las componentes son independientes.
Dado que los componentes del espacio HSI no corresponden a la forma en la que la
mayora de los dispositivos trabajan, ya sea para la adquisicin o el despliegue de la imagen,
es necesario convertir de imgenes codificadas bajo RGB a imgenes en HSI y viceversa. La
posibilidad de esta conversin tiene su origen en el hecho de que el espacio RGB est
compuesto por tres intensidades monocromticas y si partimos del cubo que define el espacio
-
35
observaremos que en los extremos diagonalmente se ubican el vrtice de color negro y el
blanco. Al dibujar un plano imaginario perpendicular a ese eje diagonal, que incluya alguna
de las otras seis esquinas del cubo, la interseccin de los mismos representar las intensidades
con valores del cero al uno para cada color: rojo, amarillo, azul, verde, cyan y magenta. Otro
aspecto a denotar es que la pureza del color o saturacin incrementar en funcin de la
distancia al eje de la intensidad. El ltimo punto que falta es el tono, para lo cual haremos uso
de la Figura 2.4, al imaginar un plano formado entre los puntos blanco, negro y cian. El hecho
de que los puntos referentes al blanco y negro pertenezcan al plano indica que el eje de la
intensidad se encuentra en ese plano tambin. Todos los puntos contenidos en ese plano tienen
el mismo tono, pero con diferentes combinaciones formadas al mezclar los tres colores, lo que
da como resultado componentes en intensidad y saturacin. Al rotar el plano 360 alrededor
del eje vertical de la intensidad se obtendran diferentes tonalidades. Bajo esta explicacin se
encuentra el fundamento de que las componentes requeridas para el espacio HSI se pueden
obtener del cubo RGB.
A continuacin se presentan las frmulas de conversin entre HSI y RGB. Estas
frmulas fueron tomadas de [12].
Conversin RBG a HSI
Sea R, G, B las intensidades normalizadas que van de 0 a 1, se tiene lo siguiente:
(2.1)
(2.2)
(2.3)
(2.4)
-
36
Conversin HSI a RGB
La ecuacin a aplicar depender de los valores de la componente H, la cual se dividir
en tres sectores de 120. Estos intervalos corresponden a la separacin existente entre los
colores primarios: Rojo, Verde y Azul. Considerando que los valores para cada componente
HSI estarn normalizados y que
Sector RG
(
2.5)
(
2.6)
(
2.7)
Sector RG
(2.8)
(2.9)
(2.10)
(2.11)
Sector RG
(2.12)
(2.13)
(2.14)
(2.15)
Los algoritmos para efectuar la conversin entre espacios fueron tomados del libro
Digital Image Processing de Gonzlez y Woods [12] y emplean las ecuaciones descritas
anteriormente. Se presentan al final de este trabajo en el Anexo A.1 y A.2
-
37
Conocer los espacios de color ser crucial para el desarrollo del trabajo pues
determinan la distribucin que presentan las coloraciones de los objetos, lo cual se requiere
para realizar la clasificacin de color.
2.1.4 La iluminacin como factor clave en el procesamiento de imgenes
Como se mencion anteriormente, una imagen se refiere a una funcin bidimensional
donde el valor o la amplitud de f en las coordenadas espaciales (x, y) dan la intensidad o
iluminacin de la imagen en ese punto. Las imgenes percibidas en las actividades cotidianas
provienen normalmente de la luz reflejada por los objetos, de tal forma que la funcin antes
descrita estar caracterizada por dos componentes, uno referente a la cantidad incidente
procedente de la fuente sobre la escena contemplada y la segunda relacionada con la cantidad
de luz reflejada por los objetos. Dicho fenmeno se ilustra en la Figura 2.6. Estos elementos
reciben el nombre de componentes de iluminacin y refractancia y describirn a la funcin de
la intensidad:
(2.16)
Figura 2.6 Modelo de color basado en una luz que incide en una superficie y dicha superficie lo refleja
Forsyth [29] en su libro indica que existen dos tipos de superficies de acuerdo a estas
condiciones de incidencia y refractancia, las superficies difusas y las especulares. Las
primeras resultan ideales para el procesamiento de imgenes, pero a la vez son poco
frecuentes. Su BRDF1 es independiente de la direccin de salida y de entrada, lo cual significa
que lucir igual de brillante desde cualquier ngulo. Por otro lado las superficies especulares
son aquellas brillantes como los espejos. En ellas la radiacin que llega en una direccin
particular solo puede salir en direccin normal a la superficie. Esta salida forma zonas
brillantes alrededor de ella, conocidas como especularidades, las cuales pueden provocar
1 Radio de la radiacin en la direccin de salida con respecto a la potencia de luz total que incide en un rea.
-
38
ruido en el proceso de segmentacin. Debido a que una imagen se puede capturar bajo
diferentes condiciones de iluminacin y esto provocar variaciones en el color, esta
caracterstica afecta de forma importante la segmentacin de la imagen. Al respecto es posible
atacar dos variables para solucionar el problema, una de ellas hace referencia al control de las
condiciones de iluminacin y la otra a la aplicacin de algoritmos que afronten este tipo de
dificultades.
La primera es sencilla, pues despus de probar diferentes tipos de luminarias se
encontrar aquella en la cual se perciban mejor los colores para la aplicacin deseada. Al
controlar esta variable, ser posible implementar algoritmos de segmentacin que consideren
una umbralizacin global simple. Lo anterior significa que se fijarn rangos en el espacio de
color deseado dentro de los cuales se analizarn y evaluarn los pixeles, pero esos rangos no
sern dinmicos y no ofrecern alternativas a variaciones en la iluminacin. Este tipo de
soluciones son frecuentes en aplicaciones de inspeccin industrial. Dentro del ambiente de
RoboCup esta opcin no es factible pues hasta el 2008 las condiciones de iluminacin se
encontraban controladas y abarcaban un rango de 600 a 1200 lux. Posteriormente estas
limitantes se eliminaron y las reglas solo marcan que el encuentro se lleva a cabo en un campo
iluminado. Restringir estos controles tiene relacin con la evolucin de la categora y por ende
con un acercamiento a condiciones ms reales.
De no ser posible el control de la iluminacin existen varias alternativas. La primera
depende de tener acceso a la fuente de iluminacin y consiste en proyectar el patrn de
iluminacin sobre una superficie reflejante blanca constante. Esta solucin produce una
imagen donde k es una constante que depende de la superficie e es
el patrn de iluminacin. Cualquier imagen dividida entre
resultar en una funcin normalizada y as se puede
segmentar empleando un umbral nico T. Este mtodo descrito por John Russ [36] solamente
funcionar correctamente si el patrn de iluminacin producido por no cambia de
imagen a imagen.
La siguiente opcin [36] emplea la tcnica de sustraccin de fondo o background
substraction. Los pasos a seguir son: adquirir la imagen, extraer el fondo de la misma y
almacenar la intensidad. Posteriormente cada punto de la imagen de fondo se restar de cada
punto de las imgenes subsecuentes. La desventaja es que durante este proceso algunos datos
de las imgenes podran perderse adems de que existir un gran ruido estadstico al elaborar
la operacin.
-
39
Otra de las tcnicas [36] analiza los datos arrojados por el histograma de la imagen y
obtiene una funcin densidad de la probabilidad de brillo. Lamentablemente solo es aplicable
si existieran dos