seguimiento visual de objetos utilizando tÉcnicas … · muy diversos, siendo la robótica y la...

6
SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS DE PREDICCIÓN A. Sánchez, C. Ramos Dept. Ingeniería de Sistemas y Automática. Universidad Politécnica de Valencia Camino de Vera. Apdo. 22012 E-46071 Valencia e-mail: [email protected] , [email protected] Resumen En la mayoría de las tareas de localización de objetos mediante visión artificial, los objetos son estáticos y no se mueven. En este trabajo se pretende abordar el problema cuando los objetos están en movimiento utilizando como sistema sensorial una cámara y como método de seguimiento del objeto técnicas de predicción con el objetivo de obtener un sistema más rápido y robusto. Se analizan los problemas de predecir la posición de un objeto sobre una secuencia de imágenes utilizando splines cúbicos y se plantea una solución para que la trayectoria de salida sea más suave. Palabras Clave: Visión, Detección, Predicción, Seguimiento de objetos. 1 INTRODUCCIÓN Un problema a resolver en una terminal portuaria es la correcta localización de los objetos del almacén para su manipulación. Por ejemplo, la localización de un camión para la descarga o carga de un contenedor con la grúa (Figura 1) o la localización de la zona de precintado de un contenedor para que un robot realice el precintado de forma automática, etc. Figura 1: Grúa. En el dominio industrial se han empleado, con éxito, métodos de triangularización óptica para determinar la posición de los objetos. Este sistema utiliza una fuente y un detector de láser estáticos, con reflectores montados en el objeto. La mayoría de sistemas de posicionamiento óptico, utilizan información puntual producida por un rayo. La divergencia y desviación del rayo debido a las condiciones climáticas (lluvia y humedad) pueden afectar a los dispositivos ópticos. Junto con estos problemas técnicos, la limitación principal de estos sistemas ópticos es que el área de trabajo debe ser plana y estar nivelada, debido a que los rayos reflejados siempre deben poder alcanzar el punto de recepción desde el punto de emisión. Sin duda, la solución más flexible es utilizar información visual, utilizando un sistema de visión con varias cámaras para aplicar técnicas de estéreo-visión [1]. Sin embargo, existen graves problemas que se deberán solucionar en la utilización de este tipo de sensores, entre ellos cabe destacar: - Variaciones de las condiciones de iluminación natural (paso de una nube, lluvia, reflejos, etc.). - El alto coste computacional del tratamiento de las imágenes. - La gran variabilidad de los objetos. - Etc. La aplicación desarrollada bajo Visual C++, pretende predecir la posición de un camión en la zona de carga y descarga de barcos dentro de una terminal de un puerto como sistema de ayuda a los conductores en la operación de estacionamiento. Para ello, se ha instalado una cámara EVI D31 en posición cenital para la detección y seguimiento de los camiones. El presente trabajo se ha desarrollado en el laboratorio para probar la bondad de ciertas técnicas de seguimiento de objetos, con el objetivo posterior de aplicar la mejor técnica sobre un caso real de seguimiento de camiones en la terminal portuaria. 2 ESTADO DEL ARTE Los sistemas de visión por computador se basaron inicialmente en imágenes estáticas. Sin embargo el

Upload: votu

Post on 20-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

SEGUIMIENTO VISUAL DE OBJETOSUTILIZANDO TÉCNICAS DE PREDICCIÓN

A. Sánchez, C. RamosDept. Ingeniería de Sistemas y Automática. Universidad Politécnica de Valencia

Camino de Vera. Apdo. 22012 E-46071 Valenciae-mail: [email protected] , [email protected]

Resumen

En la mayoría de las tareas de localización deobjetos mediante visión artificial, los objetos sonestáticos y no se mueven. En este trabajo se pretendeabordar el problema cuando los objetos están enmovimiento utilizando como sistema sensorial unacámara y como método de seguimiento del objetotécnicas de predicción con el objetivo de obtener unsistema más rápido y robusto.

Se analizan los problemas de predecir la posición deun objeto sobre una secuencia de imágenesutilizando splines cúbicos y se plantea una soluciónpara que la trayectoria de salida sea más suave.

Palabras Clave: Visión, Detección, Predicción,Seguimiento de objetos.

1 INTRODUCCIÓN

Un problema a resolver en una terminal portuaria esla correcta localización de los objetos del almacénpara su manipulación. Por ejemplo, la localización deun camión para la descarga o carga de un contenedorcon la grúa (Figura 1) o la localización de la zona deprecintado de un contenedor para que un robotrealice el precintado de forma automática, etc.

Figura 1: Grúa.

En el dominio industrial se han empleado, con éxito,métodos de triangularización óptica para determinarla posición de los objetos. Este sistema utiliza unafuente y un detector de láser estáticos, con reflectoresmontados en el objeto. La mayoría de sistemas deposicionamiento óptico, utilizan información puntualproducida por un rayo. La divergencia y desviacióndel rayo debido a las condiciones climáticas (lluvia yhumedad) pueden afectar a los dispositivos ópticos.Junto con estos problemas técnicos, la limitaciónprincipal de estos sistemas ópticos es que el área detrabajo debe ser plana y estar nivelada, debido a quelos rayos reflejados siempre deben poder alcanzar elpunto de recepción desde el punto de emisión. Sinduda, la solución más flexible es utilizar informaciónvisual, utilizando un sistema de visión con variascámaras para aplicar técnicas de estéreo-visión [1].Sin embargo, existen graves problemas que sedeberán solucionar en la utilización de este tipo desensores, entre ellos cabe destacar:

- Variaciones de las condiciones de iluminaciónnatural (paso de una nube, lluvia, reflejos, etc.).

- El alto coste computacional del tratamiento delas imágenes.

- La gran variabilidad de los objetos.- Etc.

La aplicación desarrollada bajo Visual C++, pretendepredecir la posición de un camión en la zona de cargay descarga de barcos dentro de una terminal de unpuerto como sistema de ayuda a los conductores en laoperación de estacionamiento. Para ello, se hainstalado una cámara EVI D31 en posición cenitalpara la detección y seguimiento de los camiones. Elpresente trabajo se ha desarrollado en el laboratoriopara probar la bondad de ciertas técnicas deseguimiento de objetos, con el objetivo posterior deaplicar la mejor técnica sobre un caso real deseguimiento de camiones en la terminal portuaria.

2 ESTADO DEL ARTE

Los sistemas de visión por computador se basaroninicialmente en imágenes estáticas. Sin embargo el

Page 2: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

mundo es dinámico. Por tanto, el esfuerzo invertidoen mejorar la habilidad de poder seguir y manejarobjetos en movimiento queda sobradamentejustificado. Actualmente se está aplicando en camposmuy diversos, siendo la robótica y la medicina muyimportantes. La entrada al sistema de visión es unasecuencia de imágenes dinámica tomada del mundoreal, cada una de ellas tomada en un instante detiempo diferente.

Los cambios entre cada imagen pueden ser debidos almovimiento de la cámara, del objeto, a cambios deiluminación, cambios en el objeto, etc. Por tanto elproblema genérico en un sistema de visión, puedeclasificarse según sea la cámara o los objetos los quese muevan, en los siguientes casos:

- SCSO: Cámara estacionaria, objetosestacionarios.

- SCMO: Cámara estacionaria, objetos enmovimiento.

- MCSO: Cámara en movimiento, objetosestacionarios.

- MCMO: Cámara en movimiento, objetos enmovimiento.

El SCSO es simplemente un análisis estático. Si seaplican las técnicas utilizadas sobre una imagenestática, a una secuencia de imágenes se requiere unagran coste computacional. Afortunadamente, esto sepuede optimizar gracias a que se conoce informaciónde las imágenes anteriores para analizar la siguienteimagen.

Los problemas MCSO y MCMO han sido muy pocotratado pues requiere técnicas especiales. En elpresente trabajo se centrará la atención el casoSCMO, que es el que más atención ha recibido en elcampo de imágenes dinámicas.

En la segmentación es muy útil disponer deinformación de la imagen a priori, pues así se evitatener que realizar un barrido de toda la imagen comose realiza con una imagen estática. Así, si se tomauna secuencia del objeto en movimiento, entreimagen e imagen del objeto no habrá variadodemasiado su posición, por lo que si se realiza unaapropiada estimación de la posición futura, se puedeelegir un tamaño de ventana de segmentación que sesupone contendrá al objeto en la siguiente secuencia,disminuyendo así enormemente el costecomputacional.

3 PLANTEAMIENTO DELPROBLEMA

Cada secuencia suele representarse por una funciónF(x,y,t) donde x, y, son las coordenadas espaciales endos dimensiones, y t es el instante de tiempo. El valorde la función representa la intensidad del pixel.

Normalmente se asume que las imágenes sonadquiridas con un intervalo de tiempo constante, peroen el presente trabajo se asumirá que dicho intervaloes variable, por lo que se ofrece la posibilidad depredecir no sólo la posición del objeto en el instantesiguiente sino también el mismo instante de tiempofuturo.

Esto se justifica con la optimización de los recursosque se puede obtener de este modo, ya que porejemplo si un objeto se mueve lentamente, como laposición varía poco, el incremento de tiempo puedeaumentarse, pero en cuanto el objeto aumente suvelocidad al cometerse un mayor error en lapredicción se le puede dar orden a la cámara deadquirir a mayor frecuencia, y el instante futuro deadquisición se calculará teniendo la historia anteriorde tiempos, lo cual permite tener en cuentavariaciones en los incrementos de tiempo anteriores.

Por otra parte, en el presente trabajo se va a suponerque el movimiento de los objetos se realiza en unplano paralelo al plano de la imagen, lo cual permiterealizar una estimación cuantitativa de la posición delobjeto, no como en el caso 3D que sólo permiterealizar una estimación cualitativa de la posición.

Los objetos a seguir pueden ser cualesquiera (porejemplo podría ser un humano), por ello, no seconoce a priori el modelo del comportamiento delobjeto, y de este modo, se realizará una predicción dela posición futura del objeto basándose en lasposiciones anteriores (es decir la salida del sistema).

4 SOLUCIÓN DEL PROBLEMA

El flujograma que rige el funcionamiento delprograma es mostrado en la Figura 2.

Después de la fase de inicialización, se entra en elbucle en el que se adquiere una imagen junto con elvalor del instante de tiempo en el que ha sidoadquirida. Dicho bucle toma como parámetrosiniciales una posición en la pantalla que indica laposición (el centroide del objeto) y un tamaño deventana inicial utilizado posteriormente para lasegmentación de la imagen. Si dicha ventana excedelos límites de la imagen se realiza la correcciónoportuna.

Posteriormente con la historia de instantes de tiemposanteriores se predice el instante de tiempo futuro en

Page 3: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

el que se va a adquirir la siguiente imagen. Despuésse realiza una segmentación de la imagen en la zonadeterminada por la ventana y se calcula la posiciónactual del objeto. Con la secuencia de posicionesanteriores se predice la posición del objeto en elinstante siguiente, que será el instante de tiempotambién predicho.

La predicción de la ubicación del objeto en elinstante siguiente será el centro de la ventana desegmentación posterior, y la amplitud de la ventanadependerá del tamaño de los objetos analizados, y delerror cometido entre la posición actual del objeto realy la predicha anteriormente.

Con dicha posición y tamaño de ventana se vuelve arealizar de nuevo el bucle.

Figura 2: Flujograma del programa

4.1 PREDICCIÓN DEL INSTANTE DETIEMPO FUTURO

La predicción del instante de tiempo futuro se basaen el valor de los instantes anteriores (Figura 3),mediante el uso de polinomios.

Figura 3: Predicción del instante futuro.

En el instante inicial sólo se dispone de un valor detiempo, luego la mejor predicción no conociendonada más es el mismo valor, aunque obviamente se

comete error en la estimación. Al segundo instante yase dispone de dos valores, por lo que se aplica unapredicción utilizando un polinomio de orden uno, y alsiguiente instante un polinomio de orden dos.Posteriormente siempre se utiliza este polinomiopues es suficiente para reflejar fielmente lasvariaciones que pueden presentar los incrementos detiempo.

Por tanto en cada instante de tiempo se resolverá unsistema de tres ecuaciones y tres incógnitas paraobtener el polinomio de segundo orden que pasa porlos instantes de tiempo anteriores, paraposteriormente predecir el instante de tiempo futuro.

4.2 SEGMENTACIÓN

El tipo de segmentación utilizado depende del tipo deimágenes obtenidas. En el presente trabajo se hanconsiderado los métodos de segmentación conumbral fijo y segmentación mediante diferencias deimágenes.

En la Figura 4 se muestra el histograma que se utilizapara aplicar las técnicas de segmentación por umbralfijo.

Figura 4: Histograma de la imagen.

La selección del umbral (línea vertical) se puedeautomatizar utilizando técnicas de análisis dehistograma en imágenes simples con fondo uniforme.Sin embargo, cuando las imágenes son complejas conmuchos objetos de diferentes niveles de color estetipo de segmentación es inviable.

Por otra parte, las técnicas de segmentación mediantediferencias de imágenes son más robustas en escenascomplejas donde la cámara está fija y el objeto deinterés es móvil. Por ello, se utilizará esta técnica desegmentación para diferenciar el objeto de interés delresto de la imagen.

Para optimizar los algoritmos de tratamiento deimagen, las imágenes se recorren desde el centrohacia la periferia, de este modo el algoritmo de

1 2 3 4

t1 t2 t3

∆t1 ∆t2

?

Page 4: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

segmentación podría disponer de un indicador de finde proceso cuando se considere que el objeto hayasido totalmente analizado. Esta señal se puededisparar en función del área del objeto tratada.

4.3 CÁLCULO DE LA POSICIÓN DELOBJETO

La predicción de la posición del objeto es similar a ladel tiempo utilizando en cada iteración un polinomiode mayor grado, pero en este caso se llega hasta elspline cúbico, pues es simple y permite consideraraceleraciones lineales.

Por tanto, consiste en resolver el siguiente sistema deecuaciones lineales.

=

d

c

b

a

ttt

ttt

ttt

ttt

y

y

y

y

1

1

1

1

424

34

323

33

222

32

121

31

4

3

2

1

(1)

Siendo t1, t2, t3 y t4 los instantes de tiempoanteriores y el vector y1...y4 las posicionesanteriores, se predice la posición futura mediante elspline cúbico:

dtctbtay +⋅+⋅+⋅= 525

355 (2)

El proceso de elección del tipo de polinomio sepuede asemejar a una máquina con cuatro estados(cero, primer, segundo o tercer orden). Cuando secomete un error grande en la predicción de laposición, por ejemplo debido a un cambio brusco dela trayectoria, el spline cúbico no se ajusta bien, puesconsidera cuatro instantes anteriores, cuando con elanterior es suficiente (orden dos).

Por otra parte si en las posiciones utilizadas en laresolución del sistema de ecuaciones aparece algunarepetida, se elimina todos los puntos previos a laposición repetida incluida ésta, disminuyendo portanto el grado del polinomio a utilizar.

4.4 CÁLCULO DE LA VENTANA DEPREDICCIÓN FUTURA

La ventana de predicción estará centrada en laposición predicha del objeto y su tamaño dependeráde dos factores. Por un lado el tamaño del objeto,pues la ventana debe abarcar éste, y por otra del errorcometido en la predicción de la posición del objetoen el instante actual, pues a mayor incertidumbre,

mayor debe ser la ventana para asegurar que el objetoesté dentro. Es decir:

0.12,1

21

≥⋅+⋅=

kk

errorkáreakv (3)

La ventana de predicción es cuadrada de lado v.Dicho lado es proporcional al área del objetomediante el factor k1. Al realizar la segmentación, seconoce el número de pixeles que ocupa el objeto aseguir. Si éste no presenta una geometría demasiadoalargada, se puede suponer que un cuadrado de ladola raíz cuadrada del área que ocupa el objetocontendría a éste casi completamente. Posteriormentese da un margen de seguridad mediante el factor k1.

Por otra parte, si en el instante anterior se predijo queel objeto estaría en el instante siguiente en la posición

yx ˆ,ˆ y una vez segmentada la imagen del instantesiguiente se obtiene que el centroide del objeto seencuentra en la posición x,y, se puede calcular elerror cometido como:

( ) ( )22ˆˆ yyxxerror −+−= (4)

Con el factor k2 se pondera el valor del lado de laventana en función del error de predicción cometido.

5 RESULTADOSEXPERIMENTALES

La Figura 5 simula el comportamiento de una bola degoma que rebota en el suelo. Se han adquirido 17imágenes en instantes de tiempo diferentes. Enconcreto se muestra la situación en el instante final, ylos círculos muestran la predicción realizada de laposición de la bola en cada uno de los instantes detiempo.

Figura 5: Bola rebotando en el suelo

Page 5: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

En la Figura 6 se muestran los errores cometidos enla predicción de la posición en cada una de lasimágenes, exceptuando la primera imagen al nodisponer de una predicción anterior. En el punto derebote de la bola que corresponde a la imagennúmero diez, se observa que se comete el mayorerror de predicción debido al cambio brusco detrayectoria que presenta el objeto. Como se comentóanteriormente, en este instante se cambia de estadoignorando las posiciones anteriores al punto derebote, al cambiar a un polinomio de grado uno.

Figura 6: Errores de predicción.

En la secuencia anterior, se ha utilizado la técnica desegmentación con umbral fijo debido a que la escenaes muy sencilla con un fondo uniforme. En lasFiguras 7, 8, 9 y 10 se muestran los resultados depredicción para una imagen compleja, donde se hautilizado la técnica de diferencias para segmentar losobjetos en movimiento. Para probar la robustez deesta técnica durante la secuencia se ha cambiado laposición de algunas de las piezas de la escena y elresultado ha sido positivo debido a que estas piezasno están dentro de la ventana de predicción.

Figura 7: Imagen inicial

Figura 8: Aparición pieza en el instante siguiente

Figura 9: Avance pieza. Cambios en la mesa

Figura 10: Resultado segmentación

6 CONCLUSIONES

Se justifica la utilización de splines cúbicos paraextrapolar la trayectoria utilizando tres posicionesanteriores y añadiendo una restricción sobre laprimera derivada en la posición final, pues es unafunción sencilla, de bajo coste computacional ypermite considerar aceleraciones lineales.

La restricción de velocidad en el punto final es muyimportante utilizarla, sirviendo de filtro de suavidadde la trayectoria de salida.

Page 6: SEGUIMIENTO VISUAL DE OBJETOS UTILIZANDO TÉCNICAS … · muy diversos, siendo la robótica y la medicina muy importantes. La entrada al sistema de visión es una ... clasificarse

Los experimentos que se han realizado utilizando lassplines y sin utilizar ningún tipo de filtro, producenpredicciones sobre trayectorias de salida muyabruptas. Consiguiéndose, en estos casos los mejoresresultados con un modelo lineal de la trayectoria desalida. El inconveniente de utilizar un modelo lineales que se supone una velocidad constante y unaaceleración nula, por lo tanto si el objeto tieneaceleración se perderá.

Cuando las imágenes son adquiridas en instantes detiempo con un incremento no regular, se observa quese obtiene mejores resultados al considerarpolinomios de orden dos en la predicción del instantede tiempo futuro.

7 TRABAJOS FUTUROS

Si se conociese el modelo de comportamiento delobjeto, por ejemplo un vehículo autoguiado, sepodría aplicar el filtro de Kalman para predecir lasalida (trayectoria), con la ventaja adicional de servirde filtro ante la presencia de ruido en las coordenadasde los puntos de correspondencia de la imagen.

Actualmente se está trabajando en la aplicación delfiltro de Kalman al presente trabajo.

Por otra parte, también se están haciendo pruebas enlínea, es decir la cámara adquiere la imagen y prediceel instante de tiempo y la posición futura antes delsiguiente instante de tiempo.

Además, otros dos aspectos que se estánconsiderando también en paralelo en el presentetrabajo es el movimiento simultáneo de la cámara ylos objetos (caso MCMO) y su solución mediante laaplicación de la técnica del flujo óptico [2].

Agradecimientos

Este trabajo ha sido parcialmente subvencionado porel proyecto AUTOMATIZACIÓN DEOPERACIONES EN UNA TERMINAL DECONTENEDORES (FEDER 1FD97-2158-C04-0x(TAP)).

Referencias

[1] Albert F. y Sánchez A., (1999) “VisiónEstereoscópica para Estación de Cámaras enParalelo”. XX Jornadas de AutomáticaSalamanca, pp. 35-40.

[2] Gómez L. y Sánchez A., (1999) “Análisis,Implementación y Comparación de Técnicas deCálculo de Flujo Óptico”. XX Jornadas deAutomática. Salamanca, pp. 41-46.

[3] R.C. Jain, (1981) “Dynamic Scene AnalysisUsing Pixel-Based Processes”. Computer, Vol.12, No. 1, pp. 12-18.

[4] R.C. Jain, (1984) “Difference and AccumulativeDifference Pictures in Dynamic SceneAnalysis”. Image and Vision Computing, Vol.2, No. 2, pp. 99-108.

[5] Thomas S. Huang, (1986) “Handbook of PatternRecognition and Image Processing”. AcademicPress, Inc. Chapter 14.

[6] W.B. Thompson and T.C. Pong, (1990)“Detecting Moving Objects” Computer Vision,Vol. 4, pp. 39-57.