SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
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
                                                                                o
detecci´ n de objetos mediante el uso de algoritmos gen´ ticos.
        o                                                   e                                                           ´
                                                                     individuos generados permita alcanzar soluciones optimas tras
La principal aportaci´ n del mismo consiste en la adaptaci´ n al
                      o                                      o       un reducido n´ mero de iteraciones.
                                                                                      u
tiempo real de algoritmos generalmente utilizados offline. Para
conseguir 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 algoritmos
del sistema es el campeonato de futbol rob´ tico RoboCup1 , en
                                     ´         o                     evolutivos celulares[6], que muestran un buen comportamiento
concreto la categor´a Standard Platform, y debe permitir detectar
                   ı                                                 antes tareas de optimizaci´ n, que necesiten una alta eficacia
                                                                                                  o
y 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 un
campo 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
                                                                                                                o
rob´ 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                        o
dentro 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 determinada
visi´ n son el principal dispositivo, a partir del cual obtener
    o                                                                distancia, la siguiente captura tomada por la c´ mara posee
                                                                                                                       a
informaci´ n del entorno.
           o                                                         una alta probabilidad de mostrar el mismo objeto situado a
Este 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
                                                                                  o
ruidosas, o de baja calidad. Los sistemas de visi´ n desarrol-
                                                   o                 entre im´ genes, as´ como la informaci´ n obtenida en un proce-
                                                                              a            ı                o
lados para rob´ tica m´ vil, poseen una serie de caracter´sticas,
               o       o                                 ı           samiento previo, podemos desarrollar un sistema de visi´ n  o
entre las que destaca un grado m´ ximo de eficiencia, que
                                       a                             basado en algoritmos gen´ ticos capaz de trabajar en tiempo
                                                                                                  e
permita 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 un
Hasta 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
                                                                                   o
procesamientos sencillos, utilizando como informaci´ n base
                                                        o            detecci´ n de objetos clave dentro de un campo de f´ tbol
                                                                             o                                                 u
la 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          a
utilizan ampliamente en la categor´a Standard Platform de la
                                     ı                               El sistema completo de Visi´ n se presenta en la secci´ n
                                                                                                     o                            o
RoboCup[4].                                                          III, mientras que la secci´ n IV recoge los experimentos y
                                                                                                  o
La propuesta que aqu´ se presenta ofrece un enfoque diferente,
                      ı                                                                 ´
                                                                     resultados. Por ultimo, la secci´ n V muestra las conclusiones
                                                                                                     o
estudiando 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 PROBLEMA
de iteraciones e individuos utilizados en cada ejecuci´ n del
                                                          o            El sistema de Visi´ n debe ser v´ lido para su uso dentro
                                                                                          o             a
algoritmo deben reducirse lo m´ ximo posible. Para que esta
                                   a                                 de la categor´a Standard Platform, por lo que ser´ aplicado
                                                                                  ı                                    a
reducci´ n no afecte a las prestaciones del algoritmo, la ini-
        o                                                            con im´ genes capturadas por la c´ mara del robot Nao2 , que
                                                                            a                         a
cializaci´ 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
88                                                                             X WORKSHOP DE AGENTES F´                         ´
                                                                                                      ISICOS, SEPTIEMBRE 2009, CACERES



espacio 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
                                                                                                                        o
im´ genes captadas por el robot se filtran previamente, elimi-
   a                                                                 necesario o no evolucionar una nueva poblaci´ n tras la llegada
                                                                                                                 o
nando los p´xeles que no hayan pasado un cierto filtro de color.
             ı                                                       de una nueva imagen, depender´ de si al aplicar el filtro de
                                                                                                     a
Dentro 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 imagen
equipaci´ n de cada jugador est´ formada por una serie de
         o                        a                                       Filtrar la imagen inicial con los filtros de color
elementos de color rojo o azul oscuro.                                    para cada objeto
El 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
                                                                                               u
encuentran dentro de estos l´mites.
                              ı                                                       Devolver distancia estimada al objeto
Un ejemplo de filtrado lo tenemos en la imagen 1, donde se                        fin si
puede observar la imagen original y la obtenida tras aplicar              fin para
un 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
                                                                                         u
Fig. 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).
                                                                              a
un partido, lo que implica oclusiones parciales de los objetos,
donde la c´ mara solamente detecta un porcentaje total del
            a
objeto. Ante este tipo de situaciones, los m´ todos tradicionales
                                            e
                                                                     B. Representaci´ n de Individuos
                                                                                    o
basados 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            e
como 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
                                                                                   o
uos, los cuales representan soluciones potenciales al problema       informaci´ n para poder aplicar la funci´ n de fitness utilizando
                                                                                o                            o
general. En nuestro caso, un individuo debe representar la de-       im´ genes capturadas por la c´ mara, ya que las capturas
                                                                        a                              a
tecci´ 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    o
relativa determinada.                                                relativa entre el objeto y la c´ mara.
                                                                                                    a
Para evaluar la bondad o fitness de cada individuo, contrasta-
mos la informaci´ n que transporta (objeto o situado a distancia
                  o
d) 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´   a
un alto valor de bondad. Si por contra, en la imagen capturada
no aparece el objeto o que representa el individuo, o aparece a
una distancia muy distinta a d, el individuo obtendr´ un valor
                                                       a
bajo valor de bondad.

A. Esquema general de procesamiento
  Nuestro esquema estar´ dirigido por la llegada de nuevas
                         a
im´ genes a la c´ mara, de forma que cada vez que llegue
  a              a
una captura, evolucionaremos un conjunto de poblaciones para
detectar 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
´                  ´
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                                                 a
representa la pelota, cuando se encuentra a una determinada            dependiente de una correcta obtenci´ n de γ, y dejar´ de
                                                                                                                 o                   a
distancia d, y la diferencia de orientaci´ n entre el objeto y la
                                          o                            funcionar si la precisi´ n de esta medida se reduce.
                                                                                               o
c´ 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 y
la distancia d, la captura de la c´ mara mostrar´ una pelota
                                    a               a                  oscilaciones en la c´ mara, haciendo realmente complicado
                                                                                              a
de 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     a
pelota.                                                                menor medida a la c´ mara, y la obtenci´ n de γ podr´ realizarse
                                                                                            a                    o           a
No es necesario utilizar una componente adicional con la               con mayor precisi´ n, de forma que no ser´ necesario modelar
                                                                                          o                          a
diferencia de orientaci´ n en el eje z, debido a que mediante
                         o                                             el par´ metro β, ya que puede calcularse de forma fiable.
                                                                              a
t´ cnicas de detecci´ n del horizonte[9], podemos aplicar trans-
 e                  o                                                  Obviar este par´ metro mejorar´ la convergencia del algoritmo
                                                                                       a                a
formaciones a las im´ genes capturadas para obtener todos los
                       a                                               gen´ tico, ya que los individuos contendr´ n un menor n´ mero
                                                                           e                                       a               u
objetos de la imagen paralelos al suelo.                                                                         ´
                                                                       de genes y se alcanzar´ n soluciones optimas con un menor
                                                                                                 a
Cada individuo de la poblaci´ n almacena la siguiente infor-
                                o                                      n´ mero de iteraciones.
                                                                        u
maci´ 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 la
num´ rico, limitado el caso de α y β al angulo de visi´ n de
      e                                     ´               o
                                                                       informaci´ n que representa el individuo, traducimos esta
                                                                                 o
la 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                    o
m´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                       o
Para poder realizar correctamente la funci´ n de fitness, los
                                               o
                                                                       imagen, obtenida a partir de los par´ metros α y β. El tama˜ o
                                                                                                             a                        n
individuos utilizados para detectar las porter´as deben contener
                                              ı
                                                                       del objeto proyectado depender´ del par´ metro d.
                                                                                                         a        a
un 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
                                                                                    o
necesario, 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 a
puede 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                                a



C. Obtenci´ n del par´ metro β
          o          a
   Si conocemos en el momento de capturar una imagen el
angulo que posee la c´ mara del robot en el eje y respecto al
´                        a
suelo, el par´ metro β puede obviarse. En lugar de modelar
              a                                                        Fig. 5. Imagen filtrada(izq) y estudio de 12 individuos para detectar la
este 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                               o
entre 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
                                                                                                     o
puedan darse.                                                          funci´ n de fitness consisti´ en utilizar el porcentaje de
                                                                            o                      o
Si 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
                                                                        ı                     o
obtener la distancia m´nima y m´ xima a la que somos capaces
                        ı           a                                  conlleva un importante problema, ya que favorece individuos
de detectar objetos. Si γ es cercano a 90 grados, el robot             que representan objetos lejanos, que obtienen proyecciones
detectar´ objetos situados a distancia lejanas, pero no detectar´
         a                                                         a   m´ s peque˜ as con mayor probabilidad de obtener un alto
                                                                          a       n
la 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
90                                                                                X WORKSHOP DE AGENTES F´                         ´
                                                                                                         ISICOS, SEPTIEMBRE 2009, CACERES



proceso 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                               o
individuos A y B. Mientras que B posee un mayor porcentaje              lizando la informaci´ n de filtrado, aumentaremos el elitismo
                                                                                              o
de 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                                n
El 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                       e
suele ser aleatoria, generando uniformemente en los l´mites
                                                          ı             F. Oclusi´ n parcial de objetos
                                                                                 o
de los genes, pero en nuestro caso usaremos poblaciones                    En entornos complicados y cambiantes como los escenarios
informadas. En primer lugar podemos utilizar individuos que             RoboCup, es indispensable que el sistema de visi´ n funcione
                                                                                                                             o
provengan de la poblaci´ n de capturas anteriores. Adem´ s,
                           o                                  a         de forma robusta ante oclusiones de objetos, ya que los objetos
durante el proceso de filtrado obtuvimos el n´ mero de p´xeles
                                               u          ı             que deseamos detectar se encontrar´ n la mayor parte del
                                                                                                                 a
de la muestra de cada color, as´ como la componente x e y
                                  ı                                     tiempo ocultos, parcial o totalmente tras otros objetos. De
del 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          u
inicializar los nuevos individuos.                                      de capturas que recojan parcialmente el objeto, debido a la
Aprovechando esta informaci´ n, generamos individuos de 3
                                o                                       orientaci´ n entre la c´ mara y el objeto.
                                                                                 o              a
maneras 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
                                                                                a
Las 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                                       u
cuando tengamos poblaciones anteriores v´ lidas. Para definir
                                             a                          que permitan representar esta situaci´ n, a los cuales la funci´ n
                                                                                                               o                       o
esta validez necesitamos conocer el tiempo transcurrido entre           de fitness otorgue un alto valor. Esto se consigue aumentando
la 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                                          a
dando 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                                    o
Para inicializar una poblaci´ n, por cada nuevo individuo
                               o
realizamos un sorteo, donde cada una de las opciones contar´   a
con una probabilidad. Estas 3 probabilidades ser´ n variables y
                                                   a
estar´ n condicionadas al n´ mero de capturas entre la actual y
     a                      u
   ´
la ultima que detect´ el objeto que estamos estudiando. Para
                      o
ello 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 ESULTADOS
un 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
                                                                                                                                u
aumente 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
                                                                                                                          a
CloneP rob.                                                             segundo en formato YUV, de tama˜ o 320 x 240 p´xeles.
                                                                                                           n              ı
´                  ´
USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL                                                                         91



Durante 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 (6
fitness, para cada uno de los elementos detectados.                 x 30). Por cada captura se almacena la diferencia absoluta
Las condiciones de iluminaci´ n permanecieron invariables
                                o                                  entre la distancia real y la estimada por el algoritmo (denotada
durante 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
                                                                                             o
Realizamos dos estimaciones por segundo, ya que a pesar de                                                               ´
                                                                   diversos conjuntos de datos, los cuales contienen unicamente
que el tiempo de procesamiento es variable, en ning´ n caso
                                                        u          las diferencias obtenidas con individuos cuyo valor de bondad
una 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 la
Despu´ 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, el
la porter´a y 187 para la pelota). La parte del proceso que
          ı                                                        valor medio de las diferencias entre la distancia real y estimada
tiempo m´ s consume es la evaluaci´ n de los individuos dentro
           a                       o                               (DBRED) para estas capturas, y el porcentaje del total de las
del algoritmo gen´ tico, ya que se debe obtener la proyecci´ n
                  e                                         o      180 capturas que obtienen, durante la detecci´ n del elemento,
                                                                                                                   o
asociada 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 FITNESS
A. Par´ metros del Algoritmo Gen´ tico
      a                         e
   Los experimentos se realizaron con los siguientes                                   Fitness      > 0.0    > 0.25    > 0.5        > 0.75
par´ 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
                                                                                                                e
viduos e iteraciones reducido, utilizando una probabilidad de      la tabla II el porcentaje de capturas cuya diferencia entre la
mutaci´ n y operador de cruce est´ ndar. Al ser un algoritmo
        o                           a                              distancia real y estimada se encuentra por debajo de ciertos
generacional, 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 II
provocar 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 ESTIMADA
de las iteraciones. Los individuos son evolucionados sin tener
en cuenta la odometr´a del robot.
                      ı                                                                      Porcentaje de capturas por debajo de
Al mejor individuo de cada iteraci´ n se le aplica un proceso de
                                  o                                                          100cm     75cm     50cm      30cm
b´ 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.67
fitness final obtenido tras cada captura. El proceso de b´ squeda
                                                        u
local consiste en evaluar variaciones positivas y negativas
sobre 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 30
B. 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               a
sistema desarrollado puede trabajar en tiempo real, detectando     complicada que la porter´a, ya que s´ lo individuos cercanos
                                                                                              ı            o
correctamente los elementos del entorno, estimando distancias      al m´ ximo global obtienen valores de fitness superiores a
                                                                          a
correctamente. Para ello utilizamos los par´ metros por defecto
                                           a                       cero, evitando que el algoritmo converja a trav´ s de las
                                                                                                                          e
del algoritmo gen´ tico descritos anteriormente.
                  e                                                iteraciones. Debido al peque˜ o tama˜ o de la pelota en las
                                                                                                  n        n
Realizamos un mismo recorrido por el terreno de juego en 6         im´ genes capturadas, s´ lo aquellos individuos que representen
                                                                      a                    o
ocasiones. En cada recorrido se realizan 30 capturas (tomadas      este objeto con una diferencia de orientaci´ n y distancia muy
                                                                                                               o
durante 15 segundos) en las cuales se puede observar la            cercana a la real, obtienen valores de bondad distintos a 0. La
92                                                                                       X WORKSHOP DE AGENTES F´                         ´
                                                                                                                ISICOS, SEPTIEMBRE 2009, CACERES



convergencia de un algoritmo gen´ tico de estas caracter´sticas
                                e                       ı                    de las poblaciones, permite obtener un alto porcentaje de
no ser´ constante. Un 83.83% de las detecciones que se han
       a                                                                     capturas que obtienen una reducida diferencia entre el valor
realizado 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
                                                                                                       o
porcentaje 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
                                                                                          o
C. 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 a
obtenci´ 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                        u
puede ser realizada, adem´ s de evaluar c´ mo afecta al
                              a                 o                                                             ´
                                                                             algoritmo gen´ tico, explorando unicamente soluciones que se
                                                                                             e
rendimiento general del algoritmo. Realizamos el mismo                       correspondan con situaciones reales. Al contar con un menor
recorrido del experimento anterior, utilizando los mismos                    n´ mero de par´ metros, el algoritmo converger´ m´ s r´ pido,
                                                                              u                a                               a a a
par´ metros.
   a                                                                                                        ´
                                                                             permitiendo alcanzar mejores optimos con un n´ mero reducido
                                                                                                                             u
Durante 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                                   o
evaluaci´ n, calcularemos este par´ metro utilizando para ello
         o                          a                                        D. Experimento 3 - Estudio de M W
la distancia al objeto d, la diferencia de orientaci´ n en el eje
                                                    o                           El objetivo del tercer experimento consiste en mostrar
x 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
                                                                                                         a
la 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                                     a
de los sensores del robot.                                                   clonar un individuo de poblaciones anteriores, a la hora de
De nuevo obtuvimos 180 capturas en total, con los resultados                 generar una nueva poblaci´ n, y por tanto define el peso de
                                                                                                         o
mostrados 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
                                                                                                                a
resultados, es que realizamos un mayor n´ mero de detecciones
                                            u                                la misma distancia. Debido a las diferentes orientaciones de
correctas (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
                                                                                                    o
que no podr´an ser obtenidos calculando este par´ metro, ya
              ı                                       a                      par´ metros por defecto, incluyendo el par´ metro β entre la
                                                                                a                                          a
que recogen situaciones incorrectas seg´ n la obtenci´ n de β a
                                          u             o                    informaci´ n que poseen los individuos. Los cambios en el
                                                                                        o
partir del resto de par´ metros, pero que debido al ruido, o a
                        a                                                    valor de M W definieron las diferentes configuraciones que
diferencias entre el valor de γ real y estimado, son correctas.              fueron probadas. El experimento se repiti´ en 9 ocasiones con
                                                                                                                        o
La diferencia media entre las distancias reales y estimadas se               cada distinta configuraci´ n, almacenando un conjunto total
                                                                                                       o
ha 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
                                                                                                                    a
converge m´ s r´ pido a individuos prometedores.
             a a                                                             individuo de la poblaci´ n anterior (M W ) de 0, 25, 50 y 75%.
                                                                                                    o
Para 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 CAPTURAS
IV muestra el porcentaje de capturas con diferencia entre la                   CON VALORES DE FITNESS POR ENCIMA DE DIFERENTES UMBRALES
distancia 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
                                                                                                                           o
mejora la robustez del algoritmo, ya que la r´ pida convergencia
                                             a                               representa fielmente la validez de los individuos durante el
´                  ´
USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL                                                                        93



proceso, aunque se puede comprobar que las variaciones                     Por estas razones, al aumentar el porcentaje de individuos
en el valor de M W no provocan grandes cambios en la                       que se clonan de iteraciones anteriores por encima de cierto
diferencia 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 soluciones
umbrales de fitness.                                                        a capturas anteriores y menos con la informaci´ n obtenida o
                                                                           con el proceso de filtrado. Los individuos de poblaciones
                          TABLE VI
P 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 al
mayores 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                   ı               o
estimaciones, 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
                                                                                                 n
tras 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 representar
capturas, que obtienen una diferencia entre la distancia real              el optimo global de la poblaci´ n, obtendr´ n valores de fitness,
                                                                              ´                                 o           a
y estimada por debajo de ciertos umbrales. En esta tabla                   que permitir´ n tras un peque˜ o n´ mero de mutaciones y
                                                                                          a                       n   u
se puede comprobar perfectamente que aumentar el valor de                  cruces, alcanzar valores cercanos a la soluci´ n global del
                                                                                                                                    o
M 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´ genesa
el valor de M W por encima de 0.25 obtenemos peores                        obtenidas mientras la c´ mara giraba a gran velocidad. Ante
                                                                                                       a
resultados, como se pudo intuir tras la tabla VI.                          im´ genes consecutivas con variaciones casi nulas entre ellas,
                                                                              a
La 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
                                                                                                        a
La pelota siempre aparece en las im´ genes como un objeto
                                         a                                 c´ mara.
                                                                            a
redondo de peque˜ o tama˜ o y color naranja. En muy pocas
                     n       n
capturas la pelota se encuentra parcialmente oculta (al con-
                                                                                     V. C ONCLUSIONES Y T RABAJO F UTURO
trario 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 sistemas
una 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
                                                                                                            e
proceso 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 o
valores de fitness mayores que cero.                                        de oclusiones, sin necesidad de enfoques basados en casos
94                                                                            X WORKSHOP DE AGENTES F´                         ´
                                                                                                     ISICOS, SEPTIEMBRE 2009, CACERES



El par´ metro β debe calcularse a partir del resto de par´ metros.
       a                                                   a         caci´ n y Ciencia) y los fondos FEDER mediante los proyectos
                                                                         o
Este 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
                                                         u
genes de cada individuo debe tan peque˜ o como sea posible.
                                           n
                                                                                                   R EFERENCES
En 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 robocup
capturadas de forma consecutiva, puede ser utilizada para                 domain. Pattern Recognition, Proc. of the Int. Conf. on Pattern
                                                                          Recognition (ICPR) 2 (2002) 651–654
mejorar el rendimiento del sistema desarrollado, acelerando           [2] J¨ ngel, M., Hoffmann, J., L¨ tzsch, M.: A real-time auto-adjusting vision
                                                                           u                            o
la convergencia hacia mejores soluciones.                                 system for robotic soccer. In: In 7th International Workshop on RoboCup
El 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–225
pelota, pero en vista a los resultados obtenidos, las alternativas    [3] Coath, G., Musumeci, P.: Adaptive arc fitting for ball detection in
actuales 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 the
mal 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 Methods
de 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 and
Otra l´nea de trabajo estar´a relacionada con la inclusi´ n
        ı                      ı                                 o        Programming-CSP 1(2002) (2002) 11–19
de restricciones durante la creaci´ n de nuevos individuos,
                                      o                              [10] Moscato, P.: Memetic algorithms: a short introduction. Mcgraw-Hill’S
utilizando para ello la creencia sobre la posici´ n y orientaci´ n
                                                 o               o        Advanced Topics In Computer Science Series (1999) 219–234
del 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 – 1241
de Comunidades de Castilla-La Mancha (Consejer´a de Edu-
                                               ı

Weitere ähnliche Inhalte

Andere mochten auch

Los tres cerditos
Los tres cerditosLos tres cerditos
Los tres cerditosvanec14
 
El sistema solar
El sistema solarEl sistema solar
El sistema solarGoodFeel_
 
Buen uso de internet
Buen uso de internetBuen uso de internet
Buen uso de internetjennsantos
 
Prod2 actividad3
Prod2 actividad3Prod2 actividad3
Prod2 actividad3florjesma
 
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)Minería a cielo abierto ( pérez, agustina salazar, ana salazar)
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)eem432br
 
Educación a distancia (4)
Educación a distancia (4)Educación a distancia (4)
Educación a distancia (4)jesicatello
 
TECNOLOGÍA Y EDUCACIÓN
TECNOLOGÍA Y EDUCACIÓNTECNOLOGÍA Y EDUCACIÓN
TECNOLOGÍA Y EDUCACIÓNClauperag
 
Sintesis de la unidad 1 robles rodriguez luis fernando
Sintesis de la unidad 1 robles rodriguez luis fernandoSintesis de la unidad 1 robles rodriguez luis fernando
Sintesis de la unidad 1 robles rodriguez luis fernandoluis robles
 
La innovación técnica y el desarrollo sustentable
La innovación técnica y el desarrollo sustentableLa innovación técnica y el desarrollo sustentable
La innovación técnica y el desarrollo sustentableviridianaruizmata
 
La historia de las cosas
La historia de las cosasLa historia de las cosas
La historia de las cosasivanaguero
 
Lasmejorescosasdelavida
LasmejorescosasdelavidaLasmejorescosasdelavida
Lasmejorescosasdelavidajoecaro1726
 
HISTORIA DEL SENA POR ALEXANDRA OLIVEROS
HISTORIA DEL SENA POR ALEXANDRA OLIVEROSHISTORIA DEL SENA POR ALEXANDRA OLIVEROS
HISTORIA DEL SENA POR ALEXANDRA OLIVEROSJAESMA96
 

Andere mochten auch (20)

Los tres cerditos
Los tres cerditosLos tres cerditos
Los tres cerditos
 
El sistema solar
El sistema solarEl sistema solar
El sistema solar
 
Quinto de ciencias
Quinto de cienciasQuinto de ciencias
Quinto de ciencias
 
Buen uso de internet
Buen uso de internetBuen uso de internet
Buen uso de internet
 
Las cartas
Las cartasLas cartas
Las cartas
 
Gerencia industrial
Gerencia industrialGerencia industrial
Gerencia industrial
 
Deber de jhon granados
Deber de jhon granadosDeber de jhon granados
Deber de jhon granados
 
Prod2 actividad3
Prod2 actividad3Prod2 actividad3
Prod2 actividad3
 
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)Minería a cielo abierto ( pérez, agustina salazar, ana salazar)
Minería a cielo abierto ( pérez, agustina salazar, ana salazar)
 
Educación a distancia (4)
Educación a distancia (4)Educación a distancia (4)
Educación a distancia (4)
 
Lab 04 06
Lab 04 06Lab 04 06
Lab 04 06
 
Excel en la contaduría
Excel en la contaduríaExcel en la contaduría
Excel en la contaduría
 
TECNOLOGÍA Y EDUCACIÓN
TECNOLOGÍA Y EDUCACIÓNTECNOLOGÍA Y EDUCACIÓN
TECNOLOGÍA Y EDUCACIÓN
 
T u t o r i a l
T u t o r i a lT u t o r i a l
T u t o r i a l
 
Sintesis de la unidad 1 robles rodriguez luis fernando
Sintesis de la unidad 1 robles rodriguez luis fernandoSintesis de la unidad 1 robles rodriguez luis fernando
Sintesis de la unidad 1 robles rodriguez luis fernando
 
La innovación técnica y el desarrollo sustentable
La innovación técnica y el desarrollo sustentableLa innovación técnica y el desarrollo sustentable
La innovación técnica y el desarrollo sustentable
 
La historia de las cosas
La historia de las cosasLa historia de las cosas
La historia de las cosas
 
Lasmejorescosasdelavida
LasmejorescosasdelavidaLasmejorescosasdelavida
Lasmejorescosasdelavida
 
Basura americas
Basura americasBasura americas
Basura americas
 
HISTORIA DEL SENA POR ALEXANDRA OLIVEROS
HISTORIA DEL SENA POR ALEXANDRA OLIVEROSHISTORIA DEL SENA POR ALEXANDRA OLIVEROS
HISTORIA DEL SENA POR ALEXANDRA OLIVEROS
 

Ähnlich wie 46 229-1-pb

Inteligencia artificial y las redes neuronales
Inteligencia artificial y las redes neuronalesInteligencia artificial y las redes neuronales
Inteligencia artificial y las redes neuronalesemily reyes lopez
 
Redes Neuronales(Examen)
Redes Neuronales(Examen)Redes Neuronales(Examen)
Redes Neuronales(Examen)diego28mauricio
 
Redes Neuronales(Examen)
Redes Neuronales(Examen)Redes Neuronales(Examen)
Redes Neuronales(Examen)diego28mauricio
 
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...Pablo Bolaños López
 
Practia 7 word andres mendez
Practia 7 word  andres mendezPractia 7 word  andres mendez
Practia 7 word andres mendezAnDreew Gonzalez
 
Reconocimiento de caracteres atravez de redes neuronales
Reconocimiento de caracteres atravez de redes neuronalesReconocimiento de caracteres atravez de redes neuronales
Reconocimiento de caracteres atravez de redes neuronalesluisfe
 
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTDetección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTAndrés Paute
 
Ciencias de la computacion.
Ciencias de la computacion.Ciencias de la computacion.
Ciencias de la computacion.diego
 

Ähnlich wie 46 229-1-pb (20)

Inteligencia Artificial
Inteligencia Artificial Inteligencia Artificial
Inteligencia Artificial
 
Inteligencia Artificial.pptx
Inteligencia Artificial.pptxInteligencia Artificial.pptx
Inteligencia Artificial.pptx
 
Inteligencia artificial y las redes neuronales
Inteligencia artificial y las redes neuronalesInteligencia artificial y las redes neuronales
Inteligencia artificial y las redes neuronales
 
20 y 21
20 y 2120 y 21
20 y 21
 
Redes Neuronales(Examen)
Redes Neuronales(Examen)Redes Neuronales(Examen)
Redes Neuronales(Examen)
 
Redes Neuronales(Examen)
Redes Neuronales(Examen)Redes Neuronales(Examen)
Redes Neuronales(Examen)
 
1111 1107-1-pb
1111 1107-1-pb1111 1107-1-pb
1111 1107-1-pb
 
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...
ESCÁNER 3D, UNA NUEVA FORMA TECNOLÓGICA PARA FIJAR Y RECREAR LA ESCENA DEL DE...
 
Practica 7
Practica 7Practica 7
Practica 7
 
Proyecto. vision artificial
Proyecto. vision artificialProyecto. vision artificial
Proyecto. vision artificial
 
Regla de kohonen y Red LVQ
Regla de kohonen y Red LVQ Regla de kohonen y Red LVQ
Regla de kohonen y Red LVQ
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Practia 7 word andres mendez
Practia 7 word  andres mendezPractia 7 word  andres mendez
Practia 7 word andres mendez
 
Paper Ia
Paper IaPaper Ia
Paper Ia
 
Reconocimiento de caracteres atravez de redes neuronales
Reconocimiento de caracteres atravez de redes neuronalesReconocimiento de caracteres atravez de redes neuronales
Reconocimiento de caracteres atravez de redes neuronales
 
123qw
123qw123qw
123qw
 
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECTDetección de Objetos y Reconocimiento Esquelético utilizado por KINECT
Detección de Objetos y Reconocimiento Esquelético utilizado por KINECT
 
Ciencias de la computacion.
Ciencias de la computacion.Ciencias de la computacion.
Ciencias de la computacion.
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

46 229-1-pb

  • 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 o detecci´ n de objetos mediante el uso de algoritmos gen´ ticos. o e ´ individuos generados permita alcanzar soluciones optimas tras La principal aportaci´ n del mismo consiste en la adaptaci´ n al o o un reducido n´ mero de iteraciones. u tiempo real de algoritmos generalmente utilizados offline. Para conseguir 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 algoritmos del sistema es el campeonato de futbol rob´ tico RoboCup1 , en ´ o evolutivos celulares[6], que muestran un buen comportamiento concreto la categor´a Standard Platform, y debe permitir detectar ı antes tareas de optimizaci´ n, que necesiten una alta eficacia o y 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 un campo 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 o rob´ 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 o dentro 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 determinada visi´ n son el principal dispositivo, a partir del cual obtener o distancia, la siguiente captura tomada por la c´ mara posee a informaci´ n del entorno. o una alta probabilidad de mostrar el mismo objeto situado a Este 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 o ruidosas, o de baja calidad. Los sistemas de visi´ n desarrol- o entre im´ genes, as´ como la informaci´ n obtenida en un proce- a ı o lados para rob´ tica m´ vil, poseen una serie de caracter´sticas, o o ı samiento previo, podemos desarrollar un sistema de visi´ n o entre las que destaca un grado m´ ximo de eficiencia, que a basado en algoritmos gen´ ticos capaz de trabajar en tiempo e permita 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 un Hasta 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 o procesamientos sencillos, utilizando como informaci´ n base o detecci´ n de objetos clave dentro de un campo de f´ tbol o u la 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 a utilizan ampliamente en la categor´a Standard Platform de la ı El sistema completo de Visi´ n se presenta en la secci´ n o o RoboCup[4]. III, mientras que la secci´ n IV recoge los experimentos y o La propuesta que aqu´ se presenta ofrece un enfoque diferente, ı ´ resultados. Por ultimo, la secci´ n V muestra las conclusiones o estudiando 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 PROBLEMA de iteraciones e individuos utilizados en cada ejecuci´ n del o El sistema de Visi´ n debe ser v´ lido para su uso dentro o a algoritmo deben reducirse lo m´ ximo posible. Para que esta a de la categor´a Standard Platform, por lo que ser´ aplicado ı a reducci´ n no afecte a las prestaciones del algoritmo, la ini- o con im´ genes capturadas por la c´ mara del robot Nao2 , que a a cializaci´ 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. 88 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERES espacio 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 o im´ genes captadas por el robot se filtran previamente, elimi- a necesario o no evolucionar una nueva poblaci´ n tras la llegada o nando los p´xeles que no hayan pasado un cierto filtro de color. ı de una nueva imagen, depender´ de si al aplicar el filtro de a Dentro 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 imagen equipaci´ n de cada jugador est´ formada por una serie de o a Filtrar la imagen inicial con los filtros de color elementos de color rojo o azul oscuro. para cada objeto El 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 u encuentran dentro de estos l´mites. ı Devolver distancia estimada al objeto Un ejemplo de filtrado lo tenemos en la imagen 1, donde se fin si puede observar la imagen original y la obtenida tras aplicar fin para un 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 u Fig. 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). a un partido, lo que implica oclusiones parciales de los objetos, donde la c´ mara solamente detecta un porcentaje total del a objeto. Ante este tipo de situaciones, los m´ todos tradicionales e B. Representaci´ n de Individuos o basados 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 e como 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 o uos, los cuales representan soluciones potenciales al problema informaci´ n para poder aplicar la funci´ n de fitness utilizando o o general. En nuestro caso, un individuo debe representar la de- im´ genes capturadas por la c´ mara, ya que las capturas a a tecci´ 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 o relativa determinada. relativa entre el objeto y la c´ mara. a Para evaluar la bondad o fitness de cada individuo, contrasta- mos la informaci´ n que transporta (objeto o situado a distancia o d) 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´ a un alto valor de bondad. Si por contra, en la imagen capturada no aparece el objeto o que representa el individuo, o aparece a una distancia muy distinta a d, el individuo obtendr´ un valor a bajo valor de bondad. A. Esquema general de procesamiento Nuestro esquema estar´ dirigido por la llegada de nuevas a im´ genes a la c´ mara, de forma que cada vez que llegue a a una captura, evolucionaremos un conjunto de poblaciones para detectar 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. ´ ´ 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 a representa la pelota, cuando se encuentra a una determinada dependiente de una correcta obtenci´ n de γ, y dejar´ de o a distancia d, y la diferencia de orientaci´ n entre el objeto y la o funcionar si la precisi´ n de esta medida se reduce. o c´ 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 y la distancia d, la captura de la c´ mara mostrar´ una pelota a a oscilaciones en la c´ mara, haciendo realmente complicado a de 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 a pelota. menor medida a la c´ mara, y la obtenci´ n de γ podr´ realizarse a o a No es necesario utilizar una componente adicional con la con mayor precisi´ n, de forma que no ser´ necesario modelar o a diferencia de orientaci´ n en el eje z, debido a que mediante o el par´ metro β, ya que puede calcularse de forma fiable. a t´ cnicas de detecci´ n del horizonte[9], podemos aplicar trans- e o Obviar este par´ metro mejorar´ la convergencia del algoritmo a a formaciones a las im´ genes capturadas para obtener todos los a gen´ tico, ya que los individuos contendr´ n un menor n´ mero e a u objetos de la imagen paralelos al suelo. ´ de genes y se alcanzar´ n soluciones optimas con un menor a Cada individuo de la poblaci´ n almacena la siguiente infor- o n´ mero de iteraciones. u maci´ 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 la num´ rico, limitado el caso de α y β al angulo de visi´ n de e ´ o informaci´ n que representa el individuo, traducimos esta o la 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 o m´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 o Para poder realizar correctamente la funci´ n de fitness, los o imagen, obtenida a partir de los par´ metros α y β. El tama˜ o a n individuos utilizados para detectar las porter´as deben contener ı del objeto proyectado depender´ del par´ metro d. a a un 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 o necesario, 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 a puede 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 a C. Obtenci´ n del par´ metro β o a Si conocemos en el momento de capturar una imagen el angulo que posee la c´ mara del robot en el eje y respecto al ´ a suelo, el par´ metro β puede obviarse. En lugar de modelar a Fig. 5. Imagen filtrada(izq) y estudio de 12 individuos para detectar la este 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 o entre 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 o puedan darse. funci´ n de fitness consisti´ en utilizar el porcentaje de o o Si 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 ı o obtener la distancia m´nima y m´ xima a la que somos capaces ı a conlleva un importante problema, ya que favorece individuos de detectar objetos. Si γ es cercano a 90 grados, el robot que representan objetos lejanos, que obtienen proyecciones detectar´ objetos situados a distancia lejanas, pero no detectar´ a a m´ s peque˜ as con mayor probabilidad de obtener un alto a n la 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. 90 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERES proceso 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 o individuos A y B. Mientras que B posee un mayor porcentaje lizando la informaci´ n de filtrado, aumentaremos el elitismo o de 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 n El 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 e suele ser aleatoria, generando uniformemente en los l´mites ı F. Oclusi´ n parcial de objetos o de los genes, pero en nuestro caso usaremos poblaciones En entornos complicados y cambiantes como los escenarios informadas. En primer lugar podemos utilizar individuos que RoboCup, es indispensable que el sistema de visi´ n funcione o provengan de la poblaci´ n de capturas anteriores. Adem´ s, o a de forma robusta ante oclusiones de objetos, ya que los objetos durante el proceso de filtrado obtuvimos el n´ mero de p´xeles u ı que deseamos detectar se encontrar´ n la mayor parte del a de la muestra de cada color, as´ como la componente x e y ı tiempo ocultos, parcial o totalmente tras otros objetos. De del 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 u inicializar los nuevos individuos. de capturas que recojan parcialmente el objeto, debido a la Aprovechando esta informaci´ n, generamos individuos de 3 o orientaci´ n entre la c´ mara y el objeto. o a maneras 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 a Las 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 u cuando tengamos poblaciones anteriores v´ lidas. Para definir a que permitan representar esta situaci´ n, a los cuales la funci´ n o o esta validez necesitamos conocer el tiempo transcurrido entre de fitness otorgue un alto valor. Esto se consigue aumentando la 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 a dando 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 o Para inicializar una poblaci´ n, por cada nuevo individuo o realizamos un sorteo, donde cada una de las opciones contar´ a con una probabilidad. Estas 3 probabilidades ser´ n variables y a estar´ n condicionadas al n´ mero de capturas entre la actual y a u ´ la ultima que detect´ el objeto que estamos estudiando. Para o ello 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 ESULTADOS un 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 u aumente 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 a CloneP rob. segundo en formato YUV, de tama˜ o 320 x 240 p´xeles. n ı
  • 5. ´ ´ USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL 91 Durante 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 (6 fitness, para cada uno de los elementos detectados. x 30). Por cada captura se almacena la diferencia absoluta Las condiciones de iluminaci´ n permanecieron invariables o entre la distancia real y la estimada por el algoritmo (denotada durante 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 o Realizamos dos estimaciones por segundo, ya que a pesar de ´ diversos conjuntos de datos, los cuales contienen unicamente que el tiempo de procesamiento es variable, en ning´ n caso u las diferencias obtenidas con individuos cuyo valor de bondad una 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 la Despu´ 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, el la porter´a y 187 para la pelota). La parte del proceso que ı valor medio de las diferencias entre la distancia real y estimada tiempo m´ s consume es la evaluaci´ n de los individuos dentro a o (DBRED) para estas capturas, y el porcentaje del total de las del algoritmo gen´ tico, ya que se debe obtener la proyecci´ n e o 180 capturas que obtienen, durante la detecci´ n del elemento, o asociada 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 FITNESS A. Par´ metros del Algoritmo Gen´ tico a e Los experimentos se realizaron con los siguientes Fitness > 0.0 > 0.25 > 0.5 > 0.75 par´ 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 e viduos e iteraciones reducido, utilizando una probabilidad de la tabla II el porcentaje de capturas cuya diferencia entre la mutaci´ n y operador de cruce est´ ndar. Al ser un algoritmo o a distancia real y estimada se encuentra por debajo de ciertos generacional, 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 II provocar 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 ESTIMADA de las iteraciones. Los individuos son evolucionados sin tener en cuenta la odometr´a del robot. ı Porcentaje de capturas por debajo de Al mejor individuo de cada iteraci´ n se le aplica un proceso de o 100cm 75cm 50cm 30cm b´ 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.67 fitness final obtenido tras cada captura. El proceso de b´ squeda u local consiste en evaluar variaciones positivas y negativas sobre 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 30 B. 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 a sistema desarrollado puede trabajar en tiempo real, detectando complicada que la porter´a, ya que s´ lo individuos cercanos ı o correctamente los elementos del entorno, estimando distancias al m´ ximo global obtienen valores de fitness superiores a a correctamente. Para ello utilizamos los par´ metros por defecto a cero, evitando que el algoritmo converja a trav´ s de las e del algoritmo gen´ tico descritos anteriormente. e iteraciones. Debido al peque˜ o tama˜ o de la pelota en las n n Realizamos un mismo recorrido por el terreno de juego en 6 im´ genes capturadas, s´ lo aquellos individuos que representen a o ocasiones. En cada recorrido se realizan 30 capturas (tomadas este objeto con una diferencia de orientaci´ n y distancia muy o durante 15 segundos) en las cuales se puede observar la cercana a la real, obtienen valores de bondad distintos a 0. La
  • 6. 92 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERES convergencia de un algoritmo gen´ tico de estas caracter´sticas e ı de las poblaciones, permite obtener un alto porcentaje de no ser´ constante. Un 83.83% de las detecciones que se han a capturas que obtienen una reducida diferencia entre el valor realizado 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 o porcentaje 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 o C. 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 a obtenci´ 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 u puede ser realizada, adem´ s de evaluar c´ mo afecta al a o ´ algoritmo gen´ tico, explorando unicamente soluciones que se e rendimiento general del algoritmo. Realizamos el mismo correspondan con situaciones reales. Al contar con un menor recorrido del experimento anterior, utilizando los mismos n´ mero de par´ metros, el algoritmo converger´ m´ s r´ pido, u a a a a par´ metros. a ´ permitiendo alcanzar mejores optimos con un n´ mero reducido u Durante 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 o evaluaci´ n, calcularemos este par´ metro utilizando para ello o a D. Experimento 3 - Estudio de M W la distancia al objeto d, la diferencia de orientaci´ n en el eje o El objetivo del tercer experimento consiste en mostrar x 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 a la 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 a de los sensores del robot. clonar un individuo de poblaciones anteriores, a la hora de De nuevo obtuvimos 180 capturas en total, con los resultados generar una nueva poblaci´ n, y por tanto define el peso de o mostrados 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 a resultados, es que realizamos un mayor n´ mero de detecciones u la misma distancia. Debido a las diferentes orientaciones de correctas (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 o que no podr´an ser obtenidos calculando este par´ metro, ya ı a par´ metros por defecto, incluyendo el par´ metro β entre la a a que recogen situaciones incorrectas seg´ n la obtenci´ n de β a u o informaci´ n que poseen los individuos. Los cambios en el o partir del resto de par´ metros, pero que debido al ruido, o a a valor de M W definieron las diferentes configuraciones que diferencias entre el valor de γ real y estimado, son correctas. fueron probadas. El experimento se repiti´ en 9 ocasiones con o La diferencia media entre las distancias reales y estimadas se cada distinta configuraci´ n, almacenando un conjunto total o ha 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 a converge m´ s r´ pido a individuos prometedores. a a individuo de la poblaci´ n anterior (M W ) de 0, 25, 50 y 75%. o Para 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 CAPTURAS IV muestra el porcentaje de capturas con diferencia entre la CON VALORES DE FITNESS POR ENCIMA DE DIFERENTES UMBRALES distancia 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 o mejora la robustez del algoritmo, ya que la r´ pida convergencia a representa fielmente la validez de los individuos durante el
  • 7. ´ ´ USO DE ALGORITMOS GENETICOS PARA DETECCION DE OBJETOS EN TIEMPO REAL 93 proceso, aunque se puede comprobar que las variaciones Por estas razones, al aumentar el porcentaje de individuos en el valor de M W no provocan grandes cambios en la que se clonan de iteraciones anteriores por encima de cierto diferencia 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 soluciones umbrales de fitness. a capturas anteriores y menos con la informaci´ n obtenida o con el proceso de filtrado. Los individuos de poblaciones TABLE VI P 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 al mayores 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 ı o estimaciones, 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 n tras 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 representar capturas, que obtienen una diferencia entre la distancia real el optimo global de la poblaci´ n, obtendr´ n valores de fitness, ´ o a y estimada por debajo de ciertos umbrales. En esta tabla que permitir´ n tras un peque˜ o n´ mero de mutaciones y a n u se puede comprobar perfectamente que aumentar el valor de cruces, alcanzar valores cercanos a la soluci´ n global del o M 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´ genesa el valor de M W por encima de 0.25 obtenemos peores obtenidas mientras la c´ mara giraba a gran velocidad. Ante a resultados, como se pudo intuir tras la tabla VI. im´ genes consecutivas con variaciones casi nulas entre ellas, a La 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 a La pelota siempre aparece en las im´ genes como un objeto a c´ mara. a redondo de peque˜ o tama˜ o y color naranja. En muy pocas n n capturas la pelota se encuentra parcialmente oculta (al con- V. C ONCLUSIONES Y T RABAJO F UTURO trario 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 sistemas una 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 e proceso 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 o valores de fitness mayores que cero. de oclusiones, sin necesidad de enfoques basados en casos
  • 8. 94 X WORKSHOP DE AGENTES F´ ´ ISICOS, SEPTIEMBRE 2009, CACERES El par´ metro β debe calcularse a partir del resto de par´ metros. a a caci´ n y Ciencia) y los fondos FEDER mediante los proyectos o Este 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 u genes de cada individuo debe tan peque˜ o como sea posible. n R EFERENCES En 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 robocup capturadas de forma consecutiva, puede ser utilizada para domain. Pattern Recognition, Proc. of the Int. Conf. on Pattern Recognition (ICPR) 2 (2002) 651–654 mejorar el rendimiento del sistema desarrollado, acelerando [2] J¨ ngel, M., Hoffmann, J., L¨ tzsch, M.: A real-time auto-adjusting vision u o la convergencia hacia mejores soluciones. system for robotic soccer. In: In 7th International Workshop on RoboCup El 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–225 pelota, pero en vista a los resultados obtenidos, las alternativas [3] Coath, G., Musumeci, P.: Adaptive arc fitting for ball detection in actuales 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 the mal 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 Methods de 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 and Otra l´nea de trabajo estar´a relacionada con la inclusi´ n ı ı o Programming-CSP 1(2002) (2002) 11–19 de restricciones durante la creaci´ n de nuevos individuos, o [10] Moscato, P.: Memetic algorithms: a short introduction. Mcgraw-Hill’S utilizando para ello la creencia sobre la posici´ n y orientaci´ n o o Advanced Topics In Computer Science Series (1999) 219–234 del 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 – 1241 de Comunidades de Castilla-La Mancha (Consejer´a de Edu- ı