Propuesta de base de datos para entrenamiento en detección de accidentes de tránsito en redes neuronales. Proposal of training data for traffic accident detection in neural networks. Jesús Gerardo Ávila Sánchez1, Francisco Javier Martínez Ruiz1, Francisco Eneldo López Monteagudo1, Huizilopoztli Luna García1 1 Universidad Autónoma de Zacatecas "Francisco García Salinas" Jardín Juárez 147, Zacatecas Centro, 98000 Zacatecas, Zac. Autor para correspondencia: eneldolm@uaz.edu.mx Abstract This article proposes the development of a database composed of a set of images of cars and car accidents and their respective xml files where the values are in coordinates and, above all, to which class that image belongs, this in order to contribute to the development of neural network systems that have the ability to detect this type of class, whether in images, recorded videos or video in real time. Keywords: Machine Learning; Training database; Neural network; Traffic accidents. 1. Introducción El objetivo de este estudio es proponer una base de datos (set de imágenes) de autos y de accidentes de tránsito para el uso en redes neuronales. El método que se propone tiene las siguientes características: En primer lugar, las imágenes tomadas son analizadas por seres humanos y clasificadas de acuerdo a su experiencia y en segundo, el input a los sistemas se prevé con imágenes sin procesamiento previo para verificar el correcto análisis de estas. El resto del documento está conformado de la siguiente manera: en el apartado III. Se presenta el cómo fueron recopiladas las imágenes, en el IV. Se describe como fue el etiquetado de las imágenes, en el V. Se muestra la implementación de la base de datos en una red neuronal, en el punto VI. Se muestra las pruebas de la red neuronal entrenada con la base de datos y los problemas en torno a la detección, en el punto VII. Se muestran pruebas del funcionamiento de la red en detección en video a tiempo real, en el punto VIII. Las conclusiones. Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 1 2. Antecedentes En el reporte de la de la Organización Mundial de la Salud (OMS) dirigido al mundo en 2015 el número de accidentes de tránsito se ha estabilizado pese al crecimiento mundial de la población y del uso de vehículos de motor, en el período que comprende del año 2010 a 2013 se estima que la población creció un 4% y la adquisición de vehículos en un 16%, con 1.25 millones de personas fallecidas desde el 2007 hasta la fecha nos indica que los accidentes de tránsito no están creciendo al mismo nivel. El nivel más bajo en la tasa de mortalidad lo tiene Europa con 9.3 accidentes de tránsito por cada 100 mil habitantes en segundo lugar se tiene al área de las Américas con 15.9 accidentes por cada 100 mil habitantes sin embargo pese a estas cifras el área de Latinoamérica sufre de una taza mucho más alta sólo comparada con el continente africano que tiene una tasa de mortalidad de 26.6 accidentes por cada 100 mil habitantes.[1] Para construir las categorías dentro de la base de datos se tomó en cuenta los datos proporcionados por la secretaría de salud del gobierno federal de México, los accidentes de tránsito están divididos en tres grandes grupos. El primero de ellos es abarca: el atropellamiento, la volcadura, la salida del camino, el incendio y el choque; la segunda clasificación son el tipo de choque estando dentro de esta clasificación: de frente, por alcance, lateral, contra semoviente y la tercera clasificación está dirigida hacia el objetivo del vehículo en marcha[2]. Si bien artículos como [3]–[5] describen el uso de las redes neuronales para una cantidad de servicios en la detección de objetos pero dejan de lado la importancia de las bases de datos que sirven como sustento al entrenamiento de dichas redes. En el campo del machine learning existen proyectos dirigidos a la detección de emergencias en accidentes de tránsito, teniendo capacidad de: predecir los accidentes[6], utilizar drones para la ayuda en la atención a siniestros[7], manejar enjambres de drones para mantener la seguridad en las ciudades[8], análisis de imágenes para recates en lugares con poca o nula accesibilidad[9]. Vemos que a pesar de lo desarrollado, estos proyectos esta enfocados en la capacidad de observar de manera directa a los seres humanos, dejando de lado la capacidad e la redes para detectar los objetos involucrados en el siniestro, como lo son los automóviles. Por otra parte, en la creación de redes neuronales se ha dejado de lado la importancia del avance en las bases de datos especializadas para la detección de objetos y utilizando los pesos que vienen incluidos en herramientas para la visión por computadora como es ml5[10]. 3. Metodología En esta investigación aplicada tecnológica, la recolección de los datos a analizar (imágenes) fue hecha desde una búsqueda en internet, divididas en una serie de categorías descritas por la secretaria de salud de México[2], las cuales se muestran en la Tabla 1: 2 Tabla 1: cantidad de imágenes en set para entrenar red neuronal Plataforma Categoría Cantidad de Imágenes GOOGLE Auto 1000 Choque frontal 250 Choque lateral 250 Choque trasero 250 Volcadura 250 El esquema general que conforma la creación de la base de datos (set de imágenes) para la detección de accidentes de tránsito con automóviles involucrados, está basada en dos series de pasos, una serie de creación y una serie de pruebas (ensayo – error), enumeradas de la siguiente manera: Búsqueda aleatoria de imágenes que contengan vehículos en buen estado. Búsqueda aleatoria de imágenes que contengan vehículos involucrados en accidentes. Clasificación de las imágenes recopiladas en dos clases (auto y accidente). Prueba de base de datos en entrenamiento de red neuronal Prueba de predicción en imágenes de accidentes y sin accidente aparente con red neuronal entrenada en el punto 1. Prueba de predicción en video de accidentes o nulidad de ellos en tiempo real con red neuronal entrenada en el punto 1. La las imágenes seleccionadas para formar parte de la base de datos deberán preferentemente cumplir las siguientes reglas: Las imágenes no deben ser procesadas con antelación. Las imágenes no deben de pasar la resolución de 800 x 1333 La Tabla 2 Contiene las estadísticas de la base de Datos (set de imágenes) propuesta por este artículo. 3 Tabla 2. Estadísticas de base de datos Cant Media de Resolución Moda de Desviaci Imágene Imágene Imágene idad resolución máxima resolución ón s s s estándar resoluci resoluci resoluci ón ón ón mínima media máxima 2000 257x195p 800x1333p 300x168p 28x39p 458 879 46 Estos parámetros son siguiendo las indicaciones de Keras Retinanet[11] para evitar el sobre procesamientos de los datos, ya que Keras Retinanet[11] modificara todas las imágenes que sobrepasen sus parámetros a la resolución máxima. La base de datos se integró como se muestra en la Figura 1, y está conformada de la siguiente manera: imágenes sin procesar (ISP), que son enviadas al módulo de procesamiento (MP), en donde se extraen características y se etiquetan, en el módulo de entrenamiento (ME) se toman las imágenes procesadas (IP) y se entrena una red neuronal con ellas, la cual nos entrega paramentos (P), que nos sirven para hacer predicciones en el módulo de resultados (MR). Figura 1: Modelo de creación de Base de Datos 4. Etiquetado de las imágenes para base de datos. Este proyecto presenta la clasificación y etiquetado de un set de imágenes para entrenamiento de redes neuronales, en las cuales se encuentran autos involucrados en un 4 siniestro, estos clasificados como la clase (accidente), y de igual manera se etiquetaron una serie de imágenes de autos sin error aparente como la clase (auto). Se tiene en cuenta que toda la clasificación y etiquetado de las imágenes se hizo desde la experiencia humana, en donde los accidentes fueron clasificados en base a aparentes golpes externos en los vehículos y/o situaciones en donde el accidente es aparentemente inequívoco, como lo es una volcadura, de esta manera pasando a la base de datos los mismos errores que podría tener un ser humano. El etiquetado de las imagen fue realizado con el programa LabelImg[12]; este software nos permite delimitar en las imágenes los objetos que se muestran en ellas y clasificarlos como se muestra en la Figura 2, como resultado este programa nos entrega un archivo XML. En el cual se guardan las características de la imagen, como son las clases de los objetos etiquetados y sus coordenadas dentro de la imagen. Figura 2: Etiquetado de imágenes con LabelImg[12]. La búsqueda de las imágenes que conforman la base de datos fue realizada para cumplir con la mayoría de las marcas que se producen actualmente en México[13] y así cubrir la mayoría de los posibles escenarios que involucren estos autos, pero la base de datos también cuanta con autos de características deportivas, camionetas, suv y autos futuristas que no se encuentran en circulación para robustecer la base de datos. 5. Entrenamiento de red neuronal con dase de datos En la etapa de entrenamiento de la red se utilizaron una series de librerías de código abierto, especialmente tensorflow[14] y keras retinanet[11], este último especialmente diseñado 5 para la detección de objetos a través de la visión por computadora; se entrenó una red neuronal un conjunto de 60 épocas, pero en observaciones presentes en la Figura 3, se detecta que a partir de la época 50 la predicción de la red se estabiliza y continuar con un entrenamiento más extenso solo es gasto de recursos computacionales, es así que utilizando la plataforma google colab[15] que nos permite hacer uso de sus servidores y de esta manera utilizar sus recursos, fue posible obtener el archivo.h5. Figura 3: Resultados de predicción de autos y accidente según época de entrenamiento. 6. Pruebas de predicción de autos y accidentes En las pruebas de predicción realizadas a una cantidad de 100 imágenes divididas en 5 categorías, la red neuronal entrenada con el set de imágenes aquí propuesto en contraste con la experiencia humana se encontró, los resultados se muestran en la Tabla 3 y 4. Tabla 3. Relación de aciertos en detección entre red neuronal y ser humano Categoría Predicción de la red neuronal Experiencia entrenada con set de humana imágenes Auto 20 20 Auto y Siniestro 11 20 Siniestro 18 20 Múltiple Siniestro 5 20 Ni Auto, Ni 20 20 Siniestro 6 Tabla 4. Promedio de detección y promedio de predicción Categoría Promedio de detección en Seguridad de la porcentaje Predicción en porcentaje Auto 100% 98.56% Auto y Siniestro 55% 97.32% Siniestro 90% 87.54% Múltiple Siniestro 25% 81.42% Ni Auto, Ni 100% 100% Siniestro El promedio de detención hace alusión a la cantidad de imágenes que pudo detectar la red, en cambio la siguiente columna describe de esas detecciones con cuanta seguridad es predicho un siniestro o un auto. En la Figura 4 se muestran diferentes situaciones de autos colisionados, en la Figura 4a [16] se muestra la capacidad de detección de un auto y su porcentaje de seguridad, en la Figura 4b [17] se muestra una situación en donde se encuentra un auto en aparente buen estado y un siniestro en donde se observa que solo se detecta al auto, en la Figura 4c [18] se presenta un siniestro, en donde la red neuronal es capaz de detectarlo, en las Figuras 4d [19] y 4e [20] se muestran un conjunto de autos en colisión y se observa que es donde la red demuestra más fallas, al solo detectar un auto en el siniestro o simplemente no detectar nada. Figura 4: Diferentes situaciones de autos colisionados 7. Caso de uso Esta fase se dedicó a utilizar la red neuronal antes mencionada para la detección de accidentes en video, la información fue recopilada desde una cámara web en una maqueta 7 en laboratorio, escaneando una área en búsqueda de accidentes, para este software se hicieron pruebas con varias herramientas para la detección de objetos en principio se usó la librería YOLO (You Only Look Once) un sistema diseñado para la detección de objetos en tiempo real, gracias a la modificación de sus pesos con la base de datos creada, fue posible la detección de accidentes de forma local. Para la siguiente etapa de pruebas se desarrolló un sistema de detección de accidentes de tránsito con el lenguaje JavaScript [21] y Tensorflow.js [22] el cual nos permite entre varias cosas el ahorro de recursos computacionales, esta plataforma web utiliza una serie de herramientas que nos facilitan el uso de las redes neuronales y sobretodo el uso de la visión por computadora para el análisis de video. La principal herramienta es ml5 [10] que usa un sistema de red neuronal convolucional llamado MobileNet [5] especializado en el análisis y detección de objetos en imágenes ya que contiene una gran base de datos, pero este no contiene la información que propone este set de imágenes. 8. Conclusiones Esta base de datos está diseñada para atender las necesidades en redes neuronales dirigidas hacia la detección o análisis de accidentes automovilísticos, con set de 2000 imágenes se pudieron realizar pruebas para verificar su eficacia, en un primer experimento se encontró que con un entrenamiento a 50 iteraciones se cumple en lo general con el motivo de desarrollo. Sin embargo por ser una base de datos con un set de imágenes reducido, en la pruebas realizadas se encontraron muchos falsos positivos, sobre todo en la detección de detalles que no son visibles desde una vista cenital, cuando los autos se encuentran muy cerca unos con otros o se encuentran en posiciones que la red no detecta, como es el caso de una volcadura. Aún así es un excelente punto de partida para los investigadores que estén interesados en el análisis de imágenes relacionadas a la detección de accidentes de tráfico. 8.1. Trabajo futuro Es importante incluir más marcas de vehículos, ya que se incluyeron solo las disponibles en México. Además, es importante agregar más procesos de segmentación de las imágenes para generar muestras más pequeñas que requieran menos poder de cómputo y ser procesadas en tiempo real. 8 Referencias [1] «OMS | 10 datos sobre la seguridad vial en el mundo», 2017. https://www.who.int/features/factfiles/roadsafety/es/ (accedido feb. 24, 2021). [2] «10_SubInspecIgnacioAGonzalez.pdf». Accedido: may 21, 2021. [En línea]. Disponible en: http://conapra.salud.gob.mx/Interior/Documentos/Reunion_Nac_DirTrans/10_SubIns pecIgnacioAGonzalez.pdf [3] J. M. Pérez González, J. M. Roquero Bravo, y T. D. Peraza Geist, «Inteligencia computacional aplicada a vigilancia con una flota de drones.», 2019, Accedido: abr. 23, 2020. [En línea]. Disponible en: https://www.colibri.udelar.edu.uy/jspui/handle/20.500.12008/23046 [4] S. Kharuf-Gutierrez, L. Hernández-Santana, R. Orozco-Morales, O. de la C. Aday Díaz, y I. Delgado Mora, «Análisis de imágenes multiespectrales adquiridas con vehículos aéreos no tripulados», Ing. Electrónica Automática Comun., vol. 39, n.o 2, pp. 79-91, ago. 2018. [5] A. G. Howard et al., «MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications», ArXiv170404861 Cs, abr. 2017, Accedido: may 21, 2021. [En línea]. Disponible en: http://arxiv.org/abs/1704.04861 [6] M. R. R. Godoy, «PREDICCIÓN DE ACCIDENTES DE TRÁNSITO UTILIZANDO REDES NEURONALES ARTIFICIALES Y CUCKOO SEARCH», p. 39, 2015. [7] A. S. Kristensen, D. Ahsan, S. Mehmood, y S. Ahmed, «Rescue Emergency Drone for Fast Response to Medical Emergencies Due to Traffic Accidents», vol. 11, n. o 11, p. 6, 2017. [8] J. E. M. Díaz, «Seguridad metropolitana mediante el uso coordinado de Drones», Rev. Ing. USBMed, vol. 9, n.o 1, pp. 39-48, 2018. [9] C. Pérez Bernal, «Creación de un simulador y una IA sobre drones para la ayuda al rescate de montaña», sep. 2018, Accedido: abr. 23, 2020. [En línea]. Disponible en: https://riunet.upv.es/handle/10251/107279 [10] «ml5js·Friendly Machine Learning For The Web». / (accedido may 21, 2021). [11] «Keras: the Python deep learning API». https://keras.io/ (accedido may 21, 2021). [12] «LabelImg». https://tzutalin.github.io/labelImg/ (accedido ago. 04, 2021). [13] «Producción de autos en México: Los que se van y los que llegan en 2020», soloautos.mx. https://soloautos.mx/noticias/detalle/produccion-autos-mexico- 2020/ED-LATAM-22100/ (accedido ago. 11, 2021). [14] «TensorFlow», TensorFlow. https://www.tensorflow.org/?hl=es-419 (accedido may 21, 2021). [15] «Google Colaboratory». https://colab.research.google.com/notebooks/welcome.ipynb?hl=es-419 (accedido may 21, 2021). 9 [16] «Mazda 3 Turbo 2021: precios y versiones en México – Autos y Moda México». https://www.autosymoda.mx/mazda-3-turbo-2021-mexico-precios/ (accedido may 25, 2021). [17] «Delito de fuga en accidente de tráfico», Tu abogado defensor, nov. 08, 2019. https://www.tuabogadodefensor.com/delito-fuga-accidente-trafico/ (accedido may 17, 2021). [18] ContraReplica, «Choque de taxi y patrulla en Centro Histórico deja al menos siete heridos», ContraRéplica. https://www.contrareplica.mx/nota-Choque-de-taxi-y- patrulla-en-Centro-Historico-deja-al-menos-siete-heridos201921037 (accedido may 25, 2021). [19] «Busca FGJCDMX Reformas al Código Penal Para Endurecer Sanciones por Homicidio por Tránsito Vehicular», Nuevo México Plural, ene. 29, 2021. https://www.nuevomexicoplural.com/busca-fgjcdmx-reformas-al-codigo-penal-para- endurecer-sanciones-por-homicidio-por-transito-vehicular/ (accedido may 17, 2021). [20] «México: el celular es el mayor asesino de mexicanos al volante desde el 2015», La Verdad Noticias. https://laverdadnoticias.com/mexico/Mexico-el-celular-es-el- mayor-asesino-de-mexicanos-al-volante-desde-el-2015-20191228-0071.html (accedido may 17, 2021). [21] «JavaScript.com». https://www.javascript.com/ (accedido may 21, 2021). [22] «TensorFlow.js». https://js.tensorflow.org (accedido may 21, 2021). 10