UNIVERSIDAD POLITÉCNICA DE CARTAGENA
Escuela Técnica Superior de Ingeniería de Telecomunicación
Red de Aprendizaje para el Reconocimiento e Identificación
de Señales de Tráfico
TRABAJO FIN DE MÁSTER
MÁSTER UNIVERSITARIO DE INGENIERÍA DE TELECOMUNICACIÓN
Autor: Mario Vilar Andreu
Directores: Ginés Doménech Asensi
Juan Francisco Zapata Pérez
Cartagena, junio 2022
En primer lugar, me gustaría agradecerle a mis directores el Profesor Dr. Ginés Doménech Asensi y el profesor Dr. Juan Francisco Zapata Pérez por su atención e inestimable ayuda, así como su dedicación para que este proyecto saliera adelante.
También a la Universidad Politécnica de Cartagena que durante estos años me ha acogido y formado como estudiante y como persona. Y en especial al Departamento de Electrónica, Tecnología de Computadores y Proyectos por brindarme la oportunidad de realizar este trabajo. Siempre me quedará un recuerdo maravilloso de mi estancia aquí.
Y por último a mis amigos, a mi pareja y sobre todo a mi familia por su paciencia y su compresión en este camino, por estar siempre dispuestos a escucharme y ayudarme a superar cualquier obstáculo. Sin vosotros nada de esto habría sido posible.
Gracias.
Resumen
Los sistemas de detección y reconocimiento de señales de tráfico (TSDR) constituyen una parte importante en el mantenimiento de viales, así como en el sector de la conducción de vehículos no tripulados (UVD) y en los sistemas avanzados de asistencia a la conducción (ADAS). Estos sistemas pueden construirse empleando diferentes técnicas de visión arti- ficial, en la actualidad los métodos más populares se basan en el uso de redes neuronales profundas (DNN). Estas redes han probado ser muy fiables cuando se entrenan utilizando grandes bases de datos, aunque en función de la tipología de red utilizada puede obtenerse una amplia variedad de rendimientos.
Frente a las implementaciones habituales de las DNNs basadas en coma flotante ejecután- dose sobre potentes computadoras, los diseños basados en hardware especifico resultan en implementaciones de bajo consumo que además presentan costes competitivos cuando se fabrican a gran escala. Sin embargo, para obtener implementaciones de hardware factibles, estas redes deben simplificarse previamente, lo cual se puede lograr reduciendo el tamaño de la red o la precisión de los datos.
En este trabajo se recogen todos los pasos llevados a cabo para el diseño de dos redes neu- ronales profundas capaces de identificar y clasificar los tipos de señales de tráfico comunes, presentando un tamaño reducido y resultando ser fácilmente implementables en hardware específico.
Índice
Índice de figuras . . . vi
Índice de tablas . . . vii
Acrónimos 1 1. Introducción. 1 1.1. Contexto y Motivación. . . 1
1.2. Objetivos. . . 3
1.3. Conjunto de Datos. . . 5
1.4. Organización de la Memoria. . . 6
2. Reconocimiento y Detección de Señales de Tráfico. Revisión Biblio- gráfica. 7 2.1. Detección de Señales de Tráfico. . . 7
2.1.1. Algoritmos de Detección Basados en el Color. . . 7
2.1.2. Algoritmos de Detección Basados en la Forma. . . 8
2.1.3. Algoritmos de Detección Basados en el Color y en la Forma. . . 8
2.1.4. Algoritmos de Detección Basados en Deep Learning. . . 9
2.2. Reconocimiento de Señales de Tráfico. . . 10
2.2.1. Algoritmos de Reconocimiento Tradicionales. . . 10
2.2.2. Algoritmos de Reconocimiento Basados en Deep Learning. . . 11
3. Metodología. 15 3.1. Adecuacuón del Dataset Personalizado . . . 15
3.2. Detección de Señales de Tráfico. . . 15
3.2.1. YOLOv1. . . 17
3.2.2. YOLOv2. . . 20
3.2.3. YOLOv3. . . 25
3.2.4. YOLOv4. . . 27
3.2.5. Entrenamiento en un Dataset Personalizado de Señales de Tráfico. 35 3.3. Clasificación de Señales de Tráfico. . . 37
3.3.1. Modelos tipo Sequential. . . 38
3.3.2. Modelos tipo Functional. . . 41
4. Resultados. 47 4.1. Evaluación del Modelo de Detección de Señales de Tráfico. . . 47
4.2. Evaluación del Modelo de Clasificación de Señales de Tráfico. . . 51
4.2.1. Resultados de los Modelos Sequential. . . 51
4.2.2. Resultados de los Modelos Functional. . . 55
5. Conclusiones 59
Índice de figuras
1. Ejemplos de situaciones que dificultan las tareas de identificación y reco-
nocimiento . . . 4
2. Historia de la Detección de Objetos . . . 16
3. Imagen dividida en rejilla . . . 18
4. Tensor de salida . . . 19
5. Arquitectura YOLO . . . 19
6. Elección de anchor boxes mediante k-means . . . 22
7. Anchor boxesy predicción de bounding box en YOLOv2 . . . 22
8. Benchmark YOLOv3 . . . 26
9. Detección multi escala . . . 27
10. Comparación YOLOv4 . . . 28
11. Estructura de un Detector de Objetos . . . 29
12. CutMix . . . 30
13. Mosaic Augmentation . . . 31
14. DropBlock . . . 31
15. DenseNet vs CSPDenseNet . . . 32
16. Spatial Pyramid Polling . . . 33
17. Path Aggregation Network . . . 33
18. Spatial Attention Module . . . 34
19. Formato YOLO de anotaciones . . . 38
20. Gráfica de entrenamiento YOLOv4 . . . 48
21. Efecto del NMS . . . 49
22. Efecto del NMS . . . 50
23. Frames del vídeo . . . 52
24. Frames del vídeo . . . 53
25. Entrenamiento de smallNet3 . . . 54
26. Entrenamiento de smallNet3_2 . . . 54
27. Entrenamiento de smallNet3_3 . . . 55
28. Entrenamiento de smallSkip . . . 56
29. Entrenamiento de smallSkip2 . . . 56
30. Entrenamiento de smallSkip3 . . . 58
31. Entrenamiento de smallSkip4 . . . 58
Índice de tablas
1. Información de dataset públicos de señales de tráfico. . . 6
2. Tabla resumen de varios clasificadores en cuanto a precisión, velocidad y FLOPS, donde se resaltan los mejores resultados. Fuente [77]. . . 23
3. Arquitectura de Darknet-19 . . . 24
4. Arquitectura de DarkNet-53. Fuente [78]. . . 26
5. Comparación de diferentes extractores de características con respecto a precisión, miles de millones de operaciones y FPS. Fuente [78]. . . 26
6. Comparación de diferentes backbones. Fuente [79]. . . 29
7. Resumen Arquitectura de la red smallNet3. . . 39
8. Resumen Arquitectura de la red smallNet3_2. . . 40
9. Resumen Arquitectura de la red smallNet3_3. . . 40
10. Resumen Arquitectura de la red smallSkip. . . 42
11. Resumen Arquitectura de la red smallSkip2. . . 43
12. Resumen Arquitectura de la red smallSkip3. . . 44
13. Resumen Arquitectura de la red smallSkip4. . . 45
14. Tabla resumen de las arquitecturas propuestas. . . 57
Acrónimos
ADAS Advanced Driver Assistance System. ANN Artificial Neural Networks.
BNN Binary Neural Networks. BoF Bag of Freebies.
BoS Bag of Specials.
BRISK Binary Robust Invariant Scalable Keypoints. BTS Belgium Traffic Signs Dataset.
CEPE Comisión Económica para Europa.
CNN Convolutional Neural Networks. CTI Comité de Transportes Interiores.
DNN Deep Neural Networks.
ERF Federación Europea de Carreteras.
GPU Graphics Processing Unit.
GTSRB German Traffic Sign Benchmark. HLSGD Hinge Loss Stochastic Gradient Descent. HOG Histogram Oriented Gradients.
MLS Mobile Laser Scanner. NMS Non-Maximum Suppresion. PAN Path Aggregation Network. QAT Quantification Aware Training. QNN Quantized Neural Networks.
R-CNN Region Convolutional Neural Networks. RPN Region Proposal Networks.
SAM Spatial Attention Module. SOS Small Object Sensitive. SSD Single Shot Detector.
STS Swedish Traffic Signs Dataset. SURF Speeded Up Robust Features.
SVM Support Vector Machines.
TSDR Traffic Sign Detection and Recognition. UVD Unmanned Vehicle Driving.
YOLO You Only Look Once.
1. Introducción.
1.1. Contexto y Motivación.
Para que el tráfico de vehículos por carretera sea seguro, eficiente y sostenible se necesitan normas que regulen la construcción de los viales y la circulación por las ca- rreteras. En este sentido, las señales de tráfico tienen una importancia fundamental teniendo como objetivo el resultar fácilmente perceptibles por los conductores y peato- nes. Las señales de tráfico aportan información visual importante para la conducción ordenando o reglamentando el comportamiento de los usuarios de las carreteras de modo que la no percepción de las señales de tráfico puede conducir directa o indirectamente a accidentes de tráfico. Los usuarios de las vías deben seguir las indicaciones de las señales que se encuentran mientras circulan estando obligados a obedecer aquellas que establezcan una prohibición o una obligación.
Dada la dimensión transfronteriza, es esencial que los sistemas de señalización se normalicen para constituir un instrumento internacionalmente armonizado.
Los primeros intentos de la adopción de una legislación vial de carácter internacional comienzan en París, año 1909 cuando tuvo lugar la Convención Internacional sobre vehículos a motor. En ella se trataron los problemas de la señalización junto con otros temas relacionados con la fabricación de automóviles.
Posteriormente, motivado por la rápida expansión del tráfico de automóviles, se celebraron dos nuevas convenciones: la Convención Internacional relativa a la circulación de vehículos automotores y la Convención Internacional relativa a la circulación por carretera.
El problema de la señalización se abordó de forma exhaustiva en la Convención sobre la unificación de sistemas de señales en las carreteras celebrada en Ginebra en el año 1931.
El Comité de Transportes Interiores (CTI) de la Comisión Económica para Europa (CEPE), considerando que era necesario alcanzar una mayor uniformidad en las normas que regían el tráfico por carretera en Europa y conseguir un mayor nivel de seguridad y protección del medio ambiente, pidió al Grupo de Trabajo sobre la seguridad vial de la CEPE que preparase un proyecto de acuerdo. El 1 de mayo de 1971, el Comité de Transportes Interiores aprobó el texto definitivo del Acuerdo [1].
Desde entonces, este acuerdo ha sido firmado por 63 países y en él se incluyen más de 300 categorías diferentes de señales de tráfico. En España, existe un catálogo oficial de señales de circulación incluido en el Reglamento General de Circulación [2] se detalla la forma, dimensiones, el color y el significado de las señales, así como los sistemas de colocación.
La clasificación de señales de tráfico resulta ser un problema limitado gracias a que la unificación internacional de los sistemas de señalización hicieron que estas fueran di- señadas para ser únicas y tener características distinguibles. A pesar de ello, los sistemas de clasificación de señales deben hacer frente a retos y desafíos relacionados principal- mente a los tiempos de respuestas necesarios en sistemas que deben operar en tiempo real, y a la gran variabilidad que presentan las escenas de tráfico; distintas condiciones de iluminación, variaciones de escalas, distorsiones de la imagen, obstáculos, etc.
Resulta un hecho incuestionable por las estadísticas que se publican, que los acci- dentes motivados por las deficiencias en las infraestructuras de las carreteras y procedi- mientos de mantenimientos inadecuados acarrean elevados costes tanto humanos como económicos. La Federación Europea de Carreteras (ERF) [3] denunciaba, en un informe del año 2015, que las inversiones para financiar estos gastos estaba disminuyendo en muchos países europeos desde 2008. La seguridad en las carreteras requiere invertir en dichas infraestructuras y las inspecciones periódicas deben garantizar la correcta vi- sualización de las señales de tráfico, lo que tendrá un impacto positivo en términos de seguridad vial.
Si bien el mantenimiento de las señales de tráfico se realiza in situ y de forma manual, la tecnología actual basada en sensores remotos, mejora significativamente los resultados ya que permite que las carreteras sean inspeccionadas con mayor rapidez y con un menor gasto de recursos. Los sistemas de Mapeo Móvil (MMS) son capaces de recolectar grandes cantidades de datos 3D y 3D utilizando la tecnología Mobile Laser Scanner (MLS) junto con sistemas de imágenes. Las representaciones en 3D de los entornos escaneados son densas, precisas y proporcionan información relevante. Sin embargo, a pesar de la creciente atención que está recibiendo esta tecnología, existen limitaciones dadas por la resolución del sistema de escaneo y la necesidad de atlas capacidades de almacenamiento y procesamiento [4].
En el sector de la conducción autónoma como en los sistemas avanzados de asistencia a la conducción (ADAS), la detección y clasificación de las señales de tráfico es un eje esencial para alcanzar la independencia real del conductor y, por lo que, es un tema de interés actual en los campos de la visión por computador y la inteligencia artificial.
Los sistemas TSDR generalmente se abordan a través de enfoques con dos etapas diferenciadas; detección y reconocimiento. En el proceso de detección, el objetivo es localizar las regiones que contienen señales de tráfico dentro de las imágenes de la escena. El reconocimiento tiene como objetivo etiquetar la señal detectada en función de la información incluida en su pictograma
Las señales de tráfico generalmente se dividen en varias categorías que se adaptan a su función, y en cada categoría pueden dividirse en subclases con forma y apariencia genéricas similares, pero con detalles diferentes, dependiendo de sus formas y colores;
señales de peligro triangulares de borde rojo, señales circulares de límites de velocidad de borde rojo y señales obligatorias circulares azules. Sin embargo, en la práctica, la diversidad de situaciones en las que son captadas las señales de tráfico dificulta la etapa de detección para estos sistemas. Los principales escollos con los que se encuentra esta tarea y que deben resolverse para conseguir sistemas robustos y fiables son:
Condiciones de iluminación variable. Las variaciones en las condiciones de ilumi- nación e intensidad de la luz de la escena del día y la noche, de los días soleados y los días lluviosos relacionados con la estación del año, pueden afectar la apariencia de color de las señales de tráfico en la imagen. Por otro lado, el patrón de señales de tráfico en la imagen también puede verse afectado por las sombras de objetos cercanos [5, 6].
Distorsiones de la imagen. La vibración provocada por el movimiento del vehículo puede provocar una distorsión de la imagen de la señal de tráfico captada por la cámara de a bordo, ocasionando imágenes deformadas, borrosas, etc.
Desvanecimientos de color. La exposición prolongada a la luz solar y a la lluvia pueden provocar con el paso del tiempo que la pintura en la señal de tráfico se desvanezca o incluso se desprenda.
Obstáculos que bloquean las señales de tráfico. La presencia ocasional, por ejem- plo, de árboles, edificios, vehículos o peatones pueden bloquear parte del área, afectando la detección e identificación de la señal de tráfico.
Visibilidad afectada. la luz emitida por los faros de los vehículos que circulan en dirección contraria puede afectar la visibilidad para una aplicación en tiempo real.
También puede verse afectada por lluvias, nubes, nieve y niebla.
Señales dañadas. Las señales de tráfico dañadas y parcialmente oscurecidas tam- bién pueden crear problemas tanto para la detección como para el reconocimiento sobre todo si el sistema incluye un reconocedor de formas, aumentando la tasa de detección de falsos positivos y reduciendo la eficiencia del sistema [7].
Variaciones de escalas. Las escalas de las señales de tráfico capturadas por los vehículos en movimiento varían en un rango muy amplio. Las señales de tráfico, especialmente las pequeñas, pueden ser fácilmente omitidas por los sistemas TSR.
Aplicación en tiempo real: Para una aplicación en tiempo real se necesita un algo- ritmo rápido que tenga un tiempo computacional muy bajo mientras el vehículo está circulando en carretera. Por lo tanto, el coste computacional de los TSDR de- be ser bajo, los recursos de memoria requeridos deben ser pequeños y los tiempos de ejecución cortos.
En la Figura 1 se muestran varias imágenes de señales de tráfico donde se puede apreciar algunos de los problemas mencionados anteriormente.
Aunque la comunidad investigadora y la industria del campo de la visión por compu- tador han logrado avances significativos en el análisis de señales de tráfico en las últimas décadas, las dificultades mencionadas anteriormente hacen que los sistemas de detección y reconocimiento de señales de tráfico que utilizan algoritmos tradicionales de visión por computador, basados en el color y la geometría de las señales de tráfico, no sean del todo fiables ni lo suficientemente robustos, especialmente en escenarios urbanos.
Estos desafíos se empezaron a abordar utilizando redes neuronales convolucionales (CNN). A lo largo de los años, las arquitecturas de CNN han ido mejorando su precisión, aunque desafortunadamente, estos avances se han producido a costa de una mayor complejidad. Esto puede dar lugar a problemas cuando se implementan en un sistema integrado que está limitado en términos de potencia computacional, energía o latencia, como ocurre en el contexto de la conducción autónoma. Para poder realizar inferencias en dispositivos con recursos limitados, es necesario simplificar la cantidad y complejidad de los cálculos.
En la actualidad los métodos más populares para construir TSDRs se basan en el uso de redes neuronales profundas [9]. Estas redes han demostrado ser muy fiables cuando se entrenan utilizando grandes bases de datos, aunque en función de la tipología de red utilizada puede obtenerse una amplia variedad de rendimientos. Frente a las implemen- taciones habituales de las DNNs basadas en coma flotante ejecutándose sobre potentes computadoras, los diseños basados en hardware específico resultan en implementaciones de bajo consumo que además presentan costes competitivos cuando se fabrican a gran escala.
Sin embargo, para obtener implementaciones de hardware factibles, estas redes deben simplificarse previamente, lo que se puede lograr reduciendo el tamaño de la red o la precisión de los datos [10]. Aunque la comunidad investigadora y la industria en el campo de la visión por computadora han logrado avances significativos en la detección y reconocimiento de señales de tráfico en las últimas décadas.
1.2. Objetivos.
El objetivo general de este trabajo Fin de Máster puede resumirse en el diseño de redes de aprendizaje profundo capaces de identificar y reconocer señales de tráfico y que presenten un tamaño reducido empleando operadores comúnmente utilizados en síntesis digital, de modo que una red completa pueda ser sintetizada en hardware en un proceso posterior. La red deberá ser capaz de identificar al menos las señales de tráfico presentes en las bases de datos habitualmente utilizadas en el estado de la técnica, con un tamaño de ventana de procesamiento 32x32 píxeles sobre imágenes en color de tamaño VGA o equivalente.
Además, este objetivo general encierra una serie de objetivos particulares que persi- guen el desarrollo de metodologías eficaces que permitan abordar cada una de las etapas de que constan las redes:
Determinar la naturaleza del problema del reconocimiento e identificación de se- ñales de tráfico.
Figura 1: Ejemplos de situaciones que dificultan las tareas de identificación y reco- nocimiento: deterioro por envejecimiento, imágenes borrosas, señalas dañadas por la actuación humana, condiciones de iluminación variables, obstáculos que bloquean la visión y variaciones en la perspectiva. Fuente [8].
Realizar una revisión bibliográfica de los últimos trabajos publicados relacionados con el tema objeto de este TFE. Estudiar que otras soluciones han sido propuestas para la consecución de los objetivos planteados, basadas en DNNs.
Determinar qué conjunto de datos existen para la implementación de las DNNs, elección del que mejor se adapte a nuestras necesidades, así como realizar las transformaciones para su adecuada utilización.
Estudiar posibles arquitecturas Deep Learning basadas en capas convolucionales que permitan una alta exactitud de detección e identificación de señales de tráfico.
Estudiar las posibles modificaciones de las redes para obtener una reducción de tamaño: análisis de las capas y de la cuantificación de pesos y activaciones.
Adquirir el conocimiento necesario sobre las herramientas disponibles para la im- plementación del sistema.
Confirmar que la elección de las arquitecturas Deep Learning ha sido acertada, comparando los resultados obtenidos con los de otras soluciones propuestas.
Determinar las conclusiones derivadas de la realización del trabajo, así como sus principales aportaciones.
1.3. Conjunto de Datos.
El diseño de redes de aprendizaje profundo capaces de reconocer e identificar señales de tráfico, necesita una base de datos que se adapte a esta estrategia concreta. Se necesita un banco de imágenes de escenas grabadas durante la conducción y que estén disponibles libremente. Disponer de un correcto banco de imágenes o dataset público resultará determinante para el éxito del entrenamiento de las redes.
Sin embargo, encontrar una base de datos que sea adecuada es un problema en sí.
Es vital para el éxito de estas redes, que los datos que se proporcionan tengan todo el mismo tamaño y que haya el mismo número de imágenes de cada tipo de señal para que la red no tienda a favorecer en la clasificación a una de las señales.
Por otro lado, resulta muy difícil decidir sobre qué propuesta o enfoque, de las muchas propuestas que se pueden encontrar en la literatura de TSR y TSD, ofrecen mejores resultados globales, principalmente debido a la falta de un conjunto de datos estándar que sea utilizado como referencia.
La búsqueda del dataset adecuado para nuestra tarea exigirá que las imágenes estén capturadas dentro del marco normativo de conducción de la Unión Europea, debiéndose valorar que estas contengan las señales más comúnmente utilizadas, la cantidad de clases que diferencien y enfocada para la tarea de clasificación, la cantidad de imágenes anotadas correctamente.
En muchos trabajos de investigación se utilizan conjuntos de datos disponibles al público. Algunos de los más populares son los siguientes:
German Traffic Sign Benchmark (GTSRB) [11, 12, 13].
KUL Belgium Traffic Signs Data set (BTS) [14].
Swedish Traffic Signs Data set (STS) [15]
Uno de los conjuntos de datos uso más extendido es el GTSRB. Se trata de un con- junto de imágenes procedentes del Institut für Neuroinformatk y que fue creado para la competición de TSR de la Conferencia Conjunta Internacional sobre Redes Neuro- nales (IJCNN) en el año 2011 [11]. El conjunto de datos GTSRB consta de un total de 51.839 imágenes de señales de tráfico alemanas divididas en: 39.209 para el conjunto de entrenamiento y 12.630 para el conjunto de prueba. Las imágenes están clasificadas en un total de 43 clases. El tamaño varía entre 15x15 y 222x193 píxeles, y contienen un margen del 10 %. Todas las imágenes están anotadas y el conjunto de datos contiene el tamaño original y la ubicación de la información de la región de intereses (ROI), lo que significa que los resultados se pueden verificar fácilmente. El GTSRB está orientado principalmente al proceso de reconocimiento, ya que cada imagen contiene exactamente un signo sin muchos objetos de fondo.
El conjunto de datos German Traffic Sign Detection Benchmark (GTSDB) especí- fico para el problema de detección, se creó para la competencia celebrada en IJCNN 2013 [13]. Este conjunto, contiene 1183 imágenes divididas en; 859 para entrenamien- to y 328 para pruebas. Todas las categorías de señales alemanas están incluidas en el documento del Reglamento de Circulación Española [2].
El conjunto de datos BTS [14] es un conjunto de datos creado para utilizarlo en tareas de clasificación y detección de señales de tráfico, mantenido por Radu Timofte [16]. El conjunto consta de 4.575 imágenes para el conjunto de entrenamiento y 2.520 imágenes para el conjunto de pruebas, sumando un total de 7.095 imágenes obtenidas en entornos urbanos en la región de Flandes y almacenadas en formato PPM. Cada imagen contiene una única señal de tráfico que no se encuentra necesariamente centrada.
Existe un subconjunto de esta base, la Belgium Traffic Signs Clasifcation, creado con fines de operaciones de clasificación y que contiene imágenes anotadas manualmente por los investigadores para 62 clases diferentes de señales de tráfico. La Belgium TSC sigue la misma división que la Belgium TS, una parte para entrenamiento con 4591
imágenes y una parte de prueba con 2534 imágenes. En promedio, hay 3 imágenes con anotaciones para cada señal de tráfico distinta. El tamaño varía entre 10x10 y 248x213 píxeles.
El conjunto de datos STS [15], contiene 20000 imágenes, obtenidas en más de 350 km de autopistas y carreteras urbanas suecas utilizando una cámara a color de 1,3 me- gapíxeles colocada en el interior de un automóvil. Una de cada 5 imágenes del conjunto, el 20 % se encuentran etiquetadas dentro de 7 clases diferentes. La etiqueta para cada señal contiene el tipo de señal, el estado de visibilidad (ocluido, borroso o visible) y la información de si las señales están en la carretera por la que se está circulando o en una carretera lateral. El tamaño de estas imágenes es de 1280x960 y el de los signos varían entre 3 x5 y 263x248 píxeles.
En la Tabla 1, se muestra resumidos la información más relevante de estos tres conjuntos de datos públicos.
1.4. Organización de la Memoria.
La memoria se organiza en cinco capítulos. En el primero de ellos se ha analizado el problema que plantea el reconocimiento e identificación de señales de tráfico, su repercusión social y económica y los beneficios que se obtendrían si se abordara con éxito su solución.
En el segundo capítulo se hace una revisión de los trabajos más relevantes publicados en los últimos años en relación con utilización de redes Deep Learning para resolver el problema planteado. En definitiva, pretende ser una revisión del estado del arte de este tipo de soluciones.
En el capítulo tres, se hace una exposición y justificación de la metodología utilizada en el diseño e implementación de las redes propuestas, desarrollando y detallando cada tarea realizada para poder llegar al resultado final, desde la obtención y tratamiento de datos hasta las pruebas de prueba finales. En el capítulo cuarto se realiza una valoración global de las redes y se presentan y discuten los resultados obtenidos.
Finalmente, se concluye la memoria indicando las aportaciones que a nuestro parecer incorpora este trabajo.
Dataset GTSRB/GTSDB BTS STS
Referencia [11, 12, 13] [14] [15]
N.º total de imágenes 51839/1187 7095 20000
Imágenes entrenamiento 39209/859 4575 14000
Imágenes prueba 12630/328 2520 6000
Imágenes anotadas 51839/1187 7095 4000
N.º de clases 43 62 7
Tamaño imágenes 15x15 a 222x193 1628x1236 1280x960 Tamaño señal 15x15 a 222x193 10x10 a 248x213 1x5 a 263x248
País Alemania Bélgica Suecia
Tabla 1: Información de dataset públicos de señales de tráfico.
2. Reconocimiento y Detección de Señales de Tráfico.
Revisión Bibliográfica.
Durante los últimos 10 años se han realizado importantes esfuerzos para desarrollar y probar metodologías innovadoras para abordar el problema de la detección y reco- nocimiento de señales de tráfico, generando una cantidad considerable de trabajos de investigación con tendencia a optimizar la utilización de sistemas de asistencia a la conducción, y en la conducción de vehículos no tripulados (UVD).
Muchas son las técnicas de detección (TSD) y de reconocimiento y varios los enfoques en los que investigadores basan sus propuestas optando por algoritmos tradicionales o apoyándose en el gran desarrollo del aprendizaje profundo en muchos otros campos, son varios los trabajos donde se han comenzado a aplicar las CNN a las tareas de detección y reconocimiento de señales de tráfico
A continuación, realizamos una breve revisión de estos trabajos, centrándonos en las publicaciones que han aparecido en la última década y en algunos de los trabajos de revisión últimamente publicados [16, 17].
2.1. Detección de Señales de Tráfico.
La etapa de detección de señales de tráfico incluye el reconocimiento de la región en la imagen o vídeo que contiene las señales de tráfico dentro de una escena compleja, para posteriormente extraer las características específicas representadas a través de patrones de señales de tráfico. Los métodos de TSD existentes se pueden agrupar básicamente en dos categorías: una basada en algoritmos tradicionales, la otra está relacionada con métodos de aprendizaje profundo Deep Learning.
Debido a que el significado básico de una señal de tráfico viene definido por dos atributos; el color y la forma, muchos trabajos usan esta información para detectar una señal de tráfico utilizando algoritmos tradicionales de detección. Sin embargo, tal y como se ha indicado en el capítulo anterior, existen problemas que dificultan estas tareas como los cambios de iluminación o el desvanecimiento del color de las señales de tráfico, así como la deformación y la oclusión de las señales de tráfico. Estos inconvenientes siguen sin resolverse y siguen siendo motivo de trabajos [5, 6, 7, 9, 18].
2.1.1. Algoritmos de Detección Basados en el Color.
No cabe duda, que la característica visual más importante y obvia de las señales de tráfico es el color. Es por eso, que la mayoría de los algoritmos tradicionales de detección de señales de tráfico utilizan un algoritmo de segmentación de color para extraer señales de tráfico del fondo para su reconocimiento.
Uno de los principales problemas de este tipo de algoritmos es que la luz exterior puede afectar tanto a la intensidad como al color de la imagen obtenida por las cámaras de los vehículos o los sensores de imagen.
Una de las primeras técnicas basadas en color utilizadas es la de segmentación por umbrales [19, 20, 21]. El umbral se establece después de clasificar los píxeles de la imagen en señales de tráfico o fondos, de manera que, si un píxel alcanza o supera el umbral, se considera un píxel de señal de tráfico y si no se alcanza el umbral, se considera un píxel de fondo.
Otro algoritmo basado en la segmentación por color es la llamada agrupación diná- mica de píxeles. Este método introduce un umbral dinámico en el proceso de agregación de píxeles en el espacio de color tono-saturación-valor (HSV, hue, saturation, value) y ajusta el umbral de acuerdo con el cambio en el brillo de la imagen para reducir la ines- tabilidad tonal de las escenas reales. Vitabile et al. [22] implementaron este algoritmo con una tasa de segmentación de 86.3 % 94.6 %.
Otras técnicas utilizan los histogramas de color de las imágenes para indexar estas y almacenarlas en una base de datos [23, 24]. Si bien se trata de un algoritmo sencillo, rápido y efectivo la complejidad de las escenas hacen que se aumente el cálculo.
Los espacios de color utilizados varían de unos trabajos a otros. El espacio de co- lor más intuitivo es el RGB. Sin embargo, resulta ser muy sensible a los cambios de iluminación, y sus componentes muy correlacionados. Para superar estos problemas, se utiliza un espacio RGB normalizado. Algunos trabajos [25, 26], utilizan el algoritmo de transformación basada en el Modelo de Apariencia de Color CIE 1997 (CIECAM97), lo- grando una tasa de detección superior al 90 %. El algoritmo primero convierte el espacio rojo-verde-azul (RGB) de la imagen en el espacio XYZ estándar de la Commission In- ternationale de l’eclairage (CIE), para luego, utilizando el modelo CIECAM97 obtener la luminosidad, el cromo y la tonalidad (LCH) para segmentar las señales de tráfico.
El modelo de color HSI es muy popular porque se basan en la percepción humana del color codificando la información de color separando un valor de brillo general de los dos valores que codifican el tono y la saturación para que no se vea afectado por los cambios en la luz. Muchos investigadores [27, 28, 29], han utilizado estos espacios de color.
2.1.2. Algoritmos de Detección Basados en la Forma.
Otra característica evidente de una señal de tráfico es la forma. Las señales de tráfico generalmente tienen formas triangulares, rectangulares, octogonales y circulares.
Los métodos basados en las formas son una buena alternativa cuando los colores son difíciles de detectar
Los primeros algoritmos que primero vienen a la mente cuando hablamos de formas son los detectores de bordes, detectores como Sobel, Prewitt o Canny para extraer los bordes de las imágenes en escala de grises han sido utilizados en numerosos trabajos [30, 31, 32]. La transformada de Hough es otra técnica que recurre a la información del borde para detectar formas. Si bien, resulta ser un método no muy apropiado para aplicaciones en tiempo real ya el cálculo es complejo y el requisito de memoria es grande, lo que hace que carezca de velocidad de detección. En [33] se utilizó la transformada circular de Hough fue utilizada para detectar símbolos circulares y la transformada de líneas de Hough para detectar símbolos triangulares consiguiéndose tasas de detección de señales de límite de velocidad y de señales de peligro del 97,2 % y 94,3 %, respectivamente.
El método de detección de similitud se empleó con resultados dispares, tasa máxi- ma de detección del 95,7 %, frente la tasa de detección del símbolo del triángulo del 86,3 % [22]. Este método calcula el coeficiente de similitud entre una región segmentada y un conjunto de muestras de imágenes binarias que representan la forma de cada señal de tráfico. El algoritmo asume que la dimensionalidad de la imagen muestreada es la misma que la de la imagen segmentada.
Los algoritmos de detección basados en formas pueden tener más problemas que los algoritmos de detección basados en color. Las señales de tráfico que se encuentran en una escena compleja, con una forma imperfecta, con oclusión del objeto, con el ángulo de orientación inapropiado, etc., hacen que el rendimiento de estos algoritmos sea muy variable.
2.1.3. Algoritmos de Detección Basados en el Color y en la Forma.
Un algoritmo de detección que se base solo en la información del color o de la forma puede resultar insuficiente cuando una imagen contiene señales de tráfico con el mismo color o forma. Es por eso, que muchos investigadores han trabajado con algoritmos de detección que combinan ambas informaciones. Estos algoritmos de detección constan generalmente de dos etapas: segmentación del color del espacio de color de la imagen y análisis de la forma.
En [38], la relación RGB se utiliza para segmentar la imagen de entrada RGB y luego se utiliza el algoritmo Douglas-Peucker (DP) para el análisis de forma El algoritmo DP es una técnica de aproximación de contorno basada en el número de límites de objetos.
En otro trabajo [34], la segmentación del color se lleva a cabo primero en el espacio de color HSV y, a continuación, se insertan cuadros de límite en todas las regiones detectadas por la segmentación del color. Finalmente, las señales de tráfico se detectan por el color, el tamaño y el número promedio de píxeles en el cuadro de límite.
En los métodos tradicionales de detección de señales de tráfico, la mayoría de los algoritmos consideran las características inherentes de color y forma de las señales de tráfico. Sin embargo, tanto la información de color como la información de forma se ven fácilmente afectadas por las condiciones ambientales. Por lo tanto, en condiciones climáticas severas y entornos complejos, estos algoritmos tienden a fallar.
2.1.4. Algoritmos de Detección Basados en Deep Learning.
Con la aparición del Deep learning se empezaron a diseñar nuevas arquitecturas más profundas y complejas que posibilitaban la extracción de características de mayor nivel. Debido a la profundidad de las redes, el entrenamiento de los algoritmos era más robusto y permitía un aprendizaje autónomo para la extracción de características sin tener que predecirlas con anterioridad.
Los algoritmos de aprendizaje profundo utilizan una red neuronal multicapa para extraer y aprender automáticamente las características de los objetos, lo que resulta de gran interés en el procesamiento de imágenes [35]. Los modelos de CNN son uno de los enfoques de aprendizaje profundo más utilizados para TSD.
Dentro de estas arquitecturas Deep learning podemos distinguir dos modelos. El primero toma como base los detectores de objetos tradicionales para generar propuestas de regiones o regiones candidatas y después clasificarlas. A este modelo se le conoce por el nombre de arquitectura de dos fases. El segundo consigue un nivel de abstracción mayor, considerando el problema de la detección como un problema de regresión y clasificación e infiriendo así, en una sola fase, la localización y clasificación del objeto.
Este último modelo se dice que se trata de una arquitectura de una fase.
Uno de los algoritmos de los denominados de detección de dos etapas cuya estrate- gia se basa en la búsqueda selectiva de regiones propuestas, es la arquitectura Region Proposal Network (RPN) [36]. Los RPN utilizan cajas que sirven como referencias en múltiples escalas y relaciones de aspecto. La gran ventaja de estos sistemas son el gran rendimiento de detección, pero, por contra, tienen un costo computacional elevado y requieren de hardware de alto rendimiento. Un trabajo que utiliza una de estas redes para detectar señales de tráfico de una base de datos china [37], obtuvo una tasa de detección en secuencias de imágenes continua de 99 % siendo el tiempo medio empleado en cada imagen de aproximadamente 51,5 ms. Por el contrario, este algoritmo requiere una alta calidad de hardware lo que le hace que no sea una buena opción para sistemas UVD.Los algoritmos como Faster Region Convolution Neural Network (R-CNN) se pueden fusionar en una sola red compartiendo sus características convolucionales, combinando la búsqueda mediante regiones propuestas mediante cuadros delimitadores y la clasifica- ción de objetos, lo que, empleando la terminología recientemente utilizada se denomina las redes neuronales con mecanismos de atención. El componente RPN le dice a la red unificada dónde debe buscar [38]. Un trabajo basado en este modelo [39] realiza en primer lugar la detección de las regiones de interés mediante una búsqueda selectiva para luego mediante una CNN depurar la detección.
El modelo denominado Small Object Sensitive (SOS)-CNN se utiliza en [40]. Este algoritmo detecta señales de tráfico a través de una pirámide de imágenes. El algoritmo primero muestrea la imagen original de entrada y la divide en una imagen pequeña con un tamaño fijo. Estas pequeñas imágenes se introducen en el modelo SOS-CNN como
imágenes de entrada para construir la pirámide de imágenes. El algoritmo tiene un buen rendimiento en la detección de objetivos pequeños. Sin embargo, consume mucho tiempo y puede no ser capaz de satisfacer las exigencias para detección en tiempo real.
Los algoritmos conocidos como algoritmos de detección de una sola etapa [41], eli- minan la idea de regiones propuestas por las redes RPN, y realizan directamente la regresión y clasificación en una sola red. A esta categoría de una sola etapa pertene- cen las redes You Only Look Once (YOLO) y Single Shot MultiBox Detector (SSD).
En estos modelos, la detección de objetos se convierte simplemente en un problema de regresión de manera que, se obtienen simultáneamente las coordenadas de los cuadros delimitadores predichos, la confianza del objetivo y la probabilidad de la clase a la que pertenece dicho objetivo a través de una entrada de imágenes [42].
Varios son los trabajos publicados utilizando las distintas versiones existentes de YOLO para TSD [43, 44]. La última versión de la serie YOLOv5, se utilizó sobre una basa de datos de señales de tráfico propia conteniendo 2182 imágenes incluidas en 8 cla- ses comprobando la precisión y velocidad del modelo [45]. Los resultados experimentales obtenidos indicaron una precisión de hasta 97,70 % para todas las clases.
Desde su aparición [46], las redes SSD se han venido empleando para detectar obje- tos visuales en varios campos. Recientemente, una versión mejorada se ha implementado utilizando el conjunto de datos CTSD [47], los resultados. demuestran que el modelo puede mejorar la capacidad de extracción de características de la red, reducir la pér- dida de información causada por la operación de pooling y mejorar efectivamente el rendimiento de detección de objetos pequeños.
Una comparación del rendimiento obtenido por diferentes arquitecturas de aprendi- zaje profundo SSD, RCNN y YOLOv2 entrenadas para cinco clases diferentes de señales de tráfico del conjunto de datos GTSRB, muestra que la precisión de YOLOv2 supera a RCNN y SSD en un 3,5 % y un 21 % respectivamente. Además, YOLOv2 aprendió tres veces más rápido que el modelo RCNN [48].
2.2. Reconocimiento de Señales de Tráfico.
El reconocimiento de señales de tráfico es la etapa final de cualquier sistema de asistencia a la conducción (ADAS) o de conducción en vehículos no tripulados (UVD).
Una vez detectadas las señales de tráfico dentro de la imagen compleja captada se ha de dar significado a dichas señal. Muchos son los algoritmos utilizados en los numerosos trabajos que podemos encontrar en la literatura especializada. Dentro de los métodos que podríamos llamar tradicionales, encontramos aplicaciones de algoritmos de análisis de bordes, algoritmos de coincidencia de características y los de aprendizaje automático (machine learning). Últimamente, surgen con un importante auge la utilización de las redes de aprendizaje profundo
2.2.1. Algoritmos de Reconocimiento Tradicionales.
Algunos investigadores han utilizado un detector de puntos de interés basado en el algoritmo speeded up robust features (SURF) [49] para reconocer las señales de tráfico.
SURF se utiliza en primer lugar, para detectar los puntos de interés en la imagen, como manchas y esquinas. A continuación, se utiliza entonces como descriptor para formar un vector propio para representar los puntos de interés detectados. Luego, comparando los vectores de características de las señales de tráfico de destino con los vectores de características almacenados en la base de datos, se obtiene la coincidencia de similitud.
Otros autores, utilizan algoritmos basados en invariantes de escala y rotación, Bi- nary Robust Invariant Scalable Keypoints (BRISK) [50]. Las dos etapas principales de estos algoritmos son la detección de puntos clave y la extracción de cadenas de bits binarias lo que implica comparaciones de la intensidad de píxeles para formar vecto- res descriptores. El número máximo de coincidencias clave-valor proporcionadas por la
imagen de plantilla se considera la clase de destino. Los algoritmos BRISK tienen una ventaja sobre los algoritmos SURF en términos de velocidad de detección y cálculo del descriptor. Sin embargo, el tiempo de reconocimiento aún es largo y puede no cumplir con los requisitos de reconocimiento en tiempo real.
Como ejemplo de utilización de algoritmos de análisis de borde, en [51], los autores proponen un algoritmo basado en la transformada de Hough dependiente de la función de histograma y de la información recibida de cada contorno candidato. Sin embargo, este método carece de un marco de evaluación común para los sistemas de detección de señales de tráfico.
Los métodos tradicionales de aprendizaje automático, seleccionan características visuales específicas como; Haar-like, HOG, SIFT, etc. [52], que utilizan para realizar la clasificación. No obstante, obtener una descripción precisa de estas características resulta ser un problema de difícil solución principalmente debido a la cantidad de clases de señales de tráfico existentes [53, 44].
Uno de los algoritmos más utilizados dentro de machine learning son los algoritmos basados en SVM y en redes neuronales. SVM es un tipo de clasificador lineal genera- lizado que clasifica datos binarios de acuerdo con el aprendizaje supervisado, En [54], las señales de tráfico detectadas se codifican extrayendo el histograma de gradientes orientados (HOG) de la imagen para generar vectores de entidad. El algoritmo toma el vector de características generado como entrada del SVM y tiene una alta precisión de reconocimiento. En [55], se discute el uso de características globales y características de momento Zemike de imágenes binarias para entrenamiento y análisis. Se comparan los resultados experimentales de cuatro SVM de kernel diferentes obteniéndose resultados satisfactorios. La precisión de reconocimiento de SVM es muy buena, pero solo se aplica al caso de separabilidad lineal, y el grado de interferencia es pobre. El tiempo de cálculo es demasiado largo, y en una escena de tráfico compleja, es posible que no se logre el reconocimiento en tiempo real.
2.2.2. Algoritmos de Reconocimiento Basados en Deep Learning.
Para resolver las dificultades en el entrenamiento de las ANN, surgieron las CNN y entraron en la era del aprendizaje profundo para resolver problemas visuales. En los últimos 10 años, los investigadores en el campo del reconocimiento de señales de tráfico han propuesto varios modelos de red de alto rendimiento. Al principio, la mayoría de ellos estudiaron la profundidad y el ancho de las CNN para mejorar la precisión del modelo. En los últimos años, la mayoría de los trabajos se centran en tratar de reducir el número de parámetros manteniendo la precisión del modelo.
Ciresan et al. [56] propusieron un algoritmo totalmente parametrizado basado en una CNN utilizando una unidad de procesamiento de gráficos (GPU). El sistema es insensible a las variaciones de contraste y los cambios de luz sin requerir elaborados extractores de características. El sistema alcanzó una tasa media de reconocimiento del 98,5 %, con un número de parámetros de 1,54 M. Un año después, los mismos investigadores [57]
propusieron un algoritmo mejorado que combinaba varias redes neuronales profundas (DNN) entrenadas por diferentes datos de preprocesamiento reemplazando a la CNN por una red de múltiples columnas (MCDNN). Fue el primer sistema que logró una tasa de reconocimiento mejor que la humana, el 99,46 %. siendo el ganador del concurso de detección y reconocimiento de señales de tráfico celebrado en Alemania en el año 2011.
Sin embargo, el número de parámetros de este algoritmo se incrementa a 38,5 M, y en consecuencia, la cantidad de cálculo y el tiempo aumentaron.
En 2014 [58]se propone un algoritmo para entrenar una CNN a través del método denominado Hinge Loss Stochastic Gradient Descent (HLSGD). La estructura de red del algoritmo se compone de tres capas, y el número de parámetros es de 23,2 M; la tasa de reconocimiento del algoritmo alcanzó el 99,63 %. La complejidad computacional de este algoritmo es menor que la del MCDNN, siendo la precisión del reconocimiento
mayor que la del MCDNN, lo que sugiere un excelente algoritmo de reconocimiento de señales de tráfico.
En 2016 [59], unos autores desarrollaron un nuevo conjunto de datos que consta de 100.000 imágenes y proponen uno de los primeros modelos unificados que realiza la detección y clasificación de señales de tráfico simultáneamente mediante la fijación de ramas de predicción en la capa final más profunda de una CNN. El método logró una precisión del 84 %.
En 2017 [4], presentaron un sistema de reconocimiento de señales de tráfico de dos etapas que conseguía una alta eficiencia. En el sistema, se utilizó por primera vez un LINX Mobile Mapper para adquirir y procesar datos de nubes de puntos 3D. Posterior- mente, se utilizó una red neuronal profunda para clasificar la proyección de la nube de puntos en imágenes RGB.
En 2018 [60], se propone un algoritmo de reconocimiento de señales de tráfico (Mi- cronNet) que es muy adecuado para escenas incrustadas. La arquitectura de red del algoritmo es una DNN altamente compacta. El número de parámetros es de solo 0,51 M, por lo que resulta ser muy adecuada para dispositivos integrados. La tasa de re- conocimiento es del 98,0 % en términos de precisión total y del 98,9 % en precisión media.
En [61], los autores presentaron un completo resumen de las técnicas disponibles para los sistemas de reconocimiento de señales de tráfico utilizando CNN. En el tra- bajo, se enumeraban los desafíos a los que se enfrentan en términos de complejidad y coste temporal. Además, propusieron un método que utilizaba el detector de bordes Canny para resaltar los bordes de los símbolos de tráfico. Para mejorar la clasificación y el reconocimiento, utilizaban una CNN basada en la técnica de clasificación difusa utilizada.
En [62], los autores propusieron un sistema basado en dos CNN’s; uno para las propuestas de regiones con señales de tráfico invariante de la escala y la otra para la clasificación de cada región. El sistema logró un 99.88 % de precisión.
Franzen et al. [63] en el año 2020, utilizaron redes neuronales para el reconocimiento de señales de tráfico en el dominio de frecuencia. En comparación con los trabajos existentes en el dominio espacial, tiene ventajas porque, para la misma precisión, es posible reducir significativamente el número de neuronas y, por lo tanto, el esfuerzo computacional. El sistema sobre la base del conjunto de datos GTSRBtest, logró una precisión de reconocimiento del 99,6 %, demostrando que el reconocimiento de señales de tráfico funciona mejor en el dominio de la frecuencia que en el dominio espacial, particularmente en casos de modelos pequeños con un número limitado de neuronas ocultas.
La mayoría de las CNN no se ejecutan en tiempo real debido al alto número de operaciones computacionales involucradas durante la fase de inferencia. Para abordar este problema los investigadores proponen técnicas de cuantización. Es habitual, que las redes neuronales cuantizadas (QNN) utilicen técnicas de estimación de gradiente como el estimador recto (STE) [64], para eludir la función de cuantización no diferenciable en el paso hacia atrás y actualizar los pesos latentes y sus gradientes correspondientes.
Ya que, al limitar los pesos y las activaciones de las CNN a un conjunto restringido de valores, resulta difícil usar el descenso de gradiente estocástico estándar (SGD) para actualizar los parámetros de la red durante la retro propagación.
En [65] se investiga la viabilidad del uso de BNN para TSDR. Para este fin, reali- zan la binarización del modelo de detección de objetos RetinaNet, y evalúan el modelo binarizado en términos de precisión de detección y complejidad computacional. Demos- trando que el uso de BNN no solo reduce el tamaño general de la memoria del modelo de detección, sino que también se consigue una velocidad de inferencia más rápida debido a la menor complejidad computacional. Todo esto se logra con solo una caída insig- nificante en la precisión de la detección. Los resultados destacan el potencial de BNN
como un enfoque para implementar detectores de señales de tráfico basados en CNN en vehículos autónomos que cumplen con los requisitos de un sistema en tiempo real.
Existen en la literatura varios trabajos de recopilación de las principales propuestas para TSDR realizadas en los últimos años, que permiten de una manera ágil y directa conocer el estado del arte y que han sido utilizadas para confeccionar este capítulo, [16, 17].
Como resumen a este repaso del estado del arte, podemos concluir que construir un TSRD constituye un desafío. Esto hace que los sistemas que utilizan algoritmos tradicionales de visión por computadora, que se basan en el color y la geometría de las señales de tráfico, no sean lo suficientemente robustos y fiables, especialmente para escenarios urbanos. Sin embargo, estos desafíos se están abordando gradualmente con el uso de redes neuronales convolucionales (CNN).
A lo largo de los años, las arquitecturas de CNN se han vuelto más precisas en estas tareas. En el escenario actual, los métodos basados en el aprendizaje profundo emergen como una técnica efectiva para automatizar ATSDR. Los estudios han demostrado que las DNN de una sola etapa SSD, YOLO y sus variantes YOLOv1, YOLOv2, YOLOv3, YOLOv4, funcionan mejor en la detección de objetos en tiempo real que los modelos de la familia CNN.
Desafortunadamente, los avances se han producido a costa de una mayor complejidad del modelo lo que da lugar a problemas cuando se implementa en un sistema integrado que está limitado en términos de potencia computacional o energía, como ocurre en el contexto de la conducción autónoma. Para poder seguir realizando inferencias en dis- positivos restringidos, es necesario reducir la cantidad/complejidad de los cálculos. El término compresión de modelos resume todas las técnicas que se pueden utilizar para reducir la huella de memoria de un modelo CNN y acelerar su cálculo. Estas técnicas incluyen la cuantización [66] y la poda [67]. La poda elimina partes irrelevantes de la red que no contribuyen mucho a la precisión general. La cuantización reduce la preci- sión numérica de los valores de peso almacenados dentro de la red utilizando valores numéricos de baja precisión. Para reducir el tamaño del modelo y simplificar las ope- raciones de convolución, las redes neuronales binarias (BNN) han mostrado resultados prometedores [68].
Otra cuestión que conviene mencionar es que muchos de los métodos de clasificación de señales de tráfico, se basan en la suposición de que todas las señales de tráfico posibles ya se han detectado con éxito y sus ubicaciones son precisas, aunque también existen trabajos que tratan la detección y clasificación simultáneamente.
3. Metodología.
En este capítulo se recoge la metodología llevada a cabo para el diseño de dos redes neuronales profundas capaces de identificar y clasificar los tipos de señales de tráfico más comunes. Debido a las características de tiempo real y confiabilidad en los ADAS o en las aplicaciones en UVD, cada señal de tráfico debe manejarse en un intervalo específico para garantizar la precisión de los resultados de detección y reconocimiento. presentando un tamaño reducido y resultando ser fácilmente implementables en hardware específico.
En la exposición y justificación de las soluciones aportadas para estos objetivos se centrará este capítulo.
La implementación de las redes se ha realizado utilizando el lenguaje técnico de computación Python, se trata de un lenguaje de alto nivel interpretado siendo el len- guaje más usado dentro del campo de la Inteligencia Artificial, debido en principalmente por su sintaxis sencilla y la amplia variedad de librerías auxiliares que facilitan el trata- miento de grandes volúmenes de datos y la creación de redes neuronales. Algunas de las librerías disponibles para este lenguaje, como pueden ser TensorFlow, Keras y NumPy han sido utilizadas en este trabajo.
3.1. Adecuacuón del Dataset Personalizado
Para la etapa de detección, se ha utilizado GTSD, simplemente etiquetando las imágenes de acuerdo con el formato YOLO, cuyas características se explican en una sección posterior.
Para la etapa de clasificación, se han combinado los datasets GTSR junto con BTS.
Dado que los datasets utilizados tienen distinto número de clases (43 GTSR y 62 BTS), se han escogido solo las imágenes del conjunto belga que están comprendidas dentro del esquema de clases del alemán y adicionalmente se ha añadido una clase adicional de imágenes de fondo. Para solucionar la descompensación entre clases, se ha aplicado data augmenationhasta obtener 6000 ejemplos de cada tipo. Las operaciones empleadas para conseguir el número de imágenes final han sido rotaciones, traslaciones, filtrado bilateral y cambios de brillo y contraste aleatorios.
3.2. Detección de Señales de Tráfico.
Generalmente, en visión artificial, los problemas de clasificación se enmarcan en es- cenarios en los cuales solo hay un objeto presente en la imagen, de manera que el modelo intenta comprender la totalidad de la imagen asignándole una etiqueta específica, sin embargo, cuando no somos capaces de describir lo que hay en una imagen con una sola etiqueta, estamos ante un problema en el que la detección resulta crítica.
La detección de objetos involucra tareas tanto de clasificación como de localización y se usan para analizar casos más realistas, en los cuales pueden existir varios objetos en las imágenes. Por lo tanto, la detección de objetos suele ser un proceso de dos pasos:
1. Encontrar la localización de los objetos y definirla en bounding boxes.
2. Clasificar estas bounding boxes en distintas clases
De esta manera, la detección de objetos sufre, además de los problemas típicos asociados a la clasificación de imágenes, los de los desafíos asociados a la localización y la velocidad de ejecución. La difícil tarea de los sistemas de detección y reconocimiento de señales de tráfico debe ser correcta y confiable dentro de un tiempo limitado.
La detección de objetos es uno de los problemas más críticos y desafiantes de la visión artificial y el progreso en este campo durante la última década ha sido significativo. A lo largo del tiempo, dentro de esta área de investigación, ha habido dos etapas claramente diferenciables: hasta el año 2010, las técnicas tradicionales de visión artificial eran las
más usadas y a partir del año 2012, las redes neuronales convolucionales se convirtieron en la técnica predominante.
Esta distinción entre las dos etapas queda ejemplificada en la Figura 2 [69], donde se puede apreciar como en el año 2001 con Viola-Jones [70], comienza con las técnicas más tradicionales, hasta llegar a la utilización de EfficientNet [71] en el año 2019. En el esquema, se puede apreciar que, dentro del segundo periodo se hace una distinción para representar los diferentes modelos de CNN con arquitecturas de 2 etapas y las de una única etapa.
La mayoría de los algoritmos tradicionales de detección de objetos, como el Viola- Jones, el histograma de gradientes orientados (HOG) y el modelo de partes deformables (DPM), se basan en la extracción de características como bordes, esquinas y gradientes de la imagen y en algoritmos clásicos.
El cambio llegó con la introducción AlexNet, que a pesar de ser una red diseñada inicialmente para la clasificación de imágenes, demostró ser de aplicación inmediata en resolución de problemas de detección como extractores de características. La creación de la arquitectura R-CNN [72] dio lugar a la aparición de los modelos de 2 etapa, los cuales aplicaban una red convolucional a regiones de interés.
El otro tipo de modelos, los llamados de etapa única, tratan el problema de detección como si fuera un problema de regresión, saltándose el paso de proposición de regiones, como el que se hace en los modelos de 2 etapas. Algunos de los modelos que siguen este esquema son SSD [46], EfficientNet y YOLO [42].
La diferencia entre ambas propuestas se basa en que los detectores de 2 etapas suelen ser más precisos que los de etapa única, a cambio de ser más lentos en la inferencia.
Debido a la naturaleza del problema, es de interés utilizar detectores de etapa única, ya que la velocidad es uno de los aspectos más importantes al detectar señales de tráfico con un coche en movimiento. Por este motivo, se realiza un estudio de los diferentes modelos o versiones de la familia de las redes YOLO, hasta llegar a la YOLOv4 por ser la versión que en este trabajo se ha utilizado para la tarea de detección de señales de tráfico.
Figura 2: Historia de la Detección de Objetos. Fuente [69].
3.2.1. YOLOv1.
YOLO [42] publicado en 2016, fue el primer detector de etapa única, y supuso un gran avance en el campo de la detección de objetos al ser el primer modelo que abordaba el problema de la detección como una regresión. Como el propio nombre indica, la arquitectura propuesta solo "miraba"la imagen una vez para predecir la localización de los objetos y sus etiquetas de clases.
A diferencia del enfoque de los detectores de dos etapas (Fast RCNN, Faster RCNN), YOLOv1 no tiene un generador de propuestas ni etapas de refinamiento, ya que utiliza una sola red neuronal para predecir en una sola pasada las probabilidades de clase y las coordenadas de las bounding boxes de la imagen. Al estar formada la cadena de detección esencialmente por una sola red, esta puede optimizarse de principio a fin.
YOLOv1 obtuvo un 63.4 mAP (mean Average Precision) en PASCAL VOC, un dataset de detección a gran escala que contiene imágenes de 20 categorías de objetos con 11,530 imágenes con 27,450 regiones de interés o bounding boxes.
Como hemos comentado anteriormente, YOLO unifica todos los componentes de un detector de objetos en una red neuronal única, esto ayuda al modelo a procesar globalmente la imagen al completo y los objetos comprendidos en dicha imagen. El proceso de detección sigue básicamente tres pasos:
1. Redimensionar la imagen de entrada a 448 × 448.
2. Pasar la imagen por la red convolucional.
3. Aplicar un umbral de detección según la confianza del modelo para eliminar du- plicados.
Este diseño permite a YOLOv1 entrenar más rápido y obtener inferencia en tiempo real a la vez que asegura una precisión media alta, en comparación con detectores de dos etapas.
YOLOv1 realiza la detección siguiendo un proceso unificado que comienza dividiendo la imagen en una rejilla (S × S), de manera que, si el centro de un objeto cae dentro de una de las celdas resultantes de dividir la imagen, esa celda es responsable de detectar dicho objeto.
Cada celda puede detectar y computar la confianza para (B) bounding boxes, Un ejemplo de este proceso se ilustra en la Figura 3 con S = 7 y B = 2. En total, el modelo puede detectar S × S × B bounding boxes, es decir, 49 × 2 = 98 bounding boxes. Sin embargo, durante el entrenamiento de la red el modelo tiende a suprimir una de las dos bounding boxes en cada celda basándose en la IoU (Intersection Over Union) de estas.
A cada bounding box se le asigna un valor de confianza que indica como de seguro está el modelo de que dicha bounding box contiene un objeto, esta confianza se puede definir como:
C = Pr(object) × IOUpredtruth (1) Donde C = Pr(object) toma el valor 1 si el objeto existe y 0 en el caso contrario, de manera que la confianza se corresponde con el IoU entre la bounding box predicha y la bounding box proporcionada por el dataset o etiquetada a mano, que delimita la localización del objeto. IoU sencillamente mide la ratio entre el área de intersección y el área de unión:
IoU = Area de Superposicion
Area de Union (2)
Por lo tanto, la confianza no será del 100 % a no ser que la predicción no se alinee perfectamente con el objeto. Cada bounding box va a contener la predicción de 5 valores, ˆ
x, ˆy, ˆw, ˆh, ˆC, siendo:
ˆ
x, ˆy representan las coordenadas del centro de la bounding box relativo a la celda a la que se encuentran.
Figura 3: Imagen dividida en una rejilla, S = 7, con las bounding boxes predichas para cada división. Fuente [42].
ˆ
w, ˆhrepresentan la anchura y altura de la bounding box relativo a la imagen entera.
Cˆ representa el valor de confianza de dicha bounding box.
Adicionalmente, cada celda predice C probabilidades condicionales Pr(Clasei|Objeto)
Que como ya hemos comentado antes, solo existe cuando hay un objeto en la celda.
Finalmente, el tensor resultante estará formado por los 5 valores de cada bounding box, habiendo 2 bounding boxes por celda, más las probabilidades condicionadas de clase, teniendo la forma S × S × (5 + 5 + Numero de clases). Para un dataset con C = 20 y S = 7, la forma del tensor resultante sería 7 × 7 × 30, como se puede apreciar en la Figura 4.
La arquitectura de red se puede apreciar en la Figura 5. Inspirada en GoogLeNet [74], usa filtros (1 × 1) en vez de módulos Inception. Consta principalmente de tres tipos de capas: Convolucional, Maxpool y Totalmente Conectada. La red YOLO tiene un total de 24 capas convolucionales que realizan la extracción de características de la imagen, seguidas de dos capas totalmente conectadas para predecir las coordenadas de la bounding box y las puntuaciones de clasificación.
Como primer paso, la red se entrenó con el conjunto de datos de 1000 clases de ImageNet. A continuación, en el paso de preentrenamiento, los autores consideraron hasta las 20 primeras capas convolucionales, seguidas de una capa de pooling de media y de una capa totalmente conectada.
Entrenaron este modelo durante casi siete días y consiguieron una precisión del 88 % en el conjunto de validación de ImageNet. Se entrenó con una resolución de entrada de 224 × 224, la mitad de la resolución utilizada para la detección de objetos.
Para entrenar la red neuronal para la tarea de detección se utilizaron los conjuntos de datos PASCAL VOC 2007 y 2012. La red se entrenó durante aproximadamente 135
Figura 4: Tensor de salida, con las bounding box predecidas y las probabilidades de clase. Fuente [73]
Figura 5: Arquitectura de red de YOLOv1. Fuente [42].
epochs con un tamaño de batch de 64 y un momentum de 0,9. El learning rate varió a medida que avanzaba el entrenamiento de 10−2 a 10−4. Para evitar el sobreajuste se utilizaron técnicas estándar de data augmentation y dropout.
Como la detección es una tarea mucho más difícil y requiere información contextual detallada, la entrada se amplió a 448 × 448. Todas las capas, excepto la última, utilizan LeakyReLU como función de activación con α = 0,1, y la última capa es lineal.
YOLO usa una función de pérdida personalizada, representada a continuación, ba- sada en el error de suma cuadrática:
λcoord S2
X
i=0 B
X
j=0
1objij [(xi− ˆxi)2+ (yi− ˆyi)2] + λcoord S2
X
i=0 B
X
j=0
1objij [(ωi− ˆωi)2+ (hi− ˆhi)2]
+
S2
X
i=0 B
X
j=0
1noobjij [(Ci− ˆCi)2+
S2
X
i=0 B
X
j=0
1objij [(pi(c) −piˆ(c))2
(3) La primera parte de la ecuación computa el error entre los puntos medios de la boun- ding box que predice la red (ˆx, ˆy) y los puntos medios que se proporciona como salida deseada (x, y). Esta se calcula para todas las celdas, aunque solo se considera una de las dos bounding boxes. Adicionalmente, se pondera la pérdida con una constante λcoord
para garantizar que las predicciones de bounding box se acerquen lo máximo posible al objetivo. Por último, una función de identidad 1objij denota que el predictor (jº) del bounding box en la celda (i) es responsable de esa predicción. De forma que tomará el valor 1 si existe el objeto objetivo y 0 en caso contrario.
La segunda parte de la ecuación computa el error entre la altura y anchura de la bounding box que predice la red ( ˆw, ˆh) y la anchura y altura de la bounding box que se proporciona como salida deseada (w, h). Sin embargo, a diferencia de lo que ocurría con los puntos medios, esta vez se toma el valor de la raíz cuadrada para reflejar que pequeñas desviaciones en bounding boxes grandes importan menos que en las pequeñas.
En la tercera parte de la ecuación, dada la existencia de un objeto 1objij = 1, se calcula el error entre la puntuación de confianza prevista del bounding box ˆC y la puntuación de confianza objetivo C. Si no existe ningún objeto en la celda de la cuadrícula (i), entonces 1noobjij = 1y 1objij = 0lo que hará que la tercera parte de la ecuación tome el valor cero. Esta parte también se pondera con λnoobjpara que este término, en las celdas que no contienen objetos, no sobrepase los gradientes de las celdas que sí contienen. Por último, para cada celda, 1obji = 1 si aparece un objeto en la celda (i), se calcula la pérdida para las 20 clases. Siendo ˆp(c) la probabilidad de clase condicional predicha y p(c) la probabilidad de clase condicional objetivo.
3.2.2. YOLOv2.
YOLOv2 [75] es la segunda versión de la familia YOLO, que supone una mejora significativamente de la precisión y la rapidez.
El modelo YOLOv2 utilizó varias técnicas novedosas para superar a los métodos más avanzados, como Faster-RCNN y SSD, tanto en velocidad como en precisión. Una de estas técnicas fue el entrenamiento multiescala, que permitió a la red predecir con distintos tamaños de entrada, permitiendo así un equilibrio entre velocidad y precisión.
Con una resolución de entrada de 416×416, YOLOv2 logró 76,8 mAP en el conjunto de datos VOC 2007 y 67 FPS en una GPU Titan X. En el mismo conjunto de datos con 544 × 544 de entrada, YOLOv2 alcanzó 78,6 mAP y 40 FPS.
El objetivo de YOLOv2 era reducir los errores de localización, aumentando así el recall y manteniendo y superando la precisión de la clasificación. Añadiendo capas de Batch Normalization a las capas convolucionales mejoraba el mAP en un 2 % con res- pecto a YOLOv1 lo que ayudó a mejorar la convergencia del entrenamiento de la red y