tesis_lucia_barrera procesamiento de imágenes

212
1 INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY RECTORÍA ZONA CENTRO MAESTRÍA EN CIENCIAS DE LA INGENIERÍA DESARROLLO E IMPLEMENTACIÓN DE ALGORITMOS PARA EL SISTEMA DE PERCEPCIÓN Y LOCALIZACIÓN DE LOS ROBOTS BOGOBOTS TESIS PARA OPTAR POR EL GRADO DE MAESTRO EN CIENCIAS DE LA INGENIERÍA LUCIA BARRERA TOVAR Asesor: Dr. ALEJANDRO ACEVES LÓPEZ Comité de Tesis: Dr. MIGUEL GONZÁLEZ MENDOZA (ITESM-CEM) Dr. JESÚS SAVAGE CARMONA (UNAM) Dr. JUAN MANUEL IBARRA ZANNATHA (CINVESTAV) Atizapán de Zaragoza, Edo. Méx., 26 de Abril de 2010.

Upload: rosa-maria-de-anda-lopez

Post on 03-Oct-2015

268 views

Category:

Documents


5 download

DESCRIPTION

muy bueno

TRANSCRIPT

  • 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