46 229-1-pb

239 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
239
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

46 229-1-pb

  1. 1. X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERES 87 Uso de algoritmos gen´ ticos para detecci´ n de e o objetos en tiempo real Jes´ s Mart´nez-G´ mez1 , Jos´ A. G´ mez1 , Ismael Garc´a-Varea1 , Vicente Matell´ n2 u ı o e a ı a Departamento de Sistemas Inform´ ticos a 1 , Dept. de Ingenier´a Mec´ nica, Inform´ tica y Aeroespacial2 ı a a Universidad de Castilla-La Mancha1 , Universidad de Le´ n2 o Albacete1 , Le´ n2 , Espa˜ a o n {jesus martinez, jgamez, ivarea}@dsi.uclm.es1 , vicente.matellan@unileon.es2 Abstract—El art´culo presenta un sistema de Visi´ n para la ı o informaci´ n base, de forma que la validez de los primeros odetecci´ n de objetos mediante el uso de algoritmos gen´ ticos. o e ´ individuos generados permita alcanzar soluciones optimas trasLa principal aportaci´ n del mismo consiste en la adaptaci´ n al o o un reducido n´ mero de iteraciones. utiempo real de algoritmos generalmente utilizados offline. Paraconseguir esto se necesita una ejecuci´ n eficiente que reduzca al o ´ En lugar de reducir unicamente el n´ mero de iteraciones e u ´m´ ximo la complejidad del algoritmo. El ambito de aplicaci´ n a o individuos, ciertos trabajos proponen el uso de algoritmosdel sistema es el campeonato de futbol rob´ tico RoboCup1 , en ´ o evolutivos celulares[6], que muestran un buen comportamientoconcreto la categor´a Standard Platform, y debe permitir detectar ı antes tareas de optimizaci´ n, que necesiten una alta eficacia oy estimar distancias a los objetos relevantes dentro de un estadio con un n´ mero reducido de iteraciones. u ´de futbol. Se realizaron diferentes experimentos dentro de uncampo oficial RoboCup. La informaci´ n utilizada para inicializar una nueva poblaci´ n o o la obtendremos de un procesamiento previo de la imagen Index Terms—Visi´ n por computador, algoritmos gen´ ticos, o e ı ´ capturada, as´ como de la ultima poblaci´ n evolucionada por orob´ tica, procesamiento de im´ genes, Nao. o a el anterior algoritmo. Clonando individuos de poblaciones anteriores para formar una nueva poblaci´ n, aprovecharemos o I. I NTRODUCTION la alta similitud entre sucesivas im´ genes capturadas por una a El procesamiento de im´ genes es uno de los puntos clave a c´ mara de visi´ n acoplada a un robot m´ vil. a o odentro de la rob´ tica m´ vil actual, ya que las c´ maras de o o a Si una captura recoge un objeto situado a una determinadavisi´ n son el principal dispositivo, a partir del cual obtener o distancia, la siguiente captura tomada por la c´ mara posee ainformaci´ n del entorno. o una alta probabilidad de mostrar el mismo objeto situado aEste procesamiento debe realizarse en tiempo real, con una una distancia similar.capacidad de procesamiento limitada y manejando im´ genes a Nuestra hip´ tesis consiste en que utilizando esta similitud oruidosas, o de baja calidad. Los sistemas de visi´ n desarrol- o entre im´ genes, as´ como la informaci´ n obtenida en un proce- a ı olados para rob´ tica m´ vil, poseen una serie de caracter´sticas, o o ı samiento previo, podemos desarrollar un sistema de visi´ n oentre las que destaca un grado m´ ximo de eficiencia, que a basado en algoritmos gen´ ticos capaz de trabajar en tiempo epermita procesar el mayor n´ mero de im´ genes por segundo u a real.que la c´ mara pueda obtener. a Para evaluar la propuesta se han realizado pruebas sobre unHasta el momento se han propuesto un gran n´ mero de u escenario real con el robot b´pedo Nao, oficial dentro de ısoluciones, que en su mayor´a han optado por el uso de ı la competici´ n RoboCup Standard Platform, realizando la oprocesamientos sencillos, utilizando como informaci´ n base o detecci´ n de objetos clave dentro de un campo de f´ tbol o ula obtenida mediante procesos de filtrado por color[1]. De rob´ tico, como las porter´as y la pelota. o ıentre estas soluciones, destaca el uso de l´neas de escaneo[2] ı El resto del art´culo se organiza de la siguiente forma. La ıo soluciones basadas en la detecci´ n de bordes[3], que se o secci´ n II est´ dedicada a las restricciones del problema. o autilizan ampliamente en la categor´a Standard Platform de la ı El sistema completo de Visi´ n se presenta en la secci´ n o oRoboCup[4]. III, mientras que la secci´ n IV recoge los experimentos y oLa propuesta que aqu´ se presenta ofrece un enfoque diferente, ı ´ resultados. Por ultimo, la secci´ n V muestra las conclusiones oestudiando la viabilidad de utilizar algoritmos gen´ ticos[5] e y trabajo futuro.en tiempo real, para realizar el reconocimiento de objetos.Para mejorar la eficiencia del sistema desarrollado, el n´ mero u II. R ESTRICCIONES DEL PROBLEMAde iteraciones e individuos utilizados en cada ejecuci´ n del o El sistema de Visi´ n debe ser v´ lido para su uso dentro o aalgoritmo deben reducirse lo m´ ximo posible. Para que esta a de la categor´a Standard Platform, por lo que ser´ aplicado ı areducci´ n no afecte a las prestaciones del algoritmo, la ini- o con im´ genes capturadas por la c´ mara del robot Nao2 , que a acializaci´ n de cada poblaci´ n utilizar´ una gran cantidad de o o a obtiene 30 im´ genes por segundo de 320 x 240 p´xeles, en el a ı 1 http://www.robocup.org/ 2 http://www.aldebaran-robotics.com/eng/Nao.php
  2. 2. 88 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERESespacio de color YUV[7]. Azul, Porter´a Amarilla y Pelota), por lo que mantenemos ıPara reducir la informaci´ n con la que trabajamos, las o 3 poblaciones separadas de individuos. La elecci´ n de si es oim´ genes captadas por el robot se filtran previamente, elimi- a necesario o no evolucionar una nueva poblaci´ n tras la llegada onando los p´xeles que no hayan pasado un cierto filtro de color. ı de una nueva imagen, depender´ de si al aplicar el filtro de aDentro del entorno Robocup, los colores clave que poseen color espec´fico, hemos obtenido una cantidad suficiente de ılos objetos son el amarillo y azul para las porter´as, verde ı p´xeles. El esquema general es el mostrado en la figura 2. ıpara el c´ sped, naranja para la pelota, y blanco para las l´neas e ıdel campo, los contrarios y compa˜ eros. Adem´ s de esto, la n a Capturar una nueva imagenequipaci´ n de cada jugador est´ formada por una serie de o a Filtrar la imagen inicial con los filtros de colorelementos de color rojo o azul oscuro. para cada objetoEl filtrado se realiza definiendo los valores m´ ximo y m´nimo a ı si hemos obtenido un n´ mero de suficiente de p´xeles u ıde cada componente de color Y, U y V, de forma que un Evolucionar una nueva poblaci´ n o ´p´xel unicamente pasar´ un filtro si todas sus componentes se ı a Aplicar b´ squeda local sobre el mejor individuo uencuentran dentro de estos l´mites. ı Devolver distancia estimada al objetoUn ejemplo de filtrado lo tenemos en la imagen 1, donde se fin sipuede observar la imagen original y la obtenida tras aplicar fin paraun filtro con el color azul de la porter´a. ı Fig. 2. Esquema general de procesamiento del sistema ´ Para evitar caer en optimos locales, la poblaci´ n de indi- o viduos se inicializar´ de nuevo tras realizar un determinado a n´ mero de iteraciones sin mejora. Durante el proceso de u evoluci´ n, se almacena el mejor valor de fitness obtenido o hasta el momento, de forma que al terminar cada iteraci´ n o aumentaremos el n´ mero de iteraciones sin mejora (si el mejor uFig. 1. Filtrado de color para la porter´a azul ı fitness de la iteraci´ n no supera el m´ ximo global), o estable- o a ceremos este contador a cero (si la iteraci´ n proporciona un o El procesamiento debe permitir detectar los objetos durante nuevo m´ ximo global). aun partido, lo que implica oclusiones parciales de los objetos,donde la c´ mara solamente detecta un porcentaje total del aobjeto. Ante este tipo de situaciones, los m´ todos tradicionales e B. Representaci´ n de Individuos obasados en l´neas de escaneo presentan muchos problemas, ımientras que el m´ todo aqu´ propuesto act´ a de forma robusta, e ı u Adem´ s de la distancia entre un objeto y la c´ mara, tambi´ n a a ecomo se comprobar´ en la secci´ n de resultados. a o es importante conseguir detectar la orientaci´ n entre ambos o elementos. ´ III. S ISTEMA DE V ISI ON En primer lugar, esta informaci´ n adicional ser´ necesaria o a para la futura toma de decisiones, as´ como para tareas ı Un algoritmo gen´ tico evoluciona una poblaci´ n de individ- e o de localizaci´ n[8]. De forma adicional, necesitamos esta ouos, los cuales representan soluciones potenciales al problema informaci´ n para poder aplicar la funci´ n de fitness utilizando o ogeneral. En nuestro caso, un individuo debe representar la de- im´ genes capturadas por la c´ mara, ya que las capturas a atecci´ n de un objeto a una cierta distancia, con una orientaci´ n o o obtenidas dependen de la distancia d y con la orientaci´ n orelativa determinada. relativa entre el objeto y la c´ mara. aPara evaluar la bondad o fitness de cada individuo, contrasta-mos la informaci´ n que transporta (objeto o situado a distancia od) con la informaci´ n extra´da de la ultima imagen capturada o ı ´por la c´ mara del robot. Si la informaci´ n que porta un a o ı ´individuo es veros´mil, dada la ultima captura, se le otorgar´ aun alto valor de bondad. Si por contra, en la imagen capturadano aparece el objeto o que representa el individuo, o aparece auna distancia muy distinta a d, el individuo obtendr´ un valor abajo valor de bondad.A. Esquema general de procesamiento Nuestro esquema estar´ dirigido por la llegada de nuevas aim´ genes a la c´ mara, de forma que cada vez que llegue a auna captura, evolucionaremos un conjunto de poblaciones paradetectar cada uno de los objetos que queremos detectar.En nuestro caso, detectamos hasta 3 objetos distintos (Porter´a ı Fig. 3. Captura de imagen y orientaci´ n relativa entre c´ mara y pelota o a
  3. 3. ´ ´USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL 89 La figura 3 muestra como la imagen capturada por la c´ mara a par´ metro a partir de otros, es que el algoritmo ser´ totalmente a arepresenta la pelota, cuando se encuentra a una determinada dependiente de una correcta obtenci´ n de γ, y dejar´ de o adistancia d, y la diferencia de orientaci´ n entre el objeto y la o funcionar si la precisi´ n de esta medida se reduce. oc´ mara en el eje x es α, y en el eje y β. a En robots equipados con articulaciones, como es nuestro caso,Si los valores de α o β variasen en la figura 3, manteniendo los movimientos del robot provocan grandes movimientos yla distancia d, la captura de la c´ mara mostrar´ una pelota a a oscilaciones en la c´ mara, haciendo realmente complicado ade similares proporciones, pero situada en una zona distinta. obtener de forma precisa γ.Incluso si la variaci´ n es grande, la c´ mara no capturar´ la o a a En robots con ruedas, el movimiento del robot afectar´ en apelota. menor medida a la c´ mara, y la obtenci´ n de γ podr´ realizarse a o aNo es necesario utilizar una componente adicional con la con mayor precisi´ n, de forma que no ser´ necesario modelar o adiferencia de orientaci´ n en el eje z, debido a que mediante o el par´ metro β, ya que puede calcularse de forma fiable. at´ cnicas de detecci´ n del horizonte[9], podemos aplicar trans- e o Obviar este par´ metro mejorar´ la convergencia del algoritmo a aformaciones a las im´ genes capturadas para obtener todos los a gen´ tico, ya que los individuos contendr´ n un menor n´ mero e a uobjetos de la imagen paralelos al suelo. ´ de genes y se alcanzar´ n soluciones optimas con un menor aCada individuo de la poblaci´ n almacena la siguiente infor- o n´ mero de iteraciones. umaci´ n (genes): o • Distancia del objeto al robot: d. D. Funci´ n de fitness o • Diferencia de orientaci´ n en el eje x: α. o • Diferencia de orientaci´ n en el eje y: β. o La funci´ n de fitness seleccionada debe ser eficaz, y o devolver valores que eval´ en la validez de la proyecci´ n u o Cada uno de estos tres genes est´ representado por un valor a generada por el individuo < d, α, β >. Para evaluar lanum´ rico, limitado el caso de α y β al angulo de visi´ n de e ´ o informaci´ n que representa el individuo, traducimos esta ola c´ mara del Nao, y en el caso de la distancia, a la distancia a informaci´ n en una proyecci´ n del objeto que representa. La o om´nima y m´ xima a la que deseamos realizar la detecci´ n. ı a o proyecci´ n necesita una posici´ n < x, y > de comienzo en la o oPara poder realizar correctamente la funci´ n de fitness, los o imagen, obtenida a partir de los par´ metros α y β. El tama˜ o a nindividuos utilizados para detectar las porter´as deben contener ı del objeto proyectado depender´ del par´ metro d. a aun gen adicional denotado por θ, que represente la orientaci´ n o Para evaluar esta proyecci´ n, la comparamos p´xel a p´xel con o ı ıque la porter´a muestra en la captura. Este par´ metro es ı a la informaci´ n obtenida en el proceso de filtrado, utilizando onecesario, ya que dos capturas de una misma porter´a, con ı el color espec´fico del objeto a detectar. Cada p´xel < x, y > ı ılos mismos par´ metros < d, α, β >, variar´ n enormemente a a de la proyecci´ n se considera v´ lido si el p´xel < x, y > de la o a ısi la porter´a posee diferentes orientaciones. Esta situaci´ n se ı o imagen capturada ha superado el filtro de color, y no v´ lido apuede comprobar en la figura 4. en caso contrario. Un ejemplo puede verse en la figura 5, donde a la izquierda se muestra la imagen filtrada con el color naranja, y a la derecha el resultado de evaluar 12 individuos, donde los p´xeles ı rojos sumar´an valores negativos, y los verdes positivos, por ı corresponderse con p´xeles que han superado el filtro de color. ıFig. 4. Im´ genes obtenidas variando el par´ metro β a aC. Obtenci´ n del par´ metro β o a Si conocemos en el momento de capturar una imagen elangulo que posee la c´ mara del robot en el eje y respecto al´ asuelo, el par´ metro β puede obviarse. En lugar de modelar a Fig. 5. Imagen filtrada(izq) y estudio de 12 individuos para detectar laeste par´ metro β, se calcular´ utilizando la distancia d, la a a pelota(dcha)orientaci´ n en el eje x α, y la orientaci´ n relativa γ en el eje y o oentre la c´ mara del robot y el suelo. Gracias a ello, evitaremos a Dado que obtenemos la cantidad de p´xeles positivos ıexplorar zonas del espacio que representen soluciones que no y negativos de una proyecci´ n, la primera idea para la opuedan darse. funci´ n de fitness consisti´ en utilizar el porcentaje de o oSi conocemos γ y el campo de visi´ n de la c´ mara, podemos o a p´xeles de la proyecci´ n que han superado el filtro. Esto ı oobtener la distancia m´nima y m´ xima a la que somos capaces ı a conlleva un importante problema, ya que favorece individuosde detectar objetos. Si γ es cercano a 90 grados, el robot que representan objetos lejanos, que obtienen proyeccionesdetectar´ objetos situados a distancia lejanas, pero no detectar´ a a m´ s peque˜ as con mayor probabilidad de obtener un alto a nla pelota cuando esta se encuentre a peque˜ as distancias. n porcentaje de p´xeles que pasen el filtro de color. ıEl principal problema de no modelar β y obtener este Debido a este problema, y aprovechando que durante el
  4. 4. 90 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERESproceso de filtrado obtenemos la cantidad de p´xeles que ha ısuperado cada filtro de color, devolvemos como valor de fitness CloneP rob : M W − M W ∗ (N F W U/M F N )el valor m´nimo de los dos siguiente valores: ı InitialInf oP rob : (1 − (CloneP rob)) ∗ 0.66 • % de p´xeles de la proyecci´ n que han superado el filtro ı o RandomlyP rob : (1 − (CloneP rob)) ∗ 0.34 • % de p´xeles de la muestra de color que se utilizan en la ı proyecci´ n superando el filtro o Aumentar el n´ mero de individuos generados aleatoria- u Para ilustrar como funciona, estudiamos en la figura 5 los mente fomentar´ la diversidad de la poblaci´ n inicial. Uti- a oindividuos A y B. Mientras que B posee un mayor porcentaje lizando la informaci´ n de filtrado, aumentaremos el elitismo ode p´xeles que han superado el filtro que A (70 frente a 45), ı ı ´ del algoritmo, as´ como el riesgo de caer en optimos lo-´unicamente un 5% de los p´xeles que superaron el filtro naranja ı cales. El uso de individuos clonados de iteraciones anteriores,pertenecen al objeto B, frente al 35% de A aproximadamente. permitir´ una r´ pida convergencia ante peque˜ as variaciones a a nEl fitness final ser´ de 0.35 para A y 0.05 para B. a entre capturas. Combinando correctamente estas tres opciones, aseguraremos el equilibrio entre elitismo y generalidad. Selec- cionamos los valores de 0.66 y 0.34 con el objetivo de obtener una poblaci´ n inicial heterog´ nea, en base a los test emp´ricos o e ıE. Inicializaci´ n de la poblaci´ n o o preliminares. La inicializaci´ n de la poblaci´ n de un algoritmo gen´ tico o o esuele ser aleatoria, generando uniformemente en los l´mites ı F. Oclusi´ n parcial de objetos ode los genes, pero en nuestro caso usaremos poblaciones En entornos complicados y cambiantes como los escenariosinformadas. En primer lugar podemos utilizar individuos que RoboCup, es indispensable que el sistema de visi´ n funcione oprovengan de la poblaci´ n de capturas anteriores. Adem´ s, o a de forma robusta ante oclusiones de objetos, ya que los objetosdurante el proceso de filtrado obtuvimos el n´ mero de p´xeles u ı que deseamos detectar se encontrar´ n la mayor parte del ade la muestra de cada color, as´ como la componente x e y ı tiempo ocultos, parcial o totalmente tras otros objetos. Dedel centroide de la distribuci´ n, lo cual puede utilizarse para o forma adicional, la c´ mara del robot obtendr´ un gran n´ mero a a uinicializar los nuevos individuos. de capturas que recojan parcialmente el objeto, debido a laAprovechando esta informaci´ n, generamos individuos de 3 o orientaci´ n entre la c´ mara y el objeto. o amaneras distintas: La propuesta actual funciona correctamente ante oclusiones, ya que durante la evaluaci´ n de un individuo se estudia su o • Aleatoriamente proyecci´ n completa, y no caracter´sticas parciales del objeto. o ı • Utilizando la informaci´ n obtenida en el proceso de o Cuando se presenten obst´ culos entre la c´ mara y el objeto a a a filtrado detectar, la funci´ n de fitness obtendr´ valores inferiores, pero o a • Clonando un individuo de poblaciones anteriores permitir´ detectar el objeto. Para aquellas situaciones en las aLas dos primeras formas para generar un individuo pueden uti- que una captura muestre parcialmente un objeto, como la de la o a ´lizarse siempre. La tercera opci´ n se podr´ utilizar unicamente figura 6, existir´ n individuos dentro del espacio de b´ squeda a ucuando tengamos poblaciones anteriores v´ lidas. Para definir a que permitan representar esta situaci´ n, a los cuales la funci´ n o oesta validez necesitamos conocer el tiempo transcurrido entre de fitness otorgue un alto valor. Esto se consigue aumentandola captura actual, y la ultima que evolucion´ una poblaci´ n p, ´ o o el n´ mero de orientaciones posibles entre c´ mara y el objeto, u adando como resultado la detecci´ n del objeto o que intentamos o a todas aquellas que proyecten objetos dentro de los l´mitesıdetectar. Si este tiempo supera cierto umbral, no generaremos de la captura.ning´ n individuo utilizando esta poblaci´ n anterior. u oPara inicializar una poblaci´ n, por cada nuevo individuo orealizamos un sorteo, donde cada una de las opciones contar´ acon una probabilidad. Estas 3 probabilidades ser´ n variables y aestar´ n condicionadas al n´ mero de capturas entre la actual y a u ´la ultima que detect´ el objeto que estamos estudiando. Para oello definimos 2 par´ metros: a • M W : M´ xima probabilidad de clonar un individuo de a una poblaci´ n anterior o Fig. 6. Captura parcial de un objeto • M F N : N´ mero m´ ximo de capturas que pueden existir u a ´ entre la actual y la ultima que detect´ el objeto estudiado. o La suma de las probabilidades de las tres maneras de generar IV. E XPERIMENTOS Y R ESULTADOSun individuo debe sumar 1.0. La probabilidad de escoger un El entorno donde se han realizado los experimentos se cor-individuo de una anterior poblaci´ n disminuir´ a medida que o a responde con un escenario RoboCup, con un campo de f´ tbol uaumente el n´ mero de capturas sin actualizar esta poblaci´ n u o de 6 x 4 metros y utilizando la pelota y porter´as oficiales. ı(N F W U ), Las otras dos probabilidades se obtienen utilizando Hemos utilizado un robot Nao, capturando 2 im´ genes por aCloneP rob. segundo en formato YUV, de tama˜ o 320 x 240 p´xeles. n ı
  5. 5. ´ ´USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL 91Durante los experimentos, por cada captura de la c´ mara, se a porter´a amarilla, situada entre 360 y 300 cm., y la pelota ıalmacen´ la diferencia absoluta entre la distancia real y la o naranja, entre 260 y 200 cm.distancia estimada por el individuo de la poblaci´ n con mayor o En total el experimento consta de 180 capturas distintas (6fitness, para cada uno de los elementos detectados. x 30). Por cada captura se almacena la diferencia absolutaLas condiciones de iluminaci´ n permanecieron invariables o entre la distancia real y la estimada por el algoritmo (denotadadurante los experimentos, de forma que los filtros de color por DBRED) y el fitness del mejor individuo evolucionado ´fueron los optimos durante la realizaci´ n de las pruebas. o para realizar la detecci´ n. Este valor se utiliza para generar oRealizamos dos estimaciones por segundo, ya que a pesar de ´ diversos conjuntos de datos, los cuales contienen unicamenteque el tiempo de procesamiento es variable, en ning´ n caso u las diferencias obtenidas con individuos cuyo valor de bondaduna captura necesit´ m´ s de 500 milisegundos para realizar el o a supere un cierto umbral.procesamiento completo. La tabla I muestra de forma separada para la pelota y laDespu´ s del proceso de filtrado (≈ 80 msec), el tiempo de e ´ porter´a amarilla, y unicamente para las detecciones realizadas ıejecuci´ n nunca fue superior a 370 milisegundos (183 para o con individuos con fitness mayor que 0, 0.25, 0.5 y 0.75, ella porter´a y 187 para la pelota). La parte del proceso que ı valor medio de las diferencias entre la distancia real y estimadatiempo m´ s consume es la evaluaci´ n de los individuos dentro a o (DBRED) para estas capturas, y el porcentaje del total de lasdel algoritmo gen´ tico, ya que se debe obtener la proyecci´ n e o 180 capturas que obtienen, durante la detecci´ n del elemento, oasociada a cada individuo y realizar una comprobaci´ n pixel o su mejor individuo con un fitness superior a estos umbrales.a pixel sobre la imagen de filtrado. TABLE I ´ D IFERENCIA MEDIA ENTRE POSICI ON REAL Y ESTIMADA Y PORCENTAJE DE CAPTURAS POR ENCIMA DE DIFERENTES UMBRALES DE FITNESSA. Par´ metros del Algoritmo Gen´ tico a e Los experimentos se realizaron con los siguientes Fitness > 0.0 > 0.25 > 0.5 > 0.75par´ metros: a Pelota Dif.media (cm) 42.62 40.57 31.77 22.75 Capturas (%) 68.89 68.33 57.78 8.89 • N´ mero de Individuos: 12 u Porter´a ı Dif.media (cm) 40.03 37.88 33.1 32.69 • N´ mero de Iteraciones: 24 u Amarilla Capturas(%) 99.44 93.33 44.44 8.89 • Probabilidad de mutaci´ n: 5% o • Tipo de operador de cruce: por punto Se puede comprobar c´ mo el valor obtenido con la funci´ n o o • Tipo de reemplazo: Algoritmo Generacional de fitness representa fielmente la validez de los individuos, de • Reinicio tras superar un 25% de iteraciones sin mejorar ´ forma que a medida que utilizamos unicamente detecciones ´ el optimo global realizadas con un valor de fitness por encima de un cierto • M W : 0.5 umbral, la media de las diferencias entre distancias reales y • M F N : 10 estimadas disminuye.Con estos par´ metros, el algoritmo posee n´ mero de indi- a u Para evaluar la robustez del algoritmo, tambi´ n mostramos en eviduos e iteraciones reducido, utilizando una probabilidad de la tabla II el porcentaje de capturas cuya diferencia entre lamutaci´ n y operador de cruce est´ ndar. Al ser un algoritmo o a distancia real y estimada se encuentra por debajo de ciertosgeneracional, cada nueva poblaci´ n de hijos obtenida tras el o umbrales.cruce y mutaci´ n reemplazar´ a sus progenitores, lo que puede o a TABLE IIprovocar que la calidad de la poblaci´ n se deval´ e con el paso o u P ORCENTAJE DE CAPTURAS POR DEBAJO DE DISTINTOS UMBRALES DE DIFERENCIA ENTRE DISTANCIA REAL Y ESTIMADAde las iteraciones. Los individuos son evolucionados sin teneren cuenta la odometr´a del robot. ı Porcentaje de capturas por debajo deAl mejor individuo de cada iteraci´ n se le aplica un proceso de o 100cm 75cm 50cm 30cmb´ squeda local simple (Hill Climbing), que permite mejorar el u Pelota 63.63 56.11 44.44 35.55 Porter´a Amarilla ı 92.77 87.78 72.22 51.67fitness final obtenido tras cada captura. El proceso de b´ squeda ulocal consiste en evaluar variaciones positivas y negativassobre los genes de los individuos. A los algoritmos que Los valores obtenidos muestran una gran robustez, especial-combinan conceptos y estrategias de diferentes metaheur´sticas ı mente en el caso de la porter´a, ya que en un escenario con ıse les denomina algoritmos mem´ ticos[10]. e una distancia m´ xima entre elementos de 721 cent´metros, un a ı alto porcentaje de capturas (37.37% y 51.67%) obtiene una diferencia entre la distancia real y estimada por debajo de 30B. Experimento 1 - Validaci´ n de la Hip´ tesis o o cent´metros. ı El primer experimento tiene como objetivo comprobar si el La detecci´ n de la pelota a trav´ s de un gen´ tico resulta m´ s o e e asistema desarrollado puede trabajar en tiempo real, detectando complicada que la porter´a, ya que s´ lo individuos cercanos ı ocorrectamente los elementos del entorno, estimando distancias al m´ ximo global obtienen valores de fitness superiores a acorrectamente. Para ello utilizamos los par´ metros por defecto a cero, evitando que el algoritmo converja a trav´ s de las edel algoritmo gen´ tico descritos anteriormente. e iteraciones. Debido al peque˜ o tama˜ o de la pelota en las n nRealizamos un mismo recorrido por el terreno de juego en 6 im´ genes capturadas, s´ lo aquellos individuos que representen a oocasiones. En cada recorrido se realizan 30 capturas (tomadas este objeto con una diferencia de orientaci´ n y distancia muy odurante 15 segundos) en las cuales se puede observar la cercana a la real, obtienen valores de bondad distintos a 0. La
  6. 6. 92 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERESconvergencia de un algoritmo gen´ tico de estas caracter´sticas e ı de las poblaciones, permite obtener un alto porcentaje deno ser´ constante. Un 83.83% de las detecciones que se han a capturas que obtienen una reducida diferencia entre el valorrealizado correctamente para la pelota (fit> 0), obtuvieron real y estimado, para la distancia al objeto a procesar.valores de fitness superiores a 0.5. Para las porter´as, este ı Como principal conclusi´ n, destacamos la conveniencia de oporcentaje baja a un 44.69%. reducir el n´ mero de genes que posee cada individuo de u una poblaci´ n, a los estrictamente necesarios. Para ello oC. Experimento 2 - Estudio de β utilizamos la mayor cantidad posible de informaci´ n del o El objetivo del segundo experimento es estudiar si la entorno, de la plataforma a utilizar y de los elementos aobtenci´ n del par´ metro β a partir del resto de par´ metros o a a detectar. Esto nos permitir´ reducir el espacio de b´ squeda del a upuede ser realizada, adem´ s de evaluar c´ mo afecta al a o ´ algoritmo gen´ tico, explorando unicamente soluciones que se erendimiento general del algoritmo. Realizamos el mismo correspondan con situaciones reales. Al contar con un menorrecorrido del experimento anterior, utilizando los mismos n´ mero de par´ metros, el algoritmo converger´ m´ s r´ pido, u a a a apar´ metros. a ´ permitiendo alcanzar mejores optimos con un n´ mero reducido uDurante el experimento, los individuos no contendr´ n el gen a de iteraciones.que representa el par´ metro β, y para realizar la funci´ n de a oevaluaci´ n, calcularemos este par´ metro utilizando para ello o a D. Experimento 3 - Estudio de M Wla distancia al objeto d, la diferencia de orientaci´ n en el eje o El objetivo del tercer experimento consiste en mostrarx entre c´ mara y objeto α, y la diferencia de orientaci´ n entre a o la forma en la que el par´ metro M W afecta al sistema de ala c´ mara y el suelo en el eje y γ, obtenida gracias al estudio a visi´ n. Este par´ metro define la probabilidad m´ xima de o a ade los sensores del robot. clonar un individuo de poblaciones anteriores, a la hora deDe nuevo obtuvimos 180 capturas en total, con los resultados generar una nueva poblaci´ n, y por tanto define el peso de omostrados en la tabla III. poblaciones anteriores a la hora de inicializar una nueva poblaci´ n. o TABLE III ´ D IFERENCIA MEDIA ENTRE POSICI ON REAL Y ESTIMADA Y PORCENTAJE A medida que aumentemos el valor de este par´ metro, un a DE CAPTURAS POR ENCIMA DE DIFERENTES UMBRALES DE FITNESS mayor n´ mero de individuos de los que conformar´ n la u a nueva poblaci´ n representar´ n soluciones para la detecci´ n o a o Fitness > 0.0 > 0.25 > 0.5 > 0.75 Pelota Dif.media (cm) 18.70 18.05 16.89 27.7 de objetos en capturas anteriores. Capturas (%) 69.44 68.33 57.78 5.55 El experimento consisti´ en una secuencia de 20 im´ genes o a Porter´a ı Dif.media (cm) 33.66 32.81 34.31 27.5 capturadas con el robot desde una posici´ n est´ tica, situada a o a Amarilla Capturas(%) 100.0 95.00 40.56 1.11 250 cm de la porter´a azul y 150 cm de la pelota. Mientras se ı realiz´ el experimento, la orientaci´ n de la c´ mara cambi´ de o o a o La primera conclusi´ n que podemos extraer de estos o valores, capturando diferentes im´ genes de objetos situados a aresultados, es que realizamos un mayor n´ mero de detecciones u la misma distancia. Debido a las diferentes orientaciones decorrectas (fitness > 0), aunque disminuye el porcentaje de la c´ mara, la mayor´a de las capturas mostraron parcialmente a ıcapturas que obtienen un valor de fitness superior a 0.5 y y no en su totalidad la porter´a y la pelota. ı0.75. Esto se debe a que modelar β permite generar individuos Durante la realizaci´ n del experimento utilizamos los oque no podr´an ser obtenidos calculando este par´ metro, ya ı a par´ metros por defecto, incluyendo el par´ metro β entre la a aque recogen situaciones incorrectas seg´ n la obtenci´ n de β a u o informaci´ n que poseen los individuos. Los cambios en el opartir del resto de par´ metros, pero que debido al ruido, o a a valor de M W definieron las diferentes configuraciones quediferencias entre el valor de γ real y estimado, son correctas. fueron probadas. El experimento se repiti´ en 9 ocasiones con oLa diferencia media entre las distancias reales y estimadas se cada distinta configuraci´ n, almacenando un conjunto total oha reducido considerablemente, ya que al tener un par´ metro a de 180 capturas. Evaluamos 4 diferentes configuraciones,menos, con un n´ mero similar de iteraciones el algoritmo u con valores para la probabilidad m´ xima de seleccionar un aconverge m´ s r´ pido a individuos prometedores. a a individuo de la poblaci´ n anterior (M W ) de 0, 25, 50 y 75%. oPara realizar una comparaci´ n completa entre el modelado de oβ y su obtenci´ n directa a trav´ s de otros par´ metros, la tabla o e a TABLE V ´ D IFERENCIA MEDIA ENTRE POSICI ON REAL Y ESTIMADA DE CAPTURASIV muestra el porcentaje de capturas con diferencia entre la CON VALORES DE FITNESS POR ENCIMA DE DIFERENTES UMBRALESdistancia real y estimada por debajo de ciertos umbrales. MW F it > 0 F it > 0.25 F it > 0.5 F it > 0.75 TABLE IV 0.00 47.37 47.37 36.93 31.75 P ORCENTAJE DE CAPTURAS POR DEBAJO DE DISTINTOS UMBRALES DE Pelota 0.25 43.10 41.43 34.26 34.27 DIFERENCIA ENTRE DISTANCIA REAL Y ESTIMADA 0.50 41.37 41.26 33.63 33.67 0.75 43.48 42.08 32.72 33.49 Porcentaje de capturas por debajo de 0.00 58.02 49.48 27.15 12.78 100cm 75cm 50cm 30cm Porter´a ı 0.25 53.64 42.63 26.71 19.72 Pelota 68.89 68.89 65.56 54.44 Azul 0.50 51.22 43.54 21.76 14.16 Porter´a Amarilla ı 96.67 93.33 76.67 48.89 0.75 44.16 37.60 24.45 15.39 Comparando la tabla IV con la II, podemos observar como La tabla V muestra de nuevo como la funci´ n de fitness omejora la robustez del algoritmo, ya que la r´ pida convergencia a representa fielmente la validez de los individuos durante el
  7. 7. ´ ´USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL 93proceso, aunque se puede comprobar que las variaciones Por estas razones, al aumentar el porcentaje de individuosen el valor de M W no provocan grandes cambios en la que se clonan de iteraciones anteriores por encima de ciertodiferencia media entre distancia real y estimada de las umbral, las prestaciones del algoritmo se deval´ an, ya queu ´capturas, utilizando unicamente capturas por encima de varios se crean demasiados individuos que representan solucionesumbrales de fitness. a capturas anteriores y menos con la informaci´ n obtenida o con el proceso de filtrado. Los individuos de poblaciones TABLE VIP ORCENTAJE DE CAPTURAS POR ENCIMA DE DIFERENTES UMBRALES DE anteriores pueden no corresponderse con soluciones v´ lidas a FITNESS para la captura actual, y por tanto obtendr´ n valores de fitness a 0, retrasando la convergencia del algoritmo. MW F it > 0 F it > 0.25 F it > 0.5 F it > 0.75 0.00 93.59 93.59 78.84 35.26 A pesar de estos inconvenientes, introducir una proporci´ n o Pelota 0.25 91.66 91.02 80.12 44.87 media de individuos provenientes de poblaciones anteriores 0.50 89.74 89.10 75.64 29.49 (entre 0.25 y 0.5), mejorar´ las prestaciones del algoritmo, a 0.75 89.10 87.18 75.00 32.69 0.00 100.0 82.68 47.49 12.85 ya que la poblaci´ n contar´ con individuos que poseen infor- o a Porter´a ı 0.25 98.32 83.80 56.42 13.97 maci´ n valiosa, y que tras cruzarse con el resto de individuos o Azul 0.50 98.88 87.71 55.87 13.97 podr´ n dar lugar individuos con altos valores de fitness. a 0.75 98.88 89.94 64.25 12.85 Incluir individuos de iteraciones anteriores tambi´ n permitir´ e a al algoritmo converger m´ s r´ pido cuando la informaci´ n a a o La tabla VI muestra como a medida que utilizamos valores obtenida con el proceso de filtrado no sea valiosa, debido almayores de M W , el porcentaje de capturas que obtiene un ruido del entorno.mayor valor de fitness, y que por tanto realizan mejores Para la detecci´ n de las porter´as, la situaci´ n es completa- o ı oestimaciones, aumenta. En el caso de la porter´a, esta tendencia ı mente distinta. Las porter´as se captan como objetos de distinta ıse mantiene a medida que aumenta M W , mientras que para forma y tama˜ o, en funci´ n de la posici´ n desde la que se n o o ´la pelota, parece que el punto optimo se encuentra en 0.25, observen. Su tama˜ o es mucho mayor que el de la pelota, por ntras lo cual el rendimiento empeora. lo que ocupar´ n una mayor superficie en las capturas, como a TABLE VII puede comprobarse en la figura 6. A diferencia de la pelota, P ORCENTAJE DE CAPTURAS POR DEBAJO DE DISTINTOS UMBRALES DE individuos muy alejados de la mejor soluci´ n pueden poseer o DIFERENCIA ENTRE DISTANCIA REAL Y ESTIMADA valores de fitness superiores a cero, por portar en sus genes Porcentaje de capturas por debajo de informaci´ n valiosa. Durante la detecci´ n de una porter´a, ex- o o ı MW 100cm 75cm 50cm 30cm ´ iste un alto riesgo de caer en optimos locales (como individuos 0.00 82.69 72.44 62.18 33.33 ´ que representen porter´as que compartan unicamente uno de ı Pelota 0.25 85.90 79.49 71.79 31.41 0.50 85.90 75.00 67.31 35.30 los postes con la porter´a captada en una imagen), por lo que ı 0.75 80.77 73.72 64.10 32.69 se debe evitar un excesivo elitismo, inicializando individuos 0.00 77.09 68.71 55.31 32.96 mediante los tres sistemas disponibles. Porter´a ı 0.25 81.00 73.74 62.57 34.08 Azul 0.50 81.56 75.41 61.45 43.01 La informaci´ n obtenida con el proceso de filtrado de color, o 0.75 87.15 78.77 72.07 48.60 no resulta tan valiosa como en el caso de la pelota, ni permite crear individuos cercanos a la mejor soluci´ n. Sin embargo, los o Finalmente, la tabla VII presenta el porcentaje total de individuos de poblaciones anteriores, a pesar de no representarcapturas, que obtienen una diferencia entre la distancia real el optimo global de la poblaci´ n, obtendr´ n valores de fitness, ´ o ay estimada por debajo de ciertos umbrales. En esta tabla que permitir´ n tras un peque˜ o n´ mero de mutaciones y a n use puede comprobar perfectamente que aumentar el valor de cruces, alcanzar valores cercanos a la soluci´ n global del oM W mejora enormemente el rendimiento del algoritmo en el problema.caso de la porter´a. Para el caso de la pelota, al aumentar ı Cabe destacar que las pruebas fueron realizadas con im´ genesael valor de M W por encima de 0.25 obtenemos peores obtenidas mientras la c´ mara giraba a gran velocidad. Ante aresultados, como se pudo intuir tras la tabla VI. im´ genes consecutivas con variaciones casi nulas entre ellas, aLa explicaci´ n del porqu´ de estos comportamientos del o e aumentar el valor de M W mejorar´a las prestaciones del ısistema en funci´ n de M W proviene de las caracter´sticas o ı algoritmo. Esta situaci´ n se dar´a en situaciones en las que o ıpropias de los objetos que intentamos detectar. el robot se encuentre est´ tico y no aplique rotaciones sobre la aLa pelota siempre aparece en las im´ genes como un objeto a c´ mara. aredondo de peque˜ o tama˜ o y color naranja. En muy pocas n ncapturas la pelota se encuentra parcialmente oculta (al con- V. C ONCLUSIONES Y T RABAJO F UTUROtrario que ocurr´a en la liga que utilizaba robots AIBO), por lo ı o ´que la informaci´ n de filtrado resulta muy util para inicializar En base a los resultados obtenidos en el primer experi-nuevos individuos. La posici´ n < x, y > de la pelota en o mento, el sistema ofrece una robusta alternativa a los sistemasuna captura, ser´ en muchas ocasiones cercana al centroide a tradicionales de detecci´ n de objetos, utilizando para ello los o< x, y > de la muestra de p´xeles naranja, obtenida tras el ı principios de los algoritmos gen´ ticos. El sistema posee unos eproceso de filtrado. Como se indic´ en el primer experimento, o tiempos de ejecuci´ n que le permiten ser ejecutado en entornos o´unicamente individuos muy cercanos a la soluci´ n obtendr´ n o a RoboCup. El sistema funciona correctamente ante la aparici´ n ovalores de fitness mayores que cero. de oclusiones, sin necesidad de enfoques basados en casos
  8. 8. 94 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERESEl par´ metro β debe calcularse a partir del resto de par´ metros. a a caci´ n y Ciencia) y los fondos FEDER mediante los proyectos oEste par´ metro se puede obtener correctamente los valores de a PCI08-0048-8577 y PBI-0210-7127.los sensores del robot se obtienen sin error. El n´ mero de ugenes de cada individuo debe tan peque˜ o como sea posible. n R EFERENCESEn base a los resultados obtenidos tras el tercer experimento,se ha demostrado que la relaci´ n existente entre im´ genes o a [1] Wasik, Z., Saffiotti, A.: Robust color segmentation for the robocupcapturadas de forma consecutiva, puede ser utilizada para domain. Pattern Recognition, Proc. of the Int. Conf. on Pattern Recognition (ICPR) 2 (2002) 651–654mejorar el rendimiento del sistema desarrollado, acelerando [2] J¨ ngel, M., Hoffmann, J., L¨ tzsch, M.: A real-time auto-adjusting vision u ola convergencia hacia mejores soluciones. system for robotic soccer. In: In 7th International Workshop on RoboCupEl sistema se ha realizado para la detecci´ n de porter´as y de la o ı 2003 (Robot World Cup Soccer Games and Conferences), Lecture Notes in Artificial Intelligence, Springer (2004) 214–225pelota, pero en vista a los resultados obtenidos, las alternativas [3] Coath, G., Musumeci, P.: Adaptive arc fitting for ball detection inactuales para la detecci´ n de la pelota, y la especial dificultad o robocup. In: APRS Workshop on Digital Image Analysing. (2003) 63–en la detecci´ n de porter´as, el principal campo de aplicaci´ n o ı o 68 [4] Rofer, T., Brunn, R., Dahm, I., Hebbel, M., Hoffmann, J., Jungel, M., ı ´del sistema ser´a unicamente la detecci´ n de porter´as. o ı Laue, T., Lotzsch, M., Nistico, W., Spranger, M.: GermanTeam 2004.Como principal l´nea de trabajo futuro, encontramos la ı Team Report RoboCup (2004)integraci´ n del sistema desarrollado con un m´ todo for- o e [5] Mitchell, M.: An Introduction to Genetic Algorithms. (1996) [6] Whitley, L.: Cellular Genetic Algorithms. In: Proceedings of themal de localizaci´ n como Montecarlo[11] o Filtros de o 5th International Conference on Genetic Algorithms table of contents,Kalman[12], dado que estos m´ todos combinan la informaci´ n e o Morgan Kaufmann Publishers Inc. San Francisco, CA, USA (1993)de movimiento (odometr´a) y la informaci´ n visual. El m´ todo ı o e [7] Foley, J.D., van Dam, A., Feiner, S.K., Hughes, J.F.: Computer graphics: principles and practice. Addison-Wesley Longman Publishing Co., Inc.seleccionado deber´ utilizar la distancia y orientaci´ n estimada a o (1990)a las porter´as, objetos clave para localizar al robot, adem´ s ı a [8] Borenstein, J., Everestt, H., Feng, L.: Where am I? Sensors and Methodsde aprovechar el valor de fitness para integrar las dos fuentes for Mobile Robot Positioning. (1996)de informaci´ n de la mejor manera posible[13]. o [9] Bach, J., Jungel, M.: Using pattern matching on a flexible, horizon- aligned grid for robotic vision. Concurrency, Specification andOtra l´nea de trabajo estar´a relacionada con la inclusi´ n ı ı o Programming-CSP 1(2002) (2002) 11–19de restricciones durante la creaci´ n de nuevos individuos, o [10] Moscato, P.: Memetic algorithms: a short introduction. Mcgraw-Hill’Sutilizando para ello la creencia sobre la posici´ n y orientaci´ n o o Advanced Topics In Computer Science Series (1999) 219–234del robot, limitando el rango de opciones a los objetos que [11] Fox, D., Burgard, W., Thrun, S.: Active markov localization for mobile robots (1998)sea posible observar desde la pose estimada actual. [12] Negenborn, R.: Robot localization and kalman filters. (2003) [13] Jes´ s Mart´nez-G´ mez, Jos´ A. G´ mez, I.G.V.: An improved markov- u ı o e a AGRADECIMIENTOS based localization approach by using image quality evaluation. In: Pro- Este trabajo ha sido parcialmente financiado por la Junta ceedings of the 10th International Conference on Control, Automation, Robotics and Vision (ICARCV). (2008) 1236 – 1241de Comunidades de Castilla-La Mancha (Consejer´a de Edu- ı

×