InicioIA y Aprendizaje AutomáticoPredictor de Congestión de Tráfico — Filtro de Kalman en Vivo

🚦 Predictor de Congestión de Tráfico — Filtro de Kalman en Vivo

Observa un filtro de Kalman real fusionar en vivo lecturas de sensores simulados con ruido para estimar y predecir la velocidad del tráfico en un tramo de carretera, reduciendo genuinamente la incertidumbre con cada actualización de medición. Ajusta el ruido de proceso y el ruido de medición, inyecta eventos de congestión y caídas de sensor, y observa cómo la covarianza se reduce y crece exactamente como predicen las ecuaciones.

IA y Aprendizaje Automático3DAvanzado60 FPS
ai-traffic-congestion-prediction ↗ Abrir independiente

Acerca de esta simulación

Las lecturas de velocidad de los sensores viales son ruidosas — un único bucle inductivo o detector de radar puede fluctuar varios km/h de una muestra a otra — y sin embargo los sistemas de gestión de tráfico necesitan una estimación suave, fiable y continuamente actualizada de la velocidad real de circulación de un tramo. Esta simulación implementa un filtro de Kalman genuino sobre un modelo de 2 estados — velocidad y su tendencia a corto plazo — que ejecuta el paso de predicción real (extrapolación de estado mediante la matriz de transición de estado, más crecimiento de covarianza por ruido de proceso) y el paso de actualización real (cálculo de la ganancia de Kalman a partir de la covarianza de innovación, corrección del estado, y una reducción de covarianza en forma de Joseph numéricamente robusta) contra lecturas simuladas con ruido de un sensor para un tramo de carretera. Nada de esto es un suavizador exponencial fabricado: cada número en el panel de estadísticas — la ganancia de Kalman, la covarianza P₀₀, el RMSE en curso — proviene directamente de las mismas ecuaciones de álgebra lineal que Rudolf Kálmán publicó en 1960.

🔬 Qué muestra

Una velocidad vial «real» oculta evoluciona con una tendencia lenta más aleatoriedad, y puede llevarse a la congestión mediante eventos inyectados que reducen y recuperan el objetivo de flujo libre. Un sensor simulado reporta esta velocidad real más ruido gaussiano en un intervalo fijo. El filtro de Kalman predice hacia adelante en cada ciclo — su incertidumbre crece — y se corrige cada vez que llega una lectura — su incertidumbre se reduce — mientras una escena 3D de autopista muestra la densidad y velocidad del tráfico y un gráfico en vivo traza la velocidad real, las lecturas ruidosas, la estimación de Kalman y su banda de confianza ±1σ que se reduce y luego crece, más una proyección discontinua de varios pasos hacia adelante.

🎮 Cómo usarlo

Ajusta el ruido de proceso Q para controlar cuánto confía el filtro en los cambios repentinos frente a su propio modelo, y el ruido de medición R para controlar cuán ruidoso es el sensor simulado (y por tanto cuánto confía el filtro en cada lectura). Haz clic en Inyectar congestión para provocar una caída y recuperación de velocidad realista, o en Caída de sensor para suspender las mediciones durante 8 segundos y observar cómo la banda de confianza se ensancha visiblemente sin que lleguen correcciones — para luego estrecharse bruscamente de nuevo en cuanto llega una lectura nueva.

💡 ¿Sabías que?

El filtro de Kalman que fusiona el sensor de velocidad simulado de esta simulación es matemáticamente el mismo estimador que guio las misiones Apolo a la Luna, y las variantes modernas todavía funcionan dentro del chip GPS de tu teléfono, del sistema de mantenimiento de carril de tu coche, y de las redes de semáforos adaptativos de toda una ciudad — todos haciendo exactamente esta danza de predicción/actualización, solo que con vectores de estado más ricos.

Preguntas frecuentes

¿Cómo combina un filtro de Kalman un sensor de velocidad ruidoso con un modelo de movimiento?

El filtro mantiene una estimación de estado — aquí, la velocidad vial y su tendencia a corto plazo — más una matriz de covarianza que describe cuán incierta es esa estimación. En cada ciclo ejecuta un paso de predicción: el estado se extrapola hacia adelante con un modelo de movimiento simple (x⁻ = Fx) y la covarianza crece para reflejar el ruido de proceso (P⁻ = FPFᵀ + Q). Cuando llega una nueva lectura ruidosa del sensor, un paso de actualización calcula la ganancia de Kalman K = P⁻Hᵀ(HP⁻Hᵀ + R)⁻¹, acerca el estado hacia la medición en K veces la innovación, y reduce la covarianza. La ganancia equilibra automáticamente la confianza entre el modelo y el sensor según sus respectivas incertidumbres — no es un factor de suavizado fijo.

¿Qué controlan realmente los deslizadores de ruido de proceso Q y ruido de medición R?

Q es la intensidad de ruido de proceso que asume el filtro: establece cuánto se permite que el estado se desvíe entre mediciones durante el paso de predicción, haciendo crecer la matriz de covarianza P en una cantidad derivada de un modelo discretizado de aceleración por ruido blanco. Un Q mayor hace que el filtro sea más receptivo pero más ruidoso. R es la varianza de ruido de medición asumida, ligada a la desviación estándar real del ruido del sensor simulado. Un R mayor hace que la ganancia de Kalman sea menor, de modo que cada nueva lectura desplaza menos la estimación porque el filtro confía más en su propia predicción que en un sensor ruidoso.

¿Por qué la incertidumbre de la estimación se reduce después de cada actualización pero crece entre actualizaciones?

El paso de predicción añade la covarianza de ruido de proceso Q a P en cada ciclo, por lo que la varianza de la estimación de velocidad aumenta estrictamente mientras no llega nueva información. El paso de actualización aplica entonces la fórmula de covarianza en forma de Joseph P = (I−KH)P⁻(I−KH)ᵀ + KRKᵀ, que está matemáticamente garantizada para producir una covarianza no mayor que P⁻ siempre que R sea positivo — la lectura del sensor, por ruidosa que sea, siempre elimina algo de incertidumbre. La lectura en vivo de P₀₀ y la banda de confianza hacen directamente visible ese diente de sierra de crecer y luego reducirse.

¿Qué sucede durante una caída de sensor y por qué se ensancha la banda de confianza?

Al hacer clic en «Caída de sensor» se suspenden las actualizaciones de medición durante 8 segundos simulados, de modo que el filtro ejecuta repetidamente el paso de predicción sin ninguna actualización correctora entre medio. Cada paso de predicción sigue añadiendo covarianza de ruido de proceso, por lo que la varianza sigue acumulándose sin control y la banda de confianza de ±1σ de la estimación se ensancha visiblemente en el gráfico — exactamente lo que muestra la proyección discontinua de varios pasos hacia adelante que ocurre en el futuro cercano incluso fuera de una caída, una ilustración fiel de la navegación por estima.

¿Es esta la misma matemática que usan los sistemas reales de gestión de tráfico?

Sí, en esencia. Los sistemas de transporte inteligente reales fusionan lecturas de velocidad de bucles inductivos, radar o sondas GPS usando filtros de Kalman o variantes cercanas, a veces extendidos a estados vectoriales que cubren varios tramos o modelos conmutados que también estiman el régimen de tráfico. Esta simulación usa el filtro de Kalman escalar posición/tendencia genuino con las ecuaciones estándar de predicción-actualización en lugar de un suavizador ajustado a mano, así que la ganancia, el crecimiento de la covarianza y la reducción de la covarianza que ves son los reales.

¿Por qué el estado incluye un término de tendencia en lugar de rastrear solo la velocidad?

Un filtro de 1 estado que rastrea solo la velocidad tiene que tratar cada desviación como ruido, así que siempre se retrasa respecto a una tendencia genuina como una acumulación en hora punta o la recuperación de un evento de congestión. Añadir un estado de tendencia permite que la matriz de transición de estado F=[[1,dt],[0,1]] extrapole la velocidad hacia adelante usando esa tendencia en cada paso de predicción, de modo que el filtro anticipa la aceleración o desaceleración continuada en lugar de solo reaccionar después del hecho — la versión más simple del modelo posición-velocidad usado en el rastreo GPS y de radar.

⚙ Bajo el capó

Un filtro de Kalman genuino de 2 estados (velocidad, tendencia) ejecuta ecuaciones reales de predicción (F, Q) y actualización (ganancia de Kalman, covarianza en forma de Joseph) contra lecturas simuladas con ruido de un sensor vial, con ruido de proceso y de medición ajustables, inyección de congestión en vivo, caída de sensor, y una predicción de varios pasos hacia adelante con incertidumbre creciente.

Kalman FilterSensor FusionKalman GainCovariance

3D · Motor de renderizado Three.js / WebGL · Objetivo de 60 FPS · funciona totalmente en el cliente, sin instalación

¿Qué encontraste?

Añadir pasos de reproducción (opcional)