APLICACIÓN DELALGORITMO DEVITERBI SOBREMODELOSOCULTOS DEMARKOV PARA LA ESTIMACIÓN DE TRÁFICO VEHICULAR
SR. ALEJANDRO JULIÁNPÉREZ
TRABAJOFINAL - INGENIERÍA DE SISTEMAS FACULTAD DECIENCIAS EXACTAS
UNIVERSIDAD NACIONAL DEL CENTRO DE LAPROVINCIA DE BUENOS AIRES
Director: DR. ALDORUBIALES Codirector: DR. PABLOLOTITO
R
ESUMEND
EDICATORIAS Y RECONOCIMIENTOSDedico especialmente a mi hermano Pablo y mis viejos, Silvia y Guillermo. Por ellos soy lo que soy y les estoy eternamente agradecidos.
A mi familia que siempre estuvo presente, los quiero a todos. Lau, gracias por hacer todo tan hermoso.
A mis amigos. Es un gusto haberme cruzado con ustedes, hermanos de la vida. Gracias por tantas risas, momentos y lugares compartidos.
A mis directores, Aldo y Pablo, excelentes profesionales, gracias a ellos por mostrarme el intrigante mundo de la ciencia.
A todos los miembros del Instituto Pladema, siempre han sabido destacarse en muchas cosas pero, sobre todo, lo hacen en lo humano.
Í
NDICE DEC
ONTENIDOSPágina
Índice de Tablas ix
Índice de Figuras xi
Índice de Códigos xv
1 Introducción 1
1.1 Motivación . . . 1
1.2 Trabajos relacionados . . . 3
1.3 Sistemas de comunicación inalámbricos . . . 4
1.4 Objetivo . . . 7
1.5 Organización del documento . . . 8
2 Marco Teórico 11 2.1 Cadenas de Markov . . . 11
2.1.1 Reseña . . . 11
2.1.2 Definición . . . 12
2.1.3 Propiedad de Markov . . . 12
2.1.4 Aplicación . . . 13
2.2 Modelos Ocultos de Markov . . . 14
2.2.1 Reseña . . . 14
2.2.2 Definición . . . 14
2.2.3 Problemas en HMM . . . 17
2.2.4 Aplicación . . . 17
2.3 Algoritmo de Viterbi . . . 18
2.3.1 Reseña . . . 19
2.3.2 Algoritmo . . . 19
2.3.3 Ejemplo: El casino deshonesto . . . 20
ÍNDICE DE CONTENIDOS
3.1.1 Solución trivial . . . 24
3.1.2 Algoritmo básico de estimación de trayectoria . . . 24
3.1.3 Modelos ocultos: Segmentos de calles . . . 25
3.1.4 Probabilidades de transición . . . 26
3.1.5 Probabilidades de emisión . . . 26
3.1.5.1 Método 1 . . . 26
3.1.5.2 Método 2 . . . 27
3.1.6 Algoritmo de Viterbi . . . 27
3.1.6.1 Ejemplo HMM . . . 28
3.1.6.2 Flujo del algoritmo . . . 29
3.2 Estimación a partir de dispositivos inalámbricos . . . 29
4 Diseño e implementación 33 4.1 Diseño preliminar de la arquitectura . . . 34
4.1.1 Arquitectura propuesta para un sistema de estimación de tráfico vehicular 35 4.2 Simulación de tráfico . . . 35
4.2.1 Modelos de simulación de tráfico . . . 36
4.2.2 SUMO . . . 37
4.2.3 SumoConvert . . . 39
4.3 Paquete de utilidades para SUMO-SumoConvert . . . 40
4.3.1 Simulación GPS . . . 40
4.3.2 Simulación Bluetooth . . . 41
4.4 Módulo Viterbi . . . 46
4.4.1 Modelado de la red . . . 46
4.4.2 Almacenamiento de datos . . . 47
4.4.3 Segmentación de la red . . . 49
4.4.4 Aplicación del algoritmo de Viterbi . . . 50
4.4.4.1 Procesamiento de señales . . . 53
4.4.5 Probabilidades de emisión GPS . . . 54
4.4.6 Probabilidades de emisión Bluetooth . . . 55
4.4.7 Función de densidad de probabilidades de observación . . . 56
4.4.8 Extensibilidad del módulo de estimación . . . 60
4.4.9 Aritmética de punto flotante . . . 61
4.4.9.1 Transformación logarítmica . . . 62
4.5 Visualizador . . . 62
4.5.1 Procesador GeoJSON . . . 66
4.6 Módulo Monitores.WS . . . 67
5 Resultados 69
ÍNDICE DE CONTENIDOS
5.1 Estimación GPS . . . 71
5.2 Estimación Bluetooth . . . 74
6 Conclusiones y trabajos futuros 77 6.1 Trabajos Futuros . . . 77
6.1.1 Validación . . . 77
6.1.2 Características funcionales . . . 78
6.1.3 Rendimiento . . . 78
A Apéndice 79 A.1 Opdfs basadas en Friis . . . 79
Í
NDICE DET
ABLASTABLAS Página
2.1 Resumen del cálculo de P(Q,O) para las combinaciones posibles dei1,i2,i3. . . 20
2.2 Primer paso del algoritmo de Viterbi.δ1(i) con observación O1=3 . . . 21
2.3 Primer iteración del paso 2.δ2(i) con observación O2=6 . . . 21
2.4 ψ2(i) . . . 21
2.5 Segunda iteración del paso 2.δ3(i) con observación O3=4 . . . 21
2.6 ψ3(i) . . . 21
2.7 Búsqueda recursiva del camino que llevó a la secuencia de estados de prob. máxima 22 4.1 Ejemplo de simulación: detección Bluetooth . . . 44
5.1 Resultados de tiempos y distancias en la simulación de un vehículo, sobre el recorrido R1, aplicando el Método 1 . . . 73
5.2 Cuadro comparativo del error medio en la estimación del Tiempo de Viaje (TT) obtenido en simulaciones para 10 vehículos, en los recorridos 1 y 2, estimadas a partir de los métodos 1 y 2. . . 74
Í
NDICE DEF
IGURASFIGURAS Página
1.1 Ranking de ciudades con peor trafico en el mundo “Commuter Pain Index” (IBM 2011) 2
1.2 Detectores infrarojos . . . 3
1.3 Bucles de inducción . . . 3
1.4 Las cajas “C3P0” y “R2D2”, son construidas con una Raspberry Pi, una cámara de 5 MP , un dongle Wi-Fi para armado de la red ad-hoc y un dispositivo Ubertooth One para la captura de señales. . . 4
1.5 Captura obtenida de la caja “R2D2” detectando paquetes de un mismo dispositivo (misma LAP). . . 5
1.6 Esquema general de un sistema de comunicaciones . . . 5
1.7 Esquema de radiación de una antena isotrópica y una antena direccional . . . 6
1.8 Interpretación física de los fenómenos difracción y reflexión. Imagen obtenida de (Aragón, 2008) . . . 7
1.9 Comparación entre la ecuación de transmisión de Friis para un dispositivo transmisor Bluetooth Clase 2 con antena isotrópica dirigido a un receptor de antena 3 dBi, y una aproximación exponencial a partir de datos capturados por experimentación. . . 8
2.1 Secuencia de variables aleatorias . . . 12
2.2 Representación gráfica de un sistema de dos estados: dado justo y dado cargado . . . 13
2.3 Secuencia de variables aleatorias con emisión de símbolosot=Ok . . . 16
2.4 Modelo Oculto de Markov del casino deshonesto . . . 16
3.1 Modelo oculto de Markov de dos calles intersectadas. Los segmentos son sub-divididos para aumentar la granuralidad . . . 25
3.2 Función de densidad de probabilidades bidimensional. . . 28
3.3 Ejemplo de HMM . . . 28
3.4 Diagrama de funcionamiento del algoritmo de Viterbi . . . 29
3.5 Ejemplo para diseño del modelo de emisión de probabilidades . . . 30
3.6 Funciones de densidad de probabilidad de observación Bluetooth . . . 31
ÍNDICE DEFIGURAS
4.2 Vista de módulos principales del sistema . . . 35
4.3 Simulación microscópica en SUMO (izq). Simulación macroscópica en AIMSUN . . . 37
4.4 Construcción de una red SUMO . . . 38
4.5 Definición de la demanda en SUMO . . . 38
4.6 Extensión de JOSM: ’SumoConvert’ . . . 40
4.7 Vista de módulos - SumoUtils . . . 41
4.8 Diseño de pruebas Bluetooth . . . 42
4.9 Imágenes del registro videográfico del experimento a distancias de 5 y 15 metros, respectivamente. Capturado desde la cámara presente en la caja “Sensor”. . . 42
4.10 Conjunto de datos recolectados via sensor Bluetooth . . . 43
4.11 Señal media y desvío estándar de las muestras experimentales según la distancia al monitor . . . 44
4.12 Ejemplo de simulación de un vehículo atravesando cuatro monitores, por ambos métodos. . . 45
4.13 Detecciones de las pruebas de velocidad . . . 46
4.14 Vista de paquetes del módulo de estimación “Viterbi” . . . 47
4.15 Diagrama de Base de Datos correspondiente a la estructura de la red. Estas estruc-turas permanecen en el servidor PostgreSQL y dan soporte a los segmentos más cortos. . . 47
4.16 Vista de módulos para acceso a datos a través de Hibernate . . . 48
4.17 Esquema del cálculo de los vértices de un segmento . . . 50
4.18 Construcción de segmentosSegmentoViterbisobre la zona céntrica de la ciudad de Tandil. Dada una velocidad máximaVM A X=80 Km/h, la longitud de un segmento es L=22.22 m. La cantidad total de divisiones asciende a 2.624 segmentos. . . 50
4.19 Clases e interfaces para la representación del Hmm en Jahmm . . . 52
4.20 Diagrama de clases que extiendenObservation . . . 53
4.21 Captura de pantalla del panel de ajustes de la plataforma. . . 53
4.22 Implementación de los métodos de estimación GPS como extensiones de Jahmm . . . 54
4.23 Extensión de JahmmObservationEventVectorpara observaciones Bluetooth . . . 55
4.24 Extensión de Jahmm: Función de densidad de probabilidadesOpdf<ObservationEventVector> para observaciones Bluetooth . . . 56
4.25 Construcción de PDF por histograma comparado a la estimación Kernel. Gráfico producido en Matlab con las funciones histo gram(values,‘Normalization’,‘pdf ’) y ksd ensit y(values,0:70), respectivamente. . . 58
4.26 Estimación Kernel completa para el rango de señales mayores a -60 dB, junto con la estimación Kernel de cada valor, escaladas para la imagen. . . 58
ÍNDICE DEFIGURAS
4.27 Arriba: Clasificación del dataset procesado con eliminación del 2 % de outliers (por
cada grupo de distancia) y toma de valores mínimo, promedio y máximo en ventanas
de 3 lecturas. Abajo: Funciones de densidad de probabilidades de observación para
el mismo dataset, incluyendo todas las observaciones (All), el promedio (Average) y
máximo (Max) de cada ventana. . . 59
4.28 Diagrama de secuencia de la construcción de OPDFKernels. . . 60
4.29 Clases de los paquetesorg.tte.app.beansyorg.tte.logicyorg.tte.db. . . 61
4.30 Vista de módulos de una aplicación JavaServer Faces. . . 63
4.31 Captura de pantalla del estimador GPS . . . 65
4.32 Resultado gráfico de la codificación de una secuencia de puntos de ejemplo. . . 67
4.33 Captura de imagen del sitio Web de Monitores.WS . . . 68
5.1 Red de calles para las pruebas de la plataforma. . . 70
5.2 División de la red en segmentos (SegmentoViterbi). . . 70
5.3 Recorridos definidos R1 y R2, respectivamente.. . . 70
5.4 Recorrido simulado para 1 vehículo en el recorrido R1, con probabilidades de obse-vación: pobs=1 (A) y pobs=0.125 (B); a partir de simulaciones con pobs=0.125 se visualizan perturbaciones de:P F={1, 5, 10} (C, D y E, respectivamente) . . . 71
5.5 Estimación de la velocidad media general para las variaciones de parámetros pobs y P Fsobre el recorrido R1 . . . 73
5.6 Estimación del Tiempo de Viaje para 10, 100 y 200 vehículos en el recorrido R2, con pobs=0.125 y P F=10 . . . 74
5.7 Estimación del Tiempo de Viaje vía detección Bluetooth para 10 vehículos en el recorrido R1 y R2, con diferentes combinaciones depobs . . . 75
5.8 Estimación del Tiempo de Viaje vía detección Bluetooth para 1 y 10 vehículos en el recorrido R1 y R2, con diferentes combinaciones depobs . . . 75
Í
NDICE DEC
ÓDIGOS4.1 Perturbación de detecciones Bluetooth . . . 45
4.2 Mapeo objeto-relacional de la entidad Node en Hibernate . . . 48
4.3 Mapeo objeto-relacional de la entidad Edge en Hibernate . . . 49
4.4 Configuración de la visualización de mapas . . . 64
4.5 Carga de una representación GeoJSON en Leaflet . . . 65
4.6 Código para la creación de una capa . . . 66
C
A
P
Í
T
U
L
O
1
I
NTRODUCCIÓNE
l tráfico urbano es uno de los principales retos a los que se enfrentan las ciudades. El mundo se urbaniza rápidamente y la densidad de población aumenta. Este crecimientoconlleva una expansión de la demanda y ha llevado a priorizar la aplicación de estrategias
que permitan disminuir la congestión global. Estas técnicas se ubican en tres áreas principales:
gobierno, optimización de la red de transporte y servicios de transporte integrados, en este último
se ubican los sistemas de información al viajero que proveen información en tiempo real.
Sin embargo, dentro de las áreas mencionadas, no es posible llevar a cabo estrategias si no
se conocen las variables que describen el estado real del sistema: densidad de ocupación, flujo
vehicular y velocidades medias. Para obtener estos datos existen productos comerciales, como
Mistic de Swarco y CitySolver de Bitcarrier, pero estos requieren elevados costos de instalación y
mantenimiento. Para las autoridades, es indispensable contar con información del estado de la
red ya que permite tomar decisiones fundamentadas para mejorar las condiciones de tráfico y así
mejorar la calidad de vida de los habitantes.
1.1
Motivación
En lo que refiere a los sistemas de transporte, la mayoría de los líderes gubernamentales
coin-ciden en que es necesario invertir en infraestructuras. Sin embargo, las restricciones impuestas
por la limitación presupuestaria obligan a gestionar más eficazmente la demanda y el suministro
mediante el despliegue de sistemas de transporte inteligente (ITS) [22]. El crecimiento del parque
automotor a nivel mundial, también registrado en Argentina[13], repercute directamente en el
aumento del nivel de congestión vehicular[14]. Según un estudio realizado mundialmente, en
Buenos Aires la cantidad media de paradas-arranques realizadas por vehículo por año asciende a
CAPÍTULO 1. INTRODUCCIÓN
semáforos, etc. Asimismo, una encuesta realizada por IBM, conocida como “Commuter Pain Index”
(índice de dolor del viajero), sitúa a Buenos Aires entre las ciudades con peor tráfico a nivel
mundial, por encima de mega-ciudades como París y Los Ángeles (1.1). Aquí se observaron otros
aspectos además de las paradas-arranques; al cabo de 1 año se volvió a encuestar a los viajantes
y en el caso de la ciudad de Buenos Aires, un 41 % cambió al transporte público por los aumentos
en los costos económicos. No menos preocupante es la cantidad de viajes cancelados reportados
por los conductores, en donde un 43 % de ellos corresponden a viajes de trabajo. Finalmente cabe
destacar que el 44 % manifestó haber sufrido algún trastorno de salud (principalmente estrés) a
causa del tráfico.
En cuanto a los costos que implica la congestión, la operación de los vehículos que circulan
en las vías de ciudades de más de 100.000 habitantes consume alrededor del 3.5 % del PBI de
América Latina y el Caribe[10]. Por ende, es notable la necesidad de contar con herramientas que
permitan a las autoridades aplicar políticas para mejorar las condiciones del transporte.
Figura 1.1: Ranking de ciudades con peor trafico en el mundo “Commuter Pain Index” (IBM 2011)
Resolver estos problemas depende de planificaciones urbanas que aseguren un sistema
operacional y económicamente eficiente. Para planificar, es indispensable contar con registros
históricos del estado de la red a lo largo del tiempo para la toma de decisiones. La actividad
vehicular puede ser detectada a partir de distintos tipos de fuentes, tradicionalmente, por cámaras
de video, detectores infrarrojos (Figura 1.2) y bucles de inducción (óinduction loops, Figura 1.3).
Si bien se trata de métodos precisos, son costosos y requieren la instalación del equipamiento
sobre los caminos, dificultando el despliegue sobre varios puntos de una ciudad.
Por otro lado, la incorporación de dispositivos de tecnología inalámbrica Wi-Fi y Bluetooth
en automoviles particulares, lleva a nuevas formas de obtener datos de la movilidad urbana
realizando capturas de los vehículos en tránsito, permitiendo inferir su ubicación. Este mecanismo
de recolección de datos se considera no invasivo ya que no es necesario alterar la vía para su
instalación, como en el caso de los detectores por inducción magnética. Esto lo convierte en un
1.2. TRABAJOS RELACIONADOS
método de bajo costo y fácil instalación, con posibilidad de ser extendido a múltiples aplicaciones,
como por ejemplo: posicionamiento en interiores basado en señales Wi-Fi[23] y análisis de uso de
líneas de autobuses en base a seguimiento de usuarios vía Wi-Fi y Bluetooth[16].
Figura 1.2: Detectores infrarojos Figura 1.3: Bucles de inducción
La naturaleza estocástica de las transmisiones recolectadas presenta un desafío significativo
respecto a su interpretación. Trabajos previos[25, 39, 41] demuestran que es posible inferir
trayectorias a partir de observaciones escasas y ruidosas aplicando cadenas ocultas de Markov y
su decodificación a través del algoritmo de Viterbi.
En el siguiente trabajo se utiliza el algoritmo de “Viterbi” sobre modelos ocultos de Markov
aplicado a la estimación de estados y tiempos de viaje en redes de tráfico a partir de señales de
GPS y Bluetooth. El método a desarrollar está basado en la estimación de la velocidad media
espacial a partir de la trayectoria de los vehículos.
1.2
Trabajos relacionados
En el marco del proyecto “Estimación del estado del tráfico vehicular a través de datos
obtenidos de dispositivos móviles”, del programa “Universidad y Transporte Argentino”, se
desarrolló un prototipo para censar y realizar seguimiento de vehículos. La solución cuenta con
tres técnicas de captura de datos: localización geográfica a partir de lecturas de GPS, registro
de dispositivos Bluetooth cercanos a un detector y conteo vehicular a través de videocámaras.
El prototipo permite el envío de las observaciones obtenidas a un servidor central para su
procesamiento.
Las técnicas mencionadas anteriormente se implementan en dos módulos separados: una
aplicación Android para dispositivos con sensor GPS, y dos cajas sensores denominadas “C3P0” y
“R2D2” (Figura 1.4). Estas cajas realizan las mismas funciones: por un lado, realizan un conteo
de vehículos que circulan por un determinado punto de la red a partir del procesamiento de video,
y por otro, registran lecturas de la señal de radiofrecuencia emitida por dispositivos Bluetooth
activos. En las cajas se utilizan dispositivos Ubertooth One[31], estos son dispositivos USB
CAPÍTULO 1. INTRODUCCIÓN
permite monitorear transmisiones Bluetooth y, a partir del software que acompaña al dispositivo,
se registran características de los paquetes capturados, como identificación del dispositivo de
origen, nivel de señal de la transmisión, marcas temporales, etc. Por ejemplo en la Figura 1.5
se muestra en funcionamiento la herramienta de captura, en donde se observa un vehículo y su
señal interceptada.
Figura 1.4: Las cajas “C3P0” y “R2D2”, son construidas con una Raspberry Pi, una cámara de 5 MP , un dongle Wi-Fi para armado de la red ad-hoc y un dispositivo Ubertooth One para la captura de señales.
Las cajas pueden ser accedidas a través de un sitio web en una red ad-hoc, para monitorizar
su funcionamiento y configurar los parámetros de recolección y reporte de datos. Cabe mencionar
que el prototipo fue construido sobre una caja estanca para poder ser ubicado a la intemperie.
Como se mencionó, esta metodología considera métodos no invasivos, algo que comparte
con algunos productos comerciales. Se utiliza tecnología Bluetooth porque permite identificar
unívocamente un vehículo. Además, es mas probable encontrar vehículos con Bluetooth integrado
que una gran de usuarios utilizando una aplicación determinada.
Por último, se aclara que en el presente trabajo se utilizan desarrollos realizados en otro
proyecto final de grado dentro del área de tráfico vehicular, en donde se desarrolló un software
que conecta dos herramientas para la simulación de tráfico: un editor de mapas de Open Street
Map (JOSM) y un simulador de tráfico microscópico (SUMO).
1.3
Sistemas de comunicación inalámbricos
Aquí no se pretende ser extenso sobre los fenómenos físicos que dan lugar al comportamiento
de los canales inalámbricos. En su lugar, se mencionan conceptos que hacen a la problemática
del uso de estos dispositivos como fuente de información. Si el lector lo requiere, podrá consultar
mayores detalles en [3].
La arquitectura genérica de un sistemas de comunicaciones, ilustrada por la Figura 1.6,
fue presentada originalmente por Claude Shannon[36]. Ya sea para sistemas alámbricos o
inalámbricos, uncanales el medio sobre el cual se transmite la señal generada por un transmisor
destinada a un receptor.
1.3. SISTEMAS DE COMUNICACIÓN INALÁMBRICOS
Figura 1.5: Captura obtenida de la caja “R2D2” detectando paquetes de un mismo dispositivo (misma LAP).
Figura 1.6: Esquema general de un sistema de comunicaciones
El recurso básico utilizado en las comunicaciones inalámbricas es el espectro electromagnético.
En general, para comunicaciones se utilizan frecuencias entre 3 kHz y 300 GHz, que
corres-ponden a longitudes de onda en el espacio abierto desde 100 km a 1 mm. A mayor frecuencia,
mayor es el ancho de banda disponible. Los sistemas Bluetooth funcionan en la banda ISM
(Industrial, Científica y Médica) de los 2.4 GHz, liberada por la UIT (Unidad Internacional de
Telecomunicaciones).
El diseño de una antena establece algunos de los efectos y características que tendrá la señal
transmitida. El propósito es asegurar mejor eficiencia en la transmisión, con antenas que irradian
mayor energía en dirección al receptor. Para representar la distribución tridimensional de energía
radiada se utiliza el patrón de radiación. Este define la variación de la potencia irradiada por
una antena como función de la posición relativa a la misma. El ejemplo más simple es el de una
CAPÍTULO 1. INTRODUCCIÓN
Figura 1.7: Esquema de radiación de una antena isotrópica y una antena direccional
Desde un punto de vista de un único transmisor, la atenuación de señal es el factor limitante
del rango de transmisión efectivo[35]. El desarrollo de modelos para propagación de señales es
realizado generalmente usando valores estadísticos de regiones o ciudades en particular. Los
modelos de atenuación, conocidos como “Path Loss”, permiten calcular la atenuación de señal
o la potencia de señal recibida para una distancia dada entre emisor y receptor. Además de la
atenuación debida a la propagación sobre el aire, existen otros factores que afectan la transmisión:
• Reflexión: Las ondas electromagnéticas son reflejadas por varias superficies. En el caso de
comunicaciones a gran distancia, el hielo es la superficie que mejor refleja la señal, seguido
por las acumulaciones de agua y los terrenos húmedos. En el caso opuesto, las superficies
áridas son las que menos reflejan. A corta distancia, la reflexión se da en edificios, en
especial aquellos con superficies metálicas. Como resultado se tienen señales viajando a
través de múltiples caminos.
• Oscurecimiento(Shadowing): Algunos objetos reflejan las ondas en dirección opuesta o
atenúan fuertemente la señal de modo que sólo permanecen señales débiles detrás de estos
objetos.
• Difracción: La onda se dobla sobre bordes pronunciados de un objeto. Así, la onda es capaz
de propagarse mas allá de los objetos que producenshadowing(Figura 1.8).
• Dispersión(Scattering): Al contrario de la reflexión que ocurre en superficies relativamente
amplias, la dispersión se da en pequeñas superficies en comparación a la longitud de onda.
Superficies ásperas como plantas y árboles dispersan la onda en múltiples direcciones.
Un modelo comúnmente utilizado (no estadístico) que permite calcular la potencia de señal
recibida está dado por la fórmula de transmisión definida por H. T. Friis, en donde sólo se
considera la atenuación de la señal sobre el aire, descartando componentes fuera de la línea
de visión (visibilidad directa entre antenas). Entonces, dadas dos antenas (asumiendo antenas
1.4. OBJETIVO
Figura 1.8: Interpretación física de los fenómenos difracción y refle-xión. Imagen obtenida de (Aragón, 2008)
isotrópicas), la relación entre la potencia de señal en la antena receptoraPry la potencia sometida
a la antena transmisoraPtesta dada por:
Pr Pt =
GtGr
µ λ
4πd
¶2 (1.1)
siendoGtyGrlas ganancias de las antenas transmisora y receptora, d la distancia entre las
antenas yλla longitud de onda. En la ecuación 1.1 puede notarse que la potencia recibidaPr
depende principalmente de la distanciadentre el transmisor y el receptor.
Al operar en 2.4 Ghz, en condiciones ideales (espacio libre ofree space), la atenuación (path
loss) sobre una distancia de 100 m es de 80.2 dB para un dispositivo Bluetooth Clase 1 (100
mW de potencia transmitida) y de 76.23 dB para un dispositivo Bluetooth Clase 2 (2.5 mW). En
escenarios reales se producen mayores atenuaciones por los efectos descriptos anteriormente. En
cuanto a la capacidad de detección de vehículos, se ha demostrado estadísticamente[5] que si el
rango efectivo de detección es de 200 m (100 m en cada dirección), la probabilidad de hacer dos
detecciones de un vehículo asciende a 94 %. Sin embargo, a medida que disminuye el rango efectivo
de un dispositivo sensor, la probabilidad de hacer una detección se verá altamente influenciada
por la velocidad del vehículo, resultando en mayor cantidad de vehículos no detectados.
En este trabajo se realizaron pruebas de campo con un vehículo con tecnología Bluetooth para
caracterizar experimentalmente la pérdida de señal. La Figura 1.9 muestra la comparación entre
una aproximación exponencial de los datos capturados y la pérdida de señal según el modelo
de Friis. Naturalmente, la atenuación experimentada es mayor al modelo teórico debido a la
ubicación del dispositivo Bluetooth en el interior del vehículo.
1.4
Objetivo
El objetivo es desarrollar un método de estimación de la red de tráfico a partir de información
CAPÍTULO 1. INTRODUCCIÓN
Figura 1.9: Comparación entre la ecuación de transmisión de Friis para un dispositivo transmisor Bluetooth Clase 2 con antena iso-trópica dirigido a un receptor de antena 3 dBi, y una aproximación exponencial a partir de datos capturados por experimentación.
la red, los cuales pueden tener una aplicación específica para informar su posición (modo activo),
o se puede considerar el registro de su posición a través de la detección de las señales Bluetooth
(modo pasivo). Además, el método permitirá conocer el tiempo de viaje promedio dentro de la
red y, para evaluar el sistema con un método de simulación, se deberá caracterizar la señal de
radiofrecuencia de los dispositivos inalámbricos aplicando métodos de estimación de densidad
de probabilidades, lo cual será detallado en el apartado 4.4.7. Finalmente, debido al alto costo
que involucra plantear toda esta metodología en un caso real, se construirá una plataforma de
simulación que permita evaluar los algoritmos desarrollados.
1.5
Organización del documento
El trabajo se estructura en 6 capítulos. En el capítulo 1 se presentó una breve introducción a
la problemática en relación al tráfico vehicular, sus desafíos y un análisis de la situación actual en
el país y el mundo. También se mencionan trabajos relacionados y los objetivos propuestos. En el
capítulo 2, a través de definiciones y ejemplos concretos, se detalla el marco teórico que da lugar
al Algoritmo de Viterbi, basado en Modelos Ocultos de Markov, una pieza fundamental del método
de estimación propuesto. En el capítulo 3, se presentan los aspectos más importantes del método
desarrollado, introduciendo conceptos relacionados a la solución de la problemática utilizando el
Algoritmo de Viterbi (aplicado a tráfico vehicular). En el capítulo 4 se presentan los detalles de
una plataforma para la estimación de tráfico vehicular, profundizando sobre una arquitectura
preliminar preparada para la incorporación de mecanismos de simulación. Además, se detalla
el método utilizado para caracterizar la señal de radiofrecuencia de dispositivos Bluetooth y
1.5. ORGANIZACIÓN DEL DOCUMENTO
cómo se utilizó para simular y detectar vehículos en viaje. En el capítulo 5 se realiza un análisis
exhaustivo de los resultados de las estimaciones para GPS y Bluetooth, indicando la calidad de
las estimaciones. Finalmente, en el capítulo 6 se hace una reflexión sobre el método desarrollado y
los resultados obtenidos de los datos analizados, mencionando posibles mejoras y trabajos futuros.
En el apéndice se incluyen gráficos y diagramas completos de la arquitectura y los procesos
C
A
P
Í
T
U
L
O
2
M
ARCOT
EÓRICOA
continuación se introducen los conceptos y características de los modelos de Markov, seguido de la especialización en modelos ocultos, utilizados para modelar una red detráfico. Finalmente, se presenta el algoritmo de Viterbi, fundamental para el método
de estimación desarrollado. Los temas abordados son acompañados por ejemplos concretos que
explican la aplicación de los modelos descritos.
2.1
Cadenas de Markov
2.1.1 Reseña
Un proceso o sucesión de eventos que se desarrolla en el tiempo en el cual el resultado en
cualquier etapa contiene algún elemento que depende del azar se denomina proceso aleatorio o
proceso estocástico. Por ejemplo, la sucesión podría ser las condiciones del tiempo en Paraná en
una serie de días consecutivos: el tiempo cambia día a día de una manera que en apariencia es
algo aleatoria. O bien, la sucesión podría consistir en los precios de las acciones que cotizan en la
bolsa en donde otra vez interviene cierto grado de aleatoriedad. Un ejemplo simple de un proceso
estocástico es una sucesión de ensayos de Bernoulli, por ejemplo, una sucesión de lanzamientos
de una moneda. En este caso, el resultado en cualquier etapa es independiente de todos los
resultados previos (esta condición de independencia es parte de la definición de los ensayos de
Bernoulli). Sin embargo, en la mayoría de los procesos estocásticos, cada resultado depende de lo
que sucedió en etapas anteriores del proceso. Por ejemplo, el tiempo en un día determinado no es
aleatorio por completo sino que es afectado en cierto grado por el tiempo de días previos. El precio
de una acción al cierre de cualquier día depende en cierta medida del comportamiento de la bolsa
CAPÍTULO 2. MARCO TEÓRICO
otros, ocurre cuando el resultado en cada etapa sólo depende del resultado de la etapa anterior y
no de cualquiera de los resultados previos. Tal proceso se denomina proceso de Markov o cadena
de Markov (una cadena de eventos, cada evento ligado al precedente). Estas cadenas reciben su
nombre del matemático ruso Andrei Andreevitch Markov (1856-1922). Como mencionamos antes,
estas cadenas tienen memoria, recuerdan el último evento y eso condiciona las posibilidades de
los eventos futuros. Esto justamente las distingue de una serie de eventos independientes como el
hecho de tirar una moneda. Este tipo de proceso presenta una forma de dependencia simple, pero
muy útil en muchos modelos, entre las variables aleatorias que forman un proceso estocástico. Se
utilizan, por ejemplo, en frameworks para diseñar y resolver problemas de decisión [8], para la
medición de fiabilidad y rendimiento de sistemas de software [20], entre otros.
2.1.2 Definición
Una cadena de Markov es una sucesión de ensayos similares u observaciones en la cual cada
ensayo tiene el mismo número finito de resultados posibles y en donde la probabilidad de cada
resultado para un ensayo dado depende sólo del resultado del ensayo inmediatamente precedente
y no de cualquier resultado previo.
2.1.3 Propiedad de Markov
Dada una secuencia de variables aleatoriasX1,X2,X3, ...,Xn
Figura 2.1: Secuencia de variables aleatorias
tales que el valor deXnes el estado del proceso en el tiempon. Si la distribución de
probabili-dad condicional deXn+1en estados pasados es una función deXn por sí sola, entonces:
P(Xn+1=xn+1|Xn=xn,Xn−1=xn−1, ...,X2=x2,X1=x1)=P(Nn+1=xn+1|Xn=xn)
Donde xi es el estado del proceso en el instante t=i. Esta identidad es la denominada
propiedad de Markov: El estado ent=i+1 sólo depende del estado ent=iy no de la evolución
anterior del sistema.
Si un estado depende de otro además del inmediatamente anterior, este es un proceso de
Markov de un orden mayor a uno. Por ejemplo, un proceso de segundo orden describe un proceso
en el cual el estado depende de los dos estados anteriores. Los procesos de Markov también se les
llama Cadenas de Markov.
2.1. CADENAS DE MARKOV
Matriz de Transición
Consideremos un proceso de Markov en que el sistema posee N estados posibles, dados por los
números 1, 2, 3, ..., N. Denotemosai ja la probabilidad de que el sistema pase al estado jdespués
de cualquier ensayo en donde su estado era iantes del ensayo. Los númerosai jse denominan
probabilidades de transición y la matriz A=ai j (N×N) se conoce como matriz de transición del
sistema.
Observaciones sobre la Matriz de Transición
1. La sumaai1+ai2+...+aiN=1. Esta suma representa la probabilidad de que el sistema
pase a uno de los estados 1, 2, ..., N dado que empieza en el estadoi. Ya que el sistema ha de
estar en uno de estos N estados, la suma de probabilidades debe ser igual a 1. Esto significa
que los elementos en cualquier columna de la matriz de transición deben sumar 1.
2. Cada elementoai j≥0
Representación gráfica
Figura 2.2: Representación gráfica de un sistema de dos estados: dado justo y dado cargado
A modo de ejemplo, consideremos el siguiente caso: Un casino deshonesto tiene dos dados,
uno justo y otro cargado. El casino alterna entre los dados con cierta frecuencia. En la Figura
2.2 se observa un gráfico de la representación en un grafo de las transiciones con sus respectivos
valores de probabilidad. Los círculos se corresponden con estados y los arcos, los cuales poseen
dirección, son las direcciones de posibles transiciones. Cabe destacar también que debe cumplir
con las observaciones mencionadas anteriormente.
2.1.4 Aplicación
Las cadenas de Markov proporcionan un sistema muy útil para crear e implementar un
proceso de toma de decisiones que permita evaluar posibles escenarios y se utiliza para predecir
con mayor exactitud comportamientos futuros. Estas tienen muchas aplicaciones en el mundo
CAPÍTULO 2. MARCO TEÓRICO
y un largo etcétera. Algunos ejemplos puntuales de aplicaciones son algoritmos de
posiciona-miento web[4] (en este caso la cadena de Markov puede ser utilizada para hacer predicciones
futuras de navegación para los usuarios individuales); modelos financieros para optimización de
acciones[42]; análisis de juegos como el béisbol; señal y procesamiento de imágenes[9];
reconoci-miento de imágenes[9]; reconocireconoci-mientos de patrones [9]; seguros de vida y diversas aplicaciones
en marketing[12].
2.2
Modelos Ocultos de Markov
2.2.1 Reseña
Un modelo oculto de Markov (o HMM por sus siglas en inglés) es la representación de un
proceso estocástico que consta de dos mecanismos interrelacionados: una cadena de Markov de
primer orden subyacente, con un número finito de estados, y un conjunto de funciones aleatorias,
cada una de las cuales está asociada a un estado. En un instante discreto de tiempo se supone
que el proceso está en un estado determinado y que genera una observación mediante la función
aleatoria asociada. Al instante siguiente, la cadena subyacente de Markov cambia de estado
siguiendo su matriz de probabilidades de transición entre estados, produciendo una nueva
obser-vación mediante la función aleatoria correspondiente. El observador externo sólo “ve” la salida
de las funciones aleatorias asociadas a cada estado, siendo incapaz de observar directamente la
secuencia de estados de la cadena de Markov. De ahí el nombre de modelo oculto.
2.2.2 Definición
Un modelo oculto de Markov queda, entonces, caracterizado por los siguientes elementos:
1. El conjunto finito de N estados de la cadena de Markov de primer orden. Aunque los estados
están ocultos, en muchas aplicaciones prácticas éstos tienen un significado físico que es
preciso considerar. Se denotará comoS={Si}i=1...N a este conjunto de estados y al estado
en el tiempotcomoqt.
2. El conjunto de probabilidades de transición entre estados. Denotando los instantes de
tiempo regularmente espaciados asociados a los cambios de estados comot=1, 2, ..., T. Una
descripción probabilística completa de una cadena requeriría, en general, especificaciones
sobre el estado actual en el instante t y de todos los estados predecesores. Para el caso
especial de una cadena de Markov de primer orden, esta descripción probabilística se trunca
en el estado actual y el último predecesor, es decir,
P(qt=Sj|qt−1=Si,qt−2=Sk, ...)=P(qt=Sj|qt−1=Si)
Además, se considera que esta última probabilidad es independiente del tiempo (propiedad
de homogeneidad temporal), lo cual da lugar a un conjunto de probabilidades de transición entre
2.2. MODELOS OCULTOS DE MARKOV
estados que se denotará con una matriz A={ai j}i,j = 1 ... N, donde
ai j=P(qt=Sj|qt−1=Si) i, j = 1, ... ,N
Este conjunto de probabilidades determinará la topología del modelo. Así, para un modelo en
que cada estado puede ser alcanzado desde cualquier otro en un sólo paso,ai,j>0 i, j=1, ... , N.
En general, los modelos pueden tenerai j=0 para una o más parejas de valores (i,j). En cualquier
caso deben verificar
N X
j=1
ai j=1 i=1, ... , N (2.1)
ai j≥0 i,j=1, ... , N (2.2)
3) La distribución de probabilidad de estados iniciales, que se denotará como {πi}i=1,...,N,
definida de la forma
πi=P(q1=Si) i=1, ... , N (2.3)
Siendoq1el estado ent=1
Como tales probabilidades, también deben verificar
N X
i=1
πi=1 i=1, ... , N (2.4)
πi≥0 i=1, ... , N (2.5)
4) Las probabilidades de generación de observaciones, que caracterizan el proceso asociado a
cada uno de los estados del modelo y que se denotará como B={bj(Ot)} j=1, ... , N, con
bj(Ot)=P(Ot|qt=Sj) j=1, ... , N (2.6)
en donde Otrepresenta el valor de la observación en el instantet, correspondiente a la
secuen-cia de observaciones O={Ot}t=i, ... , T. Se supone que el proceso de generación de observaciones
es independiente del tiempo y que únicamente depende del estado actual del modelo. Hay que
hacer notar que en algunas variantes de modelos ocultos de Markov estas probabilidades de
observación están asociadas a las transiciones, en lugar de a los estados.
De esta forma el modelo HMM queda definido por la especificación de los conjuntosπ, A y B,
que implícitamente fijan el valor de N. Por ello, se suele utilizar la notación compacta
λ=(π, A, B)
para referirse a un determinado modeloλ.
Una representación esquemática de un modelo oculto de Markov de dos estados ergódicos (con
CAPÍTULO 2. MARCO TEÓRICO
Figura 2.3: Secuencia de variables aleatorias con emisión de símbolos ot=Ok
Aquí, los estados “dado justo” y “dado cargado”, se corresponden a los valores que puede tomar la
variable ocultaqt(no observables directamente) en el instante de tiempo t. Otes el valor de un
dado arrojado en el mismo instante t. En este caso, los valores 1-6 forman el conjunto de posibles
valores observables (6 símbolos posibles). A modo de ejemplo, se expresan las probabilidades de
arrojar cada valor según el dado, o bien,P(Ot|qt=Sj), j = {dadojusto, dadocargado}, equiprobables
para el dado justo y mayor probabilidad para el valor “6”, en el dado cargado. De la Figura 2.4
queda claro que el valor de la variable observada sólo depende del valor de la variable oculta
(ambas en el instante t).
Figura 2.4: Modelo Oculto de Markov del casino deshonesto
La naturaleza de las probabilidades de generación de observaciones de cada estadobj(Ot) es
la diferencia fundamental entre los distintos tipos de modelos. En los llamados modelos discretos
(DHMM), estas probabilidades están representadas a través de distribuciones de probabilidad
2.2. MODELOS OCULTOS DE MARKOV
discretas, ya que las observaciones Ottoman valores dentro de un conjunto discreto y finito de
símbolos llamado alfabeto V=vk k=1, ... , M, siendo M el tamaño del alfabeto. Las probabilidades
de observación forman, pues, un conjunto que se denota como una matriz B={bj(k)} j=1, ... , N;
k=1, ... , M, donde
bj(k)=P(vkent|qt=Sj) j = 1,... , N k=1,... , M (2.7)
Por ser probabilidades estos parámetros deben verificar
N X
j=1
bj(k)=1 k=1, ... , M (2.8)
bj(k)≥0 k=1, ... , M j=1, ... , N (2.9)
En los modelos continuos (CHMM), las probabilidades de observación están representadas a
través de funciones de densidad de probabilidad multivariadas, ya que las observaciones toman
valores dentro de un espacio continuo multidimensional.
2.2.3 Problemas en HMM
Una vez definido el modelo para un determinado proceso, surgen tres problemas básicos de
interés que deben resolverse de cara a posibles aplicaciones prácticas:
Problema de evaluación Dada una secuencia de observaciones O={Ot}t=1, ... , T y un modelo λ=(π,A,B), cómo evaluar eficientementeP(O|λ), la probabilidad de la secuencia de obser-vación dado el modelo. Esta probabilidad se puede utilizar para clasificar las secuencias de
observación.
Problema de entrenamiento Dada una secuencia de observaciones O={Ot}t=1, ... , T cómo
ajustar los parámetros del modeloλ=(π,A,B) de forma que se maximiceP(O|λ), la
proba-bilidad de generación de dicha secuencia por el modelo. Su solución permite desarrollar un
método para obtener los parámetros de un modelo en base a secuencias de observaciones
que se pretenden modelar.
Problema de decodificación Dada una secuencia de observaciones O={Ot}t=1, ... , T y un modeloλ=(π,A,B), cómo elegir la correspondiente secuencia de estadosQ={qt}t=1, ... , T
que es óptima en algún sentido, que mejor “explica” las observaciones. Su solución permite
obtener información sobre el proceso oculto, por ejemplo, el significado de los estados del
modelo.
2.2.4 Aplicación
El concepto de HMM fue aplicado inicialmente en el campo del reconocimiento automático
CAPÍTULO 2. MARCO TEÓRICO
aplicación en diversas disciplinas, como el análisis de imágenes[1] o la psicología [40], destacando
su uso creciente en bioinformática, donde los HMM están ya bien establecidos[6, 40], y en el
análisis de electroencefalogramas y otras bioseñales[30, 32]. Como el área de aplicación es
inmensa solo describiremos unos pocos usos con la finalidad de tener una visión clara del futuro
de los HMM.
En lo que respecta a la bioinformática y su relación con los modelos ocultos de Markov, la
utilización de los mismos como modelos de perfil fue introducida por Krogh et al. a mediados de
los ’90 [18]. Algunos ejemplos del uso de HMM en el campo de la biología son el descubrimiento
de genes, el mapeo de ligamientos genéticos y la predicción de estructura secundaria. La idea de
usar perfiles HMM para la búsqueda en bases de datos es comparar una secuencia con un modelo
estadístico que describe una familia o patrón de secuencias al contrario de la simple comparación
de partes individuales de dos secuencias. Además, comparando una secuencia con un modelo
estadístico se puede obtener información extra.
Por otro lado, en lo que respecta al reconocimiento de voz mediante los modelos ocultos de
Markov se sabe que debido a la inercia inherente a los órganos articulatorios, es posible suponer
que las características de la señal no varían demasiado en un intervalo corto de tiempo, por lo que
es posible realizar un análisis espectral sobre segmentos de señal de esta duración temporal. En
los sistemas de reconocimiento de voz mediante técnicas de comparación de patrones se aborda el
proceso de reconocimiento sin realizar un modelado de la evolución temporal de esta secuencia de
espectros. Los patrones de referencia y de test consisten simplemente en secuencias de espectros
y el proceso de comparación se limita a calcular la distancia acumulada entre dichos patrones a
lo largo del camino óptimo dado por un algoritmo. En los sistemas basados en modelos ocultos de
Markov, se modela la evolución temporal de la secuencia de espectros obtenida de la señal de voz
mediante un HMM con el fin de contemplar las diversas fuentes de variabilidad de la señal. Este
modelado consiste en la asociación de los estados del HMM a los diferentes tramos de la señal, de
forma que las probabilidades de generación de observaciones modelan la variabilidad estadística
de las características espectrales de cada tramo, mientras que las probabilidades de transición
modelan su secuenciamiento y duración.
2.3
Algoritmo de Viterbi
El problema de decodificación, el cual se basa en un modelo de Markov y una secuencia
de observaciones, sobre las cuales debe determinar cuál es la secuencia de estados que mejor
la explica, puede ser resuelto calculando todas las combinaciones posiblesQ={qt}t=1, ... , T,
eligiendo la de máxima probabilidad. Se calcula, para cada combinaciónQ:
P(Q,O|λ)=πq1bq1(O1)aq1q2bq2(O2)...aqT−1qTbqT(OT)
(2.10)
Dondeπes un vector que denota el estado inicial que se considera, Otlas observaciones en los
tiempos dados y bqt(Ot) que es el valor de la probabilidad de observar Otcuando se está en el
2.3. ALGORITMO DE VITERBI
estadoqen el tiempo t. En el caso de ejemplo (el casino deshonesto), la observación con la que
contamos, o bien, los estados “observables”, es la secuencia de valores de los dados arrojados. Lo
que podremos estimar es, qué partes de la secuencia fueron generadas por un dado justo y qué
partes con el dado cargado. Esto mismo podremos verlo en mayor detalle más adelante, junto al
ejemplo aplicado.
Existen métodos más eficientes basados en recursión como el algoritmo de Viterbi. Este mismo
permite encontrar las secuencias de estados más probables en un modelo oculto de Markov a
partir de una observación, es decir, obtiene la secuencia óptima que mejor “explica” la secuencia
de observaciones. Cabe mencionar que el algoritmo de Viterbi es de programación dinámica, si
esto no fuera así y fuera iterativo la complejidad sería demasiado grande.
2.3.1 Reseña
Para encontrar la secuencia de estadosQ=qtt=1, ... , T dada una secuencia de observaciones
O={Ot}t=1, ... , T se define la variable
δt(i)=maxq1,q2,...,qt{P(q1q2...qt=i, O1O2...Ot|λ)}
(2.11)
Considerando lo expuesto anteriormente, en primer lugar definimos la probabilidad parcialδ,
que es la probabilidad de alcanzar un estado intermedio particular. Para cada estado intermedio
y terminal, hay un camino más probable a ese estado. Llamaremos a estos caminos los “mejores
caminos parciales”. Cada uno de estos mejores caminos parciales tiene una probabilidad asociada,
la probabilidad parcial oδ. Entonces,δ(i,t) es la probabilidad máxima entre todas las secuencias
que terminan en el estado i en el tiempo t, y el mejor camino parcial es la secuencia que alcanza
esta probabilidad máxima. Tal probabilidad (y camino parcial) existen para cada estado i y tiempo
t.
Por inducción, se define:
δt+1(j)=maxi{δt(i)ai j}bj(Ot+1) (2.12)
Para recuperar la secuencia de estados de probabilidad máxima es necesario almacenar los
valores del argumento que maximizan la ecuación anterior, para cada t y j. Para ello se utiliza
la matrizψt(j). En la misma se van almacenando los valores calculados con la ecuación 2.12,
para que luego de finalizar con todos los cálculos poder determinar cuál es la secuencia óptima de
estados que mejor explique las observaciones dados los valores almacenados en la matriz.
2.3.2 Algoritmo
El algoritmo de Viterbi cuenta con los pasos descritos en el algoritmo (1).
Hay que destacar que en este caso no se consideran todas las transiciones hasta cada estado,
CAPÍTULO 2. MARCO TEÓRICO
Algorithm 1Algoritmo de Viterbi
1: procedureVITERBI 2: 1) Inicialización:
3: δ1(i)←πibi(O1) .i = 1,...,N
4: ψ1(i)←0 5: 2) Recursión:
6: δt(j)←maxi=1,...,N{δt−1(i)ai j}bj(Ot) .t = 2,...,T y j=1,...,N 7: ψt(j)←ar gmaxi=1,...,N{δt−1(i)ai j} .t = 2,...,T y j=1,...,N 8: 3) Terminación:
9: P∗=maxi=1,...,N{δT(i)} 10: q∗
T=ar gmaxi=1,...,N{δT(i)}
11: 4) Recursión para obtener la secuencia de estados:
12: q∗t =ψt+1(q∗t+1) .t = T-1, T-2,...,1
El algoritmo de Viterbi no se utiliza tan sólo para determinar la secuencia de estados óptima,
sino también para determinar la probabilidad de una secuencia de observaciones por el camino
óptimo.
2.3.3 Ejemplo: El casino deshonesto
A partir del modelo del casino deshonesto y una secuencia de dados arrojados como la
siguiente, veremos cómo hallar la secuencia de estados de máxima probabilidad:
3 6 4
Consideraremosπ={12,12}como vector de probabilidades iniciales. La siguiente tabla resume
los cálculos de cada secuencia posibleQ={i1,i2,i3}.
i1 i2 i3 P(Q,O)
Cargado Cargado Cargado πCbC(3)aCCbC(6)aCCbC(4)=0.000278 Cargado Cargado Justo πCbC(3)aCCbC(6)aC JbJ(4)=0.000926 Cargado Justo Cargado πCbC(3)aC JbJ(6)aJCbC(4)=0.000139 Cargado Justo Justo πCbC(3)aC JbJ(6)aJ JbJ(4)=0.000694 Justo Cargado Cargado πJbJ(3)aCCbC(6)aCCbC(4)=0.000347 Justo Cargado Justo πJbJ(3)aCCbC(6)aC JbJ(4)=0.001157 Justo Justo Cargado πJbJ(3)aC JbJ(6)aJCbC(4)=0.000260 Justo Justo Justo πJbJ(3)aC JbJ(6)aJ JbJ(4)=0.001302
Cuadro 2.1: Resumen del cálculo de P(Q,O) para las combinaciones posibles dei1,i2,i3
La complejidad del problema crece exponencialmente con la longitud de la secuencia de
observaciones (T) en el orden O(2T NT), donde N es la cantidad de estados y hay NTsecuencias
de estados posibles. A continuación se muestra la solución por el algoritmo de Viterbi:
1. Inicialización
2.3. ALGORITMO DE VITERBI
OBSERVACIONES O1=3
ESTADOS δ1(Car gado) πCar gadobCar gado(3)=0.05 δ1(J usto) πJ ustobJ usto(3)=0.083
Cuadro 2.2: Primer paso del algoritmo de Viterbi.δ1(i) con observación O1=3
ψ1(i)=0
2. Recursión
a) δ2(i),ψ2(i)
OBSERVACIONES
O1=3 Transición O2=6 δ1(C)aCC=0.0166
δ2(Car gado) δ1(Car gado)=0.05
δ1(J)aJC=0.02075 δ1
(J)aJCbC(6)=0.010375
δ1(C)aC J=0.0333
EST
ADOS
δ2(J usto) δ1(J usto)=0.083 δ
1(J)aJ J=0.06225 δ1
(J)aJ JbJ(6)=0.010375
Cuadro 2.3: Primer iteración del paso 2.δ2(i) con observación O2=6
O2=6 O3=4 ψ2(Car gado) Justo ...
ψ2(J usto) Justo ...
Cuadro 2.4:ψ2(i)
b) δ3(i),ψ3(i)
OBSERVACIONES
O2=6 Transición O3=4 δ2(C)aCC=0.00345
δ3(Car gado) δ2(C)=0.010375 δ
2(J)aJC=0.00259 δ2
(C)aCCbC(4)=0.000345
δ2(C)aC J=0.00691
EST
ADOS
δ3(J usto) δ2(J)=0.010375
δ2(J)aJ J=0.00778 δ2
(J)aJ JbJ(4)=0.00129
Cuadro 2.5: Segunda iteración del paso 2.δ3(i) con observación O3=4
O2=6 O3=4 ψ3(Car gado) Justo Cargado
ψ3(J usto) Justo Justo
Cuadro 2.6:ψ3(i)
CAPÍTULO 2. MARCO TEÓRICO
P∗=m ´axi
=1,...,N{δT(i)}=m ´ax{δ3(Car gado),δ3(J usto)}=δ3(J usto)=0.00129
q∗3=arg maxi=1,...,N{δ3(i)}=J usto
4. Recursión final
q∗t =Ψt+1(qt∗+1) t=T−1,T−2, ..., 1
q∗3 q∗2 q∗1
Justo (Paso 3) Ψ3(q∗
3)=Ψ3(J usto)=J usto Ψ2(q∗2)=Ψ2(J usto)=J usto
Cuadro 2.7: Búsqueda recursiva del camino que llevó a la secuencia de estados de prob. máxima
El algoritmo estima que los estados más probables son {q∗
1,q∗2,q∗3}={J usto,J usto,J usto}. Es decir, en las tres observaciones: 3,6,4 es más probable que se haya utilizado el dado justo.
La complejidad temporal de este algoritmo esO(K2N)y la complejidad espacial esO(KN)
siendo K el número de estados y N los diferentes valores.
C
A
P
Í
T
U
L
O
3
E
STIMACIÓN DEL TIEMPO DE VIAJEA fin de definir el problema es necesario introducir los siguientes componentes:
Una red espacial digitales un grafoG<V,E>dondeV es un conjunto de vértices yE un
conjunto de arcos. Cada arco tiene las propiedades: vértices, longitud, dirección. Adicionalmente,
una red tiene propiedades relacionadas al tránsito, como restricciones de giro, límites de velocidad,
información de semáforos, etc.
Un conjunto de datos de localizaciónconsiste de: (a) latitud, (b) longitud, (c) tiempo del muestreo, (d) identificación del dispositivo. La ubicación reportada por un dispositivo es también
llamada sonda. Una secuencia de sondas provenientes de un mismo vehículo se denota por P =p1,p2, ...,pt−1.
Una trayectoria reales una secuencia de arcos que representan el camino real atravesado
por un vehículo a medida que se generan las observaciones P. Es denotada por T y no es
considerada en el contexto de map-matching (excepto como datos ground truth).
Una trayectoria observada es una secuencia de segmentos de línea recta, tal que cada
línea conecta dos posiciones observadas consecutivas.
El problema es entonces definido como: buscar la secuencia de arcos más probable (τo pt) para
una secuencia de observacionesP y una red espacial digitalG:
τo pt=ar gm ´ax
τ P(τ=T|P,G)
dondeP(τ=T|P,G) es la probabilidad serτla verdadera trayectoria dadoP yG.
3.1
Estimación de la trayectoria
Asumiendo que un dispositivo viaja a través de una red espacial de calles o caminos, el
CAPÍTULO 3. ESTIMACIÓN DEL TIEMPO DE VIAJE
transmisiones de cada dispositivo. Esta tarea presenta los siguientes desafíos:
Consumo de energía:En este caso se considerará la dispersión espacial de detecciones, es
decir, es deseable partir de observaciones que se realizan con baja periodicidad, ya que una alta
periodicidad en las transmisiones implica mayor consumo energético del dispositivo. Esto hace
que métodos estándar basados en triangulación no sean aptos.
Muestras de baja precisión:Incluso cuando el consumo de energía no es una preocupación, los sensores GPS no siempre están disponibles. Algunos celulares usan WiFi y la señal de celular
para el posicionamiento, siendo este de menor calidad. Incluso las experiencias con GPS pueden
no ser las esperadas, por ejemplo, cuando el usuario se encuentra con el celular en el bolsillo
o está atravesando zonas de edificios de gran altura o túneles donde la precisión se reduce a
decenas o cientos de metros.
3.1.1 Solución trivial
Considere la siguiente solución:
Al realizar una observación, tomar la posición de menor distancia al
seg-mento de calle más cercano al origen de la transmisión. Interpolar las ubi-caciones entre observaciones.
En primer lugar, utilizar el segmento más cercano a cada posición frecuentemente no es el
segmento real por donde circula un vehículo. En segundo lugar, las variaciones en el muestreo
por error de los instrumentos de posicionamiento aumentan la complejidad en situaciones de
dispositivos estacionarios, donde pueden ocurrir observaciones intermitentes. En el algoritmo
planteado, esto se refleja como saltos entre las ubicaciones, ubicando las detecciones en posiciones
hacia delante y hacia atrás.
Por último, interpolar ubicaciones distantes por línea recta producen trayectorias de baja
calidad. El uso de una red espacial, como el mapa de una ciudad puede mejorar significativamente
el resultado, pero introduce ambigüedades en las rutas que deben ser resueltas. Utilizar el camino
más corto entre las muestras no es aplicable por la alta incertidumbre de la ubicación. Como
se sugiere en este ejemplo, soluciones por algoritmos determinísticos no se ajustan al problema,
debido a la naturaleza estocástica de las detecciones.
3.1.2 Algoritmo básico de estimación de trayectoria
A continuación se presenta un método probabilístico para la estimación de la trayectoria.
En lugar de asociar el segmento más cercano a una observación en cada instante de tiempo, se
modela la distribución de posibles ubicaciones a lo largo del tiempo, y se toma la trayectoria que
maximiza la probabilidad en el modelo.
Para reducir el conjunto de ubicaciones posibles y restricciones de movimiento, se asume que
el dispositivo viaja a través de una red espacial conocida. El modelo, tomado como entrada del
algoritmo, consiste en vértices localizados espacialmente, conectados por arcos dirigidos.
3.1. ESTIMACIÓN DE LA TRAYECTORIA
Dada la red espacial, el problema de estimación de trayectoria tiene cierta similitud con
map-matching, que busca coincidir una secuencia de observaciones escasas y ruidosas con una
serie de estimaciones de ubicación. Nuestro método está basado en map-matching de Viterbi.
Formulamos el problema usando Modelos Ocultos de Markov para estados, probabilidades
de transición y probabilidades de emisión, utilizando decodificación por el algoritmo de Viterbi
para determinar la trayectoria más probable, representada por una secuencia de estados ocultos
en el Modelo de Markov. Utilizado en conjunto con el algoritmo de Viterbi, un Modelo Oculto de
Markov espera una entrada periódica y produce una transición de estadosi→jpor período. Las
transiciones son regidas por probabilidades de transición p(i→j), y probabilidades de emisión
p(obs|i), dondeobses la observación actual. Las auto-transiciones son permitidas. A continuación
se describe en detalle la formulación de los Modelos Ocultos de Markov.
3.1.3 Modelos ocultos: Segmentos de calles
Un mapa de calles simple consiste de vértices representando las intersecciones, arcos
repre-sentando los segmento de una calle, y (mayormente para vehículos) restricciones de giro que
determinan las transiciones permitidas entre arcos.
Nuestro modelo debe ser capaz de reconocer el trayecto más probable segundo a segundo
siendo este un trayecto válido. Para esto, es necesario contar con estados de extensión espacial
significativamente menor al segmento de una calle o cuadra, las cuales pueden superar los cientos
de metros (Figura 3.1).
Figura 3.1: Modelo oculto de Markov de dos calles inter-sectadas. Los segmentos son sub-divididos para aumentar la granuralidad
Cada estado representa un área rectangular en la cual puede estar ubicado un emisor GPS.
Una calle puede ser atravesada pasando por todos los segmentos, sin saltos entre segmentos no
CAPÍTULO 3. ESTIMACIÓN DEL TIEMPO DE VIAJE
De esta forma definimosG0=<V0,E0>como un nuevo grafo compuesto por los segmentos,
con estados como vértices y transiciones basadas en las restricciones de giro como arcos.
3.1.4 Probabilidades de transición
Las probabilidades de transición reflejan los siguientes conceptos: 1) Para un segmento dado,
existe una probabilidad de que en el siguiente instante, el vehículo se encuentre en ese mismo
segmento. 2) Un vehículo puede viajar solo del final de un segmento al comienzo del siguiente si
usa la misma intersección; esto asegura que el camino de segmentos saliente sea contínuo. 3) Un
vehículo no puede viajar irrazonablemente rápido en cualquier segmento. En otras palabras, las
transiciones modelan el comportamiento en las intersecciones: continuando o girando. Se usan
probabilidades uniformes entre segmentos adyacentes. Por lo tanto, para cada segmento i, con
segmentos adyacentes n∈N, p(i→i)=p(i→n)=|N1|+1. Todas las restricciones, incluyendo las permitidas y las prohibidas, son contadas en los segmentos adyacentes.
3.1.5 Probabilidades de emisión
Describe la probabilidad p(obs|s) de hacer una observaciónobsen el estado actuals.
Una observaciónobsconsiste en un nuevo punto pi (lat,lng) de la trayectoriaP. Para cada
segmento candidaton∈Nse modela la probabilidad de emisión como una función de distribución
normal que depende de la distancia del segmento a la observaciónpi. Concretamente, la densidad
de probabilidad de emisión para el segmentoicon la observación pesN(dist(i,p)), donde N es
una función Gaussiana bivariada con media en el centro del segmento, y dist(i,p) es la distancia
Euclideana entre i y p. La varianza de N depende del tipo de sensor (A-GPS/WiFi/Celular).
Se toma como referencia un error de 10 metros (medido en estudios previos sobre precisión de
sistemas de posicionamiento en dispositivos móviles [24]). Este modelo representa el concepto de
que es probable que un punto particular haya sido observado desde un segmento próximo, pero
no necesariamente el más cercano.
Adicionalmente, se introducen dos métodos que permiten calcularp(obs|s) considerando a
cada segmento como un punto (método 1), o como una superficie (método 2). Se utiliza la ecuación
(3.1) que describe valores bajos al aumentar las distancias.
p(obs|s)= e
−d((x,y);Xj)2
P
k=1
e−d((x,y);Xk)2
(3.1)
3.1.5.1 Método 1
Para cada observación pise calcula la distancia entre cada segmento y la observación. La
ubicación del segmento se corresponde con el centroide de la superficie que lo define. Se aplica
3.1. ESTIMACIÓN DE LA TRAYECTORIA
un factor de corrección sobre la distancia para escalar los valores pequeños provenientes de las
distancias geodésicas expresadas en Km. El valor que se devuelve esp(obs|s)
Algorithm 2Método 1
1: procedurePROBABILITY(pi) 2: pow←e−d istancia(pi,centroid e)2
3: for eachs∈S do .Normalización
4: norm←norm+e−d istancia(pi,s)2
5: returnpow/norm
3.1.5.2 Método 2
A diferencia del método 1, se considera la superficie del segmento en el cálculo de pow.
Se calcula la suma de e−d2 sobre el área de cada segmento. Se aproxima sobre la superficie
dividida en intervalos pequeños con una separación (δx,δy), mas precisamente, la décima parte
del tamaño de cada segmento en x e y
Algorithm 3Método 2
1: procedurePOW(pi,s)
2: forx←xM in;x<xMax;x+δxdo
3: fory←yM in;y<yMax;y+δydo
4: centroid e←P oint(x,y)
5: pow←pow+e−d istancia(pi,centroid e)2
6: returnpow
3.1.6 Algoritmo de Viterbi
Dado un HMM y un conjunto de observaciones obs, se extrae la trayectoria que maximiza la
probabilidad de las observaciones en el modelo. El Modelo Oculto de Markov estará definido por
los estados, el vector de probabilidades inicialesπipara cada estado, la matriz de probabilidades
de transición a, y un vector de funciones de distribución de probabilidades de observaciones
o pd f s.
πValores de probabilidad inicial,πi es la probabilidad inicial del estadoi.
aUn arreglo de probabilidades de transición de estados.ai j es la probabilidad de ir desde el estadoial estado j.
opdfs Son las distribuciones de observación, o pd f s[i] es la distribución de observación asociada al estado i.
Serán tantos estados como segmentos existan en la red espacial definidaG0. Para construir el modelo, se itera sobre los segmentos definidos enG0 y se crea un estado para cada segmento, con
CAPÍTULO 3. ESTIMACIÓN DEL TIEMPO DE VIAJE
Una distribucióno pd f está dada por una función de distribución normal bivariada con media
en el centroide del segmento s, µ=(av g(l on gitud),av g(latitud)) y la matriz identidad como
matriz de covarianza. Ai j estará dado por (dmax1+1), donde dmax es el grado máximo saliente paras, incluyendo la auto-transición de cada estado. En la Figura 3.2 se ejemplifica la función
de distribución para un segmento s0 con centroide µ0=(a,b). Se observa la variación de la probabilidad p(obs|s0) en función de la distancia respecto aµ0. Los métodos 1 y 2 definidos en la
sección 3.1.5 se presentan como alternativas a la función de distribución normal bivariada.
Figura 3.2: Función de densidad de probabilidades bidimensional.
La decodificación por Viterbi es una técnica de programación dinámica para buscar la
se-cuencia de estados ocultos más probable dado un conjunto de observables y la distribución de
probabilidades de emisión y probabilidades de transición. En nuestro caso, los estados ocultos se
corresponden con la trayectoria recorrida, y los observables son las muestras de posición.
3.1.6.1 Ejemplo HMM
En la Figura 3.3 se muestra un ejemplo donde S1, S2, y S3 son segmentos de calle y p1, p2,
p3, y p4 son observaciones realizadas. Hay igual probabilidad de hacer una transición desde S1 a
S1, S2, o S3. Como la función de densidad de probabilidad de emisión es una función decreciente
de la distancia, la secuencia de segmentos más probable para la secuencia de observaciones dada
es S1, S3, S3, S3, y S3. Si bien p2 es más cercano a S2, el estado oculto más probable de ese punto
es S3 dadas las restricciones de transitividad. Si se toma el camino atravesando S2, no es posible
girar luego a S3.
Figura 3.3: Ejemplo de HMM