Deep Learning object detection architectures in ADAS

134
Escuela Técnica Superior de Ingenieros Informáticos Universidad Politécnica de Madrid Deep Learning object detection architectures in ADAS Trabajo Fin de Máster Máster Universitario en Inteligencia Artificial AUTOR: Urtzi Otamendi Etxabe TUTOR/ES: Luis Baumela Molina y Aitor Gutierrez Basauri 2019

Transcript of Deep Learning object detection architectures in ADAS

Page 1: Deep Learning object detection architectures in ADAS

Escuela Técnica Superior de Ingenieros Informáticos

Universidad Politécnica de Madrid

Deep Learning object detectionarchitectures in ADAS

Trabajo Fin de MásterMáster Universitario en Inteligencia Artificial

AUTOR: Urtzi Otamendi EtxabeTUTOR/ES: Luis Baumela Molina y

Aitor Gutierrez Basauri

2019

Page 2: Deep Learning object detection architectures in ADAS

ii

Page 3: Deep Learning object detection architectures in ADAS

Agradecimientos

Lehenik eta behin eskerrak eman nahi dizkiet nire familia eta etxekoei Madrilen izandakourte honetan eman dizkidaten animoengatik, eta batez ere nire gurasoei esker ona adierazietxetik kanpo bizi eta ikasteko aukera eman bai didate. Bestalde nire alboan egon diren guztieieskerrak eman nahi dizkiet kurtso onen baitan izandako gora beherak gainditzeko indarraketa aholkuak emateagatik. Herrira itzultzerakoan eginiko afari eta planekin Madrilgo bizitzatikdeskonektatzen lagundu izanagatik eskerrak nire koadrila eta inguruko lagunei.

Bestalde akademikoki eskerrak ematerako orduan ez nituzke ahaztu nahiko azken lau urteotanIngeniaritza Informatikoko graduan izandako irakasleei, beraiek transmititutako jakintzari eskerizan baitut master hau egiteko aukera. Gainera graduan eginiko lagunei ere eskerrak eman nahidizkiet urte hauetan sortutako laguntasunagatik.

Bereziki Teknikerreko lankideak eskertu nahiko nituzke, batez ere Iñaki Maurtua eta Fran-cisco Febrer master amaierako proiektua beraien zentroan egiteko aukera eskaintzeagatik, etaAitor Gutierrez proiektuko zuzendari eta gainbegiratzaile izateagatik.

Quiero agradecer en especial a mis compañeros de piso por haberme acogido en su casa comouno más y haberme facilitado la adaptación a la ciudad de Madrid. Muchas gracias por haberhecho la convivencia muy entretenida y agradable, compartiendo fiestas, partidos de fútbol oplanes de fin de semana. Muchas gracias a Adri, Alex, Fran, Mehmet y Javi por ser mi familiaen Madrid.

Muchas gracias también a los profesores de la facultad y mi tutor Luis Baumela, por lasclases y conocimientos impartidos durante todo el curso, y sobretodo a todos los compañeroscon los que he compartido tardes de clases y alguna que otra fiesta. Os agradezco habermeayudado en proyectos, trabajos grupales o haciendo más amenas las clases.

Pero sobretodo quiero agradecer especialmente a Roman, Paris, Chicharrero, Sara, Sergio,Jonathan, Dani y Joaquin, por compartir conmigo tardes, viajes, fiestas, cenas, etc. Muchas gra-cias por todo lo que hemos vivido juntos y por hacer mi vida en Madrid mucho más entreteniday divertida. Os agradezco haber sido mi kuadrila de Madrid.

iii

Page 4: Deep Learning object detection architectures in ADAS

iv AGRADECIMIENTOS

Page 5: Deep Learning object detection architectures in ADAS

Resumen

Los avances en la capacidad de cómputo y la existencia de grandes cantidades de datos hanacelerado el avance en la aplicación de las técnicas de aprendizaje automático en diferentescampos. La robótica móvil, la conducción autónoma y los sistemas de Asistencia a la conduc-ción, son claros exponentes de campos en los que la aplicación de la IA puede abrir nuevasoportunidades. En particular, las redes neuronales profundas, se están erigiendo como una delas técnicas más interesantes para la problemática de la percepción visual. El principal objetivode este proyecto es el análisis de diferentes arquitecturas de redes neuronales para la detecciónen tiempo real de personas y objetos en el contexto de vehículos autónomos.

v

Page 6: Deep Learning object detection architectures in ADAS

vi RESUMEN

Page 7: Deep Learning object detection architectures in ADAS

Abstract

Advances in computing capacity and the existence of large quantities data have acceleratedprogress in the application of machine learning techniques in different fields. Mobile robotics,autonomous driving and driving assistance systems (ADAS) are clear exponents of fields inwhich the application of AI can open up new opportunities. In particular, deep neural networksare becoming one of the most interesting techniques for the problem of visual perception. Themain objective of this project is the analysis of different neural network architectures for thereal-time detection of people and objects associated with autonomous car mobility.

vii

Page 8: Deep Learning object detection architectures in ADAS

viii ABSTRACT

Page 9: Deep Learning object detection architectures in ADAS

Índice general

Agradecimientos iii

Resumen v

Abstract vii

1. Introducción y objetivos 1

1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1. Principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.2. Secundarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. El mercado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Recursos disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Estado del arte 5

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Deep learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3. Redes convolucionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4. Detección de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4.1. Arquitecturas basadas en regiones . . . . . . . . . . . . . . . . . . . . . . 14

2.4.2. Arquitecturas basadas en regresión/clasificación . . . . . . . . . . . . . . 24

ix

Page 10: Deep Learning object detection architectures in ADAS

x ÍNDICE GENERAL

3. Análisis de recursos tecnológicos 33

3.1. Arquitectura de detección de objetos . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2. Elección de los datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2.1. Dataset de semáforos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.2.2. Dataset de señales de tráfico . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.2.3. Dataset de elementos dinámicos . . . . . . . . . . . . . . . . . . . . . . . 46

4. Experimentación 49

4.1. Procesamiento de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.1.1. Dataset de semáforos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1.2. Dataset de señales de tráfico . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.1.3. Dataset de elementos dinámicos . . . . . . . . . . . . . . . . . . . . . . . 55

4.1.4. Unificación de datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.2. Inicios con la arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.2.1. Primer experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.3. Hyperparameter Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.3.1. Elección del HPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.3.2. Elección de hiper-parámetros relevantes . . . . . . . . . . . . . . . . . . . 67

4.3.3. Optimización del loss de validación . . . . . . . . . . . . . . . . . . . . . 68

4.3.4. Optimización de la precisión . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.4. Entrenamiento principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4.4.1. Modificación ADAS_AS . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.4.2. Entrenamiento final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.4.3. Integración en sistema embebido . . . . . . . . . . . . . . . . . . . . . . . 87

5. Resultados 89

Page 11: Deep Learning object detection architectures in ADAS

ÍNDICE GENERAL xi

5.1. Pruebas de testeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.1.1. Primera prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.1.2. Segunda prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5.2. Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6. Conclusiones 99

7. Líneas futuras 103

A. Anexos 105

A.1. Implementación del detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Bibliografía 107

Page 12: Deep Learning object detection architectures in ADAS

xii ÍNDICE GENERAL

Page 13: Deep Learning object detection architectures in ADAS

Índice de figuras

2.1. imagen de un perceptron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2. Ejemplo de una red neuronal simple. . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3. Representación del algoritmo backpropagation. . . . . . . . . . . . . . . . . . . . 8

2.4. Comparación entre redes recurrent y feedforward . . . . . . . . . . . . . . . . . . 8

2.5. Representación de la arquitectura CNN LeNet de Yann LeCun . . . . . . . . . . 10

2.6. Estructura de la red convolucional VGG16. . . . . . . . . . . . . . . . . . . . . . 10

2.7. Estructura de la red convolucional ResNet de 34 capas (arriba), comparada conuna CNN normal (medio) y una VGG-19 (abajo). . . . . . . . . . . . . . . . . . 11

2.8. Representación de la red convolucional ResNeXt (izquierda) comparando con supredecesor ResNet(derecha). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.9. Ejemplo gráfico de la tarea de detección de objetos. . . . . . . . . . . . . . . . . 13

2.10. Representación de la arquitectura R-CNN. . . . . . . . . . . . . . . . . . . . . . 15

2.11. Representación de la intersección sobre la unión. . . . . . . . . . . . . . . . . . . 16

2.12. Representación de la arquitectura Faster R-CNN. . . . . . . . . . . . . . . . . . 17

2.13. (a)La visualización de la arquitectura R-FCN que integra como columna ver-tebral la red ResNet. (b) Diagrama mostrando la estructura de ResNet y sucapacidad de atajar capas (identity). . . . . . . . . . . . . . . . . . . . . . . . . 18

2.14. Comparación del funcionamiento de R-FCN de 3x3 para la detección de unapersona. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.15. Representaciones visuales de las diferentes estructuras piramidales para la ex-tracción de mapas de características. . . . . . . . . . . . . . . . . . . . . . . . . 19

xiii

Page 14: Deep Learning object detection architectures in ADAS

xiv ÍNDICE DE FIGURAS

2.16. Estructura simplificada de la arquitectura mask R-CNN. . . . . . . . . . . . . . 20

2.17. Visualización de la estructura de PANet dividida en diversas partes estructurales. 21

2.18. Ejemplo de selección de chips de la arquitectura SNIPER a partir de ground-truth(verde) y en diversas escalas (morado, amarillo, azul y rosa). . . . . . . . . . . . 22

2.19. Visualización de la generación de chips positivos (verde) y de chips negativos(rojo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.20. Ilustración de la red TridentNet . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.21. Ilustración que ejemplifica el funcionamiento de la división por casillas de unaimagen de YOLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.22. Diagrama de la arquitectura de YOLO compuesta por 24 capas convolucionalesy 2 totalmente conexas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.23. Funcionamiento de la arquitectura SSD. (Izquierda) La imagen con ground truthboxes. (Centro) Mapa de caracteristicas 8x8. (Derecha) Mapa de caracteristicas4x4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.24. Ilustración que ejemplifica el funcionamiento de la división por casillas de unaimagen de YOLO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.25. Pruebas de clusterting realizadas en la publicación de YOLOv2 para calcular lamejor dimension de la caja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.26. Regresión de cajas delimitadoras utilizando anchor boxes (caja de puntos) y lapredicción de la localización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.27. Ilustración de la trasmisión de las características de la capa de 26x26 a la de13x13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.28. Gráfica de comparación del funcionamiento de Focal Loss para diversos valoresde γ, cuanto mayor valor, mayor es la influencia de los ejemplos difíciles en elentrenamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.29. Visualización de la arquitectura del detector RetinaNet. . . . . . . . . . . . . . 31

3.1. Gráfica ilustrativa del trade-off de las arquitecturas más destacables. . . . . . . 38

3.2. Función de perdida para el objeto k, siendo Yxyc el centro generado y Yxyc elcentro real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3. Unificación de las funciones de perdida para la detección de objetos clásica. λsize

y λoff son el peso ponderado que tienen en las funciones de pérdida Lsize y Loff . 41

Page 15: Deep Learning object detection architectures in ADAS

ÍNDICE DE FIGURAS xv

3.4. Ejemplo del funcionamiento de la inferencia de CenterNet. (Izquierda) selecciónde punto relevante. (Centro) Estimación de offset. (Derecha) Estimación deltamaño. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5. Ejemplo de anotaciones del dataset DTLD. . . . . . . . . . . . . . . . . . . . . 44

3.6. El formato de las etiquetas del dataset DTLD. . . . . . . . . . . . . . . . . . . 44

3.7. Ejemplos de los diversos formatos de anotación de Berkeley. . . . . . . . . . . . 47

4.1. Composición de los nombres de las etiquetas de cada clase, utilizando los últimosdos dígitos del etiquetado original. . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2. Comparación gráfica de las imágenes, anotaciones y clases de los datasets ADAS_ASy ADAS_DR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.3. Visualización gráfica de la distribución del tamaño de las cajas delimitadorasanotadas en los dos conjuntos de datos, después de eliminar valores atípicos . . 60

4.4. Gráfica de la evolución por época del loss de entrenamiento (arriba) y validación(abajo) en el primer experimento realizado en los conjuntos de datos ADAS_AS(derecha) y ADAS_DR (izquierda). . . . . . . . . . . . . . . . . . . . . . . . . 62

4.5. Ejemplo gráfico del ajuste del modelo predicativo subrogado (gris) evaluándolocon la función objetivo (rojo) en intervalos. . . . . . . . . . . . . . . . . . . . . 66

4.6. Evolución de la correlación del modelo de predicción surrogado respecto a lafunción objetivo real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.7. Valores del loss de validación obtenidos para cada generación del algoritmo ge-nético. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.8. Ejemplo de la información sobre la correlación entre hiper-parámetros ofrecidapor FANOVA. El desempeño(performance) alto indica que se obtiene mayorvalor en la función objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.9. Valores del loss de validación obtenidos para cada evaluación de TPE. . . . . . . 71

4.10. Comparación gráfica de la evolución del loss de entrenamiento y validación ob-tenida por cada configuración en los dos conjuntos de datos. . . . . . . . . . . . 73

4.11. Ejemplo gráfico del problema del tradeoff entre el loss y la precisión por elentrenamiento mediante mini-batch y el des-balanceo del conjunto de datos. Lascasillas grises indican imágenes con anotaciones del objeto 1 y las rojas imágenescon anotaciones del objeto 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Page 16: Deep Learning object detection architectures in ADAS

xvi ÍNDICE DE FIGURAS

4.12. Comparación gráfica de la evolución del loss de entrenamiento y validación ob-tenida por cada configuración en los dos conjuntos de datos en el segundo expe-rimento de optimización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.13. Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento principal del modeloADAS_AS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.14. Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento principal del modeloADAS_DR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.15. Comparación gráfica de la evolución del loss de entrenamiento (arriba), de vali-dación (medio) y la precisión media (abajo) obtenida durante el entrenamientode los modelos ADAS_DR y ADAS_DR_modif. . . . . . . . . . . . . . . . . . . 84

4.16. Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) yla precisión media (abajo) obtenida durante el entrenamiento del modelo finalADAS_AS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.17. Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) yla precisión media (abajo) obtenida durante el entrenamiento del modelo finalADAS_DR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.1. Trayecto entre Zumaia (Gipuzkoa) y Zarautz (Gipuzkoa) en el que se ha grabadouno de los vídeos para hacer las pruebas de testeo. . . . . . . . . . . . . . . . . 90

5.2. Detección de señales de limite de velocidad. . . . . . . . . . . . . . . . . . . . . 95

5.3. Detección de semáforos verdes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Page 17: Deep Learning object detection architectures in ADAS

Índice de tablas

3.1. Comparación de las competiciones más importantes sobre detección de objetos. . 34

3.2. Evaluación de detectores utilizando las métricas AP de la competición COCO. . 36

3.3. Evaluación de los detectores según su AP , AP small y APmedium. . . . . . . . . . 37

3.4. Velocidad de inferencia de las arquitecturas seleccionadas en la primera fase. . . 38

3.5. Comparación de las columnas vertebrales de CenterNet. . . . . . . . . . . . . . 40

3.6. Evaluación de los datasets de semáforos según la cantidad de imágenes, ano-taciones, cantidad de clases, país de procedencia y la división entre datos deentrenamiento y validación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.7. Evaluación de los datasets de señales de tráfico según la cantidad de imágenes,anotaciones, cantidad de clases, país de procedencia y la división entre datos deentrenamiento y validación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.8. Evaluación de los datasets de elementos dinámicos según la cantidad de imáge-nes, anotaciones, cantidad de clases, diferenciación y la división entre datos deentrenamiento y validación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.1. Anotaciones por clase del dataset de semáforos. . . . . . . . . . . . . . . . . . . 53

4.2. Anotaciones por clase del conjunto de entrenamiento del dataset de semáforosdespués del aumento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.3. Anotaciones por clase del dataset de señales de tráfico. . . . . . . . . . . . . . . 56

4.4. Anotaciones por clase del conjunto de entrenamiento del dataset de señales detráfico después del aumento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.5. Anotaciones por clase del dataset de elementos dinámicos. . . . . . . . . . . . . 58

xvii

Page 18: Deep Learning object detection architectures in ADAS

xviii ÍNDICE DE TABLAS

4.6. Evaluación de los modelos ADAS_AS y ADAS_DR del primer experimento,siguiendo la métrica de la competición COCO. . . . . . . . . . . . . . . . . . . . 63

4.7. Selección de hiper-parámetros relevantes para cada conjunto de datos. . . . . . . 69

4.8. La configuración de hiper-parámetros potencialmente más óptima, de cada con-junto de datos, para minimizar el loss de validación. . . . . . . . . . . . . . . . . 72

4.9. Evaluación de los modelos ADAS_AS y ADAS_DR del segundo experimen-to de cada configuración, siguiendo la métrica de la competición COCO perosin las métricas escalares; por la ausencia de la máscara de segmentación antesmencionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.10. Selección de hiper-parámetros relevantes para cada conjunto de datos en el se-gundo experimento de optimización. . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.11. La configuración de hiper-parámetros potencialmente más óptima de cada con-junto de datos para minimizar la función objetivo creada 4.2. . . . . . . . . . . . 76

4.12. Evaluación de los modelos ADAS_AS y ADAS_DR del segundo experimentode optimización, siguiendo la métrica de la competición COCO. . . . . . . . . . 77

4.13. Evaluación de los modelos ADAS_AS y ADAS_DR creados en el entrenamientoprincipal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.14. Precisión del modelo ADAS_AS en la detección de clases problemáticas y lamodificación realizada a estas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.15. Comparación de la evaluación de los modelos ADAS_AS y ADAS_AS_modif. . 85

4.16. Evaluación de los modelos finales ADAS_AS y ADAS_DR. . . . . . . . . . . . 88

5.1. Evaluación de los modelos finales ADAS_AS y ADAS_DR en la fase de testeo. 91

5.2. Precisión (AP IoU=.50) por clase del modelo final ADAS_AS obtenida en la eva-luación de la fase de testeo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.3. Precisión (AP IoU=.50) por clase del modelo final ADAS_DR obtenida en la eva-luación de la fase de testeo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5.4. Tiempo necesario, en milisegundos, de cada modelo para realizar cada tarea dela detección. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.5. Comparativa de los modelos de las diversas arquitecturas entrenados durante 20épocas sobre el conjunto de datos ADAS_AS . . . . . . . . . . . . . . . . . . . 97

Page 19: Deep Learning object detection architectures in ADAS

Capítulo 1

Introducción y objetivos

Este proyecto de investigación, innovación y desarrollo que consiste en analizar e implementaruna arquitectura deep learning para la detección a tiempo real de personas y objetos en elcontexto de vehículos autónomos, se realizará en cooperación con el centro tecnológico y deinvestigación TEKNIKER.

Este centro de I+D situado en Eibar (Gipuzkoa), además de ser uno de los centros deinvestigación más punteros de Euskadi y España, es uno de los centros de referencia en Europa.Esta fundación privada sin ánimo de lucro ha captado en los últimos diez años más de 45proyectos europeos de diversos sectores como la aeronáutica, automoción, agroalimentación,etc. llegando a liderar el 20% de ellos.

Debido al avance en la aplicación de las técnicas de aprendizaje automático; la robótica móvil,la conducción autónoma y los sistemas de asistencia a la conducción son claros exponentes decampos en los que la aplicación de la IA puede abrir nuevas oportunidades. En particular,dentro de las diversas técnicas de aprendizaje automático, las redes neuronales profundas sonlas que se están erigiendo como una de las técnicas más interesantes para la problemática de lapercepción visual.

Uno de los campos donde la IA está abriendo nuevas oportunidades es en la creación denuevos sistemas avanzados de asistencia para la conducción (ADAS), sistemas que podríanllegar a otorgar a un vehículo la habilidad de ejecutar una conducción autónoma. Para ello estossistemas disponen de una amplia variedad de sensores que proporcionan toda la informaciónnecesaria, para que la toma de decisiones sea la más correcta y segura posible.

Uno de los módulos más importantes de un ADAS es el que se encarga de la detección atiempo real de personas y objetos en la problemática de movilidad autónoma de coches, comopueden ser: señales de tráfico, otros coches, semáforos, etc. En este proyecto se ha de desarrollardicho módulo, valiéndose de las técnicas más punteras de la inteligencia artificial, como son lasarquitecturas deep learning.

1

Page 20: Deep Learning object detection architectures in ADAS

2 CAPÍTULO 1. INTRODUCCIÓN Y OBJETIVOS

1.1. Objetivos

El objetivo general de este proyecto, como se ha mencionado previamente, es analizar eimplementar una arquitectura deep learning para la detección en tiempo real de personas yobjetos en la problemática de movilidad autónoma de coches.

Con el propósito de asegurar la viabilidad del cumplimiento de este objetivo, se han definidovarios sub-objetivos específicos: principales y secundarios, que se tendrán que ir cumpliendo amedida que avanza el proyecto con el fin de que se pueda garantizar el correcto desarrollo delmismo.

1.1.1. Principales

Los sub-objetivos principales que se definen en esta sección, como referencia a lo anterior,se han de cumplir en la medida de lo posible para poder certificar que el proyecto transcurresegún lo previsto. Los sub-objetivos son los siguientes:

Analizar exhaustivamente el estado del arte de las arquitecturas deep learning para ladetección de objetos, aportando conocimientos sobre las arquitecturas más novedosas einnovadoras hasta el momento.

Realizar una selección de la arquitectura deep learning realizando un análisis y compara-ción de las diversas posibilidades.

Proporcionar al proyecto un enfoque innovador, seleccionando en la medida de lo posiblelas publicaciones sobre las investigaciones más recientes y las tecnologías más novedosas.

Aportar conocimientos sobre la optimización de hiper-parámetros realizando un análisisde las diversas técnicas y la posterior aplicación de una solución innovadora.

Crear un conjunto de datos para el aprendizaje, más robusto y completo que lo publicadohasta el momento.

Obtener un modelo final que cumpla con el objetivo general del proyecto, obteniendoun desempeño razonable respecto al estado de la tecnología y los conjuntos de datosdisponibles.

1.1.2. Secundarios

En referencia a la clasificación anterior, en esta parte se definirán los sub-objetivos secundariosque se deberán llevar a cabo en el proyecto. Lo deseable durante el transcurso del proyecto es el

Page 21: Deep Learning object detection architectures in ADAS

1.2. EL MERCADO 3

cumplimiento de estos objetivos, logrando de esta manera obtener un producto final de mayorcalidad.

Confirmar que la elección de la arquitectura deep learning ha sido la idónea, comparandopara ello los resultados obtenidos con la de las otras arquitecturas candidatas.

Embeber los modelos de la arquitecturas deep learning en un dispositivo móvil.

1.2. El mercado

La aplicación de la IA en el mundo de la automoción no es algo que haya surgido reciente-mente, ya que desde hace varios años son cada vez más los vehículos que incorporan sistemasinteligentes de asistencia a la conducción. Pero a pesar de ello, todavía no se ha podido comer-cializar un vehículo que sea totalmente autónomo y seguro.

Estos avances realizados por las grandes compañías automovilísticas tienen gran impacto en elmercado, por lo que la competencia en cuanto a mejorar los ADAS es cada vez mayor. Esta luchaentre los gigantes automovilísticos por ser el más puntero y el que mejores avances proporciona,hace que estas empresas no proporcionen información alguna sobre las investigaciones y avancesrealizados.

Debido a lo mencionado anteriormente, la obtención de información sobre los sistemas deasistencia para la conducción autónoma utilizados hoy en día es totalmente imposible. Por estaprivacidad del sector, el diseño del modulo de visión del sistema ADAS se tendrá que desarrollarbasándose en la información proporcionada en las publicaciones realizadas por la comunidadde investigadores.

El análisis del estado del arte de los ADAS será imposible de llevar a cabo por la faltade información pública mencionada, por lo que en el estado del arte sólo se analizarán lasarquitecturas deep learning para la detección de objetos. Mediante este análisis, se esperaobtener información suficiente para poder desarrollar el proyecto de manera adecuada.

1.3. Recursos disponibles

Para poder garantizar la viabilidad del proyecto, se dispondrá de varios recursos para sudesarrollo. Estos recursos están proporcionados, tanto por la institución en la que se esta cola-borando como por parte de la Universidad Politécnica de Madrid.

El principal recurso para poder llevar a cabo el proyecto, es el tiempo que estima la Univer-sidad Politécnica de Madrid que se necesitará para realizar el trabajo de fin de máster. Dado

Page 22: Deep Learning object detection architectures in ADAS

4 CAPÍTULO 1. INTRODUCCIÓN Y OBJETIVOS

que se le han asignado 15 créditos ECTS al trabajo de fin de máster, siendo su equivalente entiempo son 375 horas aproximadamente, este sería el tiempo del que se dispone para finalizarel proyecto.

Aunque es cierto que no existe ningún control sobre las horas invertidas en el proyecto, unade las características más importantes de un investigador es la capacidad de gestión de losrecursos disponibles. Por esa razón se intentará no excederse del tiempo proporcionado pararealizar el trabajo de fin de máster.

A su vez, TEKNIKER ha proporcionado los recursos materiales necesarios para poder desa-rrollar el proyecto en el que se trabajará. Para realizar el trabajo de investigación y ofimáticase dispone de un ordenador de oficina, mientras que para el desarrollo del producto se disponede un ordenador de laboratorio que incorpora una GPU Nvidia GeForce GTX 1060 de 6 GBpara el entrenamiento del modelo deep learning. Además de ello, se dispone de varias placasembebidas de computación de la serie Jetson de Nvidia, como la Jetson TK1 y la Jetson Xavier.

Page 23: Deep Learning object detection architectures in ADAS

Capítulo 2

Estado del arte

2.1. Introducción

La visión por computadora o visión artificial ha sido un campo científico en auge en losúltimos años debido a la importancia que tiene, no solo en el mundo de la industria sino quetambién en la vida cotidiana. Este campo interdisciplinario que se encarga, entre otras cosas,de adquirir, procesar, analizar y entender imágenes digitales, está en enorme crecimiento porlas amplias posibilidades que ofrece. Empezando desde la detección de células cancerígenas [6][49] hasta sistemas autónomos de conducción [5][83].

Dentro de la visión por computadora, podemos encontrar diversas tecnologías para realizartareas muy diferentes, entre ellas, la detección de objetos. Esta tecnología que relaciona la visiónpor computadora y el procesamiento de imágenes tiene como fin detectar en imágenes y vídeosdigitales diferentes objetos semánticamente clasificados, como por ejemplo: animales, personas,etc. La detección de objetos permite extraer mejores conocimientos o características semánticasde imágenes y vídeos para poder aplicarlos en diferentes tareas, como pueden ser la detecciónde pose [104], detección de caras [10] o conducción autónoma [83].

Debido a la gran complejidad de las tareas que se llevan a cabo en el campo de la visión porcomputadora, la necesidad de uso de tecnologías y algoritmos avanzados de procesamiento deinformación era cada vez más notable. Por lo que, se tuvo que esperar hasta la revolución deldeep learning [92] para empezar a construir sistemas prácticos en diversas tareas del campo, apesar de que para otros problemas de visión ya existiesen soluciones apropiadas; como fue elcaso de los sistemas de estimación de la estructura a partir del movimiento que se desarrollaronen los años 90 y que se materializaron en herramientas como BouJou [110], que obtuvo unpremio Emmy.

5

Page 24: Deep Learning object detection architectures in ADAS

6 CAPÍTULO 2. ESTADO DEL ARTE

2.2. Deep learning

Uno de los campos de la computación moderna que más ha evolucionado ha sido el campo delaprendizaje automático o machine learning [94], ya que es una de las ramas más importantes delque es hoy en día uno de los sectores de investigación y desarrollo más grande: la inteligenciaartificial. Dentro de este campo de la computación, en los últimos años el aprendizaje profundoo deep learning ha ido tomando cada vez mayor importancia.

El deep learning es un tipo de algoritmo de machine learning, que se inspira en el funciona-miento del cerebro humano, el cual procesa la información clasificando y detectando patronescon los que mejorar su proceso de aprendizaje.

A pesar de que la primera vez que se usó el término deep learning fue en 1986 [28][23], nofue hasta comienzos del siglo XXI que los científicos empezaron a darle más importancia aesta tecnología. Aunque es verdad que en esos años el deep learning carecía de la atención quese le presta hoy en día, algunos científicos pioneros empezaron a cimentar las bases de estatecnología tal y como la conocemos ahora [63].

Al hilo de lo anterior, para conocer mejor como se ha llegado hasta el punto en el que nosencontraremos, es crucial conocer la evolución de este campo desde mediados del siglo pasadohasta la actualidad. A pesar de que como se ha indicado antes, este campo de la computación seacuñase con el nombre de deep learning en 1986, entre los cuarenta y sesenta ya se investigabala que iba a ser la fase precursora de este campo, la llamada Etapa Cibernética [55].

En esta etapa cibernética hay que destacar sobre todo el trabajo realizado por Frank Ro-senblatt en el campo de las redes neuronales. Suya es la autoría de la creación del que sedenomina la unidad básica de aprendizaje neuronal; que hoy en día se conoce como el modeloperceptrón [88], el cual, a pesar de estar compuesto por una única capa de neuronas permiteel entrenamiento neuronal (véase fig. 2.1). Frank Rosenblatt creo su modelo proponiendo unalgoritmo de aprendizaje para aplicar sobre la primera neuronal artificial inventada por WarrenMcCulloch y Walter Pitts de 1943 [79].

Después de este acontecimiento, fue necesario un avance en este tipo de estructuras ya quepor la simplicidad de ésta, sólo permitía resolver problemas linealmente separables. Por ello, amediados de los ochenta se empezó a investigar sobre otras formas más sofisticadas para resolverproblemas complejos (véase fig. 2.2). Fueron David E. Rumelhart, Geoffrey Hinton y RonaldJ. Williams quienes dieron con la solución, con la invención del algoritmo backpropagation[90], permitiendo el entrenamiento de perceptrones multicapa. De este modo, cambiaron porcompleto el discurrir de la etapa anterior dando comienzo a la etapa del Conexionismo yasentando las bases del deep learning.

En el Conexionismo se intentó mediante la ciencia cognitiva, crear estructuras llamadas redesde neuronas artificiales (ANN) que simulan un fenómeno mental parecido al que realiza elcerebro humano [111]. Las redes de neuronas artificiales se basan en la primera aproximación

Page 25: Deep Learning object detection architectures in ADAS

2.2. DEEP LEARNING 7

Figura 2.1: imagen de un perceptron.

Figura 2.2: Ejemplo de una red neuronal simple.

del perceptrón pero uniendo en diferentes capas dos o más neuronas artificiales.

Cada una de las unidades neuronales de la red esta conectada con otras creando una especiede grafo donde el peso de las conexiones será la fuerza de propagación que tendrá la activación1 de esa neurona. Los algoritmos backpropagation previamente mencionados, que hoy en día seaplican en el entrenamiento de la mayoría de las redes neuronales, tienen como característicaprincipal la recursividad y capacidad de iteración para calcular mediante el aprendizaje, el pesoóptimo de esas conexiones neuronales (véase fig. 2.3).

Este método de entrenamiento se empezó a utilizar para resolver problemas complejos, apli-cándolo en algoritmos de optimización de descenso de gradiente. En el caso de las redes neu-ronales, se aplica el entrenamiento para la optimización de la función de error 2 de la red,intentando minimizarla lo más posible.

Durante el final de los noventa y comienzo del siglo XXI las aportaciones científicas en estecampo fueron creciendo de manera significativa, vaticinando así la importancia que tendría el

1 Valor numérico asociado a la función de la conexión entre dos neurona.2Conocida también como función de perdida o función de coste.

Page 26: Deep Learning object detection architectures in ADAS

8 CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.3: Representación del algoritmo backpropagation.

deep learning en los años venideros. Debido a este auge de la computación y la inteligenciaartificial (IA), cada vez más científicos empezaron a aplicar estas novedosas tecnologías ensus investigaciones y problemas de optimización. El uso masivo de las redes neuronales pararesolver problemas de diferente nivel de dificultad, hizo que los científicos se dieran cuenta delas limitaciones para poder solucionarlos de manera correcta en una tiempo razonable [105].

Es entonces cuando se empezaron a crear estructuras más complejas que pudiesen resolverproblemas complejos de manera eficiente. Las primeras variaciones o cambios ene las redes sedieron en las conexiones entre las diferentes neuronas, cambiando las feedforward neuralnetwork [11]; donde las neuronas se comunican usando una dinámica lineal, unidireccional yhacia delante, a crear redes como las redes neuronales recurrentes (RNN) [95] (véase fig.2.4).

Figura 2.4: Comparación entre redes recurrent y feedforward .

Después se empezó a investigar sobre los posibles beneficios de utilizar más de una capadentro de una misma red [24]. Es entonces cuando se empezaron a diseñar las primeras redesneuronales profundas de varias capas.

A mediados de los noventa varias aportaciones de publicaciones científicas, entre otras la

Page 27: Deep Learning object detection architectures in ADAS

2.3. REDES CONVOLUCIONALES 9

de George Cybenko sobre la aproximación de la función sigmoidea por superposición [24],comenzaron a asentar las bases de la teoría universal de aproximación [22], la cual afirmaque una red feedforward con una única capa y una cantidad finita de neuronas es capaz deresolver cualquier problema de optimización de una función continua. De esta manera, se haasumido que una red neuronal feedforward de una única capa puede ser equivalente a unared neuronal profunda [46][42]. A pesar de esto, la utilización de una red de una sola capapara resolver problemas complejos se ha desestimado, ya que definir la cantidad de neuronasnecesarias y el entrenamiento de esta son inviables.

La revolución del deep learning y el impacto de éste en la industria [19][19] vino de la mano dela invención de las redes neuronales convolucionales (CNN) [62] de Yann LeCun (véasefig. 2.5). Este tipo de redes simulan la conectividad de la neuronas del cortex visual en elcerebro humano, haciendo que una neurona solo reciba el estímulo de la región de la imagena la que está asignada, también llamado campo receptivo. La piedra angular de este tipo deredes son las operaciones convolucionales, las cuales permiten extraer características de altonivel de las imágenes aplicando operaciones matemáticas llamadas convoluciones o filtrosde convolución.

Sobre el papel, de una manera teórica, este tipo de red fue toda una revolución en el campo.Pero al llevar a la práctica el entrenamiento de estas redes, el gran coste computacional deaplicar los filtros de convolución sobre los píxeles de las imágenes hizo que la idea se quedaraen el olvido. Esto cambio por completo cuando en 2006 Chellapilla [18] logró la implementacióndel entrenamiento de las redes convoluciones mediante el uso del GPU, haciendo que el uso delas CNN fuera viable y que las bases para la creación de nuevas arquitecturas deep learning seasentasen.

2.3. Redes convolucionales

La siguiente sección tiene como fin introducir las principales redes convolucionales que semencionarán posteriormente en el análisis de las arquitecturas Deep learning para la detecciónde objetos.

LeNet

Tal y como se ha citado en la sección anterior, la primera red convolucional funcional fuecreada por Yann LeCun [62] en 1998. Esta red, llamada LeNet fue la precursora de las redesque se van a mencionar en esta sección.

Esta red compuesta por siete capas de convolución (véase fig. 2.5), permite procesar imágenesde baja resolución. La red ha sido ampliamente usada por el resto de investigadores para crearnuevas redes con mayor complejidad y robustez.

Page 28: Deep Learning object detection architectures in ADAS

10 CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.5: Representación de la arquitectura CNN LeNet de Yann LeCun

Uno de los principales usos de esta red fue la aplicación para la lectura de números manuscritosen cheques bancarios. Para ello se introducían en la red los dígitos en imágenes de 32x32 enescala de grises y se recibía como salida de la red una probabilidad por cada uno de los nuevedígitos, en representación a la probabilidad de que el número introducido fuese dicho dígito.

VGG

Una de las redes convolucionales más robustas es la llamada VGGNet, que fue creadapor Simonyan y Zisserman en el año 2014 [98]. VGGNet es una red súper profunda capazde procesar imágenes de gran escala, ya que al estar compuesta por 16 capas de convolucióndistribuidas en una estructura bastante uniforme permite una mayor capacidad de cómputo.La red también es conocida por el nombre de VGG16 debido a dicha cantidad de capas (véasefig. 2.6).

Figura 2.6: Estructura de la red convolucional VGG16.

VGGNet se caracteriza por su simplicidad de diseño, ya que utiliza solamente filtros deconvolución 3x3 una sobre otra, añadiendo profundidad y a su vez restando complejidad. Lasucesión de estos filtros de convolución finaliza con dos capas totalmente conexas y una capa

Page 29: Deep Learning object detection architectures in ADAS

2.3. REDES CONVOLUCIONALES 11

final softmax la cual calcula la clasificación de dicha imagen.

Debido a que es una de las redes convolucionales con mayor número de parámetros, no sueleusarse ya que el coste necesario para un correcto entrenamiento es mucho mayor. Pero algunamodificación de esta red, como el uso de la combinación de las 16 capas convolucionales sinlas capas totalmente conexas, es ampliamente usada como extractores de features en diversasarquitecturas deep learning.

ResNet

Uno de los problemas más recurrentes en las CNNs creadas hasta 2015 es el desvanecimientodel gradiente. Este problema aparece en redes que son demasiado profundas y se debe a que losgradientes que se utiliza para el cálculo de la función de pérdida se reducen fácilmente hastallegar al valor cero después de varias iteraciones de aprendizaje. Esto hace que los pesos no seactualicen correctamente y que el aprendizaje del modelo se estanque.

X. Zhang et al. publicaron en 2015 una red llamada Residual Net (ResNet)[44] la cuallograba evitar el problema antes mencionado. La arquitectura de esta red permite, medianteconexiones residuales, que el gradiente pase de las capas mas tardías a las iniciales (véase fig.2.7).

Figura 2.7: Estructura de la red convolucional ResNet de 34 capas (arriba), comparada con unaCNN normal (medio) y una VGG-19 (abajo).

La conexión residual antes mencionada se utiliza cada dos bloques de convolución de 3x3.Mediante dicha conexión se consigue sumar un valor X, llamado identidad, al valor final delos dos bloques (F (x)). De esta manera se consigue que aunque el gradiente obtenido en lasoperaciones realizadas (F (x)) se reduzca a cero, la suma de la identidad haga que el gradientese aleje del cero.

Page 30: Deep Learning object detection architectures in ADAS

12 CAPÍTULO 2. ESTADO DEL ARTE

Esta técnica permite crear arquitecturas mucho más profundas sin la preocupación del es-tancamiento del aprendizaje antes mencionado. Por esta misma razón la red fue una revoluciónen el campo ya que permitió crear modelos mucho más robustos y con mejor desempeño.

ResNeXt

Debido a la robustez de la red ResNet y la capacidad de solventar el problema de desva-necimiento del gradiente (su seña de identidad, véase fig. 2.13), muchos de los investigadoresempezaron a utilizarla en varias tareas de visión por computadora, integrándola dentro dearquitecturas deep learning.

Una de las variantes publicada en 2017 por Xie et al. con el nombre de ResNeXt[112]tuvo mucho impacto en el estado del arte de la época, ya que mejoraba considerablemente lacapacidad de la red ResNet para la clasificación de imágenes.

Figura 2.8: Representación de la red convolucional ResNeXt (izquierda) comparando con supredecesor ResNet(derecha).

Esta nueva variación de la red ResNet integra el concepto de los módulos llamados Inceptionmodule (véase fig. 2.8) introducidos previamente en la publicación de la red InceptionNet[101].La aplicación de los inception module permite a la arquitectura dividir los caminos de la reden n (cardinalidad) sub-redes independientes, los cuales se pueden unir al final sumando losvalores. Esto proporciona mayor capacidad de aprendizaje y mejor precisión, ya que es máseficiente aumentar la cardinalidad que la profundidad o anchura de la red.

2.4. Detección de objetos

El deep learning se empezó a aplicar en diferentes ámbitos y campos científicos como puedenser el procesamiento del lenguaje natural, diseño de drogas, análisis de imágenes o visión por

Page 31: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 13

computadora. En este último tuvo uno de los mayores impactos, llegando a mejorar el estadodel arte en varias de las aplicaciones que tiene este campo interdisciplinar.

Dentro del papel que tiene el deep learning en la visión por computadora, cabe destacar elavance que ha supuesto en tareas tan importantes como la clasificación de imágenes y detecciónde objetos, superando con creces el estado del arte [106] y dejando obsoletas los demás métodosutilizados hasta la fecha.

Debido a la gran importancia que tiene la correcta detección de objetos en cualquier sistemaavanzado implantado en un entorno dinámico, en el cual pueden aparecer una gran variedadde objetos y donde existe un riesgo real en caso de no realizar una correcta detección, esta tarease convierte crítica y su correcta precisión primordial, por ejemplo en la robótica industrial [72],conducción autónoma de vehículos [5][83][58], asistencia a operadores de maquinas industrialesde alto nivel, etc.

El problema de la detección de objetos consiste en localizar los objetos de una imagen en unrectángulo, proporcionando una etiqueta la cual clasifica el objeto que contiene la caja y le daun valor de certeza entre 0 y 1 (véase fig. 2.9).

Figura 2.9: Ejemplo gráfico de la tarea de detección de objetos.

Los primeros métodos efectivos de detección de objetos, antes de la aparición de arquitecturasdeep learning, comenzaron con la utilización de modelos poco profundos programados paradetectar características previamente definidas por el experto [106][27]. Debido a las limitacionespor el entrenamiento superficial de estas redes, su uso no permitía que se pudiesen extraercaracterísticas de alto nivel por lo que la comprensión semántica de la imagen era débil.

La evolución de estos primeros métodos primarios antes mencionados, se dividió en tresetapas. La primera aproximación, la más simple de todas, consistía en la utilización de va-rias ventanas deslizantes de diferentes dimensiones para seleccionar regiones informativas.

Page 32: Deep Learning object detection architectures in ADAS

14 CAPÍTULO 2. ESTADO DEL ARTE

Huelga apuntar que el coste computacional era enorme por la gran cantidad de posibles regio-nes candidatas que puede haber en una imagen. En la segunda fase, se empezaron a desarrollarlos modelos poco profundos que antes se han mencionado, pero debido a la extracción de ca-racterísticas de bajo nivel, la generalización y la capacidad de inferencia en diversos entornos,carecía de gran fiabilidad. Por último nos encontramos con el método de clasificación, el cualse basaba en utilizar métodos de clasificación de la época [21] pero con diversos cambios parapoder diferenciar objetos basándose en las deformaciones de ciertas partes de los objetos [36].

Estos métodos fueron aplicados y comparados entre sí en una de las primeras competiciones dedetección de objetos, creada en 2007 con el nombre de PASCAL VOC[34]. En esa competición,los desarrolladores ponían a prueba sus sistemas de detección para detectar un grupo de diversosobjetos en un conjunto grande de imágenes divididas en subgrupos de entrenamiento, testeo yvalidación.

Con el surgimiento del deep learning y de las redes neuronales convolucionales, se dejaronde lado las anteriores aproximaciones para empezar a desarrollar nuevas arquitecturas máscomplejas y profundas que permitían extraer características de mayor nivel que las anteriores.Debido a la profundidad de las redes, el entrenamiento de estos algoritmos era más robusto ypermitía un aprendizaje autónomo para la extracción de características sin tener que prede-finirlas como antes. De esta manera, las características de alto nivel extraídos permitían unamayor compresión semántica de las imágenes.

Dentro de estas nuevas arquitecturas deep learning, se empezaron a divisar dos distintaslíneas de investigación, siendo la primera más temprana que la segunda. La primera tomó comobase los detectores de objetos utilizados hasta la época para generar primero propuestas deregiones o regiones candidatas y después clasificarlas en cada categoría de objetos. A este tipode detectores se les conoce por el nombre de detectores de objetos basados en regiones.Los segundos llegan a un nivel de abstracción mayor, tomando el problema de la detecciónde objetos como un problema de regresión y clasificación e infiriendo así, en una sola fase,la localización y clasificación de cada objeto. A las dos líneas de investigación mencionadastambién se les conoce como arquitecturas de dos fases y de una fase, respectivamente.

2.4.1. Arquitecturas basadas en regiones

Como se ha indicado previamente, este tipo de detectores de objetos se basan en las antiguastécnicas de detección, centrándose primero en encontrar regiones candidatas analizando todala imagen, región a región, y después centrándose solo en aquellas regiones de interés. Conel surgimiento de las redes CNN, la combinación de estas con la ventana deslizante antesmencionada [93] evitaba el problema del coste computacional.

Una de las primeras arquitecturas de este tipo, la que sería la precursora, fue la R-CNNpropuesta en 2014 de la mano de Ross Girshick et al. [41] (véase fig. 2.10). Esta arquitecturabasada en la aplicación de una CNN de gran capacidad para aflorar las regiones candidatas para

Page 33: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 15

después extraer un vector de características de cada región (utilizando otra CNN) para poderclasificar el tipo de objeto, consiguió superar con creces al estado del arte de la época [106].Esta arquitectura fue probada en diferentes competiciones de detección de objetos, llegandoa conseguir una precisión media entre todas las clases de objetos (mAP) de 53.3% en lacompetición VOC2012 [34] [33], superando al mejor método hasta la época por más de 30puntos.

Figura 2.10: Representación de la arquitectura R-CNN.

Para extraer las regiones candidatas, la R-CNN utiliza la búsqueda selectiva combinadacon la comparación controlada de regiones para objetos genéricos [109], dejando de lado lasotras aproximaciones de extracción como el objectness[36] o CPMC [30]. Para la extracción decaracterísticas, utiliza la implementación en Caffe de la CNN descrita por Krizhevsky et al.[71],consiguiendo extraer un vector de características de 4096 por cada región.

Los investigadores de la R-CNN fueron uno de los primeros en aplicar técnicas de transferlearning para pre-entrenar las diferentes partes de la arquitectura por separado, utilizandograndes conjuntos de datos como imagenet [29] o ILSVRC2012 [91], y después ajustándolospara cada dominio; facilitando el entrenamiento para equipos con menos recursos.

Para mejorar el rendimiento y disminuir el coste computacional, también se empezaron ausar técnicas para suprimir regiones con solapamiento (intersección sobre la unión IoU) (véasefig. 2.11). Para ellos se aplicó el algoritmo voraz de eliminación no máxima (NMS) para cadaclase independientemente.

El uso de redes convolucionales en la arquitectura de R-CNN para clasificar cada región uti-lizando la disminución logarítmica del error, permitió conseguir una gran mejora en la precisiónde detección de objetos, pero a un gran coste computacional de entrenamiento e inferencia. Porello, se propuso una mejora para la R-CNN la cual consistía en cambiar la CNN implementadapor una nueva propuesta de Kaming He et al.[43] llamada Spatial Pyramid Pooling (SPPnets).Esta nueva propuesta calcula un mapa convolucional de características de una imagen enteray después extrae un vector de características de ello para clasificar cada objeto.

Aunque la propuesta de SPPnets mejoró considerablemente el coste temporal de la ar-quitectura, entre 10 − 100 el tiempo de testeo y por 3 el tiempo de entrenamiento, prontoempezaron a surgir otras arquitecturas mejores basándose también en la R-CNN. Fue el mismo

Page 34: Deep Learning object detection architectures in ADAS

16 CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.11: Representación de la intersección sobre la unión.

Ross Girshick quien publicó en 2015 una nueva arquitectura llamada Fast R-CNN[40], lacual mejoraba por 3 la fase de entrenamiento del SPPnets y por 10 la de testeo, además de laprecisión media obtenida en PASCAL VOC2012. La publicación del Fast R-CNN introdujo eluso de VGG16[98](véase fig. 2.6) y los RoI, regiones de interés.

Esta arquitectura recibe como entrada una imagen, la cual es procesada utilizando la redVGG16 para generar un mapa convolucional de características y algunas regiones de interéso RoI s. Después, a cada región de interés se le aplica una capa de agrupación llamada RoIpooling layer que extrae vectores de características de un tamaño fijo del mapa convolucionalde características antes mencionado. Para finalizar, cada vector extraído se transmitirá a doscapas de neuronas totalmente conexas, donde una inferirá la etiqueta del objeto y la otragenerará mediante regresión las coordenadas de su localización. El proceso de entrenamiento esde punta a punta y la utilización de la disminución multiproceso del error permite unaprendizaje más rápido y robusto.

El principal problema o lastre de la utilización del Fast R-CNN es la generación de los RoI sde las imágenes, por lo que esta tarea queda relegada a otros métodos externos a la arquitectura,por ejemplo Edgebox [124]. Como este proceso de generación y el entrenamiento de las capastotalmente conexas de la arquitectura es muy costoso, los investigadores pronto empezaron amejorar estos aspectos de Fast R-CNN.

Las nuevas líneas de investigación para solventar los problemas de Fast R-CNN trajeron en2016, de la mano de Shaoqing Ren et al., la nueva arquitectura llamada Faster R-CNN[87]. Enesta publicación se introducía una nueva red llamada Region Proposal Network (RPN),que tiene como fin generar los RoI s antes mencionados, la cual se integraba dentro de laarquitectura Fast R-CNN (véase fig. 2.12).

La función de esta nueva red es detectar los RoI s de la imagen que recibe. Para ello, utilizaun mapa convolucional de características generado a partir de la imagen, igual que la FastR-CNN, y recorre sobre él una pequeña red que recibe como entrada los valores obtenidos poruna ventana deslizante de nxn. De cada ventana se extraen vectores de diferentes dimensiones

Page 35: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 17

Figura 2.12: Representación de la arquitectura Faster R-CNN.

a los que se les aplican dos capas totalmente conexas; una para que valore la probabilidad deque sea un objeto y la otra para que genere mediante regresión las coordenadas de localización.Para eso, incorpora un novedoso concepto llamado anchors o anchor boxes (véase fig. 2.12),que se utilizará después en muchos de los detectores de objetos de una y dos fases. Este nuevoelemento se utiliza dentro de la ventana deslizante para analizar ventanas de diferentes formasy tamaños. Para ello, los anchor boxes tendrán diferentes escalas y se utilizarán como otrasventanas deslizantes dentro de la ventana deslizante primaria.

El uso de las capas totalmente conexas es mucho más costoso que el uso de las capas total-mente convolucionales. Como estas arquitecturas están compuestas por redes convolucionalesque contienen, en la parte final, capas totalmente conexas para la regresión y clasificación delas cajas, el coste computacional de la detección aumenta considerablemente disminuyendo lavelocidad de inferencia. Por esa razón se empezó a investigar a cerca de integrar nuevas redesde clasificación del estado del arte, las cuales solo se componen de capas convolucionales evi-tando la caída drástica del desempeño antes mencionado. Entre otros, se empezó a investigarsobre las posibilidades de integración de las nuevas aportaciones Residual Net (ResNet)[44]y GoogleLeNet[101].

Al hilo de lo anterior, a partir de la integración de ResNet en la arquitectura Faster R-CNN se creó la red R-FCN [25], una red totalmente convolucional con la que se consiguiósuperar a la predecesora Faster R-CNN, llegando a ser 20 veces más rápida y superando conuna precisión de 77.6%mAP , en la competición PASCAL VOC2012, la precisión de FasterR-CNN (73.8%mAP ).

En R-FCN se utiliza como columna vertebral (véase fig. 2.13) la parte convolucional de laarquitectura ResNet-101, la cual está compuesta por 100 capas de convolución. Esta parte dela red está entrenada con el conjunto de datos de la competición imagenet [29] para lograr unamayor precisión con imágenes de diversas dimensiones. La ResNet finaliza con un bloque con-volucional, el cual extrae k2 mapas de valoración sensibles a la localización para cada categoría(C) de objetos. Utilizando ese mapa de k2(C + 1) y los RoI generados por RPN, se aplica unacapa de agrupación RoI sensible a la localización para generar una valoración o puntuación

Page 36: Deep Learning object detection architectures in ADAS

18 CAPÍTULO 2. ESTADO DEL ARTE

(a) (b)

Figura 2.13: (a)La visualización de la arquitectura R-FCN que integra como columna vertebralla red ResNet. (b) Diagrama mostrando la estructura de ResNet y su capacidad de atajar capas(identity).

para cada RoI (véase fig. 2.14).

(a) Cuando el solapamiento es correcta la red detecta a la persona.

(b) El solapamiento entre el objeto y RoI no es correcta.

Figura 2.14: Comparación del funcionamiento de R-FCN de 3x3 para la detección de unapersona.

Page 37: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 19

La evolución de las competiciones de detección de objetos, sobretodo PASCAL VOC2012y COCO [68], las cuales exigían la capacidad de detección de diversos objetos de diferentescaracterísticas (tamaño, color, forma, etc.), dejó ver las limitaciones de estas arquitecturas parala detección de objetos con cambios de escalas. Para solucionar este problema, se empezarona aplicar estructuras piramidales para extraer los mapas de características teniendo en cuentarepresentaciones semánticas de alto y bajo nivel, para conseguir mayor robustez a cambiosescalares.

Las primeras aproximaciones de estructuras piramidales datan de 1984 [7], donde en unapublicación se presentaba una estructura llamada featurized image pyramid en la cual se extraepara cada tipo de escalas de la misma imagen un mapa de características (véase fig. 2.15 a).Con la aparición de las CNN, este sistema evolucionó al sigle feature map [40][43], en el cual laextracción de los mapas de características se hace a partir de una escala y se consiguen extraerrepresentaciones multi-escalares semánticamente consistentes en todos los niveles (véase fig.2.15 b). El problema de esta estructura es el gran coste que supone, por lo que su uso es viablesolo en la fase de testeo [43][96]. Los creadores de Fast y Faster R-CNN desestimaron el uso deestas estructuras piramidales para la tarea de extracción de mapas característicos.

Figura 2.15: Representaciones visuales de las diferentes estructuras piramidales para la extrac-ción de mapas de características.

Para solucionar el tiempo de inferencia de estas pirámides, se creó un método el cual reutilizala jerarquía piramidal de características que se genera mediante la CNN y lo trata como sifuese una featurized image pyramid, donde los mapas de características hacen las veces de lasimágenes de diferentes escalas (véase fig. 2.15 c). En esta estructura, igual que en featurizedimage pyramid, los mapas de mayor resolución tienen características de bajo nivel, por lo quedebido a la estructura jerárquica y el espaciado entre diferentes resoluciones de los mapas,las arquitecturas tienden a tener más en cuenta los mapas con características de bajo niveldisminuyendo así la robustez semántica y por ende, la capacidad de detección.

Page 38: Deep Learning object detection architectures in ADAS

20 CAPÍTULO 2. ESTADO DEL ARTE

Con el objetivo de crear una estructura piramidal con un tiempo de inferencia menor sinsacrificar la robustez, se creó Feature Pyramid Network (FPN)[66], una red de pirámidesde características (véase fig. 2.15 d). Para ello, basándose en la jerarquía piramidal de caracte-rísticas antes mencionada, crearon una estructura que combina los mapas de baja resolución;es decir, los que tienen las características de mayor nivel con mayor robustez semántica, conlos mapas de mayor resolución, utilizando conexiones laterales y descendentes.

Esta nueva estructura se integró en Faster R-CNN consiguiendo mejorar la precisión por 2.3puntos en la competición COCO y por 3.8 en la competición PASCAL. A partir de esa nuevaintegración, Kaiming He et al. crearon mask R-CNN[97], una arquitectura que basándoseen Faster R-CNN y tomando como columna vertebral la combinación de ResNet-101 con FPNgenera no solo la caja delimitadora del objeto sino que también predice paralelamente la máscaradel objeto mediante segmentación (véase fig. 2.16).

Figura 2.16: Estructura simplificada de la arquitectura mask R-CNN.

Al hilo de lo anterior, otra de las arquitecturas en integrar la combinación de ResNet conFPN fue Cascade R-CNN, la cual consiguió superar a mask R-CNN solucionando además, susproblemas a la hora del incremento del umbral IoU en la fase de evaluación. Esta arquitecturautiliza una secuencia de detectores, cada una entrenada con diferente umbral IoU para quesean secuencialmente más selectivas. Esta fue una de las tantas arquitecturas de detección queconsiguieron llegar a ser parte del estado del arte utilizando esta combinación como estructuraprincipal.

Después de esto, en 2017 con la publicación de una de las redes CNN mas potentes vista hastael momento, llamada ResNeXt, creció el desarrollo de arquitecturas con mayor desempeño.Entre las arquitecturas en utilizar ResNeXt cabe destacar la propuesta de Shu Liu et al. llamadaPath Aggregation Network (PANet)[69] la cual llegó a obtener la segunda posición en elconcurso COCO de 2017 y la primera en la prueba de segmentación de la misma. Con estapropuesta se intentó mejorar la capacidad de propagación de la información de mask R-CNN.Para ello, siguiendo con la línea de mask R-CNN, se aplicó la red FPN para extraer los mapasde características de varias escalas (véase fig. 2.17 a ) y aplicándoles a estos mapas el nuevométodo, presentado en esta publicación, llamado bottom-up path augmentation. Teniendo encuenta [116] que las neuronas en las capas de mayor nivel (menor resolución) reaccionan aobjetos y que las de bajo nivel reaccionan más a texturas o formas, es necesario propagar todaesa información semántica de bajo nivel a capas más altas, utilizando para ello el nuevo método(véase fig. 2.17 b ). Este método conecta por conexiones laterales todas las capas extraídas

Page 39: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 21

por FPN desde el nivel más bajo hasta el más alto, incorporando también dos atajos entre lascapas de más bajo nivel al de más alto, saltándose para ello las capas intermedias (véase fig.2.17 linea intermitente roja y verde ).

Figura 2.17: Visualización de la estructura de PANet dividida en diversas partes estructurales.

En esta publicación se aportó también una observación que ayudaría a la correcta compren-sión de los niveles de características y al correcto uso de éstos para mejorar la precisión dela predicción. Diseñaron una capa que agrupaba adaptativamente características de todoslos niveles (véase fig. 2.17), que según las investigaciones realizadas, aumentaba la precisiónconsiderablemente confirmando también la necesidad de uso del bottom-up path augmentation.

El uso de PANet introdujo la posibilidad de entrenamiento multi-escalar para las arquitectu-ras Faster y mask R-CNN utilizando pirámides de imágenes de escalas múltiples. Pero, utilizartodos los píxeles de cada escala de una imagen incrementa exponencialmente la cantidad depíxeles a procesar y sabiendo que es muy costoso dicha tarea, el uso de esta solución se haceinviable. Por lo que para solucionar este problema de eficiencia, Bharat Singh et al. crearonuna nueva arquitectura llamada SNIPER [100]. Esta novedosa arquitectura evita tener queprocesar, en la fase de entrenamiento, todos los pixeles de cada escala, como sí lo hacían lasotras. Para ello introdujeron un nuevo elemento llamado chips, el cual hace referencia a lasregiones de contexto cerca del ground-truth3 en la escala apropiada (véase fig. 2.18 izquierda).

SNIPER genera chips (regiones contextuales) específicos para cada escala intentando cubrir lamayor cantidad de posibles objetos de esa misma escala. Después, clasifica todas las propuestasexistentes dentro de los chips siguiendo el mismo proceso que Fast R-CNN con los RoI, perosin realizar la expansión de la imagen cuando hay objetos grandes, aumentando así la velocidadde entrenamiento.

La técnica de entrenamiento de SNIPER basándose, como su propio nombre indica, en latécnica de un francotirador, realiza zoom en las zonas de la imagen donde se encuentran losobjetos generando recortes de cada objeto (véase fig. 2.18 derecha). La utilización de esta técnicahace que solo se observe menos de una décima parte de la imagen (véase fig. 2.18) ya que solose toman en cuenta los ground-box y su entorno, por lo que el background no toma parte en elentrenamiento incrementando la velocidad.

3Posicionamiento real del objeto.

Page 40: Deep Learning object detection architectures in ADAS

22 CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.18: Ejemplo de selección de chips de la arquitectura SNIPER a partir de ground-truth(verde) y en diversas escalas (morado, amarillo, azul y rosa).

La no observación del background hace decrementar considerablemente la cantidad de fal-sos positivos que genera la arquitectura, que son cruciales si después se quiere generalizar elmodelo para que funcione correctamente en la fase de testeo y validación. Por esa razón, losdesarrolladores integraron dos generadores de chips en la arquitectura. El primero basándoseen los ground-box (véase fig. 2.19 arriba) generará los chips (chips positivos) antes mencionadosy el segundo utilizando una RPN generará los chips negativos (véase fig. 2.19 abajo), los cualesaportaran los falsos positivos necesarios para la posterior generalización del modelo.

Figura 2.19: Visualización de la generación de chips positivos (verde) y de chips negativos(rojo).

SNIPER llegó a estar primero (46.1%mAP ) en el ranking de la competición COCO desdemediados de 2018 hasta finales de año, ya que fue superado por PANet (47.4%mAP ), queaunque se publicó en 2017 no fue hasta a finales de 2018 que consiguieron llegar al primerpuesto combinando esta arquitectura con ResNeXt-101. A comienzos de 2019 tomó la cabezade la competición una nueva arquitectura llamada TridenNet(48.4%mAP ) publicada porYanghao Li et al.[65].

Page 41: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 23

En la publicación de TridentNet se planteaban de una manera razonada algunas de las li-mitaciones de las arquitecturas hasta ahora mencionadas. El objetivo de esta publicación eraintroducir una aproximación para solventar estas limitaciones, creando una red que generasemapas de características dependientes de escalas mediante bloques trident con diferentes cam-pos receptivos. Esta red sucedería a la FPN, solventando así las limitaciones que tiene esta conlas características de bajo y alto nivel mencionadas en la publicación de PANet. TridentNet,a diferencia de PANet, no utiliza características de diferentes niveles para agruparlos después,sino que genera características de escalas especificas mediante ramas paralelas (véase fig. 2.20),dotando a la red con la capacidad de representar con la misma habilidad a todos los objetos dediversas escalas.

Figura 2.20: Ilustración de la red TridentNet .

TridentNet utiliza también un esquema de entrenamiento dependiente de la escala pre-definida por el diseño de los desarrolladores. Este esquema se basa en la selección de RoI sde la arquitectura SNIP [99], el cual selecciona solo las regiones y los ground-box con las escalasque concuerdan con el rango de la rama paralela. Utilizando esta red y este método de entre-namiento, se consiguió mejorar no solo el estado del arte en cuanto a la precisión, sino tambiénla velocidad de inferencia de las redes de dos fases.

Los últimos avances en el campo de la detección de objetos han aportado nuevas arquitecturasque distan de las vistas hasta ahora incorporando nuevos conceptos y nuevos puntos de partidatotalmente diferentes. Aunque GCNet[17], con una novedosa arquitectura que integra Non-local networks (NLN)[108] y Squeeze-excitation networks (SEN)[48], estuvo cerca de desbancara TridentNet de la primera posición consiguiendo la misma precisión que esta, el resto de lasnuevas aproximaciones publicadas no consiguieron entrar en el podio.

Aun así, viendo las distintas vías de investigación que están surgiendo, a partir de nuevasaportaciones y los nuevos detectores que se están creando, se divisa un futuro fructífero en lospróximos años para las arquitecturas de detección de objetos de dos fases.

Page 42: Deep Learning object detection architectures in ADAS

24 CAPÍTULO 2. ESTADO DEL ARTE

2.4.2. Arquitecturas basadas en regresión/clasificación

Como se ha visto en la sección anterior, el avance de las arquitecturas de dos pasos ha sidomuy grande desde los comienzos con R-CNN[41] hasta el estado del arte actual, TridentNet[65];no solo mejorando la precisión de la detección de objetos, también creando arquitecturas másrobustas y con menor tiempo de inferencia. A pesar del surgimiento de nuevos extractoresde mapas de características [69][66], la necesidad computacional que conlleva procesar estosmapas de diversas escalas hace que el coste de entrenamiento y de inferencia sea elevado. Poresta razón, los investigadores pronto se dieron cuenta de la necesidad de crear arquitecturasque fuesen más rápidas aun sacrificando la precisión.

La línea de investigación tomada por los expertos para crear estos detectores más rápidos,fue crear arquitecturas de una fase basados en la regresión y clasificación, capaces de inferirdirectamente de una imagen las coordenadas de las cajas delimitadoras y la verosimilitud porclase.

La primera aproximación de las arquitecturas de una fase fue creado por Cristian Szegedyet al. [102], una arquitectura basada en deep neural networks que contiene 7 capas, 5 convo-lucionales y dos capas totalmente conexas. Esta arquitectura en vez de utilizar como ultimacapa una capa softmax, utiliza una capa de regresión que genera una máscara binaria (cajadelimitadora) y mediante el entrenamiento se minimiza el error de regresión. Pero debido a laslimitaciones de esta con el solapamiento de objetos, los investigadores empezaron a desarrollarotras arquitecturas más avanzadas, entre las cuales cabe destacar una arquitectura basada enMultibox [32], AttentionNet [113] y G-CNN [76].

A pesar de la amplia variedad de detectores de una fase, ninguno se consolidó como unaalternativa útil, eficiente y válida a las arquitecturas de dos etapas, ya que el aprendizaje parala regresión y su posterior uso en inferencia es mucho más complejo. La revolución de estetipo de arquitecturas empezó con la publicación de una novedosa arquitectura llamada YouOnly Look Once (YOLO)[84], creada por Joseph Redmon et. al. Esta aproximación fue laprecursora de la detección de objetos en tiempo real, consiguiendo una precisión de 63.3%mAPen la competición PASCALVOC [34], quedando por detrás de Fast R-CNN (70%mAP ) y FasterR-CNN (73.2%mAP ).

Esta arquitectura en vez de utilizar ventanas deslizantes y técnicas basadas en regiones,como sí lo hacían los detectores de dos fases del estado del arte de la época como R-CNN [41]y Fast R-CNN [40], razona localmente sobre un conjunto pequeño de lugares de la imagen pararealizar la predicción (véase fig 2.21). Además, debido a la simplicidad de la arquitectura (véasefig 2.22); por ser un problema de regresión y al analizar una cantidad menor de lugares de laimagen, permite poder realizar predicciones a 45 FPS cuando la arquitectura de dos fases másrápida era la Fast R-CNN (0.5 FPS).

YOLO divide la imagen en S x S cuadriculas (véase fig 2.21), donde cada casilla que repre-sente el centro de un objeto será el responsable de detectarlo. Para ello, cada casilla predice Bcajas delimitadoras y la probabilidad (Pr(Object) ∗ IOU truth

pred ) de que esta contenga un objeto

Page 43: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 25

Figura 2.21: Ilustración que ejemplifica el funcionamiento de la división por casillas de unaimagen de YOLO.

Figura 2.22: Diagrama de la arquitectura de YOLO compuesta por 24 capas convolucionales y2 totalmente conexas.

dentro (confianza). A su vez, para poder saber cada objeto a que clase pertenece la arqui-tectura predice para todas las casillas (S x S) las probabilidades de pertenecer a cada clase(Pr(Classi|Object)). Como la predicción de la clase no se realiza por cada caja delimitadorapredicha (S x S x B), si no por cada casilla (S x S), se reduce el coste computacional.

Pr(Classi|Object) ∗ Pr(Object) ∗ IOU truthpred = Pr(Classi) ∗ IOU trut

pred (2.1)

Hacer la división de la imagen en S x S casillas, hace que el coste computacional dependatambién del valor que se le asigne a S; cuantas más casillas más coste computacional. La mayor

Page 44: Deep Learning object detection architectures in ADAS

26 CAPÍTULO 2. ESTADO DEL ARTE

limitación de esta arquitectura es debido a eso, ya que tiene muchas dificultades para detectarde objetos pequeños. Eso sucede porque al dividir la imagen en casillas, si estas son demasiadograndes, contendrán más de un objeto o el centro de los objetos muy pequeños se perderá dentrode las casillas sin prestarles atención. Una de las posibles mejoras sería asignarle un valor altoa S, pero esto conllevaría la pérdida de la velocidad de la arquitectura, que es lo que se buscacon esta.

Intentando solventar ese problema de detección de objetos de dimensiones pequeñas, Liu et al.diseñaron una nueva arquitectura de una fase llamada MultiBox Detector (SSD)[70]. Parala creación de este detector, Liu et al. se basaron entre otros, en la red Region Proposal Network(RPN) propuesta por Shaoqing Ren et al. en la reciente publicación de la arquitectura FasterR-CNN[87], utilizando también, elementos parecidos a los anchor boxes denominados prior enSSD. Pero en vez de aplicar el agrupamiento de características y evaluarlos con otro clasificador,como hace la red RPN, en esta arquitectura se generan simultáneamente las puntuaciones decada caja delimitadora para cada categoría de objetos.

Figura 2.23: Funcionamiento de la arquitectura SSD. (Izquierda) La imagen con ground truthboxes. (Centro) Mapa de caracteristicas 8x8. (Derecha) Mapa de caracteristicas 4x4

Otra de las inspiraciones para el diseño de SSD, fue utilizar la estructura de VGG16[98]por su capacidad de clasificar imágenes de gran calidad (véase fig. 2.24). Para adaptar lared VGG16 para el funcionamiento deseado, se eliminaron las capas totalmente conexas delfinal y se añadieron capas convolucionales para posibilitar la extracción de características endiversas escalas. La inspiración para la técnica de regresión de esta arquitectura fue basarse enla de MultiBox[32], utilizando como función de error a minimizar, la suma ponderada de lafunción de error de la probabilidad de que una caja predicha contenga un objeto dentro y dela localización.

SSD es una arquitectura flexible en cuanto al método de predecir las cajas delimitadoras y laconfianza (probabilidad de que esta contenga un objeto) para múltiples categorías de objetos.En caso de que el detector solo utilice un prior por localización del mapa de características demás alto nivel semántico, tendrá un comportamiento similar a la arquitectura de tipo ventanadeslizante llamada OverFeat[93]. Pero en caso de que utilice todo el mapa de características yaplique una capa totalmente conexa en vez del predictor convolucional, el comportamiento será

Page 45: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 27

Figura 2.24: Ilustración que ejemplifica el funcionamiento de la división por casillas de unaimagen de YOLO.

muy parecido al de YOLO[84].

La versión SSD300, llamada así por recibir imágenes de 300x300, fue la primera aproximaciónen desbancar a YOLO. Con una precisión de 74.3%mAP para la competición PASCALVOC [33]y 28%mAP para COCO [68], además de una velocidad de 46 FPS, llegó a mejorar el estadodel arte de los detectores de una fase. A pesar de esa mejora, SSD seguía teniendo dificultadespara la detección de objetos pequeños, por lo que en una segunda versión llamada SSD512,se intentó mejorar ese problema dando la capacidad a la arquitectura de recibir imágenes demayor tamaño. Aunque se logró mejorar la precisión en las dos competiciones con 76.8%mAPy 31.2%mAP , decreciendo la velocidad solamente a 19 FPS, en un análisis posterior se vioque entrenando el detector con las mismas imágenes pero solamente aumentando los objetospequeños la precisión mejoraba entre 3 y 4 puntos.

El mismo año que surgió el detector SSD, Joseph Redmon et. al publicaron una nuevaarquitectura llamada YOLOv2[85] que mejoraba algunos aspectos de su anterior arquitectura,YOLO. Este detector mejorado consiguió superar a su predecesor e incluso a su competidorSSD, consiguiendo una precisión de 78.6%mAP para la competición PASCALVOC [33] con unavelocidad de 40 FPS.

YOLOv2 trajo nuevas mejoras para la arquitectura YOLO que permiten un mejor rendimien-to del detector sin sacrificar la velocidad. Para ello, Joseph Redmon et. al realizaron cambiossignificativos en los procedimientos de entrenamiento e regresión. Añadieron batch normaliza-tion para todas las capas convolucionales mejorando la predicción por 2 puntos y evitando elsobre-entrenamiento sin utilización de otro mecanismo. Para tener mayor capacidad de clasifi-cación de imágenes de gran calidad, como SSD, decidieron pre-entrenar la red clasificadora deYOLOv2 con el dataset imagenet [29].

Una de las partes de la arquitectura de YOLO que más ralentizaban el proceso de entre-namiento e inferencia eran las capas totalmente conexas. En esta segunda versión se decidiódeshacerse de estas capas utilizando en vez de estas los anchor boxes para realizar la predic-ción de las cajas delimitadoras, como se hace en SSD (basándose la red RPN de Faster R-CNN[87]). Aunque esto haga disminuir la precisión del detector, aumenta considerablemente el recall,

Page 46: Deep Learning object detection architectures in ADAS

28 CAPÍTULO 2. ESTADO DEL ARTE

haciendo la arquitectura más robusta a la generalización para otros dominios de uso.

Figura 2.25: Pruebas de clusterting realizadas en la publicación de YOLOv2 para calcular lamejor dimension de la caja.

La innovación aportada por YOLOv2 en el aspecto del uso de anchor boxes fue la creaciónde un generador automatico de estos, ya que en SSD y Faster R-CNN los anchor boxes estabandefinidos manualmente. Este generador utiliza el algoritmo de clustering K-means en la fasede entrenamiento para elegir el tamaño idóneo de los anchor boxes (véase fig. 2.25). Ademáslidian con la inestabilidad creada por uso de anchor boxes utilizando una activación logísticapara limitar la predicción directa de la localización de las cajas.

Figura 2.26: Regresión de cajas delimitadoras utilizando anchor boxes (caja de puntos) y lapredicción de la localización.

A diferencia de la arquitectura SSD, los creadores de YOLOv2 consiguieron estructurar unaarquitectura capaz de detectar objetos de pequeñas dimensiones, añadiendo una capa de ca-racterísticas de 13x13 (véase fig. 2.27). Esta capa, que tiene las dimensiones suficientes paraque la detección de objetos grandes no empeore, ayuda a la localización de objetos pequeños.Para ello, mediante una capa que simula la identidad de ResNet [44] (véase fig. 2.13 y 2.27 ), seconsigue transmitir las características del mapa de 26x26 (alto nivel) al mapa antes mencionado(bajo nivel).

Todas estas mejoras permitieron conseguir una mayor precisión en la segunda versión de YO-LO, a costa de empeorar la velocidad de esta. La recuperación de esa velocidad que destacaba a

Page 47: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 29

Figura 2.27: Ilustración de la trasmisión de las características de la capa de 26x26 a la de 13x13.

YOLO se logró con la integración de un nuevo modelo de clasificación, Darknet-19. Basándoseen las capas convolucionales de 3x3 de VGG y siguiendo el trabajo de Network in Network(NIN), crearon un clasificador que utiliza global average pooling(NIN) para hacer prediccionesy filtros de 1x1(VGG) para comprimir la representación de características entre las capas con-volucionales. Esta red solo necesita 5.58 billones de operaciones, en comparación con las 30.69billones de VGG.

Aunque las arquitecturas de una fase conseguían ir mejorando su precisión sin llegar a perderesa destacable velocidad, todavía no llegaban a alcanzar a los altos valores de precisión delestado del arte definidos por las arquitecturas de dos fases. Una de las principales obstáculosa superar de los detectores de una fase para lograr esos resultados, era el desequilibrio entrelas clases; muchas localizaciones candidatas y pocos objetos reales, durante el entrenamiento.En las arquitecturas R-CNN se abordó este problema filtrando de las regiones candidatas elfondo, utilizando entre otros, heurísticas de muestreo. Mientras que en los detectores basados enregiones se consiguió solventar el problema, los de una fase todavía tenían que gestionar grandescantidades de localizaciones candidatas y dado que la utilización de heurísticas de muestreo eramuy ineficiente, por la gran cantidad de localizaciones que señalaban al fondo, se probaronotros métodos como bootstrapping [89] y hard example mining [35] con el mismo resultado.

Los investigadores de IA en Facebook, Tsung-Yi Lin et al., introdujeron un nuevo conceptollamado Focal Loss[67] mediante el cual solventaban el problema antes mencionado. Estaaportación científica fue publicada junto a un nuevo detector de una fase llamada RetinaNet,que se convertía en el estado del arte de la detección de objetos, consiguiendo una precisión de37%mAP para la competición COCO [68] ante YOLOv2 (21.6%mAP ), SSD512 (31.2%mAP ),FPN (36.2%mAP ), etc..

Focal Loss es una nueva función de error que actúa más efectivo que las anteriores ante eldesequilibrio entre el fondo y el primer plano. Esta función es una función de error dinámi-camente escalar de entropía cruzada, en el cual el factor escalar tiende a cero a la vez que laconfianza de la clase correcta incrementa. Este factor escalar facilita la gestión de la contri-bución realizada por ejemplos fáciles y difíciles en la fase de entrenamiento. Para diseñar lafunción Focal Loss tomaron como punto de partida la función de error cross entropy (CE)para la clasificación binaria (eq. 2.3), la cual recibe como parámetro la clase real del objeto(y ∈ ±1) y la probabilidad estimada (p ∈ [0, 1]). Para facilitar los cálculos definieron un nuevo

Page 48: Deep Learning object detection architectures in ADAS

30 CAPÍTULO 2. ESTADO DEL ARTE

Figura 2.28: Gráfica de comparación del funcionamiento de Focal Loss para diversos valores deγ, cuanto mayor valor, mayor es la influencia de los ejemplos difíciles en el entrenamiento.

elemento pt (eq. 2.2).

pt =

{p si y = 1

1− p si no,(2.2)

Para poder lidiar con el desequilibrio entre clases, se añade un factor de ponderación αt (eq.2.3), que depende del valor positivo o negativo de pt, ya que αt es análoga a la definición de pt.

CE(y, p) = CE(pt) = −αtlog(pt) (2.3)

El factor antes mencionado solo permite balancear la importancia dependiendo si los ejemplosson positivos y negativos, por lo que los investigadores decidieron modificar esa función CE parapoder balancearla dependiendo de la dificultad del ejemplo (véase fig. 2.28). Añadieron un nuevofactor −αt(1− pt)

γ con un parámetro modificable γ ≥ 0.

FL(pt) = −αt(1− pt)γlog(pt) (2.4)

De esta manera crearon la nueva función llamada Focal Loss (FE) sensible a la complejidad

Page 49: Deep Learning object detection architectures in ADAS

2.4. DETECCIÓN DE OBJETOS 31

de cada ejemplo (véase fig. 2.28). Este nuevo concepto mejoraba drásticamente el entrenamientode los detectores de una fase y su precisión. Para probarlo diseñaron una nueva red llamadaRetinaNet (véase fig. 2.29), la cual estaba compuesta por la columna vertebral de una FPN [66]sobre una arquitectura ResNet [44] que tenía unidas dos redes para la clasificación y regresiónde anchor boxes.

Figura 2.29: Visualización de la arquitectura del detector RetinaNet.

Esta nueva función de error parecía ser la revolución para los detectores de una fase y losexpertos pronto empezaron a modificar arquitecturas para la utilización de esta función en lafase de entrenamiento. Eso es lo que hizo Joseph Redmon en 2018 introduciendo la nueva versiónde YOLO, la tercera, llamada YOLOv3[86]. En esta publicación, Redmon aseguraba que laintegración de Focal Loss no hizo más que disminuir la precisión de YOLOv2 por lo que decidióno aplicarlo en la nueva versión y utilizar binary cross-entropy loss. Los cambios realizadosfueron minoritarios como aplicar regresión logística para calcular la puntuación de cada cajapredicha, cambiar de Darknet-19 a Darknet-53 para extraer características y quitar softmaxcalculando las probabilidades con un clasificador logístico independiente. A pesar de que loscambios fuesen mínimos, fueron suficientes para poder superar a sus dos versiones anteriorescon una precisión de 33%mAP en la competición COCO [68], aunque no llegó a ser el estadodel arte ya que RetinaNet ofrecía mejor rendimiento (37%mAP ).

Los últimos años se está viendo que la grieta en cuanto a la precisión que existía al co-mienzo de vida temprana de las arquitecturas de deep learning para la detección de objetosestá disminuyendo poco a poco. Desde la creación de YOLO [84] y SSD [70] se ha visto ungran avance entre las arquitecturas de detección de una fase para poder alcanzar a las de dosfases, consiguiéndolo en alguno de los casos [67][86]. Las ultimas arquitecturas creadas: Cen-terNet[31][121], CornerNet[61], VoVNet[64], ect. están demostrando un buen trade-off entre lavelocidad y precisión, demostrando el gran futuro que tienen estas arquitecturas.

Page 50: Deep Learning object detection architectures in ADAS

32 CAPÍTULO 2. ESTADO DEL ARTE

Page 51: Deep Learning object detection architectures in ADAS

Capítulo 3

Análisis de recursos tecnológicos

Previo al comienzo del desarrollo de la experimentación del proyecto, es necesario realizar uninforme exhaustivo de las diversas tecnologías y recursos que existen en el mercado, analizandolos posibles riesgos y beneficios de cada uno de ellos. En este capítulo se agrupara toda laparte de la evaluación de riesgos del proyecto y se hará una selección consecuente de la posiblesolución o soluciones tecnológicas, evaluando el análisis realizado e interpretando el alcance delproyecto en cuanto a la innovación que se ha de aportar.

3.1. Arquitectura de detección de objetos

La primera tarea indispensable a realizar antes del comienzo del desarrollo es la elección deuna arquitectura de detección de objetos que cumpla la función de nuestro proyecto. Comopunto de partida se ha utilizado el análisis del estado del arte realizado en el anterior capitulo(véase capitulo 2), para así tener conocimientos previos de las diferentes vertientes de detectoresque existen en el panorama y cuál está siendo la evolución del mercado en los últimos años.

Tal y como se ha explicado previamente (véase sub-sección 2.4) existen dos tipos principalesde arquitecturas deep learning para la tarea de detección de objetos, las arquitecturas de unafase (véase sección 2.4.1) y las de dos (véase sección 2.4.2). Las primeras tienen como principalventaja la velocidad de inferencia y las segundas la precisión; teniendo en cuenta que el objetivoes lograr una detección en tiempo real, se tendrá que buscar un buen trade-off entre los dos.

Dado la gran comunidad de investigadores que aportan y reúnen información de diversaspublicaciones, se aprovechará ese conocimiento para realizar el análisis y evaluación de diferentesredes sin la necesidad de tener que hacer las pruebas de comparación. Teniendo en cuenta queexisten gran variedad de competiciones de detección de objetos, seleccionaremos los resultadosobtenidos en la competición de Microsoft, COCO [68], como principal criterio de pruebas, yaque es una de las competiciones más completas de todas (véase tabla 3.1) y en la que la mayoría

33

Page 52: Deep Learning object detection architectures in ADAS

34 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

de los detectores han sido evaluados. Además, los valores indicados en las publicaciones de cadadetector se cotejaran después con otras publicaciones de benchmarking para evitar imparcialidady que la comparación sea más justa e igualada.

Tabla 3.1: Comparación de las competiciones más importantes sobre detecciónde objetos.

Competición Clases Numero de imágenes Numero de anotaciones

Entr1 Test1 Valid1 Entr Test

VOC07 20 2,501 2,510 4,952 6,301 6,307VOC12 20 2,717 2,823 10,991 13,609 13,841ILSVRC17 200 456,567 20,121 65,500 478,807 55,502COCO18 80 118,287 5,000 40,670 860,001 36,781OID18 500 1,743,042 41,620 125,436 12,195,144 -1 Partición para entrenamiento2 Partición para testeo3 Partición para validación

La competición COCO tiene una normativa de evaluación, en la cual hay que seguir unosestándares y calcular diversas métricas para validar los resultados de cada detector. Estasdiversas métricas permiten que conozcamos el desempeño de la arquitectura teniendo en cuentano solo la precisión media; la cual indica la media de la precisión obtenida en la detección decada tipo de objeto, sino también teniendo en cuenta otros apartados que pueden ser útiles ala hora de la selección de esta. Las métricas a calcular son las siguientes:

1. Precisión media (AP)

a) AP : Precisión media para los umbrales de IoU = [.50, .55, ..., 0.95]

b) AP IoU=.50: Precisión cuando el umbral de IoU es .50, también usado en PASCAL-VOC [33].

c) AP IoU=.75: Precisión cuando el umbral de IoU es .75.

2. AP por escalas

a) AP small : Precisión media para los objetos con un área menor a 322.

b) APmedium : Precisión media para los objetos con un área entre 322 y 962.

c) AP large : Precisión media para los objetos con un área menor a 962.

3. Recall 1 medio (AR)

a) AR1 : Recall medio dado una detección por imagen.

b) AR10 : Recall medio dado diez detección por imagen.1 Positivos realesPositivos reales+Falsos negativos

Page 53: Deep Learning object detection architectures in ADAS

3.1. ARQUITECTURA DE DETECCIÓN DE OBJETOS 35

c) AR100 : Recall medio dado cien detección por imagen.

4. AR por escala

a) ARsmall : Recall medio para los objetos con un área menor a 322.b) ARmedium : Recall medio para los objetos con un área entre 322 y 962.c) ARlarge : Recall medio para los objetos con un área menor a 962.

Mediante la interpretación de estas medidas se puede conocer, por ejemplo, el desempeño decada detector para detectar objetos pequeños (AP small) o la capacidad de generalización (AR).La recopilación de datos se realizará a partir de diversas publicaciones y se intentara encontrartodos los valores de desempeño para cada métrica.

Este primer análisis de los detectores solo tendrá en cuenta el despeño obtenido mediantela evaluación de COCO, ya que el principal criterio es la precisión de la arquitectura.Por lo tanto, en esta primera fase, se descartaran los detectores que peor precisión tengan sintener en cuenta su velocidad, ya que el principal objetivo del proyecto es conseguir un detectorcompetente para el mercado. También se tiene que tener en cuenta que con el avance de estatecnología (véase cap. 2), los detectores de dos fases son cada vez más rápidos y los de una fasemás precisos por lo que en esta primera criba solo se descartaran los detectores más antiguos omenos competentes en el estado del arte actual.

Dado que la recopilación de datos se realiza mediante diversas lecturas de publicaciones[119][61][121][86][65][17] y otros recursos [80][81][47], es difícil encontrar los valores de todaslas métricas por lo que el análisis de centrara en las métricas más representativas y las quemás se divulgan, es decir, las relacionadas con la precisión media (AP). Como se puede veren la tabla 3.2, el avance de los detectores ha hecho que se consiga hasta un 48.4%mAP(TridentNet[65],GCNet[17]) y que la mayoría de los detectores superen hoy en día, el umbraldel 40%mAP , que hace años se veía imposible [87][40][84].

Mediante la información mostrada en la tabla 3.2 no es difícil diferenciar los mejores detecto-res para cada una de las métrica, pero debido a que hay más criterios de evaluación, lo idóneoseria hacer una poda de los peores menos precisos (AP ). Teniendo en cuenta los objetivos delproyecto, la arquitectura deberá tener un desempeño destacable para la detección de objetospequeños (AP small) y medianos (APmedium), por lo tanto, junto a la métrica AP , estas dosserán la segunda y tercera métrica de descarte de esta fase. Como se ha mencionado antes, losnuevos detectores han logrado superar la precisión media de 40% por lo que esta sería un valorde corte correcto. Pero para no descartar arquitecturas cercanas a ese valor, y que pueden pro-porcionar mejor desempeño en cuanto a velocidad o precisión para otros dominios (detecciónde persona, baches, etc.), se concederá un margen mínimo de variación para ese umbral. Encuanto a AP small e APmedium, los valores mínimos aceptables serán la mitad de la AP paraAP small y que APmedium supere a AP por varios puntos. Aunque la elección de estos valores decorte parezca trivial (véase tabla 3.3), está relacionado con la elección de la arquitectura pararealizar nuestra tarea, ya que no superar estos valores mínimos indicara que la arquitecturaestá especializada en la detección de objetos de gran tamaño.

Page 54: Deep Learning object detection architectures in ADAS

36 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

Tabla 3.2: Evaluación de detectores utilizando las métricas AP de la competición COCO.

Detector Precisión media (AP) AP por escalas

AP AP IoU=.50 AP IoU=.75 AP small APmedium AP large

Fast R-CNN[40] 20.5 39.9 19.4 4.1 20.0 35.8Faster R-CNN[87] 24.2 45.3 23.5 7.7 26.4 37.1R-FCN[25] 29.2 51.5 - 10.8 32.8 45.0FPN[66] 36.2 59.1 39.0 18.2 39.0 48.2mask R-CNN[97] 39.8 62.3 43.4 22.1 43.2 51.2D-FCN 37.5 58.0 - 19.4 40.1 52.5Cascade R-CNN [16] 42.8 62.1 46.3 23.7 45.5 55.2PAnet [69] 47.4 67.2 51.8 30.1 51.7 60.0SNIP [99] 44.4 66.2 49.9 27.3 47.4 56.9SNIPER [100] 46.1 67.0 51.6 29.6 48.9 58.1TridentNet [65] 48.4 69.7 53.5 31.8 51.3 60.3GCNet [17] 48.4 67.6 52.7 41.5 64.6 45.0YOLOv2[85] 21.6 44.0 19.2 5.0 22.4 35.5SSD300[70] 23.2 41.2 23.4 5.3 23.2 39.6SSD512[70] 26.8 46.5 27.8 9.0 28.9 41.9DSSD 33.2 53.3 35.2 13.0 35.4 51.1YOLOv3[86] 33.0 57.9 34.4 18.3 35.4 49.9RetinaNet[67] 40.8 61.1 44.1 24.1 44.2 51.2CornerNet-Squeeze[61] 34.4 - - 13.7 36.5 47.4CornerNet-Saccade[61] 43.2 - - 24.4 44.6 57.3VoVNet[64] 38.5 60.4 42.0 20.0 41.4 51.7CenterNet-DLA[121] 39.2 57.1 42.8 19.9 43.0 51.4CenterNet-HG[121] 42.1 61.1 45.9 24.1 45.5 52.8CenterNet511[31] 47.0 64.5 50.7 28.9 49.9 58.9

Después del primer análisis donde se han descartado los detectores que menos precisos, se-gún los criterios previamente indicados (véase tabla 3.3), se llevará a cabo el segundo análisisdonde el aspecto de la arquitectura a evaluar será la velocidad de ésta. Debido a la existenciade diversas unidades y métricas de medición de la velocidad de un detector, se recopilará lainformación que se proporciona sobre la velocidad de inferencia del detector, preferiblementemedida en milisegundos por frame (ms) y frames procesados por segundo (FPS). La mediciónde la velocidad puede ser engañosa, ya que esto dependerá del procesador (GPU) utilizado, delexperimento realizado y varios factores más, por lo que se intentará realizar la recopilación dela velocidad de una misma publicación.

La velocidad de inferencia es una característica critica para la detección de objetos a tiemporeal, a pesar de que esta pueda variar según la política de procesamiento del vídeo. Por ejemplo,si un detector (A) 4 veces más lento que otro (B) procesa una cuarta parte de FPS de un vídeo,el tiempo necesario será el mismo para los dos. Por esta razón, es difícil hacer un balance justoe igualado para seleccionar las posibles arquitecturas a utilizar. Esta incertidumbre hace que secontemplen otros puntos de vista que permitan ampliar el espectro de aspectos críticos como

Page 55: Deep Learning object detection architectures in ADAS

3.1. ARQUITECTURA DE DETECCIÓN DE OBJETOS 37

Tabla 3.3: Evaluación de los detectores según su AP ,AP small y APmedium.

Detector Criterio de elección

AP AP small APmedium

Fast R-CNN[40] 20.5 - -Faster R-CNN[87] 24.2 - -R-FCN[25] 29.2 - -FPN[66] 36.2 - -mask R-CNN[97] 39.8 22.1 43.2D-FCN 37.5 - -Cascade R-CNN [16] 42.8 23.7 45.5PAnet [69] 47.4 30.1 51.7SNIP [99] 44.4 27.3 47.4SNIPER [100] 46.1 29.6 48.9TridentNet [65] 48.4 31.8 51.3GCNet [17] 48.4 41.5 64.6YOLOv2[85] 21.6 - -SSD300[70] 23.2 - -SSD512[70] 26.8 - -DSSD 33.2 - -YOLOv3[86] 33.0 - -RetinaNet[67] 40.8 24.1 44.2CornerNet-Squeeze[61] 34.4 - -CornerNet-Saccade[61] 43.2 24.4 44.6VoVNet[64] 38.5 20.0 41.4CenterNet-DLA[121] 39.2 19.9 43.0CenterNet-HG[121] 42.1 24.1 45.5CenterNet511[31] 47.0 28.9 49.9

pueden ser la facilidad de implementación, existencia de código, soporte de modelos, etc. Paraeso, en este segundo análisis se descartaran los casos de incertidumbre extrema donde no seconoce ningún dato de la velocidad de las arquitecturas, como se puede observar en la tabla3.4.

Para una selección idónea de la arquitectura es necesario buscar un buen trade-off entre laprecisión y velocidad (véase fig. 3.1), obteniendo un equilibrio entre las dos características. Espreferible que el detector sea más preciso que veloz, ya que es primordial realizar correctamentela detección de objetos y más en el mundo automovilístico donde un funcionamiento incorrectopuede acarrear riesgos reales. Pero también hay que considerar que en un entorno dinámicocomo es la carretera, donde los elementos del entorno (coches, autobuses, etc.) y el mismosujeto se mueven a altas velocidades, dificultan que el detector realice su función casi de manerainstantánea.

Teniendo presentes estos criterios, las posibles arquitecturas candidatas a ser electas se limitan

Page 56: Deep Learning object detection architectures in ADAS

38 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

Tabla 3.4: Velocidad de inferencia de las arqui-tecturas seleccionadas en la primera fase.

Detector milisegundos (ms) FPS

mask R-CNN[97] 200 5Cascade R-CNN [16] - -PAnet [69] - -SNIP [99] 900 1.1SNIPER [100] 400 2.5TridentNet [65] 1428 0.7GCNet [17] - -RetinaNet[67] 198 5VoVNet[64] 60.2 16.6CenterNet-DLA[121] 35.7 28CenterNet-HG[121] 128.2 7.8CenterNet511[31] 340 2.9

Figura 3.1: Gráfica ilustrativa del trade-off de las arquitecturas más destacables.

a las que se observan en las zonas de la figura de color verde, amarillo o ambas 3.1. Lasarquitecturas con el mejor posicionamiento en el trade-off de la precisión y velocidad son lasvariaciones de CenterNet[121]y VoVNet[64], aunque sin dejar de lado las que se encuentranen una posición menos preferible como RetinaNet [67], TridentNet [65], SNIPER[100], SNIP [99],CenterNet511 [31] y mask R-CNN [97].

Page 57: Deep Learning object detection architectures in ADAS

3.1. ARQUITECTURA DE DETECCIÓN DE OBJETOS 39

Después de haber realizado un primer análisis exhaustivo donde se han seleccionado los detec-tores candidatos, utilizando criterios objetivos y constatados mediante una amplia recopilaciónde datos de publicaciones, la balanza decantará por una de estas arquitecturas. Con el fin dedeshacer este equilibrio, se utilizaran otros criterios de elección más subjetivos y con menorfundamento empírico. En este análisis entraran en juego el alcance del proyecto, los recursosdisponibles, los conocimientos del experto y el soporte proporcionado.

Una incorrecta elección del detector conllevará un coste extra que imposibilitara la fina-lización planificada del proyecto, dificultando de manera drástica el alcance de los objetivosindicados en el capitulo 1. Debido a la reducida cantidad de recursos temporales disponi-bles, la implementación de un detector en entornos complejos o sin soporte de código (github,etc.) es totalmente inviable, por lo que se deberán descartar los detectores que en su publicaciónno proporcionen parte del código o un entorno de desarrollo.

Otro de los objetivos del proyecto es la realización de un trabajo que contemple solucio-nes innovadoras al problema indicado, intentando en todo momento aplicar las aportacionesmás novedosas al estado del arte y evitar el uso de detectores anticuados. Por esta mismarazón solo se tendrán tendran presentes las arquitecturas publicadas en este ultimo año 2019:CenterNet [121], TridentNet [65], CenterNet511 [31] y VoVNet [64], descartando el resto.

Entre las cuatro arquitecturas antes mencionadas, son CenterNet y VoVNet las que se en-cuentran mejor posicionadas en cuanto al trade-off por lo que la selección se hará entre estasdos. Como ultimo criterio de elección, se tendrán en cuenta las características de cada arqui-tectura como su complejidad, las posibilidades que ofrece, cuan novedoso es, etc.

VoVNet es una arquitectura que ofrece una alternativa para DenseNet [50] haciendo las vecesde extractor de características. Por esa razón, esta publicación introduce en realidad una nuevaestructura integrable, que se podrá implementar como columna vertebral en otros detectores(ej. RefineDet [117] en la publicación) y no un detector per se.

A su vez, CenterNet sí es una arquitectura novedosa que incorpora al estado del arte unnuevo modo de detectar objetos a partir de puntos, usando como punto de partida la idea deCornerNet [61]. Además de esta singularidad de la arquitectura, que hace que el detector difierade las técnicas de detección más extendidas como la utilización de anchor boxes o regionesde interés RoIs, también aporta una amplia variedad de posibles alteraciones a realizar en ellamediante un extenso y sofisticado framework. Por estas dos razones, se arriesgará con la elecciónde esta arquitectura que aunque sea más compleja, es mucho más completa y aportará un granpunto innovador al proyecto.

CenterNet

Después de la elección del detector CenterNet [121] en esta pequeña sección se realizará unbreve análisis de la arquitectura y de las amplias variaciones que ofrece.

Page 58: Deep Learning object detection architectures in ADAS

40 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

La detección de objetos mediante la estimación de puntos clave es una de las técnicas másnuevas en este campo. Los creadores de CenterNet no han partido desde cero ya que han utili-zado como base las primeras aproximaciones de CornerNet [61], una arquitectura que estimabados esquinas de la caja delimitadora, y ExtremeNet [123], que estimaba las cuatro esquinas yel centro de las cajas. Este detector solo utiliza el centro de las cajas, haciendo que el procesode estimación sea más rápido.

Este detector, debido a su complejidad y alta capacidad de generalización está capacitadopara la realización de diversas tareas dentro de la detección de objetos. Las tareas que se puedenrealizar utilizando el detector CenterNet son las siguientes: detección de objetos tradicional,detección de objetos 3D, estimación de pose y segmentación de objetos. Consiguiendo en variasde estas tareas llegar a ser el estado del arte.

El objetivo de este detector es generar un mapa de calor de puntos clave Y ∈ [0, 1]WR∗HR∗C ,

donde H y W son las dimensiones de la imagen, R la reducción de salida (normalmente es4 [78]) y C el número de diferentes tipos de puntos clave. Cuando la predicción de un punto(x, y) para el tipo (c) es Yxyc = 1 significa que es un punto clave, mientras que si es Yxyc = 0

significa que es parte del fondo. Se puede decir que en esta arquitectura el mapa de calor Y esel equivalente de los mapas de características de los otros detectores.

Para la predicción de Y el detector ofrece la integración de cuatro detectores totalmen-te convolucionales. Estas redes son Hourglass-104[60], ResNet-18[44], ResNet-101[44] yDLA-34[114], estas últimas modificadas para que utilicen capas convoluciones deformables[26]. Cada una de estas columnas vertebrales permite conseguir un desempeño diferente encuanto a la precisión y velocidad (véase tabla 3.5), permitiendo la posibilidad de jugar con eltrade-off de estos.

Tabla 3.5: Comparación de las columnas vertebrales de Cen-terNet.

Precisión media (AP) Velocidad en FPS

NA1 F2 MS3 NA F MS

Hourglass-104 40.3 42.2 45.1 14 7.8 1.4DLA-34 37.4 39.2 41.7 52 28 4ResNet-101 34.6 36.2 39.3 45 25 4ResNet-18 28.1 30.0 33.2 142 71 121 Entrenamiento sin aumento de imágenes.2 Entrenamiento voltean imágenes aleatoriamente.3 Entrenamiento con aumento multi-escalar aleatorio de

imágenes.

El objetivo de la red es minimizar la función de regresión logística en píxeles con penalizaciónreducida y pérdida focal (3.2), retomando así la función de pérdida Focal Loss introducida enla red RetinaNet [67]. Además de esta función de pérdida, debido al error de discretización

Page 59: Deep Learning object detection architectures in ADAS

3.1. ARQUITECTURA DE DETECCIÓN DE OBJETOS 41

causado por la reducción de salida que se aplica, es necesario el uso de un offset entrenadomediante una función de pérdida y utilizando el calculo de offset locales para cada punto clave.

Lk =−1

N

∑xyc

{(1− Yxyc)

αlog(Yxyc) if Yxyc = 1

(1− Yxyc)β(Yxyc)

αlog(Yxyc) si no,

Figura 3.2: Función de perdida para el objeto k, siendo Yxyc el centro generado y Yxyc el centroreal.

Dependiendo de la tarea a realizar, a las dos funciones de pérdida antes mencionadas se lesañade una complementaria para el entrenamiento. En la detección de objetos clásica, las cajasdelimitadoras del objeto k se representan mediante cuatro coordenadas (x

(k)1 , y

(k)1 , x

(k)2 , y

(k)2 ) de

las cuales se puede extraer el punto central pk y el tamaño de la caja sk = (x(k)2 −x

(k)1 , y

(k)2 −y

(k)1 ).

Para la predicción de los puntos centrales se utiliza el estimador general de puntos clave Y ,pero para predecir la caja delimitadora del objeto k a partir del punto pk, se necesitara tambiénestimar el tamaño de la caja Spk. Para conseguir una correcta estimación de las dimensionesde las cajas delimitadoras, se añade (3.3) a las funciones antes mencionadas una nueva funciónde pérdida (3.1) que permitirá el correcto entrenamiento para la tarea de detección de objetosclásica. El tipo de punto clave c, es la clase del objeto para esta tarea.

Lsize =1

N

N∑k=1

| Spk − sk | (3.1)

Ldet = Lk + λsizeLsize + λoffLoff

Figura 3.3: Unificación de las funciones de perdida para la detección de objetos clásica. λsize yλoff son el peso ponderado que tienen en las funciones de pérdida Lsize y Loff .

La predicción de cajas en la fase de inferencia (véase fig. 3.4) se realiza extrayendo del mapade calor los puntos más relevantes para cada clase. Para ello, seleccionando los puntos loscuales tengan igual o mejor valor que sus 8 vecinos y guardando los X mejores. Después dehaber seleccionado los puntos clave más relevantes, el detector estimara el offset y tamaño dela caja delimitadora. De esta manera se consigue suprimir la necesidad de utilizar la técnicanon-maximum supression basada en IoU.

Esta arquitectura además de la variedad de columnas vertebrales(véase tabla 3.5) y la capa-cidad de resolver diversas tareas de detección de objetos, también ofrece muchas posibilidadesde optimización del modelo mediante la modificación y calibración de la gran cantidad dehiper-parámetros de la arquitectura. El framework ofrecido por los investigadores, facilita lamodificación de la arquitectura para la mejora y adecuación de su funcionamiento en el dominiode este proyecto.

Page 60: Deep Learning object detection architectures in ADAS

42 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

Figura 3.4: Ejemplo del funcionamiento de la inferencia de CenterNet. (Izquierda) selección depunto relevante. (Centro) Estimación de offset. (Derecha) Estimación del tamaño.

3.2. Elección de los datasets

Una de las tareas cruciales en cualquier proyecto que implique el entrenamiento de redesneuronales, es la búsqueda exhaustiva de una gran colección de datos. La constitución de uncorrecto dataset será determinante para el devenir del proyecto, por lo que la recopilación dedatos se convierte en tarea crítica.

El dataset que se ha de componer para esta tarea deberá estar compuesto por imágenes quepermitan a la arquitectura entrenarse correctamente en la tarea de detección de los elementosnecesarios para poder proporcionar una correcta asistencia al volante, como se ha definidoen el alcance de los objetivos del proyecto (véase capitulo 1). Estas imágenes deberán estarcorrectamente etiquetadas, indicando para cada objeto de la imagen la localización de la cajadelimitadora y la clase de objeto. Además de las imágenes, para realizar la prueba final delmodelo se utilizarán diversos vídeos grabados a bordo de un coche, con el fin de probar eldetector simulando su uso real.

Considerando que el objetivo principal del proyecto, en cuanto al funcionamiento del detector,es crear un sistema de visión que asista al conductor en la detección de diversos elementosdel entorno, el dataset deberá estar compuesto por imágenes correctamente etiquetados querepresenten los elementos más comunes de la carretera. Dada la diversidad y variedad de estoselementos, la búsqueda de datasets públicos se dividirá en tres partes: semáforos, señales detráfico y elementos dinámicos (vehículos, personas, etc.). La elección de estas tres coleccionesde datos se hará realizando un análisis de los datasets públicos del mercado.

3.2.1. Dataset de semáforos

Un sistema de visión debe asistir al conductor proporcionado información necesaria parapoder realizar una conducción segura y legal. Para ello, entre otras cosas, el conductor deberá

Page 61: Deep Learning object detection architectures in ADAS

3.2. ELECCIÓN DE LOS DATASETS 43

de respetar y tener en cuenta todas las señales de tráfico del trayecto. Una de las señales másimportantes son las señales de control de tráfico o semáforos, que se sitúan en interseccionesviales y en otros lugares para regular el tránsito de otros vehículos y peatones.

Existen una gran variedad de semáforos para la regulación de tráfico: semáforos de controlde carril, de dirección, peatonales, etc. Dado que es inviable recopilar en un dataset todas estasespecializaciones de semáforos, en este análisis se examinarán los datasets que etiqueten lossemáforos más comunes dentro del marco normativo de conducción de la Unión Europea, yaque el detector se probará en este entorno. Estas etiquetas deberán informar correctamente delestado del semáforo en cuanto a tipo de luz, cantidad de luces, color y señal (flecha, peatón,etc.).

El análisis se realizará utilizando como criterios principales, el país donde se han obtenidolas imágenes, la cantidad de etiquetas y la cantidad de clases diferenciadas por el dataset.Los dataset a examinar serán los más utilizados en tareas relacionadas con la detección desemáforos, certificando de esta manera que estén etiquetados correctamente con la localizaciónde las cajas delimitadoras.

Tabla 3.6: Evaluación de los datasets de semáforos según la cantidadde imágenes, anotaciones, cantidad de clases, país de procedencia y ladivisión entre datos de entrenamiento y validación.

Nombre Imágenes Anotaciones Clases País División

Bosch [12] 13,427 24,000 15 EEUU SiVIVA[75] 35,749 54,000 6 EEUU SiLaRA [59] 11,179 9,168 4 Francia NoTL-Seoul[4] 25,882 75,255 4 South Korea SiBerkeley [37] 100,000 265,906 3 EEUU SiDTLD [2] 230,000 232,039 344 Alemania SiLISA [8] - 51,826 7 EEUU No

La tabla 3.6 representa claramente que la mayoría de los datasets de este tipo solo ofreceel etiquetado de los semáforos por el color, sin especificar otras características de estos. Estohace que la información proporcionada al conductor sea nimia, y el alcance de la asistenciafacilitada sea mínima. Teniendo en cuenta que los únicos datasets con suficiente diversidad declases son Bosch [12] y DTLD [2], y el primero está compuesto por anotaciones de semáforosno europeos, el dataset público que cumple nuestros requisitos es el DriveU Traffic LightDataset (DTLD) [38].

Este dataset ofrece una amplia cantidad de imágenes de 2048 píxeles de ancho y 1024 dealtura, realizadas con una cámara de 2 megapíxeles (véase fig. 3.5). Las imágenes están realiza-das en once ciudades distintas de Alemania y en diferentes situaciones medioambientales paradisponer de una variación de luminosidad en las imágenes.

La característica más importante de este dataset es la gran diversidad de clases que existen

Page 62: Deep Learning object detection architectures in ADAS

44 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

Figura 3.5: Ejemplo de anotaciones del dataset DTLD.

en las anotaciones realizadas. La etiqueta de cada clase está compuesta por tres dígitos (véasefig. 3.6) que proporcionan información valiosa del semáforo:

I : Orientación del semáforo respecto al coche: delante, detrás, derecha o izquierda.

II : Relevancia del semáforo y si está ocluido.

III : La posición del semáforo: horizontal, vertical, etc.

IV : La cantidad de luces del semáforo.

V : El color del semáforo: apagado, rojo, amarillo, rojo-amarillo y verde.

VI : La señal de la luz: Círculo, peatón, flecha izquierda, etc.

Figura 3.6: El formato de las etiquetas del dataset DTLD.

Es destacable además de la cantidad de etiquetas que ofrece el dataset, la gran cantidad deinformación que ofrece el dataset, no solo mediante imágenes sino también utilizando mapasde disparidad, información estéreo y anotaciones complejas, haciendo de el un dataset muycompleto y robusto.

Page 63: Deep Learning object detection architectures in ADAS

3.2. ELECCIÓN DE LOS DATASETS 45

3.2.2. Dataset de señales de tráfico

Siguiendo el mismo criterio de evaluación de datasets que en la anterior sección 3.2.1, enla búsqueda de conjuntos de datos que anoten señales de tráfico se valorarán la cantidad declases que diferencien, la cantidad de anotaciones y que estas estén capturadas dentro del marconormativo de conducción de la Unión Europea. Debido a la gran cantidad de señales de tráficoque existen, se intentara obtener un dataset que contenga las señales más comúnmente usadas.

Tabla 3.7: Evaluación de los datasets de señales de tráfico según la can-tidad de imágenes, anotaciones, cantidad de clases, país de procedenciay la división entre datos de entrenamiento y validación.

Nombre Imágenes Anotaciones Clases País División

LISA [8] 6,610 7,855 47 EEUU SiBerkeley [37] 100,000 347,777 1 EEUU SiCTSD [118] 6,164 - 58 China SiBelgiumTS [107] 9,006 4,627 62 Bélgica SiGTSD [54] 900 910 43 Alemania SiTsinghua [120] 100,000 30,000 124 China Si

Una de las grandes dificultades en la búsqueda de este dataset es encontrar un correctoetiquetado de imágenes que permita la tarea de detección, ya que es la tarea de clasificaciónde señales de tráfico una de las más importantes en la actualidad. Otro de los problemas es elgran trabajo que requiere etiquetar manualmente señales, haciendo que los datasets que aportanmuchas imágenes ofrezcan una pequeña variedad de clases y al contrario, como se puede apreciaren la evaluación realizada (véase tabla 3.7). Teniendo en cuenta el requisito indispensable de quelos datos recogidos por el dataset tengan que ser de señales europeas, se tendrán que descartar elmás completo de los evaluados, Tsinghua, junto a CTSD y LISA, por lo que los únicos datasetsque cumplan con los criterios definidos serán GTSD[54] y BelgiumTS[107].

La reducida cantidad de anotaciones aportadas por estos datasets, hace necesaria la unifi-cación de estas para poder obtener un conjunto de datos suficientemente robusto como parapoder aprender de él. BelgiumTS aporta una cantidad mayor de imágenes, anotaciones y clasespor lo que este será la principal parte del dataset, mientras que utilizando el dataset GTSD seintentará complementar la falta de anotaciones. Esta unificación hará necesaria la modificacióndel etiquetado de las señales de los dos conjuntos de datos.

Como se ha comprobado, los dataset de señales de tráfico europeos carecen de la robus-tez necesaria para este tipo de tareas. Las aportaciones científicas realizadas en este ámbito[57][74][82][103] hacen ver la necesidad de disponer de una gran cantidad de anotaciones pa-ra lograr un funcionamiento idóneo del modelo. Por esta razón, se tendrá que considerar lautilización de data augmentation.

Page 64: Deep Learning object detection architectures in ADAS

46 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

3.2.3. Dataset de elementos dinámicos

Como se ha mencionado antes, un sistema de visión para la asistencia a la conducción de-be proporcionar información del entorno para facilitar una conducción segura. Esa asistenciano solo deberá contemplar la aportación de información de elemento estáticos como señales ysemáforos, si no también información dinámica del entorno. Durante la conducción, es primor-dial el conocimiento del posicionamiento de los vehículos y peatones del entorno, para poderresponder correctamente en situaciones de riesgo.

Este tercer dataset aportara anotaciones de elementos de mayor tamaño, como coches, auto-buses, personas, etc. El dataset que se seleccione deberá estar compuesto por una gran cantidadde imágenes y anotaciones, ya que se requiere que el modelo para esta tarea sea lo más precisoposible, por lo que se necesitará obtener un dataset completo.

Otro de los criterios a cumplir por el dataset es la cantidad de clases que proporcione. Paraeste conjunto de datos, no será necesario una gran variedad de etiquetas ya que durante laconducción es indiferente diferenciar entre un coche y una furgoneta a la hora de posicionarlo.Lo que si será primordial es un dataset que diferencie entre vehículos robustos; autobús, tren,coche, etc., vehículos vulnerables; moto, bicicleta, etc., y peatones.

Tabla 3.8: Evaluación de los datasets de elementos dinámicos según la cantidadde imágenes, anotaciones, cantidad de clases, diferenciación y la división entredatos de entrenamiento y validación.

Nombre Imágenes Anotaciones Clases Diferenciación1 División

Cityscapes [20] 25,000 - 30 Si SiApolloscape [51] 144,000 2,130,000 - No SiKitti [39] 15,000 36,000 - No SiMapillary[77] 25,000 - 128 Si SiNuScenes [15] 1,400,000 1,400,000 23 Si SiBerkeley [37] 120,000,000 1,800,000 10 Si Si1 Diferenciación entre vehículos robustos, vehículos vulnerables y peatones.

La cantidad de datasets de elementos dinámicos es muy amplia y diversa (véase tabla 3.8),se pueden encontrar conjuntos de datos con una gran cantidad de imágenes y con una granvariedad de etiquetas. Siguiendo los criterios previamente definidos, se ve que es primordialencontrar un dataset en el que se diferencien los vehículos robustos, vulnerables y peatones. Encuanto a la simplicidad del etiquetado, la mayoría aporta una gran variedad de clases, lo cualhará que el modelo pierda la precisión intentando diferenciar objetos de gran parecido comopor ejemplo coches y furgonetas. Los datasets más completos que se pueden encontrar en elmercado son NuScenes y Berkeley, ya que aportan una gran cantidad de imágenes y anotacionesetiquetadas entre una cantidad razonable de clases.

Aunque el uso de los dos conjuntos de datos aportará una gran robustez al dataset dinámico,debido a las cantidades de imágenes no será necesario realizar una unificación entre ellas como

Page 65: Deep Learning object detection architectures in ADAS

3.2. ELECCIÓN DE LOS DATASETS 47

en el anterior caso. Teniendo en cuenta la capacidad de almacenamiento necesaria para estacantidad de imágenes, se seleccionará la que menos peso contenga, que en este caso aunque nolo parezca, es la que mayor cantidad de imágenes contiene: Berkeley [37]. Esto sucede porquelas imágenes aportadas por NuScenes son de gran calidad e incluyen un mapeo de profundidadpara la detección de objetos en 3D.

El dataset Berkeley está compuesto por cien mil vídeos extraídos de más de mil horas degrabación en un coche por las calles de Nueva York, Berkeley, San Francisco y Bay Arena.Utilizando un sistema de anotaciones diseñado y publicado [115] por los creadores del dataset,el conjunto de vídeos ha sido etiquetado frame a frame para poder realizar con ellos unagran variedad de tareas de conducción autónoma. Las anotaciones realizadas (véase fig. 3.7)ofrecen información sobre la detección de objetos (a), segmentación de instancias (b), las áreasconducibles de la carretera (c) y las líneas que se encuentran en la carretera (d).

(a) Anotación de objetos. (b) Segmentación semántica.

(c) Anotación de las áreas conducibles. (d) Anotación de las lineas de la carretera

Figura 3.7: Ejemplos de los diversos formatos de anotación de Berkeley.

Los vídeos con anotaciones se pueden utilizar como datos de entrenamiento y validación,extrayendo de ellos frames, o también como vídeos para testear el funcionamiento del modelo.La utilización de frames extraídos de las mil horas de grabaciones en cuatro ciudades distintos,implicará que las imágenes tengan variaciones en la luminosidad, condiciones temporales, etc.,favoreciendo así el correcto entrenamiento del modelo.

Page 66: Deep Learning object detection architectures in ADAS

48 CAPÍTULO 3. ANÁLISIS RECURSOS TECNOLÓGICOS

Page 67: Deep Learning object detection architectures in ADAS

Capítulo 4

Experimentación

La parte del proyecto que más coste temporal conlleva es la fase de experimentación, yaque esta fase acaparará la mayor parte del ciclo de vida del proyecto y será fundamental paraobtener un producto final que cumpla con todos los objetivos (véase cap. 1). En este capítulo sedesgranará la parte de la experimentación del proyecto, desarrollando y detallando cada tarearealizada para poder llegar al resultado final, desde la obtención y tratamiento de datos hastalas pruebas finales.

4.1. Procesamiento de datos

La primera tarea a realizar dentro de la fase del desarrollo y experimentación de un proyectode estas características es obtener todo el conjunto de datos, analizarlos y procesarlos para quese puedan utilizar en la siguiente tarea.

Como se ha explicado y razonado previamente (véase sección 3.2), los datasets seleccionadospara llevar a cabo el desarrollo del proyecto han sido los siguientes:

Dataset semáforos : DriveU Traffic Light Dataset (DTLD) [38].

Dataset señales de tráfico: German Traffic Sign Detection Benchmark (GTSDB) [54] yKUL Belgium Traffic Sign [107].

Dataset dinámico: Berkeley Deep Drive [115].

Los cuatro conjuntos de datos son públicos y se pueden obtener accediendo a las paginas webde los investigadores. Estos datasets contienen una gran cantidad de datos e imágenes por lo queha sido necesario realizar un procesamiento previo al análisis y posterior. En ese procesamientoprevio se han eliminado todos los datos innecesarios que aportaba cada dataset, como mapas

49

Page 68: Deep Learning object detection architectures in ADAS

50 CAPÍTULO 4. EXPERIMENTACIÓN

3D, ficheros y anotaciones innecesarias, etc., obteniendo de esta manera unos conjuntos dedatos compuestos por imágenes en color y anotaciones de las cajas delimitadoras.

Para poder analizar y procesar las imágenes de los datasets, se ha diseñado un frameworkque ofrece diversas funcionalidades para realizar estas tareas de forma más eficiente y menoscostosa. Las principales funcionalidades de este framework son las siguientes:

Conversión de anotaciones: Convertir las anotaciones del formato PASCAL VOC [33]a COCO [68] y viceversa, además de la posibilidad de exportarlos en diversos formatoscomo xml, csv y json.

Base de datos Tensorflow: Exportar las imágenes y anotaciones a un fichero de alma-cenamiento TFRecords, para poder utilizar el conjunto de datos en arquitecturas imple-mentadas en Tensorflow [3].

Analizador de datasets: Extraer y mostrar información interesante del dataset sobrela cantidad de anotaciones por clase, anotaciones incorrectas, imágenes sin anotaciones,imágenes aumentadas, etc.

Limpiador de datasets: Una función que elimina imágenes sin anotaciones del conjuntode datos de entrenamiento, las clases irrelevantes con pocas anotaciones y las anotacionesincorrectas.

Editor de clases: Permite editar el nombre de la etiqueta de una clase para así poderunificar dos clases distintas.

Aumentador de datos: Mediante la librería Albumentations[1] proporciona un aumentode los datos disponibles, aplicando diversos filtros de transformación a nivel de pixel(efecto lluvia, difuminado, etc.) y a nivel espacial (recortar, voltear, etc.). El aumentadode datos permite balancear las anotaciones por clases, aumentar el conjunto de datos unporcentaje deseado (ej. 20 % más de imágenes), etc.

4.1.1. Dataset de semáforos

El dataset proporcionado por la universidad de ulm llamado DriveU Traffic Light Dataset(DTLD) contiene una gran cantidad de datos de gran definición y calidad, haciendo que eldataset contenga 143 giga-bytes de datos divididos en once carpetas, cada una con imágenes deuna ciudad distinta. El primer paso realizado para el análisis de este dataset ha sido descargarlos datos de cada una de las once ciudades, eliminando los datos innecesarios.

Como se ha mencionado en el análisis de este dataset, la amplia variedad de semáforosdiferenciados en este dataset hace elevar la cantidad de clases a 344. Una especialización muydetallada de las clases, como en este caso, hace que la cantidad de anotaciones por clases nosea balanceado, llegando a tener la clase con menos anotaciones solo un 0.01 % de anotacionesque la clase con más anotaciones.

Page 69: Deep Learning object detection architectures in ADAS

4.1. PROCESAMIENTO DE DATOS 51

Una gran cantidad de clases dificulta el entrenamiento de la arquitectura deep learning,exigiendo disponer de una gran cantidad de anotaciones en el conjunto de datos, distribuidos demanera balanceada. Una distribución desigual o no balanceada, implica un sobre-entrenamientodel modelo para la detección de las clases con más anotaciones, reprimiendo la expresividad delas neuronas de la última capa asociadas a las clases con menos anotaciones. Además, cuantasmás clases haya que detectar más costoso será obtener una buena precisión media y más difícilserá para el modelo diferenciar entre las diversas clases (ej: semáforo rojo de cuatro luces ysemáforo rojo con tres luces).

Siguiendo este razonamiento, se han modificado estas 344 clases para poder obtener un con-junto de datos más simple en cuanto a la variedad de clases, sin perder la información propor-cionada por estas. Los primeros tres dígitos y el último, de los seis que componen la etiquetade clase, se han utilizado de esta manera para seleccionar las anotaciones relevantes:

Dígito I: Se han eliminado las anotaciones con valor 2, ya que hacen referencia a semáforosvistos por detrás.

Dígito II: Solo se han utilizado las anotaciones con los valores 1 (relevante) y 3 (ocluidoy relevante), suprimiendo los que tienen el valor 0 (no relevante) y 2 (no relevante yocluido). Las anotaciones con oclusión se han indicado siguiendo el formato de anotaciónde PASCALVOC y COCO.

Dígito III: Se han conservado las anotaciones con valor 1, 2, ya que indican si el posi-cionamiento de las luces del semáforo es horizontal o vertical. El resto de valores hacenreferencia a semáforos con posicionamiento más especifico y menos comunes de ver.

Dígito VI: Las anotaciones con los valores 8, 9 se eliminarán ya que hacen referencia asemáforos de peatones o bicicletas y no a semáforos de automóviles.

Después de hacer el filtrado de las anotaciones relevantes para el conjunto de datos, utilizandopara ello la funcionalidad de edición de clases del framework, se han modificado los nombresde las etiquetas utilizando los últimos dos dígitos (véase fig. 4.1). El tercer dígito, que indica lacantidad de luces, es casi irrelevante ya que en la mayoría de casos no cambia el significado delsemáforo, por lo que aportar esa información acarreara más complejidad que utilidad.

La modificación de los nombres de las etiquetas ha reducido considerablemente la cantidad declases de 344 a 14. Este cambio facilitará el entrenamiento balanceado del modelo, mejorandoasí su posterior desempeño y precisión además de la capacidad de inferencia y generalización,ya que reducir la cantidad de clases reduce también la diferenciación especializada de cadasemáforo (ej: semáforo en verde de cuatro, tres, dos y una luz, ahora es un semáforo verde).

Después del filtrado y procesamiento de las etiquetas, se ha realizado una limpieza del datasetutilizando el framework para eliminar las imágenes que no tienen anotaciones y deshaciéndosede las anotaciones incorrectas. Esta limpieza previa al análisis, permite eliminar el posible ruido

Page 70: Deep Learning object detection architectures in ADAS

52 CAPÍTULO 4. EXPERIMENTACIÓN

Figura 4.1: Composición de los nombres de las etiquetas de cada clase, utilizando los últimosdos dígitos del etiquetado original.

que generan los datos incorrectos a la hora de la extracción de información y estadísticas delconjunto de datos.

Este primer análisis del conjunto de datos se utilizará para determinar la cantidad de anota-ciones por clase, para después poder eliminar los que tengan pocas anotaciones. Esto ayudaráa determinar que clases hay que eliminar del conjunto de datos, detectando las menos repre-sentativas y con menos apariciones en el dataset, facilitando así el balanceo del dataset y elposterior entrenamiento del modelo. Como umbral de representación mínima, se ha utilizadoel 5 % de la mediana (547.5) de anotaciones por clase.

Después de realizar este primer análisis (véase tabla 4.1) se ha podido observar la gran di-ferencia entre la cantidad de anotaciones entre diversas clases, llegando a tener una mínimade 40 anotaciones de semáforos con flecha amarilla hacia la izquierda y una máxima de 21464anotaciones de semáforos verdes. Este des-balanceo entre clases ha evidenciado la necesidad derealizar un aumento de datos de las clases menos representadas. Para ello, utilizando la funcio-nalidad del framework, se ha solucionado este problema definiendo como umbral de aumento la

Page 71: Deep Learning object detection architectures in ADAS

4.1. PROCESAMIENTO DE DATOS 53

Tabla 4.1: Anotaciones por clase del dataset de semáforos.

Clase Anotaciones

Entrenamiento Validación Total

tl_green_a_str 1685 760 2445tl_off_circle 313 129 442tl_ylw_a_lft 34 6 40tl_red_circle 5598 2609 8207tl_green_circle 15623 5841 21464tl_red_ylw_circle 430 223 653tl_red_ylw_a_str 49 14 63tl_red_a_rgt 53 41 94tl_red_a_str 864 195 1095tl_green_a_lft 351 61 412tl_red_a_lft 603 236 839tl_ylw_a_str 106 59 165tl_ylw_circle 682 272 954tl_green_a_rgt 103 6 109

mediana (547.5) de anotaciones por clase.

Tabla 4.2: Anotaciones por clase del conjunto de entrena-miento del dataset de semáforos después del aumento.

Clase Anotaciones Entrenamiento

Normal Aumentado Total

tl_green_a_str 1685 125 1810tl_off_circle 313 265 578tl_ylw_a_lft 34 704 738tl_red_circle 5598 195 5793tl_green_circle 15623 147 15770tl_red_ylw_circle 430 356 786tl_red_ylw_a_str 49 846 895tl_red_a_rgt 53 567 620tl_red_a_str 864 44 908tl_green_a_lft 351 237 588tl_red_a_lft 603 12 615tl_ylw_a_str 106 556 662tl_ylw_circle 682 223 905tl_green_a_rgt 103 634 737

Utilizando el aumento mediante umbral, que hace aumentar todas las clases hasta llegar a lacantidad indicada de anotaciones, se ha obtenido un dataset más balanceado (véase tabla 4.2).Además de aumentar las clases con poca representación, realizar el proceso de aumentado en

Page 72: Deep Learning object detection architectures in ADAS

54 CAPÍTULO 4. EXPERIMENTACIÓN

imágenes que contienen varias clases, tiene como consecuencia aumentar también otras clasescon más anotaciones.

4.1.2. Dataset de señales de tráfico

En referencia a la decisión tomada en la fase de selección de datasets, para crear el conjuntode datos para representar las señales de tráfico se han seleccionado el KUL Belgium TrafficSign (BelgiumTS) [107] y The German Traffic Sign Detection Benchmark (GTSD)[54]. Estos dos datasets son los más utilizados para el entrenamiento de modelos de visiónartificial para la detección de señales de tráfico [57][82].

El primer dataset (BelgiumTS) está compuesto por imágenes obtenidas mediante un conjuntode ocho cámaras situadas en una furgoneta y capturadas por las calles de una ciudad de Bélgica.Estas imágenes representan hasta 64 señales de tráfico distintas, anotadas manualmente porlos investigadores. El conjunto de datos llega a tener un peso de 50GB que se reducen a 5GBsi se eliminan los ficheros TIFF (Tagged Image File Format) e imágenes sin anotaciones. Porotro lado, el segundo dataset (GTSD) se compone de imágenes obtenidas por una sola cámaraen las calles de una ciudad alemana. Debido a que este dataset ofrece mejor soporte para laclasificación de señales de tráfico que para la detección, solo se disponen de 2GB de imágenesque representan 43 señales de tráfico diferentes.

La unificación de estos datasets es una tarea que se ha realizado manualmente, cambiandolos nombres de las etiquetas de las clases para que las representaciones sean consecuentes.Teniendo en referencia que los dos conjuntos de datos representan señales de tráfico europeas,64 el primero y 43 el segundo, hay una gran cantidad de señales que se solapan, por lo que se hantenido que identificar una a una las señales repetidas y unificarlas en una misma. Realizandoeste procedimiento se ha obtenido un conjunto de datos de 87 señales de tráfico distintas.

Considerando la gran cantidad de clases, ha surgido el mismo problema que en el anteriorconjunto de datos; la alta especificidad de las clases y la gran diferencia de anotaciones entreellas hace difícil un correcto entrenamiento. Por esta razón, se han unificado las clases másparecidas y las que la diferenciación entre ellas no sea relevante (ej: peligro por tren y peligropor tranvía). De esta manera se han creado superclases o clases más generalizadas como risk(riesgos en general), F_Modalty(diversas prohibiciones), Parking (aparcamientos de diversostipos), O_Direction (dirección obligada) etc. Además de esto, los nombres de las etiquetas delas clases se han establecido de manera que sean autoexplicativas en vez de utilizar números,como se hacia en los datasets originales. Los prefijos de los nombres indican el tipo de señal alque se hace referencia.

F: Prohibido.

O: Obligatorio.

R: Riesgo.

Page 73: Deep Learning object detection architectures in ADAS

4.1. PROCESAMIENTO DE DATOS 55

P: Prioridad.

Al finalizar la unificación de los datasets y el procesamiento de las clases de esta, el conjuntode datos que se ha obtenido contiene 47 clases distintas de señales de tráfico. Después deesta fase se ha procedido a realizar un análisis para filtrar las clases menos representativas,utilizando el mismo procedimiento que en el anterior dataset, es decir, utilizar como umbral derepresentación mínima el 5 % de la mediana de anotaciones por clase.

Como se puede observar en la tabla 4.3, la cantidad final de clases se ha reducido a 36, dondela clase con menos anotaciones es W_Bump (26) y la que más anotaciones tiene es O_Direction(398).

Al igual que pasaba con el anterior conjunto de datos pero a menor medida, la cantidadde anotaciones varía mucho de una clase a otra. Por esa razón se ha decidido aplicar el mis-mo procedimiento de data augmentation, utilizando como umbral de aumento la mediana deanotaciones por clase.

Al igual que en el anterior conjunto de datos, el aumento mediante umbral también haincrementado la cantidad de anotaciones de otras clases indirectamente. Pero en este caso,después de realizar el primer aumento, se ha efectuado otro procedimiento para incrementaraleatoriamente todo el dataset un 50%, ya que la cantidad de datos (imágenes y anotaciones) noera muy significativa en aspectos generales. Después de este proceso se ha obtenido un conjuntode datos más robusto con una cantidad considerable de anotaciones por clase (véase tabla 4.4).

4.1.3. Dataset de elementos dinámicos

Como tercer y último conjunto de datos, se utilizara el dataset Berkeley DeepDrive [37],como bien se ha indicado en el capítulo anterior 3.

Berkeley DeepDrive ofrece un amplio abanico de anotaciones para poder utilizar el conjun-to de datos en diversas tareas de visión por computadora, además de una gran variedad deimágenes y vídeos, todo ello sin llegar a superar 25GB de peso. Eliminando las anotacionesinnecesarias, datos incorrectos y vídeos se ha obtenido un conjunto de datos de 5GB.

El dataset de Berkeley contiene anotaciones de diez clases distintas de objetos que se puedenencontrar en la carretera. Dos de estas diez clases de objetos se solapan con los dos datasetsanteriores: Light y Sign. Debido a que dichas etiquetas no ofrecen mayor información que eltipo de objeto, sin llegar a indicar el tipo de señal o color de luz, se han eliminado junto a lasanotaciones e imágenes de estas.

Después de realizar el filtrado de clases, se ha realizado un análisis como en los dos conjuntosde datos anteriores para poder conocer las anotaciones de cada clase y la distribución entre elconjunto de entrenamiento y el de validación.

Page 74: Deep Learning object detection architectures in ADAS

56 CAPÍTULO 4. EXPERIMENTACIÓN

Tabla 4.3: Anotaciones por clase del dataset de señales detráfico.

Clase Anotaciones

Entrenamiento Validación Total

R_Cross 37 57 9430km/h 100 36 13680km/h 27 6 33F_DirChange 35 42 77Priority 181 58 239Exit 95 82 117F_Park 214 42 256Forward 87 12 99R_intersection 59 85 144F_Circulation 71 26 97Stop 37 21 58O_bike_person 128 95 223Ciclo_Zone 156 27 18350km/h 89 73 162Out_30_Zone 44 41 85Dead-end 54 21 75Road number 22 24 46R_Pedestrians 95 43 138Parking 156 62 218O_Bike_person 128 95 223P_Pedestrian 43 18 61F_Truck_Overtaking 46 2 48O_Direction 282 116 398R_Bump 65 22 87roundabout 53 15 68F_Entry 198 31 229F_Modality 62 23 85Risk 65 15 80F_Car_Overtaking 55 45 100P_Cycling 35 17 52W_Bump 18 8 26yield 178 87 265R_Narrowing 34 12 46Village 14 19 3370km/h 123 144 267120km/h 27 3 30

Se ha eliminado del conjunto de datos la clase train por la insuficiente cantidad de anotacio-nes (179) y la información innecesaria que aporta, ya que es prácticamente imposible que untren aparezca delante de un coche en la carretera en circunstancias normales. Analizando las

Page 75: Deep Learning object detection architectures in ADAS

4.1. PROCESAMIENTO DE DATOS 57

Tabla 4.4: Anotaciones por clase del conjunto de entrena-miento del dataset de señales de tráfico después del aumento.

Clase Anotaciones Entrenamiento

Normal Aumentado Total

R_Cross 37 552 55930km/h 100 663 76380km/h 27 917 944F_DirChange 35 618 653Priority 181 925 1106Exit 95 1392 1487F_Park 214 385 599Forward 87 529 616R_intersection 59 597 656F_Circulation 71 482 553Stop 37 700 737O_bike_person 128 441 569Ciclo_Zone 156 913 106950km/h 89 563 652Out_30_Zone 44 543 587Dead-end 54 458 512Road number 22 562 584R_Pedestrians 95 550 645Parking 156 395 551O_Bike_person 128 584 721P_Pedestrian 43 603 646F_Truck_Overtaking 46 1227 1273O_Direction 282 612 894R_Bump 65 516 581roundabout 53 458 511F_Entry 198 544 742F_Modality 62 585 647Risk 65 668 733F_Car_Overtaking 55 633 688P_Cycling 35 547 582W_Bump 18 475 493yield 178 692 870R_Narrowing 34 503 537Village 14 496 51070km/h 123 685 808120km/h 27 1094 1121

anotaciones de cada clase (véase tabla 4.5), se puede observar que la mediana y el mínimo deanotaciones son mayores que en las dos anteriores.

Page 76: Deep Learning object detection architectures in ADAS

58 CAPÍTULO 4. EXPERIMENTACIÓN

Tabla 4.5: Anotaciones por clase del dataset deelementos dinámicos.

Clase Anotaciones

Entrenamiento Validación Total

car 5385 760 6145person 42535 6241 48776bike 3309 505 3814truck 14069 2028 16097motor 1420 209 1629car 332694 48274 380968rider 2112 303 2415

Las imágenes del dataset Berkeley [115] están extraídas de más de diez mil horas de grabaciónrealizadas en cuatro ciudades de EEUU. Estas grabaciones están hechas en distintas condicionestemporales y a distintas horas del día (amanecer, noche, día, etc.) por lo que la variedad deluminosidad, ruido, brillo, contraste, etc. es muy amplia. Esto hace que el aumento de los datosno sea necesario en cuanto a crear ruido o efecto de niebla o lluvia, y dado que la cantidadde anotaciones por clase es grande, se ha decidido mantener el conjunto de datos con lasanotaciones y imágenes originales.

4.1.4. Unificación de datasets

Tener tres conjunto de datos conlleva tener que crear tres modelos distintos, haciendo queterminar el proyecto dentro de los plazos definidos y con el tiempo disponible sea totalmenteinviable. Por lo que la unificación de los tres conjuntos de datos será necesaria para reducir lacantidad de modelos a crear.

El análisis del estado del arte que se ha realizado (véase cap. 2) y de la arquitectura quese utilizará (véase cap. 3) han arrojado luz sobre la dificultad que tienen estas arquitecturasdeep learning para poder desempeñar correctamente su función cuando la diferencia entre eltamaño de los diversos objetos a detectar es muy diferente. Por esa razón sería una decisión muyarriesgada unificar los tres datasets en uno solo, ya que el tamaño de los elementos dinámicos esmucho mayor que los elementos anotados en los otros dos datasets (ej: un camión y un semáfororojo). Dada esta diferencia de escalas, se ha decidido unificar los dataset de semáforos y señalesde tráfico que contienen anotaciones de tamaño pequeño-mediano, dejando sin modificar eldataset de elementos dinámicos.

Mediante esta unificación, se han obtenido dos conjuntos de datos que se denominarán conel nombre ADAS_AS; para el dataset de semáforos y señales de tráfico, y ADAS_DR;para el de elementos dinámicos. Cada conjunto de datos se utilizará para entrenar dos modelosdistintos los cuales servirán para dar asistencia al conductor, uno proporcionando información

Page 77: Deep Learning object detection architectures in ADAS

4.1. PROCESAMIENTO DE DATOS 59

sobre las señales y semáforos que debe respetar, y el otro indicado en todo momento donde sesitúan los otros coches, camiones, etc.

Figura 4.2: Comparación gráfica de las imágenes, anotaciones y clases de los datasets ADAS_ASy ADAS_DR.

Comparando los dos conjuntos de datos (véase fig. 4.2) se puede observar que a pesar del

Page 78: Deep Learning object detection architectures in ADAS

60 CAPÍTULO 4. EXPERIMENTACIÓN

equilibrio en cuanto a la cantidad de imágenes, la diferencia de anotaciones es abismal, llegandoADAS_DR a tener 7 veces más objetos anotados que ADAS_AS. Esto supondrá una grandiferencia a la hora del entrenamiento, ya que un modelo dispondrá de más datos para poder iraprendiendo, haciendo que el tiempo de mejora de la precisión disminuya. También es de granimportancia observar la gran cantidad de imágenes y anotaciones aumentadas que hay en eldataset ADAS_AS.

Figura 4.3: Visualización gráfica de la distribución del tamaño de las cajas delimitadoras ano-tadas en los dos conjuntos de datos, después de eliminar valores atípicos .

Además de la cantidad de anotaciones es interesante observar la distribución del tamañode las cajas delimitadoras de los dos conjuntos de datos (véase fig. 4.3), para poder conocer eltamaño de los objetos que tendra que identificar el modelo el modelo. Observando la distribuciónde las anotaciones del conjunto de datos ADAS_AS, se puede ver que mayormente son máspequeños que 322, por lo que según el escalado de las métricas COCO entran en la categoríade detecciones de objetos pequeños (small).

Al contrario, en el conjunto de datos ADAS_DR podemos observar que los tamaños de lascajas delimitadoras son mayormente más grandes que 322 y más pequeños que 962, por lo que

Page 79: Deep Learning object detection architectures in ADAS

4.2. INICIOS CON LA ARQUITECTURA 61

entrarían en la categoría de objetos medianos pequeños (medium).

4.2. Inicios con la arquitectura

La arquitectura que se ha utilizado, como bien se ha comentado en su análisis (véase sección3.1), es un detector muy reciente el cual tiene menos de dos meses desde que fue introducidoen la publicación de Xingyi Zhou et al.[121]. La novedad de la arquitectura hace que todavíano existan más implementaciones que la que se encuentra en el repositorio GitHub[122], apor-tado en la publicación. Debido a que en la publicación de la arquitectura no se proporcionainformación suficiente para poder implementarlo desde cero y teniendo en cuenta el coste quesupondría hacerlo, se ha decidido utilizar la implementación aportada en el repositorio, modi-ficándola para poder utilizarla en nuestro proyecto; esta implementación solo es funcional paralas competiciones en la que se usó: (COCO y PASCALVOC ).

4.2.1. Primer experimento

El primer paso, previo al comienzo del entrenamiento del modelo del primer experimento,ha sido seleccionar la columna vertebral a utilizar. Para ello, siguiendo el análisis de CenterNet(véase sección 3.1) y la comparación de las columnas vertebrales (véase tabla 3.5), se ha decididoutilizar DLA-34 debido a su gran velocidad (52 FPS) y precisión (37.4 % mAP). Aunque escierto que utilizando Hourglass se ha obtenido mejor resultado, reduce un 73% la velocidaddel detector y teniendo en cuenta que la precisión es dependiente, no solo de la velocidad deinferencia, sino también de otros factores como el tiempo de entrenamiento, conjunto de datos,etc., se piensa que la precisión estimada en la publicación puede variar para este proyecto.

Como se ha comentado previamente, entrenar un modelo es muy costoso e implica una grancapacidad de computo poder realizarlo de manera consecuente con el tiempo disponible. Por esarazón, se va a aplicar transfer learning utilizando modelos pre-entrenados que se ofrecen en elrepositorio de la publicación. Entre todos estos modelos se ha seleccionado el modelo entrenadocon la estructura DLA-34 para la competición COCO, ya que está entrenado para detectar 80objetos de diversas escalas y con gran parecido a los de ADAS_DR y ADAS_AS, haciendo elmás efectivo el transfer learning.

En este primer experimento se utilizará la configuración predeterminada de los hiper-parámetrosde la arquitectura y se realizará un entrenamiento de 15 épocas con un intervalo de validaciónde 5. Con este primer experimento se quiere confirmar el correcto funcionamiento del detectorpara los dos conjuntos de datos, además de obtener una idea general del desempeño de esta encuanto a entrenamiento y validación.

Después de finalizar el entrenamiento se puede observar la evolución del loss de entrenamientoy validación época a época (véase fig. 4.4). Como se puede observar, debido al uso del transfer

Page 80: Deep Learning object detection architectures in ADAS

62 CAPÍTULO 4. EXPERIMENTACIÓN

Figura 4.4: Gráfica de la evolución por época del loss de entrenamiento (arriba) y validación(abajo) en el primer experimento realizado en los conjuntos de datos ADAS_AS (derecha) yADAS_DR (izquierda).

learning, desde la primera época de entrenamiento el loss es muy reducido. Se ha probado queen el caso de entrenar el modelo partiendo de cero, se obtendría un loss mayor que 500 puntos,lo cual haría que reducirlo hasta los valores actuales costase días y días de entrenamiento.Aunque es cierto que en este experimento no llegan a converger los dos modelos, huelga decirque esta prueba ha sido para certificar que el entrenamiento funcione correctamente y tener elprimer contacto con el entorno en el que se trabajará.

En este primer experimento queda evidenciado la diferencia de dificultad de los dos conjuntosde datos respecto a la competición COCO, del cual se han usado las métricas de evaluación y enel cual se entrenó el modelo utilizado en la transferencia de aprendizaje. Debido a la cantidadde objetos en común entre COCO y ADAS_DR (coches, personas, etc.), y la reducida variedadde clases de esta última, la evolución del loss ha sido mucho más constante desde la primeraépoca contrastando con el loss del modelo de ADAS_AS, en el cual se ha reducido el loss un72.6%.

La evaluación de estos dos modelos creados en el primer experimento deja ver el gran contrastede dificultad entre los dos datasets. Teniendo en consideración que el modelo utilizado para latransferencia de datos alcanzaba una precisión (mAP) de 37.4% en la competición COCO,aplicándolo en el entrenamiento del modelo ADAS_AS la precisión ha disminuido hasta un23.4%, mientras que en el caso de ADAS_DR ha aumentado un 11%. Estos valores en cuanto ala precisión confirman lo que se ha comentado anteriormente sobre la complicación que ocasionatener una gran variedad de objetos a detectar y una cantidad reducida de anotaciones para cada

Page 81: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 63

Tabla 4.6: Evaluación de los modelosADAS_AS y ADAS_DR del primer ex-perimento, siguiendo la métrica de lacompetición COCO.

Métrica ADAS_AS ADAS_DR

mAP 0.234 0.484AP IoU=.50 0.343 0.574AP IoU=.75 0.267 0.526AP small 0.234 0.484APmedium 0.234 0.484AP large 0.234 0.484AR1 0.467 0.392AR10 0.548 0.771AR100 0.548 0.818ARsmall 0.548 0.818APmedium 0.548 0.818AP large 0.548 0.818

una de ellas.

Las diversas métricas de COCO también nos proporcionan información valiosa sobre el con-junto de datos. Se obtiene valores repetidos en las métricas dependientes de la escala del objeto(AP small, ARsmall, APmedium, etc.), debido a que para el cálculo de estas escalas se utiliza lamáscara de segmentación, datos de los que los dos datasets carecen.

No se ha querido prolongar el entrenamiento para no perder el tiempo que se dispone pararealizar el proyecto. En caso de entrenar los modelos con más épocas, estos tendrían mayorconvergencia.

Mediante esta primera prueba se ha querido obtener un modelo pre-entrenado para cadaconjunto de datos, para luego realizar los siguientes experimentos, utilizando estos como trans-ferencia de aprendizaje. En los siguientes experimentos partiendo del modelo y valores de estecheckpoint, se intentarán crear modelos mejorados, modificando para ello la configuración de laarquitectura.

4.3. Hyperparameter Optimization

Después de haber certificado el correcto funcionamiento de la arquitectura y haber conse-guido los primeros modelos pre-entrenados, se ha decidido centrarse en el objetivo de aportarconocimientos sobre la optimización de hiper-parámetros. Para ello en esta sección se analiza-rán exhaustivamente las diversas técnicas y se decidirá cual de ellas utilizar para el proceso de

Page 82: Deep Learning object detection architectures in ADAS

64 CAPÍTULO 4. EXPERIMENTACIÓN

optimización de hiper-parámetros. Después de ello, mediante varios experimentos, se razonaráacerca de los beneficios de la utilización de estas tecnologías y se justificará la necesidad deusarlas para optimizar el coste del proceso de entrenamiento. Hay que sopesar que el conoci-miento que se proporcione en esta sección también sera aplicable en otros proyectos de estaíndole.

La modificación de la configuración de la arquitectura hace variar el modo, proceso y desem-peño del entrenamiento de un modelo. Para poder realizar esta modificación del funcionamientode la arquitectura, se utiliza la afinación o calibración de los hiper-parámetros. A diferenciade los parámetros de la arquitectura; que se obtienen mediante el entrenamiento, los hiper-parámetros son un tipo de parámetros que se definen antes del entrenamiento y que determinanel funcionamiento del algoritmo.

Todas las redes deep learning se componen de estructuras complejas con una infinidad deparámetros y variables, haciendo de su funcionamiento una especie de caja negra1. Por estarazón, no es posible conocer que cambio puede causar la modificación de cada hiper-parámetroen el desempeño.

Esta incertidumbre en cuanto a la calibración de los hiper-parámetros obliga a utilizar unmétodo heurístico muy costoso, la de ensayo y error. Realizar pruebas de ensayo y error obligaa tener que entrenar el modelo durante una cierta cantidad de épocas, cada vez que se quieraprobar una configuración de hiper-parámetros nuevo, para conocer si se mejora el desempeño ono. Teniendo en cuenta el coste de entrenamiento de una época, en el primer experimento, erade 112 minutos en el modelo ADAS_AS y 104 en el modelo ADAS_DR, esto supone un costetemporal desmesurado.

Una de las maneras más eficientes para asegurar la correcta ejecución de esta tarea dentrode los recursos disponibles, es la aplicación de un algoritmo Hyperparameter Optimization(HPO). Este tipo de algoritmos permiten probar adaptativamente diferentes configuracionesde hiper-parámetros para poder estimar el posible conjunto más óptimo.

4.3.1. Elección del HPO

La primera aproximación para abordar este problema de optimización, fue utilizar una bús-queda exhaustiva sobre un subconjunto del espacio de los hiper-parámetros. Esta primera apro-ximación implica ejecutar el proceso de entrenamiento y validación de la arquitectura al menosuna vez, para poder obtener la evolución aproximada del loss para cada configuración.

Pero debido a que se define un subconjunto de búsqueda del espacio de posibles configuracio-nes de hiper-parámetros, esto puede arrastrar al algoritmo a quedarse atrapado en un óptimolocal. Por esta razón, se paso de la búsqueda exhaustiva a utilizar algoritmos de búsqueda alea-toria [13], los cuales se diferencian en que seleccionan aleatoriamente configuraciones del total

1Se sabe que hace, pero no como lo hace.

Page 83: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 65

del espacio de búsqueda.

Ejecutar el entrenamiento y validación de una red es muy costoso y hacerlo para probarcada una de las configuraciones de hiper-parámetros es totalmente inviable. Además, obtenerel loss de validación de un modelo, entrenado una sola época con cierta configuración de hiper-parámetros, no es totalmente consecuente con el posible desempeño de esa configuración.

La incertidumbre creada por la no consecuencia del loss para el entrenamiento de una solaépoca, obligó a abordar el problema de optimización utilizando otro tipo de algoritmos queredujesen el espacio de búsqueda y fuesen coherentes con el loss.

La familia de los algoritmos genéticos [56][73] fue la primera aproximación sondeada. Estetipo de algoritmos seleccionan aleatoriamente configuraciones del espacio de búsqueda y obtie-nen el loss de cada uno (realizando el entrenamiento y validación) para clasificar respecto aello todas las configuraciones. Después de eso, se seleccionan aleatoriamente2 algunas configu-raciones y utilizando las recombinación y mutación se generan nuevas configuraciones con lasque se realizará el mismo proceso. Esta meta-heurística reduce el espacio de búsqueda adap-tativamente respecto a los valores obtenidos en las iteraciones anteriores, minimizando así laincertidumbre de los anteriores algoritmos.

Aun reduciendo el espacio de búsqueda y considerando la gran cantidad de hiper-parámetrosde una arquitectura, encontrar una posible configuración óptima acarrearía ejecutar el algorit-mo genético durante muchas generaciones, por lo que el coste temporal sería igual de inviable.Con la intención de reducir la necesidad de ejecutar el entrenamiento del modelo para cada con-figuración, se empezó a utilizar algoritmos de optimización basados en modelos (SMBO)[53],de los cuales destaca la optimización Bayesiana [14].

La optimización Bayesiana se basa en construir un modelo probabilístico de la función aoptimizar, utilizando los valores obtenidos de las pruebas realizadas con diversas configuracio-nes. Posteriormente, iterativamente evalúa posibles configuraciones en el modelo probabilístico,seleccionando los mejores candidatos y calculando su loss para poder actualizar el modelo proba-bilístico. Siguiendo este proceso iterativo, se modifica el modelo probabilístico adaptativamentereduciendo el espacio de búsqueda.

Siguiendo la linea de innovación que se ha tomado en el proyecto y con la intención dereducir el coste temporal del proceso de optimización, se ha decidido utilizar un algoritmo deOptimización Bayesiana.

Entre las diversas opciones de algoritmos de optimización bayesiana destacan el proceso degauss, regresión de bosque aleatorio y Tree Parzen Estimators (TPE). Los tres métodos hansido ampliamente investigados y según los investigadores[45][14], el algoritmo TPE es el quemejor desempeño ofrece en cuanto a la optimización.

Los algoritmos de optimización bayesiana crean un modelo probabilístico a partir de las creen-

2Asignando mayor probabilidad a las configuraciones mejor clasificadas

Page 84: Deep Learning object detection architectures in ADAS

66 CAPÍTULO 4. EXPERIMENTACIÓN

cias (ejecuciones) previas, asignado a las configuraciones de hiper-parámetros una probabilidadde una puntuación en la función objetivo.

P (puntuacion | hiperparametros) (4.1)

El modelo probabilístico se conoce también como subrogado y hace las veces de funciónobjetivo, que en este caso es el entrenamiento de la arquitectura. Debido a que el subrogadoes una función más simple, es más fácil de optimizar que la función objetivo, facilitando así elproceso de optimización.

En las primeras iteraciones de este algoritmo, el subrogado se construirá utilizando eva-luaciones de la función objetivo original (véase fig. 4.5), para después utilizarlo para buscarconfiguraciones de hiper-parámetros de los conocimientos adquiridos.

Aunque a priori la búsqueda de configuraciones de hiper-parámetros puede parecer un costecomputacional adicional, lo cierto es que esto evitará realizar evaluaciones de configuracionesinnecesarias y solo hacerlas con las que de verdad se optimiza la función objetivo.

Figura 4.5: Ejemplo gráfico del ajuste del modelo predicativo subrogado (gris) evaluándolo conla función objetivo (rojo) en intervalos.

Hasta haber reajustado el modelo varias veces, evaluándolo con la función objetivo real, elespacio de búsqueda no se reducirá a la configuraciones potencialmente óptimas debido a queel modelo de predicción no será totalmente preciso.

Como se observa en la figura 4.6, a medida que se realizan más evaluaciones, las prediccionesdel modelo son más precisos y reflejan mejor el funcionamiento de la función real.

Utilizando este método se evita evaluar todas las configuraciones de hiper-parámetros enla arquitectura real, el resultado de esa evaluación se estima utilizando el surrogado. De estamanera el coste del proceso de optimización se reducirá a la veces que se reajuste el modelo yal tiempo de predicción de los hiper-parámetros.

Page 85: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 67

Figura 4.6: Evolución de la correlación del modelo de predicción surrogado respecto a la funciónobjetivo real.

4.3.2. Elección de hiper-parámetros relevantes

La complejidad de las estructuras deep learning que se utilizan en la detección de objetosconllevan una gran cantidad de hiper-parámetros de configuración de la arquitectura. Debido aesta abundancia de hiper-parámetros, se amplía también el espacio de búsqueda, dificultandola creación del modelo probabilístico y agrandando el coste temporal y computacional.

Reducir el espacio de búsqueda es entonces una tarea crucial para poder realizar de maneraeficiente la optimización de hiper-parámetros. De acuerdo con las investigaciones de F. Hutter etal.[52], los hiper-parámetros de una arquitectura tienen diferente relevancia para cada conjuntode datos.

Según la averiguación realizada por los investigadores, dependiendo del conjunto de datosen el que se va a entrenar la arquitectura, la configuración de sus hiper-parámetros y lascombinaciones de ellas tendrán mayor o menor relevancia a la hora de mejorar el desempeñodel detector. Por lo tanto si se detecta el conjunto de hiper-parámetros más relevantes, se lespodrá asignar un valor ajustado manualmente al resto y optimizar los importantes, reduciendoasí el espacio de búsqueda considerablemente.

F. Hutter et al. utilizaron un variante del análisis de varianza (ANOVA) llamado ANOVAfuncional (FANOVA), para calcular la relevancia de cada uno de los conjuntos de hiper-parámetros. Para ello, crearon un framework [9] que permite aplicar este análisis a un conjuntode datos extraído del desempeño del entrenamiento de la arquitectura.

Esa extracción de datos se tiene que realizar probando diversas combinaciones de hiper-parámetros y archivando los valores del desempeño obtenidos para cada uno de ellos. Después,a partir del conjunto de datos proporcionado, el framework crea un modelo de predicciónllamado Random forest, el cual está compuesto por árboles de regresión. Utilizando el modelode predicción, el framework calcula mediante un algoritmo lineal los valores marginales de cadahiper-parámetro, que finalmente se usarán para aplicar el ANOVA funcional.

Page 86: Deep Learning object detection architectures in ADAS

68 CAPÍTULO 4. EXPERIMENTACIÓN

Para realizar la extracción del conjunto de datos de las diferentes combinaciones de hiper-parámetros, se ha decidido utilizar un algoritmo genético ya que es más eficiente que los algo-ritmos de búsqueda y explora mayor espacio de búsqueda. La utilización del algoritmo genéticopermitirá además, seleccionar combinaciones coherentes respecto al desempeño de las anterio-res, evitando así combinaciones que generen valores atípicos.

Debido al coste temporal que supone probar una gran cantidad de combinaciones para podergenerar un conjunto de datos robusto, se ha decidido comprimir el tamaño de los datasetsADAS_AS y ADAS_DR seleccionando solo 1000 anotaciones por cada clase, reduciendo asíel tiempo de ejecución de cada época. Además, siguiendo la investigación de T. Hinz et. al [45],el cual afirma que reducir la resolución de las imágenes de un conjunto de datos no influyeen la optimización y selección de hiper-parámetros, se han comprimido también las imágenesreduciéndoles la resolución.

4.3.3. Optimización del loss de validación

Mediante la utilización del proceso de optimización antes mencionado, se ha querido econo-mizar el rendimiento del entrenamiento de la arquitectura, mejorando el desempeño del modeloy a la vez reducir el coste temporal. Para ello, en este segundo experimento se ha obtenidouna configuración de hiper-parámetros potencialmente óptima para la reducción del loss devalidación del modelo.

Como función objetivo, se ha seleccionado la función de pérdida de la validación del modelodeep learning, ya que es la función que computa el error del detector y la que se intenta minimizarmediante el entrenamiento.

Este segundo experimento se ha realizado con la intención de obtener unos hiper-parámetrosque hagan más eficaz la reducción del loss de validación.

Primero se ha generado el conjunto de datos del desempeño de diversas configuraciones dehiper-parámetros, utilizando para ello el algoritmo genético antes mencionado. Este algoritmo seha ejecutado durante 6 generaciones con una población de 30, probando así 180 combinacionesdistintas de hiper-parámetros. Para poder preservar la viabilidad temporal del proyecto sehan comprimido los dos conjuntos de datos, como se ha mencionado anteriormente, y cadacombinación se ha utilizado para entrenar el modelo del primer experimento durante solamenteuna época.

El conjunto de datos generado mediante el algoritmo genético ha sido utilizado por el fra-mework FANOVA para generar el modelo de predicción random forest, el cual se ha utilizadoposteriormente para calcular la relevancia de los doce hiper-parámetros a evaluar.

Como se puede observar en la tabla 4.7, para cada conjunto de datos la relevancia de loshiper-parámetros es distinta, confirmando la teoría de F. Hutter et al.[52].

Page 87: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 69

(a) Conjunto de datos ADAS_AS.

(b) Conjunto de datos ADAS_DR.

Figura 4.7: Valores del loss de validación obtenidos para cada generación del algoritmo genético.

Tabla 4.7: Selección de hiper-parámetros relevantes paracada conjunto de datos.

Hiper-parámetro ADAS_AS ADAS_DR

Head convolution � �

Learning rate � �

Batch size � �

Regulation loss � �

Keypoint local offset weight � �

Keypoint heatmaps weight � �

Bounding box size weight � �

Normalize width � �

Dense regression � �

Category specific size � �

No regress local offset � �

Este framework también ofrece información sobre los espacios de valores más óptimos paracada hiper-parámetro y para sus combinaciones (véase fig 4.8). Empleando estos datos, se han

Page 88: Deep Learning object detection architectures in ADAS

70 CAPÍTULO 4. EXPERIMENTACIÓN

definido los valores más óptimos para los hiper-parámetros no relevantes y se ha delimitado elespacio de búsqueda para cada hiper-parámetro relevante.

(a) Correlación entre Head convolution y Regulationloss, en el conjunto de datos ADAS_AS.

(b) Correlación entre Learning rate y Key-point heatmaps weight, en el conjunto de datosADAS_DR.

Figura 4.8: Ejemplo de la información sobre la correlación entre hiper-parámetros ofrecida porFANOVA. El desempeño(performance) alto indica que se obtiene mayor valor en la funciónobjetivo.

Como se observa en la imágen 4.8 (b), el desempeño es más susceptible a los cambios envalores de Keypoint heatmaps weight que a los de Learning rate, por lo que se debe ajustarcorrectamente el valor del primero. El desempeño es mayor para valores bajos de Learningrate y altos de Keypoint heatmaps weight, mientras que los valores mínimos del desempeño seobtienen en el otro extremo, valores grandes de Learning rate y pequeños de Keypoint heatmapsweight.

Esta gráfica demuestra que aunque el espacio de búsqueda de los valores de Learning ratese encuentra en valores grandes, sera necesario ajustar el hiper-parámetro Keypoint heatmaps

Page 89: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 71

weight a un valor pequeño. Esta idea se ha extrapolado para cada hiper-parámetro relevante,calculando así el espacio de búsqueda idóneo y ajustando los hiper-parámetros no relevantes ycorrelacionados de estos.

Después de este proceso de selección de hiper-parámetros relevantes, se ha ejecutado el pro-ceso de optimización de estos, utilizando los espacios de búsqueda definidos. Este proceso seha realizado utilizando el conjunto de datos original, para que la optimización se realice sobredatos reales obteniendo así una configuración coherente.

El algoritmo TPE se ha ejecutado de modo que el modelo subrogado se evalué 50 veces. Estaevaluación se realizara utilizando el valor del loss de validación, obtenido después de haberentrenado el modelo del primer experimento durante una época, con la configuración a evaluar.

(a) Conjunto de datos ADAS_AS.

(b) Conjunto de datos ADAS_DR.

Figura 4.9: Valores del loss de validación obtenidos para cada evaluación de TPE.

En el proceso de optimización, el modelo subrogado se ha ido ajustando mediante las eva-luaciones realizadas (véase fig. 4.9) para obtener la configuración potencialmente más óptimadentro del espacio de búsqueda, de una manera eficiente, minimizando la cantidad de ejecucionesdel entrenamiento de la arquitectura.

Hay que puntualizar que a pesar de asignar un valor inicial al Learning rate, la arquitectura

Page 90: Deep Learning object detection architectures in ADAS

72 CAPÍTULO 4. EXPERIMENTACIÓN

Tabla 4.8: La configuración de hiper-parámetros poten-cialmente más óptima, de cada conjunto de datos, paraminimizar el loss de validación.

Hiper-parámetro ADAS_AS ADAS_DR

Head convolution -1 -1Learning rate 0.0001533 0.0001782Batch size 4 4Regulation loss sl1 sl1Keypoint local offset weight 0.15977 0.8Keypoint heatmaps weight 0.0501 0.0002197Bounding box size weight 0.1 0.075Normalize width True TrueDense regression False TrueCategory specific size False FalseNo regress local offset False False

dispone de un proceso de reajuste el cual tendrá en cuenta el proceso de aprendizaje y eltiempo de entrenamiento para disminuir su valor.

Finalmente, para certificar si el proceso de optimización ha sido efectivo y realmente las confi-guraciones obtenidas mejoran la efectividad del entrenamiento, se ha realizado una comparativa.Se han examinado las siguientes configuraciones:

Configuración por defecto, utilizada en el primer experimento.

La configuración obtenida utilizando la información proporcionada por FANOVA, asig-nando a los hiper-parámetros relevantes la mediana de su espacio de búsqueda.

La configuración de hiper-parámetros potencialmente más óptima, obtenida mediante elalgoritmo TPE.

Cada configuración se ha utilizado para entrenar el modelo del primer experimento duran-te cinco épocas. Después de haber realizado el entrenamiento, se han comparado los valoresobtenidos durante el entrenamiento y validación.

Examinando la comparativa gráfica (véase fig. 4.10) se puede observar la mejoría de la efi-ciencia del entrenamiento cuando se utilizan las nuevas configuraciones. La línea gris indica laevolución que tendría el loss en caso de seguir utilizando la configuración principal, mientrasque las otras líneas indican la evolución las configuraciones obtenidas en la optimización dehiper-parámetros.

En el conjunto de datos ADAS_AS las dos configuraciones han mejorado el loss de entrena-miento y validación, un 77% y 90% respectivamente utilizando los hiper-parámetros óptimos.

Page 91: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 73

Figura 4.10: Comparación gráfica de la evolución del loss de entrenamiento y validación obtenidapor cada configuración en los dos conjuntos de datos.

Aunque es verdad que la configuración extraída de la selección también ha realizado una mejorasimilar.

Al contrario, en el conjunto de datos ADAS_DR solo ha mejorado la configuración de hiper-parámetros óptimos mientras que el otro solo ha conseguido empeorar la evolución principal(línea gris). La mejora realizada en el loss de entrenamiento y validación ha sido de 22% y50%, menor que en el dataset ADAS_AS, pero aun así consiguiendo un entrenamiento muchomás eficiente.

Tabla 4.9: Evaluación de los modelos ADAS_AS y ADAS_DR del segundo ex-perimento de cada configuración, siguiendo la métrica de la competición COCOpero sin las métricas escalares; por la ausencia de la máscara de segmentaciónantes mencionada.

Métrica ADAS_AS ADAS_DR

Defecto Selección Optimizado Defecto Selección Optimizado

mAP 0.363 0.323 0.274 0.505 0.447 0.250AP IoU=.50 0.630 0.543 0.403 0.593 0.540 0.314AP IoU=.75 0.508 0.427 0.324 0.546 0.485 0.264AR1 0.552 0.538 0.504 0.400 0.371 0.250AR10 0.624 0.604 0.571 0.777 0.745 0.623AR100 0.624 0.604 0.572 0.824 0.796 0.676

Después de haber obtenido los tres modelos; cada una con distinta configuración de hiper-

Page 92: Deep Learning object detection architectures in ADAS

74 CAPÍTULO 4. EXPERIMENTACIÓN

parámetros de cada uno de los conjuntos datos (véase tabla 4.10), los valores de evaluación sehan sometido a un análisis. Como se puede observar en los dos conjuntos de datos, los modelosen los cuales se ha hecho un ajuste de hiper-parámetros han obtenido una precisión muchomenor que la obtenida por el modelo del inicial. Esto indica que a pesar de haber disminuidoel loss de validación, esta disminución ha tenido como consecuencia un decrecimiento de laprecisión, haciendo que el modelo entrenado por defecto obtenga casi dos veces más precisiónque el modelo entrenado con la configuración óptima.

Analizando el tradeoff entre el loss y la precisión, se ha llegado a la conclusión de que elproblema reside en el entrenamiento mediante mini-batch y el des-balanceo del conjunto dedatos (véase fig. 4.11). El valor del loss indica la media del valor de pérdida que se ha obtenidoen cada uno de los mini-batch de una época. A su vez, el valor de pérdida de un mini-batchindica la media del error entre la predicción realizada y el objeto real; calculado mediante lafunción de error, obtenida en cada una de las predicciones realizadas en las imágenes de dichomini-batch.

Figura 4.11: Ejemplo gráfico del problema del tradeoff entre el loss y la precisión por el en-trenamiento mediante mini-batch y el des-balanceo del conjunto de datos. Las casillas grisesindican imágenes con anotaciones del objeto 1 y las rojas imágenes con anotaciones del objeto2.

Si el conjunto de datos es des-balanceado, los objetos con mayor cantidad de anotacionestendrán más apariciones en los diversos mini-batch de una época, haciendo que el modelo se

Page 93: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 75

especialice en la detección de estas y no en las de pocas anotaciones. Esto no aumentará el loss,debido a que afectará positivamente a más mini-batch que a los que afectaría negativamente,haciendo disminuir la media.

Pero la evaluación se realiza de manera distinta, ya que el cómputo se realiza por cada clase,calculando después la precisión media entre todas. Por esta razón, la especialización del modeloen cuanto a la detección de ciertas clases no se percibe al calcular el loss, ya que no diferenciaentre clases, pero sí al calcular la precisión (véase fig. 4.11).

4.3.4. Optimización de la precisión

Examinando los resultados obtenidos en el primer experimento de optimización, se ha des-estimado la decisión de tomar solamente la función de pérdida como la función objetivo aminimizar. Viendo que el descenso del loss ha acarreado una bajada de la precisión, se hadecidido tener también en cuenta en valor de la precisión para el cálculo de la función objetivo.

En este segundo experimento de optimización de hiper-parámetros, la función objetiva aminimizar será una función linealmente proporcional a la precisión de evaluación y el loss devalidación resultante del entrenamiento.

f(hiperparametros) =loss

precision(4.2)

Esta función permitirá efectuar una optimización más apropiada para el desempeño final.Se ha desaprobado tener solamente en cuenta la precisión, maximizándola a la hora de laoptimización, debido a que el calculo del loss y las métricas de evaluación tienen en cuentadiferentes aspectos del desempeño del modelo, por lo que es más beneficioso utilizar ambas.

Siguiendo el mismo proceso que en el experimento anterior, se ha generado el conjunto dedatos del desempeño de diversas configuraciones de hiper-parámetros, para después seleccionarlos hiper-parámetros más relevantes.

Como se puede observar en la tabla 4.10, al cambiar la función objetivo a minimizar tambiéncambia la relevancia de cada uno de los hiper-parámetros (comparar 4.7 y 4.10). Al cambiarlos hiper-parámetros relevantes, también ha sido necesario analizar las correlaciones de estascon las no relevantes para poder ajustarlas en consecuencia a los espacios de búsqueda de loshiper-parámetros relevantes, por el motivo previamente mencionado (véase fig. 4.8).

Finalmente, después de haber aplicado el algoritmo TPE sobre los hiper-parámetros relevan-tes y sus espacios de búsqueda, se ha obtenido una combinación potencialmente óptima.

Al igual que se ha realizado en el anterior experimento, después de obtener las configura-ciones potencialmente más óptimas para cada conjunto de datos (véase tabla 4.11), ha sido

Page 94: Deep Learning object detection architectures in ADAS

76 CAPÍTULO 4. EXPERIMENTACIÓN

Tabla 4.10: Selección de hiper-parámetros relevantes pa-ra cada conjunto de datos en el segundo experimento deoptimización.

Hiper-parámetro ADAS_AS ADAS_DR

Head convolution � �

Learning rate � �

Batch size � �

Regulation loss � �

Keypoint local offset weight � �

Keypoint heatmaps weight � �

Bounding box size weight � �

Normalize width � �

Dense regression � �

Category specific size � �

No regress local offset � �

Tabla 4.11: La configuración de hiper-parámetros poten-cialmente más óptima de cada conjunto de datos paraminimizar la función objetivo creada 4.2.

Hiper-parámetro ADAS_AS ADAS_DR

Head convolution -1 -1Learning rate 0.0005562 0.00016322Batch size 8 8Regulation loss l1 l1Keypoint local offset weight 0.6138 0.1Keypoint heatmaps weight 0.1 0.1Bounding box size weight 0.1 0.1Normalize width True FalseDense regression True FalseCategory specific size False FalseNo regress local offset False False

necesario probarlos siguiendo el mismo proceso que en el anterior experimento. Pero esta vez,para minimizar el coste temporal y aumentar la rapidez del proceso de optimización solo se hanrealizado las pruebas con la combinación por defecto y la optimizada.

Como se puede observar en las gráficas obtenidas (véase fig. 4.12), el uso de los hiper-parámetros obtenidos mediante el proceso de optimización no generan ninguna mejora respectoa la evolución del primer experimento, incluso llega a empeorar los valores del entrenamientoen el conjunto ADAS_AS ; eso sí, sin verse reflejado después en la validación.

A pesar de no obtener una mejora en la eficiencia del entrenamiento como sí se ha logradoen el primer experimento, si se analiza la precisión obtenida (véase tabla 4.12) se puede ver que

Page 95: Deep Learning object detection architectures in ADAS

4.3. HYPERPARAMETER OPTIMIZATION 77

Figura 4.12: Comparación gráfica de la evolución del loss de entrenamiento y validación obtenidapor cada configuración en los dos conjuntos de datos en el segundo experimento de optimización.

Tabla 4.12: Evaluación de los modelos ADAS_AS yADAS_DR del segundo experimento de optimización, si-guiendo la métrica de la competición COCO.

Métrica ADAS_AS ADAS_DR

Defecto Optimizado Defecto Optimizado

mAP 0.363 0.381 0.505 0.5249AP IoU=.50 0.630 0.642 0.593 0.640AP IoU=.75 0.508 0.562 0.546 0.542AR1 0.552 0.568 0.400 0.541AR10 0.624 0.674 0.777 0.745AR100 0.624 0.674 0.824 0.796

se ha mejorado el desempeño del modelo en cuanto a la precisión de detección de objetos.

La principal desventaja de este proceso de optimización ha sido la necesidad de realizar laevaluación a la vez que la validación, con el coste que esto conlleva. Esto es necesario ya que enla función objetivo también toma parte la precisión del modelo, métrica que se obtiene mediantela evaluación.

Viendo los valores favorables que se han obtenido en cuanto al desempeño de la arquitectura,no solo durante el entrenamiento y validación, sino también a la hora de la evaluación, seha decidido utilizar estos hiper-parámetros para los siguientes experimentos. Esto permitirárealizar un entrenamiento más eficiente, garantizando el incremento de la precisión. De esta

Page 96: Deep Learning object detection architectures in ADAS

78 CAPÍTULO 4. EXPERIMENTACIÓN

manera queda ampliamente justificado y razonado que el uso de nuevas técnicas de optimizaciónes realmente beneficioso, y que el conocimiento aportado en esta sección podrá ser aplicado endiversos proyectos, cumpliendo así con el objetivo.

4.4. Entrenamiento principal

Después de haber finalizado el proceso de optimización de hiper-parámetros ajustándolospara obtener el funcionamiento más óptimo e idóneo, se ha realizado lo que sera el principalentrenamiento de los dos modelos.

Este entrenamiento principal servirá para obtener dos modelos entrenados en la arquitecturaCenter Net, otorgándoles la aptitud de detectar el dominio de objetos del conjunto de datosADAS_AS o ADAS_DR. Debido a la complejidad de la tarea y la incertidumbre sobre eltiempo necesario para que los modelos converjan, el entrenamiento se ha ejecutado hasta llegara un estancamiento.

El primer modelo en entrenar ha sido el ADAS_AS, ya que la detección de semáforos yseñales es la parte más compleja e innovadora del proyecto. El entrenamiento se ha ejecutadopartiendo del modelo e hiper-parámetros obtenidos en la experimentación anterior, por lo queel valor de las primeras veinte épocas es la misma que en las anteriores comparaciones gráficas(véase fig. 4.12).

Tal y como indican las gráficas de la evolución del entrenamiento (véase fig. 4.13), el modeloha sido entrenado durante 76 épocas realizando la validación con un intervalo de cuatro. Du-rante la validación, a partir del experimento de optimización (época 15), también se realiza laevaluación del modelo proporcionando así información sobre la evolución de la precisión. Esteentrenamiento principal del modelo ADAS_AS ha tenido un coste temporal de aproximada-mente 183.5 horas.

Profundizando más en el análisis del entrenamiento, se puede observar en la evolución delloss de entrenamiento (véase fig. 4.13 arriba) que existe un pico de crecimiento creado porla reanudación del entrenamiento (épocas 21-23), que después no se ve reflejado en el loss devalidación. Este empeoramiento que culmina en un máximo local del loss (época 23), es el únicopunto de inflexión destacable del entrenamiento, ya que durante el resto del entrenamiento elvalor del loss tiene una tendencia secular decreciente con una baja variación.

La evolución del loss de validación, a diferencia que el de entrenamiento, tiene una evolucióncasi constante que se mantiene cerca del valor 0.75, sin llegar a superarla. En la gráfica de estevalor, se puede observar un claro estancamiento ya que durante las 76 épocas de entrenamientola variación ha sido residual, llegando a obtener una reducción de solamente 0.1711 (17%) entreel valor máximo y mínimo.

Observando la precisión media obtenida durante el entrenamiento, también se llega a la

Page 97: Deep Learning object detection architectures in ADAS

4.4. ENTRENAMIENTO PRINCIPAL 79

Figura 4.13: Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento principal del modelo ADAS_AS.

conclusión de que no existe una clara mejoría de la precisión del modelo. Aunque es verdadque ha habido un crecimiento notable de la precisión, entre la época 48 y 52, en las épocasconsiguientes no ha habido otro crecimiento reseñable que sugiera que un mayor entrenamientomejore el modelo. Por estar observaciones, que indican un claro estancamiento de la evolucióndel desempeño del modelo, se ha decidido finalizar el proceso de entrenamiento.

Hay que añadir que la mayor parte del aprendizaje del modelo se ha dado en las primeras

Page 98: Deep Learning object detection architectures in ADAS

80 CAPÍTULO 4. EXPERIMENTACIÓN

épocas del entrenamiento, teniendo lugar un cambio del transcurso del aprendizaje al cambiarla configuración de hiper-parámetros, cosa que ha acelerado el aprendizaje del modelo como sepuede observar en la gráfica de precisión. No se ha llegado a un punto de convergencia debidoa que la monotoneidad y el aparente estancamiento del modelo hace pensar que seguir con elentrenamiento no es rentable.

Después de entrenar el primer modelo, se ha proseguido con el entrenamiento del mode-lo ADAS_DR. Este entrenamiento, al igual que el entrenamiento anterior, se ha ejecutadopartiendo del modelo e hiper-parámetros obtenidos en la experimentación anterior (véase fig.4.12).

Este segundo modelo se ha entrenado durante un periodo más corto de tiempo, debido a unamenor complejidad del dominio respecto al anterior. Como se puede observar en las gráficas dela evolución del proceso (véase fig. 4.14), el modelo ha sido entrenado durante 48 épocas y conel mismo intervalo de validación que en el entrenamiento del modelo ADAS_AS.

La evolución del loss de entrenamiento y validación del entrenamiento, a diferencia del an-terior (véase fig. 4.13), ha sido totalmente decreciente y regular, sin ningún tipo de variacióndestacable. El loss de entrenamiento ha mantenido una tendencia decreciente acercándose a unvalor de 0.75, mientras que en el caso del loss de validación, el valor se ha mantenido cercanopero por debajo de 1.

Aunque los dos loss-es han mantenido una evolución que indica un ligero aunque constantedescenso, favoreciendo a la continuidad del entrenamiento y desestimando la idea del estan-camiento, la gráfica de la precisión no lo respalda. Al observar la evolución de la precisión sepuede ver la inexistencia de mejora alguna en el desempeño del modelo respecto a esta métrica.La diferencia entre el valor máximo y mínimo de la precisión obtenida es de 0.006 (1.2%), unamejoría insignificante comparando con el coste de entrenamiento del modelo ( 88.8 horas).

Tabla 4.13: Evaluación de los modelosADAS_AS y ADAS_DR creados en elentrenamiento principal.

Métrica ADAS_AS ADAS_DR

mAP 0.462 0.531AP IoU=.50 0.640 0.619AP IoU=.75 0.535 0.568AR1 0.572 0.413AR10 0.640 0.781AR100 0.641 0.834

La evaluación de los modelos obtenidos en este proceso de entrenamiento, indican un desem-peño que insta al optimismo, pero aun así mejorable (véase tabla 4.13). Estas métricas deevaluación indican una mejor precisión media (mAP %) para el modelo ADAS_DR, aunquela diferencia de solamente siete puntos, es menor de lo esperado para un conjunto de datos

Page 99: Deep Learning object detection architectures in ADAS

4.4. ENTRENAMIENTO PRINCIPAL 81

Figura 4.14: Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento principal del modelo ADAS_DR.

que a priori es mucho más robusto y menos complejo. Las diversas métricas sobre la precisiónindican un desempeño de los modelos bastante parejo, una observación que era la esperada enun principio.

Aun así, al analizar los valores de las métricas recall sí se puede observar una diferenciaen cuanto a los dos modelos. Esta métrica indica cuan exhausto es un modelo, es decir, queproporción de positivos reales identifica correctamente. El recall alto indica una mayor capa-

Page 100: Deep Learning object detection architectures in ADAS

82 CAPÍTULO 4. EXPERIMENTACIÓN

cidad del modelo para detectar posibles objetos, o dicho de otra manera, garantiza el correctofuncionamiento del modelo ante nuevos datos (generalización).

Analizando la evaluación realizada (véase tabla 4.13), se puede afirmar que aunque los dosmodelos tengan una precisión bastante parecida, existe una gran diferencia en cuanto a la ca-pacidad de generalización de cada una. La evaluación del modelo ADAS_DR indica un granporcentaje (83.4 %) de identificación de positivos reales, por 100 detecciones de una imagen,mientras que el modelo ADAS_AS obtiene un porcentaje menor (64.1 %) en esta misma me-dición.

4.4.1. Modificación ADAS_AS

La evaluación realizada al modelo ADAS_AS obtenido en el entrenamiento en principal(véase tabla 4.13), muestra unos valores de contrariedad que indican la necesidad de un cambiopara evitar el estancamiento y obtener un mejor detector.

Las métricas de precisión se computan calculando independientemente la precisión de cadauna de las clases para después hacer la media. Este tipo de cálculo hace que esta métrica seacapciosa e irrelevante cuando el conjunto de datos tiene una gran variedad de clases. Por esarazón, se ha modificado el formato de evaluación para conocer la precisión del modelo paradetectar cada una de las clases.

Tabla 4.14: Precisión del modelo ADAS_AS en ladetección de clases problemáticas y la modifica-ción realizada a estas.

Clase Precisión ( %) Modificación

80km/h 21.26 EliminarVillage 49.22 Eliminartl_green_a_str 26.34 tl_greentl_off_circle 4.88 Eliminartl_ylw_a_lft 11.47 tl_yellowtl_red_circle 57.49 tl_redtl_green_circle 65.98 tl_greentl_red_ylw_circle 45.44 tl_redtl_red_ylw_a_str 37.63 tl_redtl_red_a_rgt 0.94 tl_redtl_red_a_str 17.24 tl_redtl_green_a_lft 23.69 tl_greentl_red_a_lft 11.26 tl_redtl_ylw_a_str 8.11 tl_yellowtl_ylw_circle 45.43 tl_yellowtl_green_a_rgt 00.62 tl_green

Page 101: Deep Learning object detection architectures in ADAS

4.4. ENTRENAMIENTO PRINCIPAL 83

Después de conocer la precisión del modelo para la detección de cada una de las clases, sehan seleccionado las clases que más problemas generan (véase tabla 4.14). Como se puede veren la selección realizada, la arquitectura tiene dificultades en la detección de semáforos debidoal gran parecido entre clases (ej: semáforo verde con flecha a la derecha o a la izquierda), porlo que se ha decidido modificar las etiquetas para diferenciar solamente los semáforos rojos,verdes y amarillos. Por otro lado, también se han eliminado tres clases para cuya detección elmodelo obtenía una precisión menor del 50%.

Aunque de esta manera se haya simplificado el problema principal, esto no afectará al usoesperado del modelo ADAS_AS, ya que las clases suprimidas no han sido las importantes.Esta decisión está totalmente justificada ya que la baja cantidad de anotaciones de estas clasesy la gran cantidad de anotaciones de sus clase semejantes (ej: semáforo verde con flecha ysemáforo verde), hacen que el aprendizaje sea des-balanceado y que el modelo no consiga unbuen desempeño. La pérdida de información que proporcione el modelo, debido a la modificacióndel conjunto de datos, será mínima comparado con la mejora de la precisión de esta.

Estas modificaciones han reducido considerablemente la cantidad de clases del conjunto dedatos ADAS_AS manteniendo casi intacta la cantidad de datos disponibles y reduciendo lacomplejidad del conjunto de datos. Por esta misma razón, al haber modificado solamente lasetiquetas de las clases se ha considerado que la naturaleza del dataset sigue siendo la misma,por lo que se han mantenido las mismas premisas extraídas en los anteriores experimentos delconjunto de datos ADAS_AS.

Con la intención de comprobar si la modificación realizada ha sido beneficiosa para la de-tección de semáforos y señales de tráfico, se ha creado un nuevo modelo de la arquitectura.Para generar este nuevo modelo se ha re-entrenando, con la misma configuración de hiper-parámetros, el modelo ADAS_AS creado en el entrenamiento principal (véase fig. 4.13), peroutilizando el conjunto de datos modificado (ADAS_AS_modif ) para el entrenamiento.

El entrenamiento de este nuevo modelo ha tenido un coste temporal menor al de su predecesor,ya que solo se han necesitado 20 épocas para certificar la gran mejoría en cuanto a la deteccióndel modelo al utilizar el conjunto de datos modificado (véase fig. 4.15).

Aunque el valor elevado del loss de entrenamiento en la primera época apunta a un resultadoadverso, esto ocurre porque aunque el modelo pre-entrenado haya sido entrenado con el mismoconjunto de datos, al modificar y eliminar varias clases, la cantidad de neuronas necesarias enla ultima capa del modelo disminuye por lo que son necesarias más épocas de entrenamientopara lograr un loss estable. Esta conjetura se corrobora con la evolución favorable del loss deentrenamiento durante las épocas posteriores.

Como se puede observar en las gráficas (véase fig. 4.15), el loss de entrenamiento (arriba) delmodelo ADAS_AS_modif tiene un valor mucho menor que el modelo ADAS_AS a partir dela época 2, llegando a superar el valor mínimo (0.9052) de este último en la época 3 (0.8682).

Lo mismo sucede con el loss de validación (medio), que es aminorado desde la primeravalidación (0.6717) llegando a obtener un valor inferior a 0.75 para luego mantenerse en esa

Page 102: Deep Learning object detection architectures in ADAS

84 CAPÍTULO 4. EXPERIMENTACIÓN

Figura 4.15: Comparación gráfica de la evolución del loss de entrenamiento (arriba), de vali-dación (medio) y la precisión media (abajo) obtenida durante el entrenamiento de los modelosADAS_DR y ADAS_DR_modif.

linea.

Aunque estas mejorías en cuanto al loss dan razones suficientes para convalidar la decisióntomada, es necesario analizar también la precisión (abajo) ya que ha sido en la métrica dondemayor progreso se ha constatado. Lo cierto es que al eliminar las clases con menor porcentajede precisión, lógicamente la media de precisión ha aumentado, lo cual no indica una mejora real

Page 103: Deep Learning object detection architectures in ADAS

4.4. ENTRENAMIENTO PRINCIPAL 85

en la detección, si no que ahora el valor obtenido es más justo con el desempeño del modelo.

Tabla 4.15: Comparación de la evaluación de losmodelos ADAS_AS y ADAS_AS_modif.

Métrica ADAS_AS ADAS_AS_modif

mAP 0.462 0.587AP IoU=.50 0.640 0.814AP IoU=.75 0.535 0.681AR1 0.572 0.630AR10 0.640 0.726AR100 0.641 0.726

Las evaluaciones realizadas sobre el modelo ADAS_AS_modif indican una mejoría respectoal modelo ADAS_AS (véase tabla 4.15), no solo en la precisión sino también en el recall ; con losbeneficios que eso conlleva. Por lo que se puede afirmar con toda rotundidad que la modificacióndel dataset es una decisión correcta y necesaria para poder certificar un correcto desempeñodel modelo detector, sin perder la fiabilidad y cumpliendo con los objetivos pactados.

4.4.2. Entrenamiento final

Después de replantearse el etiquetado del conjunto de datos ADAS_AS y haberlo modificado(véase tabla 4.14) considerando el experimento realizado, se ha concluido la fase de experimen-tación realizando un entrenamiento final.

La finalidad de este entrenamiento ha sido generar dos modelos finales que certifiquen elcorrecto desarrollo que se ha realizado en esta fase, además de obtener modelos estables pararealizar las pruebas.

El entrenamiento realizado se ha constado de 12 épocas de entrenamiento validadas conun intervalo de cuatro. Este entrenamiento se ha realizado a partir de los últimos modelosentrenados con cada conjunto de datos, con la intención de mejorar el desempeño obtenido conestas.

Como se puede observar en las gráficas de evolución extraídas del entrenamiento (véase fig.4.16 y 4.17), la evolución de la precisión ha sido lento pero favorable durante el entrenamientorealizado, por lo que se puede conjeturar que se puede obtener un mejor desempeño del modelosi se entrena durante más tiempo. Pero al no disponer de más tiempo para poder realizar unentrenamiento más extenso, se ha decidido finalizar en este punto del entrenamiento sin haberllegado a un punto de convergencia.

La evaluación realizada a los modelos finales (véase tabla 4.16) muestran una ligera mejoríaen el desempeño respecto a los anteriores modelos. Huelga decir que se ha llegado a este puntodebido al proceso de optimización de hiper-parámetros realizado, ya que de otra manera se

Page 104: Deep Learning object detection architectures in ADAS

86 CAPÍTULO 4. EXPERIMENTACIÓN

Figura 4.16: Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento del modelo final ADAS_AS.

llegaría a un punto de estancamiento con una peor precisión de los modelos. Después de todoeste proceso, estos son los modelos de inferencia finales que se han obtenido a partir de todoslos experimentos y todas las pruebas realizadas.

Page 105: Deep Learning object detection architectures in ADAS

4.4. ENTRENAMIENTO PRINCIPAL 87

Figura 4.17: Evolución gráfica del loss de entrenamiento (arriba), de validación (medio) y laprecisión media (abajo) obtenida durante el entrenamiento del modelo final ADAS_DR.

4.4.3. Integración en sistema embebido

Uno de los objetivos específicos secundarios del proyecto es embeber los modelos de la ar-quitectura deep learning en un dispositivo móvil. Para ello se han proporcionado dos placasembebidas de computación de la serie Jetson de Nvidia, la Jetson TK1 y la Jetson Xavier. Paraesta tarea se ha seleccionado la placa más nueva de las que se disponía: la Jetson Xavier.

Page 106: Deep Learning object detection architectures in ADAS

88 CAPÍTULO 4. EXPERIMENTACIÓN

Tabla 4.16: Evaluación de los modelos fi-nales ADAS_AS y ADAS_DR.

Métrica ADAS_AS ADAS_DR

mAP 0.589 0.5379AP IoU=.50 0.810 0.625AP IoU=.75 0.691 0.577AR1 0.658 0.414AR10 0.727 0.790AR100 0.727 0.837

Como se ha mencionado anteriormente, para que la arquitectura deep learning funcionase sehan tenido que compilar la rede convolucional deformable (DCN) que se utiliza para la detecciónde objetos, mediante la librería Cython y la librería de Nvidia llamado CUDA. Esto implicaque existen dependencias respecto a las librerías utilizadas, sobretodo con la librería CUDA,como se indica en la documentación.

A la hora de embeber el modelo a la placa indicada, también se ha de exportar la configuraciónde la arquitectura. Por esa razón, se ha de utilizar la misma DCN que se ha utilizado en elentrenamiento, por lo que esto implica que la versión de CUDA tiene que ser la misma en lasdos.

Debido a que la red utilizada es reciente, se ha requerido utilizar versiones más nuevas de lastecnologías (tensorflow, tensorboard, Cython, etc.) por lo que para solventar los problemas dedependencias se ha utilizado la versión más nueva de CUDA. Esta misma versión no se encuentradisponible para la Jetson Xavier, por lo que la única solución es instalar una versión compatiblepara los dos procesadore, e iniciar de nuevo el proceso de compilación y entrenamiento de losmodelos.

Realizar de nuevo todo el proceso llevaría un coste temporal insostenible para el devenir delproyecto, por lo que al ser esta tarea un objetivo secundario, se ha decidido no realizar parapoder asegurar la viabilidad del proyecto que se está realizando.

Page 107: Deep Learning object detection architectures in ADAS

Capítulo 5

Resultados

Después de haber finalizado la fase de experimentación del proyecto se han obtenido dosmodelos denominados ADAS_AS y ADAS_DR, entrenados sobre la arquitectura Center Net,cada cual con la capacidad de hacer detecciones del dominio de objetos anotados en su conjuntode datos.

El modelo ADAS_AS, siendo el más interesante y primordial a obtener, ha sido el que másexperimentaciones y modificaciones ha tenido durante el transcurso del proyecto, mientras queel modelo ADAS_DR debido a su menor complejidad y menor importancia en cuanto a losobjetivos marcados, ha tenido un papel más secundario en la fase de experimentación.

5.1. Pruebas de testeo

Cualquier algoritmo de Machine learning que emplee un gran conjunto de datos para elentrenamiento de un modelo, está sujeto al riesgo de generar sobre-ajuste respecto a esos datos,limitando la capacidad de generalización de esta.

La división del conjunto de datos entre una parte de entrenamiento y otra de validación,como se ha hecho en este proyecto, es una práctica habitual que posibilita la detección delsobre-ajuste en fases tempranas del entrenamiento. Pero a pesar de esta medida, al existir unaposibilidad de que se produzca un sobre-ajuste para las dos particiones, es deseable utilizaruna parte del conjunto de datos solo en la última fase, la de testeo. Este procedimiento esampliamente utilizado en una gran diversidad de competición de detección de objetos, talescomo COCO, PascalVOC, etc.

Para esta fase, se han diseñado dos pruebas distintas en las que se aplicará el conjunto dedatos. Para la primera prueba se utilizarán imágenes que han sido extraídas previamente delconjunto de datos, por lo que, al estar anotadas permitirán testear cada modelo utilizando las

89

Page 108: Deep Learning object detection architectures in ADAS

90 CAPÍTULO 5. RESULTADOS

métricas de evaluación COCO. De esta manera, se podrá extraer una percepción del desempeñodel modelo más acorde con la realidad.

En la segunda prueba, se utilizarán varios segmentos extraídos de un vídeo grabado durantela conducción del trayecto entre Zumaia (Gipuzkoa) y Zarautz (Gipuzkoa) (véase fig. 5.1). Estosvídeos, al no contener anotaciones, solo se podrán utilizar para conocer el desempeño de losmodelos en el entorno real de una forma visual y la única métrica que se podrá extraer será lavelocidad del detector.

Figura 5.1: Trayecto entre Zumaia (Gipuzkoa) y Zarautz (Gipuzkoa) en el que se ha grabadouno de los vídeos para hacer las pruebas de testeo.

Además de estos vídeos, con la intención de probar el desempeño del modelo ADAS_ASespecíficamente en la tarea de detectar viandantes y la capacidad de diferenciar entre bicicletaso motos con su respectivo conductor en ciudades con mucha aglomeración, se ha decidido utilizarun vídeo grabado por las calles de la ciudad de Ámsterdam.

5.1.1. Primera prueba

Esta primera prueba, como se ha explicado previamente, se ha realizado para evaluar eldesempeño de los dos modelos utilizando como conjunto de datos la partición de testeo de cadauno de los conjuntos de datos. Este formato de evaluación ha sido el mismo que se ha utilizado,durante la fase de experimentación, para obtener el desempeño de los modelos en la fase devalidación.

La evaluación realizada, como era de esperar, ha mostrado unos valores ligeramente peoresque las obtenidas en la evaluación realizada con la partición de validación. Aun así, se puedeobservar (véase tabla 5.1) que la evaluación no presenta un panorama desfavorable, sino todolo contrario, ya que el cotejado de los modelos con datos no vistos solo ha supuesto la pérdidade dos o tres puntos de precisión.

Page 109: Deep Learning object detection architectures in ADAS

5.1. PRUEBAS DE TESTEO 91

Tabla 5.1: Evaluación de los modelos fi-nales ADAS_AS y ADAS_DR en la fasede testeo.

Métrica ADAS_AS ADAS_DR

mAP 0.582 0.528AP IoU=.50 0.801 0.612AP IoU=.75 0.690 0.561AR1 0.664 0.413AR10 0.722 0.781AR100 0.722 0.835

Extendiendo la observación realizada en la fase de experimentación sobre las métricas COCO(véase capitulo 4), hay que añadir varias observaciones que ayudarán a evaluar mejor los dosmodelos.

Durante la fase de experimentación se ha utilizado como métrica de evaluación de la precisiónel mAP, el cual es el valor medio de la precisión para los umbrales de IoU = [.50, .55, ..., 0.95].Se ha utilizado esta métrica debido a que es la que se ha tomado como referencia y estándarentre los investigadores.

El umbral IoU indica que las detecciones que se tomarán en cuenta para calcular la preci-sión, tendrán que tener la intersección sobre la unión mayor que ese umbral (véase fig. 2.11).Dependiendo del objetivo del modelo, no será necesario que los objetos reales y las prediccionesse solapen, por ejemplo, un 80%.

Este es el caso del modelo ADAS_AS, ya que el objetivo de la detección de semáforos yseñales, lo primordial es la correcta detección de la clase de estas, indiferentemente de detectarperfectamente todo el contorno de la señal. Por lo que, para la medición de la precisión delmodelo ADAS_AS se utilizará la métrica AP IoU=.50 (80.1%).

Examinando los valores obtenidos al calcular la precisión (AP IoU=.50) del modelo para ladetección de cada clase (véase tabla 5.2), podemos conocer los puntos fuertes y débiles deldetector. La detección de señales Road Number es donde la precisión llega al mínimo (40 %),una caída notable respecto a la precisión de la detección de la mayoría de las clases. Aunquees verdad que la precisión media refleja un desempeño del detector considerablemente alto yfavorable, esta tabla indica también que el modelo tiene dificultades en la detección de semáforosrojos, amarillos, señales de 50km/h, etc., clases que a priori son muy relevantes en la conducción.

Por todo ello, el análisis de la evaluación del detector ADAS_AS indica una buena precisiónmedia de detección con cierto déficit en cuanto la detección de ciertas clases. Este déficit puedeno ser totalmente relevante ya que debido a la gran velocidad del detector, este puede ratificarla detección errónea en cuestión de milisegundos y teniendo en cuenta que para la tarea dedetectar señales y semáforos no es necesario una detección instantánea, esto no afectará aldesempeño esperado.

Page 110: Deep Learning object detection architectures in ADAS

92 CAPÍTULO 5. RESULTADOS

Tabla 5.2: Precisión (AP IoU=.50) porclase del modelo final ADAS_AS ob-tenida en la evaluación de la fase detesteo.

Clase Precisión ( %)

tf_green 70.5R_Cross 93.730km/h 58.3F_DirChange 91.2Priority 81.0Exit 60.5F_Park 85.7Forward 91.6R_intersection 93.4tf_yellow 53.2tf_red 63.1Risk 80.1F_Circulation 99.8Stop 81.9O_bike_person 83.350km/h 53.2Out_30_Zone 70.0Dead-end 95.8Road number 40.7R_Pedestrians 83.8O_Bike_person 77.2P_Pedestrian 82.4F_Truck_Overtaking 83.4O_Direction 87.7R_Bump 79.8roundabout 93.7F_Entry 84.8F_Car_Overtaking 88.3W_Bump 73.2yield 83.6R_Narrowing 97.4Parking 83.770km/h 82.8120km/h 91.5

Dejando de lado el detector ADAS_AS, es interesante observar los valores obtenidos conADAS_DR (véase tabla 5.3), ya que, a pesar de haber sido entrenado con un conjunto de datosmás robusto y con menor complejidad, la precisión obtenida llega a ser ligeramente mayor al50%. En este caso, debido a que el objetivo de detectar los elementos dinámicos es hacerlo de

Page 111: Deep Learning object detection architectures in ADAS

5.1. PRUEBAS DE TESTEO 93

manera instantánea y mínimamente precisa en cuanto al tamaño y posición del objeto en laimagen, la métrica de evaluación será el mAP.

Tabla 5.3: Precisión(AP IoU=.50) por clase delmodelo final ADAS_DRobtenida en la evaluaciónde la fase de testeo.

Clase Precisión ( %)

Car 79.8Person 65.5Bus 52.1Bike 41.1Truck 53.9Motorbike 37.1Rider 46.6

Esta evaluación del detector ADAS_DR hace destacar la capacidad del modelo para iden-tificar las instancias relevantes, reflejada en la métrica recall (AR100 = 83.5%). Como bien seha mencionado anteriormente, esta capacidad es muy valorada en los modelos de detección deobjetos, ya que garantizan un buen funcionamiento del detector con datos nuevos.

Aunque la prueba de evaluación de los detectores, ADAS_AS y ADAS_DR, arroja lucesy sombras sobre el desempeño de estos dos modelos, se han averiguado cuales son los puntosfuertes y débiles de cada uno para poder mejorarlos en futuros experimentos. Los valores obte-nidos reafirman la correcta evolución y progresión realizada durante el transcurso de la fase deexperimentación, cumpliendo así con los objetivos propuestos.

5.1.2. Segunda prueba

Esta segunda prueba, se utilizará para obtener una demostración gráfica del desempeño delos dos modelos en un entorno real, utilizando para ello varios vídeos grabados en la carretera.En esta sección, se analizará el desempeño de los detectores analizando frames de los vídeosobtenidos y se proporcionará también enlaces para poder obtener los vídeos completos.

Aunque la prueba se haya realizado sobre varios vídeos, en esta sección solo se mencionaránlas partes mas representativas de todos ellos. Como se ha mencionado antes, para esta prueba seseleccionaron varios vídeos grabados en los recorridos Zumaia-Zarautz (Gipuzkoa) y centro deAmsterdam, los cuales se han utilizado para probar los dos modelos. Estos vídeos se encuentrandisponibles en el siguiente repositorio Dropbox.

La prueba ha consistido en aplicar los detectores ADAS_AS y ADAS_DR sobre los vídeosmencionados anteriormente. Para ello, se han extraído uno a uno todos los frames de los vídeos,

Page 112: Deep Learning object detection architectures in ADAS

94 CAPÍTULO 5. RESULTADOS

utilizándolos como entrada del modelo y se ha guardado la salida del modelo, el cual contendrála predicción realizada. Al realizar este proceso de inferencia sobre todas las imágenes tambiénse ha calculado el tiempo necesario para cada inferencia, dato con el que se ha calculado lavelocidad del detector en FPS para después montar el vídeo de todas las predicción realizadascon esa velocidad, obteniendo así un vídeo en el cual se verá el funcionamiento del detectorsobre el vídeo original.

Además del vídeo mencionado, también se han almacenado copias de los frames con pre-dicciones en carpetas separadas según la clase de esas predicciones, obteniendo así todas lasimágenes donde el detector ha inferido un objeto de cada clase. Este proceso ayuda también adeterminar el funcionamiento de los modelos respecto a cada clase, facilitando la búsqueda yejemplificación real de falsos positivos, verdaderos negativos, etc.

Tabla 5.4: Tiempo necesario, en milisegundos, de cada modelopara realizar cada tarea de la detección.

Modelo Prep1 Red2 Dec3 Post4 Total FPS

ADAS_AS 7 38 1 1 47 21.27ADAS_DR 7 37 1 1 46 21.73ADAS_AS+ADAS_DR 7 44 2 1 54 18.511 Tiempo de pre-procesamiento del frame.2 Tiempo de inferencia de la red.3 Tiempo de decodificar la inferencia realizada.4 Tiempo de post-procesamiento del frame.

Como se puede observar en la evaluación realizada para calcular el tiempo necesario de losmodelos para la detección (véase tabla 5.4), los dos modelos tienen casi la misma velocidad.El análisis realizado sobre la velocidad de inferencia de CenterNet (véase tabla 3.5) indica quela columna DLA-34 tiene un tiempo de inferencia de 19(ms), tiempo que se ve incrementadoen estos modelos ya que se ha obtenido una velocidad de 38(ms). Pero aun así, la velocidadobtenida es suficiente para poder tener un detector funcionando a tiempo real, ya que solose tendría que utilizar una estrategia idónea, como por ejemplo ejecutar cada modelo en dosGPU s distintas y solo procesar una de cada dos o tres frames.

Las situaciones mas representativas para mostrar el funcionamiento del detector son aquellasen las cuales la detección se hace mas difícil o los momentos en el que el detector funciona deuna manera excepcional, sea bien o mal.

Una de esas situaciones de dificultad es la diferenciación entre las señales de límite de velo-cidad (véase fig. 5.2), ya que como se puede apreciar es bastante difícil clasificar correctamentela señal diferenciando el número de esta. Muchas de las veces en las que el detector se enfrentaa este tipo de señales, es muy común que a la lejanía o en la señal del carril opuesto no detectebien el límite de velocidad (véase fig. 5.2 abajo), pero a medida que se acerca rectifica la predic-ción realizada; esto sucede con la mayoría de señales de tráfico. Considerando que la limitaciónentra en vigor cuando el vehículo supera a esta, no es completamente indispensable detectarlo

Page 113: Deep Learning object detection architectures in ADAS

5.1. PRUEBAS DE TESTEO 95

Figura 5.2: Detección de señales de limite de velocidad.

correctamente hasta llegar a su lado.

Otro comportamientos destacable y sorprendente ha sido el funcionamiento del modelo ala hora de la detección de semáforos. El modelo ADAS_AS fue entrenado con los datos desemáforos del dataset DTLD, el cual contiene imágenes captadas en las calles de Alemania,donde los semáforos son más estrechos y pequeños que los de los vídeos de prueba, por lo que adiferencia de las señales de tráfico, los semáforos son detectados cuando el vehículo se encuentra

Page 114: Deep Learning object detection architectures in ADAS

96 CAPÍTULO 5. RESULTADOS

Figura 5.3: Detección de semáforos verdes.

a una distancia lejana (véase fig. 5.3). Este comportamiento inesperado mejora las expectativas,ya que lo ideal en cuanto a la detección de semáforos es hacerlo a una distancia suficiente comopara aminorar la velocidad del vehículo. Por lo que este funcionamiento permite detectar unsemáforo a una distancia considerablemente grande, haciendo la asistencia ofrecida mucho masútil y segura.

Después de finalizar esta segunda prueba, donde se ha contrastado el funcionamiento delos modelos con un entorno real, los resultados obtenidos indican un desempeño acorde a loesperado en cuando a la velocidad de detección y precisión. Aunque la velocidad obtenidahaya decaído respecto a las indicaciones del artículo de los autores de CenterNet [121], era loesperado, ya que la potencia computacional esta vez es mucho menor..

Respecto al desempeño de la detección, después de realizar las dos pruebas, los resultadosobtenidos superan totalmente las expectativas planteadas al comienzo del proyecto. Aunquetodavía haya que implementar mejoras para conseguir una precisión que permita crear unproducto final que sea seguro y fiable, en comparativa con las escasas publicaciones sobredetectores de este tipo, los modelos obtenidos son notablemente más precisos y rápidos.

Page 115: Deep Learning object detection architectures in ADAS

5.2. COMPARACIÓN 97

5.2. Comparación

La selección de la arquitectura a utilizar se ha deliberado utilizando la información obtenidadel análisis de las diversas arquitecturas (véase sección 3.1). Este análisis ha confrontado diversosdetectores del estado del arte y en dicha confrontación ha salido como vencedor la arquitecturaCenterNet-DLA, también han destacado las arquitecturas YoloV3 y SSD-512, por la velocidad,Mask R-CNN y RetinaNet, por la precisión, VoVNet y CenterNet-hourglass, por ambas razones.Aunque se hayan analizado una cantidad considerable de detectores, estos seis han sido loscompetidores reales de la arquitectura finalmente seleccionados (véase fig. 3.1).

Para ratificar que la deliberación realizada ha sido correcta y que la arquitectura seleccionadaes la mejor de todas, se ha hecho una comparativa con sus alternativas reales. Esta comparativase ha realizado utilizando solamente el conjunto de datos ADAS_AS para entrenar los detecto-res. Los modelos creados han sido entrenados durante 20 épocas, de manera que los resultadosobtenidos sean relevantes sin tener que asumir un coste excesivo de tiempo.

Debido a que las publicaciones de RetinaNet y VoVNet no aportan una implementaciónfuncional de la arquitectura, se ha desestimado utilizarlas en esta comparativa. En cuanto a laalternativa de utilizar CenterNet con la columna vertebral HourGlass, se ha rechazado ya quecon los recursos disponibles no era posible entrenar el modelo debido a que la GPU se quedabasin memoria. Por todo ello, en esta comparativa se han confrontado las alternativas YoloV3,SSD-512 y Mask R-CNN.

Tabla 5.5: Comparativa de los modelos de las diversas arquitec-turas entrenados durante 20 épocas sobre el conjunto de datosADAS_AS

Métrica CenterNet YoloV3 SSD-512 Mask R-CNN

mAP 0.587 0.321 0.354 0.567AP IoU=.50 0.814 0.412 0.483 0.794AP IoU=.75 0.681 0.389 0.413 0.694AR1 0.630 0.421 0.483 0.652AR10 0.726 0.632 0.678 0.698AR100 0.726 0.670 0.687 0.704FPS 21 12 10 2.5

La comparativa realizada entre los modelos de cada detector (véase tabla 5.5) hace indicar quela decisión tomada ha sido la correcta. Se han utilizado la precisión obtenida en la evaluación yla velocidad de los modelos en frames por segundo como criterios de comparación. Aunque laarquitectura Mask R-CNN se ha postulado como una alternativa válida debido a la equiparaciónen cuanto a la precisión, lo cierto que es que la velocidad dista de ser la deseada: 2.5 FPS. Porlo tanto, esto ratifica que la decisión tomada sobre la selección de la arquitectura ha sido laidónea, en cuanto al resultado obtenido en precisión y velocidad del modelo.

Page 116: Deep Learning object detection architectures in ADAS

98 CAPÍTULO 5. RESULTADOS

Page 117: Deep Learning object detection architectures in ADAS

Capítulo 6

Conclusiones

En esta sección, con la intención de dar punto final al proyecto realizado, se hará una reflexiónen retrospectiva del trabajo realizado, utilizando para ello los objetivos definidos al comienzodel proyecto y los resultados obtenidos.

Los principales objetivos a cumplir en este proyecto, mencionados en el capitulo de introduc-ción (véase capítulo 1), han sido fijados para un periodo de vida del proyecto de seis meses.Debido a ciertas limitaciones en cuanto a la política de expedición de Convenios de coopera-ción educativa de la Universidad Politécnica de Madrid, ese tiempo de vida ha sido reducido acuatro meses, por lo que se ha tenido que tomar una estrategia de trabajo mucho más austera,limitando excederse en el tiempo de cumplimiento de ciertos objetivos principales y restándolesa los secundarios.

Esta modificación en la planificación ha conllevado un cambio drástico en el ciclo de vidadel proyecto, teniendo que variar algunas de las tareas definidas y añadiendo incertidumbreen el cumplimiento de otras. Por esa razón, con la intención de poder lograr cumplir todoslos objetivos principales propuestos, se ha desviado el tiempo asignado a cumplir los objetivossecundarios a estos.

A pesar de lo mencionado anteriormente se han logrado cumplir todos los objetivos principalesdefinidos al comienzo del proyecto. Para ello se ha tenido que llevar una gestión muy controladadel tiempo disponible para la realización de cada tarea, liberando costes asignados para tareasde menor importancia, como puede ser el cumplimiento de algún objetivo secundario.

Uno de los objetivos principales de este proyecto ha sido la realización de una recopilaciónde conocimientos sobre la gran diversidad de arquitecturas deep learning para la detección deobjetos. Por esa misma razón y con el fin de cumplir este objetivo, una de las secciones delproyecto donde más tiempo y trabajo se ha invertido ha sido en el análisis del estado del artede los detectores de objetos. Para esta sección se han leído y estudiado una gran variedad deartículos científicos, publicaciones y recopilaciones de estados del arte obsoletas, con la intenciónde crear una visión global sobre el estado actual de dicha tecnología.

99

Page 118: Deep Learning object detection architectures in ADAS

100 CAPÍTULO 6. CONCLUSIONES

Todo ello ha permitido, a posteriori, poder realizar una selección de la arquitectura a utilizarde manera que se tenga en cuenta la viabilidad de la utilización de esta, el impacto innovadoren la tecnología, la diferenciación con el resto y sobretodo la certeza de que la elección realizadaes la más idónea. Además de adquirir conocimientos necesarios para la selección de dicha ar-quitectura, el trabajo integro realizado en la elaboración del estado del arte ha sido primordialpara la transferencia de conocimientos a cerca de la detección de objetos.

La generación de los dos conjuntos de datos ha sido también un punto a destacar en eldesarrollo del proyecto. Debido a la escasez de publicaciones a cerca del uso de detectores deobjetos en el mundo de la automoción, la recopilación de información a cerca de los conjuntosde datos de semáforos y señales de tráfico ha sido una tarea compleja. Por esta misma razón,aunque los dos conjuntos de datos obtenidos no han sido tan robustos como lo deseado, se hansuperado con creces las del resto de publicaciones de estas características.

Durante el proceso de entrenamiento, viendo los requerimientos deseados a cerca de la apor-tación de conocimientos sobre la optimización de hiper-parámetros, se ha realizando un análisisde las diversas técnicas de optimización. Este análisis ha permitido aportar conocimientos acer-ca del estado del arte de las técnicas HPO no solo para la aplicación de estas en este proyecto,sino que también para el uso de ellas en cualquier otro proyecto en el que se utilicen redesneuronales.

Al hilo de lo anterior, con la finalidad de utilizar técnicas novedosas y dar un enfoque innova-dor al proyecto, durante el entrenamiento de los modelos se han combinado diversas tecnologíasHPO como son los algoritmos genéticos y la optimización Bayesiana TPE, con el uso de herra-mientas innovadoras para la óptima selección de hiper-parámetros como es FANOVA. Por todoello, durante el entrenamiento se han utilizado diversas configuraciones de hiper-parámetros conla intención de seleccionar la más óptima y probar de esta manera que el uso de estas técnicases beneficiosa para acortar los costes de entrenamiento y mejorar el proceso de aprendizaje.

En referencia a lo anterior, durante el entrenamiento principal se puede observar claramenteque la optimización de hiper-parámetros ha sido beneficiosa para poder obtener unos modelosque cumplan con los objetivos definidos en cuanto a las competencias en desempeño y fun-cionamiento. Como se puede observar en esas gráficas, cada pico hace referencia a los cambiosrealizados en la configuración de la arquitectura o composición de los conjuntos de datos durantelos diversos experimentos realizados.

Observando cada pico se puede ver que durante el entrenamiento de ambos modelos la curvade aprendizaje es más acentuada en las primeras épocas de cada pico, y esta se va ralentizandoa medida que avanzan las épocas. Esto puede llevar a pensar que existen un estancamiento enel entrenamiento y por consiguiente, una falta de convergencia en el aprendizaje. Pero debidoa la gran complejidad del problema y la falta de conjuntos de datos robustos, hace que elaprendizaje sea más costoso y que por lo tanto la convergencia sea más lenta.

Como bien se sabe, en el entrenamiento de un modelo de redes neuronales durante las pri-meras épocas el aprendizaje es mayor y a medida que el modelo está más entrenado cada vez

Page 119: Deep Learning object detection architectures in ADAS

101

es más difícil ajustar los pesos del modelo, ralentizando el aprendizaje. Debido a las razonespreviamente expuestas, en este proyecto esta ralentización del aprendizaje es mucho más acen-tuada que en otros casos menos complejos. En caso de dejar entrenar los modelos durante mayortiempo, al final esa convergencia durante el entrenamiento sería mucho más visible y acentua-do, sobretodo en el modelo ADAS_DR que es el que mayor monotoneidad refleja durante elaprendizaje.

Hay que puntualizar la decisión de simplificar el etiquetado del conjunto de datos ADAS_AS,ya que como se ha expuesto previamente, este cambio ha sido primordial para poder obtenerun mejor desempeño del modelo. Esta modificación ha permitido cumplir de una manera másidónea los objetivos propuestos sin llegar a obtener una pérdida de información en cuanto ala detección del modelo. Como se ha demostrado en el capítulo de resultados (véase cap. 5),mediante los cambios realizados en la arquitectura, hiper-parámetros y conjuntos de datos, losmodelos obtenidos superan los objetivos propuestos y sus desempeños justifican ampliamentelas decisiones tomadas durante el transcurso del proyecto.

Aunque no se puede decir que todo el proceso ha sido un éxito rotundo y que se ha con-seguido completar todos los objetivos propuestos, ya que al reducir el tiempo de dedicación alos objetivos secundarios y los problemas de compatibilidad antes mencionados (véase sección4.4.3), no se ha podido conseguir el objetivo de integrar el detector en un sistema embebido.

A pesar de este último contratiempo en la integración que ha conllevado el incumplimientodel objetivo secundario, teniendo en cuenta el transcurso del proyecto, en computo global lacantidad de objetivos cumplidos, el producto obtenido y la evolución realizada, el balance finaldel trabajo realizado ha sido positivo.

Page 120: Deep Learning object detection architectures in ADAS

102 CAPÍTULO 6. CONCLUSIONES

Page 121: Deep Learning object detection architectures in ADAS

Capítulo 7

Líneas futuras

Los modelos obtenidos al finalizar el proyecto, aunque superen las expectativas puestas enrelación al mercado, todavía distan de ser un producto final fiable e infalible. Debido a laslimitaciones de la aplicación de arquitecturas deep learning para la tarea de percepción visualque existen hoy día, es imposible garantizar al cien por cien la fiabilidad de estos modelos.

A pesar de esta realidad, es posible mejorar el funcionamiento de los modelos mediante unentrenamiento más exhaustivo y con un conjunto de datos más robusto. Para ello, en una líneafutura se podría generar un conjunto de datos ADAS_AS mucho más robusto, creando paraello dos modelos independientes de detección de señales de tráfico y semáforos que generasenanotaciones de las detecciones en un entorno real, para después utilizar esos datos como datos deentrenamiento, creando un sistema de retroalimentación; realizando un proceso de selecciónpara evitar que las anotaciones erróneas del modelo no se reutilicen.

El uso de una mayor capacidad computacional, proporcionado por un servicio en la nube deentrenamiento de redes neuronales o la utilización de diversos GPU s trabajando en paralelo,permitiría reducir los costes del entrenamiento y su rapidez. De esta manera se podría realizarel proceso de optimización de hiper-parámetros sin tener que utilizar un conjunto parcial delos datos, obteniendo así unos valores óptimos acordes al conjunto entero de datos. Ademásde la optimización, una mayor capacidad computacional agilizaría el proceso de entrenamientohaciendo que se pueda realizar un entrenamiento más extenso.

Cambiar la arquitectura también podría ser un aspecto en el que centrarse en futuros expe-rimentos, pero considerando que en este proyecto se ha utilizado la arquitectura más novedosay funcional que existe a día de hoy, se tendría que esperar a la siguiente aportación científica.Por lo que una de la vías a investigar podría ser la combinación de diferentes arquitecturas enuna sola, por ejemplo integrando una nueva columna vertebral y probar otra función de pérdidacomo la de RetinaNet en la arquitectura CenterNet.

103

Page 122: Deep Learning object detection architectures in ADAS

104 CAPÍTULO 7. LINEAS FUTURAS

Page 123: Deep Learning object detection architectures in ADAS

Apéndice A

Anexos

A.1. Implementación del detector

Los creadores aportan en el repositorio un framework que permite a los desarrolladoresutilizar el detector CenterNet en su proyecto. El framework se compone de tres funcionalidadesprincipales: entrenar el modelo, testearlo y utilizarlo en un vídeo a tiempo-real. Esta escrito enPython 3.6 y utiliza la librería Torch como plataforma deep learning.

Todo el framework está implementado sobre la librería antes mencionada, SciPy y OpenCV,salvo la red convolucional deformable (DCN) utilizada en varias de las columnas vertebrales deldetector. Esta DCN está implementada en el lenguaje de programación C y es necesario compi-larla para luego, mediante la librería Cython y CUDA, utilizar las redes en el detector. Estaimplementación de las DCN en C contenía errores de implementación y generaba problemasde compatibilidad por lo que ha tenido que ser modificado.

Para adaptar el framework proporcionado para que funcione en este proyecto se han imple-mentado, siguiendo la estructura de desarrollo ofrecida por los creadores, los siguientes compo-nentes:

Lector dataset: La finalidad de este componente es crear un lector dinámico de los con-juntos de datos ADAS_AS y ADAS_DR, que interprete la información de las anotacionesy la exporte en el formato requerido.

Muestreador del dataset: Este componente trabaja en conjunto con el lector, generan-do muestras (batch) del dataset que se utilizan dinámicamente para entrenar el modelo.Estas muestras contienen una cantidad definida de datos, compuestas por la informaciónde una imagen proporcionada del lector y esa misma imágen.

Entrenador: Será el componente principal, el que se encargará de entrenar y validar elmodelo para la tarea indicada (detección de objetos) y de generar todo el registro del

105

Page 124: Deep Learning object detection architectures in ADAS

106 APÉNDICE A. ANEXOS

entrenamiento del modelo.

Detector: Este íltimo componente se utilizará para la realizar la inferencia del modelo,es decir, mediante este componente se pondrá en funcionamiento el modelo sobre nuevasimágenes y vídeos.

El desarrollo de estos componentes se ha realizado basándose en los aportados por los crea-dores para la competición COCO. Esto ha facilitado la implementación haciendo que el gastotemporal no fuese mayor de lo esperado.

Además de modificar el funcionamiento del framework, se han añadido nuevas funcionalidadesbasadas en Tensorboard que permiten realizar un seguimiento más detallado del entrenamien-to y testeo del modelo. Esta funcionalidad crea un registro de los valores de los componentesque constituyen el loss, ya sea en la fase de entrenamiento o en la de validación, en esta últimase registran también las métricas COCO de evaluación del modelo. Además del seguimiento devalores, también se registran algunos ejemplos de imágenes en la fase de validación del modelo,para verificar visualmente el funcionamiento este.

Page 125: Deep Learning object detection architectures in ADAS

Bibliografía

[1] E. Khvedchenya V. I. Iglovikov A. Buslaev, A. Parinov and A. A. Kalinin. Albumenta-tions: fast and flexible image augmentations. ArXiv e-prints, 2018.

[2] A. Fregin and J. Müller and U. KreBel nd K. Dietmayer. Driveu traf-fic light dataset (dtld), 2019. https://www.uni-ulm.de/en/in/driveu/projects/driveu-traffic-light-dataset/.

[3] Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Ci-tro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, IanGoodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Yangqing Jia, Rafal Jozefo-wicz, Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dandelion Mané, Rajat Monga,Sherry Moore, Derek Murray, Chris Olah, Mike Schuster, Jonathon Shlens, Benoit Stei-ner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan,Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, YuanYu, and Xiaoqiang Zheng. TensorFlow: Large-scale machine learning on heterogeneoussystems, 2015. Software available from tensorflow.org.

[4] Ace Lab. Traffic light in south korea, 2019. https://www.acelab.org/traffic-light-dataset.

[5] M. Al-Qizwini, I. Barjasteh, H. Al-Qassab, and H. Radha. Deep learning algorithm forautonomous driving using googlenet. In 2017 IEEE Intelligent Vehicles Symposium (IV),pages 89–96, June 2017.

[6] Wafaa Alakwaa, Mohammad Nassef, and Amr Badr. Lung cancer detection and classifi-cation with 3d convolutional neural network (3d-cnn). International Journal of AdvancedComputer Science and Applications, 8(8), 2017.

[7] C. H. Anderson, J. R. Bergen, P. J. Burt, and J. M. Ogden. Pyramid methods in imageprocessing. Journal of Information Systems and Communication, 1984.

[8] Andreas Møgelmose, Mohan M. Trivedi, and Thomas B. Moeslund. Lisa: Labo-ratory for intelligent and safe automobiles, 2019. http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html.

[9] AutoML-Freiburg. Github: Fanova, 2019. https://github.com/automl/fanova.

107

Page 126: Deep Learning object detection architectures in ADAS

108 BIBLIOGRAFÍA

[10] Stephen Balaban. Deep learning and face recognition: the state of the art. CoRR,abs/1902.03524, 2019.

[11] G. Bebis and M. Georgiopoulos. Feed-forward neural networks. IEEE Potentials,13(4):27–31, Oct 1994.

[12] Karsten Behrendt and Libor Novak. A deep learning approach to traffic lights: Detection,tracking, and classification. In Robotics and Automation (ICRA), 2017 IEEE Internatio-nal Conference on. IEEE, 2017.

[13] James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization.J. Mach. Learn. Res., 13:281–305, February 2012.

[14] James S. Bergstra, Rémi Bardenet, Yoshua Bengio, and Balázs Kégl. Algorithms forhyper-parameter optimization. In J. Shawe-Taylor, R. S. Zemel, P. L. Bartlett, F. Pereira,and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 24,pages 2546–2554. Curran Associates, Inc., 2011.

[15] Holger Caesar, Varun Bankiti, Alex H. Lang, Sourabh Vora, Venice Erin Liong, Qiang Xu,Anush Krishnan, Yu Pan, Giancarlo Baldan, and Oscar Beijbom. nuscenes: A multimodaldataset for autonomous driving. CoRR, abs/1903.11027, 2019.

[16] Zhaowei Cai and Nuno Vasconcelos. Cascade R-CNN: delving into high quality objectdetection. CoRR, abs/1712.00726, 2017.

[17] Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, and Han Hu. Gcnet: Non-local networksmeet squeeze-excitation networks and beyond. CoRR, abs/1904.11492, 2019.

[18] Kumar Chellapilla, Sidd Puri, and Patrice Simard. High Performance ConvolutionalNeural Networks for Document Processing. In Guy Lorette, editor, Tenth InternationalWorkshop on Frontiers in Handwriting Recognition, La Baule (France), October 2006.Université de Rennes 1, Suvisoft. http://www.suvisoft.com.

[19] D. Ciregan, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for imageclassification. In 2012 IEEE Conference on Computer Vision and Pattern Recognition,pages 3642–3649, June 2012.

[20] Marius Cordts, Mohamed Omran, Sebastian Ramos, Timo Rehfeld, Markus Enzweiler,Rodrigo Benenson, Uwe Franke, Stefan Roth, and Bernt Schiele. The cityscapes datasetfor semantic urban scene understanding. CoRR, abs/1604.01685, 2016.

[21] Corinna Cortes and Vladimir Vapnik. Support-vector networks. Mach. Learn., 20(3):273–297, September 1995.

[22] Balázs Csanád Csáji. Approximation with artificial neural networks. MSc Thesis, 2001.

[23] G. Cybenko. Approximation by superpositions of a sigmoidal function. Mathematics ofControl, Signals, and Systems (MCSS), 2(4):303–314, December 1989.

Page 127: Deep Learning object detection architectures in ADAS

BIBLIOGRAFÍA 109

[24] G. Cybenko. Approximation by superpositions of a sigmoidal function. Mathematics ofControl, Signals, and Systems (MCSS), 2(4):303–314, December 1989.

[25] Jifeng Dai, Yi Li, Kaiming He, and Jian Sun. R-FCN: object detection via region-basedfully convolutional networks. CoRR, abs/1605.06409, 2016.

[26] Jifeng Dai, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei.Deformable convolutional networks. CoRR, abs/1703.06211, 2017.

[27] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR’05), volume 1, pages 886–893 vol. 1, June 2005.

[28] Rina Dechter. Learning while searching in constraint-satisfaction-problems. In LearningWhile Searching in Constraint-Satisfaction-Problems., pages 178–185, 01 1986.

[29] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-ScaleHierarchical Image Database. In CVPR09, 2009.

[30] Piotr Dollar, Christian Wojek, Bernt Schiele, and Pietro Perona. Pedestrian detection: Anevaluation of the state of the art. IEEE Trans. Pattern Anal. Mach. Intell., 34(4):743–761,April 2012.

[31] Kaiwen Duan, Song Bai, Lingxi Xie, Honggang Qi, Qingming Huang, and Qi Tian. Cen-ternet: Keypoint triplets for object detection. CoRR, abs/1904.08189, 2019.

[32] Dumitru Erhan, Christian Szegedy, Alexander Toshev, and Dragomir Anguelov. Scalableobject detection using deep neural networks. CoRR, abs/1312.2249, 2013.

[33] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PAS-CAL Visual Object Classes Challenge 2012 (VOC2012) Results. http://www.pascal-network.org/challenges/VOC/voc2012/workshop/index.html.

[34] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The pascal vi-sual object classes (voc) challenge. International Journal of Computer Vision, 88(2):303–338, June 2010.

[35] P. F. Felzenszwalb, R. B. Girshick, and D. McAllester. Cascade object detection withdeformable part models. In 2010 IEEE Computer Society Conference on Computer Visionand Pattern Recognition, pages 2241–2248, June 2010.

[36] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan. Object detectionwith discriminatively trained part-based models. IEEE Transactions on Pattern Analysisand Machine Intelligence, 32(9):1627–1645, Sep. 2010.

[37] Fisher Yu, Wenqi Xian, Yingying Chen, Fangchen Liu, Mike Liao, Vashisht Madhavan,Trevor Darrell. Berkeley deepdrive, 2019. https://bdd-data.berkeley.edu/.

Page 128: Deep Learning object detection architectures in ADAS

110 BIBLIOGRAFÍA

[38] A. Fregin, J. Müller, U. KreBel, and K. Dietmayer. The driveu traffic light dataset: Intro-duction and comparison with existing datasets. In 2018 IEEE International Conferenceon Robotics and Automation (ICRA), pages 3376–3383, 2018.

[39] Andreas Geiger, Philip Lenz, Christoph Stiller, and Raquel Urtasun. Vision meets robo-tics: The kitti dataset. International Journal of Robotics Research (IJRR), 2013.

[40] Ross B. Girshick. Fast R-CNN. CoRR, abs/1504.08083, 2015.

[41] Ross B. Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. Rich feature hie-rarchies for accurate object detection and semantic segmentation. CoRR, abs/1311.2524,2013.

[42] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. MIT Press, 2016.http://www.deeplearningbook.org.

[43] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Spatial pyramid pooling indeep convolutional networks for visual recognition. CoRR, abs/1406.4729, 2014.

[44] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning forimage recognition. CoRR, abs/1512.03385, 2015.

[45] Tobias Hinz, Nicolás Navarro-Guerrero, Sven Magg, and Stefan Wermter. Speedingup the hyperparameter optimization of deep convolutional neural networks. CoRR,abs/1807.07362, 2018.

[46] Kurt Hornik. Approximation capabilities of multilayer feedforward networks. NeuralNetworks, 4(2):251 – 257, 1991.

[47] Hoya012. Github: deep learning object detection, 2019. https://github.com/hoya012/deep_learning_object_detection.

[48] Jie Hu, Li Shen, and Gang Sun. Squeeze-and-excitation networks. CoRR, abs/1709.01507,2017.

[49] Zilong Hu, Jinshan Tang, Ziming Wang, Kai Zhang, Ling Zhang, and Qingling Sun. Deeplearning for image-based cancer detection and diagnosis - a survey. Pattern Recognition,83:134 – 149, 2018.

[50] Gao Huang, Zhuang Liu, and Kilian Q. Weinberger. Densely connected convolutionalnetworks. CoRR, abs/1608.06993, 2016.

[51] Xinyu Huang, Xinjing Cheng, Qichuan Geng, Binbin Cao, Dingfu Zhou, Peng Wang,Yuanqing Lin, and Ruigang Yang. The apolloscape dataset for autonomous driving.CoRR, abs/1803.06184, 2018.

[52] Frank Hutter, Holger Hoos, and Kevin Leyton-Brown. An efficient approach for assessinghyperparameter importance. In Eric P. Xing and Tony Jebara, editors, Proceedings of the31st International Conference on Machine Learning, volume 32 of Proceedings of MachineLearning Research, pages 754–762, Bejing, China, 22–24 Jun 2014. PMLR.

Page 129: Deep Learning object detection architectures in ADAS

BIBLIOGRAFÍA 111

[53] Frank Hutter, Holger H. Hoos, and Kevin Leyton-Brown. Sequential model-based op-timization for general algorithm configuration. In Proceedings of the 5th InternationalConference on Learning and Intelligent Optimization, LION’05, pages 507–523, Berlin,Heidelberg, 2011. Springer-Verlag.

[54] Institut für Neuroinformatik. The german traffic sign detection benchmark, 2019. http://benchmark.ini.rub.de/?section=gtsdb&subsection=dataset.

[55] A. G. Ivakhnenko and V. G. Lapa. Cybernetics and forecasting techniques. In Proceedingsof the IEEE. American Elsevier Pub. Co., 1967.

[56] Max Jaderberg, Valentin Dalibard, Simon Osindero, Wojciech M. Czarnecki, Jeff Do-nahue, Ali Razavi, Oriol Vinyals, Tim Green, Iain Dunning, Karen Simonyan, ChrisanthaFernando, and Koray Kavukcuoglu. Population based training of neural networks. CoRR,abs/1711.09846, 2017.

[57] Zsolt Kardkovács, Zsombor Paróczi, E Varga, Adam Siegler, and P Lucz. Real-time trafficsign recognition system. In Real-time traffic sign recognition system, pages 1 – 5, 08 2011.

[58] B. Ravi Kiran, Luis Roldão, Beñat Irastorza, Renzo Verastegui, Sebastian Süss, SenthilYogamani, Victor Talpaert, Alexandre Lepoutre, and Guillaume Trehard. Real-time dyna-mic object detection for autonomous driving using prior 3d-maps. CoRR, abs/1809.11036,2018.

[59] La route automatisee. Traffic lights recognition (tlr) public benchmarks, 2019. http://www.lara.prd.fr/benchmarks/trafficlightsrecognition.

[60] Hei Law and Jia Deng. Cornernet: Detecting objects as paired keypoints. CoRR,abs/1808.01244, 2018.

[61] Hei Law, Yun Teng, Olga Russakovsky, and Jia Deng. Cornernet-lite: Efficient keypointbased object detection. CoRR, abs/1904.08900, 2019.

[62] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D.Jackel. Backpropagation applied to handwritten zip code recognition. Neural Compu-tation, 1(4):541–551, Dec 1989.

[63] Yann Lecun, Léon Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learningapplied to document recognition. In Proceedings of the IEEE, pages 2278–2324, 1998.

[64] Youngwan Lee, Joong-won Hwang, Sangrok Lee, Yuseok Bae, and Jongyoul Park. Anenergy and gpu-computation efficient backbone network for real-time object detection.CoRR, abs/1904.09730, 2019.

[65] Yanghao Li, Yuntao Chen, Naiyan Wang, and Zhaoxiang Zhang. Scale-aware tridentnetworks for object detection. CoRR, abs/1901.01892, 2019.

Page 130: Deep Learning object detection architectures in ADAS

112 BIBLIOGRAFÍA

[66] Tsung-Yi Lin, Piotr Dollár, Ross B. Girshick, Kaiming He, Bharath Hariharan, and Ser-ge J. Belongie. Feature pyramid networks for object detection. CoRR, abs/1612.03144,2016.

[67] Tsung-Yi Lin, Priya Goyal, Ross B. Girshick, Kaiming He, and Piotr Dollár. Focal lossfor dense object detection. CoRR, abs/1708.02002, 2017.

[68] Tsung-Yi Lin, Michael Maire, Serge J. Belongie, Lubomir D. Bourdev, Ross B. Girs-hick, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C. Lawrence Zitnick.Microsoft COCO: common objects in context. CoRR, abs/1405.0312, 2014.

[69] Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, and Jiaya Jia. Path aggregation network forinstance segmentation. CoRR, abs/1803.01534, 2018.

[70] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott E. Reed, Cheng-Yang Fu, and Alexander C. Berg. SSD: single shot multibox detector. CoRR,abs/1512.02325, 2015.

[71] David G. Lowe. Distinctive image features from scale-invariant keypoints. Int. J. Comput.Vision, 60(2):91–110, November 2004.

[72] Shangzhen Luan, Yan Li, Xiaodi Wang, and Baochang Zhang. Object detection and trac-king benchmark in industry based on improved correlation filter. CoRR, abs/1806.03853,2018.

[73] Risto Miikkulainen, Jason Zhi Liang, Elliot Meyerson, Aditya Rawal, Daniel Fink, Oli-vier Francon, Bala Raju, Hormoz Shahrzad, Arshak Navruzyan, Nigel Duffy, and BabakHodjat. Evolving deep neural networks. CoRR, abs/1703.00548, 2017.

[74] A. Mogelmose, M. M. Trivedi, and T. B. Moeslund. Vision-based traffic sign detectionand analysis for intelligent driver assistance systems: Perspectives and survey. IEEETransactions on Intelligent Transportation Systems, 13(4):1484–1497, Dec 2012.

[75] Andreas Møgelmose Thomas B Moeslund Morten Bornø Jensen, Mark Philip Philipsenand Mohan M Trivedi. Vision for looking at traffic lights: Issues, survey, and perspectives.In Vision for Looking at Traffic Lights: Issues, Survey, and Perspectives. IEEE, 2015.

[76] Mahyar Najibi, Mohammad Rastegari, and Larry S. Davis. G-CNN: an iterative gridbased object detector. CoRR, abs/1512.07729, 2015.

[77] G. Neuhold, T. Ollmann, S. Bulo, and P. Kontschieder. The mapillary vistas datasetfor semantic understanding of street scenes. In 2017 IEEE International Conference onComputer Vision (ICCV), pages 5000–5009, Los Alamitos, CA, USA, oct 2017. IEEEComputer Society.

[78] Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hourglass networks for humanpose estimation. CoRR, abs/1603.06937, 2016.

Page 131: Deep Learning object detection architectures in ADAS

BIBLIOGRAFÍA 113

[79] G Palm. Warren McCulloch and Walter Pitts: A Logical Calculus of the Ideas Immanentin Nervous Activity. In Günther Palm and Ad Aertsen, editors, Brain Theory, pages229–230, Berlin, Heidelberg, 1986. Springer Berlin Heidelberg.

[80] Papers With Code. Object detection state of art, 2019. https://paperswithcode.com/task/object-detection/latest.

[81] Papers With Code. Real-time object detection state of art, 2019. https://paperswithcode.com/task/real-time-object-detection.

[82] Victor Adrian Prisacariu, Radu Timofte, Karel Zimmermann, Ian Reid, and Luc van Gool.Integrating object detection with 3d tracking towards a better driver assistance system. InTwentieth International Conference on Pattern Recognition, pages 1–4, Istanbul, Turkey,August 2010.

[83] Qing Rao and Jelena Frtunikj. Deep learning for self-driving cars: Chances and challen-ges. In Proceedings of the 1st International Workshop on Software Engineering for AI inAutonomous Systems, SEFAIS ’18, pages 35–38, New York, NY, USA, 2018. ACM.

[84] Joseph Redmon, Santosh Kumar Divvala, Ross B. Girshick, and Ali Farhadi. You onlylook once: Unified, real-time object detection. CoRR, abs/1506.02640, 2015.

[85] Joseph Redmon and Ali Farhadi. YOLO9000: better, faster, stronger. CoRR,abs/1612.08242, 2016.

[86] Joseph Redmon and Ali Farhadi. Yolov3: An incremental improvement. CoRR,abs/1804.02767, 2018.

[87] Shaoqing Ren, Kaiming He, Ross B. Girshick, and Jian Sun. Faster R-CNN: towardsreal-time object detection with region proposal networks. CoRR, abs/1506.01497, 2015.

[88] F. Rosenblatt. The perceptron: A probabilistic model for information storage and orga-nization in the brain. Psychological Review, pages 65–386, 1958.

[89] Henry A. Rowley, Shumeet Baluja, and Takeo Kanade. Human face detection in visualscenes. In D. S. Touretzky, M. C. Mozer, and M. E. Hasselmo, editors, Advances in NeuralInformation Processing Systems 8, pages 875–881. MIT Press, 1996.

[90] D. E. Rumelhart, G. E. Hinton, and R. J. Williams. Parallel distributed processing: Ex-plorations in the microstructure of cognition, vol. 1. In David E. Rumelhart, James L.McClelland, and CORPORATE PDP Research Group, editors, Parallel Distributed Pro-cessing: Explorations in the Microstructure of Cognition, Vol. 1, chapter Learning InternalRepresentations by Error Propagation, pages 318–362. MIT Press, Cambridge, MA, USA,1986.

[91] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma,Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg,and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journalof Computer Vision (IJCV), 115(3):211–252, 2015.

Page 132: Deep Learning object detection architectures in ADAS

114 BIBLIOGRAFÍA

[92] T. J. Sejnowski. The Deep Learning Revolution, pages 1–10. MITP, 2018.

[93] Pierre Sermanet, David Eigen, Xiang Zhang, Michaël Mathieu, Robert Fergus, and YannLecun. Overfeat: Integrated recognition, localization and detection using convolutionalnetworks. In International Conference on Learning Representations (ICLR2014), CBLS,April 2014, 2014.

[94] Jahanzaib Shabbir and Tarique Anwer. Artificial intelligence and its role in near future.CoRR, abs/1804.01396, 2018.

[95] Alex Sherstinsky. Fundamentals of recurrent neural network (RNN) and long short-termmemory (LSTM) network. CoRR, abs/1808.03314, 2018.

[96] Abhinav Shrivastava, Abhinav Gupta, and Ross B. Girshick. Training region-based objectdetectors with online hard example mining. CoRR, abs/1604.03540, 2016.

[97] Abhinav Shrivastava, Abhinav Gupta, and Ross B. Girshick. Training region-based objectdetectors with online hard example mining. CoRR, abs/1604.03540, 2016.

[98] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale imagerecognition. In International Conference on Learning Representations, 2015.

[99] Bharat Singh and Larry S. Davis. An analysis of scale invariance in object detection -SNIP. CoRR, abs/1711.08189, 2017.

[100] Bharat Singh, Mahyar Najibi, and Larry S. Davis. SNIPER: efficient multi-scale training.CoRR, abs/1805.09300, 2018.

[101] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E. Reed, DragomirAnguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeperwith convolutions. CoRR, abs/1409.4842, 2014.

[102] Christian Szegedy, Alexander Toshev, and Dumitru Erhan. Deep neural networks forobject detection. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q.Weinberger, editors, Advances in Neural Information Processing Systems 26, pages 2553–2561. Curran Associates, Inc., 2013.

[103] Radu Timofte, Karel Zimmermann, and Luc van Gool. Multi-view traffic sign detec-tion, recognition, and 3d localisation. In Ninth IEEE Computer Society Workshop onApplication of Computer Vision, pages 1–8, Snowbird, Utah, USA, December 2009.

[104] Alexander Toshev and Christian Szegedy. Deeppose: Human pose estimation via deepneural networks. CoRR, abs/1312.4659, 2013.

[105] Sachin Rai Vidushi Sharma and Anurag Dev. A comprehensive study of artificial neuralnetworks. nternational Journal of Advanced Research inComputer Science and SoftwareEngineering, 2:278–294, 2012.

Page 133: Deep Learning object detection architectures in ADAS

BIBLIOGRAFÍA 115

[106] Paul Viola and Michael Jones. Robust real-time object detection. In International Journalof Computer Vision, 2001.

[107] VISICS. Kul belgium traffic sign dataset, 2019. http://www.vision.ee.ethz.ch/~timofter/traffic_signs/.

[108] Xiaolong Wang, Ross B. Girshick, Abhinav Gupta, and Kaiming He. Non-local neuralnetworks. CoRR, abs/1711.07971, 2017.

[109] Xiaoyu Wang, Ming Yang, Shenghuo Zhu, and Yuanqing Lin. Regionlets for generic objectdetection. In Proceedings of the 2013 IEEE International Conference on Computer Vision,ICCV ’13, pages 17–24, Washington, DC, USA, 2013. IEEE Computer Society.

[110] Wikipedia. 2d3 — Wikipedia, the free encyclopedia. http://en.wikipedia.org/w/index.php?title=2d3&oldid=918896894, 2019. [Online; accessed 14-October-2019].

[111] Wikipedia contributors. Connectionism, 2019. https://en.wikipedia.org/wiki/Connectionism.

[112] Saining Xie, Ross B. Girshick, Piotr Dollár, Zhuowen Tu, and Kaiming He. Aggregatedresidual transformations for deep neural networks. CoRR, abs/1611.05431, 2016.

[113] Donggeun Yoo, Sunggyun Park, Joon-Young Lee, Anthony S. Paek, and In-So Kweon.Attentionnet: Aggregating weak directions for accurate object detection. CoRR,abs/1506.07704, 2015.

[114] Fisher Yu, Dequan Wang, and Trevor Darrell. Deep layer aggregation. CoRR,abs/1707.06484, 2017.

[115] Fisher Yu, Wenqi Xian, Yingying Chen, Fangchen Liu, Mike Liao, Vashisht Madhavan,and Trevor Darrell. BDD100K: A diverse driving video database with scalable annotationtooling. CoRR, abs/1805.04687, 2018.

[116] Matthew D. Zeiler and Rob Fergus. Visualizing and understanding convolutional net-works. CoRR, abs/1311.2901, 2013.

[117] Shifeng Zhang, Longyin Wen, Xiao Bian, Zhen Lei, and Stan Z. Li. Single-shot refinementneural network for object detection. CoRR, abs/1711.06897, 2017.

[118] Y. Zhang, Z. Wang, Y. Qi, J. Liu, and J. Yang. Ctsd: A dataset for traffic sign recog-nition in complex real-world images. In 2018 IEEE Visual Communications and ImageProcessing (VCIP), pages 1–4, Dec 2018.

[119] Zhong-Qiu Zhao, Peng Zheng, Shou-tao Xu, and Xindong Wu. Object detection withdeep learning: A review. CoRR, abs/1807.05511, 2018.

[120] Zhe Zhu, Dun Liang, Songhai Zhang, Xiaolei Huang, Baoli Li, Shimin Hu. Tsinghua-tencent 100k: Traffic-sign detection and classification in wild, 2019. https://cg.cs.tsinghua.edu.cn/traffic-sign/.

Page 134: Deep Learning object detection architectures in ADAS

116 BIBLIOGRAFÍA

[121] Xingyi Zhou, Dequan Wang, and Philipp Krähenbühl. Objects as points. CoRR,abs/1904.07850, 2019.

[122] Xingyi Zhou, Dequan Wang, and Philipp Krähenbühl. Objects as points, 2019. https://github.com/xingyizhou/CenterNet.

[123] Xingyi Zhou, Jiacheng Zhuo, and Philipp Krähenbühl. Bottom-up object detection bygrouping extreme and center points. CoRR, abs/1901.08043, 2019.

[124] Larry Zitnick and Piotr Dollar. Edge boxes: Locating object proposals from edges. InECCV, September 2014.