UNIVERSIDAD POLITECNICA DE MADRID - … · sistema de visión y el desarrollo de algoritmos de...
Transcript of UNIVERSIDAD POLITECNICA DE MADRID - … · sistema de visión y el desarrollo de algoritmos de...
UNIVERSIDAD POLITECNICA DE MADRID
DEPARTAMENTO DE AUTOMATICA, INGENIERIA
ELECTRONICA E INFORMATICA INDUSTRIAL
División de Ingeniería de Sistemas y Automática (DISAM)
ESTRATEGIAS PARA LA OBTENCIÓN Y PREDICCIÓN DE LA LOCALIZACIÓN Y VELOCIDAD DE OBJETOS MÓVILES
A TRAVÉS DE SECUENCIAS DE IMÁGENES
David Gutiérrez Horrillo
Julio 2005
UNIVERSIDAD POLITÉCNICA DE MADRID
DEPARTAMENTO DE AUTOMÁTICA
INGENIERÍA ELECTRÓNICA
E INFORMÁTICA INDUSTRIAL
División de Ingeniería de Sistemas y Automática (DISAM)
ESTRATEGIAS PARA LA OBTENCIÓN Y PREDICCIÓN DE
LA LOCALIZACIÓN Y VELOCIDAD DE OBJETOS MÓVILES
A TRAVÉS DE SECUENCIAS DE IMÁGENES
Autor: David Gutiérrez Horrillo
Tutores: Jose Mª Sebastián Zúñiga
Luis Ángel Silva
Julio 2005
A mis padres y Luisa.
En primer lugar debo agradecer a Jose María Sebastián todo el tiempo dedicado y todo lo que me ha enseñado, ya que gracias a su ayuda este proyecto ha salido adelante. Del mismo modo, a Luís Ángel Silva por su colaboración en los momentos en que estaba completamente parado.
También quiero expresar mi agradecimiento a todas las personas que me han ayudado a lo largo de estos seis últimos años:
A Luisa, por aguantar estoicamente estos 6 años de carrera (y algún año más antes) ayudándome a sobreponerme en los momentos más duros y difíciles.
A mis padres, sin cuya constancia e incesante apoyo no habría logrado estar donde estoy.
A mis compañeros de clase, por los momentos compartidos durante la carrera, fuera y dentro de la universidad.
Al resto de mi familia por su interés, a mis amigos por ayudarme a desconectar y a los “happy’s” por sus risas.
Título del proyecto. Índice de contenidos. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 1
ÍNDICE DE CONTENIDOS
Capítulo 1 Introducción. .................................................................... 9
1.1. Marco del proyecto. ..................................................................................................10
1.2. Objetivos. ..................................................................................................................11
1.3. Estructura del documento. ........................................................................................12
Capítulo 2 Estado del Arte de los Algoritmos de Estimación y
Seguimiento...................................................................................... 13
2.1. Técnicas de Estimación y Seguimiento. ...................................................................14
2.1.1. Extrapolador de Dos Puntos. .............................................................................15
2.1.2. Filtros g-h...........................................................................................................16
a) Filtros α−β. ..........................................................................................................18
b) Propiedades de los filtros g-h. .............................................................................18
c) Filtros g-h especiales. ..........................................................................................23
c.1) Filtro de Benedict-Bordner. ..........................................................................24
c.2) Filtro Críticamente Amortiguado. ................................................................25
c.3) Filtro de Mínimos Cuadrados y Filtro Polinomial de Memoria Extendida. .28
2.1.3. Filtros g-h-k. ......................................................................................................30
a) Filtros α−β−γ. ......................................................................................................31
b) Propiedades de los filtros g-h-k. ..........................................................................31
c) Filtros g-h-k especiales. .......................................................................................33
2.1.4. El Filtro de Kalman............................................................................................35
a) Notación matricial del filtro de Kalman. .............................................................36
Capítulo 3 Descripción del sistema físico. .................................... 39
3.1. HARDWARE. ..........................................................................................................40
3.1.1. La cámara...........................................................................................................40
3.1.2. La tarjeta de adquisición de imágenes. ..............................................................42
Título del proyecto. Índice de contenidos. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 2
3.1.3. Sistema robotizado.............................................................................................43
3.1.4. PC.......................................................................................................................46
3.1.5. Entorno de trabajo..............................................................................................47
3.2. SOFTWARE.............................................................................................................48
3.2.1. Sistema operativo...............................................................................................48
3.2.2. Lenguaje de programación.................................................................................49
Capítulo 4 Alternativas planteadas para la adquisición y el
procesamiento.................................................................................. 50
4.1. Adquisición...............................................................................................................51
4.1.1. Estándar entrelazado. .........................................................................................52
4.1.2. Escaneado progresivo. .......................................................................................52
4.1.3. Escaneado de alta velocidad. .............................................................................53
4.1.4. Bining.................................................................................................................53
4.1.5. Escaneado parcial. .............................................................................................55
4.2. Procesamiento. ..........................................................................................................56
4.2.1. Segmentación.....................................................................................................57
a) Estimación del umbral para la segmentación. .....................................................58
a.1) Umbral estático. ............................................................................................58
a.2) Umbral dinámico. .........................................................................................58
b) Método de segmentación.....................................................................................60
b.1) Comprobación de la imagen completa. ........................................................61
b.2) Búsqueda de puntos candidatos y expansión................................................61
4.2.2. Extracción de características..............................................................................64
a) Centro de gravedad 2D de la pelota.....................................................................64
a.1) Imagen binaria. .............................................................................................64
a.2) Imagen en niveles de gris. ............................................................................65
b) Radio de la pelota. ...............................................................................................67
b.1) Cálculo a través del área de la imagen binaria. ............................................67
b.2) Cálculo a través del área de la imagen en niveles de gris. ...........................68
Título del proyecto. Índice de contenidos. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 3
b.3) Medición directa del radio con precisión subpíxel.......................................68
c) Estimación de la coordenadas 3D........................................................................69
c.1) Coordenadas X e Y.......................................................................................70
c.2) Coordenada Z................................................................................................71
4.2.3. Filtrado de datos.................................................................................................73
a) Modelo del sistema. .............................................................................................74
a.1) Velocidad constante......................................................................................74
a.2) Aceleración constante. ..................................................................................75
a.3) Dependencia del tiempo de adquisición. ......................................................76
b) Modelo del sensor................................................................................................77
b.1) Medida de posición.......................................................................................78
b.2) Medida de la posición y la velocidad. ..........................................................78
c) Problemática del filtro de Kalman. ......................................................................79
4.3. Sincronización de la adquisición y el procesamiento. ..............................................82
4.3.1. Procedimiento síncrono. ....................................................................................83
4.3.2. Procedimiento asíncrono....................................................................................84
Capítulo 5 Resultados. .................................................................... 85
5.1. Sincronización de la adquisición y el procesamiento. ..............................................86
5.2. Filtrado de datos........................................................................................................88
5.2.1. Estimación del radio a través del análisis de la imagen.....................................89
5.2.2. Dimensión del vector de estado. ........................................................................95
5.2.3. Inclusión del tiempo en el modelo del sistema. ...............................................100
5.2.4. Efecto de los valores de las matrices Q y R.....................................................103
5.2.5. Modelo del sensor. ...........................................................................................108
Capítulo 6 Conclusiones. .............................................................. 109
6.1. Alternativas elegidas...............................................................................................110
6.2. Gráficos finales. ......................................................................................................112
Título del proyecto. Índice de contenidos. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 4
6.3. Predicciones. ...........................................................................................................114
Capítulo 7 Anexos.......................................................................... 117
7.1. ANEXO I. Presupuesto...........................................................................................118
7.2. ANEXO II. Estructuración de descomposición del proyecto. ................................121
7.3. ANEXO III. Diagrama de Gantt. ............................................................................123
7.4. ANEXO IV. Precisión subpíxel..............................................................................125
Título del proyecto. Índice de ilustraciones. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 5
INDICE DE ILUSTRACIONES.
Ilustración 2.1. Error en la predicción b* en estado estacionario para una referencia
moviéndose con aceleración constante. .......................................................20
Ilustración 2.2. Error transitorio de predección en un filtro g-h debido a una entrada
escalón en velocidad. ...................................................................................24
Ilustración 2.3. Ajustes por mínimos cuadrados..................................................................26
Ilustración 2.4. Polos en el plano A para el filtro g-h críticamente amortiguado. ...............28
Ilustración 3.1. Cámara Sony XC-HR50. ............................................................................40
Ilustración 3.2. Tarjeta de adquisición Matrox Meteor 2-MC/4..........................................42
Ilustración 3.3. Arquitectura del robot paralelo. ..................................................................44
Ilustración 3.4. Imágenes del robot......................................................................................45
Ilustración 3.5. Entorno de trabajo en el que se realizará el seguimiento............................47
Ilustración 4.1. Esquema de adquisición de imágenes.........................................................51
Ilustración 4.2. Imagen en movimiento capturada con estándar entrelazado. .....................52
Ilustración 4.3. Imagen de la pelota en modo no bining......................................................54
Ilustración 4.4. Imagen de la pelota en modo bining...........................................................54
Ilustración 4.5. Imagen cercana de la pelota y su histograma. ............................................57
Ilustración 4.6. Imagen segmentada sin filtrar.....................................................................61
Ilustración 4.7. Imagen segmentada y filtrada. ....................................................................61
Ilustración 4.8. Búsqueda de puntos candidatos. .................................................................62
Título del proyecto. Índice de ilustraciones. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 6
Ilustración 4.9. Expansión de por el área de la pelota. ........................................................63
Ilustración 4.10. Efecto de una iluminación superior. .........................................................66
Ilustración 4.11. Sistema de referencia para definir posiciones y velocidades....................70
Ilustración 4.12. Obtención de la coordenada X en el entorno 3D. .....................................71
Ilustración 4.13. Esquema del filtro de Kalman discreto.....................................................80
Ilustración 4.14. Ejecución síncrona de adquisición y procesamiento. ...............................83
Ilustración 4.15. Ejecución asíncrona de adquisición y procesamiento. .............................84
Ilustración 5.1. Tiempos de adquisición en modo asíncrono...............................................86
Ilustración 5.2. Tiempos de adquisición en modo síncrono. ...............................................87
Ilustración 5.3. Estimación del radio a partir del área de la imagen binaria........................89
Ilustración 5.4. Estimación del radio a partir del área de la imagen en niveles de gris. ......90
Ilustración 5.5. Medida del radio con precisión subpixel según eje y. ................................91
Ilustración 5.6. Medición del radio con precisión subpíxel según eje x. .............................92
Ilustración 5.7. Medida del radio ponderado con precisión subpíxel. .................................93
Ilustración 5.8. Posiciones con vector de estado en posición y velocidad...........................95
Ilustración 5.9. Posición con vector de estado en posición, velocidad y aceleración..........96
Ilustración 5.10. Error de posición con vector de estado en posición y velocidad. .............96
Ilustración 5.11. Error de posición con vector de estado en posición, velocidad y
aceleración. ..................................................................................................97
Ilustración 5.12. Velocidades con vector de estado en posición y velocidad. .....................97
Título del proyecto. Índice de ilustraciones. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 7
Ilustración 5.13. Velocidades con vector de estado en posición, velocidad y aceleración..98
Ilustración 5.14. Error en velocidad con vector de estado en posición, velocidad y
aceleración. ..................................................................................................99
Ilustración 5.15. Tiempos de adquisición con retardos. ....................................................100
Ilustración 5.16. Velocidades con un modelo atemporal...................................................101
Ilustración 5.17. Velocidades con un modelo temporal.....................................................102
Ilustración 5.18. Velocidades con modelo sin error en la aceleración. .............................105
Ilustración 5.19. Velocidades con modelo con error en la aceleración. ............................105
Ilustración 5.20. Error en velocidad con un modelo sin error en aceleración. ..................106
Ilustración 5.21. Error en velocidad con un modelo sin error en aceleración. ..................106
Ilustración 6.1. Campo de posiciones filtradas de la pelota...............................................112
Ilustración 6.2. Campo de velocidades filtradas de la pelota.............................................113
Ilustración 6.3. Error de predicción en el eje x con 15 muestras. ......................................115
Ilustración 6.4. Error en la predicción en el eje z con 15 muestras. ..................................116
Título del proyecto. Índice de tablas. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 8
ÍNDICE DE TABLAS.
Tabla 2.1. Filtros g-h especiales. .........................................................................................24
Tabla 4.1. Imágenes con distintas iluminaciones con sus respectivos histogramas. ..........59
Tabla 4.2. Valores de los niveles de blanco y umbrales de segmentación. .........................60
Título del proyecto. Introducción. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 9
Capítulo 1 Introducción.
La realización de tareas por parte de los sistemas robotizados en entornos
estructurados con presencia de objetos cuya posición y orientación es perfectamente
conocida, es un problema suficientemente estudiado en la actualidad. Sin embargo, la
realización de tareas en entornos dinámicos presenta numerosas dificultades aún no
suficientemente resueltas. Los sistemas sensoriales de visión y esfuerzos son capaces de
aportar una información extremadamente útil en estos entornos cambiantes puesto que
ofrecen información acerca de cuáles son los objetos presentes en la escena de trabajo y
además y quizás más importante, permiten determinar de una forma suficientemente
precisa su posición y orientación.
Título del proyecto. Introducción. 05199212 Marco del proyecto. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 10
1.1. Marco del proyecto.
La investigación realizada se encuadra dentro del proyecto de investigación
“Arquitecturas de tele operación en entornos dinámicos modelables” DPI 2001-3827-C02-
01 subvencionado por el Ministerio de Ciencia y Tecnología. Este proyecto, plantea el
estudio e implementación de una novedosa plataforma experimental de control visual
directo, que permita por un lado, modelar el entorno y por otro, lograr el control de las
trayectorias de sistemas robotizados, de forma que se posibilite una mayor integración del
sistema de visión y del manipulador en entornos no estructurados y dinámicos.
Debido a los requisitos de alta velocidad y aceleración de operación del sistema,
se ha seleccionado un manipulador de estructura paralela y un sistema de visión compuesto
por una cámara de escaneo progresivo y adquisición múltiple, que unido a la potencia de
cálculo de los actuales ordenadores, permite trabajar con periodos de adquisición y
procesamiento cercanos a los 4 milisegundos.
A partir de la revisión bibliográfica, se puede afirmar que la plataforma es la
primera que plantea el control de un robot paralelo mediante realimentación visual. La
plataforma llamada RoboTenis, permitirá al robot jugar al tenis de mesa, y su diseño
implicará la construcción del robot de estructura paralela, la selección e integración del
sistema de visión y el desarrollo de algoritmos de control servo-visual.
La realización del presente proyecto fin de carrera ha abarcado los algoritmos
necesarios para el control visual en la estimación de la posición y velocidad de un objeto
móvil.
Título del proyecto. Introducción. 05199212 Objetivos. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 11
1.2. Objetivos.
Como se acaba de mencionar en el apartado anterior, el objetivo principal del
presente proyecto, es el desarrollo de estrategias para el control visual del movimiento de
un robot o sistema articular en entornos dinámicos.
Tras unos estudios anteriores a este proyecto sobre estimación de posición y
velocidad en un entorno controlado, en el presente proyecto se pretende realizar un control
visual directo en tiempo real donde la información obtenida directamente de la secuencia
de imágenes sea trasladada a un robot paralelo (RoboTenis) diseñado para jugar al tenis de
mesa.
Entre los objetivos parciales a conseguir en el desarrollo del presente proyecto se
incluyen:
• Predicción de la posición y velocidad de un objeto en el espacio, a fin de
poder efectuar su seguimiento.
• Aplicación de los algoritmos de predicción al control visual para su
utilización en el robot paralelo (RoboTenis) a fin de facilitar la realización de tareas
complejas como es jugar al tenis de mesa.
• Planteamiento de otras pruebas alternativas a fin de poder evaluar los
distintos algoritmos y determinar el más adecuado de todos ellos.
Título del proyecto. Introducción. 05199212 Estructura del documento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 12
1.3. Estructura del documento.
El documento se estructura en cinco grandes bloques que se comentan a
continuación.
• Estado del arte de los algoritmos de estimación y seguimiento.
Se pretende realizar un análisis del estado en que se encuentran las distintas
alternativas de que se dispone para la estimación y el seguimiento de objetos móviles.
• Descripción del sistema utilizado.
Se realiza una breve descripción tanto del hardware y del software empleados para
la realización de la tarea.
• Descripción del proceso y de los algoritmos de estimación propuestos.
Se describen los pasos que se siguen para que, a partir de una secuencia de
imágenes, se puedan obtener los parámetros que se le deben comunicar al robot para que
este lleve a cabo la función requerida.
• Resultados de las distintas alternativas.
Se hacen los oportunos ensayos para poder obtener los valores característicos de
cada una de las pruebas que se plantearon en el apartado anterior.
• Conclusiones.
En base a los resultados obtenidos en el apartado anterior, se concretará cual es la
alternativa más apropiada para el problema que se ha planteado.
Título del proyecto. Estado del arte. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 13
Capítulo 2 Estado del Arte de
los Algoritmos de Estimación y Seguimiento.
En el estado del arte en algoritmos de estimación y seguimiento es amplio debido
especialmente a las contribuciones realizadas en Radar y en teoría de estimación.
En este capítulo se profundiza en las técnicas de estimación y seguimiento típicas
en Radar, ya que forman parte en la mayoría de los estudios de los investigadores en el
campo de técnicas de estimación y seguimiento.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 14
2.1. Técnicas de Estimación y Seguimiento.
En esta sección se van a ver las técnicas más usuales para estimar la posición de
un único objeto.
Los algoritmos, que van desde el más sencillo, el Extrapolador de Dos Puntos, al
más sofisticado, el Filtro de Kalman, se caracterizan por predecir la posición futura de la
referencia u objeto que estamos siguiendo. Adicionalmente estiman su velocidad y en el
caso de los Filtros g-h-k y el Filtro de Kalman de tercer orden la aceleración de la
referencia.
A parte de ver el estado del arte en este tipo de estimadores, daremos sus
ecuaciones de diseño y las referencias bibliográficas para un mayor detalle.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Extrapolador de dos puntos.
22/10/2006 UPM-DISAM 15
2.1.1. Extrapolador de Dos Puntos.
El Extrapolador de Dos Puntos es el algoritmo de estimación más simple que
existe para estimar la cinemática de n proceso. Utiliza las dos últimas medidas para
determinar la velocidad y la última medida junto con la velocidad estimada para
determinar la posición [Brookner98libro].
* 1
* *1 ·
n nn
n n n
y yxT
x y T x
−
+
−=
= + (2.1)
Este estimador se caracteriza por ser muy rápido en su respuesta transitoria. Por
el contrario, no realiza ningún tipo de filtrado a la señal medida yn, lo que lo hace muy
sensible al ruido de la medida.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 16
2.1.2. Filtros g-h.
Los Filtros g-h son filtros recursivos muy simples. Se trata de estimadores de
segundo orden, es decir, estiman la posición futura y la velocidad de un objeto basándose
en un modelo dinámico en donde la referencia a seguir se mueve a velocidad constante
[Bhagavan1974, Brookner98libro, Bar-Shalom98libro].
A pesar de que asumen un modelo dinámico de velocidad constante, la referencia
puede que no se mueva así. Para tener en cuenta esta situación actualizan la velocidad del
objeto a través de la ecuación:
*
, 1* *, , 1 · n n n
n n n n n
y xx x h
T−
−
⎛ ⎞−= + ⎜ ⎟⎜ ⎟
⎝ ⎠ (2.2)
La notación utilizada obedece a lo siguiente: el superíndice “*” denota que es una
magnitud estimada. Los parámetros sin asterisco representan valores reales en posición y
velocidad del objeto. Se ha introducido un segundo subíndice que indica el instante en el
cual se ha producido la última medida para realizar la estimación. De esta manera *, 1n nx −
indica la velocidad estimada en el instante n basada en las medidas realizadas hasta el
instante n-1; análogamente *,n nx denota la velocidad estimada en el instante n teniendo en
cuenta la medida realizada en ese instante, es decir, teniendo en cuenta yn. La notación
descrita será la utilizada de aquí en adelante.
El parámetro hn, sirve para dar mayor o menor peso a la medida. En general
depende del tiempo. De esta forma, si hn tiene un valor de 1 o cercano a éste, estamos
dando más importancia a la medida yn que a la estimación *, 1n nx − , a medida que
disminuimos hn sucede lo contrario. En general, el valor de hn depende de lo preciso que
sea el instrumento de medida.
La ecuación de actualización de la posición que se utiliza es:
( )* * *, , 1 , 1·n n n n n n n nx x g y x− −= + − (2.3)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 17
El parámetro gn depende, en general, del tiempo y al igual que hn sirve para dar
mayor o menor peso a la medida yn. Es decir, gn determina donde queremos poner la
estimación en posición, cerca de la medida yn o de la predicción *, 1n nx − . Del mismo modo
que ocurría con hn depende de la precisión con la que obtenemos la medida.
Las dos ecuaciones anteriores proporcionan la actualización de la posición y de la
velocidad del objeto en el instante n después de haber realizado la medida yn. A estas dos
ecuaciones se las denomina Ecuaciones g-h de Actualización o Filtrado:
( )
*, 1* *
, , 1
* * *, , 1 , 1
·
·
n n nn n n n n
n n n n n n n n
y xx x h
T
x x g y x
−−
− −
⎛ ⎞−= + ⎜ ⎟⎜ ⎟
⎝ ⎠
= + −
(2.4)
A *,n nx se le denomina estimación filtrada y estima la posición de xn en el instante
de tiempo n basándose en la medida actual yn así como en las pasadas. Esta estimación
difiere de la estimación predicha *, 1n nx − en que estima la posición xn basándose en medidas
pasadas.
Para realizar la predicción en posición asumen un movimiento de velocidad
constante obteniendo las denominadas Ecuaciones g-h de Predicción:
* *
1, ,
* * *1, , 1,·
n n n n
n n n n n n
x x
x x T x+
+ +
=
= + (2.5)
Las ecuaciones (2.4) y (2.5) nos permiten realizar el seguimiento del objeto
deseado. Por norma general, no estamos interesados en conocer *,n nx y sí *
1,n nx + . En este
caso se suelen combinar proporcionando sólo dos ecuaciones que son conocidas como
Ecuaciones g-h de Predicción y Filtrado:
( )
( )
* * *1, , 1 , 1
* * * *1, , 1 1, , 1
·
· ·
nn n n n n n n
n n n n n n n n n n
hx x y xT
x x T x g y x
+ − −
+ − + −
= + −
= + + − (2.6)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 18
Estas ecuaciones son muy utilizadas en sistemas radar [Bar-Shalom98libro,
Benedict1962, Blackman86libro, Brookner98libro, Farina86libro].
Una importante clase de Filtros g-h son aquellos en donde g y h son constantes a
lo largo del tiempo. En este caso los cálculos se simplifican al igual que se requiere un
menor uso de memoria.
La selección de los parámetros gn y hn determinan las características del filtro
como veremos más adelante.
a) Filtros α−β.
Para obtener las ecuaciones de los conocidos como Filtros α−β tan sólo hay que
coger las Ecuaciones g-h de Predicción y Filtrado (2.6) y sustituir g por α y h por β
obteniendo las ecuaciones de los Filtros α−β.
( )
( )
* * *1, , 1 , 1
* * * *1, , 1 1, , 1
·
· ·
nn n n n n n n
n n n n n n n n n n
x x y xT
x x T x y x
β
α
+ − −
+ − + −
= + −
= + + − (2.7)
b) Propiedades de los filtros g-h.
Se verán a continuación las propiedades más importantes de este tipo de filtros.
• Comportamiento en estado estacionario de una referencia moviéndose a
velocidad constante.
Los Filtros g-h predicen la posición con error cero, es estado estacionario, en el
caso de que la referencia se mueva a velocidad constante y no existan errores en
la medida, [Brookner98libro].
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 19
En este caso gn y hn se hacen cero.
• Condiciones bajo las que la asunción de velocidad constante es razonable.
Supongamos que nuestra referencia se mueve de manera arbitraria por una
trayectoria unidimensional en el tiempo, x(t). Si expresamos x(t) en términos de
su expansión en Serie de Taylor:
2 3
( ) · · · ...2! 3!n n n nt tx t x t x x x∆ ∆
= + ∆ + + + (2.8)
Tenemos que para términos 2
· 02! nt x∆
→ podemos escribir (2.8) como:
( ) ·n nx t x T x= + (2.9)
En esta última expresión se ha sustituido t∆ por T. La ecuación (2.9) es
precisamente la ecuación de un objeto moviéndose a velocidad constante. Por
tanto la asunción de que nuestra referencia se mueve a velocidad constante es
razonable siempre y cuando el periodo de muestreo sea pequeño o cuando la
aceleración sea pequeña o la combinación de ambos sea pequeña.
• Comportamiento en estado estacionario de una referencia moviéndose con
aceleración constante.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 20
Ilustración 2.1. Error en la predicción b* en estado estacionario para una referencia moviéndose con aceleración constante.
Este error de predicción es denominado por otros autores como error dinámico,
error sistemático, error de bias o error de truncamiento.
El error de predicción en este caso y suponiendo que no cometemos errores de
medida, está dado por la ecuación [Asquith1969, Morrison69libro].
2
* *1,
·n n
x Tb bh+= = − (2.10)
Como se puede observar, el error de predicción es inversamente proporcional al
parámetro h. Por tanto, cuanto mayor sea h más rápido responde el Filtro g-h a
cambios de velocidad. Por otro lado, para valores menores, el filtro tendrá un
comportamiento más lento a los cambios de velocidad.
El error de predicción para la posición filtrada y para la velocidad está dado por
[Asquith1969]:
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 21
* 2,
*,
1· ·
2· ·2
n n
n n
gb x Th
g hb x Th
−= −
−= −
(2.11)
• Error de seguimiento debido a errores aleatorios en la medida.
La medida yn la podemos expresar como:
n n ny x υ= + (2.12)
En esta expresión xn es la posición verdadera del objeto y nυ es el error de
medida para la observación enésima. Asumimos que nυ es una variable aleatoria
de media cero y con desviación estándar υσ para todo n. Como υσ representa la
desviación de la medida podemos cambiar su notación a xσ .
Se pretende por tanto conocer la varianza en la predicción de *1,n nx + :
( ) ( ){ }22 2 * * *1, 1, 1, 1,n n n n n n n nx E x E xσ σ+ + + +
⎡ ⎤= = −⎢ ⎥⎣ ⎦ (2.13)
En esta expresión en operador E[·] representa al operador valor esperado.
Queremos expresar la ecuación (2.13) en términos de xσ y de los parámetros del
filtro. Asquito demostró que en estado estacionario y para parámetros constantes
en el Filtro g-h, está dado por [Asquith1969]:
( ) ( )2
2 2 * 21, 1,
2· 2· · ·· 4 2·n n n n xg h g hx
g g hσ σ σ+ +
+ += =
− − (2.14)
Análogamente se obtiene para la posición filtrada y para la velocidad estimada:
( ) ( )2
2 2 * 2, ,
2· 2· 3· · ·· 4 2·n n n n x
g h g hxg g h
σ σ σ+ −= =
− − (2.15)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 22
( ) ( )2
2 * 21, 2
1 2· ·· 4 2·n n x
hxT g g h
σ σ+ =− −
(2.16)
• Compensación entre el error de predicción y la varianza en la estimación.
Las magnitudes 1,n nσ + y *b son parámetros de diseño a la hora de realizar el
algoritmo de estimación. El error de predicción total o error de seguimientos
viene dado por la suma de ambos parámetros. Por tanto, de nada sirve reducir
mucho uno de ellos si el otro se mantiene constante.
Queremos remarcar que estos dos requerimientos son mutuamente excluyentes. A
saber, cuanto mayores es h menor es *b , lo que produce una mayor 1,n nσ + y
viceversa, ver (2.10) y (2.14). Por tanto el diseño de los algoritmos debe de hacer
frente a este inconveniente.
Una buena elección es hacer que ambos errores sean aproximadamente del mismo
orden de magnitud. Una manera de conseguirlo es haciendo *b igual a tres veces
el rms del error de predicción [Brookner98libro]:
* 21,3· n nb σ += (2.17)
• Estabilidad.
La estabilidad es a menudo un asunto a tener en cuenta en el diseño de un filtro.
La literatura [Asquith1969, Skalansky1957, Tenne2000] muestra que un Filtro g-
h de parámetros constantes es estable cuando sus parámetros cumplen las
siguientes condiciones:
00
4 2· 0
gh
g h
>>− − >
(2.18)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 23
c) Filtros g-h especiales.
En esta sección se presentan los algoritmos de estimación de la Tabla 2.1. Todos
ellos se rigen por las Ecuaciones g-h de Predicción y Filtrado (2.6). Por tanto, todos ellos
son Filtros g-h y por consiguiente Filtros α−β. La diferencia entre ellos radica en la
selección de los parámetros gn y hn. Algunos mantienen los parámetros gn y hn constantes a
lo largo del tiempo como en el caso del Filtro Benedict-Bordner, mientras que otros
pueden variar en el transcurso del tiempo, como en el filtro de Kalman. En algunos de los
filtros relatados en la Tabla 2.1 los parámetros g y h están relacionados entre si.
Filtro Wiener
Filtro polinomial de memoria gradual
Filtro polinomial de memoria extendida
Filtro de Kalman
Filtro de Bayes
Filtro de mínimos cuadrados
Filtro de Benedict-Bordner
Filtro concentrado
Filtro g-h de mínimos cuadrados
discontinuo
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 24
Filtro g-h críticamente amortiguado
Filtro de crecimiento de memoria
Tabla 2.1. Filtros g-h especiales.
c.1) Filtro de Benedict-Bordner.
El filtro de Benedict-Bordner es un Filtro g-h en donde sus parámetros g y h están
elegidos de forma que minimizan el error de predicción transitorio cuando se produce un
salto de velocidad [Benedict1962].
Ilustración 2.2. Error transitorio de predección en un filtro g-h debido a una entrada escalón en velocidad.
La figura 2.2 muestra esta situación. En ella podemos ver la trayectoria seguida
por la referencia a lo largo del tiempo xn y la posición predicha por el Filtro g-h, *. 1n nx − .
Inicialmente, la velocidad de la referencia es cero hasta que en t = 0 pasa a una velocidad
destinta de cero. Podemos observar como en un principio el filtro no sigue perfectamente a
la referencia produciéndose un error transitorio. El Filtro Benedict-Bordner está diseñado
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 25
de forma que sus parámetros g y h minimicen este error. Para ello utilizan la siguiente
función de coste que minimizan para un salto en velocidad [Benedict1962].
( )22 *, 1 1, 1
0·n n n n nn
E x xσ λ∞
− + +=
= + −∑ (2.19)
Tras la minimización, se obtienen que los parámetros g y h deben de estar
relacionados de la siguiente manera:
2
2gh
g=
− (2.20)
En [Benedict1962] los autores señalan que el análisis realizado da el valor óptimo
para el parámetro h una vez seleccionado el g. Recomiendan variar g conforme el error en
la predicción vaya aumentando.
En la literatura, el Filtro de Benedict-Bordner es también conocido como Filtro g-
h Óptimo [Asquith1969, Asquith1970, Brookner98libro].
c.2) Filtro Críticamente Amortiguado.
El Filtro Críticamente Amortiguado es óptimo en otro sentido. Este selecciona los
parámetros g y h de forma que su comportamiento sea críticamente amortiguado.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 26
Ilustración 2.3. Ajustes por mínimos cuadrados.
Supongamos que tenemos 9 observaciones y0..y8, Figura 2.2. Con estas
observaciones tenemos que predecir donde estará nuestra referencia en n = 9. Una manera
de hacerlo es encontrar la recta que mejor se ajusta a estos puntos y realizar una
extrapolación para n = 9.
El ajuste de una línea por mínimos cuadrados es aquella que minimiza la suma
total de las diferencias al cuadrado entre los puntos medidos y los de dicha línea en el
instante de tiempo n [Blackman99libro]:
( )22 *
0 0
N N
n n nn n
e x yε= =
= = −∑ ∑ (2.21)
Existe un problema en utilizar este método. Este ajuste se caracteriza por dar el
mismo peso a las medidas antiguas como a las realizadas más recientemente. Por lo que si
el objeto está realizando un giro, los datos antiguos están influyendo de manera incorrecta
a la hora de predecir el camino. Para solucionar este error, en la manera de lo posible,
tenemos que dar menos peso a los datos antiguos que a los realizados más recientemente:
2
0
·
0 1
NN n
nn
e θ ε
θ
−
=
=
≤ ≤
∑ (2.22)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 27
Para realizar el seguimiento de esta manera los parámetros g y h vienen dados por
[Blackman99libro]:
( )
2
2
1
1
g
h
θ
θ
= −
= − (2.23)
De esta manera, no es preciso guardar todas las medidas pasadas para realizar el
seguimiento ya que guardando la posición predicha y velocidad estimada pasada, *, 1n nx − y
*, 1n nx − , tenemos toda la información que necesitamos del pasado para realizar la predicción.
Si los parámetros g y h son fijos a lo largo del tiempo y son calculados mediante
(2.23), entonces tenemos el denominado Filtro g-h Discontinuo de Mínimos Cuadrados, el
noveno de la Tabla 2.1. En ocasiones, recibe otro nombre: Filtro Polinomial de Memoria
Gradual de grado 1, segundo de la Tabla 2.1, y se dice que es de grado 1 porque tenemos
un modelo dinámico de velocidad constante y por tanto la posición es una función lineal
del tiempo. Es también llamado Filtro g-h Críticamente Amortiguado, décimo de la Tabla
2.1, porque es críticamente amortiguado. Para comprobar esta afirmación basta con
calcular la transformada Z de las Ecuaciones g-h de Predicción y Filtrado (2.6) con g y h
dados por (2.23). Haciéndolo [Asquith1969], encontramos que este filtro posee un polo
real doble en 1 2z z θ= = . Este polo doble se encuentra dentro del círculo unidad ya que
1θ ≤ , Figura 2.4, y de ahí que sea amortiguado.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 28
Ilustración 2.4. Polos en el plano A para el filtro g-h críticamente amortiguado.
c.3) Filtro de Mínimos Cuadrados y Filtro Polinomial de Memoria
Extendida.
Hasta ahora se ha asumido que se trabajaba en estado estacionario. Sin embargo,
no se ha hablado de que es lo que ocurre en el proceso de inicialización de la estimación de
nuestra referencia. Los filtros con los parámetros g y h fijos presentan un comportamiento
muy pobre en el proceso de inicialización ya que el cálculo de estos parámetros se realiza
para cuando nos encontramos en estado estacionario. Estos sobreestiman las predicciones
antiguas y subestiman las nuevas, presentando inicialmente un comportamiento pobre. Una
solución lógica es que los parámetros g y h sena dependientes del tiempo, grandes en la
fase inicial hasta alcanzar el estacionario de donde trabajaríamos con un filtro de
parámetros constantes como el Benedict-Bordner o el Críticamente Amortiguado.
Para este periodo de inicialización se suele utilizar el Filtro de Mínimos
Cuadrados, en donde básicamente se realiza un ajuste de las medidas por le método de
mínimos cuadrados y en donde los parámetros g y h varía a lo largo del tiempo n según las
siguientes expresiones [Brookner98libro]:
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h.
22/10/2006 UPM-DISAM 29
( )( ) ( )
( ) ( )
2· 2· 12 · 16
2 · 1
n
n
ng
n n
hn n
+=
+ +
=+ +
(2.24)
Con esta selección los pesos decrecen según va aumentando n. De esta manera se
asume que al principio tiene una pobre estimación (g y h grandes), por lo que se tiene más
en cuenta yn, y que ésta va mejorando a lo largo del tiempo (g y h decrecen).
El Filtro g-h de Mínimos Cuadrados, línea 6 de la Tabla 2.1, también es conocido
como Filtro Polinomial de Memoria Extendida, línea 3 de Tabla 2.1, ya que su memoria
crece linealmente a lo largo del tiempo.
El momento para realizar el cambio a un filtro con parámetros g y h constantes es
para algunos investigadores cuando [Brookener98libro]:
2 21, 1,n n n nFiltro Mínimos Cuadrados en estado estacionarioσ σ+ += (2.25)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h-k.
22/10/2006 UPM-DISAM 30
2.1.3. Filtros g-h-k.
Hasta ahora se han visto estimadores que modelaban la dinámica de la referencia
suponiendo que esta se movía a una velocidad constante. Los Filtros g-h-k consideran que
el objeto se mueve con cierta aceleración con lo que su dinámica se rige por las ecuaciones
[Brookner98libro, Bar-Shalom98libro]:
2
1
1
1
· ·2
·
n n n n
n n
n n
Tx x x T x
x x x Tx x
+
+
+
= + +
= +=
(2.26)
Siguiendo el mismo procedimiento que con los Filtros g-h obtenemos las
Ecuaciones g-h-k de Actualización o Filtrado.
( )
( )( )
* * *, , 1 , 12
* * *, , 1 , 1
* * *, , 1 , 1
2· ·
·
·
nn n n n n n n
nn n n n n n n
n n n n n n n n
kx x y xThx x y xT
x x g y x
− −
− −
− −
= + −
= + −
= + −
(2.27)
Y finalmente las Ecuaciones g-h-k de Predicción:
* *1, ,
* * *1, , ,
2* * * *
1, , , ,
·
· ·2
n n n n
n n n n n n
n n n n n n n n
x x
x x x T
Tx x x T x
+
+
+
=
= +
= + +
(2.28)
La combinación de (2.27) y (2.28) nos proporciona las Ecuaciones g-h-k de
Predicción y Filtrado:
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h-k.
22/10/2006 UPM-DISAM 31
( )( ) ( )
( ) ( )
* * *1, , 1 , 12
* * * *1, , 1 , 1 , 1
* * * * *1, , 1 , 1 , 1 , 1
2· ·
2··
·
nn n n n n n n
n nn n n n n n n n n
n n n n n n n n n n n n n n
kx x y xT
h kx x x y x
Tx x x x g h k y x
+ − −
+ − − −
+ − − − −
= + −
+= + + −
= + + + + + −
(2.29)
a) Filtros α−β−γ.
Las ecuaciones de los Filtros α−β−γ se obtienen sustituyendo en las Ecuaciones
g-h-k de Predicción y Filtrado (2.29) los siguientes valores de g, h y k.
2
gh
k
αβγ
==
=
(2.30)
b) Propiedades de los filtros g-h-k.
Las propiedades más características de este tipo de filtros son:
• Comportamiento en estado estacionario de una referencia moviéndose con
aceleración constante.
Los Filtros g-h-k predicen la posición sin error en el caso de que la referencia se
mueva con aceleración constante en estado estacionario y no existan errores de
medida [Brookner98libro].
• Condiciones bajo las que la asunción de aceleración constante es razonable.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h-k.
22/10/2006 UPM-DISAM 32
Siguiendo el mismo razonamiento que en el caso de Filtros g-h, para términos 3
03! nt x∆
→ podemos escribir la expansión en Serie de Taylor de x(t), ecuación
(2.8), como:
2
( ) · ·2n n n
Tx t x T x x= + + (2.31)
Esta ecuación es precisamente la de un objeto moviéndose con aceleración
constante. Por tanto, la asunción de que nuestra referencia se mueve con
aceleración constante es razonable siempre y cuando el periodo de muestreo sea
pequeño o el empuje nx sea pequeño o la combinación de ambos.
• Comportamiento en estado estacionario de una referencia moviéndose con
empuje constante.
En el caso de que nuestra referencia se esté moviendo con empuje constante y
estemos en estado estacionario, la predicción realizada por un filtro g-h-k posee
un error de predicción *b dado por [Asquith1970]:
3
* *1,
·2·n nx Tb b
k+= = − (2.32)
El error de predicción es inversamente proporcional al parámetro k. Por tanto,
cuanto mayor sea k más rápido responde el filtro g-h-k a cambios de aceleración.
En cambio, para valores menores el filtro tendrá un comportamiento más lento a
estos cambios.
• Error de seguimiento debido a errores aleatorios en la medida.
Asquito demuestra que en estado estacionario, para parámetros constantes en el
filtro g-h-k la varianza en la predicción está dada por [Asquith1970]:
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h-k.
22/10/2006 UPM-DISAM 33
( ) ( ) ( )( ) [ ]
2 2 * 21, 1,
· · 2· 4 · · 2· 2··
2· · · 2· 4n n n n x
g k g h h g g h hx
k g h k g hσ σ σ+ +
+ − + + +⎡ ⎤⎣ ⎦= =− + + −⎡ ⎤⎣ ⎦
(2.33)
Análogamente tenemos que para la posición filtrada, la velocidad estimada y la
aceleración estimada están dadas por:
( ) ( ) ( )( ) ( )
( ) ( )( ) ( )
( ) ( ) ( )
22 2 * 2, ,
3 2 22 * 2
1, 2
22 * 2
1, 4
2· · 2· 2· 3· · 2· · · 4 2··
2· 4 2· · · · 2·
2· 4· · 4· · 2·
· 4 2· · · · 2·
8· · ·· 4 2· · · · 2·
n n n n x
n n x
n n x
h g h g h g k g hx
g h g h g k k
h h k k gx
T g h g h g k k
h kxT g h g h g k k
σ σ σ
σ σ
σ σ
+
+
+ − + − −= =
− − + −
− + −=
− − + −
=− − + −
(2.34)
• Estabilidad.
Tenne y Singh en [Tenne2000] exponen que un filtro g-h-k es estable siempre y
cuando sus parámetros cumplan las siguientes condiciones:
( )
0 200
0 4 2·4· ·
2· 2
ghk
g hg hk
g
< <>>< − −
<−
(2.35)
c) Filtros g-h-k especiales.
Existen filtros g-h-k equivalentes a los filtros g-h estudiados en la sección 2.1.2.c,
como el críticamente amortiguado, el Benedict-Bordner y el polinomial de memoria
extendida.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo Filtros g-h-k.
22/10/2006 UPM-DISAM 34
El filtro g-h-k críticamente amortiguado posee tres raíces reales y representa el
filtro que minimiza el error cuadrático medio para una referencia moviéndose con
aceleración constante. En este caso los parámetros vienen dados por [Morrison69libro]:
( ) ( )
( )
3
2
3
1
1.5· 1 · 1
0.5· 1
g
h
k
θ
θ θ
θ
= −
= − −
= −
(2.36)
El filtro g-h-k Benedict-Bordner también es conocido como el filtro de Simpson y
está diseñado para minimizar el error transitorio ante un cambio escalón en la aceleración.
La relación entre g, h y k en este tipo de filtros está dada por [Simpson1963]:
( )2· · 0h g g h k− + + = (2.37)
Para k=0 obtenemos la expresión (2.20) que es la relación entre g y h para un
filtro Benedict-Bordner de segundo orden.
El filtro g-h-k polinomial de memoria extendida es el filtro de mínimos cuadrados
para una referencia moviéndose con aceleración constante. Este filtro, al igual que su
homólogo en segundo orden es utilizado en el proceso de inicialización de seguimiento de
una referencia. Se caracteriza porque sus parámetros g, h y k cambian a lo largo del
tiempo.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo El filtro de Kalman.
22/10/2006 UPM-DISAM 35
2.1.4. El Filtro de Kalman.
Hasta ahora se han visto estimadores de segundo orden que modelaban la
dinámica del objeto como si se moviera a velocidad constante. En la vida real esto no es
del todo cierto ya que siempre existe cierta incertidumbre en la trayectoria debido al ruido
de medida o a cambios de velocidad. El filtro de Kalman es un filtro g-h que tiene en
cuenta esta incertidumbre añadiendo una componente aleatoria en la dinámica de la
referencia [Kalman1960]. Por ejemplo, se puede añadir una componente aleatoria de
velocidad un.
1
1
·n n n
n n n
x x T xx x u
+
+
= += +
(2.38)
Donde un es independiente de n a n+1 para todo n y de varianza 2uσ . Físicamente
representa un salto aleatorio de velocidad justo antes de la observación n+1.
Esta componente aleatoria tiene en cuenta cualquier posible aceleración o giro de
la referencia así como los posibles ruidos de medida.
Kalman dirigió sus estudios en encontrar el estimador óptimo en medio de todas
las clases de estimadores lineales y no lineales que minimizan el error cuadrático medio.
( )2*1, 1n n nx x+ +− (2.39)
Finalmente encontró que el filtro óptimo era precisamente el filtro g-h (2.6). En
donde los parámetros gn y hn dependen de n. Y en general, dependen de la varianza de la
medida y de la precisión con la que queremos conocer la posición.
Un estudio realizado por Asquito demuestra que en estado estacionario las
constantes del filtro están dadas por [Asquith1969]:
2
2gh
g=
− (2.40)
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo El filtro de Kalman.
22/10/2006 UPM-DISAM 36
Esta ecuación es idéntica a la del filtro Benedict-Bordner (2.20). Por tanto el filtro
de Kalman en estado estacionario es idéntico al filtro de Benedict-Bordner. De ahí que
algunos autores lo denominen filtro g-h óptimo.
a) Notación matricial del filtro de Kalman.
En esta sección se va a expresar el filtro de Kalman en notación matricial. Esta
notación es la más utilizada en la literatura [Bar-Shalom98libro, Blackman99libro,
Brookner98libro, Welch2002] aunque su característica más importante es que se puede
generalizar fácilmente a otros casos además del unidimensional.
El filtro de Kalman es una técnica de estimación bayesiana empleada para seguir
sistemas estocásticos dinámicos observados mediante sensores ruidosos. Proporciona un
buen marco para la estimación incremental de una cantidad en una situación en la cual las
mediciones relacionadas con la misma están disponibles a lo largo del tiempo.
El marco de trabajo de este algoritmo está relacionado con las variables de estado
de un sistema físico, el cual podemos modelizar de la siguiente manera:
1 · · ; (0, )k k k k k k kx A x B u w w N Q+ = + + → (2.41)
donde wk es una variable aleatoria que se modela como una normal de media cero
y varianza definida a través de la matriz de covarianzas Q.
Además, para la aplicación del filtro de Kalman también hay que crear un modelo
del sensor que nos relacione la medida zk con el estado del sistema xk:
· ; (0, )k k k k kz H x v v N R= + → (2.42)
donde, de la misma manera que ocurría en el modelo del sistema, existe una
variable aleatoria que se modela como una normal de media cero y varianza especificada
en la matriz de covarianzas R.
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo El filtro de Kalman.
22/10/2006 UPM-DISAM 37
Conviene hacer ciertas consideraciones sobre la nomenclatura empleada en las
variables que intervienen en cada uno de los pasos de este algoritmo. Se define así el
estado estimado a priori en el momento k, como el estado que podemos estimar a través de
todos los datos conocidos hasta el instante k-1, por lo que también podemos definir la
matriz de covarianzas a priori como la matriz de covarianzas que nos dice la probabilidad
de que los datos proporcionados por el estado a priori sean correctos.
( ) ( )ˆ ˆ( | 1)
ˆ ˆ·
k
T
k k k k k
x x k k
P E x x x x
−
− − −
= −
⎡ ⎤= − −⎢ ⎥⎣ ⎦ (2.43)
Del mismo modo que antes, se definen el estado estimado a posteriori y la matriz
de covarianzas a posteriori en el instante k. La diferencia con el anterior es que en este caso
sí que se considera para la estimación del estado la posición en el momento que estamos
calculando, es decir, tenemos un dato más para realizar la estimación. La nomenclatura
empleada es la siguiente:
( ) ( )
ˆ ˆ( | )
ˆ ˆ· Tk k k k k
x x k k
P E x x x x
=
⎡ ⎤= − −⎣ ⎦ (2.44)
Una vez definidas todas las variables necesarias con su correspondiente
nomenclatura, se van a definir los pasos de que consta el algoritmo del filtro de Kalman
discreto.
En primer lugar tenemos la fase de propagación o de predicción, en la cual se
realiza la estimación del estado y matriz de covarianzas a priori:
k 1 1 1 1
k 1 1 1 1Pk k k k
Tk k k k
x A x B u
A P A Q
−− − − −
−− − − −
= +
= + (2.45)
Posteriormente viene la fase de actualización o de corrección, en la cual se
calcula la matriz de ganancia de Kalman que nos sirve para cuantificar cuanto deben crecer
Título del proyecto. Estado del arte. 05199212 Técnicas de estimación y seguimiento. David Gutiérrez Horrillo El filtro de Kalman.
22/10/2006 UPM-DISAM 38
las variables de estado que correspondan en función del ruido del sensor, la matriz de
covarianzas a priori y la matriz que define el modelo del sensor.
1
kK T Tk k k k k kP H H P H R
−− −⎡ ⎤= +⎣ ⎦ (2.46)
Después se calcula el vector de estado a posteriori como una corrección del
vector de estado a priori al que se le suma el error cometido entre la medida del sensor y la
estimación del modelo del sensor tomando como estado el modelo a priori. Con la matriz
de covarianzas también se realiza una corrección similar.
[ ]
k k k
k kP Pk k k
k k
x x K z H x
I K H
− −
−
⎡ ⎤= + −⎣ ⎦= −
(2.47)
Como se puede observar, se genera un proceso iterativo en el que, una vez que se
alcanza el punto (1.7), se vuelve a iniciar todo el proceso con el añadido de que cuantas
más medidas se van teniendo más precisa es la medición porque va disminuyendo el valor
de los elementos de la matriz de covarianzas, por lo que la incertidumbre de las medidas
que se obtienen con este algoritmo es menor.
Título del proyecto. Descripción del sistema físico. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 39
Capítulo 3 Descripción del
sistema físico.
En este apartado se realizará una descripción de todos los elementos que han sido
necesarios para poder desarrollar el presente proyecto.
Estos elementos engloban todo el hardware y software sin el cual no habría sido
posible desempeñar las tareas que se describirán en capítulos posteriores. En base a la
clasificación de elementos hardware y software se estructurará este capítulo.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo La cámara.
22/10/2006 UPM-DISAM 40
3.1. HARDWARE.
3.1.1. La cámara.
Como ya se mencionó la cámara que se usará será el modelo SONY XC-HR50.
Ilustración 3.1. Cámara Sony XC-HR50.
Las características principales con las que cuenta esta cámara son:
• Captura de imágenes a alta velocidad. Incluye las siguientes opciones en función de
las características de las tareas a realizar:
o Imagen Completa (525 líneas) a 60 cuadros por segundo. Tiempo de
adquisición 16 ms.
o Imagen re-escalada (263 líneas) a 120 cuadros por segundo. Tiempo de
adquisición 8 ms.
• Imágenes parciales (completa o re-escalada) hasta 362 cuadros por segundo.
• Integración progresiva: todos los píxeles se integran a la vez, lo que evita el efecto
del movimiento de entre las líneas pares e impares.
• Mínima iluminación de 1 lux.
• Tiempo de integración de hasta 1/100.000 segundos.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo La cámara.
22/10/2006 UPM-DISAM 41
• Reducido tamaño: 29 x 29 x 32 mm. Esta característica es fundamental para su
integración en un sistema robotizado.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo La tarjeta de adquisición de imágenes.
22/10/2006 UPM-DISAM 42
3.1.2. La tarjeta de adquisición de imágenes.
La tarjeta de adquisición será la MATROX METEOR 2-MC/4.
Ilustración 3.2. Tarjeta de adquisición Matrox Meteor 2-MC/4.
Las características más destacadas con las que cuenta la tarjeta son las que se
detallan a continuación:
• Digitalizador color/monocromo para bus PCI.
• 4MB de memoria.
• Captura video estándar o no estándar hasta 30 MHz.
• Doble buffering: permite capturar una imagen mientras se procesa la imagen
previamente grabada.
Existe una documentación adicional que se incluye al final del presente
documento con todas las características técnicas de esta tarjeta de adquisición.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Sistema robotizado.
22/10/2006 UPM-DISAM 43
3.1.3. Sistema robotizado.
El robot usado para la realización de la tarea será un robot paralelo, es decir, un
robot cuyo efector final está unido a la base directamente por los accionamientos o por las
barras.
Al haber más de una cadena cinemática cerrada, la cinemática de un robot
paralelo es muy diferente a la de un robot serie. La cinemática inversa de un robot paralelo
se resuelve fácilmente por métodos geométricos, mientras que la cinemática directa es
compleja y se resuelve por métodos numéricos.
Los robots paralelos poseen una serie de ventajas e inconvenientes que se
describen a continuación:
• Ventajas.
o Gran capacidad de aceleración y velocidad de operación.
o Elevada rigidez y bajo peso.
o Accionamiento directo (sin reductores), simplicidad mecánica.
• Desventajas.
o Dificultad en resolver la cinemática directa.
o El espacio de trabajo es reducido, dependiendo del tipo de robot.
Dentro de los distintos modelos de robots paralelos, el que fue elegido para
desempeñar la tarea fue el Robot Delta.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Sistema robotizado.
22/10/2006 UPM-DISAM 44
Ilustración 3.3. Arquitectura del robot paralelo.
Las características que caben destacar de este diseño son:
• La base y el efector final se encuentran se conectan por tres cadenas
cinemáticas cerradas e idénticas. Cada una de estas cadenas está separada 120º y consta de
un brazo superior y de un sistema de barras paralelas.
• Esta configuración confiere al efector final un movimiento de translación
según los ejes x, y, z.
• Se le puede dotar de un grado de libertad adicional con un brazo central que
tenga una articulación prismática y otra rotacional, con lo que se permitirá girar el efector
final según la aplicación deseada.
• Los motores están montados en la base y transfieren el movimiento a cada
articulación rotacional, con lo que se consigue que la carga inercial manejada sea reducida.
Algunas de las imágenes del robot ya montado y protegido dentro de una jaula de
seguridad se pueden ver en las siguientes fotografías.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Sistema robotizado.
22/10/2006 UPM-DISAM 45
Ilustración 3.4. Imágenes del robot.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Pc.
22/10/2006 UPM-DISAM 46
3.1.4. PC.
En lo referente al equipo informático necesario para poder realizar la aplicación,
la principal exigencia la poder ser compatible con la tarjeta de adquisición, disponer de
suficiente memoria RAM como para poder almacenar todos los datos de cada una de las
adquisiciones que se realicen y una velocidad de procesamiento que no limite la velocidad
de adquisición de imágenes que se puede alcanzar con la combinación tarjeta-cámara.
El equipo informático con el que se cuenta es un PC de doble procesador de
tecnología Pentium IV, con lo que la velocidad de cálculo queda suficientemente cubierta
para el procesamiento de la imagen. Es muy importante este hecho, ya que lo que se
pretende es que lo que límite el tiempo global de un ciclo de trabajo sea la adquisición de
la imagen y no el procesamiento de la misma. La adquisición viene limitada por la cámara
y la tarjeta de adquisición, con lo que, si se tiene un equipo informático eficiente, el
procesamiento de la imagen será menor que el tiempo de adquisición.
La necesidad de tener una cantidad importante de memoria RAM (2Gb) reside en
que las pruebas que se realizan precisan del almacenamiento de gran cantidad de
información como puedan ser las matrices que surgen del filtro de Kalman, los vectores de
estados, los vectores de error y todo aquello que quiera ser llevado a estudio. La necesidad
de guardarlo en memoria y no escribirlo en disco surge de las elevadas exigencias en el
tiempo de procesamiento de los datos. La escritura en disco genera un retardo en los
procesamientos que no se produce cuando se almacenan estos datos en memoria. Una vez
que se ha terminado el ciclo de análisis, se vuelcan todos estos datos al disco para
analizarlos y así liberar la memoria. Como se ha podido deducir de este apartado, las
pruebas que se realicen para el estudio de parámetros tienen que ser de tiempo limitado o
de un determinado número de ciclos para que no se desborden los datos de la capacidad de
la memoria. Es por este motivo por el que se cuenta con una memoria RAM muy grande
que permita realizar la mayor cantidad posible de ciclos de modo que los resultados puedan
ser más útiles para el estudio.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Entorno de trabajo.
22/10/2006 UPM-DISAM 47
3.1.5. Entorno de trabajo.
En función de lo que aparezca en la imagen que se esté procesando, se tiene que
distinguir la pelota del resto del contenido. Es por este motivo que se tiene que definir el
entorno en el que se va a mover la pelota.
Como la pelota será de color negro, para evitar cualquier tipo de confusión con
objetos que aparezcan detrás de ésta, se ha cubierto el fondo de la escena con un panel de
color blanco que permitirá distinguir fácilmente la pelota al mismo tiempo que facilita el
proceso de segmentación de la imagen.
Ilustración 3.5. Entorno de trabajo en el que se realizará el seguimiento.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Entorno de trabajo.
22/10/2006 UPM-DISAM 48
3.2. SOFTWARE
3.2.1. Sistema operativo.
Para el desarrollo de la aplicación fue necesaria la instalación del sistema
operativo Windows NT por problemas de compatibilidad de la tarjeta de adquisición de
imágenes con otros sistemas operativos como pueda ser por ejemplo Windows 2000.
El hecho de contar con un sistema operativo Windows tiene como inconveniente
el que no se puede realizar un procesamiento adecuado en tiempo real y por lo tanto la
estimación de velocidades no se realizaría de forma precisa. Para solucionar este problema,
se cuenta con la librería Matrox Imaging Library (MIL) que se describirá más adelante.
Título del proyecto. Descripción del sistema físico. 05199212 Hardware. David Gutiérrez Horrillo Entorno de trabajo.
22/10/2006 UPM-DISAM 49
3.2.2. Lenguaje de programación.
El lenguaje de programación en el que se ha desarrollado el código de la
aplicación ha sido C++, usando como entorno de programación Microsoft Visual C++ 6.0.
En este lenguaje de programación se cuenta con la librería Matrox Imaging
Library (MIL), que proporciona un conjunto de funciones para el trabajo con imágenes,
entre las que destacan el reconocimiento de patrones, obtención de medidas, análisis de
formas, etc.
Otra ventaja con la que cuenta esta librería es que dispone de un conjunto de
funciones que permite la medición de tiempos con una precisión mayor de los
milisegundos, con lo que el problema del trabajo en tiempo real se soluciona en parte
gracias a que se puede medir el tiempo que transcurre entre una adquisición y la siguiente.
Título del proyecto. Alternativas planteadas. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 50
Capítulo 4 Alternativas
planteadas para la adquisición y el
procesamiento.
En este capítulo se tratarán de exponer las distintas alternativas que se pueden
tomar para la realización de cada una de las dos partes en que se puede dividir la tarea a
realizar: la adquisición de las imágenes y el procesamiento de las mismas.
Al final de este capítulo, se mostrarán también las alternativas de ejecución
conjunta de estas dos tareas por la importante relevancia que puede alcanzar en los
objetivos que se pretenden alcanzar.
Título del proyecto. Alternativas planteadas. 05199212 Adquisición. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 51
4.1. Adquisición.
El proceso de adquisición de imágenes se considera desde que la cámara toma la
imagen del entorno de trabajo hasta que se cuenta con dicha imagen en el computador que
llevará a cabo el procesamiento de dicha imagen para extraer las características necesarias
para conseguir los datos requeridos.
Un esquema que describiría los pasos que sigue la imagen desde que es capturada
por la imagen hasta que llega al computador son los que se muestran en el esquema que se
muestra a continuación.
Ilustración 4.1. Esquema de adquisición de imágenes.
Como se puede ver en el esquema la imagen que capta la cámara debe pasar a la
tarjeta de adquisición a cada uno de los buffers destinados a esta función para que después
el programa que se está ejecutando lo reclame y lo almacene en memoria, lugar donde será
procesada dicha imagen y de la que se extraerá la información requerida.
Todas estas funciones que permiten este flujo de la imagen se encuentran ya
implementadas en la MIL.
Merece especial atención la evolución que siguen las cámaras analógicas en el
tratamiento de la adquisición de la imagen ya que un método u otro influyen de manera
muy distinta en los tiempos de adquisición y en el resultado de la propia adquisición.
En los siguientes puntos se detallan cada uno de estos métodos y en qué
consisten, con el fin de poder realizar la elección correcta a la hora de afrontar el problema
que se plantea para la realización de los algoritmos de seguimiento.
Título del proyecto. Alternativas planteadas. 05199212 Adquisición. David Gutiérrez Horrillo Estándar entrelazado. Escaneado progresivo.
22/10/2006 UPM-DISAM 52
4.1.1. Estándar entrelazado.
Con esta solución lo que se hace es integrar en instantes de tiempos distintos el
campo par y el campo impar de la imagen. Con esta solución se busca el compromiso entre
la resolución temporal y la resolución espacial. Las velocidades de adquisición que se
consiguen con este método son de 30 frames por segundo (fps).
Con esta solución no se consiguen los tiempos necesarios para poder garantizar la
correcta realización de las tareas que desempeñan los algoritmos de seguimiento. Además,
presenta un gran problema en la adquisición de imágenes que se encuentran en
movimiento. La integración de los dos campos en instantes de tiempos distintos tiene la
consecuencia que se muestra en la siguiente imagen.
Ilustración 4.2. Imagen en movimiento capturada con estándar entrelazado.
4.1.2. Escaneado progresivo.
Con esta solución se evita el problema que se describió en el apartado anterior
referente a la adquisición de imágenes que se encuentren en movimiento, ya que se
integran todas las líneas a la vez por lo que no existe desfase temporal entre los campos par
e impar.
A pesar de esta mejora, se siguen teniendo unos tiempos de adquisición
demasiado grandes para conseguir los objetivos fijados en este proyecto.
Título del proyecto. Alternativas planteadas. 05199212 Adquisición. David Gutiérrez Horrillo Escaneado de alta velocidad. Bining.
22/10/2006 UPM-DISAM 53
4.1.3. Escaneado de alta velocidad.
Con este método se busca solucionar el problema que aun se seguía planteando en
el escaneado progresivo, el tiempo de adquisición.
Para esta solución se consiguen duplicar las velocidades, llegando hasta los 60fps.
La única consideración que se debe tomar respecto a esta opción es que, ante el aumento
de las prestaciones de la cámara, también se debe considerar el aumentar las prestaciones
de la tarjeta de adquisición, ya que las tareas que tendrá que realizar en cuanto a la gestión
de las imágenes procedentes de la cámara se duplicarán.
4.1.4. Bining.
Si con el método explicado en el apartado anterior es insuficiente, aun se puede
usar la técnica de bining a partir de la cual podemos pasar de velocidades de 60fps a
120fps. Esto se traduce en tiempos de adquisición de cerca de los 8 milisegundos, con lo
que esta velocidad se puede considerar apropiada para la tarea que se pretende desarrollar.
La duplicación de la velocidad de adquisición se consigue porque por medio de
este método se integran las líneas de la imagen de dos en dos, realizando una ponderación
de los valores de los píxeles correspondientes con lo que se procesa la mitad de la
información. Esto tiene connotaciones importantes en cuanto a cómo se recibe la imagen
en la tarjeta de adquisición y, por tanto, en como se debe procesar la información hay ahora
contenida en ella.
Si la imagen se estuviera procesando en modo no bining, se tendría lo que se
muestra a continuación:
Título del proyecto. Alternativas planteadas. 05199212 Adquisición. David Gutiérrez Horrillo Escaneado parcial.
22/10/2006 UPM-DISAM 54
Ilustración 4.3. Imagen de la pelota en modo no bining.
Pero en el caso del procesamiento bining, la imagen se encuentra reducida a la
mitad debido a que cada dos líneas horizontales se representa una sola que sería la
ponderación de las dos que se estén analizando, por lo que la imagen queda como se
muestra.
Ilustración 4.4. Imagen de la pelota en modo bining.
Título del proyecto. Alternativas planteadas. 05199212 Adquisición. David Gutiérrez Horrillo Escaneado parcial.
22/10/2006 UPM-DISAM 55
En este caso, se puede observar una deformación de la pelota en la que aparece
con forma ovalada en vez de redonda. Este factor debe tenerse en cuenta a la hora de
realizar el cálculo del radio ya que la única dimensión que conserva su valor real es la
dimensión horizontal, sabiendo que la dimensión vertical se ha reducido a la mitad.
4.1.5. Escaneado parcial.
Aún es posible ir un paso más allá en cuanto a la mejora de los tiempos de
adquisición. Mediante el escaneado parcial, lo que se pretende es no tener que analizar toda
la imagen, si no únicamente la parte de ella que resulte de interés. Esta forma de adquirir la
imagen puede proporcionar velocidades de adquisición en torno a los 240fms.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 56
4.2. Procesamiento.
En este apartado se comentarán las distintas alternativas planteadas en todos los
pasos que se deben seguir para llegar desde la imagen hasta los datos necesarios que se le
deben transmitir al robot para que realice la tarea requerida.
El procesamiento de la imagen se ha descompuesto en tres grandes apartados de
los que se pueden plantear distintas alternativas de resolución. Estos apartados son los que
se resumen en las siguientes líneas.
o Segmentación.
En este apartado se pretende conseguir la distinción entre lo que en la
imagen representa pelota y lo que representa fondo o entorno.
o Extracción de características.
Una vez que se tiene definida la pelota dentro de la imagen, se ha de
extraer de ella toda la información necesaria que permita la interpretación
de las características deseadas para la realización de las tareas de
seguimiento visual.
o Filtrado.
Por consideraciones dinámicas del robot y por unas correctas predicciones
de la posición de la pelota en instantes posteriores, se deben conseguir
unas medidas carentes de ruidos que alteren la medida real.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 57
4.2.1. Segmentación.
Como se comentó en el capítulo de la descripción del sistema físico, el entorno de
trabajo en el que se realizará el experimento consiste en una pelota negra que se mueve
sobre un fondo de color blanco. Este conocimiento del entorno de trabajo permite realizar
un análisis apropiado con el fin de encontrar la pelota dentro de la imagen y distinguirlo de
todo aquello que no lo sea, consiguiendo así la segmentación de la imagen.
La presencia de la pelota como único elemento sobre un fondo uniforme facilita
el proceso de segmentación porque en el histograma de la imagen presenta dos claros picos
que representan cada uno de los dos elementos distinguibles en la imagen. A continuación
se muestra el histograma de una pequeña región alrededor de la pelota porque en el
histograma de la imagen total la cantidad de píxeles negros son casi despreciables frente a
los blancos y no resultan fácilmente visibles por los diferentes órdenes de magnitud.
Ilustración 4.5. Imagen cercana de la pelota y su histograma.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 58
a) Estimación del umbral para la segmentación.
Para poder realizar la segmentación de una imagen es necesario tener un valor de
nivel de gris que permita separar y clasificar los píxeles como parte de la pelota o parte del
fondo de la imagen. La determinación de este umbral va a ser el que dé mayor robustez al
proceso de segmentación ya que una mala estimación tendrá como resultado el considerar
píxeles que pertenecen a la pelota como pertenecientes al fondo o viceversa.
a.1) Umbral estático.
Cuando tenemos una escena en la que la iluminación es constante para todas las
imágenes que se están tomando resulta muy sencilla la determinación de este umbral sin
más que mirar el histograma y tomar un nivel de gris medio entre los dos picos que se
forman.
Es muy importante el contar con una iluminación igual para cada una de las
imágenes ya que una variación de la iluminación de la escena produce un desplazamiento
de los picos y por lo tanto las consecuencias de ello pueden ser las de realizar una mala
segmentación.
a.2) Umbral dinámico.
Cuando las condiciones de iluminación no son constantes y las capturas de la
imagen presentan múltiples fluctuaciones de iluminación debidas por ejemplo a iluminar
con tubos fluorescentes, se debe considerar la utilización de un umbral variable en función
del nivel de iluminación.
Dos imágenes iguales con distinto nivel de iluminación presentan el siguiente
histograma:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 59
Imagen Histograma
Tabla 4.1. Imágenes con distintas iluminaciones con sus respectivos histogramas.
Como se puede observar en los histogramas, lo que en el primer caso podría ser
un valor aceptable para el umbral, en el segundo caso podría resultar inadecuado.
Como solución se plantea la posibilidad de tomar una medida del valor de gris
que tiene el fondo blanco en la zona más desfavorable (los bordes de la imagen por el
efecto de vignetting) y a partir de este valor considerar de forma porcentual lo que se
consideraría como nivel de gris del umbral.
Para el ejemplo que se ha planteado con los histogramas anteriores, a partir del
nivel de blanco más desfavorable se puede considerar un umbral aceptable el 50% de ese
valor. Los resultados que se tienen en uno y otro caso son los que se muestran a
continuación:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 60
Imagen de mayor iluminación Imagen de menor iluminación
Menor nivel de blanco = 150 Menor nivel de blanco = 75
Mayor nivel de negro = 40 Mayor nivel de negro = 20
Umbral calculado = 75 Umbral calculado = 37
Tabla 4.2. Valores de los niveles de blanco y umbrales de segmentación.
Como se puede observar, con este método y ante distintas iluminaciones, el
umbral se adapta con relativa facilidad consiguiendo el objetivo de conseguir distinguir los
dos elementos básicos que componen la imagen.
b) Método de segmentación.
Una vez que se tiene el umbral con el que realizar la segmentación, hay que
proceder a buscar dentro de la imagen aquellos píxeles que cuentan con un valor menor
que él para poder decir que ellos forman parte de la pelota.
En función de las necesidades que se tengan, en cuanto a tiempos de
procesamiento fundamentalmente, se pueden realizar distintas estrategias para conseguir
este objetivo.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 61
b.1) Comprobación de la imagen completa.
Cuando no se tienen restricciones de tiempo de ningún tipo, lo que se suele hacer
habitualmente en el proceso de segmentación es recorrer la imagen píxel a píxel
comprobando su valor con el del umbral y determinar si pertenece a la pelota o no.
Es posible que debido a una mala adquisición de la imagen, porque el cable de
comunicación introduzca algún tipo de ruido o cualquier causa que se escape del control de
la aplicación, haya píxeles que tras la umbralización hayan sido considerados como parte
de la pelota aun cuando realmente forman parte del fondo de la escena. El ruido que se
presenta en este tipo de circunstancias es fácilmente filtrado con el filtro de la mediana con
el que se obtienen muy buenos resultados.
Ilustración 4.6. Imagen segmentada sin filtrar.
Ilustración 4.7. Imagen segmentada y filtrada.
Con este filtrado se consigue facilitar el trabajo y evitar posibles errores a la hora
de calcular los parámetros de la pelota. También se podría haber aplicado el filtro de la
mediana antes de la umbralización ya que del mismo modo se habrían eliminado los
píxeles ruidosos.
b.2) Búsqueda de puntos candidatos y expansión.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 62
Este procedimiento se lleva a cabo cuando se quiere limitar el tiempo de
procesamiento de la imagen a segmentar y además, como en este caso, sólo hay dos
elementos claramente distinguibles dentro de la imagen.
Para evitar el tener que recorrer toda la imagen en busca de todos los píxeles que
tienen un valor inferior al umbral establecido, lo que se hace es recorrer únicamente una
cantidad muy reducida de puntos comprobando si éstos son candidatos de pertenecer a la
pelota. La disposición de estos puntos debe garantizar que alguno de ellos pertenecerá a la
pelota, así que se distribuirán siguiendo una distribución matricial donde el espacio entre
puntos debe ser menos que el mínimo radio admisible.
Ilustración 4.8. Búsqueda de puntos candidatos.
En la ilustración superior la distancia entre puntos de forma horizontal es el doble
que la distancia vertical porque la imagen está tomada en modo bining. En caso de adquirir
la imagen en modo normal la distancia entre puntos en sentido vertical se podría duplicar,
aunque el número de puntos a comprobar sería el mismo ya que la imagen también se
duplica de tamaño.
Debido a que el número de comprobaciones se reduce considerablemente, la
probabilidad de que se encuentre un punto fuera de la pelota que se detecte como tal es
muy pequeña. Aún así, se pueden eliminar alguno de ellos que pudieran estar alejados de la
zona de mayor densidad de puntos candidatos.
Por último, el paso que queda por realizar para hallar el área de la pelota y que
ésta quede completamente definida es el de expansión. Este proceso consiste en que, a
partir de cada uno de los puntos candidatos, se compruebe que los píxeles vecinos también
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Segmentación.
22/10/2006 UPM-DISAM 63
se encuentran por debajo del umbral. Esta comprobación se hace de forma recursiva para
cada uno de los píxeles que cumplen la condición, consiguiendo abarcar todo su área sin
necesidad de tener que recorrer toda la imagen, únicamente la superficie que define la
pelota.
Ilustración 4.9. Expansión de por el área de la pelota.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 64
4.2.2. Extracción de características.
Una vez definida la pelota dentro de la imagen, el siguiente paso es la
interpretación de la información que en ella está contenida. El objetivo que se persigue es
el de obtener las coordenadas tridimensionales de la pelota a partir de la información que
se recoge de una sola cámara.
Como la estimación de estos datos no se puede hacer de forma directa a través de
la imagen, a partir de los datos que se extraigan habrá que realizar cálculos adicionales que
proporcionen los datos deseados.
a) Centro de gravedad 2D de la pelota.
Como primer cálculo, se debe estimar la posición del centro de gravedad de la
pelota en la imagen ya que posteriormente, mediante la proyección adecuada, se estimará
su situación 3D.
Existen dos metodologías para la estimación del centro de gravedad,
considerando la imagen binaria o considerando la imagen con su escala de grises.
a.1) Imagen binaria.
El procesamiento de la imagen binaria únicamente considera los píxeles como
pertenecientes o no a la pelota, independientemente de su valor de gris. De las expresiones
generales para el cálculo del centro de gravedad de un área en la imagen, se pasa a la
utilización de las expresiones discretas porque el entorno del que se quiere calcular el
centroide no es continuo, está formado por píxeles.
Las expresiones resultantes son las que se muestran a continuación:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 65
1
1
ii pelota
g
i pelota
ii pelota
g
i pelota
xx
yy
∈
∈
∈
∈
=
=
∑∑
∑∑
(4.1)
En el numerador de estas expresiones se suman los valores de las coordenadas x e
y, mientras que el denominador se contabiliza el área de la pelota en píxeles. En esta área
se contabilizan únicamente los píxeles que la componen ya que como se explicó al
principio del apartado, sólo se tienen en cuenta los puntos que forman parte de la pelota sin
considerar su nivel de gris.
Este método tiene el inconveniente de ser poco preciso ya que desprecia
información que se encuentra contenida, especialmente, en el borde de la imagen donde
píxeles que puedan considerarse como parte del fondo realmente forman parte de la pelota
pero se localizan en la zona de transición entre la pelota y el fondo.
a.2) Imagen en niveles de gris.
En el método de cálculo mediante niveles de gris, se tiene en cuenta más
información ya que, aparte de la posición de los píxeles, se considera también el nivel de
gris de cada uno de ellos. De esta manera, los píxeles que se encuentran en el borde de la
pelota se consideran en el cálculo de la posición del centroide, pero teniendo menor peso
en la medida en que van adquiriendo un valor más cercano al blanco.
Las expresiones que rigen estas expresiones son las que se muestran a
continuación.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 66
·
·
i ii pelota
gi
i pelota
i ii pelota
gi
i pelota
x nivelx
nivel
y nively
nivel
∈
∈
∈
∈
=
=
∑∑
∑∑
(4.2)
Estas expresiones tienen la misma forma que las que se encuentran en el análisis
de la imagen binaria, con la única salvedad de que existe un factor de ponderación, que es
el nivel de gris del píxel en cuestión, que aporta información adicional en cuanto al peso
que tiene ese punto concreto en la estimación del centroide.
Como ya se comentó al inicio de este apartado, esta forma de cálculo tiene la
ventaja de que considera más píxeles ponderándolos con su valor de gris para conseguir un
valor de posición del centro de gravedad más preciso ya que se introduce más información.
Sin embargo, si no se cuenta con una iluminación apropiada, la pelota podría contar con
zonas más claras y por tanto la estimación del centroide se vería afectada.
Ilustración 4.10. Efecto de una iluminación superior.
En el caso que se muestra en la figura superior (el histograma se ha multiplicado
por dos para realzar el efecto de la iluminación superior) el centro de masas de la pelota se
encontraría desplazado del lugar que debería ocupar realmente ya que a los píxeles más
claros no se les da el mismo peso que los que son más oscuros.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 67
b) Radio de la pelota.
El cálculo del radio de la pelota será lo que facilite la estimación de la
profundidad ya que es la única información que nos da una referencia de esta dimensión
cuando se tiene una sola cámara para realizar las capturas.
La estimación del radio también se puede realizar mediante distintas alternativas
como puedan ser el cálculo a través del área de la imagen binaria, a través del área de la
imagen en niveles de gris, medición directa con precisión subpíxel,…
Todas las técnicas que se van a describir a continuación se encuentran
enmarcadas dentro de técnicas de precisión subpíxel ya que se aprovecha la información de
la cuantificación de la imagen para obtener una mejor resolución espacial con precisiones
menores de un píxel.
b.1) Cálculo a través del área de la imagen binaria.
El área de la imagen binaria se calcula mediante la suma del número de píxeles
que forman parte de la pelota según el umbral establecido.
1pixel pelota
Área∈
= ∑ (4.3)
De manera que con el área y la expresión que nos la relaciona con el radio de un
círculo, es fácil deducir el área de la pelota.
ÁreaRadioπ
= (4.4)
Este método de cálculo tiene el problema ya mencionado con anterioridad de la
poca precisión que se cuenta a la hora de calcular el área de la pelota considerando la
imagen binaria, siendo este error arrastrado en el cálculo del radio.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 68
b.2) Cálculo a través del área de la imagen en niveles de gris.
Como se explicó en el anterior apartado, la precisión con que se calcula el área de
una imagen en niveles de gris es mayor, dando por supuesto que se cuenta con una correcta
iluminación de la escena, por lo que parece lógico pensar que sea más precisa también la
estimación del radio.
La expresión que nos da este valor es la que se detalla a continuación.
2·( )·
ÁreaRadiomáximo mínimo π
=−
(4.5)
En esta expresión, el área se calcula como la suma del nivel de gris de cada uno
de los píxeles que forman la pelota y los términos máximo y mínimo son los niveles de gris
mayor y menor de la imagen.
b.3) Medición directa del radio con precisión subpíxel.
Con este método se trata de realizar una medición directa del radio de la pelota
sin pasar por el cálculo del área, consiguiendo de esta manera quitar el error que se comete
en la estimación de su superficie. Evidentemente la medición de este radio se realizaría de
forma discreta ya que con la información que proporciona la imagen la mayor precisión
que se podría obtener sería de un píxel considerando como frontera de la pelota la
transición de los dos píxeles entre cuyos niveles de gris se encuentre el umbral.
Para mejorar este método de medición se cuentan con una serie de algoritmos que
consideran datos extraídos de la imagen para el cálculo del borde con una precisión que
sobrepasaría la del píxel.
Uno de los posibles algoritmos que permiten el cálculo de radio sería el siguiente
[Anexo IV]:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 69
( ) ( )( )
1
12·i i
subpixel ii i
máximo mínimo nivel nivelx x
nivel nivel+
+
+ − += +
− (4.6)
En esta expresión, los términos máximo y mínimo hacen referencia al mayor nivel
de blanco y menor nivel de negro respectivamente. En cuanto a los índices i e i+1 se hace
referencia a los píxeles en los que se produce la transición de fondo a la pelota, siendo el
término niveli el nivel de gris del píxel i.
Para dotar de mayor robustez a la estimación del radio, se aplica este cálculo a las
tres filas de píxeles centrales de la pelota y se calcula su valor medio. Debido al tamaño de
la pelota en la imagen la diferencia de radios entre cualquiera de estas tres filas resulta
despreciable, por lo que la media de los tres radios hallados proporcionará un valor más
estable como consecuencia de la ponderación de los errores que se comenten en la
medición.
c) Estimación de la coordenadas 3D.
Las características que se han estimado hasta el momento están calculadas en la
imagen y por lo tanto sólo tienen información 2D que no resulta por sí misma útil para
llevar a cabo la aplicación. Es necesario realizar una serie de transformaciones y cálculos
en estos parámetros para poder alcanzar los objetivos marcados de localización
tridimensional de la pelota en el entorno de trabajo.
Para poder explicar con sencillez las medidas que se van a estimar se tomará
como sistema de referencia el siguiente:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 70
Ilustración 4.11. Sistema de referencia para definir posiciones y velocidades.
A continuación se detallan los procedimientos seguidos para la estimación de las
coordenadas en X e Y en base al centroide de la pelota en la imagen y la estimación de la
coordenada Z basándose en el radio de la pelota.
c.1) Coordenadas X e Y.
La estimación en uno y otro eje es exactamente igual, de modo que se explicará
en una de las dos dimensiones y se extenderá la explicación a la otra de forma análoga.
Y
Z
Cámara
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 71
Ilustración 4.12. Obtención de la coordenada X en el entorno 3D.
Como se puede ver en la figura la relación existente entre la medida en píxeles
que se tiene en la imagen con la que se tiene en el plano de trabajo en milímetros es una
relación de homotecia o proporcionalidad. Por lo tanto, la transformación que se obtiene
entre una medida y otra es la que se muestra a continuación:
( ) ( )( ) ( )
Ancho imagen píxeles Coordenada imagen píxelesAncho trabajo mm Coordenada trabajo mm
= (4.7)
En esta expresión el ancho de la imagen en píxeles es conocido del mismo modo
que se puede medir el ancho del área de trabajo que abarca, de modo que con el dato de la
coordenada del centroide tomado de la imagen, es posible estimar la coordenada en
milímetros en el entorno de trabajo.
c.2) Coordenada Z.
En el caso de la coordenada Z, la situación es similar que la que se da en las otras
dos dimensiones con la diferencia del patrón que se tomará como referente para la
X
Plano de trabajo
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Extracción de características.
22/10/2006 UPM-DISAM 72
estimación de su valor. En este caso, será el radio de la pelota lo que determine la
profundidad a la que se encuentra.
( ) ( )( )
Coordenada Z mm Diámetro dato píxelesDistancia dato (mm) Diámetro píxeles
= (4.8)
Evidentemente, la relación entre el radio y la coordenada de profundidad es
inversamente proporcional ya que a medida que aumenta el radio la pelota se va acercando
a la cámara.
En este caso los datos conocidos son el radio medido en píxeles a una distancia
que se mide offline. De esta manera al medir el radio se tiene como única incógnita la
coordenada Z que se quería calcular.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 73
4.2.3. Filtrado de datos.
Llegados a este punto, ya se tienen todos los datos que se le pueden transmitir al
robot para que realice la tarea a desempeñar. Pero existe el problema de que estos datos
tienen una componente aleatoria producida por el ruido en la adquisición y el tratamiento
de dichos datos. Las consecuencias de esta componente aleatoria pueden ser muy
perniciosas para el comportamiento del robot, ya que si, por ejemplo, se hace una
estimación de velocidad a partir de dos posiciones consecutivas y teniendo en cuenta los
bajos tiempos de adquisición, se podrían obtener velocidades con cambios muy bruscos o
incluso en sentido contrario a la que debiera ir.
Debido a esto, después de la adquisición de los datos se realiza un filtrado que
trate de eliminar esta componente de ruido. Existen varias técnicas de filtrado ya
mencionadas en el apartado del estado del arte de las técnicas de estimación y seguimiento.
A continuación se mostrarán distintas alternativas para la utilización del filtro de
Kalman en forma matricial y se comentarán las distintas ventajas e inconvenientes que
presentan cada uno de ellos.
Como se vio en la documentación previa, los parámetros que se pueden ajustar
en el filtro de Kalman son los que definen el modelo del sistema y el modelo del sensor. En
función de cómo se combinen los distintos modelos, las alternativas que permite el filtro de
Kalman son variadas.
En los siguientes apartados se muestran cada uno de los posibles modelos que se
pueden plantear, tanto para el sistema como para el sensor. Las distintas combinaciones se
estudiarán en el próximo capítulo de resultados con el fin de realizar una comparativa para
saber que combinación proporciona el resultado más apropiado.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 74
a) Modelo del sistema.
Con el modelo del sistema lo que se pretende es establecer las ecuaciones que
definan el movimiento de la pelota. Como se está utilizando el modelo de Kalman discreto
y lineal, las ecuaciones que describen el movimiento pendular de la pelota no se podrán
representar con exactitud ya que se trata de un movimiento no lineal. Por este motivo se
realizarán aproximaciones del movimiento de la pelota haciendo las consideraciones
oportunas para comprobar que dichas aproximaciones no se alejan de las hipótesis.
a.1) Velocidad constante.
Uno de los posibles modelos que pueden definir el movimiento de la pelota es el
que considera que ésta se mueve con velocidad constante. Esta hipótesis es válida desde el
punto de vista de que, debido a los bajos tiempos de adquisición, entre una imagen y la
siguiente la variación que se puede apreciar en la velocidad es prácticamente despreciable,
siendo la variación que se produce asumida y corregida por el propio método del filtro de
Kalman.
Las ecuaciones que se tienen que modelar por tanto son:
1
1
·k k k
k k
x x T xx x
+
+
= +=
(4.9)
Con estas ecuaciones, se puede plantear el modelo del sistema con el vector de
estados que también se muestra a continuación.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 75
( )1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1
Tx u v w u v w
TT
TA
=
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟
= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(4.10)
a.2) Aceleración constante.
En este apartado la consideración que se realizará será la de tomar como
ecuaciones del movimiento la de un desplazamiento con aceleración constante. Del mismo
modo que en el apartado anterior, esta hipótesis de movimiento se puede asumir por los
bajos tiempos de adquisición y porque si la velocidad varía poco de una imagen a la
siguiente, también tendrá poca variación la aceleración.
Las ecuaciones que tendremos que usar para definir el modelo del sistema son:
21
1
1
1· · ·2
·
k k k k
k k k
k k
x x T x T x
x x T xx x
+
+
+
= + +
= +=
(4.11)
Debido a que ahora las ecuaciones consideran también la aceleración, el tamaño
de la matriz de estado crecerá quedando de la siguiente manera.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 76
( )2
2
2
11 0 0 0 0 · 0 02
10 1 0 0 0 0 · 02
10 0 1 0 0 0 0 ·2
0 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1
Tx u v w u v w u v w
T T
T T
T T
A TT
T
=
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(4.12)
Esta hipótesis de movimiento presenta una ventaja frente a la anterior. El filtro de
Kalman asume el error que se comete en la consideración de aceleración constante, pero la
velocidad, parámetro fundamental para la predicción futura de la posición de la pelota, se
verá corregido por la aceleración y por el propio filtro. Esto podría proporcionar una mayor
precisión en cuanto a la estimación de este parámetro.
a.3) Dependencia del tiempo de adquisición.
En los dos casos anteriores, el planteamiento que se ha realizado de la matriz de
estados consideraba el tiempo para el cálculo de la posición en ambos casos y de la
velocidad en el caso de aceleración constante.
Este tiempo que se introduce en la matriz es el tiempo de adquisición y por lo
tanto el que permite estimar la velocidad y la aceleración en función de la posición en las
dos o tres imágenes anteriores respectivamente.
Este tiempo de adquisición se puede considerar como una constante si se
garantiza que el tiempo de procesamiento de la imagen se sitúa por debajo de los 8
milisegundos que se tarda en la adquisición. Bajo este supuesto, se puede considerar como
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 77
unidad temporal el propio tiempo de adquisición, con lo que las matrices que antes eran
dependientes de T, dejan de serlo.
Las matrices que se tendrían serían las que se muestran a continuación.
1 0 0 1 0 00 1 0 0 1 00 0 1 0 0 10 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1
A
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟
= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(4.13)
11 0 0 1 0 0 0 02
10 1 0 0 1 0 0 02
10 0 1 0 0 1 0 02
0 0 0 1 0 0 1 0 00 0 0 0 1 0 0 1 00 0 0 0 0 1 0 0 10 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1
A
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(4.14)
Este planteamiento simplifica el planteamiento del problema desde el punto de
vista de tener que realizar mediciones de tiempo durante la ejecución de la tarea.
b) Modelo del sensor.
El otro modelo sobre el que se puede actuar para conseguir distintos resultados es
el modelo del sensor. Este modelo viene limitado por el sensor que se usa en el sistema, en
el caso que se está tratando, la cámara. Es decir, en el modelo del sensor únicamente se
pueden introducir aquellos parámetros que puedan ser medidos por el sensor en cuestión.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 78
b.1) Medida de posición.
Como ya se analizó durante la parte de procesamiento de la imagen, los
parámetros que se pueden estimar son las coordenadas en el espacio 3D, por lo que resulta
fácil ver que el vector de la medida del sensor será:
( )Tk k k kz u v w= (4.15)
En consecuencia con este vector del sensor, la matriz H que relacionará dicho
vector con el vector de estado del sistema, suponiendo el caso de modelo de aceleración
constante, será la siguiente:
1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0
H⎛ ⎞⎜ ⎟= ⎜ ⎟⎜ ⎟⎝ ⎠
(4.16)
En este caso, el filtro de Kalman tratará de minimizar el valor de las posiciones
del sensor con las posiciones dadas por el sistema.
b.2) Medida de la posición y la velocidad.
Otra posibilidad que se plantea en cuanto a los parámetros que puede medir la
cámara es la de que, a parte de la posición en esa adquisición, también pueda medir la
velocidad como un cálculo en base a la posición en esa imagen y en la anterior.
De este modo, el vector de medida del sensor que se obtendría sería:
1 1 1T
k k k k k kk k k k
u u v v w wz u v wT T T
− − −− − −⎛ ⎞= ⎜ ⎟⎝ ⎠
(4.17)
En consecuencia con la nueva dimensión del vector de medida del sensor, la
matriz H queda de siguiente manera:
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 79
1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 1 0 0 0 0 00 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 0
H
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟
= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(4.18)
Ahora, el filtro de Kalman no sólo minimizaría el error en posición, si no que
también minimiza el error en velocidad.
c) Problemática del filtro de Kalman.
Como ya se explicó en el estado del arte, el filtro de Kalman es un algoritmo
recursivo en el que el vector de estados se va actualizando a medida que se va
introduciendo nueva información a través de las medidas que se adquieren a través del
sensor.
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 80
k 1 1 1 1k k k kx A x B u−− − − −= +
k 1 1 1 1P Tk k k kA P A Q−
− − − −= +
1
kK T Tk k k k k kP H H P H R
−− −⎡ ⎤= +⎣ ⎦
k k kk k kx x K z H x− −⎡ ⎤= + −⎣ ⎦
[ ]k kP Pk kI K H −= −
k-1x
k-1P
Ilustración 4.13. Esquema del filtro de Kalman discreto.
En el esquema que se muestra encima de estas líneas, se observa que, en el bucle
que representa el filtro de Kalman, los datos que se deben introducir son el estado y la
matriz de covarianzas iniciales, es decir, los que se deben de introducir por primera vez
para que el filtro de Kalman tenga unos datos con los que trabajar en su primer ciclo.
Por este motivo, hay que buscar tanto la matriz de covarianzas y el vector de
estados que nos den una estimación buena del estado inicial que tendrá la pelota en la
primera adquisición. La ventaja que presenta el filtro de Kalman es que los valores que se
introduzcan en el filtro tienden a estabilizarse al cabo de un determinado número de ciclos.
En el caso del vector de estado, se toma como valor inicial la primera medición que se
extrae de la imagen en los parámetros de posición para evitar los primeros ciclos de
establecimiento.
Otra dificultad que se presenta a la hora de definir el filtro de Kalman, es la
estimación de los valores de los elementos de las matrices R y Q, debido a la dificultad en
Título del proyecto. Alternativas planteadas. 05199212 Procesamiento. David Gutiérrez Horrillo Filtrado de datos.
22/10/2006 UPM-DISAM 81
la medición del sistema real para poder compararlo con las estimaciones que proporcionan
el modelo del sistema y el sensor.
En realidad, estas matrices son las que fijarán el comportamiento del filtro de
Kalman ya que,en función del error que se modele en cada una de ellas, el propio filtro
será capaz de tener en mayor o menor consideración el dato que da el modelo del sistema,
en el caso de la matriz Q, y el dato que da el modelo del sensor, en el caso de la matriz R.
Como es lógico, cuanto mayores sean los valores de los elementos de estas matrices,
menor influencia tendrán en el proceso de filtrado el valor calculado por el modelo
correspondiente.
En el presente proyecto, estas matrices se usarán para la calibración del filtro ya
que el comportamiento que se espera de él, en determinadas ocasiones, debe comportarse
bien en situaciones para las cuales no tiene por qué tener un buen comportamiento. Estas
situaciones son aquellas en las que el ruido que introducen los modelos no responden a la
estructura definida en teoría de ruido con media nula y varianza Q o R según el caso.
Título del proyecto. Alternativas planteadas. 05199212 Sincronización de adquisición y procesamiento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 82
4.3. Sincronización de la adquisición y el procesamiento.
Para la realización de cualquier proceso de visión por computador, hay dos etapas
que son claves para la realización de dicha tarea: la adquisición de la imagen y el
procesamiento de la misma.
En este proceso que se está analizando, se ha medido que el tiempo de
adquisición de la imagen es del orden de 8 milisegundos, mientras que el procesamiento,
que se explicará más adelante, tiene una duración del orden de los 3 milisegundos aunque
puede sufrir muchas variaciones debido a factores no controlables del administrador de
tareas del ordenador que requieren del uso de la CPU para gestionar todas las tareas del
sistema.
En base a estos tiempos y las posibilidades que permite la MIL, se pueden diseñar
dos formas de ejecución de las dos tareas: modo síncrono y modo asíncrono.
A continuación se explican cada una de ellas con las ventajas e inconvenientes
que van asociadas a cada una de las metodologías de trabajo.
Título del proyecto. Alternativas planteadas. 05199212 Sincronización de adquisición y procesamiento. David Gutiérrez Horrillo Procedimiento síncrono.
22/10/2006 UPM-DISAM 83
4.3.1. Procedimiento síncrono.
Se trata de un procedimiento secuencial en que las tareas se van realizando a
medida que acaban las anteriores, es decir, existe un único hilo de ejecución del programa.
El procedimiento síncrono se caracteriza porque en el momento en que se
completa una adquisición de la imagen es cuando se produce el procesamiento de la
misma, de manera que cuando se debería empezar a completar el ciclo de adquisición de la
siguiente imagen, se está procesando la que se acaba de recibir y por consiguiente hay que
esperar dos ciclos de adquisiciones para capturar la siguiente imagen a analizar.
Con esto lo que se tienen son tiempos de adquisición de 16 milisegundos que
corresponden a unos primeros 8 milisegundos de adquisición seguidos de los 3
milisegundos del procesamiento, de manera que hay que esperar a la siguiente adquisición
para conseguir otra imagen completa que poder procesar.
El siguiente esquema transmite de forma sencilla la forma de trabajo que se
realiza con un procesamiento síncrono.
Ilustración 4.14. Ejecución síncrona de adquisición y procesamiento.
Con esta alternativa se está produciendo un descenso del rendimiento que nos
podría dar la cámara y la tarjeta de adquisición ya que de cada dos imágenes que se
adquieren únicamente se procesa una de ellas. Esto se podría entender también como un
descenso en el tiempo de adquisición de la cámara como consecuencia de que el conjunto
adquisición-análisis de la imagen se realiza en 16 milisegundos en lugar de los 8
milisegundos a los que está realmente adquiriendo.
Título del proyecto. Alternativas planteadas. 05199212 Sincronización de adquisición y procesamiento. David Gutiérrez Horrillo Procedimiento asíncrono.
22/10/2006 UPM-DISAM 84
4.3.2. Procedimiento asíncrono.
En este caso, se están utilizando dos hilos de ejecución de forma simultánea. En
un hilo se realiza la adquisición de la imagen y en el otro el procesamiento de la
información contenida en dicha imagen que se acaba de adquirir.
Para poder realizar este tipo de procesamiento se debe contar con un hardware
que permita el realizar las tareas de la forma en que se van solicitando por las dos líneas de
ejecución. Considerando las características de la tarjeta Meteor II, que cuenta con un doble
buffer en el que almacenar las imágenes que va recibiendo, se puede realizar el siguiente
proceso para conseguir unos tiempos de adquisición-análisis más rápidos que en el caso
anterior.
Ilustración 4.15. Ejecución asíncrona de adquisición y procesamiento.
Con este modo de funcionamiento lo que se trata es de adquirir una imagen y
guardarla en uno de los dos buffers. A continuación y de manera simultánea, se procesa la
imagen guardada en el ciclo anterior y se va adquiriendo otra imagen que se guarda en el
otro buffer.
Esta forma de trabajar es posible gracias a que el tiempo de procesamiento es
inferior al tiempo de adquisición, En caso de que no sucediese esto, se producirían retardos
en la adquisición con efectos similares a las que se explicaron en el caso de procesamiento
síncrono, con lo que no se podrían garantizar los tiempos de adquisición de 8
milisegundos.
Título del proyecto. Resultados. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 85
Capítulo 5 Resultados.
En el presente capítulo se mostrarán los resultados que se han obtenido con cada
una de las alternativas que se han planteado anteriormente. Para la realización de las
pruebas se ha tratado de generar las condiciones apropiadas para el estudio de cada una de
ellas, de modo, que, en los casos de análisis comparativos, los factores que puedan afectar
a los resultados están controlados con el fin de no falsear los experimentos.
Sólo se realizará una exposición de los resultados que se han obtenido, dejando
para el siguiente capítulo la elección y análisis de cual es la alternativa más apropiada al
problema planteado.
Los resultados que se mostrarán en este capítulo se han obtenido de la pelota
colgada de un hilo describiendo un movimiento pendular.
Título del proyecto. Resultados. 05199212 Sincronización de adquisición y procesamiento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 86
5.1. Sincronización de la adquisición y el procesamiento.
En cuanto a lo relativo a la sincronización de los dos pasos de que se compone la
ejecución de la tarea, lo que se debe analizar con más detalle son los tiempos en los que se
producen las adquisiciones válidas para el análisis, es decir, las adquisiciones que se
utilizarán para extraer las características de la pelota.
Por tanto, gracias a las funciones que vienen incluidas en la MIL, se pueden
realizar las mediciones de los tiempos que transcurren desde una adquisición a la siguiente.
Los resultados son los que se muestran a continuación.
Ilustración 5.1. Tiempos de adquisición en modo asíncrono.
Título del proyecto. Resultados. 05199212 Sincronización de adquisición y procesamiento. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 87
Ilustración 5.2. Tiempos de adquisición en modo síncrono.
En ambos casos se puede observar un valor inicial fuera de rango como
consecuencia de la inicialización de la tarea. Este valor ya es considerado en caso de que
sea utilizado dentro del programa de ejecución.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 88
5.2. Filtrado de datos.
Como se vio en el capítulo de las alternativas, se pueden considerar diversos
factores que afectan a los resultados que se obtienen en el filtrado de los datos que se han
obtenido directamente del análisis de la imagen.
En este apartado se analizarán cada uno de ellos por separado. Esto es dejando
fijos todos los parámetros salvo aquel que se quiere llevar a estudio.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 89
5.2.1. Estimación del radio a través del análisis de la imagen.
Como ya se mencionó en el capítulo de alternativas, existen diversas técnicas
para la estimación del radio de la pelota en la imagen. También se mencionó que la imagen
se encuentra formada por píxeles, por lo que la información que en ella se encuentra
discretizada y la precisión que se puede obtener de forma directa por medición sería de un
píxel. Esta precisión es insuficiente y por lo tanto hay que recurrir a técnicas que nos
proporcionen mayor precisión.
Todas estas técnicas se encuentran englobadas dentro de lo que se llama precisión
subpíxel. Entre los métodos ya mencionados en el anterior capítulo, se tendrán que buscar
aquellos que den un valor del radio muy estable. Por tanto, como valor más significativo en
la elección de un método u otro se calculará la desviación típica de la medida que se tome,
porque esto garantizará que un mejor resultado en la estimación de la coordenada Z de la
pelota.
El primero de los métodos será el de la estimación del radio a través del área
calculada a través de la imagen binaria. Mediante las fórmulas (1.1) y (1.2) se puede
calcular este radio, cuya representación gráfica es la siguiente:
Ilustración 5.3. Estimación del radio a partir del área de la imagen binaria.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 90
A la vista de esta gráfica se puede realizar el cálculo de los valores estadísticos
que nos darán la media y la desviación típica de este método de estimación del radio.
media_radio =
16.6213
desv_radio =
0.2202
Otra forma de calcular el radio de la pelota es mediante el cálculo del área de la
pelota en niveles de gris. Debido a que se introduce nueva información para la estimación
del radio, los resultados no coincidirán con los que se acaban de realizar. La expresión que
se utilizará para los cálculos será la fórmula (1.3), a partir de la cual se estima el radio de la
pelota y se obtienen los resultados que se muestran seguidamente.
Ilustración 5.4. Estimación del radio a partir del área de la imagen en niveles de gris.
Los resultados estadísticos que se han obtenido para esta estimación se muestran
a continuación.
media_radio2 =
13.4480
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 91
desv_radio2 =
0.0922
Finalmente, la última metodología empleada para la estimación del radio es
aquella que lo mide directamente sobre la pelota, pero, en función del umbral establecido,
es capaz de calcular con precisión subpíxel el punto en el que se encuentra la frontera entre
la pelota y el fondo de la imagen.
A través de la expresión (1.4) se pueden estimar los radios en x e y, siendo el x
aproximadamente el doble que el y porque los experimentos se han realizado sobre una
imagen que ha sido adquirida en modo bining. Los resultados que se han obtenido en cada
uno de los ejes se detallan en las siguientes gráficas.
Ilustración 5.5. Medida del radio con precisión subpixel según eje y.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 92
Ilustración 5.6. Medición del radio con precisión subpíxel según eje x.
Los resultados que se han obtenido para cada una de estas mediciones son:
media_dify =
9.0497
desv_dify =
0.0133
media_difx =
17.8443
desv_difx =
0.0228
La medición de estos valores por separado no tiene sentido ya que ambos se
complementan dentro de la misma imagen. Es por este motivo por el que resulta razonable
realizar un cálculo que proporcione una medida del radio que venga dada por las dos
mediciones anteriores. La expresión que se utilizará será la siguiente:
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 93
2·2
radioy radioxradio += (5.1)
Los resultados son estos:
Ilustración 5.7. Medida del radio ponderado con precisión subpíxel.
Ahora se mostrarán los resultados numéricos que se obtienen a partir de este tipo
de estimación.
media_radio3 =
17.9719
desv_radio3 =
0.0202
Se puede observar que la varianza es menor que la de los dos radios calculados
por separado. Conviene señalar que la varianza del eje y debe duplicarse para que la
comparación se efectiva ya que si se está midiendo el radio en un sentido que está reducido
a la mitad, la varianza también se verá afectada en la misma proporción, aunque,
evidentemente, también será más sensible a las variaciones. De ahí que la varianza tenga
que compararse para un mismo radio a efectos prácticos.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Estimación del radio.
22/10/2006 UPM-DISAM 94
Como mejora de este método se propuso el realizarlo no sólo con la medida
obtenida para el radio, si no con la medida de tres líneas: el radio y las dos adyacentes. Con
esto se calcula el valor medio de este valor y se le aplica la fórmula (5.1) para obtener el
valor del radio de la pelota. Se muestran los resultados estadísticos obtenidos.
media_radio3 =
17.3696
desv_radio3 =
0.0186
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Dimensión del vector de estado.
22/10/2006 UPM-DISAM 95
5.2.2. Dimensión del vector de estado.
En este caso, los parámetros que se van a fijar son las que se enumeran a
continuación:
• Modelo del sistema atemporal, considera tiempo constante.
• Se realizarán pruebas en las que se eviten las interrupciones.
• El modelo del sensor sólo corrige la posición.
Como se analizó en la teoría anteriormente, el vector de estado del sistema es el
que nos indica las variables que consideramos que definen el sistema. Por tanto, como se
está trabajando en un entorno 3D, dependiendo si se trata de simular un movimiento de
velocidad constante o un movimiento con aceleración constante, se trabajará con una
dimensión de 6x1 ó una dimensión 9x1.
En la siguiente gráfica se muestran las coordenadas de posición en cada uno de
los ejes cartesianos, donde se representan la curva de la medida obtenida del análisis de la
cámara y la resultante del filtrado.
Ilustración 5.8. Posiciones con vector de estado en posición y velocidad.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Dimensión del vector de estado.
22/10/2006 UPM-DISAM 96
Ilustración 5.9. Posición con vector de estado en posición, velocidad y aceleración.
Como resulta complicado apreciar la diferencia que existe entre la curva inicial y
la filtrada, resultará más significativa la representación del error, entendiendo como tal la
diferencia entre el valor inicial y el valor filtrado.
Ilustración 5.10. Error de posición con vector de estado en posición y velocidad.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Dimensión del vector de estado.
22/10/2006 UPM-DISAM 97
Ilustración 5.11. Error de posición con vector de estado en posición, velocidad y aceleración.
En el caso de la posición se puede apreciar que el resultado es bastante aceptable
en ambos casos, por lo que habrá que realizar el mismo análisis para la velocidad ya que
este dato será el que se utilizará para realizar las predicciones y por lo tanto debe de tener
fiabilidad.
Ilustración 5.12. Velocidades con vector de estado en posición y velocidad.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Dimensión del vector de estado.
22/10/2006 UPM-DISAM 98
Ilustración 5.13. Velocidades con vector de estado en posición, velocidad y aceleración.
En este caso, las gráficas sí que nos muestran la evolución de la velocidad antes y
después de filtrarla. Bajo el supuesto de velocidad constante, el filtro de Kalman trata de
ajustar la velocidad para que ésta sea constante y las variaciones debidas a la oscilación de
la pelota las entiende como ruido que tiene que filtrar, de manera que de forma progresiva
va atenuando su efecto. La atenuación no se realiza rápidamente porque, a través de la
calibración de las matrices que definen el error del modelo del sistema, se le ha indicado al
filtro que el ruido que tiene el modelo es mucho más pequeño que las variaciones de
velocidad debidas al movimiento real. Evidentemente, en el modelo de aceleración
constante esto no ocurre porque el supuesto no implica que la velocidad no cambie, por lo
que el sistema se ajusta a los valores del movimiento.
A la vista de estos resultados, sólo tiene sentido el comprobar en qué orden de
magnitud se mueve el error de la velocidad bajo el supuesto de aceleración constante.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Dimensión del vector de estado.
22/10/2006 UPM-DISAM 99
Ilustración 5.14. Error en velocidad con vector de estado en posición, velocidad y aceleración.
Como era de esperar el error en el eje Z es mucho mayor que en los otros ejes
porque pequeñas variaciones del radio producen grandes cambios en la coordenada Z, por
lo que el ruido que se aprecia de la extracción directa de las características de la imagen es
eliminado por el filtro ya en la medida filtrada.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Modelo temporal.
22/10/2006 UPM-DISAM 100
5.2.3. Inclusión del tiempo en el modelo del sistema.
Como se ha comprobado en el apartado de la sincronización de la adquisición y el
procesamiento, el tiempo es muy estable entorno al valor de los 8 milisegundos. Pero
debido a que se está trabajando bajo un entorno controlado por un sistema operativo
Windows (condicionado por la tarjeta de adquisición), existen procesos ejecutándose de
forma paralela al programa que pueden provocar interrupciones del mismo y, por tanto,
retardos en las adquisiciones.
Ilustración 5.15. Tiempos de adquisición con retardos.
Las consecuencias que pueden tener estos retardos son las de que se pueden
realizar malas estimaciones de la velocidad si no se tiene el tiempo entre una adquisición y
la siguiente. Como la velocidad se estima como la diferencia entre dos posiciones
consecutivas dividas entre el tiempo, si el tiempo se considera constante tendremos que,
después de un retardo, la posición habrá cambiado más bruscamente y por lo tanto se
estimará un pico de velocidad que no es real.
Se considerará la prueba actual bajo el supuesto de:
• Modelo del sensor dependiente únicamente de la posición.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Modelo temporal.
22/10/2006 UPM-DISAM 101
• Modelo del sistema con aceleración constante.
• Matrices de modelado del error iguales para ambos casos.
La solución de introducir el tiempo en el modelo del sistema tiene los efectos que
se muestran en las siguientes gráficas.
Ilustración 5.16. Velocidades con un modelo atemporal.
Al filtro de Kalman se le ajustan los errores que tiene el modelo, de manera que,
para este caso en que el sistema no recoge la variable temporal, la señal filtrada tiende a
seguir la medida que nos da la medida sin filtrar. El hecho de querer minimizar este
comportamiento reduciendo la influencia que tiene el sensor en la etapa de actualización
del filtro de Kalman, tiene como consecuencia un desfase en la señal filtrada debido a que
el filtro está más influido por el modelo de un sistema que no reproduce el comportamiento
real de la pelota. Por tanto, esto no es solución porque en la mayor parte del tiempo las
adquisiciones se realizan en el tiempo establecido, de manera que se solucionaría un
problema puntual empeorando el comportamiento habitual.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Modelo temporal.
22/10/2006 UPM-DISAM 102
Ilustración 5.17. Velocidades con un modelo temporal.
Cuando se introduce el tiempo en el modelo y dejando la misma matriz de errores
del modelo, se aprecia que el sistema anticipa el comportamiento anómalo reduciendo la
velocidad más de lo que en realidad debería. En este caso, no existe el problema de ajuste
con la matriz que modela los errores del modelo ya que para que el comportamiento sea
más próximo al real lo que se le debe indicar al filtro es que la influencia de la medida
extraída directamente de la imagen sea mayor. Como las medidas de la velocidad en las
coordenadas X e Y son bastante robustas, el permitir que la salida del filtro se acerque a la
medida extraída de la imagen resulta incluso conveniente.
En ambos casos, se ha hecho mención a las velocidades según el eje X e Y,
porque en el eje Z las medidas que se tienen se encuentran afectadas por un ruido cuya
magnitud es similar al error que produce el propio retardo en la adquisición. De este modo
lo que se puede concluir es que el ajuste que se realiza para la medida filtrada en el eje Z
no está tan influido por retardos razonables en la adquisición, así que el efecto de la
inclusión del tiempo es más difícil de percibir.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Efecto de las matrices Q y R.
22/10/2006 UPM-DISAM 103
5.2.4. Efecto de los valores de las matrices Q y R.
Como ya se mencionó en el estado del arte, el filtro de Kalman cuenta con dos
modelos, el del sistema a controlar y el del sensor. Como el modelado de éstos no es
exacto, existen dos matrices que dan el error que se comete en cada una de las
aproximaciones. Estas matrices son Q para el modelo del sistema, y R para el modelo del
sensor.
El comportamiento del filtro frente a distintos estímulos será distinto en función
de los valores que se encuentren almacenados en estas matrices. Estos valores serán los
que le indiquen al filtro si tienen que tener en más consideración la estimación realizada
por el modelo o, por el contrario, hacer más caso a la estimación que se haya obtenido del
análisis de la imagen.
Se van a considerar dos casos en los que se muestre el efecto de la modificación
de estos valores. Estas matrices de error se han considerado diagonales ya que los
elementos fuera de la diagonal principal hacen referencia a las interrelaciones de distintas
medidas y sus efectos correlacionados son muy pequeños y por tanto se han despreciado.
En el primero de ellos se considerará que la estimación que realiza el modelo
sobre la aceleración es perfecta, es decir, el error que se comete es nulo, por lo que los
valores que se introducirán en los elementos de la matriz Q correspondientes a la
aceleración serán cero.
0.01 0 0 0 0 0 0 0 00 0.01 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 0.001 0 0 0 0 00 0 0 0 0.001 0 0 0 00 0 0 0 0 0.05 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
Q
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(5.2)
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Efecto de las matrices Q y R.
22/10/2006 UPM-DISAM 104
Los elementos que hacen referencia al error en posición y velocidad se han
determinado experimentalmente para conseguir la respuesta del filtro más adecuada al
problema que se ha planteado.
En el caso de que se quiera asumir el error que se comete en el modelado del
sistema, y por tanto en la estimación de la aceleración, se deben introducir los valores que
correspondan en cada uno de los elementos correspondientes, siendo los que se muestran a
continuación aquellos que dan un mejor resultado en cuanto al comportamiento del filtrado
de las medidas.
4
4
3
0.01 0 0 0 0 0 0 0 00 0.01 0 0 0 0 0 0 00 0 1 0 0 0 0 0 00 0 0 0.001 0 0 0 0 00 0 0 0 0.001 0 0 0 00 0 0 0 0 0.05 0 0 00 0 0 0 0 0 10 0 00 0 0 0 0 0 0 10 00 0 0 0 0 0 0 0 5·10
Q
−
−
−
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
(5.3)
Para el análisis comparativo se van a consideran las siguientes condiciones:
• Modelo del sistema dependiente del tiempo.
• Modelo del sensor que considere sólo la posición.
En las gráficas que se representarán a continuación se mostrarán únicamente
detalles de las gráficas que las representan para que se pueda apreciar con mayor nitidez el
efecto que se está analizando.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Efecto de las matrices Q y R.
22/10/2006 UPM-DISAM 105
Ilustración 5.18. Velocidades con modelo sin error en la aceleración.
Ilustración 5.19. Velocidades con modelo con error en la aceleración.
Como se puede apreciar en las dos gráficas, el comportamiento que se tiene en el
segundo caso es mejor que en el primero. La justificación que tiene esto reside en que el
filtro de Kalman considera que la aceleración dada por el modelo del sistema es exacta, por
lo que no la corrige y por tanto no se actualiza. Como, evidentemente, el modelo no
reproduce un movimiento pendular, sino un movimiento de aceleración constante, el efecto
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Efecto de las matrices Q y R.
22/10/2006 UPM-DISAM 106
que tiene la aceleración sobre la velocidad es lo suficientemente acusado como para que se
cometa un error bastante considerable.
El error se representará en las gráficas que se muestran seguidamente como el
error cuadrático.
Ilustración 5.20. Error en velocidad con un modelo sin error en aceleración.
Ilustración 5.21. Error en velocidad con un modelo sin error en aceleración.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Efecto de las matrices Q y R.
22/10/2006 UPM-DISAM 107
Resulta claro ver que el error cuadrático es mucho mayor en el caso en el que se
hacen consideraciones de que el modelo es perfecto en la estimación de la velocidad.
Hasta ahora se ha visto el efecto de la modificación de los parámetros de la matriz
Q, aunque para la matriz R el efecto que se consigue es exactamente igual sólo que
aplicado al modelo del sensor. De esta manera, si se considera que el error es nulo en
alguna de las medidas que se extraen de la imagen, para el filtro tendrán mucho peso estas
medidas sobre las estimaciones que se hagan con el modelo. Con esto se debe tener
cuidado respecto a que el modelo del sensor es muy sensible frente retardos en la
adquisición y sobre todo en la consideración de que el ruido en la coordenada Z es muy
grande.
Los análisis que se harían para este caso son similares a los que se mostraron para
los elementos de la matriz Q por lo que no se repetirán y se considerará el buscar los
valores que nos den un comportamiento de la salida del filtro más adecuada al problema a
resolver.
Título del proyecto. Resultados. 05199212 Filtrado de datos. David Gutiérrez Horrillo Modelo del sensor.
22/10/2006 UPM-DISAM 108
5.2.5. Modelo del sensor.
En el modelo del sensor se pueden hacer dos consideraciones distintas. Una sería
la de contar con un vector de medida de tres elementos que corresponderían a cada una de
las coordenadas espaciales que puede tomar la pelota en posición, y otra sería la que
incluiría seis elementos correspondientes a las posiciones y las velocidades en sus tres
dimensiones.
La influencia que tiene esta consideración viene en la etapa de actualización
cuando se calcula el error entre la medida del sensor y los parámetros extraídos a través del
modelo del sistema.
ACABARLO.
Título del proyecto. Conclusiones. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 109
Capítulo 6 Conclusiones.
En este capítulo se describirán de forma detallada cada una de las opciones
elegidas para la realización de la tarea. La elección de las mismas se basará en los criterios
ya descritos en el capítulo anterior y en las consideraciones del sistema.
Además, se mostrarán gráficamente los resultados que se han obtenido en unas
vistas tridimensionales tanto para la posición y la velocidad.
Para finalizar, se realizará un breve estudio en el que se comentarán los resultados
que se pueden obtener en la predicción de futuras posiciones de la pelota en función de los
cálculos de que se disponen.
Título del proyecto. Conclusiones. 05199212 Alternativas elegidas. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 110
6.1. Alternativas elegidas.
Evidentemente, dentro de la metodología que se elegirá para la sincronización de
la adquisición y el procesamiento de la imagen, se tomará el método asíncrono porque
proporciona un mayor rendimiento de la adquisición de imágenes y unos tiempos de
adquisición mayores desde el punto de vista de aprovechamiento de las imágenes
adquiridas. Se cumple de esta manera con los requisitos establecidos de conseguir unos
tiempos de adquisición próximos a los 8 milisegundos.
Como es lógico, para lograr los tiempos de adquisición de 8 milisegundos, es
necesario realizar una captura de la imagen en modo bining ya que los métodos
predecesores no logran alcanzar los tiempos requeridos por la tarea y el método de
escaneado parcial, aunque mejora de sobra las prestaciones en cuanto a tiempo de
adquisición, complica el procedimiento de captura de la imagen.
En el apartado del procesamiento de la imagen adquirida, es donde se toman la
mayor parte de las decisiones del proyecto.
En primer lugar, la estimación del umbral debe realizarse de forma dinámica, es
decir, que sea dependiente de la iluminación de la imagen que se ha tomado ya que, como
se comentó, una iluminación que está alimentada con una fuente alterna provoca
variaciones de luminosidad de una imagen a otra. Con esto se consigue también hacer que
el proceso de segmentación sea más robusto frente a cambios no controlados de la
iluminación.
La segmentación de la imagen se realizará por el método de búsqueda de puntos
candidatos a pertenecer a la pelota y la posterior expansión a través de toda su área. Con
esto se consigue reducir el tiempo de procesamiento, con lo que se garantiza que no se
desborde el tiempo de adquisición de 8 milisegundos, y se evita además la detección
errónea de puntos por ruido en la imagen. El único inconveniente viene con la realización
del proceso de expansión, ya que el empleo de una función recursiva puede provocar el
desbordamiento de la pila del ordenador cuando la pelota se acerca mucho al objetivo de la
Título del proyecto. Conclusiones. 05199212 Alternativas elegidas. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 111
cámara. Cuando esto ocurra, la solución que se planteará será la de tratar de sustituir la
recursividad por unos bucles que realicen la misma función. De todos modos, para el
presente proyecto este problema no se plantea porque el seguimiento de la pelota se realiza
a una distancia de la cámara que garantiza el no desbordamiento de la memoria.
Para finalizar, se describirán las decisiones que se han tomado para la descripción
de los sistemas del filtro de Kalman.
En cuanto al modelo del sistema, se ha determinado que el más apropiado es
aquel que modela una aceleración constante siempre con la consideración de un tiempo
variable porque la aparición de retardos en la adquisición no puede ser controlada por estar
funcionando bajo un sistema operativo en el que no se puede trabajar en tiempo real.
El modelo del sensor tendrá un vector de medidas en el que se considerarán la
posición y la velocidad, ya que el hecho de tener más información en el sensor no supone
grandes retardos en el procesamiento, y se cuenta con una información de gran utilidad que
beneficia el procedimiento de filtrado.
Finalmente, las matrices Q y R se calibraron de forma experimental ya que no se
buscaba el funcionamiento ideal del filtro, si no un funcionamiento correcto en régimen
normal y bueno frente a situaciones frente a las cuales el filtro no tiene porqué responder
correctamente. Estas situaciones son los retardos en las adquisiciones ya que no responden
al ruido blanco para el que está diseñado el filtro de Kalman.
Título del proyecto. Conclusiones. 05199212 Gráficos finales. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 112
6.2. Gráficos finales.
Los resultados que se muestran son los que se obtienen con las consideraciones
hechas en el apartado anterior.
Ilustración 6.1. Campo de posiciones filtradas de la pelota.
Título del proyecto. Conclusiones. 05199212 Gráficos finales. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 113
Ilustración 6.2. Campo de velocidades filtradas de la pelota.
Título del proyecto. Conclusiones. 05199212 Predicciones. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 114
6.3. Predicciones.
La finalidad de obtener unas medidas carentes de ruido tiene por objetivo el
realizar predicciones del futuro estado de la pelota al cabo de un número determinado de
ciclos o muestras.
Dadas una posición y una velocidad para un instante determinado, se desea saber
la posición que tendrá la pelota al cabo de un número de ciclos posteriores. Para realizar
esta predicción simplemente se extrapolará el valor de la posición con el dato de la
velocidad para ese instante de tiempo. Evidentemente, como el resultado que se obtendrá
se obtiene de la suposición de considerar un movimiento uniforme se comete un error que
se va acrecentando en la medida en que aumentan el número de ciclos porque la velocidad
va cambiando con el tiempo.
Por tanto, para poder dar validez a las predicciones, se debe determinar el posible
margen de error que se comete. Este error vendrá dado por el funcionamiento del robot, de
modo que se ha determinado que, para golpear la pelota, el robot contará con una paleta de
un radio de 50 milímetros, por que será este el margen de error con el que se juega para
conseguir el objetivo final.
A continuación se muestran los resultados que se han obtenido para la realización
de las diferentes pruebas en cada uno de los ejes coordenados.
Para los ejes de coordenadas x e y, los resultados son similares debido a que las
predicciones que se realizan usan datos que se calculan, filtran y estiman de la misma
manera, por lo que la fuente de error es similar en ambos casos, y por tanto con incluir el
error en uno de estos ejes será suficiente.
Título del proyecto. Conclusiones. 05199212 Predicciones. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 115
Ilustración 6.3. Error de predicción en el eje x con 15 muestras.
En este caso hay que fijarse que los primeros 2 ó 3 valores están fuera de rango
debido a que la variable de velocidad no se pudo inicializar en el cálculo de valores
iniciales en el filtro de Kalman. El error que se comete en estas muestras es consecuencia
de que los valores que devuelve el filtro son los valores de transición hasta que se
estabiliza en torno a su valor de funcionamiento.
En este caso, se ha comprobado que en torno a las 15 muestras de diferencia en la
predicción se consiguen unos valores en el error de 50 milímetros por lo que se estaría en
el límite del error. Como las adquisiciones se están considerando de 8 milisegundos, esta
predicción estaría hablando de valores de entorno a los 0.12 segundos.
El caso del eje z debe considerarse a parte porque el comportamiento de los datos
según este eje es distinto al que se tiene en cualquiera de los otros dos. Del mismo modo, el
error que es permisible cometer en este eje no viene dado por el tamaño de la paleta, si no
por el espacio en el que se considera que la pelota debe ser golpeada. Por el recorrido que
debe realizar el robot en el golpeo y la coordenada en la que se considera que se debe
iniciar el movimiento del golpeo un error, también, de 50 milímetros es razonable.
Título del proyecto. Conclusiones. 05199212 Predicciones. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 116
Ilustración 6.4. Error en la predicción en el eje z con 15 muestras.
Aunque la medida es mucho más oscilante, el resultado que se obtiene es similar al del eje
x por lo que se puede garantizar un correcto funcionamiento del sistema con predicciones
de 0.12 segundos. Evidentemente por razones de seguridad y de buen funcionamiento del
robot las predicciones se realizarán a tiempos inferiores para guardar los márgenes de
seguridad.
Título del proyecto. Anexos. 05199212 David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 117
Capítulo 7 Anexos.
En este capítulo se incluirán todos los documentos que hacen referencia al
proyecto pero que no pueden ser enmarcados en ninguno de los capítulos anteriores o que,
por su extensión, es más apropiado comentarlos fuera del entorno en el que se hace
mención.
Aquí se tratarán los temas relacionados con la planificación y presupuesto del
proyecto, así como la precisión subpíxel que se menciona en el capítulo 4 en la fórmula
(4.6).
Título del proyecto. Anexos. 05199212 ANEXO I. Presupuesto. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 118
7.1. ANEXO I. Presupuesto.
Todo proyecto debe ir acompañado de un presupuesto más o menos detallado que
muestre el valor de todo aquello que ha sido necesario para la realización del mismo.
Para la elaboración del presupuesto se ha tomado como estructura, para
organizarlo de una manera coherente, aquella que hace distintas partidas clasificándolas en
tres grandes grupos.
• Hardware.
Dentro de este apartado se incluirán todos aquellos elementos físicos que
son imprescindibles para la realización de la tarea. En él se encuentran todos los
elementos descritos en el capítulo 3 además de todos los elementos necesarios para
conseguir el entorno de trabajo adecuado y de seguridad.
• Software.
En esta partida del presupuesto se deben incluir todos programas que se
han usado para la elaboración del programa y la extracción de resultados, así como
las librerías específicas de que se sirven los elementos hardware que realizarán la
tarea.
• Horas-Hombre.
Aquí se deben de contemplar las horas de ingeniero que han sido
necesarias para la realización del programa, la realización de pruebas, el ajuste de
parámetros, etc.
Título del proyecto. Anexos. 05199212 ANEXO I. Presupuesto. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 119
HARDWARE.
SOFTWARE.
Microsoft Visual C++ 6.0
Matrox Imaging Library
Matlab 6.5 Student Version Release 13
850€
300€
150€
SUBTOTAL Software 1.200€
Robot paralelo
Tarjeta controladora de ejes
Cámara Sony XC-HR50
Ópticas
Tarjeta Martos Meteor2 MC/4
Cable de comunicación cámara-tarjeta
Jaula de seguridad
Paneles blancos
SUBTOTAL Hardware
20.000€
10.000€
1.000€
30€
1.000€
150€
150€
30€
33.860€
Ordenador 1.500€
Título del proyecto. Anexos. 05199212 ANEXO I. Presupuesto. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 120
HORAS-HOMBRE.
PRESUPUESTO TOTAL.
SUBTOTAL Hardware
SUBTOTAL Software
SUBTOTAL Horas-Hombre
33.860€
1.200€
30.600€
TOTAL 65.660€
Duración 2 años y medio
Ingeniero Junior (30€/h) 720h.
Ingeniero Señor (60€/h) 150h.
21.600€
9.000€
SUBTOTAL Horas-Hombre 30.600€
Título del proyecto. Anexos. 05199212 ANEXO II. EDP. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 121
7.2. ANEXO II. Estructuración de descomposición del proyecto.
La estructura de descomposición del proyecto (EDP) es el resultado de dividir el
proyecto en elementos de trabajo y organizarlos en una estructura de tipo árbol.
La EDP permitirá realizar una gestión más eficiente del proyecto gracias a que
facilita las tareas de planificación, calendario, control y seguimiento del proyecto.
La EDP debe de contar con un número de niveles que se ajuste a las necesidades
del proyecto, ya que una estructura con demasiados niveles para un proyecto sencillo
puede dificultar las tareas que se han descrito en el párrafo anterior y por tanto se entorpece
la función principal de esta herramienta.
Cada uno de los elementos de la EDP se denomina paquete de trabajo y este debe
ser una parte perfectamente identificable en cuanto a alcance y contenido, pudiendo ser
asignado a un grupo de trabajo y cuya ejecución pueda generar un entregable.
Título del proyecto. Anexos. 05199212 ANEXO II. EDP. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 122
Título del proyecto. Anexos. 05199212 ANEXO III. Diagrama de Gantt. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 123
7.3. ANEXO III. Diagrama de Gantt.
El diagrama de Gantt tiene la tarea de poner fechas a cada una de las tareas que se
han descrito en la estructura de descomposición del proyecto. Se trata de dar una fecha de
inicio y un tiempo de ejecución para la planificación y la programación de cada una de las
tareas.
En la elaboración de esta programación de las tareas se deben de tener en cuenta
todos los factores que afecten a la realización de las mismas.
Así pues, las fechas de exámenes, las vacaciones de verano y navidad, etc., deben
considerarse a la hora de hacer esta planificación ya que se trata de fechas en las que no se
va a trabajar en el proyecto.
Título del proyecto. Anexos. 05199212 ANEXO III. Diagrama de Gantt. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 124
Título del proyecto. Anexos. 05199212 ANEXO IV. Precisión subpíxel. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 125
7.4. ANEXO IV. Detección de bordes con precisión subpíxel.
En la captura de una imagen a través de una cámara, existe una digitalización que
se traduce en una cuantificación de la información recibida del entorno. La consecuencia
más importante que tiene este hecho es la pérdida de información. En este caso, la mayor
información que se puede recoger de la imagen es la que se encuentra contenida en un
píxel, y toda precisión menor de este tamaño no aporta información nueva debido a la
cuantificación de la imagen.
Para poder aumentar la precisión de esta información, surgen distintos algoritmos
de precisión subpíxel, cuya misión es la de usar la cuantificación para obtener información
adicional al muestreo espacial.
En la primera imagen, el cuadro blanco coincide con un píxel de la discretización
de la imagen, por lo que en la interpretación de ésta el píxel correspondiente tendrá el valor
de blanco y resto serán negros.
00 00 00
00 225555 00
00 00 00
6633 6633 00
6633 6633 00
00 00 00
6633 6633 00
6633 6633 00
00 00 00
Título del proyecto. Anexos. 05199212 ANEXO IV. Precisión subpíxel. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 126
En la segunda imagen, el cuadro blanco toca cuatro píxeles de la discretización,
por lo que la señal eléctrica que enviará el CCD será aquella en la que en cada píxel se
transforme la señal lumínica recibida en señal eléctrica. Evidentemente, no tendrá el valor
correspondiente al blanco porque no está todo el píxel cubierto de la figura blanca. El
problema surge cuando se realiza la interpretación de la matriz que se ha obtenido tras
discretizar, ya que como cada píxel tiene un valor concreto para toda el área que ocupa, el
resultado que se obtiene es el que se muestra en la tercera figura. Esto es consecuencia de
que la precisión con que se cuenta es de un píxel.
La aplicación que se va a estudiar para la precisión subpíxel es la de la detección
de bordes, para la cual existen varias metodologías dependiendo del caso en que se esté
trabajando.
• Borde en escalón puro.
En este caso los datos son los valores de los píxeles a, b y c, y la incógnita es la
coordenada x. Según esto, en base a los datos de la cuantificación y sabiendo que se
trata de un borde en escalón puro, se tiene lo siguiente.
( )1bT aTx cT xb cxa c
= + −
−⇒ =
−
Con lo que el borde queda perfectamente definido con los valores conocidos de la
cuantificación.
c c c b a a
T x
Título del proyecto. Anexos. 05199212 ANEXO IV. Precisión subpíxel. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 127
• Borde en escalón suavizado.
En este caso los datos y la incógnita son los mismos que en el caso anterior. En este
caso se utilizará para la detección del borde, el cálculo del centro de gravedad de la
imagen de incrementos, que es la segunda fila de la imagen superior. La expresión
de este centro de gravedad es el siguiente:
0
0
mjj
mjj
j gx
g=
=
=∑∑
Con lo que en el caso que se mostró en la primera figura se tiene:
( ) ( ) ( ) ( )( ) ( ) ( ) ( )
1 2 3 41
21b a x c b x d c x e d x a b c d ex x
b a c b d c e d e a− + − + − + − − − − −
= = + +− + − + − + − −
donde
2 1 3 1 4 11 ; 2 ; 3x x x x x x= + = + = +
Un hecho significativo de este método es que sale el mismo resultado si se aplica al
caso que se vio en el primer punto.
e e d c b a
T ∇x
0x 5x4x3x2x1x
0 0 e-d d-c c-b b-a
xg
xg
x
Título del proyecto. Anexos. 05199212 ANEXO IV. Precisión subpíxel. David Gutiérrez Horrillo
22/10/2006 UPM-DISAM 128
• Borde en rampa.
En la imagen se puede calcular de forma robusta los valores máximo y mínimo,
con lo que el valor del borde se considerará como el valor medio de ambos.
Además se supone que este valor estará entre los valores c y d.
( )2i
f aBorde: g x M+= = ⇒ ( ) ( )
( )2 2i
f a d cx x
d c+ − +
= +−
A esta expresión final se llega a través de una serie de consideraciones
geométricas en base a la función rampa que define el borde y los valores de los
píxeles que en ellos están contenidos.
f e d c b a
0x 5x4x3x2x1x 5xpx
qx