SafeCount es un proyecto de análisis de tráfico que utiliza un modelo de detección de objetos (YOLO) para extraer información estructurada a partir de vídeos de circulación y analizarla con Python.
El flujo general es:
- Ejecución de YOLO sobre varios vídeos de tráfico para generar detecciones en formato CSV.
- Carga y análisis exploratorio de los datos (EDA) para estudiar volúmenes de tráfico y velocidades por vehículo.
En este repositorio se incluyen únicamente los ficheros CSV generados por el modelo, no los vídeos originales (por tamaño y privacidad).
Los principales datasets son:
traffic_video_detections.csv→ Vídeo de autovía corto (~30 s, df1).traffic_video_detections2.csv→ Vídeo de calle muy transitada (~2:30 min, df2).traffic_video_detections3.csv→ Vídeo de autovía largo (~35 min, df3).
Cada CSV contiene, entre otras, las columnas:
frame_idx,timestamp_secclass(car, truck, bus, motorcycle)conf(confianza de detección)x1,y1,x2,y2(caja delimitadora por objeto)
-
yolo_detection.ipynb
Notebook usado para ejecutar YOLO sobre los vídeos y generar los CSV de detecciones. -
eda_traffic.ipynb
Notebook de análisis donde se cargandf1,df2ydf3, se limpian las columnas, se agrupan detecciones por segundo y minuto, y se calculan métricas clave. -
data/csv/
Carpeta con los ficheros CSV de detecciones exportados desde YOLO.
En el notebook de EDA se trabaja principalmente con df3 (autovía ~35 min), realizando:
- Conteos de objetos por segundo, minuto y clase para estimar la intensidad de tráfico en el tiempo.
- Aproximación al número de vehículos únicos por segundo mediante discretización de posiciones y agrupación de detecciones.
- Estimación de velocidades por vehículo a partir de la trayectoria en píxeles, una escala píxel–metro y el tiempo entre frames.
Tras filtrar detecciones poco fiables (conf ≥ 0.5), se obtienen 626 velocidades válidas con una media cercana a 90 km/h y la mayoría de valores entre 75 y 105 km/h, coherente con un tráfico fluido de autopista.
- Python 3.x
- Librerías principales:
pandas,numpymatplotlib,seaborn
Para reproducir el análisis:
- Clonar el repositorio y mantener la estructura de carpetas, incluyendo
data/csv/con los ficheros CSV. - Abrir
eda_traffic.ipynben Jupyter, VSCode o Google Colab. - Ejecutar las celdas en orden; las rutas de lectura usan rutas relativas (
data/csv/...).
