3.5 Servidor de configuración remota
3.5.1 Web de configuración
En primera medida se instaló un servidor web dentro del prototipo final para poder accederlo y manipularlo desde cualquier ubicación. Además, se agregaron funcionalidades tales como apagado, reinicio, renombre del sistema, configuración de la fecha, etc.
Figura 3.20: Web de Configuración - Inicio.
En la figura 3.20 se puede ver la página principal donde se encuentra el título de la tesis y los nombres de los desarrolladores y directores de la misma.
En la parte superior se encuentra un menú en el cual están las categorías “Configuración IP”, “Configuración Video”, “Configuración Dispositivo”, “Salida del Dispositivo”, “Repositorio Bluetooth” y en el margen derecho el nombre identificatorio.
En la pestaña “Configuración IP” correspondiente a la figura 3.21 se encuentran las siguientes configuraciones:
• IP actuales a las cuales se están reportando las detecciones Bluetooth, como la cantidad de vehículos contabilizados
Figura 3.21: Web de Configuración - Configuración IP.
• Frecuencias actuales en las que se está reportando al servidor
• Configurar las frecuencias en las cuales se realizan los reportes
• Activar y desactivar los reportes ya sean Bluetooth o de conteo vehicular
3.5. SERVIDOR DE CONFIGURACIÓN REMOTA
En “Configuración Video” correspondiente a la figura 3.22 se puede encontrar la configuración del umbral de detección. El cual se puede hacer para cada una de las imágenes, como así también se puede ver cuáles son sus valores actuales.
Figura 3.23: Web de Configuración - Configuración Dispositivo.
En “Configuración Dispositivo” correspondiente a la figura 3.23 están las configuraciones generales del sistema tales como:
• Visualizar Fecha y Hora actual del sistema
• Cambiar la Fecha y Hora del sistema
• Cambiar el nombre del sistema
• Activar servicios de Detección Bluetooth
• Activar servicios de Conteo Vehicular
• Acciones básicas del sistema como apagar y reiniciar el sistema
En la pestaña “Salida del Dispositivo” se muestra la salida de las herramientas y lo que se está reportando en tiempo real. Y finalmente, en “Repositorio Bluetooth” se listan con detalle los archivos de detecciones Bluetooth, los cuales se van creando y almacenando en el dispositivo cada determinada cantidad de tiempo.
3.5.2 Hardware
El servidor web debe contar con Apache, PHP5, MySQL y FFmpeg instalado. Las primeras 3 herramientas son para poder montar la página del dispositivo y la última para manipular las cámaras IP, entre otras cosas. Con respecto al hardware, con los dispositivos que se trabajaron cualquiera que sea de ellos es suficiente. Por lo tanto, no es necesario realizar una comparación de los mismos debido a que el hardware con el que cuenta el prototipo final es más que suficiente para poder realizarlo.
3.6
Utilización de datos
Los datos recabados con el prototipo final y la aplicación Android ahora podrán permitir estimar por ejemplo parámetros como tiempos de viaje. Esta estimación es parte de una tesis ajena con la cual se complementa, que fue desarrollada por Perez, Alejandro [36]. La misma tiene el objetivo de combinar los distintos métodos de posicionamiento GPS y Bluetooth para obtener una estimación de tiempos de viaje entre ubicaciones de una red espacial conocida.
Para realizar estas estimaciones a partir de muestras posicionales se requieren dos elementos: la diferencia de tiempo observada y la trayectoria realizada. La diferencia de tiempo entre dos puntos puede ser calculada directamente desde la brecha de tiempo observado tomado como la diferencia entre eltimestampde ambos. La trayectoria recorrida debe ser determinada con respecto a la red espacial correspondiente. Identificar una trayectoria puede ser trivial si los dos puntos se encuentran cercanos (en tiempo y espacio). De otro modo, se recurre a métodos más complejos para buscar la trayectoria más probable.
3.6.1 Estimación de trayectoria
Asumiendo que un dispositivo móvil que reporta posiciones GPS o un vehículo con Bluetooth incorporado que viaja a través de una red vehicular, el objetivo es generar una estimación segundo a segundo de su ubicación en base a los reportes o detecciones según corresponda.
Sin embargo, existen algunos obstáculos como el consumo de energía para los dispositivos móviles con GPS, debido a que se parte de una periodicidad baja de observaciones ya que de lo contrario implicaría un consumo energético mayor.
Por otro lado, si el problema del consumo no existiera, los sensores GPS no siempre están disponibles por lo que hacen uso del WiFi, 3G o 4G para reportar su posición, lo que implica una inyección de errores. Inclusive la experiencia del uso GPS puede no ser la esperada, por ejemplo, cuando el usuario se encuentra con el celular en el bolsillo o está atravesando zonas de edificios de gran altura, entre otros, donde la precisión se reduce notablemente.
Esto mismo sucede con las observaciones Bluetooth, donde la precisión de cada una para estimar las distancias desde donde se realizaron no son muy buenas de por sí ya que se manejan por niveles de señal.
3.6. UTILIZACIÓN DE DATOS
3.6.1.1 Viterbi
En lugar de asociar el segmento más cercano a una observación en cada instante de tiempo, como la solución más simple que se puede implementar, 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 o vehículo con Bluetooth 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.
Dada la red espacial, el problema de estimación de trayectoria tiene cierta similitud con
map-matching[40], que busca coincidir una secuencia de observaciones escasas y ruidosas con una serie de estimaciones de ubicación. El método está basado enmap-matchingde Viterbi.
Modelos ocultos de markov
Se formula el problema usando Modelos Ocultos de Markov [62] para estados, probabilidades de transición y probabilidades de emisión, y se utiliza la decodificación por el algoritmo de Viterbi [51] 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ónp(i→j), y probabilidades de emisión p(obs|i), dondeobses la observación actual. Las auto transiciones son permitidas.
Un mapa de calles simple consiste de vértices representando las intersecciones, arcos repre- sentando los segmentos de una calle, y restricciones de giro que determinan las transiciones permitidas entre arcos.
El 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 significa- tivamente menores al segmento de una calle o cuadra, los cuales pueden superar los cientos de metros.
Cada estado representa un área rectangular en la cual puede estar ubicado un teléfono o un vehículo, y una calle (segmento) puede ser atravesada pasando por todos los sub-segmentos en secuencia (los sub-segmentos se dividen para lograr una mayor granularidad).
Las probabilidades de transición por otro lado, modelan el comportamiento en las intersec- ciones: continuando o girando. Se usan probabilidades uniformes entre segmentos adyacentes. Todas las restricciones, incluyendo las permitidas y las prohibidas, son contadas en los segmentos adyacentes.
Las probabilidades de emisión describen la probabilidad p(obs|s) de hacer una observación
Figura 3.24: Modelo oculto de Markov de dos calles intersectadas.
la información del nivel de señal. Esta determina la distancia a la cual se encuentra el vehículo detectado.
Algoritmo Viterbi
Dado un HMM y un conjunto de observacionesobs, se extrae la trayectoria que maximiza la probabilidad de las observaciones en el modelo. El Modelo Oculto de Markov [49] estará definido por los estados, el vector de probabilidades inicialespi para 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.
piValores de probabilidad inicial,pi[i] es la probabilidad inicial del estadoi.
aUn arreglo de probabilidades de transición de estados.a[i][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 enG0y se crea un estado para cada segmento, con
probabilidad pi=cant(se gmentos1 ).
o pd f está dado 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 para s, incluyendo la auto-transición de cada estado.
La decodificación por Viterbi [57] es una técnica de programación dinámica para buscar la secuencia 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 este caso, los estados ocultos se corresponden con la trayectoria recorrida, y los observables son las muestras recolectadas.
3.6. UTILIZACIÓN DE DATOS
Flujo del algoritmo
• Para cada punto de una trayectoria observada, se computa la probabilidad de emisión para cada segmento candidato (estados ocultos), representados por los círculos vacíos en la figura 3.25. Mientras que la probabilidad de transición es asignada a cada estado incidente en el estado oculto.
• El algoritmo realiza backtracking sobre la cadena de Markov actualizada y arroja una solución parcial.
• El proceso anterior es repetido para el próximo punto de la trayectoria. El algoritmo termina cuando el último punto es alcanzado.
Figura 3.25: Diagrama de funcionamiento del algoritmo de Viterbi
3.6.2 Resultados
La evaluación del sistema se realizó con la herramienta SUMO (Simulation of Urban Movility) para simular la emisión tanto de posiciones GPS de un smartphone como detecciones Bluetooth de vehículos. El objetivo es medir el tiempo de viaje y compararlo con el tiempo real de la simulación.
La simulación se realiza sobre la red de ejemploG, representada por la figura 3.26 (a). Para la ejecución del algoritmo de estimación, los segmentos son divididos formandoG0.
SUMO arroja posiciones en cada ciclo de simulación (c) y sobre estas se aplican dos procesos. En primer lugar, se descartan observaciones con probabilidad pobs y, en segundo lugar, se modela el error de una observación como una variable aleatoriaX. Esto produce los resultados (d) y (e), respectivamente.
Luego, el algoritmo estima una secuencia de estados que describe la trayectoria más probable
τo ptdada la secuencia de observacionesP. Se considera comoground trutha todos los segmentos atravesados por la secuencia originalT (c). En la figura 3.27 puede observarse el resultado del proceso de decodificación representado por los segmentos de color negro.
C
A P Í T U L O4
R
ESULTADOS4.1
Detección vehicular vía procesamiento de video
Para comenzar con las pruebas se realizaron videos en diferentes circunstancias, y se utilizaron aquellos cuyas situaciones eran las más representativas. Posteriormente haciendo uso de estos, se comparó el resultado del conteo manual con el arrojado por la herramienta sin modificar, luego con la herramienta modificada y finalmente una comparación general. A la hora de realizar el conteo, se encontraron factores que alteraban los resultados, por ejemplo:
• Vehículos circulando entre sí a una distancia corta y se consideraban uno.
• Sombras de los vehículos que se proyectaban en el carril opuesto, lo que generaba que si las detecciones se realizaban en el mismo punto (dos vehículos, uno en cada sentido) la sombra hacía que se unificara y se contabilizara solo una detección.
• Si existían sobrepasos no eran contabilizados debido a que se hacían sobre el carril opuesto. • Vehículos demasiado grandes en los cuales su caja de detección es de su mismo tamaño y
genera pérdidas de detecciones si hay otros de menor porte detrás suyo.
Estos errores se solucionaron con una buena ubicación de la cámara y las modificaciones que se realizaron en el proyecto de video, salvo el caso de los sobrepasos. A continuación, se documentan las pruebas mencionadas anteriormente.