departamento de ciencias computacionales oscar... · a mi familia y amigos: gerardo sánchez,...

185
cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando Redes Neuronales Artificiales y Visión Artificial presentada por Oscar Gerardo Sánchez Siordia Ing. Electrónico por el I. T. de Mérida como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Gerardo Reyes Salgado Co-Director de tesis: Dr. Enrique Cabello Pardos Jurado: Dra. Azucena Montes Rendón Presidente M.C. Matilde Velazco Soni Secretario M.C. Andrea Magadán Salazar Vocal Dr. Gerardo Reyes Salgado Vocal Suplente Cuernavaca, Morelos, México. 31 de agosto de 2009

Upload: others

Post on 09-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando

Redes Neuronales Artificiales y Visión Artificial

presentada por

Oscar Gerardo Sánchez Siordia Ing. Electrónico por el I. T. de Mérida

como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación

Director de tesis: Dr. Gerardo Reyes Salgado

Co-Director de tesis: Dr. Enrique Cabello Pardos

Jurado: Dra. Azucena Montes Rendón – Presidente

M.C. Matilde Velazco Soni – Secretario M.C. Andrea Magadán Salazar – Vocal

Dr. Gerardo Reyes Salgado – Vocal Suplente

Cuernavaca, Morelos, México. 31 de agosto de 2009

Page 2: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 3: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 4: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 5: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 6: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 7: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 8: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 9: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Dedicatorias

A mi esposa y a mi madre… Mi significado de vida y mi eterna maestra...

Page 10: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 11: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agradecimientos

A Dios, por poner en mi camino a todas aquellas personas a las que tengo tanto que agradecer,

A mi esposa y a mi madre que hacen que los caminos difíciles sean mucho más fáciles.

A mis profesores: Dr. Raúl, Dr. José Ruiz, Dr. Gerardo, Dra. Azucena, M.C. Andrea, M.C.

Matilde, Dr. Máximo, Dr. Moisés, Dr. José Ramírez y Dr. Manuel por todo su apoyo, sus enseñanzas y

por mantenerme ocupado estos dos años.

Al grupo FRAV de la URJC: Dr. Enrique Cabello, Dr. Isaac Martín, Dra. Cristina Conde, M.C.

Ángel Serrano Sánchez, M.C. Eduardo Orbe y Raúl Crespo. Al CEIT: Dr. Alfonso Brazález y Dra.

Inmaculada Coma. A la URJC: Dr. Carlos Cuesta y M.C. Felipe Cocón. A RACE: Roberto Pérez, Juan

Sánchez y Jorge Castellanos.

A mis padrinos mágicos: Sergio y Yared, gracias por estar siempre ahí y hacerme ver que

cada favor debe hacerse como si fuera el primero.

A FRIA: Lázaro, Cynthya, María Luisa, Daniel e Isabel, mis compañeros de IA: Alex, Jorge,

Truckos y Miguel Ángel, mis compañeros de generación: Julio, Israel, Rubi, Oscar, Yaneth, Luis,

Paco, Itzel, Maby, José Luis y Miriam gracias a todos por ser más amigos que compañeros.

A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik

López, Frida Camarillo, Mario Chirinos, Carlos Blanco, Estefanía Flores, Edgar Sansores, Josué

Aguilar, Víctor López, Carlos Sánchez y Gabriela Sánchez.

Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico otorgado

para realizar mis estudios de posgrado y una estancia de investigación en España como parte del

desarrollo de este proyecto.

Al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por permitirme dar

un paso más en mi crecimiento académico: Guadalupe Garrido, David Luviano, Olivia Maquinay,

Alfredo Terrazas, Mario Moreno, Silvia Ortiz, Mónica Pichardo, Lorena Ruiz y Ana Pérez.

Dios los bendiga a todos…

Page 12: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 13: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 14: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 15: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Resumen

El campo de aplicación de las investigaciones realizadas, desde hace más de 50 años, en el área

de la Inteligencia Artificial (IA), avanza proporcionalmente a la comprobación de la efectividad de

sus resultados. Hoy en día, es posible encontrar aplicaciones de dicha área en la solución de

cientos de problemas de la vida cotidiana.

Tal es el caso de la seguridad vial, en donde diversos sistemas inteligentes de transporte

(SITs), diseñados para asistir al conductor, son ya incluidos por ciertos fabricantes en vehículos

comerciales. Dichos sistemas, como aquellos de asistencia y distribución de frenado, empiezan a

ser ya una norma obligatoria en la fabricación de automóviles en países, principalmente europeos,

que, preocupados por este tema, invierten miles de euros al año en proyectos para la generación

de vehículos más seguros para los conductores.

El proyecto Cabina Inteligente para el Transporte por Carretera (CABINTEC), financiado

por el Ministerio de Ciencia e Innovación (MEC) de España, tiene como objetivo el diseño de una

cabina que, dotada de SITs, proporcione una mayor seguridad a los usuarios; sin embargo, la

aplicación de estos dispositivos, requieren de una interacción constante con el conductor para su

correcto funcionamiento, por lo que dependen de otros sistemas que se encarguen de la detección

automática de su comportamiento.

En este proyecto se propone, como una aproximación al modelado del comportamiento de

conductores de camiones de transporte y/o carga, la utilización de un clasificador de

comportamiento que, basado en Redes Neuronales Artificiales (RNAs), es alimentado con datos

provenientes de ejercicios de conducción realizados en la cabina de simulación del proyecto

CABINTEC, y es apoyado con un sistema de Visión Artificial (VA) que le proporciona información

de la posición de las manos del conductor durante las sesiones simuladas.

El resultado principal de este trabajo de investigación, es el desarrollo de un sistema de

adquisición y representación del conocimiento que permite, por medio de las RNAs entrenadas con

información adquirida de expertos en seguridad vial, la clasificación automática del comportamiento

de conductores mediante la reproducción visual de ejercicios monitoreados en la cabina de

simulación.

Page 16: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 17: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Abstract

Since 50 years the application field of Artificial Intelligence, have grown proportionately to the

effectiveness of its results. Today, it is possible to find AI applications solving of hundreds of

everyday life problems.

Such is the case of road safety, where some Intelligent Transportation Systems (ITS)

designed to assist drivers, are already included in commercial vehicles by some manufacturers.

These systems, like those of breaking distribution and assistance, are becoming a mandatory

standard in the automotive manufacturing industry mainly in European countries. They are concern

about this issue and invests thousands of Euros per year on projects for the development of safer

vehicles for drivers.

The project funded by the Ministry of Science and Innovation (MEC) of Spain, called

Intelligent cabin for road transport (CABINTEC), aims to design a cabin able to offer greater security

to users trough the application of SITs. However, the application of these devices requires constant

interaction with the driver to work properly. Therefore, these SITs depend on other systems that are

responsible for the automatic detection of the driver's behavior.

This project is proposed as an approach for the modeling of the truck drivers’ behavior

trough the application of an Artificial Neuronal Network (ANN) based behavior classifier. This

classifier is feed with data from exercises made in the cab driving simulator of the CABINTEC

project and is supported with a Computer Vision system (CV) that provides information about the

driver's hands position during the simulated sessions.

The main result of this research is the development of a system for knowledge acquisition

and representation which allows the automatic classification of the driver's behavior by the

application of ANN to the data acquired in the monitoring of several exercises made at the simulator

cockpit.

Page 18: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 19: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 20: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,
Page 21: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

i

Contenido

LISTA DE FIGURAS ........................................................................................................................................ V

LISTA DE TABLAS ......................................................................................................................................... IX

LISTA DE ACRÓNIMOS ................................................................................................................................. XI

INTRODUCCIÓN ........................................................................................................................................... 1

ANTECEDENTES ................................................................................................................................................... 2

PLANTEAMIENTO DEL PROBLEMA ............................................................................................................................ 3

OBJETIVO ........................................................................................................................................................... 4

MÉTODO DE SOLUCIÓN ......................................................................................................................................... 4

ALCANCES Y LIMITACIONES .................................................................................................................................... 5

Alcances ...................................................................................................................................................... 5

Limitaciones ................................................................................................................................................ 5

BENEFICIOS ........................................................................................................................................................ 5

CAPÍTULO 1 ESTADO DEL ARTE ............................................................................................................. 7

1.1 COMPORTAMIENTO DE CONDUCCIÓN .......................................................................................................... 7

1.2 MÉTODOS NO BASADOS EN VISIÓN POR COMPUTADORA .................................................................................. 8

1.3 MÉTODOS BASADOS EN VISIÓN POR COMPUTADORA ....................................................................................... 9

1.3.1. Detección de la posición de la cara ............................................................................................. 9

1.3.2. Detección de la dirección de la mirada ..................................................................................... 10

1.3.3. Detección de la posición corporal ............................................................................................. 10

1.3.4. Detecciones mixtas ................................................................................................................... 11

1.4 CONCLUSIONES ..................................................................................................................................... 11

CAPÍTULO 2 MARCO TEÓRICO ............................................................................................................. 13

2.1 CIENCIAS COGNITIVAS ............................................................................................................................. 13

2.2 INTELIGENCIA ARTIFICIAL ......................................................................................................................... 14

2.2.1. Visión artificial y procesamiento digital de imágenes .............................................................. 14

2.2.2. Sistemas expertos ..................................................................................................................... 32

2.2.3. Adquisición de conocimiento .................................................................................................... 32

2.2.4. Aprendizaje automático ........................................................................................................... 33

2.2.5. Minería de datos ....................................................................................................................... 33

2.3 REDES NEURONALES ARTIFICIALES ............................................................................................................. 35

2.3.1. La neurona artificial .................................................................................................................. 35

2.3.2. Entrenamiento y reconocimiento............................................................................................. 36

2.3.3. El perceptrón ............................................................................................................................. 36

2.3.4. El perceptrón multicapa ............................................................................................................ 37

2.3.5. Retropropagación de error (backpropagation) ........................................................................ 41

2.3.6. El perceptrón multicapa recurrente .......................................................................................... 44

Page 22: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

ii

CAPÍTULO 3 METODOLOGÍA DE SOLUCIÓN ......................................................................................... 45

3.1 ADQUISICIÓN DE DATOS Y CONOCIMIENTO .................................................................................................. 46

3.1.1. Simulador de conducción .......................................................................................................... 46

3.2 CLASIFICACIÓN DEL COMPORTAMIENTO...................................................................................................... 47

3.2.1. Entrenamientos del sistema ..................................................................................................... 48

3.2.2. Pruebas del sistema .................................................................................................................. 48

CAPÍTULO 4 DESARROLLO ................................................................................................................... 49

4.1 RECOPILACIÓN DE INFORMACIÓN .............................................................................................................. 50

4.1.1. Sistema de captura de imágenes .............................................................................................. 50

4.1.2. Ejercicios de conducción en simulador...................................................................................... 57

4.1.3. Sistema de adquisición de conocimiento .................................................................................. 63

4.1.4. Adquisición de conocimiento de expertos en seguridad vial .................................................... 72

4.2 DETECCIÓN DE LA POSICIÓN DE LAS MANOS DEL CONDUCTOR CON VA .............................................................. 79

4.2.1. Limitaciones del sistema de visión artificial .............................................................................. 79

4.2.2. Detección automática del volante ............................................................................................ 81

4.2.3. Detección manual del volante .................................................................................................. 83

4.2.4. Detección de las manos del conductor ..................................................................................... 84

4.2.1. Etiquetado de las manos del conductor detectadas ................................................................. 88

4.2.2. Pruebas del sistema de visión artificial ..................................................................................... 90

4.3 PREPROCESAMIENTO Y ANÁLISIS DE DATOS ................................................................................................. 91

4.3.1. Selección de variables de registros de simulación .................................................................... 91

4.3.1. Generación de bases de datos finales ....................................................................................... 96

4.3.2. Aproximación para la generación de conocimiento simbólico ................................................. 99

4.3.3. Generación de reglas de comportamiento con minería de datos ........................................... 102

4.4 CLASIFICACIÓN DEL COMPORTAMIENTO USANDO RNAS .............................................................................. 108

4.4.1. Implementación de una neurona artificial.............................................................................. 108

4.4.2. Implementación de una RNA .................................................................................................. 111

4.4.3. Entrenamiento de las RNAs usadas para clasificación ........................................................... 119

CAPÍTULO 5 PRUEBAS Y RESULTADOS ............................................................................................... 125

5.1 DESCRIPCIÓN DE LAS PRUEBAS REALIZADAS ............................................................................................... 125

5.2 PRUEBAS DE LA CLASIFICACIÓN DEL COMPORTAMIENTO CON RNAS ............................................................... 126

5.3 PRUEBAS DE COHERENCIA EN LA PERCEPCIÓN DEL NIVEL DE RIESGO ................................................................ 129

5.4 COMPARACIÓN DE CLASIFICACIÓN POR RNAS Y DM ................................................................................... 131

5.5 PRUEBAS DE COMPROBACIÓN FINAL CON RNAS ........................................................................................ 132

5.5.1. Ejercicio 1 – Urbano ................................................................................................................ 133

5.5.2. Ejercicio 2 – Montaña ............................................................................................................. 134

5.5.3. Ejercicio 3 - Inter Urbano ........................................................................................................ 135

5.5.4. Ejercicio 4 - Circuito Continuo ................................................................................................. 136

CONCLUSIONES ........................................................................................................................................ 137

APORTACIONES ............................................................................................................................................... 139

TRABAJOS FUTUROS ......................................................................................................................................... 139

Page 23: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

iii

REFERENCIAS BIBLIOGRÁFICAS ................................................................................................................ 141

REFERENCIAS EN LÍNEA ............................................................................................................................ 147

ANEXO A ENCUESTAS REALIZADAS A LOS EXPERTOS EN SEGURIDAD VIAL DESPUÉS DEL USO DE LA

HERRAMIENTA COPILOTO VIRTUAL EN LOS EXPERIMENTOS DE ADQUISICIÓN DEL CONOCIMIENTO ....... 149

Page 24: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

iv

Page 25: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

v

Lista de figuras

FIGURA 2.1 DIAGRAMA DE BLOQUES DE UN SISTEMA DE VA CLÁSICO .............................................................................. 15

FIGURA 2.2 DIAGRAMA DE BLOQUES DEL PDI ............................................................................................................. 15

FIGURA 2.3 REPRESENTACIÓN DE COLOR EN EL MODELO RGB PARA UNA IMAGEN DE 24 BITS .............................................. 16

FIGURA 2.4 FUNCIONES DE PROCESAMIENTO INDIVIDUAL Y DE VECINDAD ......................................................................... 17

FIGURA 2.5 CONVERSIÓN DE COLOR RGB A ESCALA DE GRISES MEDIANTE PDI .................................................................. 18

FIGURA 2.6 HISTOGRAMA DE UNA IMAGEN DIGITAL EN ESCALA DE GRISES ........................................................................ 19

FIGURA 2.7 BINARIZACIÓN DE UNA IMAGEN EN ESCALA DE GRISES MEDIANTE PDI .............................................................. 19

FIGURA 2.8 OPERACIÓN NOT DE UNA IMAGEN BINARIZADA .......................................................................................... 20

FIGURA 2.9 OPERACIÓN AND DE UNA IMAGEN RGB A COLOR Y UNA IMAGEN BINARIZADA ................................................. 21

FIGURA 2.10 EXTRACCIÓN DE FONDO DE UNA IMAGEN RGB A COLOR MEDIANTE PDI ........................................................ 21

FIGURA 2.11 SUMA DE UNA IMAGEN RGB A COLOR Y UNA IMAGEN CONSTANTE ............................................................... 22

FIGURA 2.12 RESTA DE DOS IMÁGENES RGB A COLOR. ................................................................................................. 22

FIGURA 2.13 RESULTADO DE SUMA DE IMÁGENES CON PDI CON Y SIN ACOTAMIENTO ........................................................ 23

FIGURA 2.14 BINARIZACIÓN DE UNA IMAGEN EN ESCALA DE GRISES MEDIANTE PDI CON VARIAS REGIONES ............................. 24

FIGURA 2.15 ETIQUETADO DE REGIONES CONEXAS A UNA IMAGEN BINARIZADA ................................................................. 25

FIGURA 2.16 DETECCIÓN DE BORDES A UNA IMAGEN BINARIZADA ................................................................................... 25

FIGURA 2.17 DETECCIÓN DE BORDES EMPLEANDO OPERADORES DE DERIVACIÓN ............................................................... 26

FIGURA 2.18 EJEMPLOS DE OPERADORES DE DERIVACIÓN A) PREWITT, B) SOBEL, C) FREI-CHEN Y D) LAPLACIANO ................... 27

FIGURA 2.19 CONVERSIÓN DE A) UNA MÁSCARA Y B) UNA REGIÓN DE VECINDAD A UN VECTOR UNIDIMENSIONAL .................... 27

FIGURA 2.20 IMÁGENES DEL GRADIENTE DE UNA IMAGEN DIGITAL A) EN X, B) EN Y, C) MAGNITUD Y D) DIRECCIÓN .................. 28

FIGURA 2.21 RESULTADOS DE DETECCIÓN DE BORDES CON A) SOBEL, B) PREWITT, C) FREI-CHEN Y D) CANNY ......................... 29

FIGURA 2.22 PLANTEAMIENTO DE CUATRO CÍRCULOS CON DIFERENTES CENTROS Y RADIOS EN UN PÍXEL ................................. 30

FIGURA 2.23 DIAGRAMA DE BLOQUES DE KDD ........................................................................................................... 34

FIGURA 2.24 DIAGRAMA DE UNA NEURONA ARTIFICIAL ................................................................................................ 35

FIGURA 2.25 DIAGRAMA DE PROCESAMIENTO DE UNA NEURONA ARTIFICIAL ..................................................................... 36

FIGURA 2.26 GRÁFICA DE LA FUNCIÓN ESCALÓN ......................................................................................................... 37

FIGURA 2.27 DIAGRAMA DE UNA RNA MULTICAPA ..................................................................................................... 37

FIGURA 2.28 DIAGRAMA DE UN PERCEPTRÓN MULTICAPA CON UNA CAPA OCULTA ............................................................. 40

FIGURA 2.29 GRÁFICA DE LA FUNCIÓN BINARIA SIGMOIDE ............................................................................................. 41

FIGURA 2.30 DIAGRAMA DE UN PERCEPTRÓN MULTICAPA RECURRENTE CON UNA CAPA OCULTA ........................................... 44

FIGURA 3.1 DIAGRAMA DE BLOQUES DE LA METODOLOGÍA DE SOLUCIÓN PLANTEADA PARA EL PROYECTO ............................... 45

FIGURA 4.1 ESQUEMA DE RELACIÓN ENTRE LA METODOLOGÍA PROPUESTA Y EL DESARROLLO REALIZADO ................................ 49

FIGURA 4.2 SENSOR DIGITAL DE IMÁGENES MICRON® MT9P031 ................................................................................... 51

FIGURA 4.3 REPRESENTACIÓN Y FUNCIONAMIENTO DE LA MÁSCARA BAYER ...................................................................... 52

FIGURA 4.4 A) CENTRO DE CONTROL Y B) MÓDULOS DE GENERACIÓN DEL SIMULADOR DEL PROYECTO CABINTEC .................. 54

FIGURA 4.5 FORMULARIO DE CONFIGURACIÓN DE FORMATO PARA CAPTURA DE IMÁGENES.................................................. 55

FIGURA 4.6 RESULTADOS DE UTILIZACIÓN DE FILTROS INFRARROJOS EN LA CAPTURA DE IMÁGENES ........................................ 55

FIGURA 4.7 FORMULARIO PRINCIPAL DEL SISTEMA DE CAPTURA DE IMÁGENES ................................................................... 56

FIGURA 4.8 CABINA DE SIMULACIÓN DEL SIMULADOR DEL PROYECTO CABINTEC .............................................................. 57

Page 26: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

vi

FIGURA 4.9 PLANOS DE UBICACIÓN DE CABINA DE SIMULACIÓN, PANTALLAS DE PROYECCIÓN Y VÍDEO PROYECTORES ................. 58

FIGURA 4.10 MUESTRA DE IMÁGENES DE SENSOR EN UN EJERCICIO DE SIMULACIÓN ........................................................... 58

FIGURA 4.11 MUESTRA DE UN CUADRO DE VIDEOS DEL VISUAL EN UN EJERCICIO DE SIMULACIÓN .......................................... 59

FIGURA 4.12 UBICACIÓN DE SENSOR DE IMÁGENES E ILUMINADORES INFRARROJOS EN LA CABINA DE SIMULACIÓN ................... 60

FIGURA 4.13 MATÍAS SEVILLANO VECILLAS EJECUTANDO EJERCICIOS DE SIMULACIÓN EN LA CABINA DEL CABINTEC ................ 61

FIGURA 4.14 FORMULARIO PRINCIPAL DE LA HERRAMIENTA COPILOTO VIRTUAL ............................................................... 63

FIGURA 4.15 MENÚS Y SUB-MENÚS DE LA HERRAMIENTA COPILOTO VIRTUAL .................................................................. 64

FIGURA 4.16 ESTRUCTURA DE DIRECTORIOS PARA LA APERTURA DE SESIONES DE SIMULACIÓN CON COPILOTO VIRTUAL ............ 65

FIGURA 4.17 CONTROLES DE REPRODUCCIÓN DE SIMULACIÓN DEL FORMULARIO PRINCIPAL DE LA HERRAMIENTA ..................... 65

FIGURA 4.18 INFORMACIÓN DE SIMULACIÓN DEL FORMULARIO PRINCIPAL DEL COPILOTO VIRTUAL ....................................... 66

FIGURA 4.19 MAPAS DE LUZ UTILIZADOS PARA LA REPRESENTACIÓN DE LAS LUCES DEL VEHÍCULO ......................................... 66

FIGURA 4.20 INFORMACIÓN DE VALORACIÓN DE EXPERTO DEL FORMULARIO PRINCIPAL DEL COPILOTO VIRTUAL ...................... 67

FIGURA 4.21 INFORMACIÓN DE VALORACIÓN DE EXPERTO DEL FORMULARIO PRINCIPAL DEL COPILOTO VIRTUAL ...................... 67

FIGURA 4.22 MODOS DE REPRESENTACIÓN POR MEDIO DEL CONTROL TACÓMETRO ........................................................... 68

FIGURA 4.23 FORMULARIO DINÁMICO PARA LA INSPECCIÓN DE VARIABLES ....................................................................... 68

FIGURA 4.24 UTILIZACIÓN DE BIBLIOTECAS DEL SISTEMA COPILOTO VIRTUAL .................................................................... 69

FIGURA 4.25 COPILOTO VIRTUAL EN FUNCIONAMIENTO CON INSPECCIÓN DE TRES VARIABLES .............................................. 69

FIGURA 4.26 VISTA DE DATOS EN EL FORMULARIO PRINCIPAL DEL COPILOTO VIRTUAL ........................................................ 70

FIGURA 4.27 MENÚ VALORACIÓN EXPERTO PARA EL MANEJO DEL CONOCIMIENTO ADQUIRIDO ............................................. 71

FIGURA 4.28 IMAGEN DE LA REALIZACIÓN DE LA ADQUISICIÓN DE CONOCIMIENTO EN LAS INSTALACIONES DE RACE ................. 72

FIGURA 4.29 DISTRIBUCIÓN DE EXPERTOS EN SEGURIDAD VIAL EN LA EJECUCIÓN DE EXPERIMENTOS DE VALORACIÓN ................ 73

FIGURA 4.30 GRÁFICA DE LOS NIVELES DE VALORACIÓN DE SEGURIDAD DE LOS TRES EXPERTOS EN EL EJERCICIO 1 ..................... 75

FIGURA 4.31 GRÁFICA DE LOS NIVELES DE VALORACIÓN DE SEGURIDAD DE LOS TRES EXPERTOS EN EL EJERCICIO 2 ..................... 76

FIGURA 4.32 GRÁFICA DE LOS NIVELES DE VALORACIÓN DE SEGURIDAD DE LOS TRES EXPERTOS EN EL EJERCICIO 3 ..................... 76

FIGURA 4.33 GRÁFICA DE LOS NIVELES DE VALORACIÓN DE SEGURIDAD DE LOS TRES EXPERTOS EN EL EJERCICIO 4 ..................... 77

FIGURA 4.34 GRÁFICA DE LOS NIVELES DE VALORACIÓN DE SEGURIDAD SUAVIZADOS .......................................................... 78

FIGURA 4.35 MUESTRA DE IMÁGENES CON PROBLEMAS EN LA PRECEPCIÓN DE PROFUNDIDAD DE SUS ELEMENTOS ................... 79

FIGURA 4.36 MUESTRA DE IMÁGENES CON ERRORES DE DETECCIÓN POR PARTE DEL SISTEMA DE VA ..................................... 80

FIGURA 4.37 PDI PARA LA DETECCIÓN AUTOMÁTICA DEL VOLANTE EN IMÁGENES DEL SENSOR.............................................. 81

FIGURA 4.38 RESULTADOS DE LA DETECCIÓN AUTOMÁTICA EN EL VOLANTE EN TRES DISTINTAS SITUACIONES ........................... 82

FIGURA 4.39 FORMULARIO PRINCIPAL DE LA HERRAMIENTA DE SELECCIÓN MANUAL DE REGIONES DE BÚSQUEDA ..................... 83

FIGURA 4.40 ENMASCARAMIENTO DE IMÁGENES CON LA ZONA DEL VOLANTE POR MEDIO DE OPERACIÓN AND ....................... 84

FIGURA 4.41 BINARIZACIÓN DE IMÁGENES ENMASCARADAS CON LA ZONA DEL VOLANTE POR MEDIO DE OTSU ........................ 84

FIGURA 4.42 RESULTADO DE DETECCIÓN DESPUÉS DE LA PRIMERA ETAPA DEL SISTEMA DE VA .............................................. 85

FIGURA 4.43 DETECCIÓN DE MÁS DE DOS REGIONES DESPUÉS DE LA PRIMERA ETAPA DEL SISTEMA DE VA ............................... 85

FIGURA 4.44 REDUCCIÓN DE REGIONES POR FILTRO DE DISTANCIA EN LA SEGUNDA ETAPA DEL SISTEMA DE VA ........................ 86

FIGURA 4.45 PDI PARA EL FILTRO DE REGIONES CONEXAS EN LA TERCERA ETAPA DEL SISTEMA DE VA .................................... 87

FIGURA 4.46 REDUCCIÓN DE REGIONES EN FILTRO DE REGIONES CONEXAS EN LA TERCERA ETAPA DEL SISTEMA DE VA ............... 87

FIGURA 4.47 RESULTADO DEL ETIQUETADO DE LAS MANOS DEL CONDUCTOR DETECTADAS AUTOMÁTICAMENTE ...................... 88

FIGURA 4.48 EJEMPLOS DE RESULTADOS DE LA DETECCIÓN AUTOMÁTICA DE LAS MANOS POR MEDIO DE VA .......................... 89

FIGURA 4.49 SISTEMA IMPLEMENTADO EN MICROSOFT® ACCESS® PARA LA GENERACIÓN DE BD FINALES ............................... 97

FIGURA 4.50 PANTALLA PRINCIPAL DE LA HERRAMIENTA DE DM RAPIDMINER DE LA EMPRESA RAPID-I ............................... 102

FIGURA 4.51 DIAGRAMA DE LA NEURONA ARTIFICIAL IMPLEMENTADA EN LA CLASE C_NEURON ......................................... 108

FIGURA 4.52 DIAGRAMA DE LA RNA IMPLEMENTADA EN LA CLASE C_MLPERCEPTRON ................................................... 111

Page 27: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

vii

FIGURA 4.53 PARÁMETROS DE CONFIGURACIÓN DE UNA RNA DE LA CLASE C_MLPERCEPTRON ........................................ 112

FIGURA 4.54 DIAGRAMA DEL ARREGLO INTERNO DE NEURONAS DE UNA RNA DE LA CLASE C_MLPERCEPTRON .................... 114

FIGURA 4.55 ACCESO A NEURONAS MEDIANTE LA FUNCIÓN NEURON ........................................................................... 115

FIGURA 4.56 DIAGRAMA DE CONEXIÓN ENTRE LA MATRIZ DE APRENDIZAJE Y EL ARREGLO DE NEURONAS DE LA RNA .............. 116

FIGURA 4.57 DIAGRAMA DE CONEXIÓN ENTRE VECTORES (ENTRADA/SALIDA) Y EL ARREGLO DE NEURONAS DE LA RNA ........... 118

FIGURA 4.58 DIAGRAMA DE CONEXIÓN DE LA RNA CON EL SELECTOR IMPLEMENTADO EN LA FUNCIÓN WTALLINEX .............. 118

FIGURA 4.59 GRÁFICA COMPARATIVA DEL TIEMPO DE PROCESAMIENTO POR ÉPOCA ENTRE DIVERSAS HERRAMIENTAS ............ 119

FIGURA 4.60 GRÁFICA DE TIEMPO DE PROCESAMIENTO POR ÉPOCA DEL SIMULADOR IMPLEMENTADO .................................. 119

FIGURA 4.61 GRÁFICA DE TIEMPO DE PROCESAMIENTO POR ÉPOCA DE RNAS CON DIFERENTES NEURONAS OCULTAS .............. 120

FIGURA 4.62 GRÁFICA COMPARATIVA DE REDUCCIÓN DE ERROR PARA RNAS CON DIFERENTES NEURONAS OCULTAS ............... 120

FIGURA 5.1 FORMULARIO DE INFORMACIÓN VISUAL DE LA CLASIFICACIÓN DEL COMPORTAMIENTO CON RNAS ...................... 132

Page 28: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

viii

Page 29: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

ix

Lista de tablas

TABLA 2.1 RESULTADO DE MATRIZ DE VOTACIÓN DE GHT PARA CUATRO CÍRCULOS PLANTEADOS. ......................................... 31

TABLA 2.2 NOMENCLATURA UTILIZADA EN EL ESTUDIO DEL ALGORITMO BP ...................................................................... 39

TABLA 4.1 ESTRUCTURA ESTÁNDAR PARA NOMBRES DE ARCHIVOS DE IMÁGENES CAPTURADA ............................................... 53

TABLA 4.2 PARÁMETROS DE CONEXIÓN CON SERVIDOR DE SIMULADOR ............................................................................ 54

TABLA 4.3 RESUMEN DE LOS CUATRO EJERCICIOS CAPTURADOS EN LA CABINA DE SIMULACIÓN DEL CABINTEC ....................... 61

TABLA 4.4 EJEMPLO DE ENCABEZADO DE ARCHIVOS DE REGISTROS DE SIMULACIÓN ............................................................ 62

TABLA 4.5 VARIABLES CONTENIDAS EN LOS ARCHIVOS DE INFORMACIÓN GENERADOS POR EL SIMULADOR ............................... 62

TABLA 4.6 EJEMPLO DE FINALIZACIÓN DE LOS ARCHIVOS DE REGISTROS DE SIMULACIÓN ...................................................... 63

TABLA 4.7 PERIODOS DE VALORACIÓN DE SEGURIDAD POR EJERCICIO PARA LA ADQUISICIÓN DEL CONOCIMIENTO ..................... 72

TABLA 4.8 TURNOS ALEATORIOS DE EVALUACIÓN DE EXPERIMENTOS POR EXPERTO ............................................................ 73

TABLA 4.9 RANGOS DE CUANTIFICACIÓN DE NIVEL DE RIESGO PARA LAS CINCO CLASES DE COMPORTAMIENTO ......................... 74

TABLA 4.10 MUESTRAS POR CLASE DE COMPORTAMIENTO DE CONDUCCIÓN POR EJERCICIO DEL EXPERTO 1 ............................ 74

TABLA 4.11 MUESTRAS POR CLASE DE COMPORTAMIENTO DE CONDUCCIÓN POR EJERCICIO DEL EXPERTO 2 ............................ 74

TABLA 4.12 MUESTRAS POR CLASE DE COMPORTAMIENTO DE CONDUCCIÓN POR EJERCICIO DEL EXPERTO 3 ............................ 74

TABLA 4.13 PARÁMETROS ALMACENADOS POR LA HERRAMIENTA DE SELECCIÓN MANUAL DE REGIONES ................................. 83

TABLA 4.14 RESULTADOS DEL SISTEMA DE VA CONSIDERANDO ERRÓNEAS LAS SITUACIONES LIMITANTES ................................ 90

TABLA 4.15 RESULTADOS DEL SISTEMA DE VA CONSIDERANDO CORRECTAS LAS SITUACIONES LIMITANTES.............................. 90

TABLA 4.16 RESULTADO DE SELECCIÓN DE VARIABLES CON EL ALGORITMO RELIEFF PARA EJERCICIO 1 - EXPERTO 1 .................. 91

TABLA 4.17 RELACIÓN DE SELECCIÓN DE VARIABLES ENTRE RELIEFF Y CFS PARA EJERCICIO 1 - EXPERTO 1 .............................. 92

TABLA 4.18 RESULTADO DE SELECCIÓN DE VARIABLES CON RELIEFF PARA EJERCICIO 1 - EXPERTO 1 ...................................... 93

TABLA 4.19 RESULTADO DE SELECCIÓN DE VARIABLES CON RELIEFF PARA EJERCICIO 1 - EXPERTOS 1, 2 Y 3 ............................ 93

TABLA 4.20 RESULTADO DE SELECCIÓN DE VARIABLES CON RELIEFF PARA EJERCICIOS 1, 2, 3 Y 4 - EXPERTO 1 ......................... 94

TABLA 4.21 COMPARACIÓN DE VARIABLES DISCRIMINADAS EN EXPERIMENTOS DE SELECCIÓN DE VARIABLES ............................ 94

TABLA 4.22 VARIABLES SELECCIONADAS PARA LA ALIMENTACIÓN DEL SISTEMA CLASIFICADOR .............................................. 95

TABLA 4.23 VARIABLES NO SELECCIONADAS PARA LA ALIMENTACIÓN DEL SISTEMA CLASIFICADOR ......................................... 96

TABLA 4.24 DIVISIÓN DE DATOS DE PRUEBA Y DE ENTRENAMIENTO POR CLASE PARA VALORACIONES DE EXPERTO 1 ................. 98

TABLA 4.25 DIVISIÓN DE DATOS DE PRUEBA Y DE ENTRENAMIENTO POR CLASE PARA VALORACIONES DE EXPERTO 2 ................. 98

TABLA 4.26 DIVISIÓN DE DATOS DE PRUEBA Y DE ENTRENAMIENTO POR CLASE PARA VALORACIONES DE EXPERTO 3 ................. 98

TABLA 4.27 RECOMENDACIONES AL CONDUCTOR DEL ESTADO DE NUEVA YORK ................................................................ 99

TABLA 4.28 RECOMENDACIONES AL CONDUCTOR DEL CONAE, MÉXICO ....................................................................... 100

TABLA 4.29 RECOMENDACIONES AL CONDUCTOR DE LA UNIVERSIDAD POLITÉCNICA DE MADRID ........................................ 100

TABLA 4.30 EFECTIVIDAD DE CLASIFICACIÓN DEL COMPORTAMIENTO CON REGLAS GENERADAS CON RIPPER ........................ 103

TABLA 4.31 EFECTIVIDAD DE CLASIFICACIÓN DEL COMPORTAMIENTO CON REGLAS GENERADAS CON CART ........................... 103

TABLA 4.32 RESUMEN DE RESULTADOS DE ENTRENAMIENTO DE LAS RNAS CLASIFICADORAS PARA EL EJERCICIO 1 .................. 122

TABLA 4.33 RESUMEN DE RESULTADOS DE ENTRENAMIENTO DE LAS RNAS CLASIFICADORAS PARA EL EJERCICIO 2 .................. 122

TABLA 4.34 RESUMEN DE RESULTADOS DE ENTRENAMIENTO DE LAS RNAS CLASIFICADORAS PARA EL EJERCICIO 3 .................. 122

TABLA 4.35 RESUMEN DE RESULTADOS DE ENTRENAMIENTO DE LAS RNAS CLASIFICADORAS PARA EL EJERCICIO 4 .................. 122

TABLA 4.36 CARACTERÍSTICAS DE LAS COMPUTADORAS UTILIZADAS EN EL ENTRENAMIENTO DE LAS RNAS ............................ 123

TABLA 5.1 RESULTADOS DE LA CLASIFICACIÓN DEL COMPORTAMIENTO UTILIZANDO DATOS DE PRUEBA DEL EJERCICIO 1 .......... 126

Page 30: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

x

TABLA 5.2 RESULTADOS DE LA CLASIFICACIÓN DEL COMPORTAMIENTO UTILIZANDO DATOS DE PRUEBA DEL EJERCICIO 2 .......... 127

TABLA 5.3 RESULTADOS DE LA CLASIFICACIÓN DEL COMPORTAMIENTO UTILIZANDO DATOS DE PRUEBA DEL EJERCICIO 3 .......... 127

TABLA 5.4 RESULTADOS DE LA CLASIFICACIÓN DEL COMPORTAMIENTO UTILIZANDO DATOS DE PRUEBA DEL EJERCICIO 4 .......... 128

TABLA 5.5 COMPARACIÓN DE PORCENTAJE DE EFECTIVIDAD DE LAS RNAS EN DATOS DE PRUEBA Y ENTRENAMIENTO .............. 128

TABLA 5.6 RESULTADOS DE LAS PRUEBAS DE COHERENCIA EN LA PERCEPCIÓN DEL NIVEL DE RIESGO DEL EXPERTO 1 ................ 129

TABLA 5.7 RESULTADOS DE LAS PRUEBAS DE COHERENCIA EN LA PERCEPCIÓN DEL NIVEL DE RIESGO DEL EXPERTO 2 ................ 129

TABLA 5.8 RESULTADOS DE LAS PRUEBAS DE COHERENCIA EN LA PERCEPCIÓN DEL NIVEL DE RIESGO DEL EXPERTO 3 ................ 130

TABLA 5.9 COMPARACIÓN DE EFECTIVIDAD DE CLASIFICACIÓN DEL COMPORTAMIENTO CON RNAS Y DM ............................. 131

TABLA 5.10 RANGOS DE CUANTIFICACIÓN DE NIVEL DE RIESGO PARA LAS CINCO CLASES DE COMPORTAMIENTO ..................... 132

Page 31: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

xi

Lista de acrónimos

BB6 Borland Builder Versión 6

BD Base de datos

BDs Bases de datos

BP Backpropagation (Retropropagación).

CABINTEC Cabina Inteligente para el Transporte por Carretera.

CEIT Centro de Estudios e Investigaciones Técnicas de Gipuzkoa

CENIDET Centro Nacional de Investigación y Desarrollo Tecnológico.

CONACYT Consejo Nacional de Ciencia y Tecnología

DM Data Mining (Minería de datos)

FF Feed Forward (Alimentación hacia adelante).

FPGA Field Programmable Gate Arrays (Arreglos de compuertas programables de campo)

FRAV Face Recognition & Artificial Vision Group (Grupo de reconocimiento de rostros y VA) de la URJC.

GHT Generalized Hough Transform (Transformada de Hough generalizada)

HT Hough Transform (Transformada de Hough)

IA Inteligencia Artificial.

IC Ingeniero del Conocimiento

ISO International Standard Organization (Organización Internacional de Estándares).

IVIS In-Vehicle Advanced Information Systems (Sistemas avanzados de información en el vehículo).

KDD Knowledge Discovery in Databases (Descubrimiento de conocimiento en bases de datos)

KNN K- Nearest Neighbor (K Vecino más cercano)

MCA Multiple Classification Analysis (Análisis de clasificación múltiple)

ML Machine Learning (Aprendizaje Automático)

PDI Procesamiento Digital de Imágenes.

RACE Real Automóvil Club de España

RFID Radio Frequency IDentification (Identificación por radiofrecuencia).

RNA Red Neuronal Artificial.

RNAs Redes Neuronales Artificiales.

SIT Sistemas Inteligentes de Transporte.

SITs Sistemas Inteligentes de Transporte.

SO Sistema Operativo

URJC Universidad Rey Juan Carlos (Madrid, España).

VA Visión Artificial.

Page 32: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

xii

Page 33: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 1

Introducción

La creciente preocupación a nivel mundial por el tema de la seguridad vial en carreteras, ha llevado

a diversos grupos y comunidades a realizar investigaciones para la creación de sistemas que

ayuden en la reducción de riesgos y accidentes mediante la aplicación de técnicas de Inteligencia

Artificial (IA) [Malik, 2008].

Uno de los métodos más efectivos para el cumplimiento de este objetivo es el desarrollo de

vehículos más seguros mediante la implementación de dispositivos de ayuda como: navegadores,

bolsas de aire inteligentes, sistemas de prevención de cambio involuntario de carril, asistentes de

frenado, etc. Dichos sistemas, diseñados a partir de factores detectados como causas principales

de accidentes viales, son incorporados año con año a vehículos comerciales con la finalidad de

brindar mayor seguridad a conductores y pasajeros [Brazález, 2008].

Uno de los principales problemas en la seguridad de las carreteras, es la generación de

accidentes debido a un mal comportamiento de conducción. Dicho comportamiento depende de

múltiples factores externos o internos, como el tipo y condiciones de la carretera por la que se

transita, la carga vehicular, las condiciones ambientales, el tipo de vehículo que se conduce, las

condiciones físicas y anímicas del conductor, entre otros [Pettit, 2005].

En los últimos años se han realizado numerosas investigaciones en torno a la detección

automática del comportamiento de conductores de vehículos para el desarrollo de sistemas que

detecten conductas inapropiadas con anticipación y prevengan ciertos tipos de accidentes. Los

enfoques adoptados por dichos trabajos pueden ser divididos en dos grandes grupos:

Métodos basados en el reconocimiento de conductas con poca o nula información visual.

Estos métodos se basan principalmente en información proveniente de sensores montados en el vehículo o en el propio conductor. Con estos datos, es posible conocer en todo momento información del fenómeno de conducción como velocidad, aceleración y posición del vehículo o presión, frecuencia de pestañeo y posición del conductor. De estas mediciones es posible derivar datos como la frecuencia de frenado, frecuencia de cambio de carril, aceleración vertical y horizontal de desplazamiento, estado de atención y somnolencia del conductor o su velocidad de respuesta. Dicha información permite modelar el estado de un conductor para determinar y estudiar su conducta. Para este tipo de métodos, la información visual, cuando está presente, es complementaria a la información obtenida por medio de sensores.

Métodos basados en información visual y visión por computadora.

Estos métodos trabajan de modo similar a los descritos en el punto anterior; sin embargo, su diferencia radica en la forma en la que adquieren la información mediante la que se modela y determina el comportamiento del conductor. Estos métodos se basan principalmente en información obtenida a través de métodos de visión artificial (VA) y puede ser complementada con alguna otra información que provenga de sensores montados en el vehículo.

En este proyecto de investigación se utilizará este último enfoque para realizar un sistema

que, basado en Redes Neuronales Artificiales (RNAs), sea capaz de clasificar automáticamente el

comportamiento de conductores de camiones de transporte y/o carga.

Page 34: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Introducción

2 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Antecedentes

Existen muy pocos estudios en el mundo relacionados con la causa de la accidentalidad en

carreteras [Fernández, 2006]. Por citar un ejemplo, en España estudios recientes han demostrado

que la distracción del conductor es la causa del 39% de este tipo de accidentes causando casi

55,818 accidentes de los 143,124 registrados [RACC, 2006] [Conselleria, 2004].

La creciente preocupación a nivel europeo por la seguridad vial ha creado proyectos como

la iniciativa eSafety, cuyo objetivo consiste en reducir en un 50% las víctimas de carretera en un

periodo de 9 años (2001-2010) [eSafety, 2002]. Dichos proyectos, financiados en su mayoría por

agencias gubernamentales, son desarrollados en conjunto por empresas, centros de investigación

e instituciones académicas.

La realización de este proyecto en el grupo de Visión Artificial del Departamento de

Ciencias Computacionales (DCC) del Centro Nacional de Investigación y Desarrollo Tecnológico

(CENIDET) surge del convenio de colaboración fechado el 22 de junio de 2007 entre esta

Institución y el grupo reconocimiento de rostros y visión artificial (FRAV, por las siglas en inglés de

Face Recognition & Artificial Vision Group) de la Universidad Rey Juan Carlos (URJC) de Madrid,

España. Grupo dirigido por el Dr. Enrique Cabello Pardos, que funge como Co-Director de esta

tesis.

La URJC a través del FRAV participa activamente en el proyecto Cabina Inteligente para el

Transporte por Carretera (CABINTEC) cuyo objetivo principal es el diseño de un vehículo dotado

con tecnologías inteligentes, capaces de detectar el comportamiento del conductor, así como el

estudio de los parámetros que caracterizan al vehículo y al conductor en los instantes previos a un

accidente [CABINTEC, 2008]. El proyecto CABINTEC se divide en varios sub-proyectos cuyos

objetivos individuales se describen brevemente a continuación:

• ASISTE:

Crear una plataforma abierta de hardware y de software que integre la información de los

sensores que incorporan los vehículos y los SIT (Sistemas Inteligentes de Transporte).

• HITO:

Garantizar una conducción segura con las actuales y futuras incorporaciones de las

tecnologías de la información y las comunicaciones.

• REGISTRA:

Diseñar y construir un sistema de reconstrucción de accidentes que incluya datos del

vehículo, del conductor y del entorno de conducción.

• ALERTA:

Desarrollar un sistema que determine faltas de atención del conductor mediante su

monitorización con técnicas de Procesamiento Digital de Imágenes (PDI) y mediciones de la

dinámica del vehículo.

• eSeñal:

Mejora de la seguridad vial con la implantación del modelo de señalización a bordo y

señales reconfigurables Radio Frequency IDentification (RFID) insertadas en la carretera.

Page 35: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 3

• ESTABLE:

Evaluación de las condiciones de estabilidad dinámica de vehículos, en diferentes

condiciones de carga, avisando al conductor del riesgo de vuelco durante la circulación.

• CONECTA:

Vigilancia tecnológica, vigilancia económica, posibles subproductos, difusión de las

actividades y resultados más relevantes del proyecto.

El sub-proyecto en el que se colaborará mediante el desarrollo de esta tesis es ALERTA,

pues se propone que el sistema que resulte de este proyecto de investigación sea utilizado

posteriormente en el desarrollo de un sistema que sea capaz de alertar al conductor cuando su

comportamiento no sea el adecuado en situaciones específicas; así mismo, con ciertos productos

derivados de esta investigación, se realizará una colaboración para el sub-proyecto REGISTRA.

En el CENIDET, no existen antecedentes de proyectos relacionados con la seguridad vial o

con la clasificación automática del comportamiento de conductores de ningún tipo de vehículos.

Planteamiento del problema

Actualmente la seguridad vial es un problema mundial que está siendo tratado por diversos centros

de investigación, principalmente europeos, que se encargan de desarrollar dispositivos de ayuda

para el conductor. Dichos sistemas, que suponen una reducción en la cantidad de accidentes en

carreteras, se encuentran, en su mayoría, en etapas muy tempranas de desarrollo por lo que aún

no es posible confiarles vidas humanas en su totalidad [Dankers, 2001] [Brazales, 2008].

Existen varios trabajos que están en marcha actualmente para desarrollar sistemas

automáticos de asistencia al conductor. Dichos trabajos pueden ser clasificados como sistemas de

control total (seguridad activa) o sistemas de control parcial (seguridad pasiva) de acuerdo al nivel

de acceso que tengan al vehículo [Nobuyuki, 2000].

Los sistemas de control parcial son aquellos que requieren de asistencia humana para

conducir el vehículo, tal es el caso de los sistemas de crucero incluidos en vehículos de lujo que

permiten mantener una velocidad constante sin la necesidad del uso de pedales de aceleración o

frenado. Por su parte, los sistemas de control total son aquellos que son capaces de conducir el

vehículo de forma autónoma sin asistencia alguna, como los sistemas de prevención automática de

cambio de carril.

Estos últimos, en particular, requieren de una interacción constante con el conductor. Para

ello se hace necesaria la creación de un sistema de clasificación automática de su comportamiento

que pueda conocer, evaluar e incluso predecir sus acciones para saber cuándo es o no

conveniente su actuación sobre las decisiones de un ser humano; así mismo, el desarrollo de un

sistema de este tipo puede derivar en la reducción de accidentes carreteros causados por razones

inherentes al conductor mediante la detección temprana de situaciones de alto riesgo que le

permita tomar medidas correctivas y/o preventivas a su debido tiempo.

Page 36: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Introducción

4 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Objetivo

El objetivo principal de este proyecto de investigación es el diseño, desarrollo e implementación de

un sistema de cómputo que sea capaz de clasificar el comportamiento de conductores de

camiones de transporte y/o carga, para su posible aplicación en un sistema de alerta que pueda

realizar una detección temprana de situaciones de riesgo al realizar esta tarea.

Para alcanzar este objetivo se tienen dos objetivos específicos que se presentan a

continuación:

Diseño e implementación de modelos cognitivos para la clasificación del comportamiento

de un conductor de vehículos de transporte y/o carga, obtenidos a partir de conocimientos

simbólicos (tales como reglas de producción) en combinación con información visual

(posición de las manos del conductor en el volante) y datos provenientes de la dinámica

del vehículo mediante la implementación de RNAs, que sean capaces de realizar la

clasificación de dichos comportamientos de una forma adecuada.

Diseño e implementación de un módulo de VA que sea capaz de obtener datos para la

alimentación del sistema de clasificación de comportamiento de conducción mediante el

análisis de la posición de las manos dentro de una secuencia de imágenes tomadas de

una cabina de simulación de conducción de camiones.

Método de solución

Los pasos que se aplicaron para el desarrollo de este trabajo de investigación se presentan a

continuación:

1. Obtención de datos y videos para análisis y pruebas.

2. Investigación del estado del arte.

3. Adquisición de información de expertos en seguridad vial.

4. Diseño del sistema de VA para la detección de la posición de las manos del conductor:

5. Estudio e implementación del sistema neuronal para clasificación.

6. Generación de bases de datos finales.

7. Entrenamiento y pruebas del sistema.

8. Documentación y elaboración del documento de tesis.

Cada uno de estos pasos (expuestos en la metodología de solución en el capítulo 3) fue

necesario para el cumplimiento del objetivo planteado para este proyecto. Además, como aporte

adicional a este trabajo, se realizaron sistemas y experimentos que son descritos en los capítulos 4

y 5 que corresponden al desarrollo y análisis de pruebas y resultados respectivamente.

Page 37: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 5

Alcances y limitaciones

A continuación se exponen los alcances y limitaciones considerados para el desarrollo de este

proyecto de investigación.

Alcances

Este estudio se dirige únicamente al comportamiento de conducción de choferes de vehículos de transporte y/o carga.

En el diseño de los modelos cognitivos se consideran conocimientos simbólicos en torno a la tarea de conducción de los vehículos, en particular en forma de reglas que describan dicho comportamiento, en conjunto con datos

1 numéricos provenientes de la dinámica del

vehículo y del módulo de VA.

Se consideran tres tipos de comportamiento de conducción (seguro, aceptable y riesgoso) relativos al desempeño del individuo conforme a las normas de seguridad obtenidas en los modelos cognitivos.

Aplicación de RNA para la clasificación del comportamiento.

Aplicación de técnicas de VA para la detección de la posición de las manos.

Limitaciones

Uso de videos y datos1 sincronizados provenientes de un simulador.

Condiciones controladas2 dentro de la cabina del simulador.

Uso de videos o imágenes en formato sin compresión.

Uso de datos1 en archivos de texto con formato estándar.

Beneficios

Los beneficios del desarrollo de un sistema de clasificación automática de comportamiento de

conductores (descritos en secciones de esta introducción) pueden también ser aplicados en

diversos Sistemas Inteligentes de Transporte (SITs). Algunas de estas posibles aplicaciones son:

Sistemas mediadores entre otros SITs de seguridad activa y los propios conductores.

Sistemas de alerta para la prevención de accidentes viales.

Sistemas de evaluación y/o capacitación de conductores.

Sistemas de reconstrucción, verificación y análisis de situaciones de conducción.

Sistemas de control de calidad en servicios de transporte.

Sistemas de investigación de causalidad de accidentes viales.

1 Los datos provenientes del simulador que se han considerado hasta este momento son velocidad, aceleración de los tres ejes, posición de

los pedales, estado de los cinturones de seguridad, giro del volante, estado de las luces, fecha y hora, clima y terreno simulado, estado del freno de mano, temperatura de la cabina, estado de la carga del vehículo y velocidad de cada rueda.

2 Se espera poder tener control sobre la Iluminación, escala, vestimenta y rotación.

Page 38: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Introducción

6 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 39: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 7

Capítulo 1

Estado del arte

En este capítulo se presenta el estudio del estado del arte realizado como parte de la

metodología de solución propuesta para este proyecto.

Esta investigación, realizada con la finalidad de recopilar información suficiente para

abordar el tema, inicia con un estudio de los factores que influyen en el comportamiento del

conductor. Posteriormente, se presenta un análisis de la metodología de solución y

resultados de otros trabajos que abordan temas relacionados al objetivo de esta tesis.

Finalmente, se presentan las conclusiones derivadas de este estudio en relación a la

propuesta de solución de este trabajo y aquellas encontradas en la literatura.

1.1 Comportamiento de conducción

El buen comportamiento de conductores profesionales de camiones de transporte y/o carga se ve

afectado, principalmente, por falta de atención al momento de realizar su tarea principal. Dichas

faltas de atención son muchas veces atribuidas a la ejecución de una segunda tarea que requiere

más atención de la que el conductor puede manejar.

Una de las tareas secundarias más conocida y peligrosa al momento de conducir es el uso

de teléfonos celulares, cuyo alarmante incremento ha despertado el interés en el estudio de la

distracción del conductor en los últimos años. Aunque el uso de estos dispositivos trae consigo un

aumento en el riesgo para la seguridad vial [McCartt, 2006], existen estudios que demuestran que

representan una pequeña proporción de los factores que influyen en el problema de la distracción.

Por un lado se tienen las distracciones causadas por actividades cotidianas como comer,

fumar o sintonizar una estación en la radio y, por otro lado, las distracciones debidas al uso de

sistemas avanzados de información en el vehículo (IVIS por las siglas en inglés de In-Vehicle

Advanced Information Systems) que proporcionan información sobre el tráfico con la finalidad de

reducir tiempos y costos en cada viaje y, aunque su diseño debe tener en cuenta la distracción que

pueden causar al usuario, es evidente que mientras la proliferación de estos sistemas continúe, la

tasa de accidentes causadas por distracciones continuará aumentando [Stutts, 2001].

Page 40: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 1 Estado del arte

8 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Numerosas investigaciones se han encargado del estudio de la distracción del conductor.

Muchas de éstas han tratado específicamente los efectos causados por el uso de teléfonos

celulares y, sus resultados, han sido publicados en escritos dirigidos a conductores y ciudadanos

más que a científicos; por ejemplo, en [McCartt, 2006], se realiza una revisión de 125 estudios

relacionados con telefonía celular y conducción. Este tipo de estudios, aunque se enfocan a un

solo aspecto de la distracción, han aportado mucha información que es ampliamente utilizada en

investigaciones respecto al tema.

La primera dificultad a la que se enfrenta el estudio de la distracción del conductor es que

no existe una definición general aceptada de distracción [Trezise, 2006]. La Organización

Internacional de Estándares (ISO por las siglas en inglés de International Standard Organization)

desarrolló la siguiente definición: “se trata de la atención prestada a una actividad no relacionada

con la conducción, que conlleva a un deterioro en el desempeño de conducción” [Pettitt, 2005]. Sin

embargo, existen trabajos donde se hace una distinción entre la distracción del conductor y otros

tipos de faltas de atención. Entonces, es posible definir esta distracción como una forma de falta de

atención en la que el conductor “reduce la atención a su tarea primaria, debido a un evento,

actividad, objeto o persona dentro o fuera del vehículo, produciendo un retraso en el

reconocimiento de la información en el ambiente que es necesaria para realizar una conducción

segura” [Stutts, 2001].

Indiferentemente de la causa de las faltas de atención, éstas son reflejadas en diversas

situaciones como cambios en la frecuencia de frenado o de rectificación de la posición, errores en

la señalización del vehículo, sobre aceleración del motor, retardos en reacciones a situaciones

externas, omisiones de señalizaciones en la carretera, entre otras. Situaciones que constituyen,

por un lado, algunos de los principales factores identificados como causantes de accidentes

carreteros y, por el otro, variables cuantificables que permiten el estudio de la distracción del

conductor a través de la clasificación automática de su comportamiento.

Existen diversas aproximaciones al problema, basadas en diferentes estrategias. A

continuación se presenta un breve análisis de los trabajos más significativos clasificados según el

método utilizado.

1.2 Métodos no basados en visión por computadora

En esta sección se incluyen trabajos que se han centrado en el reconocimiento de conductas o

estilos de conducción sin considerar información visual alguna. Los datos que se consideran en

estas investigaciones son parámetros de conducción dados por la dinámica del vehículo, como

posición del vehículo en el carril, tiempo y distancia de frenado, etc.

[Noboyuki, 2000]

Reconocimiento del comportamiento del conductor usando Modelos de Markov para

detectar y caracterizar las maniobras de conducción y situarlas en el contexto de un modelo

cognitivo de comportamiento. El estudio se centra en la tarea de mantenimiento y cambio de

carril en condiciones normales y de emergencia. Se consigue clasificar el tipo de cambio de

carril realizado.

Page 41: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 9

[Tricot, 2002]

Diagnosis de estilos de conducción y condiciones del tráfico mediante un análisis de

clasificación múltiple (MCA por las siglas en ingles de Multiple Classification Analysis).

[Jong-Hae, 2005]

Modelado del frenado de un conductor, por medio de un modelo lineal por partes, ante una

intersección. Se utiliza un simulador que permite una visión en tres dimensiones del ambiente.

Los datos utilizados para la generación del modelo son: perfil de velocidad, inicio del frenado y

punto de parada.

1.3 Métodos basados en visión por computadora

En esta sección se presentan trabajos donde la información utilizada es adquirida, parcial o

completamente, mediante técnicas de visión por computadora.

Los trabajos presentados en esta sección pueden ser subdivididos en cuatro grupos de

acuerdo a los parámetros considerados para la solución del problema. Estos subgrupos son:

Detección de la posición de la cara

Detección de la dirección de la mirada

Detección de la posición corporal

Mixtos (consideran más de uno de los parámetros anteriores)

1.3.1. Detección de la posición de la cara

[Liu, 1997]

Se usan Modelos de Markov para intentar reconocer lo que va a realizar un conductor en

cuanto al control del automóvil. Cada acción se modela como una secuencia de estados

mentales internos en un patrón característico del comportamiento, que se compara luego con

las acciones en tiempo real. Su principal motivación es predecir las acciones futuras del

conductor estudiando sus movimientos al volante, el cambio de postura antes de frenar,

movimientos de ojos al girar, etc.

[Kato, 2004]

Se utiliza una cámara de infrarrojo lejano para detectar la postura del conductor, ya que no

se ve afectada por la iluminación ambiental. Detectan primero la cara (en el histograma de

temperaturas es el objeto más caliente de la imagen) y luego los rasgos para estimar la

posición de la mirada. Sólo se identifica la mirada “hacia la derecha” o “hacia la izquierda”

(±45º) o de frente (0º). Los mejores resultados se dan cuando el conductor mira a los lados

posiblemente porque la cámara estaba delante del conductor, a la izquierda del volante.

Page 42: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 1 Estado del arte

10 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

[Lakshmanan, 2001]

Comparación de los resultados en la estimación de la pose del conductor con caras-eigen,

caras-fisher y k vecinos más cercanos (KNN por las siglas en ingles de K Nearest Neighbor) en

una secuencia de vídeo. Definen siete tipos de poses (mirando hacia adelante, la radio, el

retrovisor, etc.). Se creó una base de datos (BD) con imágenes recortadas con la cara del

conductor con cada una de las poses. Se obtienen los mejores resultados con caras-fisher.

[Watta, 2002]

Continuación del trabajo [Lakshmanan, 2001] en el que se consideran siete poses

diferentes. Los clasificadores considerados en este caso fueron: KNN, Max-Min y RNAs.

Obteniendo los mejores resultados para estos últimos. Se considera también la utilización de

imágenes de transición (“inter-pose”), pero los resultados caen considerablemente.

1.3.2. Detección de la dirección de la mirada

[Akamatsu, 2002]

Los sujetos responden a un cuestionario que es sometido a un análisis de componentes

principales, luego se hacen experimentos reales en un vehículo con sensores en volante,

pedales al llegar a una intersección. Dichos sensores son utilizados para detectar los

movimientos en la preparación de una acción. El sujeto lleva una gorra con una cámara para

obtener la dirección de la mirada. Fue necesaria la conducción por una ruta cada día durante

dos meses para estabilizar las variables.

[Wahlstrom, 2003]

Se calcula la dirección a la que mira el conductor con una cámara situada en la

salpicadera. Primero se buscan los labios por color y después el resto de la cara. Finalmente

se detectan las pupilas de los ojos como los puntos más oscuros y se infiere así la dirección de

la mirada. No sólo calculan dónde se está mirando, también monitorizan el comportamiento

para detectar una acción como encender la radio. Los aciertos en la dirección de la mirada son

del 85%. La detección del encendido de la radio era satisfactoria siempre que se usara más de

un dedo para ello.

1.3.3. Detección de la posición corporal

[Park, 2005]

En este artículo se formula un modelo jerárquico para el análisis de la actividad del

conductor basado en visión por computadora en el marco de un vehículo inteligente. La

actividad del conductor es presentada y reconocida en múltiples niveles: posición corporal

como nivel básico o inferior, movimiento corporal en un nivel intermedio e interacciones del

conductor con el entorno en el nivel superior. La actividad del conductor es reconocida

mediante reglas basadas en un árbol de decisión. El sensor considerado es una cámara de

video en color.

Page 43: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 11

[Liu, 2002]

Sistema que detecta la pose en tiempo real ante condiciones de iluminación ambiental

normales. Dos métodos: no supervisado mediante una red competitiva más un método de

clustering, y otro supervisado con máquinas de soporte vectorial. Aplican pre-procesado a las

imágenes de filtrado, binarización, bordes, etc., pero no dan muchos detalles sobre los

resultados obtenidos.

[Marx, 2003]

Se analiza la conducta del conductor a partir de imágenes de video. Para ello se aplican

técnicas de flujo óptico que permiten extraer información del movimiento de la escena. El

método es probado en imágenes reales de un único conductor, detectando correctamente el

80% de las transiciones en la posición del individuo. Se utiliza como parámetro determinante

para la estimación de la conducta la posición hacia la que se está mirando. Se consideran siete

posiciones estándar del conductor. Las imágenes son analizadas a posteriori, por lo que no se

realiza ninguna indicación al conductor en tiempo real.

1.3.4. Detecciones mixtas

[Tricot, 2003]

Con un simulador, se programan rutas en las que los conductores se enfrentan a varias

situaciones. En este trabajo aseguran poder clasificar a los conductores según sus reacciones

ante situaciones específicas. El comportamiento del conductor incluye su estilo personal de

conducción, además del estrés, el estado de vigilia, la sensibilidad a “agresiones”, etc.

[McAllister, 2000]

Utilizan cámaras en el techo del coche a la altura de los hombros del conductor apuntando

al volante. Tras la resta del fondo y el cálculo de la probabilidad de las zonas de la mano con

técnicas de Bayes, se detectan las manos y se unen componentes conexas. Tienen un modelo

geométrico de la mano y se aplica un filtro de Kalman para predecir el movimiento. Se tienen

buenos resultados, incluso si existen cruzamientos.

1.4 Conclusiones

Los trabajos presentados en esta sección son una muestra de algunos enfoques adoptados en

investigaciones que pretenden realizar una clasificación automática del comportamiento de

conductores. Debido a los problemas que implica la aplicación de cámaras o sensores en

vehículos reales, la mayoría de los trabajos presentados basan su funcionamiento en datos

provenientes de simuladores de conducción. Aunque la esencia de todos los trabajos va dirigida

hacia el mismo objetivo, no se encontró algún trabajo que intente modelar el comportamiento del

conductor con datos provenientes de la dinámica del vehículo tomados de un simulador en

combinación con otros provenientes de un sistema de VA que detecte la posición de sus manos

aplicando RNAs para su clasificación.

Page 44: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 1 Estado del arte

12 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 45: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 13

Capítulo 2

Marco teórico

Para el cumplimiento del objetivo en este trabajo se desarrolló un sistema inteligente que es

capaz de clasificar el comportamiento de conductores de camiones de transporte y/o carga

de modo similar al que lo hace un experto en seguridad vial. Para el estudio y desarrollo de

dicho sistema es necesario abordar un conjunto de temas sobre los que se fundamenta este

trabajo. En este capítulo se exponen brevemente dichos temas con el objetivo de introducir

al lector a la terminología utilizada en las siguientes secciones de este documento. Los

temas a abordar son ciencias cognitivas, inteligencia artificial y redes neuronales artificiales.

2.1 Ciencias cognitivas

Las ciencias cognitivas intentan comprender cómo un sistema físico puede recibir, seleccionar y

procesar información. Hasta ahora, se conocen sólo dos tipos de entidades capaces de hacer esto:

las computadoras y el cerebro (algunos autores hablan metafóricamente de "cerebro seco" y

"cerebro húmedo") [Echegoyen, 2000].

La psicología cognitiva es la rama de las ciencias cognitivas que estudia a la mente

humana, entendiendo a ésta como una entidad que procesa o computa información. La IA se

preocupa por crear máquinas (hardware) y programas (software) que puedan reproducir la

conducta humana que es llamada inteligente (percepción, razonamiento, lenguaje, cálculo,

conocimiento experto, etc.). La diferencia fundamental entre psicología cognitiva e IA es que la

psicología cognitiva intenta descubrir los verdaderos procesos que sigue nuestra mente cuando

procesa o computa los datos (el verdadero "software" de nuestra mente), mientras que a la IA le

interesa conseguir que las máquinas reproduzcan la conducta inteligente, con independencia de si

el programa que sigue la máquina es el mismo u otro distinto que el que la mente humana utiliza

para la realización de la misma tarea.

Para este proyecto de investigación se realizará un estudio de los métodos y reglas que

siguen los conductores de camiones de transporte y/o carga al realizar la tarea de conducción que

permita generar un modelo dentro de una computadora que sea capaz de realizar labores de

clasificación y predicción de comportamiento para la detección temprana de situaciones de riesgo.

Page 46: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

14 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.2 Inteligencia artificial

Se denomina IA a la rama de la informática que tiene por objeto el desarrollo y estudio de agentes

de comportamiento inteligente no vivos. Considerando que este comportamiento implica percibir,

razonar, aprender, comunicarse y actuar en entornos complejos, la meta práctica de la IA es el

desarrollo de máquinas que puedan realizar dichas implicaciones igual, o quizá incluso mejor, que

los humanos. Así mismo, y como meta científica, la IA intenta comprender el funcionamiento de

este comportamiento ya sea en máquinas, humanos u otros animales [Nilson, 2001].

Este proyecto se enfocará en el estudio y desarrollo de un sistema híbrido que conjuntará

varias áreas de la IA como: visión artificial, sistemas expertos, adquisición del conocimiento,

aprendizaje automático y minería de datos, conceptos que se exponen a continuación.

2.2.1. Visión artificial y procesamiento digital de imágenes

La visión es uno de los mecanismos de percepción más importantes del ser humano y, siendo

indispensable para la realización de la mayoría de las tareas cotidianas, es evidente la necesidad

que tiene la IA de dotar a las máquinas inteligentes de un sistema que les permita “ver” el mundo

que les rodea. La VA nace como un intento de satisfacer dicha necesidad y permite, con su

implementación, un campo mayor de aplicación para los sistemas inteligentes [Pajares, 2002].

El objetivo principal de la VA en sistemas inteligentes es la de dotarlos de la capacidad de

percepción mediante la detección y reconocimiento de objetos [Fu, 1988].

Un sistema de VA toma la información del ambiente a través de imágenes proporcionadas

por sensores en un proceso llamado adquisición (ver figura 2.1). Dichos sensores de imágenes, al

igual que cualquier otro sensor, realizan mediciones físicas en el medio y transmiten la información

emanante en forma de señales. El procesamiento de estas señales dentro de un sistema de VA es

realizada por medio de PDI.

El interés del PDI se fundamenta en dos áreas principales de aplicación [Pajares, 2002]:

a) Mejora de calidad

Consiste en la mejora de imágenes (mediante la modificación de sus propiedades) con el

objetivo de permitir, a un ser humano, tener una mejor percepción de su contenido.

b) Percepción autónoma

Consiste en modificar propiedades específicas de una imagen que resalten las

características de su contenido para permitir la detección y reconocimiento automático de

objetos mediante un sistema de VA. Una imagen procesada con este fin no es,

necesariamente, entendible por el ojo humano.

Por tanto, el PDI puede ser definido como el conjunto de técnicas aplicadas a imágenes

digitales que tengan como objetivo mejorar su calidad o facilitar la búsqueda de información en su

contenido ya sea de forma manual o automática.

Page 47: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 15

En la figura 2.1 se muestra el diagrama de bloques de un sistema de VA [González, 2008].

Figura 2.1 Diagrama de bloques de un sistema de VA clásico

Aunque la definición del término PDI es muchas veces confundida con la de un sistema de

VA, el diagrama anterior hace evidente su diferencia: un sistema de VA es un proceso completo

que, además de incluir al PDI, considera desde la adquisición de la imagen hasta el reconocimiento

e interpretación de los datos que ésta contiene.

En la figura 2.2 se muestra, a modo de ejemplo, un diagrama de bloques de un PDI

específico. En él, se realiza una detección de bordes a una imagen original ƒ para realzar las

características de su contenido. El resultado de dicho procesamiento se obtiene en una nueva

imagen ƒ’.

Figura 2.2 Diagrama de bloques del PDI

Page 48: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

16 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En el PDI es posible considerar a una imagen digital como un conjunto de puntos (píxeles)

en un plano bidimensional. Cada uno de ellos, ubicado en una posición (x,y) de dicho plano,

contiene uno o más valores numéricos (comúnmente llamados canales) que determinan el color

que representa dentro de la imagen.

Aunque el número de canales y su rango de valores dependen del modelo de color

utilizado, para este trabajo se adoptará el RGB de 24 bits. Dicho modelo permite, a través de tres

canales, representar más de 16 millones de colores mediante la combinación de los colores

primarios aditivos:

Rojo (Red) Verde (Green) y Azul (Blue).

Así, en este modelo, cada píxel contiene tres valores numéricos que indican en qué

proporción participa cada uno de dichos colores para la representación de uno nuevo ( 2.1 ) .

𝑓 𝑥, 𝑦 = 𝑅,𝐺,𝐵 = {𝑓 𝑥, 𝑦 𝑅 , 𝑓 𝑥, 𝑦 𝐺 , 𝑓 𝑥, 𝑦 𝐵} ( 2.1 )

Dónde R, G y B tienen un rango [0, 255] en imágenes de 24 bits (8 bits para cada uno de ellos).

En la figura 2.3 se muestra la representación tridimensional del modelo RGB, en donde

pueden ser representados todos los colores contenidos en el cubo mediante la suma de los tres

colores primarios aditivos a modo de vectores.

Figura 2.3 Representación de color en el modelo RGB para una imagen de 24 bits

El procesamiento de los píxeles en el PDI, para la obtención de una nueva imagen ƒ’,

puede verse desde dos perspectivas [Galbiati, 1990]:

a) Alteración píxel a píxel de los datos en una escala global (operaciones individuales).

b) Operaciones basadas en múltiples píxeles (operaciones de vecindad).

En otras palabras, la generación de un nuevo píxel en una nueva imagen será una función

del valor de cada píxel en su localización individual o bien de los valores de los píxeles en su

vecindad como se muestra en la figura 2.4.

Page 49: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 17

Figura 2.4 Funciones de procesamiento individual y de vecindad

Las operaciones individuales implican la generación de una nueva imagen modificando el

valor de cada píxel de la imagen original ƒ basándose en una regla global. El resultado de dicha

operación es colocado en la nueva imagen ƒ’ en el píxel ubicado en la misma posición (x, y) que la

del original ( 2.2 ).

𝑓 ′(𝑥, 𝑦) = 𝑔( 𝑓 𝑥, 𝑦 ) ( 2.2 )

Por su parte, las operaciones de vecindad utilizan una regla global que depende de la

combinación de los valores de la vecindad del píxel para generar el valor de cada píxel en la nueva

imagen ( 2.3 ) [González, 2008].

𝑓 ′(𝑥, 𝑦) = 𝑔( 𝑓 𝑥 + 𝑖, 𝑦 + 𝑗 )

𝑛

𝑗=−𝑛

𝑛

𝑖=−𝑛

( 2.3 )

Dónde (2n+1)2 es el número de elementos en la vecindad a considerar en la operación.

En el desarrollo de este proyecto se implementa un sistema de VA para la detección

automática de la posición de las manos de un conductor en el volante. A continuación se describen

las técnicas de PDI utilizadas para dicho fin.

2.2.1.1 Escalado de grises (luminosidad de la imagen)

En el PDI, dependiendo del problema a atacar, muchas veces es conveniente trabajar con la

información de la luminosidad de la imagen en lugar de la del color [Collier, 2005].

Considerando que los tres canales (R, G y B) contienen información importante de dicha

luminosidad, se hace necesaria la generación de un nuevo y único canal que contenga información

de los tres originales. Este proceso consiste en operaciones individuales que, mediante ( 2.4 ),

combina los valores de los canales R, G y B según la sensibilidad del ojo humano a cada uno de

ellos [Russ, 2006].

Page 50: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

18 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

𝑓′(𝑥, 𝑦) = 0.3𝑓 𝑥, 𝑦 𝑅 + 0.59𝑓(𝑥, 𝑦)𝐺 + 0.11𝑓(𝑥, 𝑦)𝐵 ( 2.4 )

Figura 2.5 Conversión de color RGB a escala de grises mediante PDI

El proceso resulta, para el ojo humano, en una imagen en tonalidades de grises (256

tonalidades en canales de 8 bits) como se muestra en la figura 2.5. Así mismo, es posible obtener

dicho efecto en una imagen en formato RGB si se aplica el resultado de la operación a los tres

canales de cada píxel ( 2.5 ).

𝑓′(𝑥, 𝑦)𝑅 = 𝑓′(𝑥, 𝑦)𝐺 = 𝑓′(𝑥, 𝑦)𝐵 = 0.3𝑓 𝑥, 𝑦 𝑅 + 0.59𝑓(𝑥, 𝑦)𝐺 + 0.11𝑓(𝑥, 𝑦)𝐵 ( 2.5 )

2.2.1.2 Binarización de imágenes (segmentación por umbralización)

La binarización es un proceso que consiste en reducir el rango de tonalidades posibles de una

imagen a dos (comúnmente blanco y negro) mediante la operación individual dada en ( 2.6 ).

𝑓′(𝑥, 𝑦) = 𝑁𝑒𝑔𝑟𝑜, 𝑓(𝑥, 𝑦) < 𝜃𝐵𝑙𝑎𝑛𝑐𝑜, 𝑓(𝑥, 𝑦) ≥ 𝜃

( 2.6 )

Dónde θ es el umbral de binarización con un rango [0-255] en canales de 8 bits.

Este proceso, también llamado umbralización, es utilizado para realzar ciertas

características de una imagen mediante la implementación de la función escalón a sus tonalidades.

El umbral θ, que determina qué píxeles pertenecen a uno u otro grupo, puede ser obtenido de

forma manual o automática mediante el análisis del histograma de la imagen [Atoche, 2007].

El histograma de una imagen digital es la gráfica de la función discreta dada en ( 2.7 ).

𝑕(𝐼𝑘) = 𝑛𝑘 ( 2.7 )

Dónde Ik es el k-ésimo nivel de intensidad ([0-255] para 8 bits) y nk es el número de píxeles

en la imagen con esa intensidad [González, 2008].

Page 51: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 19

Aunque es posible obtener un histograma por cada uno de los canales del modelo RGB, la

binarización de imágenes se aplica, regularmente, al histograma de la luminosidad de la imagen

[Pajares, 2002].

En la figura 2.6 se muestra el histograma de una imagen en escala de grises.

Figura 2.6 Histograma de una imagen digital en escala de grises

En el histograma anterior, a modo de ejemplo, se puede apreciar que existen dos grandes

concentraciones de píxeles que pueden ser separadas con un umbral θ = 154. En la figura 2.7 se

muestra el resultado de la binarización de dicho ejemplo.

Figura 2.7 Binarización de una imagen en escala de grises mediante PDI

En este caso, la binarización ha agrupado los píxeles que contienen información de los

objetos contenidos en la imagen y discriminado aquellos con información del fondo. Una vez que

se ha logrado la separación de los objetos de interés del resto de la imagen, es posible realizar

operaciones lógicas y/o matemáticas que permitan la recuperación de las características de los

objetos como se describe en la sección 2.2.1.3.

Existen diversos métodos que se encargan de buscar automáticamente el umbral θ que

segmente eficientemente dos agrupaciones de píxeles en un histograma. En este proyecto se

utilizará el propuesto en [Otsu, 1972] que, a través del análisis de la varianza, es capaz de obtener

valores de θ óptimos para dos agrupaciones de píxeles [González, 2008].

Page 52: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

20 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.2.1.3 Operaciones lógicas y matemáticas

Al considerar en el PDI a una imagen como una función bidimensional del nivel de intensidad de

cada uno de los canales que integran a los píxeles ( 2.1 ), se hace evidente la posibilidad de

realizar operaciones lógicas y matemáticas con ellas.

Dichas operaciones, aplicadas en la etapa de preprocesamiento o segmentación de un

sistema de VA (ver figura 2.1), consisten en operaciones individuales que pueden involucrar a una

o más imágenes como argumentos u operandos y, comúnmente, devolver una sola como resultado

[González, 2008].

En la figura 2.8 se muestra una operación unaria (de un sólo argumento) que realiza,

mediante operaciones individuales, la negación de los píxeles de una imagen binaria según ( 2.8 ).

𝑓′(𝑥, 𝑦) = 𝑁𝑒𝑔𝑟𝑜, 𝑓 𝑥, 𝑦 = 𝐵𝑙𝑎𝑛𝑐𝑜

𝐵𝑙𝑎𝑛𝑐𝑜, 𝑓 𝑥, 𝑦 = 𝑁𝑒𝑔𝑟𝑜 ( 2.8 )

Figura 2.8 Operación NOT de una imagen binarizada

La operación NOT, en una imagen segmentada por binarización, puede generar una

máscara que permita, mediante una operación lógica AND, recuperar las características de los

objetos contenidos en la imagen original (ver figura 2.9).

La operación AND consiste en operaciones individuales de conjunción entre dos o más

imágenes. Dicho operador, al igual que cualquier otro operador lógico, puede ser aplicado a

imágenes de un solo canal3 mediante ( 2.9 ) o a imágenes multicanal mediante ( 2.10 ).

𝑓′(𝑥, 𝑦) = 𝑓1(𝑥, 𝑦) ∧ 𝑓2(𝑥, 𝑦) ( 2.9 )

𝑓 ′ 𝑥, 𝑦 𝑅 = 𝑓1 𝑥, 𝑦 𝑅 ∧ 𝑓2 𝑥, 𝑦 𝑅

𝑓 ′ 𝑥, 𝑦 𝐺 = 𝑓1 𝑥, 𝑦 𝐺 ∧ 𝑓2 𝑥, 𝑦 𝐺

𝑓′(𝑥, 𝑦)𝐵 = 𝑓1(𝑥, 𝑦)𝐵 ∧ 𝑓2(𝑥, 𝑦)𝐵

( 2.10 )

3 Las imágenes binarizadas o en escala de grises pueden ser consideradas de un solo canal ya que los píxeles solo requieren un valor

numérico para ser representados. Las imágenes a color en el modelo RGB (o cualquier otro modelo) requieren de más de un canal para su representación [Pajares, 2002].

Page 53: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 21

En la figura 2.9 se muestra una operación AND entre una imagen a color y una imagen

binarizada. El resultado, continuando con el ejemplo desarrollado en la presente sección, es la

recuperación de las características de color y textura del objeto contenido en la imagen original.

Figura 2.9 Operación AND de una imagen RGB a color y una imagen binarizada

El conjunto de los procesos de PDI expuestos hasta ahora, por su resultado final, es

conocido como extracción de fondo [Pajares, 2002]. En la figura 2.10 se muestra el resumen del

proceso de PDI necesario (en este caso) para la extracción del fondo de una imagen digital a color.

Figura 2.10 Extracción de fondo de una imagen RGB a color mediante PDI

De igual forma, en el PDI, es posible realizar operaciones matemáticas para el

mejoramiento de imágenes. Dichas operaciones, que pueden tener como argumentos una o más

imágenes en conjunto con valores constantes4, son comúnmente aplicadas en la etapa de

preprocesamiento de un sistema de VA (ver figura 2.1). A continuación se muestran dos ejemplos

de operaciones matemáticas en el PDI.

4 Un valor constante puede ser representado en una imagen mediante la asignación de dicho valor a todos sus píxeles como se muestra en

el segundo argumento de la figura 2.11.

Page 54: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

22 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la figura 2.11 se muestra el resultado de una operación suma entre una imagen RGB a

color y una constante dada por ( 2.11 ).

Figura 2.11 Suma de una imagen RGB a color y una imagen constante

𝑓 ′ 𝑥, 𝑦 = 𝑓1 𝑥, 𝑦 + 196 ( 2.11 )

Así mismo, en la figura 2.12 se muestra el resultado de una resta entre dos imágenes a

color dada por ( 2.12 ).

Figura 2.12 Resta de dos imágenes RGB a color.

𝑓 ′ 𝑥, 𝑦 = 𝑓1 𝑥, 𝑦 − 𝑓2 𝑥, 𝑦 ( 2.12 )

Page 55: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 23

Los valores de los resultados de algunas operaciones lógicas o matemáticas pueden, en

ocasiones, salirse del rango aceptado por el o los canales de la imagen digital procesada (imagen

resultado); por lo anterior, es común acotar el resultado de dichas operaciones a los rangos dados

por la profundidad de los canales [Pajares, 2002].

A continuación se describe una de las posibles formas de acotamiento de valores para

canales de 8 bits:

Sea A el conjunto de píxeles en la posición (x,y) de n imágenes ( 2.13 ) y g(A) una

operación lógica o matemática con n píxeles como argumentos de entrada ( 2.14 ).

𝐴 = [𝑓1(𝑥, 𝑦), 𝑓2(𝑥, 𝑦),… , 𝑓𝑛(𝑥, 𝑦)] ( 2.13 )

𝑓 ′ 𝑥, 𝑦 = 𝑔 𝐴 = 𝑔(𝑓1 𝑥, 𝑦 , 𝑓2 𝑥, 𝑦 ,… , 𝑓𝑛 𝑥, 𝑦 ) ( 2.14 )

Entonces, la acotación de valores de resultados de operaciones para canales con 8 bits de

profundidad estará dada por ( 2.15 ).

𝑓′(𝑥, 𝑦) =

255, 𝑔 𝐴 > 255

𝑔(𝐴), 0 ≤ 𝑔 𝐴 ≤ 255

0, 𝑔 𝐴 < 0

( 2.15 )

En la figura 2.13 se muestra el resultado de una operación suma de una imagen RGB a

color y una constante con y sin acotamiento de valores.

Figura 2.13 Resultado de suma de imágenes con PDI con y sin acotamiento

En el ejemplo se muestra el error de representación en los tonos de los píxeles cuyos

valores se encuentran fuera del rango dado por la profundidad de los canales.

Page 56: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

24 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.2.1.4 Segmentado de regiones

En el ejemplo de segmentación por umbralización mostrado en la figura 2.7, se obtiene una

separación óptima entre el fondo de la imagen y los objetos contenidos; sin embargo, es posible

tener como resultado un conjunto de regiones como se muestra en la figura 2.14.

Figura 2.14 Binarización de una imagen en escala de grises mediante PDI con varias regiones

Cuando se tienen este tipo de resultados, dependiendo del problema a solucionar, es

necesario realizar una segmentación que busque e identifique cada una de dichas regiones.

Este tipo de “etiquetado” de regiones, que parte del hecho de que una imagen binarizada

contiene los objetos de interés en píxeles blancos o activos, realiza la búsqueda de todos aquellos

píxeles que están conectados entre sí por un camino o conjunto de píxeles con características

similares y les asigna una misma etiqueta identificativa única de la región a la que pertenecen.

Aunque existen diversos algoritmos de etiquetado de componentes conexas, la esencia de

todos ellos es la misma: realizar la búsqueda por filas del primer píxel activo en la imagen,

asignarle una nueva etiqueta e intentar propagarla a los píxeles vecinos. Una vez que no hay más

píxeles que etiquetar en esa región, se continúa la búsqueda de píxeles activos no etiquetados en

el resto de la imagen [Pajares, 2002].

Finalmente, es necesario extraer ciertas características de cada región que permitan al

sistema de VA diferenciar, discriminar o incluso identificar que objetos contienen. Para este

proyecto en particular el algoritmo de etiquetado de regiones conexas devolverá, al finalizar su

ejecución, las siguientes propiedades:

Número

Número de regiones encontradas en la imagen.

Área

El número de píxeles (blancos) que contiene cada región.

Rectángulo de contención

Coordenadas iniciales y centrales (x,y), ancho y largo del mínimo rectángulo que

sea capaz de contener en su totalidad cada región.

Page 57: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 25

Aunque la importancia del resultado de esta técnica de PDI radica en las características

extraídas de cada región (propiedades), es posible representar el etiquetado en una imagen

procesada. En la figura 2.15 se muestra el resultado visual de un etiquetado de regiones conexas.

Figura 2.15 Etiquetado de regiones conexas a una imagen binarizada

En el ejemplo anterior (para una mejor visualización), se le ha asignado uno de tres colores

a cada región en forma rotativa (rojo, verde o azul); por lo tanto, cada color marca el inicio y fin de

cada región, pero no implica que todas las áreas marcadas con un mismo color pertenezcan a una

misma.

2.2.1.5 Detección de bordes

Cuando existen diversos objetos en una imagen digital y la segmentación por regiones no es

suficiente para su identificación, es posible caracterizar dichos objetos por su forma exterior. Para

ello, es necesario un conjunto de técnicas de PDI que, en primer lugar, realicen la detección de los

bordes o contornos de las diversas regiones contenidas en la imagen y, en segundo lugar, los

identifique por su forma [Moctezuma, 2009].

Figura 2.16 Detección de bordes a una imagen binarizada

Page 58: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

26 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la figura 2.16 se muestra el resultado del algoritmo de detección de bordes propuesto

en [Smith, 1995] aplicado a una imagen binaria que, al tratarse de una función bidimensional de

intensidad, tiene una primera y segunda derivada que permiten representar el valor de una

pendiente en un punto dado así como la búsqueda de máximos y mínimos locales [Atoche, 2007].

Considerando a los contornos de cada región u objeto como el único cambio de intensidad

en la función f(x,y) de una imagen binarizada, es posible realizar su detección mediante el análisis

del comportamiento de su primera y segunda derivada como se muestra en la figura 2.17

[González, 2008].

Figura 2.17 Detección de bordes empleando operadores de derivación

La primera derivada es cero en todas las regiones de intensidad constante y tiene valores

máximos y mínimos en las zonas de transición; por su parte, la segunda derivada es cero en todas

las regiones de intensidad constante y tiene cambios de signo en las transiciones [Pajares, 2002].

En principio, la magnitud de la primera derivada indica la presencia de bordes en un píxel

de la imagen, mientras que el signo de la segunda nos indica si éste pertenece a una zona clara u

obscura; sin embargo, esta última presenta un cruce por cero en el punto medio de la transición, lo

que resulta muy útil para una detección de bordes precisa.

La aplicación de la primera o segunda derivada a una imagen digital consiste en

operaciones de vecindad (ver figura 2.4) mediante la convolución de máscaras con operadores

Page 59: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 27

predefinidos (ver figura 2.18). El requisito básico para un operador de derivación es que la suma de

todos sus coeficientes sea nula para asegurar que la derivada de una zona uniforme en la imagen

sea 0 [Atoche, 2002].

Figura 2.18 Ejemplos de operadores de derivación a) Prewitt, b) Sobel, c) Frei-Chen y d) Laplaciano

Para la derivación de imágenes por medio de operaciones de vecindad es necesaria la

convolución de la máscara del operador en toda la imagen original. Para ello se deben considerar,

en primer lugar, las conversiones de una máscara general (representativa de cualquier operador) y

de una región de vecindad a vectores unidimensionales como se muestra en la figura 2.19.

Figura 2.19 Conversión de a) una máscara y b) una región de vecindad a un vector unidimensional

Page 60: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

28 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Siendo W el vector que contiene los i coeficientes de la máscara del operador y V el vector

de los valores de los i vecinos de un píxel f(x,y), la convolución de W en una imagen digital está

dada por ( 2.16 ).

𝑓 ′ 𝑥, 𝑦 = 𝑊𝑖 𝑉𝑖

9

𝑖=1

( 2.16 )

Dependiendo de la orientación (horizontal o vertical) de la máscara utilizada en el proceso

de derivación (ver figura 2.18) es posible obtener la imagen gradiente en x ( 2.17 ) o la imagen

gradiente en y ( 2.18 ),

𝐺𝑥 = ∀𝑥∀𝑦, 𝑓 ′ 𝑥, 𝑦 = 𝑊𝑖(𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 ) 𝑉𝑖

9

𝑖=1

( 2.17 )

𝐺𝑦 = ∀𝑥∀𝑦, 𝑓 ′ 𝑥, 𝑦 = 𝑊𝑖(𝐻𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 ) 𝑉𝑖

9

𝑖=1

( 2.18 )

Así mismo, es posible obtener la magnitud ( 2.19 ) y dirección ( 2.20 ) del gradiente y

representarlas en imágenes individuales como se muestra en la figura 2.20 [Pajares, 2002].

𝐺(𝑥, 𝑦) = 𝐺𝑥(𝑥, 𝑦)2 + 𝐺𝑦 (𝑥, 𝑦)2 ≈ 𝐺𝑥(𝑥, 𝑦) + 𝐺𝑦 (𝑥, 𝑦) ( 2.19 )

𝜙(𝑥, 𝑦) = 𝑡𝑎𝑛−1𝐺𝑦(𝑥, 𝑦)

𝐺𝑥(𝑥, 𝑦) ( 2.20 )

Figura 2.20 Imágenes del gradiente de una imagen digital a) en X, b) en Y, c) magnitud y d) dirección

Page 61: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 29

Aunque la aplicación de operadores de primer orden para la detección de bordes es muy

utilizada debido a su facilidad de implementación y al suavizado derivado de la convolución que

reduce notablemente el ruido generado en el proceso, existen algoritmos más complejos que

pueden tener mejores resultados en aplicaciones dónde el tiempo de procesamiento no es esencial

[Atoche, 2002] [Moctezuma, 2009].

En este proyecto se utilizará el algoritmo propuesto en [Canny, 1986] que es considerado

como uno de los mejores métodos de detección de contornos [Vázquez, 1996].

El algoritmo Canny se fundamenta en la teoría de operadores de primera derivada y resulta

particularmente interesante porque además de extraer bordes, cierra contornos abiertos evitando

posibles rupturas durante su extracción. Las tres principales tareas de este algoritmo son las

siguientes [Pajares, 2002]:

1) Obtención del gradiente (magnitud y ángulo en cada píxel).

2) Adelgazamiento de ancho de bordes hasta un píxel de ancho (supresión no máxima).

3) Histéresis de umbral al resultado de la supresión no máxima.

Se puede observar que la complejidad de este último algoritmo es mucho mayor que los

algoritmos de convolución (Sobel, Frei-Chen, Prewitt, entre otros); sin embargo, en la figura 2.21 se

aprecia su superioridad en la calidad de detección en comparación con otras técnicas.

Figura 2.21 Resultados de detección de bordes con a) Sobel, b) Prewitt, c) Frei-Chen y d) Canny

Page 62: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

30 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.2.1.6 Detección de formas

Una vez que se obtienen los bordes de los objetos contenidos en una imagen original, es posible

realizar su identificación y clasificación a partir de su forma exterior. Existen diversas técnicas

capaces de realizar dicho objetivo; sin embargo, en este proyecto se adoptará la propuesta en

[Hough, 1962] que, basada en métodos estadísticos, permite la detección de figuras geométricas

empleando representaciones paramétricas.

Dicha técnica, también llamada Transformada de Hough (HT por las siglas en inglés de

Hough Transform), fue inicialmente propuesta para la detección de líneas rectas; sin embargo,

trabajos como [Duda, 1972] y [Merlin, 1975] realizaron mejoras significativas al algoritmo hasta la

aparición de la Transformada Generalizada de Hough (GHT por las siglas en inglés de Generalized

Hough Transform) que, propuesta en [Ballard, 1981], es capaz de detectar eficientemente formas

arbitrarias de dos dimensiones con escala y rotación específicas.

Considérese, como ejemplo particular, la ecuación paramétrica de un círculo con radio r y

centro en el punto (x0, y0) dada en ( 2.21 ).

(𝑥 − 𝑥0)2 + (𝑦 − 𝑦0)2 = 𝑟2 ( 2.21 )

Dada una imagen binaria de bordes, la GHT para la detección de círculos consiste en la

búsqueda de los píxeles activos (blancos) de dicha imagen y, en cada uno de ellos, el

planteamiento de los infinitos círculos que pasan por ese punto con distintos radios y centros.

En la figura 2.22 se muestra el ejemplo del planteamiento de cuatro círculos (rojos) con

diferentes centros y radios en un píxel activo arbitrario.

Figura 2.22 Planteamiento de cuatro círculos con diferentes centros y radios en un píxel

Page 63: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 31

Para cada uno de los círculos planteados con centro (xn, yn) y radio rn, se realiza una

búsqueda de píxeles activos que cumplan con ( 2.21 ); es decir, se buscan píxeles activos en su

circunferencia. Dicha búsqueda, se encarga también de la acumulación de votos (uno por cada

píxel activo encontrado) en un espacio n-dimensional. Así, para el caso específico del círculo en

dónde se realizan variaciones de tres parámetros (x0, y0 y rn), se tiene como resultado una matriz

tridimensional con los votos de cada círculo planteado.

En la tabla 2.1 se muestra el resultado de la matriz tridimensional de votación para los

cuatro círculos planteados en la figura 2.22.

Tabla 2.1 Resultado de matriz de votación de GHT para cuatro círculos planteados.

Posición

(en la matriz tridimensional)

Votación

(píxeles activos en el perímetro)

V[xa][ya][ra] 4

V[xb][yb][rb] 9

V[xc][yc][rc] 4

V[xd][yd][rd] 4

En este caso, el círculo planteado con radio rb es el candidato con mayor votación y mayor

probabilidad de ser el objetivo (target) de la búsqueda; sin embargo, es evidente que el candidato

con radio rT y centro (xT, yT) será, eventualmente, el candidato con mayor puntuación en toda la

matriz.

Existen diversas mejoras aplicables a este algoritmo que pueden reducir drásticamente el

costo computacional y tiempo que conlleva la búsqueda exhaustiva de formas geométricas a lo

largo de toda la imagen [Bruno, 2005]; sin embargo, muchas de ellas son aplicables únicamente a

la detección de ciertas figuras.

Para el caso específico de este proyecto, en el que se aplicará la GHT para la detección de

elipses en imágenes de bordes obtenidas a través del algoritmo Canny, se utilizará la ecuación

paramétrica dada en ( 2.22 ), que caracteriza una elipse con centro (x0, y0), semieje mayor a y

semieje menor b.

(𝑥 − 𝑥0)2

𝑎2+

(𝑦 − 𝑦0)2

𝑏2= 1 ( 2.22 )

La extensión del concepto de la GHT para la detección de círculos al de detección de

elipses es inmediata. Simplemente se realizará el planteamiento de las infinitas elipses que cruzan

cada píxel activo en la imagen mediante la variación de sus cuatro parámetros (x0, y0, an, bn). Al

final, se obtendrá una matriz de votación de cuatro dimensiones de donde se deberá seleccionar el

mejor candidato.

Page 64: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

32 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.2.2. Sistemas expertos

Los sistemas expertos son sistemas informáticos que emulan el comportamiento de un experto

humano en un dominio concreto. Su objetivo principal es la mejora de la productividad del usuario

en la solución de problemas específicos.

Estos sistemas, que se pueden considerar como el primer producto operacional de la IA,

son programas diseñados para actuar como un especialista humano en un dominio o área

particular de conocimiento. En este sentido, pueden considerarse como intermediarios entre el

experto humano, que transmite su conocimiento al sistema mediante un proceso llamado

adquisición de conocimiento (ver sección 2.2.3), y el usuario, que lo utiliza para resolver un

problema con la eficacia del especialista [Arikah, 2006].

En este proyecto se implementa un sistema que, tal como lo haría un experto en seguridad

vial, clasifica el comportamiento de conductores de camiones de transporte y/o carga; en otras

palabras, se diseña un “copiloto virtual” que califica el modo de conducción mediante la

observación de parámetros que caractericen el comportamiento del conductor y del vehículo.

2.2.3. Adquisición de conocimiento

Para poder obtener el conocimiento de un experto humano, es necesaria una metodología que

permita su adquisición. Por ello, en la década de los 70’s, surge la ingeniería del conocimiento

junto con el desarrollo de los sistemas expertos [Henao, 1998].

La Ingeniería del conocimiento se define como: “el proceso de elicitar, estructurar,

formalizar y operacionalizar la información y conocimiento involucrado en la resolución de

problemas de un dominio, con el objetivo de construir un programa que pueda realizar la tarea de

forma adecuada” [Alonso, 2006].

En el proceso de adquisición realizado por un Ingeniero del Conocimiento (IC), el

conocimiento puede provenir de dos tipos de fuentes diferentes [Henao, 1998]:

a) Fuente de conocimiento estática

Es rígida en cuanto a su contenido (no varía). Ejemplos de esta fuente son libros, revistas o artículos.

b) Fuente de conocimiento dinámica

El conocimiento puede ser cambiante e inexacto. El experto humano es un ejemplo de esta fuente.

Una vez que el IC agotó la adquisición de conocimiento básico (estático), es posible la

adquisición de conocimiento dinámico, donde el IC y el experto deberán de ser capaces de

expresar el conocimiento que tienen acerca del problema y precisar las actividades o procesos

mentales que conllevan a una conclusión. El IC debe de llevar a cabo con mucho cuidado esta

tarea para que pueda extraer el conocimiento heurístico que servirá al sistema; es decir, las reglas

que son utilizadas por el experto [Cruz, 2004].

En ocasiones, cuando no es posible la adquisición de conocimiento por el IC mediante

cuestionarios, pláticas, entrevistas o análisis, es posible la utilización de herramientas de

aprendizaje automático que realicen la adquisición directamente del experto humano.

Page 65: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 33

2.2.4. Aprendizaje automático

El Aprendizaje Automático (ML por las siglas en inglés de Machine Learning) es una rama de la

Inteligencia Artificial cuyo principal objetivo es el desarrollo de técnicas que permitan a las

computadoras aprender por sí mismas mediante la utilización de datos o experiencias previas

[Mitchell, 1997].

Una situación en la que un sistema de cómputo requiere aprender de forma automática es

cuando no existe experiencia humana aplicable o cuando dicha experiencia no es fácilmente

explicable. El aprendizaje automático se encarga de transformar datos en conocimiento y de

proporcionar sistemas de propósito general que se adapten a las circunstancias. Entre las muchas

aplicaciones exitosas pueden citarse el reconocimiento del habla o de texto manuscrito,

navegación autónoma de robots, recuperación de información documental, filtrado cooperativo,

sistemas de diagnóstico, análisis de ADN, entre otros [UPM, 2007].

2.2.5. Minería de datos

Desde el inicio de la llamada “era de la información” empresas, instituciones, gobiernos y

particulares se han dado a la tarea de recopilar información de sus operaciones en bases de datos

digitales. Estas grandes cantidades de datos, resultado de décadas de almacenamiento, resultan

en un producto prácticamente inútil y poco valioso por sí solo que, además, requiere de costos de

almacenamiento.

La minería de datos (DM por las siglas en inglés de Data Mining) surge por la necesidad de

convertir dicho producto en materia prima para la generación de conocimiento que, contenido ya en

los datos pero desconocido por el usuario, pueda ser clave en la toma de decisiones relacionadas

a la información que contiene [Hernández, 2004].

La DM a diferencia de otros métodos de análisis estadístico se define como el proceso de

extraer conocimiento útil, comprensible y previamente desconocido, desde grandes cantidades de

datos almacenados [Witten, 2000].

Ésta y otras definiciones similares, dan lugar a otros términos utilizados como sinónimos de

DM como lo es “descubrimiento de conocimiento en bases de datos” (KDD por las siglas en inglés

de Knowledge Discovery in Databases); sin embargo, es importante aclarar que el descubrimiento

de conocimiento trata de un proceso completo que incluye a la DM como parte de su metodología

(ver figura 2.23) [Berthold, 2003].

Los resultados más comunes de la DM se dan en conjuntos de reglas, ecuaciones, árboles

de decisión, o grafos probabilísticos que, para KDD, requieren de un análisis e interpretación para

hacer evidentes ciertos patrones de comportamiento (en los datos) que puedan responder a

cuestiones como: ¿Existe algún grupo de clientes que se comporta de forma diferenciada?, ¿Qué

secuencia de tratamientos puede ser la causa o solución de un nuevo síndrome?, ¿Existen

asociaciones entre ciertos factores de riesgo para realizar un seguro de automóvil?, ¿Qué

características contienen los correos electrónicos spam para poder ser clasificados

automáticamente? [Hernández, 2004]

Page 66: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

34 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En [Fayyad, 1996] se define el KDD como el proceso no trivial de identificar patrones

válidos, novedosos, útiles y comprensibles a partir de los datos. Esta definición es muy conocida

debido a que contiene las propiedades deseables del conocimiento extraído y su proceso:

No trivial

El proceso de extracción de conocimiento no puede ser considerado un plan preestablecido de pasos

a seguir ya que cada problema requiere consideraciones especiales para su implementación.

Válido

El conocimiento extraído debe seguir siendo preciso (con cierto grado de incertidumbre) para datos

nuevos y no solo en aquellos que han sido utilizados en el proceso de extracción.

Novedoso

El conocimiento extraído debe aportar algo nuevo al usuario.

Útil

El conocimiento extraído debe conducir a acciones que aporten algún tipo de beneficio al usuario.

Comprensible

El conocimiento extraído debe ser fácil de interpretar, revisar, validar y usar en la toma de decisiones.

En la figura 2.23 se presenta el diagrama a bloques del proceso KDD que, además de

incluir la obtención de patrones (objetivo de la DM), incorpora su evaluación e interpretación así

como el preprocesamiento de selección, limpieza, transformación y proyección de los datos.

Figura 2.23 Diagrama de bloques de KDD

El diagrama mostrado es utilizado para clarificar la relación que existe entre KDD y DM:

KDD trata del proceso global de descubrir conocimiento útil desde las bases de datos,

mientras que la DM se refiere a la aplicación de técnicas estadísticas y de aprendizaje para la

obtención de patrones y modelos; por lo tanto, al ser la DM el método de generación de modelos

del KDD estos dos términos son confundidos regularmente [Hernández, 2004]

Las RNAs son también consideradas un posible resultado de la DM; sin embargo, su

estructura interna dificulta el análisis de los resultados, por lo que muchas veces resulta imposible

justificar su interpretación. Debido a esta dificultad las RNAs son también llamadas “cajas negras”,

a pesar de que existen ya diversos trabajos que intentan obtener las reglas generadas

internamente durante el proceso de aprendizaje [Montaño, 2002] [López, 1999].

En la siguiente sección se presentan la estructura y funcionamiento de una RNA como un

estudio derivado de la investigación del clasificador neuronal descrito en la sección 4.4.

Page 67: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 35

2.3 Redes neuronales artificiales

Gran parte de los algoritmos de IA han sido inspirados en procesos biológicos. Debido a la gran

complejidad que dichos procesos suponen en conjunto, existen diversas aproximaciones a cada

uno de los subsistemas utilizados por los seres humanos para la solución de problemas complejos.

Una de las áreas de la IA que se ha interesado en el estudio y modelado específico del

cerebro humano es la de las RNAs. Esta área, estudiada desde los años 40’s por gente como

Warren McCulloch y Walter Pitts, pretende simular el funcionamiento del cerebro humano a partir

del comportamiento básico de las neuronas [McCulloch, 1943].

2.3.1. La neurona artificial

Una RNA se define como un sistema de procesamiento de información con características

similares a las redes neuronales biológicas [Serna, 1996]. Basadas en la generalización de

modelos neurobiológicos, funcionan bajo cuatro principios fundamentales [Laurence, 1994]:

1. El procesamiento de la información se lleva a cabo en unidades básicas de proceso (neuronas).

2. Las señales son transmitidas de una neurona a otra mediante conexiones.

3. Cada conexión tiene un peso asociado que pondera la señal transmitida.

4. Cada neurona aplica una función de activación a su señal de entrada para obtener su señal de salida.

Figura 2.24 Diagrama de una neurona artificial

En la figura 2.24 se muestra el diagrama de una neurona artificial donde la entrada total de

la neurona (yIn) está dada por ( 2.23 ).

𝑦𝐼𝑛 = 𝜃 + 𝑥𝑎𝑤𝑎

𝑛

𝑎=1

( 2.23 )

Page 68: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

36 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Donde θ es un umbral propio de cada neurona y es representado como el peso de una

conexión a una entrada unitaria constante; por otro lado, la salida total de la neurona (yOut) está

dada por ( 2.24 ).

𝑦𝑂𝑢𝑡 = 𝑓(𝑦𝐼𝑛 ) ( 2.24 )

Donde f(yIn) es una función de activación que determina el comportamiento de la señal de

salida de la neurona. En la figura 2.25 se muestra el diagrama a bloques del procesamiento de

información que se lleva a cabo dentro de una neurona artificial.

Figura 2.25 Diagrama de procesamiento de una neurona artificial

Existe una gran diversidad de funciones matemáticas aplicables al proceso de activación

neuronal; sin embargo, una selección cuidadosa del tipo de función a utilizar facilita el trabajo de

entrenamiento y reconocimiento de la red.

2.3.2. Entrenamiento y reconocimiento.

Existen dos estados básicos de funcionamiento de las RNAs. Por un lado se tiene el estado de

reconocimiento, donde la salida (yOut) de cada neurona es calculada a partir de ( 2.23 ) y ( 2.24 ).

Este estado es utilizado en redes ya entrenadas para reconocer o clasificar un dato nuevo.

En el estado de entrenamiento, los pesos (w1, w2, …, wn ) y umbral (θ) se modifican en

procesos iterativos llamados épocas de acuerdo a ciertas reglas de aprendizaje. Para ello se utiliza

un conjunto de datos de entrenamiento que contiene las entradas a la red y su salida esperada

(Target Output).

Todos los datos con los que se alimenta una RNA (en ambos estados de funcionamiento)

deben estar normalizados en un rango [0, 1].

2.3.3. El perceptrón

En 1958, Frank Rosenblatt introduce a la comunidad científica una nueva arquitectura de RNAs

llamada perceptrón. La aportación principal de [Rosenblatt, 1958] consiste en una regla de

aprendizaje iterativa mucho más poderosa que la propuesta en [Hebb, 1949] que, bajo una

hipótesis adecuada, era capaz de encontrar la combinación de pesos y umbrales que produzcan la

correcta clasificación de cada uno de los datos de entrenamiento.

Page 69: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 37

Aunque existen una gran diversidad de perceptrones en la literatura, se considera al

escalón unitario como la función de activación del perceptrón clásico [Rosenblatt, 1962]. La gráfica

de dicha función en un plano bidimensional se muestra en la figura 2.26 y está dada por ( 2.25 ).

𝑓(𝑥) = 1 0−1

𝑠𝑖 𝑥 > 𝜃

𝑠𝑖 − 𝜃 ≤ 𝑥 ≤ 𝜃 𝑠𝑖 𝑥 < −𝜃

( 2.25 )

Figura 2.26 Gráfica de la función escalón

Si bien este paradigma neuronal tomó mucho auge en sus inicios, es posible demostrar

matemáticamente a partir de ( 2.23 ) que su alcance está limitado a problemas linealmente

separables. Dicha demostración, publicada en [Minsky, 1969], en conjunto con la falta de un

método general de entrenamiento para RNAs multicapa trajeron como consecuencia la decaída de

su popularidad por más de una década.

2.3.4. El perceptrón multicapa

La capacidad de resolver problemas linealmente no separables con RNAs se logra mediante la

interconexión de neuronas en diversas capas como se muestra en la figura 2.27.

Figura 2.27 Diagrama de una RNA multicapa

Page 70: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

38 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Existen tres tipos de neuronas utilizadas en RNAs multicapa:

a) Unidades de entrada

Reciben la información directamente de un vector de entrada (x1, x2, …, xn ). Dicho

vector puede contener un patrón de entrenamiento o un dato de prueba para

reconocer. La información de entrada es transmitida directamente a su salida.

b) Unidades ocultas

Reciben la información de las neuronas que conforman la capa de entrada o una

capa oculta anterior. Su salida es procesada por medio de ( 2.23 ) y ( 2.24 ).

c) Unidades de salida:

Reciben la información de la última capa oculta de la red. Su salida es procesada

por medio de ( 2.23 ) y ( 2.24 ) y se considera como la salida final de la red.

El número de capas ocultas y neuronas que conforman una RNA puede ser seleccionado

de forma arbitraria dependiendo del tipo de problema que se pretende resolver. En la literatura

existen ciertas recomendaciones relacionadas con el tipo, cantidad y calidad de patrones con los

que se cuenta para el entrenamiento. Por ejemplo:

a) Se recomienda el triple de neuronas en las capas ocultas que en la capa de entrada

[BrainMaker, 1992].

b) Es posible la solución de cualquier problema con una RNA con una sola capa oculta

[Laurence, 1994].

c) El número de muestras necesario para un buen entrenamiento está dado por ( 2.26 ).

𝑚𝑖𝑛(𝑛, 𝑝) ∙ 𝑀 ( 2.26 )

Donde n es el número de neuronas en la capa de entrada de la red, p el número total

de neuronas ocultas y M el número de clases que se desea clasificar [Mehrotra, 1991].

Aunado a lo anterior, es importante considerar el costo computacional que tendrá el

trabajar con una RNA con un número elevado de conexiones.

Uno de los primeros métodos de entrenamiento para RNAs multicapa capaz de propagar

eficientemente la información del error (entre la salida real y la esperada) a todas las capas de la

red fue propuesta en [Werbos, 1974]; sin embargo, no fue hasta la publicación de [Parker, 1985],

[Rumelhart, 1986] y [McClelland, 1988] cuando dicho método ganó popularidad.

El método de entrenamiento por retropropagación (BP por las siglas en inglés de

backpropagation), toma su nombre por su forma particular de propagar la información del error de

la RNA desde la capa de salida hasta la capa de entrada.

Page 71: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 39

En la figura 2.28 se muestra el diagrama general de una RNA del tipo perceptrón multicapa

con una única capa oculta. En este diagrama están indicados los pesos asociados a cada una de

las conexiones así como los vectores que contienen los datos de entrada y salida de la red. Los

umbrales (θ) de las neuronas en la capa oculta (Z) y la capa de salida (Y) no se indican pero están

presentes.

En la tabla 2.2 se establece la nomenclatura asociada que será utilizada en el estudio del

algoritmo BP.

Tabla 2.2 Nomenclatura utilizada en el estudio del algoritmo BP

Símbolo Significado

x Vector de entrenamiento de entrada:

Entrada = x = ( x1 ,…, xi ,…, xn )

y Vector de salida de la red (salida real):

Salida = y = ( y1 ,…, yk ,…, ym )

t Vector de salida esperada:

SalidaE = t = ( t1 ,…, tk ,…, tm )

δYk Error de la neurona k de la capa de salida Y (respecto a la salida esperada).

δZj Error de la neurona j de la capa oculta Z (respecto a la capa de salida).

α Taza de aprendizaje: modifica la velocidad con la que la red aprende.

Xi Neurona de entrada i.

θZj Umbral de la neurona j de la capa oculta Z.

Zj Neurona oculta j.

θYk Umbral de la neurona k de la capa de salida Y.

Yk Neurona de salida k.

Page 72: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

40 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 2.28 Diagrama de un perceptrón multicapa con una capa oculta

Page 73: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 41

2.3.5. Retropropagación de error (backpropagation)

BP es un algoritmo de entrenamiento no supervisado cuyo objetivo principal es la minimización del

error (entre la salida real y la esperada) de cada uno de los patrones de entrenamiento. Existen

tres estados básicos durante el entrenamiento de una RNA por BP:

a) Alimentación hacia adelante (FF por las siglas en inglés de feedforward): Se calcula la

salida de cada una de las neuronas desde la capa de entrada hasta obtener la salida real

de la red.

b) Retropropagación del error (backpropagation): Se calcula el error entre la salida real y

la esperada, se propaga hacia las capas anteriores y se calculan los cambios de pesos y

umbrales que sufrirán las neuronas que conforman la red.

c) Actualización de pesos y umbrales: Se actualizan los pesos y umbrales con los datos

calculados durante la retropropagación del error.

Aunque existen diversas variaciones que han surgido a lo largo del tiempo que intentan

reducir el tiempo y costo computacional que requiere el entrenamiento de una RNA por BP, en las

siguientes secciones se estudiará el algoritmo clásico como base para otras versiones.

2.3.5.1 Función de activación

La función de activación para una red entrenada por BP debe cumplir ciertas características como:

ser continua, fácilmente diferenciable y monótonamente no decreciente [Laurence, 1994]. Una de

las funciones más utilizadas es la sigmoide binaria (ver figura 2.29) que, con un rango (0, 1), está

definida por ( 2.27 ).

𝑓(𝑥) =1

1 + 𝑒−𝑥 ( 2.27 )

Con una primera derivada dada por ( 2.28 ).

𝑓′(𝑥) = 𝑓(𝑥) 1 − 𝑓(𝑥) ( 2.28 )

Figura 2.29 Gráfica de la función binaria sigmoide

Page 74: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

42 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.3.5.2 Algoritmo de entrenamiento

A continuación se muestra el pseudocódigo del algoritmo BP en 13 pasos:

Paso 1. Inicialización de pesos y umbrales. Establecer en valores aleatorios pequeños (p. e. [-0.3, 0.3]).

Paso 2. Mientras la condición de paro sea falsa, hacer pasos 3 a 13.

Paso 3. Por cada patrón de entrenamiento, hacer los pasos 4 a 12.

Alimentación hacia adelante (feedforward, FF):

Paso 4. Cada unidad de entrada (Xi, i = 1,…,n) recibe información del vector de entrenamiento (x) y la transmite directamente a las unidades de la siguiente capa (la capa oculta Z).

Paso 5. Cada unidad oculta (Zj, j = 1,…,p) realiza la sumatoria de

sus entradas ponderadas (zInj) mediante ( 2.23 ) y aplica su función de activación mediante ( 2.27 ) para obtener su señal de salida (zOutj) y transmitirla a las unidades de la siguiente capa (la capa de salida Y),

Paso 6. Cada unidad de salida (Yk, k = 1,…,m) realiza la

sumatoria de sus entradas ponderadas (yInk) mediante ( 2.23 ) y aplica su función de activación mediante ( 2.27 ) para obtener su señal de salida (yOutk) que conformará el vector de salida de la red (y).

Retropropagación del error (backpropagation, BP):

Paso 7. Cada unidad de salida (Yk, k = 1,…,m) recibe un valor proveniente del vector de salida esperado (t) y calcula su error (δYk) mediante:

𝛿𝑌𝑘 = 𝑡𝑘 − 𝑦𝑂𝑢𝑡𝑘 𝑓′ 𝑦𝐼𝑛𝑘 ( 2.29 )

Paso 8. Cada unidad de salida (Yk, k = 1,…,m) calcula el cambio

que sufrirán su umbral y los pesos asociados a sus conexiones con las unidades de la capa inmediata anterior (la capa oculta Z) mediante:

∆𝑤𝑗𝑘 = 𝛼𝛿𝑌𝑘𝑧𝑂𝑢𝑡𝑗 ( 2.30 )

∆𝜃𝑌𝑘 = 𝛼𝛿𝑌𝑘 ( 2.31 )

* Los cambios calculados en este paso serán actualizados hasta el paso 11.

Page 75: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 43

Paso 9. Cada unidad oculta (Zj, j = 1,…,p) calcula su error (δZj) mediante:

𝛿𝑍𝑗 = 𝛿𝑌𝑘𝑤𝑗𝑘

𝑚

𝑘=1

𝑓 ′(𝑧𝐼𝑛𝑗 ) ( 2.32 )

Paso 10. Cada unidad oculta (Zj, j = 1,…,p) calcula el cambio que

sufrirán su umbral y los pesos asociados a sus conexiones con las unidades de la capa inmediata anterior (la capa de entrada X) mediante:

∆𝑣𝑖𝑗 = 𝛼𝛿𝑍𝑗 𝑥𝑖 ( 2.33 )

∆𝜃𝑍𝑗 = 𝛼𝛿𝑍𝑗 ( 2.34 )

* Los cambios calculados en este paso serán actualizados hasta el paso 12.

Actualización de pesos y umbrales:

Paso 11. Cada unidad de salida (Yk, k = 1,…,m) actualiza el valor de su umbral y de los pesos asociados a sus conexiones con las unidades de la capa inmediata anterior (la capa oculta Z) mediante:

𝑤𝑗𝑘 𝑛𝑢𝑒𝑣𝑜 = 𝑤𝑗𝑘 𝑣𝑖𝑒𝑗𝑜 + ∆𝑤𝑗𝑘 ( 2.35 )

𝜃𝑌𝑘(𝑛𝑢𝑒𝑣𝑜) = 𝜃𝑌𝑘(𝑣𝑖𝑒𝑗𝑜) + ∆𝜃𝑌𝑘 ( 2.36 )

Paso 12. Cada unidad oculta (Zj, j = 1,…,p) actualiza el valor de su

umbral y de los pesos asociados a sus conexiones con las unidades de la capa inmediata anterior (la capa de entrada X) mediante:

𝑣𝑖𝑗 𝑛𝑢𝑒𝑣𝑜 = 𝑣𝑖𝑗 𝑣𝑖𝑒𝑗𝑜 + ∆𝑣𝑖𝑗 ( 2.37 )

𝜃𝑍𝑗 (𝑛𝑢𝑒𝑣𝑜) = 𝜃𝑍𝑗 (𝑣𝑖𝑒𝑗𝑜) + ∆𝜃𝑍𝑗 ( 2.38 )

Paso 13. Probar condición de paro.

La salida de la red en la etapa de reconocimiento se obtiene a partir del algoritmo FF

descrito en los pasos 4-6. El algoritmo para la etapa de entrenamiento de una RNA con más de

una capa oculta puede ser deducido por el lector a partir de los pasos 5; 9-10; 12.

Page 76: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 2 Marco teórico

44 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2.3.6. El perceptrón multicapa recurrente

Existen problemas de clasificación que requieren consideraciones temporales para su correcto

funcionamiento. Tal es el caso de la clasificación del comportamiento en la conducción de

vehículos, donde la información de los estados anteriores puede ser fundamental para la

clasificación y predicción de los estados siguientes.

En la figura 2.30 se muestra el diagrama de una RNA multicapa recurrente donde cada

neurona en la capa de salida tiene una conexión directa a una neurona en la capa de entrada.

Figura 2.30 Diagrama de un perceptrón multicapa recurrente con una capa oculta

Para este tipo de redes el número de neuronas que conforman la capa de entrada está

dado por ( 2.39 ).

𝑛 = 𝑚 + 𝑖 ( 2.39 )

Donde n es el número de neuronas de la capa de entrada de la red, m el número de

neuronas en la capa de salida e i el número de datos en el vector Entrada.

Es posible utilizar el mismo algoritmo de entrenamiento descrito en la sección 2.3.5.2 en

una RNA recurrente si se considera su funcionamiento en el análisis y diseño del sistema; así

mismo, se pueden tener consideraciones temporales mediante el cambio del espacio de

representación de los datos de entrada (p. e. obtener la media, varianza o desviación estándar de

una o más variables).

Page 77: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 45

Capítulo 3

Metodología de solución

En este capítulo se presenta la metodología propuesta para la solución del problema

planteado en este proyecto. Dicha metodología se encuentra resumida en el diagrama de

bloques mostrado en la figura 3.1.

Figura 3.1 Diagrama de bloques de la metodología de solución planteada para el proyecto

Page 78: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 3 Metodología de solución

46 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En las siguientes secciones de este capítulo, se presenta el análisis y explicación de

cada unos de los módulos mostrados en el diagrama anterior.

3.1 Adquisición de datos y conocimiento

En la primera etapa del proyecto, se recopiló toda la información necesaria para la clasificación del

comportamiento. Dicha recopilación, se realizó durante una estancia de investigación llevada a

cabo en la URJC de España.

3.1.1. Simulador de conducción

En primer lugar, se realizó el monitoreo de ejercicios de conducción

ejecutados en la cabina de simulación del proyecto CABINTEC. Dichos

ejercicios, diseñados en conjunto con el grupo FRAV, fueron realizados

por un conductor profesional que permitió contar con datos de situaciones

reales; además, se realizó una monitorización sincronizada de imágenes y

datos que permitió la coordinación de la información visual con los datos de la dinámica del

vehículo arrojados por el sistema de simulación.

Estos últimos, contenidos en archivos de registro (llamados también logs), contienen la

información de ciertos aspectos de las situaciones presentadas durante la simulación.

3.1.1.1 Log simulador (registros de simulación)

Una vez realizados los ejercicios de simulación, los archivos de registros

fueron recopilados desde una de las computadoras encargadas del control

de la cabina. Las variables consideradas para la alimentación del sistema

clasificador (provenientes de dichos registros), fueron redefinidas después

de conocer sus características reales (respecto a las establecidas en los

alcances de este proyecto); además, como parte del preprocesamiento de

datos del KDD, se realizó una selección de variables y una normalización

de los datos. Al final, la información recopilada de estos registros, fue unida a la generada por el

sistema de VA, que se encargó de la detección automática de las manos del conductor sobre el

volante en imágenes provenientes del monitoreo visual de los ejercicios de simulación realizados.

3.1.1.2 Visión artificial

Para complementar los datos de la dinámica del vehículo (contenidos en

los registros de simulación) para la alimentación del clasificador neuronal

del comportamiento, se implementó un sistema de VA capaz de realizar la

detección automática de las manos del conductor en el volante. Para el

análisis de imágenes se planteó, en las limitaciones de este proyecto, la

utilización de videos sin compresión; sin embargo, la duración de las

capturas realizadas resultó en archivos de video de tamaños no

soportados por sistemas de archivos tradicionales [Microsoft, 2005].

Page 79: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 47

Al final, las capturas realizadas fueron almacenadas en archivos de imágenes estáticas. La

información generada por el sistema de VA, consistió en BDs que indican si cada una de las

manos fue detectada o no en cierto instante de la simulación. Esta información, en conjunto con la

descrita en la sección anterior, permitió la generación de las BDs finales utilizadas en las pruebas

de este proyecto.

3.1.1.3 Datos del fenómeno de conducción

Para la generación “manual” de modelos de comportamiento a partir de

conocimiento simbólico, se realizó una investigación de recomendaciones

realizadas a conductores en algunos documentos oficiales publicados por

agencias gubernamentales y académicas de diversos países.

Junto a lo anterior, se realizaron diversas entrevistas con expertos

en seguridad vial para la búsqueda de reglas que permitieran la

generación de dichos modelos. Al final, se desarrolló una herramienta de adquisición del

conocimiento que permitió, de forma automática, la adquisición de la información que los expertos

humanos no desearon arriesgarse a inferir en forma de reglas.

El conocimiento adquirido durante dichos experimentos de adquisición, permitió la

generación automática de los modelos del comportamiento mediante el entrenamiento de RNAs.

3.2 Clasificación del comportamiento

En la segunda etapa, y para la clasificación del comportamiento de

conducción, se implementó un simulador neuronal que permitiera un

control preciso de las características de las RNAs utilizadas.

Dicho control de bajo nivel, imposible de obtener mediante la

utilización de herramientas neuronales comerciales, brindó ciertas

ventajas al desarrollo del proyecto; por ejemplo, la portabilidad de los

clasificadores entrenados para su aplicación en la herramienta de adquisición de conocimiento

que, gracias a su aceptación en su presentación a diversos investigadores del área, es también

utilizada para la representación del conocimiento y la reproducción de sesiones de simulación

generadas en la cabina de simulación del CABINTEC.

Finalmente, para una clasificación más específica del comportamiento del conductor, el

número de clases consideradas en el entrenamiento de los clasificadores fue ampliado, respecto a

lo establecido en los alcances de este proyecto, a cinco tipos: segura, aceptable, poco riesgosa,

bastante riesgosa y muy riesgosa.

Dado que la valoración del nivel de riesgo en los ejercicios simulados, realizada por los

expertos humanos en los experimentos de adquisición del conocimiento, se encuentra en un rango

numérico, fue necesaria la cuantificación de dichos valores para la división de la información en las

cinco clases establecidas.

Page 80: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 3 Metodología de solución

48 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

3.2.1. Entrenamientos del sistema

Para la generación automática de los modelos del comportamiento de

conducción, se realizaron entrenamientos a diversas RNAs clasificadoras

mediante el simulador neuronal implementado. Para ello, se utilizó el 50%

(seleccionado aleatoriamente) de los datos contenidos en las BDs

generadas con la información recopilada en la primera etapa de la

metodología.

La sumatoria del tiempo de entrenamientos de cada una de las

RNAs utilizadas para la clasificación del comportamiento, da una duración

total mayor a 8,000 horas5 que, equivalentes a casi un año de

procesamiento, pudieron ser extendidos para obtener un mejor resultado.

Además, como una actividad extra, se realizaron diversos experimentos con minería de

datos como una aproximación más para la búsqueda de reglas tangibles que pudieran definir el

comportamiento de conductores mediante el análisis de los resultados obtenidos de algoritmos de

generación automática de reglas.

3.2.2. Pruebas del sistema

En esta última etapa del proyecto, se ejecutaron diversos experimentos

con los clasificadores entrenados que permitieron, mediante el análisis y

comparación de sus resultados, la generación de las conclusiones finales

de esta tesis; además, algunas de estas pruebas, abrieron caminos de

investigación que pueden ser utilizados en el desarrollo de proyectos

futuros relacionados con el modelado automático del comportamiento de

conductores.

En el siguiente capítulo de este documento, se presenta el desarrollo de este proyecto en

el orden en el que fue, finalmente, realizado.

5 El tiempo total de entrenamiento es calculado mediante la suma del tiempo de entrenamiento de todas las RNAs utilizadas; sin embargo, el

entrenamiento de algunas de ellas fue realizado en paralelo por lo que dicho tiempo no implica un periodo continuo de tiempo, sino uno de procesamiento computacional.

Page 81: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 49

Capítulo 4

Desarrollo

En este capítulo, se describe paso a paso el desarrollo de este proyecto. Dadas

ciertas condiciones encontradas durante la investigación realizada (expuestas en diversas

secciones del presente capítulo), el orden de la metodología descrita en el capítulo anterior

debió variarse. En la figura 4.1, se muestra un esquema de la relación que existe entre los

módulos de la metodología de solución propuesta y las etapas del desarrollo realizado.

Figura 4.1 Esquema de relación entre la metodología propuesta y el desarrollo realizado

Page 82: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

50 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.1 Recopilación de información

Los datos en los que se sustenta el desarrollo de este proyecto, fueron recopilados en la primera

etapa. Para ello, se realizó una estancia de investigación con el grupo Face Recognition & Artificial

Vision Group (FRAV) de la Universidad Rey Juan Carlos (URJC) de España que, al ser parte del

proyecto CABINTEC, facilitó el acceso a la cabina de simulación ubicada en el Centro de Estudios

e Investigaciones Técnicas de Gipuzkoa (CEIT) en San Sebastián, España.

En dicha estancia, realizada gracias a la convocatoria “Becas Mixtas en el Extranjero” del

Consejo Nacional de Ciencia y Tecnología (CONACYT) de México, se realizaron las siguientes

actividades principales:

Redacción y publicación6 de un artículo técnico.

Estudio del estado del arte7.

Diseño e implementación de un sistema de captura de imágenes.

Diseño y ejecución de ejercicios de conducción en simulador.

Diseño e implementación de un sistema de adquisición de conocimiento.

Diseño y ejecución de adquisición de conocimiento de expertos en seguridad vial.

En las siguientes secciones se describirán las herramientas y experimentos desarrollados

en esta primera etapa de desarrollo. Estas herramientas, no planificadas en la propuesta inicial,

fueron indispensables para el desarrollo de este proyecto y, además, resultaron de gran utilidad

para diversos proyectos en los que el FRAV se encuentra involucrado.

4.1.1. Sistema de captura de imágenes

El grupo FRAV, interesado también en la captura de éstas imágenes, se encuentra desarrollando

un sistema de captura paralelizado utilizando Field Programmable Gate Arrays (FPGAs).

Dicho sistema, aún en desarrollo, permitirá la captura y compresión de imágenes en

formato JPEG a muy altas velocidades; sin embargo, debido al tiempo acotado de la estancia de

investigación realizada, fue necesario el diseño e implementación de una herramienta propia de

captura de imágenes.

6 Artículo titulado “TÉCNICAS DE PDI PARA EL SEGUIMIENTO DE LAS MANOS DE UN CONDUCTOR EN EL VOLANTE” publicado en la

decimonovena reunión de otoño de comunicaciones, computación, electrónica y exposición industrial (ROC&C 2008) organizada por la IEEE en Acapulco, Guerrero, México.

7 Estudio presentado en el capítulo 2 del presente documento.

Page 83: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 51

Para tal motivo, se utilizó uno de los cuatro sensores CMOS de cinco megapíxeles con los

que cuenta el grupo FRAV.

Dicho sensor, mostrado en la figura 4.2, cuenta con un convertidor analógico digital de 12

bits que es capaz de entregar imágenes a una cadencia mayor a 200 imágenes por segundo en

resolución QVGA (320 x 240).

Figura 4.2 Sensor digital de imágenes Micron® MT9P031

Este sensor, cuenta con una tarjeta llamada “Demo2A” que permite su conexión a una

computadora por medio de un puerto USB 2.0.

Al ser un dispositivo de altas prestaciones, no es detectado por el sistema operativo como

un elemento común de adquisición de imágenes (cómo escaners o cámaras web) y no puede ser

utilizado por medio de programas o herramientas comerciales.

La empresa Micron®, fabricante de este sensor, provee de ciertas librerías dinámicas que

permiten el uso y control de su producto a través de herramientas de programación como Visual

Studio o Borland Builder en su sexta versión (BB6); así mismo, proporciona al programador cierta

documentación limitada para el uso de dichas librerías y algunos programas de ejemplo de donde

se puede obtener información suficiente para el desarrollo de una aplicación propia que permita la

configuración del sensor así como la captura, conversión, compresión y guardado de imágenes.

Pruebas realizadas antes del inicio del desarrollo de este sistema, mostraron las

desventajas que conlleva la captura de secuencias grandes de imágenes en formatos de video

debido, principalmente, a que los sistemas de archivos como FAT16 y FAT32 limitan el tamaño

máximo de cada archivo y pueden llegar a corromper los datos contenidos en él; por lo anterior, se

decidió que la captura se realizaría en archivos de imagen individuales [Microsoft, 2005].

El MT9P031 por si mismo entrega imágenes en un formato llamado BAYER. Este formato,

inventado por el Dr. Bryce Bayer para KODAK en 1976, se convirtió durante mucho tiempo en el

estándar de fabricantes de dispositivos de adquisición de imágenes digitales.

Page 84: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

52 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

También conocido como filtro, máscara o mosaico de Bayer, se trata de una malla

cuadriculada de filtros rojos, verdes y azules (figura 4.3) que se sitúa sobre un sensor digital y

permite el paso de la intensidad de solo uno de los colores RGB, haciendo a cada píxel sensible a

una determinada longitud de onda [Bayer, 1976].

Figura 4.3 Representación y funcionamiento de la máscara Bayer

Para realizar una conversión de este formato a RGB, es necesaria la interpolación de los

dos canales faltantes de cada píxel con la información de su vecindad. Existen muchos métodos

estándares de interpolación que pueden ser aplicados para esta conversión [Sakamoto, 1998].

En este caso, por cuestiones de velocidad de procesamiento, se implementó uno de los

métodos de conversión más sencillos, que consiste en dar a los valores de los dos canales

faltantes de cada píxel el valor o promedio de valores de los vecinos más cercanos que contenga

información del color de los canales faltantes.

Una vez que la imagen fue recibida y convertida al formato RGB, es guardada en el disco

duro con un nombre de archivo estándar que permita su procesamiento posterior de una forma

secuencial. La estructura del nombramiento de archivos se presenta en la tabla 4.1.

Page 85: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 53

Tabla 4.1 Estructura estándar para nombres de archivos de imágenes capturada

Img - XXXXXXXXXX - XXXXX - .jpg P

refijo

Sep

ara

dor

Identificador

Sep

ara

dor

Info

rmació

n

Sep

ara

dor

Term

inació

n

Prefijo

o Inicio de nombre de archivo e indicación de su tipo.

Separador

o Separador para facilitar el análisis automático del nombre de archivo.

Identificador

o Número consecutivo de 10 dígitos para su ordenamiento secuencial.

Información

o Este número puede indicar el tiempo que ha transcurrido desde que se inició la captura hasta que la propia imagen fue capturada o el ciclo en el que se encuentra la simulación cuando se trata de una captura sincronizada.

Terminación

o Necesaria para la identificación del tipo de archivo por el sistema operativo.

Pensando en la utilización futura de estas secuencias de imágenes en forma sincronizada

con la información de la dinámica del vehículo almacenada por el simulador en cada sesión de

práctica, se hizo necesaria la implementación de un módulo de conexión para recibir un

identificador y permitir la correlación de los datos de una forma adecuada. Este identificador

llamado CICLO, es un número consecutivo generado por el centro de control del simulador para la

sincronización interna de los módulos que toman parte en la generación de los ambientes de

simulación (ver figura 4.4).

La conexión entre el sistema de adquisición de imágenes y el servidor del control de

simulación se realiza por medio de UDP (User Datagram Protocol), que es un protocolo del nivel

de transporte basado en el intercambio de datagramas que permite el envío de información a

través de la red sin que se haya establecido previamente una conexión [Postel, 1980]. Este

protocolo, a diferencia del TCP (Transfer Control Protocol), no tiene confirmación ni control de flujo,

por lo que no es posible determinar si dicha información ha llegado correctamente; sin embargo, el

uso de este protocolo es fundamental para no afectar el desempeño del simulador si existiesen

problemas con los dispositivos conectados a él.

Al realizar una captura sincronizada por medio del sistema descrito, se realiza el mismo

proceso de captura, conversión y compresión. La diferencia radica en la generación del nombre de

archivo para ser guardado en el disco duro, donde se incluye el identificador del ciclo obtenido

mediante el vaciado del buffer de recepción para asegurarse que el dato recibido es justamente el

último transmitido por el servidor. Una vez que es establecido el tamaño de dicho buffer, basta con

leer el último paquete recibido para asegurarse que el siguiente será el identificador de ciclo actual.

Page 86: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

54 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.4 a) Centro de control y b) Módulos de generación del simulador del proyecto CABINTEC

El puerto utilizado para realizar esta conexión, generado a través de las librerías

WINSOCK, es configurado como bloqueante para asegurar el paro del programa hasta la

recepción del dato deseado; lo anterior, permite la captura de imágenes únicamente cuando se

está ejecutando una simulación. Los parámetros de conexión, configurables dentro del sistema de

captura de imágenes, se resumen en la tabla 4.2.

Tabla 4.2 Parámetros de conexión con servidor de simulador

Parámetro Local Remoto

Puerto 50000 10500

Dirección IP 192.168.153.81 192.168.153.12

AF AF_INET AF_INET

Para buscar las mejores condiciones posibles para la captura de imágenes en las

situaciones de oscuridad que presenta la cabina de simulación, se incorporaron controles en el

sistema que permiten la configuración del sensor (ver figura 4.5):

Tiempo de exposición: Tiempo de exposición de cada píxel a la luz incidente.

Ganancia RGB: Ganancia digital y analógica para la mejora de la imagen.

Resolución de imágenes: Tamaño de las imágenes adquiridas.

Uso de Binning o Skipping: Método de reducción de resolución.

Uso de PLL: Multiplicador de reloj para aumentar la cadencia de captura.

Page 87: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 55

Figura 4.5 Formulario de configuración de formato para captura de imágenes

Finalmente, en cuanto a la mejora de imágenes, se propuso el uso de un filtro infrarrojo que

bloqueara la luz visible limitando el ruido proveniente de otras fuentes de iluminación. Los

resultados obtenidos con el uso de dicho filtro, gracias a los iluminadores infrarrojos con los que el

grupo FRAV cuenta, se resumen en la figura 4.6, en donde se puede observar, en las imágenes de

lado izquierdo, el ruido causado por la luz proveniente del monitor de una computadora así como el

parpadeo de la luz artificial.

Figura 4.6 Resultados de utilización de filtros infrarrojos en la captura de imágenes

Page 88: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

56 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

El código fuente de este sistema se encuentra documentado, por medio de comentarios,

para la utilización de sus algoritmos en proyectos del CENIDET; así mismo, se almacenó el código

fuente y los archivos ejecutables en el servidor del grupo FRAV para permitir futuras adquisiciones

en caso de ser necesario. En la figura 4.7, se muestra la pantalla principal del sistema de captura

de imágenes desarrollado.

Figura 4.7 Formulario principal del sistema de captura de imágenes

Finalmente, se enlistan las características principales de la versión final del sistema:

Captura de imágenes desde sensores MICRON® con placa Demo2A o cámaras web

Configuración de formato de imagen para captura

Compresión de imágenes en JPG con calidad configurable

Captura de imágenes (normal o sincronizada) con el simulador del proyecto CABINTEC

Envío de audio y vídeo TCP/IP para el subproyecto REGISTRA del proyecto CABINTEC

Acoplamiento de algoritmos de seguimiento de manos

Page 89: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 57

Los resultados obtenidos con la utilización de este sistema son capturas por más de

100,000 imágenes que fueron utilizadas para el desarrollo del sistema de VA. Dichas imágenes,

fueron capturadas en la ejecución de cuatro ejercicios de simulación que se describen en la

siguiente sección.

4.1.2. Ejercicios de conducción en simulador

Para recopilar información suficiente durante el acceso a la cabina de simulación que brindó la

estancia de investigación, se ejecutaron y monitorearon cuatro ejercicios de simulación con una

duración total mayor a 2:30 horas.

En la figura 4.8 se muestran imágenes de la cabina de simulación del proyecto CABINTEC

utilizada para la ejecución de dichos ejercicios.

Figura 4.8 Cabina de simulación del simulador del proyecto CABINTEC

Esta cabina, idéntica a la utilizada en un vehículo real de transporte, se encuentra ubicada

sobre una base móvil para proporcionar realismo al conductor en cuanto a los movimientos que

tendría un vehículo real en diversas situaciones. Para la visualización del escenario simulado, se

encuentra situada frente a tres pantallas de retroproyección que, por medio de sendos video

proyectores, permiten al conductor una visibilidad de 180º. En la figura 4.9, se muestran los planos

de planta y perspectiva de la distribución de los elementos descritos.

Page 90: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

58 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.9 Planos de ubicación de cabina de simulación, pantallas de proyección y vídeo proyectores

El monitoreo de ejercicios consistió en tres tareas que se describen a continuación:

Imágenes del sensor

Se trata de imágenes cenitales8 de las manos del conductor en la zona del volante

de la cabina (ver figura 4.10). Estas imágenes, capturadas por medio del sistema descrito

en la sección anterior, se encuentran sincronizadas con los registros de simulación; es

decir, es posible saber exactamente el instante en el que fueron capturadas a lo largo de

los ejercicios simulados.

Figura 4.10 Muestra de imágenes de sensor en un ejercicio de simulación

Estas imágenes son usadas tanto para la detección automática de la posición de

las manos del conductor (ver sección 4.2) como para brindar información visual a los

expertos humanos en el proceso de adquisición de conocimiento (ver sección 4.1.3). La

ubicación del sensor de imágenes e iluminadores infrarrojos se muestra en la figura 4.12.

8 El plano cenital es aquel en el que la óptica de la cámara se encuentra en la vertical respecto al suelo. La imagen obtenida a través de este

método ofrece un campo de visión orientado de arriba hacia abajo. Este término se emplea en la realización de televisión y fotografía.

Page 91: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 59

Videos del sistema de representación visual del simulador

Se trata de videos grabados con una videocámara comercial de la empresa SONY®

de la vista principal del conductor (pantalla central de proyección). Dado que la grabación

de estos videos no se realizó en forma síncrona con el simulador del CABINTEC, su

correcta correlación con las imágenes del sensor y registros de simulación se basa en la

cadencia de 25 cuadros por segundo que específica la empresa fabricante de dicha

videocámara. A estos videos se les llama “del visual” debido a que es el nombre del

sistema de representación gráfica del simulador.

Debido a que la grabación se realizó en la parte posterior de la pantalla de

proyección, es necesario rotarlo horizontalmente para una correcta representación. En la

figura 4.11 se muestra un cuadro de ejemplo de estos videos. La ubicación del dispositivo

de captura se muestra con una marca roja en la figura 4.9 (a).

Figura 4.11 Muestra de un cuadro de videos del visual en un ejercicio de simulación

Estos videos son usados únicamente para brindar información visual a los expertos

humanos en el proceso de adquisición de conocimiento (ver sección 4.1.3).

.

Registros de simulación

Son archivos de texto (.txt) que, generados automáticamente por el simulador

durante cada una de las sesiones de simulación, contienen la información del estado del

vehículo a una razón aproximada de 409 registros por segundo. El contenido y formato de

estos archivos se describe en la sección 4.1.2.1.

Estos registros son utilizados para la reproducción de sesiones de simulación en el

sistema de adquisición de conocimiento, para la sincronización de las imágenes del sensor

y videos del visual y para el entrenamiento de la RNAs clasificadoras.

9 El simulador genera aproximadamente 125 ciclos de simulación por segundo; sin embargo, el almacenamiento de registros se realiza a una

tasa más baja por cuestiones de tiempo de procesamiento.

Page 92: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

60 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la figura 4.12 se muestran cuatro imágenes desde diferentes perspectivas de la

ubicación del sensor de imágenes e iluminadores infrarrojos en la cabina de simulación, utilizados

para la captura de imágenes de la vista cenital del conductor (imágenes del sensor).

Figura 4.12 Ubicación de sensor de imágenes e iluminadores infrarrojos en la cabina de simulación

Los ejercicios de simulación fueron ejecutados por el conductor profesional Matías

Sevillano Vecillas que, con más de 20 años de experiencia, ofreció su apoyo a través del grupo

FRAV para la realización de estos experimentos. Cada ejercicio fue realizado en un ambiente de

simulación diferente para permitir una mayor diversidad en los datos recopilados. A continuación se

describen cada uno de dichos ambientes:

Ejercicio 1: Urbano

Se trata de un ambiente dentro de calles y avenidas de una ciudad virtual.

Ejercicio 2: Montaña

Se trata de un ambiente de carretera en una zona montañosa.

Ejercicio 3: Inter Urbano (Montaña + Urbano)

Se trata de un ambiente que inicia en zona montañosa y termina en una ciudad.

Ejercicio 4: Circuito Continuo

Se trata de un ambiente de una zona montañosa controlada y sin fin. Este

ambiente es utilizado para estudiar la somnolencia de conductores.

Page 93: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 61

En la figura 4.13 se muestran algunas imágenes del conductor profesional durante la

ejecución de los ejercicios descritos. En las imágenes, se le ve utilizando un teléfono móvil como

parte de algunas acciones “riesgosas” realizadas a lo largo de las simulaciones.

Figura 4.13 Matías Sevillano Vecillas ejecutando ejercicios de simulación en la cabina del CABINTEC

En la tabla 4.3 se resumen los datos recopilados durante el monitoreo de los cuatro

ejercicios de simulación descritos.

Tabla 4.3 Resumen de los cuatro ejercicios capturados en la cabina de simulación del CABINTEC

Ejercicio Tipo de

Ambiente Tiempo de ejecución

Imágenes de Sensor

Video del Visual

Registros de Simulación

1 Urbano 34 minutos 38,811 34 minutos 123,290

2 Montaña 32 minutos 35,721 30 minutos 149,750

3 Inter-Urbano 33 minutos 38,813 30 minutos 122,320

4 Circuito 62 minutos 61’286 52 minutos 240,980

TOTAL 4 161 minutos 174,631 146 minutos 636,340

Page 94: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

62 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.1.2.1 Adquisición de registros de simulación

Al final de la realización de los cuatro ejercicios de simulación, fue posible la extracción de los

archivos de registro. Dichos archivos, nombrados con la fecha y hora del inicio de la sesión de

simulación, contienen, en primer lugar, un encabezado de tres líneas que indica la fecha y hora del

inicio de la simulación como se muestra en la tabla 4.4.

Tabla 4.4 Ejemplo de encabezado de archivos de registros de simulación

LÍNEA CONTENIDO

1 DATOS DE LA SIMULACION:

2 FECHA Y HORA Wed Oct 29 13:22:28 2008

3

Después de estas tres líneas, contienen una con los nombres de cada una de las variables

contenidas en cada registro en formato de texto. A partir de esta línea, inician los registros de los

datos de simulación con valores separados por punto y coma (“;”). Para el caso de los archivos

generados para este proyecto, cada registro contiene 30 variables que se describen en la tabla 4.5.

Tabla 4.5 Variables contenidas en los archivos de información generados por el simulador

ID Variable Descripción Tipo Unidad | (Rango)

1 Número de ciclo Número de ciclo del simulador integer (1 – INF)

2 Tiempo Tiempo transcurrido float Segundos con milésimas (0 – INF)

3 Velocidad Velocidad del vehículo float Km/h con dos decimales (0 – 90)

4 Posición lateral Distancia vehículo - carril float Metros con resolución de mm

5 Ancho carril Anchura del carril. float Metros con resolución de mm

6 TTLC Tiempo de cambio de carril. float Segundos (0 – “#INF”)

7 Error ángulo Ángulo entre vehículo y carretera. float Grados con décimas

8 Posición volante Ángulo de giro del volante float Grados con centésimas

9 % Freno % de presión sobre el pedal float Porcentaje (0 – 100)

10 Retarder Palanca de retarder integer Posición de la palanca (0 – 4)

11 % Acelerador %de presión sobre el pedal. float Porcentaje (0 – 100)

12 Marcha Marcha actual del vehículo integer Marcha de la transmisión (0 – 12)

13 Intermitentes Estado de los intermitentes integer (-1, 0, 1)

14 Luces Estado de las luces integer (0, 1, 2, 3)

15 Revoluciones Revoluciones por minuto integer RPM (0 – INF)

16 Consumo Consumo instantaneo integer Litros por Segundo

17 Nivel del depósito Combustible en el depósito integer Litros (0 – 500)

18 Distancia recorrida Distancia total recorrida integer Metros (1 – INF)

19 Pendiente Pendiente de la carretera integer Porcentaje (0 – 100)

20 Distancia V.D. Distancia al vehículo delantero entero Metros (0 – 500)

21 Velocidad V.D. Velocidad vehículo delantero float Km/h con dos decimales

22 Número de carril ID de carril por el que se circula integer Valor interno del simulador

23 Posición vehículo (X) Coordenadas del escenario 3D float Metros con resolución de cm

24 Posición vehículo (Y) Coordenadas del escenario 3D float Metros con resolución de cm

25 Posición carretera (X) Coordenadas del escenario 3D float Metros con resolución de cm

26 Posición carretera (Y) Coordenadas del escenario 3D float Metros con resolución de cm

27 Anti niebla Estado de luces anti niebla integer (0, 1)

28 Velocidad carretera Velocidad máxima recomendada integer Km/h (0 – INF)

29 PK Punto kilométrico de carretera integer Km (0 – INF)

30 Campo 30 Identificador interno de simulador float Valor interno del simulador

Fuente: CABINTEC: Almacenamiento de variables en el simulador, Universidad de Valencia.

Page 95: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 63

Al final de todos los registros que conforman la información, se tienen tres líneas finales

que indican la fecha y hora de finalización del ejercicio así como el tiempo total de duración como

se muestra en la tabla 4.6.

Tabla 4.6 Ejemplo de finalización de los archivos de registros de simulación

LÍNEA CONTENIDO

1 DATOS SIMULACION. HORA FINALIZACION:Wed Oct 29 14:16:16 2008

2

3 TIEMPO TOTAL 3227.234000

Para la reproducción y sincronización de las simulaciones, se adquirieron cuatro archivos

de texto con la información descrita en esta sección (uno por cada ejercicio realizado). La

herramienta encargada de dicha reproducción así como de la adquisición y representación del

conocimiento, llamada “CoPiloto Virtual”, se describe en la siguiente sección.

4.1.3. Sistema de adquisición de conocimiento

Dadas las ventajas que ofrecía estar en contacto directo con investigadores dedicados al estudio

de la seguridad vial, se priorizó la realización de un sistema capaz de recrear situaciones de

simulación con base en los datos recopilados. El formulario principal de dicho sistema se muestra

en la figura 4.14.

Figura 4.14 Formulario principal de la herramienta CoPiloto Virtual

Page 96: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

64 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Durante la reproducción de simulaciones, en el formulario principal, se muestra al usuario

las imágenes del sensor en la parte superior y el video del visual en la inferior. La sincronización

inicial de los tres elementos monitoreados, se logra mediante la búsqueda del movimiento inicial

del vehículo y, aunque esta búsqueda se realiza de forma automática tras la carga de cada sesión,

se hizo necesaria la realización de algoritmos de búsqueda que fueron abiertos al usuario a través

del menú Variables de Entorno -> Buscar en Variables que se muestra en la figura 4.15 (d). Dicha

opción permite el avance o retroceso de la simulación mediante la búsqueda de un valor

determinado en una variable especifica.

Figura 4.15 Menús y sub-menús de la herramienta CoPiloto Virtual

La apertura de una sesión de simulación a través del menú de la figura 4.15 (a) se realiza

por medio del archivo de texto que contiene los datos de dicho ejercicio. La estructura que debe

tener el directorio de cada ejercicio para el reconocimiento de todos sus componentes por parte del

sistema se muestra en la figura 4.16 y se describe a continuación:

Imágenes del sensor

Las imágenes de la vista cenital del conductor deben de estar agrupadas en sub-carpetas

llamadas “Secuencia”. Estas carpetas, generadas automáticamente por el sistema de captura de

imágenes durante la monitorización de los ejercicios, contienen un máximo de 15,000 imágenes cada

una. La última sub-carpeta de la secuencia puede contener una cantidad menor dependiendo de la

duración del ejercicio simulado.

Page 97: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 65

Archivo de texto

El archivo de texto debe de estar en la carpeta raíz del ejercicio de simulación (al mismo

nivel que las sub-carpetas con imágenes del sensor). Aunque el nombre del archivo no es relevante

para el sistema, su terminación debe ser la única “txt” en la estructura.

Video del visual

El archivo de video del visual debe encontrarse al mismo nivel que el archivo de texto. Este

archivo debe tener una terminación MPG y ser el único del tipo en la estructura. Al igual que el

archivo de texto, su nombre es indiferente para el sistema.

Figura 4.16 Estructura de directorios para la apertura de sesiones de simulación con CoPiloto Virtual

Cada una de las imágenes del sensor contiene (en su nombre de archivo) el CICLO de

simulación en la que fue capturada; lo anterior, permite la sincronización de los tres elementos

contenidos en la estructura de directorios descrita.

Una vez que la simulación se carga en el programa y se realiza la sincronización

automática inicial, el usuario puede controlar la reproducción de la sesión por medio de los

controles multimedia dispuestos en la pantalla principal (figura 4.17). Dichos controles, permiten la

vista de la simulación en ambos sentidos (adelante y atrás) y a distintas velocidades, así como una

presentación cuadro por cuadro para un mejor análisis de las situaciones representadas.

Figura 4.17 Controles de reproducción de simulación del formulario principal de la herramienta

Page 98: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

66 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la figura 4.18 se muestran las representaciones por defecto mostradas en la pantalla

principal de la herramienta (ver figura 4.14).

Figura 4.18 Información de simulación del formulario principal del CoPiloto Virtual

a) Información de la ruta

En esta sección se presenta un cuadro de imagen que muestra una representación visual de

la pendiente de la carretera por la que el vehículo está transitando. El efecto de rotación se logra por

medio de la conversión de porcentaje a grados y la transformación de la imagen por medio de un

algoritmo propio que, basado en funciones trigonométricas, fue implementado para reducir los

tiempos de procesamiento necesarios para la representación en tiempo real de las situaciones

simuladas. Así mismo se muestra el límite de velocidad por medio de una imagen que simula un

letrero de señalización generado automáticamente. Finalmente, se muestra la posición del vehículo

respecto a las líneas laterales de un carril en conjunto con la representación relativa al movimiento

entre el camión y la carretera.

b) Información del vehículo

En esta sección se presenta el estado de las luces del camión mediante la suma de mapas

de iluminación que permiten una representación realista de cada una de las luces contenidas en la

parte frontal y trasera. Los mapas de luz utilizados para este fin se muestran en la figura 4.19. Así

mismo, se muestra la inclinación de los pedales (mediante el uso del mismo algoritmo de rotación

utilizado en otros puntos del sistema) y el nivel de combustible del vehículo por medio de un medidor

virtual utilizado también en el módulo de inspección de variables descrito más adelante.

Figura 4.19 Mapas de luz utilizados para la representación de las luces del vehículo

Page 99: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 67

Valoración de experto

En esta última sección (ver figura 4.20), ubicada en la parte inferior derecha del formulario

principal, se muestra la salida de las señales de alerta generadas automáticamente mediante la

implementación de algunas reglas básicas de conducción:

Exceso de velocidad.

Forzamiento del motor.

Frenado brusco.

Invasión de carril sin señalización.

Depósito de gasolina en reserva.

En esta sección también se dispone de una barra para la valoración de riesgo por parte de

un experto humano para la adquisición del conocimiento. Esta valoración, permitida únicamente

cuando la reproducción de la simulación se realiza hacia adelante y acotada a valores numéricos

entre 0 y 100, es graficada en el tiempo en un plano bidimensional como referencia para el experto.

Figura 4.20 Información de valoración de experto del formulario principal del CoPiloto Virtual

Además de la información presentada por defecto en el formulario principal, el sistema

cuenta con un inspector de variables que, accesible desde el menú mostrado en la figura 4.15 (d),

permite la representación visual de cada uno de los datos almacenados en el archivo que contiene

los datos de simulación.

Esta representación visual, realizada de forma automática y en tiempo real, puede hacerse

de tres formas posibles dependiendo del tipo de datos contenidos en la variable inspeccionada

como se muestra en la figura 4.21.

Figura 4.21 Información de valoración de experto del formulario principal del CoPiloto Virtual

Page 100: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

68 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

a) Tacómetro

Este representador visual, muestra la escala y marcas de graduación necesarias para la

indicación, por medio de una aguja representada por una línea roja, del valor inspeccionado. Este

control, diseñado específicamente para el sistema CoPiloto Virtual, puede ser creado con o sin una

imagen de fondo como se muestra en la figura 4.22.

Figura 4.22 Modos de representación por medio del control tacómetro

Este control es utilizado, en general, para la representación de todas las variables que es

posible inspeccionar (a excepción de las que requieren un grado de rotación para su correcto

entendimiento).

b) Gráfica bidimensional

Esta gráfica, utilizada para la inspección de todas las variables, muestra el comportamiento

en el tiempo de la variable como referencia para observar los cambios que han venido sucediendo en

una ventana configurable de tiempo que, por defecto, se establece en 10 segundos.

c) Rotámetro

El rotámetro es un control que representa la información contenida en una variable en forma

de rotación. Este control recibe, en su construcción, una imagen que será rotada en proporción al

valor del dato que se esté inspeccionando. Este control es utilizado, principalmente, para la

representación de la posición del volante, la posición de los pedales y la inclinación de la carretera.

Todos los controles descritos cuentan con algoritmos de auto-escala y auto-representación

que son configurados al momento de su construcción en tiempo de ejecución. Todas las variables

inspeccionadas son presentadas utilizando un único formulario dinámico que puede ser

reproducido cuantas veces sea necesario (ver figura 4.23).

Figura 4.23 Formulario dinámico para la inspección de variables

Page 101: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 69

Los algoritmos requeridos para la utilización de estos controles fueron depositados en una

biblioteca llamada VGraph_Lib (Visual Graph Library) con el objetivo de facilitar su uso en otros

proyectos. Así mismo, los algoritmos para el control de archivos, videos del visual e imágenes del

sensor están contenidos en una biblioteca llamada CABINTEC_Lib. En la figura 4.28 se muestra un

diagrama de las inclusiones necesarias para la utilización conjunta de estas bibliotecas así como el

formulario principal del sistema en tiempo de diseño.

Figura 4.24 Utilización de bibliotecas del sistema CoPiloto Virtual

En la figura 4.25 se muestra la pantalla principal del sistema CoPiloto Virtual junto con tres

ventanas de inspección de variables que es, finalmente, la herramienta de adquisición y

representación de conocimiento en funcionamiento.

Figura 4.25 CoPiloto Virtual en funcionamiento con inspección de tres variables

Page 102: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

70 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

La inspección y verificación de datos también puede ser realizada por medio de la vista de

datos accesible desde el menú opciones de la figura 4.15 (c). Esta vista, muestra al usuario los

datos de la simulación reproducida en forma de tabla como se muestra en la figura 4.26.

Figura 4.26 Vista de datos en el formulario principal del CoPiloto Virtual

Cuando esta vista es seleccionada, la reproducción visual es pausada para un análisis

estático de datos. Dadas las limitaciones de memoria que el control de cuadricula de datos tiene,

se permite la configuración del número de registros a mostrar. Este parámetro (Registros en

Tabla), establece el número de filas de la tabla mostrada antes y después del ciclo en el que se

pausó la simulación; es decir, si el valor de este parámetro se establece en 200, la tabla contendrá

401 registros (200 registros anteriores + el actual + 200 registros posteriores).

Así mismo, se puede establecer el paso de lectura de registros. Dicho parámetro, se refiere

al número de registros que serán procesados cada 85 ms para la representación visual; es decir, si

el paso está configurado en tres, se leerán todos los registros del archivo, pero la representación

visual se actualizará únicamente cada tercero. Esta opción resulta útil para una representación en

tiempo real en sistemas de cómputo lentos.

Page 103: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 71

Figura 4.27 Menú valoración experto para el manejo del conocimiento adquirido

Para la adquisición del conocimiento realizada por medio del uso del control mostrado en la

figura 4.19, se ha dispuesto un menú llamado Valoración Experto (ver figura 4.27) que permite el

manejo de los datos generados en el proceso de adquisición. A continuación se describen los

elementos que componen dicho menú:

Iniciar nueva valoración

Esta opción permite iniciar una nueva sesión de valoración de riesgo por parte de un experto

humano. El sistema preguntará al usuario la ubicación y el nombre del archivo en los que se desea

guardar la información adquirida. Estos archivos, de tipo .exp, pueden ser guardados en cualquier

medio de almacenamiento; sin embargo, se recomienda hacerlo en el directorio base de la sesión

cargada ya que no afectarán la estructura propuesta en la figura 4.16. Al iniciar una nueva valoración,

el sistema preguntará el nombre del experto para su almacenamiento; lo anterior, se implementó con

la finalidad de compartir la información generada por este sistema en futuras visitas a centros de

seguridad vial por parte del grupo FRAV.

Cargar datos de valoración

Esta opción permite cargar los datos de una sesión anterior con la finalidad de hacer

correcciones, análisis o para terminar una valoración inconclusa.

[Guardar | Guardar como] datos de valoración

Esta opción permite el guardado de los datos generados por la valoración del experto en el

archivo seleccionado al iniciar una nueva sesión de valoración. Así mismo el sistema preguntará, al

salir del programa, si se desean guardar los cambios realizados cuando hay una valoración en curso.

Para aumentar la eficiencia del guardado, apertura y manejo de datos, los archivos son

guardados en formato binario; por lo anterior, se ha dispuesto, en el mismo menú, una opción que

permite la exportación de un archivo “.exp” a uno “.csv” (separado por comas) que es compatible

con la mayoría de las herramientas comerciales utilizadas en la aplicación de técnicas de IA.

Dicha exportación no afecta la simulación en curso ni los datos de valoración generados

hasta el momento; sin embargo, es necesario el guardado del archivo previo a su exportación para

asegurar que contiene la totalidad de los datos adquiridos.

El sistema descrito en esta sección fue probado por diversos usuarios en laboratorio para

realizar mejoras y encontrar problemas en su utilización; sin embargo, los resultados reales se

muestran en la siguiente sección (4.1.4), donde se describe el uso del sistema en un experimento

de adquisición de conocimiento con expertos del Real Automóvil Club de España (RACE).

Page 104: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

72 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.1.4. Adquisición de conocimiento de expertos en seguridad vial

Para realizar la adquisición de conocimiento con el sistema descrito en la sección anterior, se

solicitó al RACE su colaboración por medio de tres de sus expertos en seguridad vial. En la figura

4.28 se muestra una imagen capturada durante la realización de la adquisición del conocimiento en

las instalaciones de dicho club.

Figura 4.28 Imagen de la realización de la adquisición de conocimiento en las instalaciones de RACE

El diseño de los experimentos corrió a cargo del Dr. Isaac Martín de Diego que cuenta con

un diplomado en estadística por la Universidad de Valladolid. Dichos experimentos consistieron en

la valoración de seguridad de una sección continua de 10 minutos de los primeros tres ejercicios y

una de 30 para el cuarto (elegidas aleatoriamente). Dichos periodos se resumen en la tabla 4.7.

Tabla 4.7 Periodos de valoración de seguridad por ejercicio para la adquisición del conocimiento

Sesión Inicio (MINUTO)

Fin (MINUTO)

Total (MINUTOS)

ID de Experimento

Ejercicio 1 14:00 24:00 10:00 1

Ejercicio 2 02:00 12:00 10:00 2

Ejercicio 3 17:00 27:00 10:00 3

Ejercicio 4 00:50 30:50 30:00 4

Cada experto realizó la evaluación del mismo segmento de cada ejercicio en orden

aleatorio. Dicho orden se muestra en la tabla 4.8 considerando el identificador de experimento (ID

de Experimento) establecido en la tabla 4.7.

Page 105: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 73

Tabla 4.8 Turnos aleatorios de evaluación de experimentos por experto

Experto Evaluación 1 (ID)

Evaluación 2 (ID)

Evaluación 3 (ID)

Evaluación 4 (ID)

Experto 1 3 1 4 2

Experto 2 3 4 2 1

Experto 3 2 1 3 4

La distribución y numeración de los expertos del RACE que participaron en el experimento

de adquisición de conocimiento se muestra en la figura 4.29.

Figura 4.29 Distribución de expertos en seguridad vial en la ejecución de experimentos de valoración

La adquisición del conocimiento fue realizada de forma satisfactoria en aproximadamente

dos horas de la tarde del miércoles 19 de noviembre de 2008, donde fue realizada la primera

prueba real del sistema de adquisición del conocimiento con excelentes resultados.

Al final del experimento, cada experto llenó una encuesta (diseñada también por el Dr.

Isaac Martín) con el objetivo de tener comentarios y referencias para la mejora de este sistema en

futuras aplicaciones. Dichas encuestas, se presentan en formato digital en los anexos de este

documento.

En la siguiente sección se presenta un breve análisis de la información obtenida en los

experimentos descritos.

Page 106: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

74 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.1.4.1 Análisis del conocimiento adquirido

La valoración del nivel de riesgo realizada durante los experimentos de adquisición del

conocimiento, se encuentra en un rango de cero a cien, donde cero indica un comportamiento

seguro y cien uno muy riesgoso.

Como se estableció en los alcances y limitaciones de este proyecto, la clasificación del

comportamiento se limitó a cinco clases (seguro, aceptable, poco riesgoso, bastante riesgoso y

muy riesgoso); por lo anterior, se hizo necesaria la cuantificación de los niveles de riesgo

establecidos por los expertos humanos mediante los rangos mostrados en la tabla 4.9.

Tabla 4.9 Rangos de cuantificación de nivel de riesgo para las cinco clases de comportamiento

CLASE RANGO

Seguro [0 – 33]

Aceptable [34 – 67]

Poco Riesgoso [68 – 78]

Bastante Riesgoso [79 – 89]

Muy Riesgoso [90 – 100]

En las siguientes tablas (tabla 4.10 a tabla 4.12) se presenta el resumen de las muestras

por clase obtenidas de cada uno de los expertos después de la cuantificación de los datos.

Tabla 4.10 Muestras por clase de comportamiento de conducción por ejercicio del experto 1

Experto 1 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Ejercicio 1 7432 16450 6715 4135 975 35707

Ejercicio 2 9702 30213 2885 2090 1135 46025

Ejercicio 3 11747 11199 2540 2105 9190 36781

Ejercicio 4 43681 67965 7415 4135 583 123779

Tabla 4.11 Muestras por clase de comportamiento de conducción por ejercicio del experto 2

Experto 2 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Ejercicio 1 17590 1143 378 3285 13311 35707

Ejercicio 2 43352 1935 198 252 288 46025

Ejercicio 3 20941 4050 980 4290 6520 36781

Ejercicio 4 111714 6700 1885 1470 2010 123779

Tabla 4.12 Muestras por clase de comportamiento de conducción por ejercicio del experto 3

Experto 3 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Ejercicio 1 1802 18940 3995 880 10090 35707

Ejercicio 2 13437 31908 235 445 0 46025

Ejercicio 3 312 855 11360 11680 12574 36781

Ejercicio 4 56044 62395 1595 1265 2480 123779

Page 107: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 75

Como se puede apreciar en un análisis visual de los datos, no existe alguna correlación

definitiva entre las valoraciones realizadas por cada uno de los expertos. Además, es posible

observar distintas similitudes y contradicciones entre ellos; por ejemplo, los expertos uno y tres

coinciden en que, en el ejercicio cuatro, se tiene un comportamiento aceptable en casi la mitad del

lapso valorado. Por otro lado, esos mismos expertos discrepan en el ejercicio tres, en donde el

primero indica un comportamiento seguro en gran parte de la valoración y el segundo uno muy

riesgoso.

Por su parte, el experto dos, que presenta una tendencia clara hacia una conducción

segura en todas sus valoraciones, contradice a las realizadas por el experto tres en el primer y

tercer ejercicio, mientras que coincide con el experto uno en este último.

Al ser la percepción del nivel de riesgo un concepto propio, es imposible establecer una

verdad absoluta acerca de quién de los tres expertos tiene la mejor valoración. Aunque es posible

realizar una aproximación a la fiabilidad de cada uno de ellos mediante sus años de experiencia o

el tipo de formación recibida, se decidió la utilización de todos los datos obtenidos para el

entrenamiento del clasificador neuronal; por lo anterior, se realizaron entrenamientos y pruebas

para 12 RNAs, una por cada experto por cada ambiente de simulación10

.

En las siguientes figuras (figura 4.30 a figura 4.33) se muestran las gráficas de las

valoraciones de nivel de riesgo realizadas por los tres expertos en los lapsos establecidos en cada

uno de los ejercicios (ver tabla 4.8).

Figura 4.30 Gráfica de los niveles de valoración de seguridad de los tres expertos en el ejercicio 1

10

Se estableció que la percepción de seguridad en el fenómeno de conducción es diferente para cada ambiente simulado; lo anterior debido

a que cada uno de dichos ambientes requiere de diferentes acciones, por parte del conductor, dependiendo de las situaciones que se le presenten.

Page 108: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

76 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.31 Gráfica de los niveles de valoración de seguridad de los tres expertos en el ejercicio 2

Figura 4.32 Gráfica de los niveles de valoración de seguridad de los tres expertos en el ejercicio 3

Page 109: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 77

Figura 4.33 Gráfica de los niveles de valoración de seguridad de los tres expertos en el ejercicio 4

Continuando con la información mostrada en las tablas anteriores (tabla 4.10 a tabla 4.12),

las gráficas muestran un comportamiento similar en los niveles de valoración. Existen lapsos en las

valoraciones en los que los diferentes expertos tienen un comportamiento similar y otros en los que

tienen uno completamente contradictorio; por lo tanto, es imposible descartar la información de

alguno de ellos como se consideró en un principio11

.

Para estas gráficas se observa, en la del tercer ejercicio (figura 4.32), una alta correlación

entre el nivel de seguridad del experto uno y el experto dos; mientras que en el segundo ejercicio

(figura 4.31) dicha correlación se observa más entre el experto uno y el tres.

Para una mejor observación de estos comportamientos, se realizó un suavizado de los

datos mediante un filtro de promediado utilizando 801 elementos mediante ( 4.1 ).

𝑌(𝑛)𝑆𝑢𝑎𝑣𝑖𝑧𝑎𝑑𝑜 =

𝑌 𝑖 𝑂𝑟𝑖𝑔𝑖𝑛𝑎𝑙

𝑛

𝑛

𝑖=1

𝑌(𝑖)𝑂𝑟𝑖𝑔𝑖𝑛𝑎𝑙

801

𝑛

𝑖=𝑛−801

, 𝑛 ≤ 801

, 𝑛 > 801

( 4.1 )

Las gráficas suavizadas de las valoraciones de los ejercicios uno, dos, tres y cuatro se

muestran en la figura 4.34.

11

Se consideró descartar la información del experto con menor experiencia al comprobarse una similitud en los niveles de valoración de los

dos expertos restantes,

Page 110: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

78 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.34 Gráfica de los niveles de valoración de seguridad suavizados

Aunque estos datos suavizados pudieron ser utilizados en el entrenamiento de las RNAs

para facilitar su trabajo, se prefirió utilizar los datos originales ya que existe cierta pérdida de

información (en el proceso de suavizado) que, en este caso, eliminaría pequeños lapsos de

comportamiento riesgoso que es importante analizar.

Por otro lado, aunque el proceso de suavizado es utilizado para eliminar cierto tipo de ruido

en los datos, una de las características principales de las RNAs es su inmunidad al ruido como se

mencionó en secciones anteriores de este documento.

Los datos utilizados en la reproducción de simulaciones, provinieron del archivo de texto

que contiene los datos de la dinámica del vehículo descritos en la sección 4.1.2.1; sin embargo, en

el proceso de adquisición de conocimiento, se brindó al usuario información adicional proveniente

de imágenes del sensor y de los videos del visual.

Dado que la información visual resulta importante en la valoración del nivel de riesgo en el

fenómeno de conducción, fue importante dotar al clasificador neuronal de otra información que,

obtenida a partir de imágenes, complementara los datos de la dinámica del vehículo.

En la siguiente sección, se describe el desarrollo del sistema de VA que realiza la

detección automática de la posición de las manos del conductor en las imágenes del sensor y

genera información que es utilizada en la clasificación automática del comportamiento.

Page 111: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 79

4.2 Detección de la posición de las manos del conductor con VA

Para complementar la información que alimentó al clasificador neuronal del comportamiento de

conducción, se desarrolló un sistema de VA capaz de detectar la posición de las manos del

conductor. Dicho sistema, diseñado para trabajar con imágenes infrarrojas bidimensionales de la

vista cenital del conductor, tiene ciertas limitaciones que se describen a continuación.

4.2.1. Limitaciones del sistema de visión artificial

Dado que el acceso a la cabina de simulación para la ejecución y monitoreo de ejercicios sólo fue

posible mientras duró la estancia de investigación, la captura de las imágenes utilizadas por el

sistema de VA no fue realizada a la par con su desarrollo. Lo anterior, dificultó dicho desarrollo

debido, principalmente, a la imposibilidad de realizar nuevas capturas teniendo en cuenta

problemas o limitaciones encontradas durante su implementación.

Una de las principales limitaciones que tiene el sistema de VA es la nula información de

profundidad con la que se cuenta, ya que, como se muestra en la figura 4.35, no es posible

identificar a simple vista (ni por el ojo humano) si la mano derecha del conductor se encuentra

“tocando” el volante o no.

Figura 4.35 Muestra de imágenes con problemas en la precepción de profundidad de sus elementos

Aunque dicho problema puede ser resuelto fácilmente mediante el análisis de una segunda

imagen bidimensional capturada en el mismo instante desde otra perspectiva perpendicular, no se

consideró esta situación durante el acceso a la cabina de simulación y no es posible contar con

esta segunda imagen.

En la figura 4.36 se muestran algunas imágenes que resultan en errores de detección por

parte del sistema de VA.

Page 112: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

80 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.36 Muestra de imágenes con errores de detección por parte del sistema de VA

En primer lugar, en la imagen superior izquierda, se tiene otro problema que implica la

percepción de profundidad por parte del sistema de VA. En esta imagen, el brazo derecho del

conductor se encuentra “sobre” el volante; sin embargo, es evidente que la posición de la mano

está por debajo de él.

Así mismo, en la imagen superior derecha, se observa al conductor con la mano derecha

en una posición adecuada (sobre el volante); sin embargo, se encuentra utilizando un teléfono

móvil en una de las acciones más riesgosas al momento de conducir. En este caso, el sistema de

VA requeriría realizar la identificación de diversos objetos, así como una caracterización de la

mano como un objeto deformable para identificar este tipo de situaciones específicas.

En la imagen inferior izquierda, se observa la mano izquierda del conductor tocando el

volante de una manera inadecuada y, aunque es posible que algún humano considere que la mano

está realmente en el volante, el sistema de VA no identificará esa mano por la poca área con la

que lo cubre. Este problema podría ser resuelto con una mejor iluminación en dicha área de la

cabina que daría como resultado una mejor nitidez en esos objetos.

Finalmente, en la imagen inferior se obstruye parte del volante con un objeto ajeno a las

extremidades del conductor (su cabeza). Esta situación no fue considerada en el monitoreo de los

ejercicios y, como se verá más adelante, para el sistema de VA la cabeza del conductor tiene las

mismas características de luminosidad que las correspondientes a una mano en la misma posición.

Page 113: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 81

Al final de la sección 4.2, se presentan los resultados del sistema de VA. Dado que los

alcances y limitaciones de este proyecto consideran situaciones controladas dentro de la cabina de

simulación y los objetivos hacen referencia a la detección de la posición de las manos “sobre el

volante”, se presentan dos tablas diferentes de resultados. La primera (tabla 4.14), muestra los

resultados de las pruebas de dicho sistema considerando como erróneas las situaciones descritas

en esta sección. La segunda (tabla 4.15), muestra los resultados de las mismas pruebas

considerando las situaciones descritas como problemas fuera de los alcances del sistema.

4.2.2. Detección automática del volante

El primer paso para la detección automática de la posición de las manos del conductor sobre el

volante, es la detección e identificación de dicho objeto dentro de las imágenes de la cabina de

simulación. Para ello, se realiza el PDI mostrado en la figura 4.37.

Figura 4.37 PDI para la detección automática del volante en imágenes del sensor

Page 114: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

82 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la figura 4.38 se muestra el resultado de la detección descrita en tres diferentes

imágenes del sensor.

Figura 4.38 Resultados de la detección automática en el volante en tres distintas situaciones

Debido a la precisión requerida por el sistema de VA para la detección automática de las

manos en el volante en situaciones donde el conductor apenas lo controla con uno o dos dedos, la

detección del volante se convirtió en un procedimiento crucial para el resto del sistema. Por lo

anterior, y debido a el error en la detección automática de un +/- 5% en la posición (x, y) del centro

de la elipse, se diseñó una herramienta complementaria que permite la selección manual de las

regiones de búsqueda de las manos del conductor.

Dicha herramienta, además de permitir la detección manual del volante por medio de

elipses, permite seleccionar regiones rectangulares como apoyo al sistema de detección de manos

que se encuentra desarrollando el grupo FRAV, en donde la detección de la posición de las manos

se realiza en toda la cabina de simulación tratando de ubicar las regiones más comunes en las que

las manos pueden estar (como la palanca de cambios, el freno de manos o el navegador).

Page 115: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 83

4.2.3. Detección manual del volante

En la figura 4.39, se muestra el formulario principal de la herramienta implementada para la

detección manual del volante.

Figura 4.39 Formulario principal de la herramienta de selección manual de regiones de búsqueda

Dicha herramienta, permite al usuario el trazado de elipses y rectángulos sobre una imagen

seleccionable. El trazado de estas regiones, puede hacerse por medio del ratón sobre la imagen en

cuestión o a través de los controles dispuestos en el mismo formulario; así mismo, permite la

rotación de las elipses generadas para tener una mayor precisión en el área seleccionada.

El manual de este sistema se encuentra auto contenido en la parte inferior izquierda de la

pantalla principal. Finalmente, es posible almacenar en archivos de texto separados por punto y

coma los valores generados para su utilización en otros sistemas. Los parámetros almacenados en

dichos archivos, para cada una de las figuras geométricas que es posible dibujar, se resumen en la

tabla 4.13

Tabla 4.13 Parámetros almacenados por la herramienta de selección manual de regiones

Figura Parámetro 1 Parámetro 2 Parámetro 3 Parámetro 4 Parámetro 5 Parámetro 6

Elipse Tipo = 0 Centro X Centro Y Semieje Mayor

Semieje Menor

Ángulo de Rotación

Rectángulo Tipo = 1 Inicio X Inicio Y Ancho Largo No Aplica

La utilización de esta herramienta se debe, en parte, a que dentro de las condiciones

controladas esperadas en la cabina de simulación para la captura de imágenes, se consideró fija la

posición del volante; sin embargo, la cabina utilizada en el simulador permite el ajuste de dicho

instrumento a diferentes alturas para comodidad del conductor.

Page 116: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

84 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.2.4. Detección de las manos del conductor

El proceso inicial para la detección automática de las manos del conductor en el volante es el

enmascaramiento de la imagen a detectar con la zona interior del volante (establecida manual o

automáticamente) como se muestra en la figura 4.40.

Figura 4.40 Enmascaramiento de imágenes con la zona del volante por medio de operación AND

La operación AND de una imagen fuente con una máscara generada de acuerdo a los

parámetros de la posición del volante, da como resultado una imagen que contiene únicamente

información de los píxeles que se encuentran en dicha zona. Esta imagen, al ser binarizada con un

umbral automático (ver figura 4.41), permite realizar una segmentación por regiones para detectar

el número de objetos que se encuentran en dicha zona y sus propiedades (ver figura 4.42).

Figura 4.41 Binarización de imágenes enmascaradas con la zona del volante por medio de Otsu

Page 117: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 85

Figura 4.42 Resultado de detección después de la primera etapa del sistema de VA

En esta primera etapa de detección se tiene el número de regiones que se encuentran

sobre la zona del volante (indicadas en la parte superior de la imagen en color rojo); sin embargo,

es necesario filtrar, en esta etapa, las regiones de área menor a 15 píxeles12

que pueden aparecer

debido a algún tipo de ruido. A pesar de este filtro, es posible tener más de una región después del

segmentado inicial como se muestra en la figura 4.43

Figura 4.43 Detección de más de dos regiones después de la primera etapa del sistema de VA

12

El umbral de área se eligió a partir del área que ocupa una región conformada por un solo dedo del conductor que es de 23 píxeles,

Page 118: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

86 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En la segunda etapa de la detección automática, se aplica un filtro de distancias que mide

(en píxeles) la distancia de cada una de las regiones encontradas con sus semejantes; en este

caso, si se encuentra que los centros de dos regiones están a una distancia menor de 80 píxeles13

,

se consideran como parte de una misma región.

En la figura 4.44 se muestra un caso específico (documentado automáticamente en la

esquina superior izquierda de la imagen), en donde el filtro por áreas deja pasar tres regiones

sobre el volante en la primera etapa de detección (rectángulos blancos); sin embargo, en la

segunda etapa, el filtro de distancia reduce dichas regiones a dos (rectángulos azules).

Figura 4.44 Reducción de regiones por filtro de distancia en la segunda etapa del sistema de VA

Aunque la implementación de este filtro y la correcta elección del umbral de distancias

fueron cruciales para el buen desempeño del sistema, existieron casos en los que este filtro no fue

capaz de reducir el número de regiones correctamente. Un caso específico, donde este filtro suele

fallar, es el mismo mostrado en la figura 4.43. En donde la distancia entre cada una de las regiones

es suficientemente grande como para considerarlas una misma región.

Por lo anterior se hizo necesaria la implementación de un tercer filtro que, siendo el más

complicado (computacionalmente), se encarga de buscar regiones conexas en las regiones

comprendidas entre los centros de las regiones detectadas en la imagen original. Este proceso se

realiza mediante la creación de máscaras elípticas entre los centros de dichas regiones como se

muestra en la figura 4.45 para el caso de la figura 4.43.

13

El umbral utilizado para el filtro de distancia en la segunda etapa del sistema de VA fue elegido a partir de la separación máxima existente

entre los dedos del conductor y la muñeca de su brazo.

Page 119: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 87

Figura 4.45 PDI para el filtro de regiones conexas en la tercera etapa del sistema de VA

En este tercer filtro, se realizan operaciones AND con la imagen original y las mascaras

creadas a partir de los centros de las regiones detectadas después de la aplicación del filtro de

distancias. Las imágenes resultantes son analizadas para calcular el área de las regiones

remanentes. Al final, si el porcentaje de dicha área es mayor a 40%, las dos regiones analizadas

se consideran como una sola región como se muestra en la figura 4.53.

Figura 4.46 Reducción de regiones en filtro de regiones conexas en la tercera etapa del sistema de VA

Page 120: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

88 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Finalmente, para asegurar una detección máxima de elementos, si existen más de dos

regiones detectadas después de la aplicación del tercer filtro, se aplica un cuarto que se encarga

de eliminar las regiones con menor área hasta obtener únicamente dos regiones en la zona del

volante.

Aunque la aplicación de estos cuatro filtros resultó en una correcta detección de las manos

del conductor en la mayoría de las imágenes, existen casos en los que se detectan dos regiones

cuando una sola mano está presente y la salida del sistema de VA es errónea (ver sección 4.2.2).

Después de la detección de objetos sobre la zona del volante, el sistema se encarga de la

identificación y etiquetado de cada uno de ellos como se describe en al siguiente sección.

4.2.1. Etiquetado de las manos del conductor detectadas

El etiquetado de las manos, sobre las regiones detectadas, es la última etapa del sistema de VA

antes del almacenamiento de valores en los archivos que fueron utilizados en la alimentación del

clasificador neuronal de comportamiento.

En la figura 4.47 se muestra el resultado de esta etapa de etiquetado para el caso

específico mostrado en la figura 4.43.

Figura 4.47 Resultado del etiquetado de las manos del conductor detectadas automáticamente

En la imagen se observa que se han detectado tres regiones después de la aplicación del

filtro de áreas y que han sido reducidas a dos por medio del de regiones conexas.

Page 121: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 89

El etiquetado de regiones se realiza por medio de reglas básicas que dependen de la

posición de las regiones detectadas; sin embargo, algunos filtros pueden indicar fácilmente de que

mano se trata con un alto grado de confiabilidad.

Para el caso del filtro de regiones conexas, cuando existe reducción de regiones debido a

al porcentaje del área resultante (ver figura 4.53), es posible saber si dichas regiones corresponden

a la mano izquierda o derecha por el ángulo de inclinación de la recta que une los centros de

dichas regiones (eje mayor de la elipse generada). En este caso, si la pendiente de la recta es

negativa, la probabilidad de que se trate de la mano derecha es mucho más alta debido a la

postura del conductor en condiciones normales de manejo. Por otro lado, si la pendiente de dicha

recta es positiva, la probabilidad de que se trate de la mano izquierda aumenta.

En este caso, cuando se tienen dos regiones y una de ellas es identificada, la región

restante es etiquetada como la opuesta; es decir, si una región se considera como mano izquierda,

la segunda región se considera como la derecha.

Cuando el etiquetado por pendientes no es posible, y se tiene más de una región que

etiquetar, se considera como la mano izquierda a la más próxima a cero en su coordenada x (el

elemento más a la izquierda de la imagen); por otro lado, cuando existe una única región que

etiquetar, se considera la posición de ésta respecto al centro del volante.

Para casos especiales en los que las reglas básicas de etiquetado son imposibles de

aplicar, se anula la detección y se espera una imagen que contenga mayor información.

El almacenamiento de información en los archivos utilizados para la generación de bases

de datos finales (sección 0) se realiza en archivos de texto que, separados por punto y coma,

contienen tres instancias por registro: ciclo de simulación donde se realizó la detección (entero),

detección de la mano izquierda (booleano) y detección de la mano derecha (booleano).

En la figura 4.48, se muestran, a modo de ejemplo, tres resultados en diversas situaciones

de la detección y etiquetado automático de las manos del conductor en la zona del volante por

medio del sistema de VA.

Figura 4.48 Ejemplos de resultados de la detección automática de las manos por medio de VA

En la siguiente sección, se exponen los resultados de la efectividad del sistema de VA.

Page 122: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

90 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.2.2. Pruebas del sistema de visión artificial

Las pruebas del sistema de VA descrito en la sección anterior, fueron realizadas manualmente a

5,000 imágenes por ejercicio (20,000 en total). En estas pruebas se consideró tanto la detección de

regiones como el etiquetado de las manos del conductor14

.

Como se mencionó en la sección 4.2.1, los resultados de las pruebas realizadas al sistema

de VA se presentan en dos tablas que consideran ciertos criterios expuestos por académicos

involucrados en este proyecto de investigación. Así, es posible ver los resultados de la primera

tabla (tabla 4.14) como el peor de los casos y los mostrados en la segunda (tabla 4.15) como el

mejor. Para ambos casos, se tiene una efectividad aceptable en los resultados obtenidos con un

porcentaje mayor a 85.

Para la realización de las pruebas resumidas en las siguientes tablas, se modificó el

sistema de VA para que almacenara las imágenes resultantes en diferentes carpetas de acuerdo a

su clasificación. Al final de la ejecución, las imágenes contenidas en dichas carpetas fueron

analizadas una a una por medio de una herramienta de exploración incluida en el SO Windows®.

Tabla 4.14 Resultados del sistema de VA considerando erróneas las situaciones limitantes

Imágenes Probadas

Clasificación

Efectividad

0 Manos 1 Mano 2 Manos

Sesión TOTAL MALAS TOTAL MALAS TOTAL MALAS

Ejercicio 1 5000 329 46 2341 550 2330 58 86.92%

Ejercicio 2 5000 45 28 1656 511 3299 4 89.14%

Ejercicio 3 5000 44 35 1766 390 3190 320 85.10%

Ejercicio 4 5000 3 3 1204 396 3793 93 90.16%

TOTALES 20000 421 112 6967 1847 12552 475 87.83%

Tabla 4.15 Resultados del sistema de VA considerando correctas las situaciones limitantes

Imágenes Probadas

Clasificación

Efectividad

0 Manos 1 Mano 2 Manos

Sesión TOTAL MALAS TOTAL MALAS TOTAL MALAS

Ejercicio 1 5000 329 46 2341 170 2270 58 94.52%

Ejercicio 2 5000 45 28 1656 132 3299 4 96.72%

Ejercicio 3 5000 44 35 1766 140 3190 48 95.54%

Ejercicio 4 5000 3 3 1204 193 3793 76 94.56%

TOTALES 20000 421 112 6967 635 12552 186 95.34%

14

La detección del volante fue realizada con la herramienta de selección manual expuesta en la sección 4.2.3.

Page 123: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 91

4.3 Preprocesamiento y análisis de datos

Una vez que se generó la información derivada de la detección automática de las manos por medio

del sistema de VA, fue necesaria la unión de dichos datos con los contenidos en los archivos de

registros de simulación. Además, previo al entrenamiento y pruebas del sistema, se realizó una

selección de variables como parte del proceso de preprocesamiento del KDD (ver figura 2.23).

4.3.1. Selección de variables de registros de simulación

Los archivos de información generados por el simulador durante los ejercicios descritos en la

sección 4.1.2 contienen aproximadamente 41 registros por segundo. Cada uno de éstos, contiene

a su vez 30 instancias que describen la dinámica del vehículo en todo momento de la simulación.

Para el proceso de selección de variables, dichas instancias fueron analizadas minuciosamente

para escoger aquellas que permitieran realizar la clasificación del comportamiento del conductor de

forma adecuada.

El análisis del contenido de algunas de estas variables, realizado durante el desarrollo del

sistema de adquisición del conocimiento, demostró que existen ciertas inconsistencias en sus

valores debidas a la etapa de desarrollo en la que se encuentra el sistema de simulación; sin

embargo, la importancia de la información que algunas de éstas aportan en la clasificación del

comportamiento, hace aceptable la cantidad de ruido que contienen en la mayoría de los casos. La

primera etapa de selección de variables, que consistió en la discriminación de aquellas cuya

medición es imposible en el mundo real, se resume en la tabla 4.22.

Para esta etapa, la variable TTLC (por las siglas en ingles de Time To Line Crossing), fue

seleccionada en primera instancia debido a la importancia que se le da en investigaciones de

seguridad vial en simuladores [Kovordanyi, 2005][Harbluk, 2007]; sin embargo, debido a que no es

una variable medible en el mundo real y es inconsistente, fue finalmente descartada.

A pesar de lo anterior, para comprobar que los datos contenidos en dicha variable (TTLC)

no son útiles para la clasificación del comportamiento (en este caso específico), se incluyó en un

experimento de selección automática de variables con el algoritmo ReliefF15

. Los resultados de

dicho experimento se muestran en la tabla 4.16.

Tabla 4.16 Resultado de selección de variables con el algoritmo ReliefF para Ejercicio 1 - Experto 1

RANK Variable RANK Variable 1 0.09612 N_HE 10 0.03371 INTERMITENTE 2 0.07118 N_VELOCIDAD_VIA 11 0.02777 N_DIST_SEGURIDAD 3 0.06371 N_PORC_ACEL 12 0.02148 Mano Derecha 4 0.06284 N_ANG_GIRO_VOLANTE 13 0.01226 RETARDER 5 0.0622 MARCHA 14 0.00769 N_PDTE_CARRETERA 6 0.0585 N_RPM 15 0.00481 N_TTLC 7 0.05847 N_VELOCIDAD 16 0 USO_LUCES 8 0.04167 Mano Izquierda 17 0 ANTINIEBLA 9 0.03649 N_PORC_FRENO

15

El algoritmo ReliefF se encarga de evaluar el valor de cada atributo tomando un ejemplo como base y considerando el valor de dicho

atributo en el ejemplo más cercano de la misma clase y en el de otra clase. Más información: [Kira, 1992][Robnik-S, 1997] [Kononenko, 1994].

Page 124: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

92 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Para comprobar el rendimiento del algoritmo ReliefF en el proceso de selección automática

de variables, se ejecutó un experimento con el algoritmo CFS, que se encarga de buscar

correlaciones entre los atributos de los datos para eliminar aquellos que contengan información

redundante [Mark, 1999]. Los resultados de dicho experimento se muestran en la tabla 4.17, en

donde se puede apreciar cierta similitud en los resultados arrojados por ambos algoritmos.

Tabla 4.17 Relación de selección de variables entre ReliefF y CFS para Ejercicio 1 - Experto 1

RANK Variables Variables

Algoritmo ReliefF Algoritmo CFS

1 0.09612 N_HE N_HE

2 0.07118 N_VELOCIDAD_VIA N_VELOCIDAD_VIA

3 0.06371 N_PORC_ACEL

4 0.06284 N_ANG_GIRO_VOLANTE

5 0.0622 MARCHA MARCHA

6 0.0585 N_RPM N_RPM

7 0.05847 N_VELOCIDAD N_VELOCIDAD

8 0.04167 Mano Izquierda

9 0.03649 N_PORC_FRENO N_PORC_FRENO

10 0.03371 INTERMITENTE INTERMITENTE

11 0.02777 N_DIST_SEGURIDAD N_DIST_SEGURIDAD

12 0.02148 Mano Derecha

13 0.01226 RETARDER

14 0.00769 N_PDTE_CARRETERA N_PDTE_CARRETERA

15 0.00481 N_TTLC

Diversas pruebas de clasificación, realizadas utilizando las variables seleccionadas por el

algoritmo CFS, resultan en un rendimiento menor en comparación con otras realizadas con las

seleccionadas por ReliefF. Lo anterior se debe, principalmente, a que independientemente de que

exista una correlación entre los atributos de los datos, todas las variables pueden contener

información adicional en ciertos casos de comportamiento; es decir, se puede tener una misma

clasificación de nivel de riesgo alto en dos comportamientos completamente diferentes. Por lo

anterior, se decidió descartar el algoritmo CFS y utilizar el ReliefF en los experimentos de selección

de variables.

Para el resto de los experimentos de selección, como parte del preprocesamiento de datos,

se realizó la recategorización de algunos atributos. La recategorización de datos consiste, en

general, en la separación de variables cuyos valores hacen referencia a categorías; por ejemplo,

para el caso de la variable INTERMITENTE, cuyos valores indican el estado de las intermitentes

del vehículo simulado (-1 intermitente izquierdo, 0 apagado y 1 intermitente derecho), fue separada

en tres atributos booleanos diferentes: Int_Izquierdo, Int_Derecho e Int_Apagado.

Lo anterior se debe a que, debido a su estructura y funcionamiento, las RNAs no son

capaces de considerar valores de atributos como categorías, lo que resulta en una importancia

proporcional al valor; por ejemplo, siguiendo con el caso de la variable INTERMITENTE, una RNA

dará mayor importancia al uso de el intermitente derecho (1) que al izquierdo (-1).

Finalmente, como parte del preprocesamiento de datos, fue necesaria su normalización

para la mejora del rendimiento de la RNA; por lo anterior, los datos contenidos en las bases de

datos finales se encuentran en un rango [0 - 1] como se describe en la sección 4.3.1.

Page 125: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 93

Para realizar una selección de variables tomando en cuenta las diversas situaciones que

se presentan en los datos, se diseñaron tres experimentos que, por medio del análisis de sus

resultados, fincaron las bases para la realización de la segunda etapa de la tarea (ver tabla 4.22).

En el primero de ellos, se consideraron los datos de valoración del primer experto para el

ejercicio uno. Los resultados de dicho experimento se muestran en la tabla 4.18.

Tabla 4.18 Resultado de selección de variables con ReliefF para Ejercicio 1 - Experto 1

RANK Variable RANK Variable 1 0.125879 N_HE 21 0.014471 Marcha_10 2 0.097782 Marcha_9 22 0.014441 Marcha_0 3 0.083901 Mano Izquierda 23 0.013547 Marcha_4 4 0.082211 N_PORC_ACEL 24 0.012154 Int_Derecho 5 0.07475 N_VELOCIDAD_VIA 25 0.009556 Retarder_-1 6 0.062844 N_ANG_GIRO_VOLANTE 26 0.009014 Retarder_3 7 0.058293 Marcha_8 27 0.007673 N_PDTE_CARRETERA 8 0.054453 N_RPM 28 0.007012 Marcha_2 9 0.053544 N_PORC_FRENO 29 0.005056 Marcha_3 10 0.051447 Marcha_11 30 0.000477 Retarder_1 11 0.050121 N_VELOCIDAD 31 0 Retarder_0 12 0.049327 Int_Apagado 32 0 Luces_Carretera 13 0.04307 Marcha_12 33 0 Luces_Cruce 14 0.039568 Int_Izquierdo 34 0 AN_Alto 15 0.030231 Mano Derecha 35 0 Luces_Posición 16 0.028108 N_DIST_SEGURIDAD 36 0 AN_Apagado 17 0.022088 Marcha_6 37 0 Luces_Apagadas 18 0.020832 Marcha_7 38 0 Retarder_2 19 0.019921 Marcha_1 39 0 AN_Bajo 20 0.019572 Marcha_5 40 0 Retarder_4

En el segundo experimento, cuyos resultados son mostrados en la tabla 4.19, se

consideraron los datos de valoración de los tres expertos para el primer ejercicio.

Tabla 4.19 Resultado de selección de variables con ReliefF para Ejercicio 1 - Expertos 1, 2 y 3

RANK Variable RANK Variable 1 0.101525 Mano Izquierda 21 0.009414 Retarder_3 2 0.096936 N_HE 22 0.008896 Marcha_11 3 0.047921 N_PORC_ACEL 23 0.005764 N_PDTE_CARRETERA 4 0.044635 N_ANG_GIRO_VOLANTE 24 0.005359 Int_Derecho 5 0.036611 N_RPM 25 0.003178 Marcha_4 6 0.032671 Int_Apagado 26 0.002177 Marcha_10 7 0.029825 N_PORC_FRENO 27 0.00181 Marcha_3 8 0.028765 Int_Izquierdo 28 0.001303 Marcha_2 9 0.026818 N_VELOCIDAD 29 0.001043 Marcha_12

10 0.0233 Marcha_9 30 0.000563 Retarder_1 11 0.020549 N_VELOCIDAD_VIA 31 0 Luces_Carretera 12 0.015987 Mano Derecha 32 0 AN_Alto 13 0.014083 N_DIST_SEGURIDAD 33 0 AN_Apagado 14 0.013796 Marcha_0 34 0 AN_Bajo 15 0.012975 Marcha_5 35 0 Luces_Cruce 16 0.012644 Marcha_6 36 0 Luces_Apagadas 17 0.01144 Marcha_7 37 0 Luces_Posición 18 0.011089 Marcha_1 38 0 Retarder_0 19 0.00993 Retarder_-1 39 0 Retarder_4 20 0.009595 Marcha_8 40 0 Retarder_2

Page 126: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

94 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

En el tercer y último experimento, los datos considerados fueron las valoraciones

realizadas por el primer experto para los cuatro ejercicios de simulación. Los resultados de dicho

experimento se muestran en la tabla 4.20.

Tabla 4.20 Resultado de selección de variables con ReliefF para Ejercicios 1, 2, 3 y 4 - Experto 1

RANK Variable RANK Variable 1 0.07012 Luces_Cruce 21 0.01019 Marcha_9 2 0.05938 Luces_Carretera 22 0.00918 Int_Derecho 3 0.05408 N_PORC_ACEL 23 0.00876 Int_Izquierdo 4 0.04426 N_HE 24 0.00696 Marcha_6 5 0.03803 N_VELOCIDAD 25 0.00672 Luces_Posición 6 0.03685 N_RPM 26 0.00664 Marcha_12 7 0.03611 N_PDTE_CARRETERA 27 0.00659 Retarder_3 8 0.03308 Mano Izquierda 28 0.00549 Retarder_1 9 0.03039 N_VELOCIDAD_VIA 29 0.00484 Marcha_5 10 0.02476 N_ANG_GIRO_VOLANTE 30 0.00446 Marcha_1 11 0.01788 N_PORC_FRENO 31 0.00356 Marcha_0 12 0.01597 Mano Derecha 32 0.00344 Marcha_4 13 0.01552 Int_Apagado 33 0.00246 Marcha_2 14 0.01452 Marcha_10 34 0.00229 AN_Apagado 15 0.01438 Marcha_7 35 0.00229 AN_Alto 16 0.01376 N_DIST_SEGURIDAD 36 0.00185 Marcha_3 17 0.01288 Marcha_11 37 0 AN_Bajo 18 0.01269 Marcha_8 38 0 Retarder_4 19 0.01198 Retarder_-1 39 0 Retarder_0 20 0.01068 Luces_Apagadas 40 0 Retarder_2

Dado que las variables seleccionadas en esta etapa de preprocesamiento fueron utilizadas

imparcialmente (sin importar el puntaje establecido por el algoritmo de selección), la importancia de

los experimentos descritos radicó en aquellas que fueron discriminadas (variables con cero en su

puntuación). En la tabla 4.21, se muestra una comparación de las variables discriminadas en cada

uno de los experimentos realizados,

Tabla 4.21 Comparación de variables discriminadas en experimentos de selección de variables

Experimento 1 Experimento 2 Experimento 3

Ejercicio 1 – Experto 1 Ejercicio 1 – Experto 1, 2 y 3 Ejercicio 1, 2, 3 y 4 – Experto 1

AN_Alto AN_Alto

AN_Apagado AN_Apagado

AN_Bajo AN_Bajo AN_Bajo

Luces_Apagadas Luces_Apagadas

Luces_Carretera Luces_Carretera

Luces_Cruce Luces_Cruce

Luces_Posición Luces_Posición

Retarder_0 Retarder_0 Retarder_0

Retarder_2 Retarder_2 Retarder_2

Retarder_4 Retarder_4 Retarder_4

Page 127: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 95

El análisis de los resultados obtenidos en los experimentos de selección de variables,

demostró que existe un número muy reducido de atributos que es posible eliminar. En el caso

específico del resultado del tercer experimento, se observa que existen situaciones (en alguno de

los cuatro ejercicios) en donde la mayor parte de los atributos discriminados por los otros dos

resulta útil.

Finalmente, se observa que los atributos que es posible eliminar, son un subconjunto de

variables recategorizadas cuya eliminación es imposible de justificar. Aunado a lo anterior, se

realizó un experimento de entrenamiento de una RNA utilizando todos los atributos seleccionados

en la primera etapa de selección. Dicha red, llamada patrón por los datos utilizados en su

entrenamiento, demostró un desempeño apenas aceptable en la clasificación del comportamiento.

Por lo anterior, y considerando como pérdida de información la eliminación de cualquiera

de los datos contenidos en un atributo16

, se optó por la utilización de todas las variables

seleccionadas en la primera etapa de selección, con excepción de las de Tiempo y Distancia

recorrida que, al tener una alta correlación con la clasificación del comportamiento, fueron

causantes de problemas en diversos experimentos realizados con DM, ya que la mayoría de los

algoritmos basaron su funcionamiento en los valores de estas dos variables únicamente.

En la tabla 4.22, se muestran las 16 variables (40 recategorizadas) que fueron utilizadas en

las siguientes etapas de desarrollo. Así mismo, en la tabla 4.23, se presentan las variables no

seleccionadas con una breve descripción del análisis realizado en la primera etapa de selección.

Tabla 4.22 Variables seleccionadas para la alimentación del sistema clasificador

ID Variable Usada

(Etapa Inicial) Usada

(Etapa final) Descripción

3 Velocidad Información importante del manejo del vehículo

7 Error ángulo Información importante del manejo del vehículo

8 Posición volante Información importante del manejo del vehículo

9 % Freno Información importante del manejo del vehículo

10 *Retarder Información importante del manejo del vehículo

11 % Acelerador Información importante del manejo del vehículo

12 *Marcha Información importante del manejo del vehículo

13 *Intermitentes Información importante del manejo del vehículo

14 *Luces Información importante del ambiente externo

15 Revoluciones Información importante del manejo del vehículo

19 Pendiente Información importante del ambiente externo

20 Distancia V.D. Información importante del ambiente externo

27 *Anti niebla Información importante del ambiente externo

28 Velocidad carretera Información importante del ambiente externo

29 Mano izquierda Información proveniente del sistema de VA

30 Mano Derecha Información proveniente del sistema de VA

* Atributos recategorizados.

16

Considerando el desempeño de la RNA patrón como el mejor de los casos, cualquier pérdida de información derivada de la eliminación de

atributos, contribuirá a una desmejora en su desempeño.

Page 128: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

96 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Tabla 4.23 Variables no seleccionadas para la alimentación del sistema clasificador

ID Variable Usada (Etapa Inicial)

Usada (Etapa final)

Descripción

18 Distancia recorrida Información importante de las condiciones del conductor

2 Tiempo Información importante de las condiciones del conductor

6 TTLC / Información de simulación inaccesible en el mundo real

16 Consumo Valor irrelevante en el comportamiento del conductor

17 Nivel del depósito Valor irrelevante en el comportamiento del conductor

29 PK Valor irrelevante en el comportamiento del conductor

4 Posición lateral Información de simulación inaccesible en el mundo real

5 Ancho carril Información de simulación inaccesible en el mundo real

21 Velocidad V.D. Información de simulación inaccesible en el mundo real

1 Número de ciclo Valor interno del simulador inexistente en el mundo real

22 Número de carril Valor interno del simulador inexistente en el mundo real

23 Posición vehículo (X) Valor interno del simulador inexistente en el mundo real

24 Posición vehículo (Y) Valor interno del simulador inexistente en el mundo real

25 Posición carretera (X) Valor interno del simulador inexistente en el mundo real

26 Posición carretera (Y) Valor interno del simulador inexistente en el mundo real

30 Campo 30 Valor interno del simulador inexistente en el mundo real

Una vez que se seleccionaron todos los datos que fueron utilizados en la alimentación del

clasificador de comportamiento, se generaron las BDs finales mediante un sistema que, diseñado

en la herramienta Microsoft® Access

®, se describe en la siguiente sección.

4.3.1. Generación de bases de datos finales

Para la generación y división de las BDs finales, se desarrollo un pequeño sistema en el manejador

de bases de datos de Microsoft® que, incluido en la suite de el paquete Office

®, permite la creación

de aplicaciones de una forma sencilla y rápida. El sistema desarrollado para la generación de

datos finales se encargó de las siguientes funciones:

Unión de BDs de registros de simulación y detección automática de las manos

Se encargó de unir los datos importados desde los registros de simulación descritos

en la sección 4.1.2.1 y los generados por el sistema de VA descritos en la sección 4.2.1.

Discriminación de variables

Se encargó de filtrar las variables seleccionadas en el proceso descrito en la

sección 4.3.1.

Recategorización de variables

Se encargó de dividir las variables que contenían clases en sus datos para el

entrenamiento de las RNAs.

Normalización de los datos

Se encargó de la normalización de los datos contenidos en las variables de las BD,

mediante la búsqueda de máximos y mínimos y la aplicación de ( 4.2 ).

Page 129: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 97

𝑥𝑁𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑑𝑜 =𝑥 − 𝑥𝑀𝑖𝑛

𝑥𝑀𝑎𝑥 − 𝑥𝑀𝑖𝑛 ( 4.2 )

División de datos para entrenamiento y pruebas

Se encargó de la división de las BDs para generar los datos de prueba y

entrenamiento utilizados en los experimentos de clasificación del comportamiento. Dicha

división se describe en la siguiente sección (sección 4.3.1.1).

En la figura 4.49, se muestra una captura del sistema descrito.

Figura 4.49 Sistema implementado en Microsoft

® Access® para la generación de BD finales

Al final de la generación de las BDs finales, los datos fueron exportados a archivos

individuales17

del tipo csv (por las siglas en inglés de comma-separated values) para su utilización

en los experimentos de clasificación del comportamiento mediante minería de datos (ver sección

4.3.3) y mediante RNAs (ver sección 4.4.3 y capítulo 5 ).

4.3.1.1 División de datos para entrenamiento y pruebas

Para la división de las BDs finales, para la alimentación de los experimentos de clasificación, se

utilizó el 50% de los datos de cada clase para la etapa de entrenamiento (train) y el otro 50%

restante para la de pruebas (test).

Los datos elegidos para cada una de las etapas fueron seleccionados aleatoriamente

utilizando el atributo CICLO como semilla mediante la siguiente instrucción SQL:

𝑂𝑅𝐷𝐸𝑅 𝐵𝑌 𝑅𝑛𝑑([𝑁𝐶𝐼𝐶𝐿𝑂])

17

Se tiene un archivo de datos (csv) de entrenamiento y uno de prueba por cada experto por cada ejercicio de simulación (24 en total)

Page 130: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

98 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Una vez que los datos se encontraban ordenados de forma aleatoria, la selección de la

primera mitad de éstos se logró mediante la siguiente instrucción SQL:

𝑆𝐸𝐿𝐸𝐶𝑇 𝑇𝑂𝑃 50 𝑃𝐸𝑅𝐶𝐸𝑁𝑇

En las siguientes tablas (tabla 4.24 a tabla 4.26), se resume la división de datos realizada a

las valoraciones de cada uno de los expertos.

Tabla 4.24 División de datos de prueba y de entrenamiento por clase para valoraciones de Experto 1

Experto 1 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Train Test Train Test Train Test Train Test Train Test Train Test TOTAL

Ejercicio 1 3716 3716 8225 8225 3358 3357 2068 2067 488 487 17855 17852 35707

Ejercicio 2 4851 4851 15107 15106 1443 1442 1045 1045 568 567 23014 23011 46025

Ejercicio 3 5874 5873 5600 5599 1270 1270 1053 1052 4595 4595 18392 18389 36781

Ejercicio 4 21841 21840 33983 33982 3708 3707 2068 2067 292 291 61892 61887 123779

Tabla 4.25 División de datos de prueba y de entrenamiento por clase para valoraciones de Experto 2

Experto 2 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Train Test Train Test Train Test Train Test Train Test Train Test TOTAL

Ejercicio 1 8795 8795 572 571 189 189 1643 1642 6656 6655 17855 17852 35707

Ejercicio 2 21676 21676 968 967 99 99 126 126 144 144 23013 23012 46025

Ejercicio 3 10471 10470 2025 2025 490 490 2145 2145 3260 3260 18391 18390 36781

Ejercicio 4 55857 55857 3350 3350 943 942 735 735 1005 1005 61890 61889 123779

Tabla 4.26 División de datos de prueba y de entrenamiento por clase para valoraciones de Experto 3

Experto 3 SEGURO ACEPTABLE POCO

RIESGOSO BASTANTE RIESGOSO

MUY RIESGOSO

TOTAL

Train Test Train Test Train Test Train Test Train Test Train Test TOTAL

Ejercicio 1 901 901 9470 9470 1998 1997 440 440 5045 5045 17854 17853 35707

Ejercicio 2 6719 6718 15954 15954 118 117 223 222 0 0 23014 23011 46025

Ejercicio 3 156 156 428 427 5680 5680 5840 5840 6287 6287 18391 18390 36781

Ejercicio 4 28022 28022 31198 31197 798 797 633 632 1240 1240 61891 61888 123779

Page 131: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 99

4.3.2. Aproximación para la generación de conocimiento simbólico

Para la generación del conocimiento simbólico, como una primera aproximación a la generación de

modelos de comportamiento de conducción, se realizó una investigación de las recomendaciones a

conductores en manuales publicados por instituciones gubernamentales y académicas en diversos

países para su posible conversión a reglas de producción.

En las siguientes tablas (tabla 4.27 a tabla 4.29), se presentan algunas de las

recomendaciones más importantes encontradas en dicho estudio.

Tabla 4.27 Recomendaciones al conductor del Estado de Nueva York

Situación Acción recomendada al conductor

Si llueve

Reducir la velocidad.

Aumentar la distancia con el vehículo delantero.

Manejar a velocidad baja.

Prender las luces bajas y los limpiadores.

Frenar lentamente.

Si las ruedas traseras se

patinan hacia la izquierda

Volante hacia la izquierda.

No frenar fuertemente.

Si las ruedas traseras se

patinan hacia la derecha

Volante hacia la derecha.

No frenar fuertemente.

Si se revienta una llanta

Tomar el volante.

Disminuir la presión en el acelerador.

No presionar el freno hasta que se tenga control del vehículo.

Salir de la carretera tan pronto como sea posible.

Si falla el sistema de

dirección

Disminuir la presión del pedal del acelerador.

Encender las luces intermitentes.

No tocar el pedal de freno hasta que disminuya la velocidad.

Si fallan los faros

Encender las luces intermitentes.

Encender las luces de estacionamiento.

Encender las luces direccionales.

FUENTE: Departamento de Vehículos Motorizados del Estado de Nueva York.

Page 132: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

100 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Tabla 4.28 Recomendaciones al conductor del CONAE, México

Situación Acción recomendada al conductor

Si los frenos fallan Manejar hacia la orilla y usar el freno de mano.

Las luces se apagan

Mantener el vehículo derecho.

Frenar con firmeza.

Si se revienta una llanta

Mantener firmemente el volante con ambas manos.

No girar a ningún lado.

Recomendaciones generales

El volante debe sujetarse con las dos manos.

Guardar distancia con el vehículo delantero.

FUENTE: Comisión Nacional para el Ahorro y Energía (CONAE), México D.F.

Tabla 4.29 Recomendaciones al conductor de la Universidad Politécnica de Madrid

Situación Acción recomendada al conductor

Conducción Urbana

Utilizar las marchas cortas muy poco tiempo.

Cambiar rápidamente a marchas medias o largas, saltándose

incluso alguna marcha intermedia.

Mantener el vehículo moviéndose por inercia en cuanto se

detecte que va a ser necesaria una detención o reducción de

velocidad inminente.

Conducir con bastante anticipación para prever los huecos y

movimientos del tráfico.

Utilizar el rodaje por inercia en la marcha más larga que

permita el tráfico vial y, en caso de ser necesario, frenar

suavemente evitando continuas reducciones de marcha.

Prever y anticipar las aceleraciones y frenadas, buscando un

mayor aprovechamiento de las inercias y una mayor

regularidad de la velocidad.

FUENTE: Universidad Politécnica de Madrid.

Page 133: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 101

La información desprendida por la investigación realizada, permite la generación de un

conjunto de reglas de producción para la caracterización de ciertos aspectos del fenómeno de

conducción; por ejemplo, para las recomendaciones generales realizadas por la CONAE de México

(ver tabla 4.28), teniendo la detección de la mano izquierda (I) y derecha (D) en la zona del volante,

la distancia al vehículo delantero (D_D), la velocidad actual del vehículo en cuestión (V), las

condiciones de lluvia (Ll) y considerando la regla cuadrada de distancia de seguridad18

, se tendría

que:

if (!I | !D) | (D_D < (V/10)2 & !Ll) | (D_D < 2*(V/10)2 & Ll)

Comportamiento de conducción Riesgoso

Sin embargo, dada la limitada información almacenada en los registros de simulación, no

es posible la representación total del entorno en el que se desempeña el conductor; por lo tanto,

para la aplicación de dichas reglas en modelos que determinen el buen o mal comportamiento del

conductor, es necesario contar con más información de la situación de simulación en la que el

sujeto se encuentra envuelto (p.e. clima, velocidad y estado de las ruedas, aceleración vertical y

horizontal, estado del freno de mano, información de fallas, etc.).

Por otro lado, en la búsqueda de otras reglas con expertos en seguridad vial teniendo en

cuenta la información de simulación con la que se contaba, se encontró que psicólogos inmersos

en investigaciones de esta área, establecen que no es posible la generación de modelos a partir de

reglas en sistemas de cómputo, debido a la complejidad que éstas tendrían; por ejemplo, indican

que el hablar por un teléfono móvil mientras se conduce un vehículo puede ser una acción segura

o riesgosa dependiendo del interlocutor y del motivo de la llamada y que, en el caso de que el

conductor se encuentre esperando una llamada con información de su esposa en labor de parto,

es más riesgoso que la ignore a que la conteste.

Así mismo, en otro ejemplo, los mismos psicólogos indican que la acción de conducir a una

velocidad mayor a la establecida en los límites de la ruta por la que se transita, no puede ser

clasificada como riesgosa sin saber el contexto y los motivos de dicha situación. Por lo tanto,

aseguran que la cantidad de reglas necesarias para la clasificación del comportamiento de

conducción en todas las situaciones posibles sería demasiado grande y compleja para modelarse

en un sistema de cómputo, ya que se requiere información del contexto de la situación que sólo un

ser humano es capaz de razonar.

Por lo anterior, y dado que la información de dichas reglas se encuentra contenida en las

BDs generadas gracias a la información adquirida de los expertos humanos, se tomó la decisión de

generar los modelos del comportamiento de conducción de manera automática a través del

entrenamiento de las RNAs. Además, como parte del proceso de descubrimiento del conocimiento,

se diseñaron algunos experimentos con técnicas de DM que permitieron la generación automática

de algunas reglas importantes como se describe en la siguiente sección.

18

La CONAE en conjunto con la Dirección General de Tránsito recomiendan guardar una distancia de seguridad del cuadrado de la decima

parte de la velocidad en la que se transita para clima seco y el doble para clima lluvioso.

Page 134: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

102 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.3.3. Generación de reglas de comportamiento con minería de datos

Para el descubrimiento de algunas reglas de comportamiento, contenidas en las BDs generadas

para este proyecto y que los expertos humanos se declararon incapaces de definir, se realizaron

algunos ejercicios de DM que se describen a continuación.

4.3.3.1 Selección de algoritmos de minería de datos

El primer paso para la experimentación con técnicas de DM, consistió en la búsqueda de

algoritmos que se adaptaran al problema. Por lo anterior, y con la ayuda de la herramienta

RapidMiner de la empresa Rapid-I (ver figura 4.50), se seleccionaron dos algoritmos: uno para la

generación automática de arboles de decisión y otro para la generación automática de reglas.

Para el primer caso (árboles de decisión), después de diversas pruebas realizadas, se

seleccionó el algoritmo CART que, propuesto en [Breiman, 1984], cuenta con las siguientes

ventajas [Vázquez, 2005]:

Sus resultados son robustos a valores atípicos19

Permite combinaciones lineales entre las variables

Selecciona automáticamente las variables que reducen los errores de clasificación

Para el segundo caso (reglas de producción), se seleccionó el algoritmo RIPPER (o JRIP

en otras herramientas de DM) que, propuesto en [Cohen, 1995], se encarga de generar reglas

automáticamente con la ventaja de que la mayoría de los ejemplos o casos se cubren por aquellas

de más alto nivel y las de bajo nivel representan únicamente las excepciones [Morales, 2009].

Figura 4.50 Pantalla principal de la herramienta de DM RapidMiner de la empresa Rapid-I

19

Los valores atípicos, también llamados “outliers”, son elementos del conjunto de datos que, por sus características, no pueden ser

clasificados correctamente y son causantes de ruido en la clasificación de otros elementos cercanos.

Page 135: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 103

Aunque el primero de los algoritmos seleccionados se encarga de la generación

automática de árboles de decisión, sus resultados pueden ser considerados también como reglas

que dependen de sus hojas y ramificaciones.

Finalmente, la utilización de estos dos algoritmos se ratificó en diversas pruebas realizadas

con otros algoritmos de DM que demostraron su incapacidad para el manejo de la cantidad de

datos y atributos que las BDs de este proyecto contienen. Dicho problema, atribuido más a la

herramienta que al algoritmo, se presentó en diversos experimentos realizados con el cuarto

ejercicio, cuya cantidad de datos es mayor a la de los tres primeros en conjunto.

4.3.3.2 Experimentos para la generación de reglas

Como se mencionó en la sección 4.3.1.1, se utilizó el 50% de los datos para entrenamiento y el

resto para las pruebas. Por lo anterior, la presentación de resultados de la efectividad de

clasificación de los algoritmos de DM se presenta en dos partes.

En primer lugar, se muestra el porcentaje de efectividad obtenido durante el entrenamiento

del algoritmo (train). Este porcentaje indica la cantidad de datos que fue posible clasificar

correctamente en los datos de entrenamiento. Posteriormente, el modelo generado en la primera

etapa se aplica a los datos de prueba (test) cuyo porcentaje de efectividad tiene una mayor

importancia debido a que se trata de datos desconocidos para el sistema.

En la tabla 4.30, se muestra un resumen de la efectividad de la aplicación de las reglas

generadas por el algoritmo RIPPER a los datos. Dicho algoritmo, con una efectividad promedio de

97.76%, resultó menos efectivo que el del algoritmo CART, que obtuvo una efectividad promedio

de 98.65%. Los resultados de este último algoritmo se muestran en la tabla 4.31

Tabla 4.30 Efectividad de clasificación del comportamiento con reglas generadas con RIPPER

RIPPER Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Train Test Train Test Train Test Train Test

Experto 1 97.30% 96.74% 97.32% 96.90% 96.62% 96.40% 94.12% 93.85%

Experto 2 98.43% 98.19% 99.70% 99.56% 97.78% 97.48% 97.88% 97.72%

Experto 3 99.92% 99.92% 99.75% 99.65% 98.91% 98.71% 96.81% 96.66%

Tabla 4.31 Efectividad de clasificación del comportamiento con reglas generadas con CART

CART Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Train Test Train Test Train Test Train Test

Experto 1 97.96% 97.47% 98.84% 98.39% 97.91% 97.40% 96.79% 96.34%

Experto 2 98.88% 98.70% 99.79% 99.66% 98.38% 97.99& 99.15% 98.92%

Experto 3 99.91% 99.92% 99.80% 99.74% 99.42% 99.20% 98.36% 98.13%

Page 136: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

104 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.3.3.3 Análisis de situaciones relevantes en datos y reglas

Aunque los porcentajes de los experimentos expuestos en la sección anterior demostraron una alta

efectividad, el análisis de sus resultados demostró que la fiabilidad de sus conclusiones no es

aceptable en el modelado del comportamiento del conductor; ya que, por un lado, se generaron

reglas demasiado específicas que cubren solamente uno o dos casos como:

if (N_VELOCIDAD <= 0.66) and (N_VELOCIDAD >= 0.66)

if (N_PDTE_CARRETERA <= 0.3)

if (N_RPM >= 0.74)

if (N_PORC_ACEL >= 0.03)

Clase = Poco Riesgoso (2.0/0.0)

En el otro extremo, se generaron reglas que, sin presentar evidencia de un modelado del

comportamiento, cubren un gran número de casos como:

if (N_VELOCIDAD_VIA <= 0.71)

if (N_PDTE_CARRETERA <= 0.3) and (N_PDTE_CARRETERA >= 0.3)

if (N_RPM >= 0.56)

Clase = Aceptable (1246.0/0.0)

Que cubre 1,246 casos considerando únicamente las revoluciones del motor del vehículo y

datos de la información de la vía (pendiente de la carretera y velocidad límite).

A pesar de lo anterior, existen algunas cuantas reglas de alta importancia (de las más de

8,000 generadas por cada algoritmo). A continuación, se presenta un breve análisis de algunas de

estas reglas de alto nivel que, además de cubrir una gran cantidad de casos, presentan evidencia

de un modelado del comportamiento de conducción generado automáticamente; además, en la

sección 0, se realiza una comparación entre los resultados descritos en la sección anterior y los

obtenidos con el clasificador neuronal descritos en las secciones 4.4.3 y 5.2.

Caso 1:

if (N_VELOCIDAD >= 0.61)

Clase = Muy Riesgoso (5049.0/6.0)

La regla presentada en el primer caso indicó que, sin importar los demás

parámetros de la dinámica del vehículo, las velocidades altas se consideraron un

comportamiento muy riesgoso (la clase más riesgosa establecida).

Page 137: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 105

Caso 2:

if (N_VELOCIDAD_VIA >= 1)

if (N_VELOCIDAD <= 0.77)

if (N_PORC_ACEL <= 0.82)

if (N_DIST_SEGURIDAD <= 0.21)

if (N_PDTE_CARRETERA <= 0.3)

Clase = Muy Riesgoso (1737.0/15.0)

Caso 3:

if (N_DIST_SEGURIDAD <= 0.26) and (N_DIST_SEGURIDAD >= 0.02)

if (N_PDTE_CARRETERA <= 0.35) and (N_DIST_SEGURIDAD >= 0.02)

if (N_RPM <= 0.66)

if (N_VELOCIDAD_VIA >= 1)

if (N_PORC_ACEL <= 0.78)

Clase = Muy Riesgoso (544.0/0.0)

En las reglas presentadas en el segundo y tercer caso, se observa que se clasificó

como un comportamiento muy riesgoso a las situaciones en las que se tiene una distancia

de seguridad muy pequeña.

Caso 4:

if (N_ANG_GIRO_VOLANTE >= 0.55) and (N_ANG_GIRO_VOLANTE >= 0.56)

if (N_PDTE_CARRETERA >= 0.31)

if (Marcha_10 >= 1)

Clase = Muy Riesgoso (196.0/0.0)

En el cuarto caso, se observa que se consideró un comportamiento muy riesgoso a

la realización de giros a altas velocidades en subidas inclinadas (pendiente positiva).

Caso 5:

if (N_RPM >= 0.77)

if (N_VELOCIDAD >= 0.72) and (N_VELOCIDAD >= 0.73)

if (N_PDTE_CARRETERA >= 0.32)

Clase = Bastante Riesgoso (294.0/0.0)

Page 138: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

106 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

El quinto caso, establece que se consideró como un comportamiento bastante

riesgoso el forzamiento del motor en subidas inclinadas.

Caso 6:

if (Mano Izquierda <= 0)

if (N_VELOCIDAD >= 0.71)

if (N_RPM <= 0.6) and (N_RPM >= 0.5)

Clase = Bastante Riesgoso (259.0/10.0)

Caso 7:

if (N_RPM >= 0.7) and (N_RPM >= 0.71)

if (N_HE >= 0.34)

if (Mano Izquierda <= 0)

Clase = Bastante Riesgoso (220.0/0.0)

El sexto y séptimo caso, muestran que se consideró como un mal comportamiento

al manejo del vehículo a altas velocidades con una sola mano en el volante y a realizar

giros en esa misma situación.

Caso 8:

if (N_ANG_GIRO_VOLANTE <= 0.55) and (N_ANG_GIRO_VOLANTE >= 0.54)

if (N_VELOCIDAD <= 0.18)

if (Mano Izquierda <= 0)

if (N_PORC_FRENO <= 0.66)

if (N_PORC_ACEL <= 0.83)

Clase = Bastante Riesgoso (170.0/0.0)

En el octavo caso, se observa que se consideró como un comportamiento bastante

riesgoso al uso inadecuado de los pedales del vehículo.

Caso 9:

if (N_VELOCIDAD_VIA <= 0.71)

if (N_PDTE_CARRETERA <= 0.3)

if (N_VELOCIDAD >= 0.63) and (N_VELOCIDAD >= 0.71)

Clase = Poco Riesgoso (470.0/0.0)

Page 139: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 107

En el noveno caso, se observa una regla que establece al exceso de velocidad

como una conducta poco riesgosa (la menos riesgosa considerada).

Caso 10:

if (N_HE <= 0.33)

if (Mano Izquierda >= 1) and (Mano Derecha >= 1)

if (N_ANG_GIRO_VOLANTE >= 0.53)

if (Int_Apagado >= 1)

if (N_DIST_SEGURIDAD <= 0.01)

Clase = Poco Riesgoso (203.0/0.0)

En la regla del décimo caso, se observa que se consideró una acción poco

riesgosa al realizar giros sin la debida señalización.

Caso 11:

if (Mano Derecha >= 1) and (Mano Izquierda >= 1)

if (N_PORC_ACEL <= 0.61)

if (N_VELOCIDAD <= 0.62)

Clase = Aceptable (250.0/0.0)

El decimoprimer caso, muestra que se consideró aceptable el comportamiento de

conducir con las dos manos sobre el volante a una velocidad media.

Caso 12:

if (N_PDTE_CARRETERA <= 0.33) and (N_PDTE_CARRETERA >= 0.27)

if (Mano Izquierda >= 1) and (Mano Derecha >= 1)

if (N_VELOCIDAD_VIA >= 0.57)

if (N_VELOCIDAD <= 0.60)

Clase = Seguro (558.0/0.0)

En este último caso, se observa la clasificación de un comportamiento seguro en

dónde el conductor tenía las dos manos sobre el volante, conducía bajo los límites de

velocidad, en una carretera con pendientes moderadas.

Los resultados presentados, demuestran que existe una ligera aproximación al modelado

del comportamiento por parte de los algoritmos de DM utilizados; sin embargo, se trata de casos

aislados de los miles generados por dichos algoritmos. En la siguiente sección, se describe el

desarrollo del clasificador neuronal que fue, finalmente, el encargado de la generación de los

modelos del comportamiento utilizados en este proyecto.

Page 140: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

108 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.4 Clasificación del comportamiento usando RNAs

El sistema neuronal fue implementado en el lenguaje de programación C++ en bibliotecas aisladas

e independientes para su utilización en otros proyectos como un aporte agregado de este trabajo.

El desarrollo fue realizado en el entorno de programación Borland C++ Builder 6.0 que

permite el diseño de aplicaciones visuales. Para la utilización del simulador neuronal en un

proyecto desarrollado en dicho entorno, es necesaria la inclusión del archivo RNA_Lib.h en el

archivo principal y la adición del archivo RNA_Lib.cpp al proyecto en cuestión.

Como se ha establecido en secciones anteriores la base de una RNA es el conjunto de

neuronas que, con propiedades similares, procesan la información con la que se alimenta la red

hasta obtener un valor de salida. Para facilitar el procesamiento de dicha información y el costo

computacional que los procesos de entrenamiento y reconocimiento de la red requieren se

caracterizó, en primera instancia, a la neurona artificial en una clase propia llamada C_Neuron.

4.4.1. Implementación de una neurona artificial

En la figura 4.51 se muestra el diagrama general de la neurona artificial implementada en la clase

C_Neuron. Esta clase fue diseñada con el objetivo principal de generar y manejar con facilidad el

arreglo de neuronas que requiere una RNA integrando el concepto de listas ligadas para sus

interconexiones.

Figura 4.51 Diagrama de la neurona artificial implementada en la clase C_Neuron

Page 141: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 109

Cada neurona contiene dos arreglos de neuronas para interconectarse con las neuronas

de la capa anterior (INNeurons) y de la siguiente capa (OutNeurons). El número de dichas

neuronas está definido en las variables NumInputs y NumOutputs respectivamente. Cada conexión

existente a una neurona en una capa superior requiere un peso asociado, estos pesos están

almacenados en el vector Weights que contiene NumOutputs elementos (un peso por cada

neurona).

Para una RNA multicapa se requieren tres tipos de neuronas (ver sección 2.3.4); por lo que

es posible configurar el comportamiento de una neurona creada con la clase C_Neuron

modificando el valor de su variable NType. El valor de variable puede ser establecido a una de las

siguientes constantes definidas en su propia biblioteca:

a) InputN

Esta constante establece a la neurona como unidad de entrada. Su valor de

entrada y salida es tomado de la variable InValue; no contiene neuronas de entrada

(NumInputs = 0); sus neuronas de salida son las que conforman la primera capa oculta de la

red (NumOutputs > 0); los valores de Theta y FOut son irrelevantes.

b) HiddenN

Esta constante establece a la neurona como unidad oculta. Su valor de entrada es

generado a partir del valor de salida de las neuronas de la capa anterior mediante ( 2.23 )

(NumInputs > 0); su salida es calculada mediante ( 2.24 ) y transmitida a la siguiente capa;

sus neuronas de salida son las que conforman la siguiente capa oculta o la capa de salida

de la red (NumOutputs > 0); los valores de InValue y FOut son irrelevantes.

c) OutputN

Esta constante establece a la neurona como unidad de salida. Su valor de entrada

es generado a partir del valor de salida de las neuronas de la última capa oculta de la red

mediante ( 2.23 ) (NumInputs > 0); su salida es calculada mediante ( 2.24 ) y considerada la

salida de la red; no contiene neuronas de salida (NumOutputs = 0); el valor de salida

esperada se establece durante el entrenamiento de la red modificando el valor de la variable

FOut; el valor de InValue es irrelevante.

Los parámetros descritos hasta el momento son establecidos en el momento de

construcción de una neurona mediante la llamada al constructor de la clase:

𝐶_𝑁𝑒𝑢𝑟𝑜𝑛 (𝑁𝑢𝑚𝐼𝑛𝑝𝑢𝑡𝑠,𝑁𝑢𝑚𝑂𝑢𝑡𝑝𝑢𝑡𝑠,𝑁𝑇𝑦𝑝𝑒);

Una vez que estos parámetros son establecidos mediante el constructor, su modificación

puede causar inestabilidad en la red sino se realiza una correcta actualización en las

interconexiones correspondientes.

Aunque es posible el uso de esta función directamente por el usuario, la creación de

neuronas es realizada automáticamente por la clase descrita en la sección 4.4.2, que permite la

generación de una RNA completa.

Page 142: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

110 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Las funciones relacionadas con el entrenamiento por BP y el reconocimiento por FF se describen a

continuación:

a) BPCalcNewWT( DLearn )

Esta función calcula los cambios que sufrirán los pesos y umbral de la neurona en

cuestión mediante los pasos 1-10 del algoritmo BP descrito en la sección 2.3.5.2. El

parámetro recibido es una variable de tipo booleana que activa o desactiva el aprendizaje

dinámico experimental implementado en el simulador neuronal. En la modalidad

experimental los cambios a los pesos y umbral se realizan en tiempo real. Lo anterior

provoca que el entrenamiento requiera menos épocas para su convergencia bajo

condiciones adecuadas; sin embargo, es muy costoso computacionalmente y requiere un

tiempo elevado de procesamiento. Cuando se realiza un entrenamiento normal (parámetro

booleano bajo), es necesario la actualización de pesos y umbrales de forma manual

mediante la función ApplyNewWT.

b) ApplyNewWT()

Esta función aplica los cambios a pesos y umbral calculados en la función

BPCalcNewWT (pasos 11-12 de la sección 2.3.5.2). Para realizar los cambios en toda la red

es necesario llamar a esta función en cada unidad oculta y de salida de la red (las unidades

de entrada no requieren actualizaciones de pesos o umbral).

c) GetPreIndex()

Esta función devuelve el índice de conexión entre la neurona y las neuronas de la

capa inmediata anterior. Este índice permite conocer que conexión y peso están asociados

desde una neurona de entrada (InNeuron) y la neurona en cuestión:

𝑡𝑕𝑖𝑠 = 𝑡𝑕𝑖𝑠 → 𝐼𝑛𝑁𝑒𝑢𝑟𝑜𝑛𝑠 𝑥 → 𝑂𝑢𝑡𝑁𝑒𝑢𝑟𝑜𝑛𝑠 𝐺𝑒𝑡𝑃𝑟𝑒𝐼𝑛𝑑𝑒𝑥 ;∀𝑥, 0 ≤ 𝑥 < 𝑁𝑢𝑚𝐼𝑛𝑝𝑢𝑡𝑠

d) OutValue( DLearn )

Esta función se encarga de calcular el valor de salida de la neurona. Sin importar el

tipo de neurona de la que se trate, la función se propaga hasta la capa de entrada

calculando la salida de todas las neuronas que se encuentren en el camino. Al hacer la

llamada a esta función a cada una de las unidades de la capa de salida de la red, se

calculan automáticamente las salidas de todas las neuronas. Una vez calculadas dichas

salidas, son almacenadas como contantes para agilizar los cálculos en los procesos de

entrenamiento y reconocimiento de la red (las salidas de las neuronas no cambiarán hasta

que se modifiquen los pesos, umbrales o la información de entrada de la red). Para obligar

al cálculo exhaustivo de entradas y salidas (descartar los datos constantes almacenados) es

necesario establecer a la neurona como modificada mediante la función SetModified.

El parámetro recibido es una variable de tipo booleano que inhibe el

almacenamiento de valores constantes en las neuronas. Esta modalidad es utilizada en el

aprendizaje dinámico experimental.

e) SetModified()

Esta función establece a la neurona como modificada y obliga al cálculo exhaustivo

de los valores de entrada y salida cuando ha habido cambios en el umbral, pesos de

interconexiones o en la información de entrada de la red. La llamada a esta función desde la

primera neurona que conforma la capa de entrada establecerá como modificadas a todas las

neuronas de la red.

Page 143: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 111

4.4.2. Implementación de una RNA

La estructura de una RNA del tipo perceptrón multicapa se caracterizó en una clase llamada

C_MLPerceptron. Esta clase permite la creación, configuración y manejo de una RNA completa

basándose en la clase C_Neuron descrita en la sección anterior. En la figura 4.52 se muestra el

diagrama general de la RNA implementada.

Figura 4.52 Diagrama de la RNA implementada en la clase C_MLPerceptron

4.4.2.1 Construcción de la red

Existen dos formas que permiten crear una RNA mediante el uso de la clase

C_MLPerceptron.

1. Construcción de red vacía

Se puede crear una RNA vacía mediante la llamada al constructor:

𝐶_𝑀𝐿𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑟𝑜𝑛(𝑁𝐼𝑛𝑝𝑢𝑡𝑠,𝑁𝑂𝑢𝑡𝑝𝑢𝑡𝑠,𝑁𝐿𝑎𝑦𝑒𝑟𝑠,𝑁𝐻𝑖𝑑𝑑𝑒𝑛)

Donde NInputs establece el número de neuronas que conformarán la capa de

entrada de la red y NOutputs el número de neuronas que conformarán la capa de salida. El

número de capas ocultas y el número de neuronas que conforman cada una de ellas se

establece en NLayers y NHidden respectivamente.

Una vez que una RNA fue creada, es posible guardarla en un archivo para su futura

utilización mediante la función SaveNet. Esta función recibe como parámetro el nombre del archivo

donde se desea almacenar la red y se encarga de guardar tanto las propiedades de la red como

los pesos y umbrales de cada una de las neuronas que la conforman. Estos archivos pueden ser

utilizados para la creación de una RNA mediante un segundo método.

Page 144: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

112 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

2. Construcción de red desde archivo

Se puede crear una RNA con los datos de una red guardada previamente

mediante la llamada al constructor de la clase:

𝐶_𝑀𝐿𝑃𝑒𝑟𝑐𝑒𝑝𝑡𝑟𝑜𝑛(𝐹𝑖𝑙𝑒𝑁𝑎𝑚𝑒)

Donde FileName es el nombre del archivo donde se encuentra la red.

4.4.2.2 Configuración de la red

En la figura 4.53 se muestra el diagrama de los parámetros de configuración de la red.

Figura 4.53 Parámetros de configuración de una RNA de la clase C_MLPerceptron

Existen tres grupos de parámetros que conforman el módulo de configuración:

Configuración: Determinan el comportamiento de la red en sus procesos de

entrenamiento y reconocimiento. A continuación se describen los parámetros de este

grupo.

o LRate (Taza de aprendizaje)

Determina la velocidad con la que la red aprende.

o Tolerance (Tolerancia)

Establece la tolerancia que tendrá la red para aceptar un resultado como correcto.

o DLearn (Aprendizaje Dinámico)

Activa el modo de aprendizaje dinámico experimental en lugar del BP clásico.

o NRecurrent (Red Recurrente)

Indica si se trata de una red recurrente o no. Este parámetro debe ser modificado

por medio de la función SetRecurrent que aumentará el número de neuronas que

conforman la capa de entrada de la red y actualizará todas las interconexiones

asociadas (ver sección 2.3.6).

Page 145: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 113

Arquitectura: Determinan la arquitectura de la red. Estos parámetros son establecidos al

construir la red y no deben ser modificados directamente por el usuario.

Información: Este grupo de parámetros son exclusivamente informativos y no afectan el

desempeño de la red. El usuario puede obtener toda la información del proceso de

entrenamiento de la red mediante los valores almacenados en estas variables que se

detallan a continuación.

o NPatterns (Número de patrones de entrenamiento)

Es el número de patrones almacenados en la matriz de aprendizaje

(MData). Este contador se modifica automáticamente al agregar patrones de

entrenamiento mediante la función AddData detallada más adelante.

o Goods (Correctos)

Es el número de patrones correctamente clasificados en la última época de

entrenamiento de la red. Cuando el número de patrones correctamente clasificados

es igual al número de patrones de entrenamiento (Goods = NPatterns) el

entrenamiento concluye automáticamente.

o Bads (Incorrectos)

Es el número de patrones incorrectamente clasificados en la última época

de entrenamiento de la red

o Epochs (Épocas)

Es el número de iteraciones que se ha entrenado a la red con los datos

contenidos en la matriz de aprendizaje (MData). Este valor es reiniciado

automáticamente al realizar cambios en las propiedades de la red ya que es

necesario un nuevo entrenamiento.

o RMS (Error medio cuadrático de la red, RMS por sus siglas en inglés)

Almacena el error medio cuadrático generado mediante la llamada a la

función GetRMS. Dicha función, llamada automáticamente tras cada iteración de

entrenamiento, calcula el error medio cuadrático de la red mediante ( 4.3 ).

𝑅𝑀𝑆 = 𝑆𝑎𝑙𝑖𝑑𝑎 𝐸𝑠𝑝𝑒𝑟𝑎𝑑𝑎 − 𝑆𝑎𝑙𝑖𝑑𝑎 𝑅𝑒𝑎𝑙 2

𝑁𝑃𝑎𝑡𝑡𝑒𝑟𝑛𝑠𝑁𝑂𝑢𝑡𝑝𝑢𝑡𝑠

𝑁𝑂𝑢𝑡𝑝𝑢𝑡𝑠 ∗ 𝑁𝑃𝑎𝑡𝑡𝑒𝑟𝑛𝑠 ( 4.3 )

o NetInfo (Información de la red)

Es una cadena de texto que contiene el resumen de todas las variables

que conforman el grupo de información de la red. A continuación se presenta un

ejemplo del texto contenido en esta variable en un punto de un experimento:

“Buenos: 150

Malos: 0

RMS: 0.0217

Épocas: 5102”

Page 146: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

114 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.4.2.3 Arreglo de neuronas artificiales

El diagrama del arreglo interno de neuronas dentro de la RNA se muestra en la figura 4.54.

Figura 4.54 Diagrama del arreglo interno de neuronas de una RNA de la clase C_MLPerceptron

Las neuronas que conforman la RNA están contenidas en un arreglo unidimensional de

elementos de la clase C_Neuron llamado Neurons. Dicho arreglo contiene en forma secuencial las

neuronas de la capa de entrada, de las capas ocultas y de la capa de salida.

Las neuronas de la capa de entrada son los elementos [0, n-1] donde n = NInputs. Las

neuronas ocultas son los elementos [n, n+p-1] donde p = NLayers * NHidden y h = NHidden.

Finalmente, las neuronas de la capa de salida son los elementos [n+p, n+p+k-1] donde k =

NOutputs.

Las propiedades de cada neurona así como sus interconexiones necesarias con elementos

de otras capas de la red son generadas automáticamente durante la creación de la red. Las

funciones de la RNA asociadas con el arreglo de neuronas (ver figura 4.52) se describen a

continuación:

a) RandThetas(min, max)

Esta función aleatoriza los umbrales de todas las neuronas de la red en un

rango [min, max]. El contador de épocas de la red (Epochs) es reiniciado para

empezar un nuevo entrenamiento.

b) RandWeights(min, max)

Esta función aleatoriza los pesos de todas las conexiones de la red en un

rango [min, max]. El contador de épocas de la red (Epochs) es reiniciado para

empezar un nuevo entrenamiento.

c) RandAll(min, max)

Esta función aleatoriza los pesos de todas las conexiones de la red y el

umbral de todas las neuronas en un rango [min, max] mediante la llamada a las

funciones descritas en a y b. El contador de épocas de la red (Epochs) es reiniciado

para empezar un nuevo entrenamiento.

Page 147: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 115

d) Neuron(layer, neuron)

Esta función permite al usuario acceder directamente a las propiedades de

una neurona específica de la red. La neurona en cuestión se específica por medio

de los parámetros capa y neurona:

Layer

Indica la capa en la que se encuentra la neurona a la que se

quiere acceder. Sus valores pueden ser InLayer para la capa de entrada,

OutLayer para la capa de salida o un número en el rango [1, NLayers] para

las capas ocultas (ver figura 4.55).

Neuron

Indica el número de la neurona a la que se quiere. Sus valores

para están en un rango [1, NInput | NHIdden | NOutput] dependiendo de la

capa en la que se encuentre la neurona (ver figura 4.55).

Figura 4.55 Acceso a neuronas mediante la función Neuron

e) Weight(NeuronA, NeuronB)

Esta función permite al usuario acceder y modificar el peso asociado a la

conexión entre una neurona (NeuronA) y otra (NeuronB). Si dichas neuronas no

tienen una conexión directa entre sí, la función devuelve un valor nulo. Es posible

utilizar esta función en conjunto con la descrita en c de la siguiente forma:

∗𝑅𝑒𝑑−> 𝑊𝑒𝑖𝑔𝑕𝑡(𝑅𝑒𝑑−> 𝑁𝑒𝑢𝑟𝑜𝑛𝑎(𝐼𝑛𝐿𝑎𝑦𝑒𝑟, 1),𝑅𝑒𝑑−> 𝑁𝑒𝑢𝑟𝑜𝑛𝑎(1,1)) = 𝑋

El ejemplo anterior establecerá a X el valor del peso entre la primera

neurona de la capa de entrada y la primera neurona de la primera capa oculta.

Las funciones descritas en c y e fueron implementadas para permitir al usuario interactuar

directamente con la red y ampliar el campo de aplicación del simulador neuronal; sin embargo, es

necesario considerar la estabilidad de la red ante cualquier modificación a uno de sus elementos.

Page 148: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

116 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.4.2.4 Entrenamiento de la red

Para el entrenamiento de la red se implementaron dos funciones principales:

a) BPLearn(Epochs)

Esta función realizará el proceso de entrenamiento por Epochs épocas.

b) BPLearntoRMS(TRMS, MaxEpochs)

Esta función realizará el proceso de entrenamiento hasta que el RMS de la

red sea menor que TRMS. Si este criterio no se cumple después de MaxEpochs

épocas el entrenamiento termina.

En cada iteración las variables de información de la red (ver figura 4.53) son actualizadas

con los datos desprendidos de la última época. El entrenamiento culmina de forma automática si

todos los patrones de entrenamiento contenidos en la matriz de aprendizaje (MData) han sido

correctamente clasificados.

En la figura 4.56 se muestra el diagrama de conexiones entre dicha matriz y el arreglo de

neuronas de la RNA.

Figura 4.56 Diagrama de conexión entre la matriz de aprendizaje y el arreglo de neuronas de la RNA

Page 149: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 117

Los datos de entrenamiento de la red son almacenados en la matriz de aprendizaje

(MData) mediante la función AddData. Esta función recibe como parámetros de entrada una matriz

de tipo doble (** double) y la cantidad de elementos que se desean copiar de dicha matriz a MData

y se encarga de reiniciar la cuenta de épocas para iniciar un nuevo proceso de aprendizaje con los

nuevos datos de entrenamiento.

Los datos en cada renglón deben contener la concatenación de los datos de entrada de la

red y los de la salida esperada, por lo que el ancho de ambas matrices está dado por ( 4.4 ).

𝐴𝑛𝑐𝑕𝑜 𝑑𝑒 𝑀𝑎𝑡𝑟𝑖𝑧 = 𝑁𝐼𝑛𝑝𝑢𝑡𝑠 + 𝑁𝑂𝑢𝑡𝑝𝑢𝑡𝑠 − 1 ( 4.4 )

Existen dos métodos que permiten la revisión del estado de entrenamiento de la red. Por

un lado la función GetAllInfo se encarga de actualizar las variables de información de la red

mediante una iteración de reconocimiento a todos los datos almacenados en MData (no se realizan

modificación a pesos o umbrales). Por otro lado, la función NetReview genera y devuelve una

matriz con las mismas características de MData pero con la salida real de la red en lugar de la

esperada.

Los patrones de entrenamiento almacenados en MData de una red no son almacenados en

el archivo generado por la función SaveNet; lo anterior se debe a que una RNA completamente

entrenada no requiere de dicha información para la clasificación de datos nuevos y permite una

mayor portabilidad de las RNAs creadas mediante este simulador neuronal.

4.4.2.5 Reconocimiento de datos nuevos

Una vez que se tiene una RNA completamente entrenada, es posible su utilización en el

reconocimiento de datos nuevos. A continuación se describen las funciones implementadas

asociadas al proceso de reconocimiento de la red:

a) SetInput( *InData )

Esta función establece la entrada de la red a los datos contenidos en el

vector de entrada InData. Las neuronas afectadas por esta función son únicamente

las que conforman la capa de entrada (ver figura 4.57). Dicho vector debe contener

NumInputs posiciones (un dato por cada neurona en la capa entrada de la red).

b) GetOutput()

Esta función, llamada sin ningún parámetro, devuelve un vector con los

datos de salida de la red de acuerdo a la última entrada establecida por la función

SetInput. Es posible enviar como parámetro un vector InData para establecer una

nueva entrada en la red antes de obtener su información de salida. El vector

devuelto por esta función contendrá NOutputs elementos (uno por cada neurona en

la capa de salida de la red, ver figura 4.57).

c) Test()

Esta función devuelve en un valor booleano si el dato pasado como

parámetro es clasificado correctamente o no por la red. Es posible enviar como

parámetro un vector que contenga tanto los datos de entrada como la salida

esperada (NInputs + NOutputs posiciones) o un valor entero que indicará el registro

(renglón) de la matriz de aprendizaje (MData) que se probará.

Page 150: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

118 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Figura 4.57 Diagrama de conexión entre vectores (entrada/salida) y el arreglo de neuronas de la RNA

Como una opción adicional y para facilitar la clasificación de patrones con el simulador

neuronal, se implementó una función del tipo Winner Takes All (el ganador se lleva todo). Dicha

función, llamada WTALLIndex, compara los valores de salida de cada una de las neuronas en la

capa de salida y devuelve el índice de la neurona ganadora. Los parámetros de entrada de dicha

función son idénticos a los de la función GetOutput. En la figura 4.58 se muestra el diagrama de la

RNA con un selector a su salida que devolverá el índice de la neurona ganadora en un rango [1, k].

Figura 4.58 Diagrama de conexión de la RNA con el selector implementado en la función WTAllInex

Page 151: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 119

4.4.3. Entrenamiento de las RNAs usadas para clasificación

El primer paso para el entrenamiento de las RNAs fue el análisis del problema para seleccionar la

estructura que tendrían para un óptimo desempeño. Dicho análisis se describe a continuación.

4.4.3.1 Selección de estructura de RNAs clasificadoras

El primer experimento realizado para la selección de la estructura final que tendrían las RNAs fue

la comparación del desempeño del simulador neuronal implementado con otras herramientas

similares para justificar su utilización sobre productos comerciales. En la figura 4.59, se muestra

una gráfica comparativa del tiempo de procesamiento por época de una RNA con una única capa

oculta con 40 neuronas al variar el número de datos de entrenamiento.

Figura 4.59 Gráfica comparativa del tiempo de procesamiento por época entre diversas herramientas

En la gráfica anterior, se observa que el simulador implementado tiene un rendimiento

superior a las dos herramientas comerciales seleccionadas; además, se detectaron problemas en

la herramienta BrainMaker® al realizar entrenamientos con grandes cantidades de datos. En la

figura 4.60, se muestran los resultados del mismo experimento para el simulador implementado.

Figura 4.60 Gráfica de tiempo de procesamiento por época del simulador implementado

Page 152: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

120 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Establecido en la literatura que cualquier problema puede ser resuelto con una RNA con

una única capa oculta (ver sección 2.3.4), se tomó la decisión de utilizar una estructura de ese tipo;

por lo tanto, el único parámetro de la arquitectura que quedó por definir fue el número de neuronas

que comprenderían dicha capa. Para lo anterior, se diseñó un experimento que permitió encontrar

el equilibrio entre un buen rendimiento y una buena efectividad. En la figura 4.61, se muestra la

gráfica del tiempo de procesamiento necesario por cada época para RNAs con un número

diferente de neuronas en su capa oculta como primera parte de dicho experimento.

Figura 4.61 Gráfica de tiempo de procesamiento por época de RNAs con diferentes neuronas ocultas

El rango utilizado en el experimento anterior de el número de neuronas ocultas ([40 – 120])

se basa en que dicho número no debe ser menor que el número de neuronas de entrada de la red

que, en este caso, es de 40. Por otro lado, en la literatura se recomienda el uso del triple de

neuronas en la capa oculta que en la capa de entrada (ver sección 2.3.4). En la segunda etapa del

experimento, mostrado en la figura 4.62, se comparó el desempeño en la reducción del error RMS

por época de entrenamiento con RNAs con un número diferente de neuronas ocultas.

Figura 4.62 Gráfica comparativa de reducción de error para RNAs con diferentes neuronas ocultas

Page 153: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 121

En la gráfica de la segunda etapa del experimento, se observa que las líneas de reducción

del error RMS son más pronunciadas para las RNAs con 90 y 120 neuronas en su capa oculta; sin

embargo, analizando los resultados de la primera etapa del experimento, el tiempo de

procesamiento necesario por época de estos dos tipos de redes difiere por un poco más de un

segundo que, en entrenamiento de grandes cantidades de datos, puede marcar una gran

diferencia.

Por lo anterior, y considerando la similitud en el comportamiento mostrado en la figura 4.62,

se optó por la utilización de RNAs con una capa oculta con 90 neuronas20

.

Los dos parámetros restantes de las RNAs fueron seleccionados mediante el análisis de

los resultados de diversos experimentos realizados con los datos del proyecto. Al final, la taza de

aprendizaje fue establecida en 0.8 y la tolerancia en 0.2, lo que garantiza que la red aprenda y no

memorice mediante el forzamiento de los datos.

Finalmente, en la siguiente y última sección de este capítulo, se resumen los resultados

obtenidos en el entrenamiento de las RNAs clasificadoras para cada ejercicio y para cada experto

(tabla 4.32 a tabla 4.35). El resumen de los resultados de cada experimento, analizados a detalle

en la sección 5.2, contienen los siguientes datos:

Efectividad

Se trata del porcentaje de efectividad de clasificación logrado en los datos

de entrenamiento, este porcentaje se trata del mayor alcanzado en el proceso de

entrenamiento de la red (no es necesariamente el último).

Error RMS

Se trata del error medio cuadrático de los datos clasificados calculado

mediante ( 4.3 ) para la mayor efectividad alcanzada en el entrenamiento (ver

sección 4.4.2.2).

Datos correctos e incorrectos

Se trata del número de ejemplos clasificados correctamente o

incorrectamente en los datos de entrenamiento para la mayor efectividad

alcanzada.

Épocas de entrenamiento

Se trata del número total de épocas ejecutadas en el proceso de

entrenamiento hasta alcanzar la mayor efectividad obtenida.

Tiempo de entrenamiento

Se trata del tiempo total de entrenamiento de la red (en horas) hasta

alcanzar la mayor efectividad (no se considera el tiempo de almacenamiento de la

red ni la generación de reportes).

Tiempo sin mejora

Se trata del tiempo de entrenamiento (en horas) transcurrido desde que se

alcanzó la mayor efectividad hasta que se detuvo el entrenamiento. Los tiempos sin

mejora muy pequeños indican que es posible alcanzar un mejor porcentaje de

clasificación con mas entrenamiento; es decir, sigue aumentando la efectividad.

20

Para el análisis de los experimentos descritos, es importante considerar la aleatorización inicial de la red, que hace que su comportamiento

sea diferente en cada ejecución.

Page 154: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

122 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

4.4.3.2 Resultados de entrenamiento de RNAs clasificadoras

Tabla 4.32 Resumen de resultados de entrenamiento de las RNAs clasificadoras para el Ejercicio 1

Ejercicio 1: Urbano

Efectividad Datos

Correctos Datos

Incorrectos Épocas de

Entrenamiento

Tiempo de Entrenamiento

(Horas)

Tiempo sin Mejora (Horas)

Experto 1 90.69% 16,192 1,663 711,114 903 53

Experto 2 98.05% 17,506 349 406’635 929 274

Experto 3 99.73% 17,805 50 369,260 620 292

Tabla 4.33 Resumen de resultados de entrenamiento de las RNAs clasificadoras para el Ejercicio 2

Ejercicio 2: Montaña

Efectividad Datos

Correctos Datos

Incorrectos Épocas de

Entrenamiento

Tiempo de Entrenamiento

(Horas)

Tiempo sin Mejora (Horas)

Experto 1 85.26% 19,622 3,389 640,961 918 6

Experto 2 99.76% 22,958 53 278,791 695 4

Experto 3 98.54% 22,678 337 392,623 449 8

Tabla 4.34 Resumen de resultados de entrenamiento de las RNAs clasificadoras para el Ejercicio 3

Ejercicio 3: Inter-Urbano

Efectividad Datos

Correctos Datos

Incorrectos Épocas de

Entrenamiento

Tiempo de Entrenamiento

(Horas)

Tiempo sin Mejora (Horas)

Experto 1 81.13% 14,922 3,467 499,403 735 0

Experto 2 82.31% 15,137 3,252 559,451 926 37

Experto 3 94.91% 17,454 935 292,056 620 348

Tabla 4.35 Resumen de resultados de entrenamiento de las RNAs clasificadoras para el Ejercicio 4

Ejercicio 4: Circuito Continuo

Efectividad Datos

Correctos Datos

Incorrectos Épocas de

Entrenamiento

Tiempo de Entrenamiento

(Horas)

Tiempo sin Mejora (Horas)

Experto 1 51.60% 31,935 29,952 109,786 508 1

Experto 2 73.53% 45,510 16,377 120,066 791 16

Experto 3 79.06% 48,933 12,954 226,785 699 0

Page 155: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 123

En la tabla 4.36, se resumen las características de las computadoras utilizadas en el

entrenamiento de las doce RNAs.

Tabla 4.36 Características de las computadoras utilizadas en el entrenamiento de las RNAs

Computadora 1 Computadora 2 Computadora 3 Computadora 4 Computadora 5

Procesador Intel Core 2 x 2

@ 3.01 Ghz Intel Core 2 x 2

@ 3.01 Ghz Intel Xeon x 4

@ 3.0 Ghz Intel Xeon x 4

@ 3.0 Ghz Intel Core 2 x 4

@ 2.40 Ghz

Memoria RAM 2 GB 2 GB 16 GB 2 GB 3.25 GB

Sistema Operativo Windows XP Windows XP Windows Vista Windows Vista Windows XP

Entrenamientos Simultáneos

3 3 4 1 1

Ubicación CENIDET,

México CENIDET,

México CENIDET,

México CENIDET,

México URJC, España

RNAs Entrenadas Experto 1:

1,2,3 Experto 2:

1,2,4 Experto 3:

1,2,3,4 Experto 2:

3 Experto 1:

4

Las características de las computadoras utilizadas, en conjunto con los resultados

obtenidos en el entrenamiento de cada una de las RNAs, indican claramente que la varianza en los

datos de las valoraciones del nivel de riesgo realizadas por cada uno de los expertos en los

experimentos de adquisición del conocimiento, fueron un factor fundamental en la efectividad de

clasificación alcanzada. Ya que, aunque las computadores con mejores características tuvieron un

tiempo de procesamiento por época mucho menor, el comportamiento del entrenamiento no varió

al intercambiar las redes entrenadas.

En el caso del primer ejercicio, la RNA con mejor efectividad de clasificación fue la del

tercer experto. En dónde el tiempo sin mejora indica que dicho porcentaje difícilmente mejoraría

con más épocas de entrenamiento. En este caso, la mejor efectividad fue alcanzada con 369,260

que, en comparación de las más de 700,000 épocas de entrenamiento de la RNA del primer

experto, establece que las características del sistema de computo utilizado en el proceso no es un

factor importante en la efectividad alcanzada.

Este comportamiento se repite en los resultados del segundo y tercer ejercicio, dónde la

RNA con mayor efectividad se refleja en el comportamiento de la varianza mostrada en las gráficas

de la sección 4.1.4.1.

En el caso del cuarto ejercicio, en dónde se tiene una cantidad de datos de entrenamiento

mayor a los de los tres primeros en conjunto, el tiempo sin mejora indica que es posible obtener

mejores resultados si se continúa el entrenamiento por más tiempo; sin embargo, debido al tiempo

acotado con el que se cuenta para la realización de este proyecto, se tomó la decisión de cortar los

entrenamientos para la presentación de resultados.

Page 156: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 4 Desarrollo

124 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 157: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 125

Capítulo 5 Pruebas y

resultados

En este capítulo se presentan las pruebas realizadas al sistema clasificador

desarrollado y su respectivo análisis. Así mismo, se presenta una comparación entre los

resultados obtenidos con la aplicación de algoritmos de DM y los obtenidos en las pruebas

realizadas con RNAs.

5.1 Descripción de las pruebas realizadas

A continuación se describen las pruebas expuestas en las siguientes secciones de este capítulo:

Pruebas de la clasificación del comportamiento con RNAs (sección 5.2)

En esta sección se realiza un análisis de los resultados de la clasificación

del comportamiento con las RNAs, utilizando los datos seleccionados para pruebas

(el 50% de los datos no utilizados en el entrenamiento).

Pruebas de coherencia en la percepción del nivel de riesgo (sección 5.3)

En esta sección se realizan pruebas con las RNAs entrenadas con la

información de cada experto y cada ejercicio, con datos de evaluaciones realizadas

por el mismo experto para ejercicios diferentes a los utilizados en el entrenamiento

(pruebas cruzadas).

Comparación de clasificación por RNAs y minería de datos (sección 5.4)

En esta sección se presenta una comparación entre los resultados

obtenidos en las pruebas de clasificación con las RNAs (presentados en la sección

5.2) y los obtenidos en los experimentos de DM (presentados en la sección 4.3.3).

Pruebas de comprobación final con RNAs (sección 5.5)

En esta sección se realizan pruebas de clasificación del comportamiento

con las RNAs, utilizando datos desconocidos de los mismos ejercicios con los que

fueron entrenadas (datos diferentes a los utilizados en el entrenamiento y pruebas)

y se presenta un análisis de algunas situaciones detectadas como riesgosas.

Page 158: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

126 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

5.2 Pruebas de la clasificación del comportamiento con RNAs

Las pruebas realizadas a las RNAs, entrenadas mediante el procedimiento descrito en la sección

4.4.3, fueron realizadas mediante la utilización de dos métodos: umbralizada y winner takes all.

En ambos métodos, se alimentó a las RNAs con los datos seleccionados para la etapa de

pruebas (ver sección 4.3.1.1) y se realizó la clasificación utilizando el algoritmo de reconocimiento

(feedforward) descrito en la sección 2.3.5.2. Sin embargo, en el primero de ellos, se utilizó un valor

de tolerancia de 0.2 que, siendo el mismo utilizado en la etapa de entrenamiento, es utilizado en la

evaluación de las salidas de la red para determinar si los datos son correctamente clasificados.

Para el segundo método, se utilizó, en la salida de las RNAs clasificadoras, otra RNA del

tipo Winner Takes All que, como se describió en la sección 4.4.2.5, actúa a modo de selector; por

lo tanto, este método no requiere de un valor de tolerancia ya que la salida final del sistema está

dada por la clasificación hecha por la neurona de la primera RNA con el valor numérico más alto.

En la tabla 5.1, se muestran los resultados obtenidos (por ambos métodos) en la

clasificación del comportamiento utilizando los datos de prueba del primer ejercicio.

Tabla 5.1 Resultados de la clasificación del comportamiento utilizando datos de prueba del Ejercicio 1

Ejercicio 1: Urbano

Con 0.2 de tolerancia Con Winner Takes All

Efectividad Datos

Correctos Datos

Incorrectos Efectividad

Datos Correctos

Datos Incorrectos

Experto 1 89.54% 15,986 1,866 93.92% 16,768 1,084

Experto 2 97.43% 17,394 458 98.18% 17,528 324

Experto 3 99.50% 17,764 88 99.70% 17,801 51

Estos resultados demuestran las ventajas de la utilización de un selector a la salida de la

RNA clasificadora, ya que existió una mejora en la efectividad de clasificación de todas las RNAs

mediante su aplicación; sin embargo, es importante aclarar que la utilización de este tipo de

selectores sólo es posible cuando se tiene un número de clases igual al número de neuronas en la

capa de salida, ya que es necesario que el valor de cada una de ellas represente la pertenencia de

los datos a una de las clases establecidas.

De acuerdo a los resultados obtenidos en este primer ejercicio, se observa que la peor

efectividad de clasificación fue la de la RNA del primero de los expertos (el de mayor experiencia).

Este comportamiento, reflejado en la varianza de los datos mostrados en las gráficas presentadas

en la sección 4.1.4.1, se repitió en los resultados del resto de los ejercicios. Por su parte, los

resultados de clasificación con la RNA del tercer experto, resultaron, para este caso, con la mejor

efectividad.

Page 159: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 127

En la tabla 5.2, se presentan los resultados obtenidos de las pruebas realizadas con las

RNAs de los tres expertos para el segundo ejercicio.

Tabla 5.2 Resultados de la clasificación del comportamiento utilizando datos de prueba del Ejercicio 2

Ejercicio 2: Montaña

Con 0.2 de tolerancia Con Winner Takes All

Efectividad Datos

Correctos Datos

Incorrectos Efectividad

Datos Correctos

Datos Incorrectos

Experto 1 83.88% 19,306 3,708 89.02% 20,458 2,526

Experto 2 99.32% 22,859 155 99.57% 22,915 99

Experto 3 98.26% 22,610 404 98.62% 22,694 320

En este caso, la mejor efectividad de clasificación fue dada por la RNA del segundo

experto mediante la utilización del selector neuronal a su salida. Al igual que en el caso anterior, el

comportamiento de los resultados correspondió con aquel presentado en la gráfica de las

valoraciones de este ejercicio en la figura 4.31, dónde se observa una varianza menor en las

valoraciones realizadas por dicho experto.

En la tabla 5.3, se presentan los resultados obtenidos en las pruebas realizadas con las

RNAs entrenadas con los datos del tercer ejercicio de simulación.

Tabla 5.3 Resultados de la clasificación del comportamiento utilizando datos de prueba del Ejercicio 3

Ejercicio 3: Inter Urbano

Con 0.2 de tolerancia Con Winner Takes All

Efectividad Datos

Correctos Datos

Incorrectos Efectividad

Datos Correctos

Datos Incorrectos

Experto 1 80.38% 14,785 3,607 88.12% 16,205 2,187

Experto 2 81.86% 15,056 3,336 87.41% 16,086 2,306

Experto 3 94.64% 17,407 985 95.17% 17,503 889

Los resultados presentados para el tercer ejercicio, continuaron con el comportamiento

descrito por la varianza de los datos graficados, en este caso, en la figura 4.32. La RNA entrenada

con los datos de la valoración realizada por el primer experto, que presentó la mayor varianza,

continuó siendo la de menor efectividad. Por su parte, el tercer experto, cuya valoración mostró

una tendencia clara a un comportamiento inseguro en este ejercicio, resultó con la mayor

efectividad.

Page 160: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

128 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Finalmente, en la tabla 5.4, se muestran los resultados obtenidos con las RNAs entrenadas

con las valoraciones de seguridad realizadas para el último ejercicio.

Tabla 5.4 Resultados de la clasificación del comportamiento utilizando datos de prueba del Ejercicio 4

Ejercicio 4: Circuito Continuo

Con 0.2 de tolerancia Con Winner Takes All

Efectividad Datos

Correctos Datos

Incorrectos Efectividad

Datos Correctos

Datos Incorrectos

Experto 1 51.08% 31,570 30,322 64.87% 40,149 21,743

Experto 2 74.05% 45,835 16,057 79.83% 49,408 12,484

Experto 3 76.68% 48,700 13,192 83.51% 51,685 10,207

Este ejercicio de simulación, cuyo tiempo de valoración fue tres veces superior al de los

tres primeros, resultó con la efectividad promedio más baja de estas pruebas. Dicho resultado,

esperado por la cantidad de datos utilizados en las etapas de entrenamiento y pruebas, se debió,

principalmente, al tiempo de procesamiento necesario para cada época de entrenamiento ya que,

como se muestra en la tabla 4.35, aunque el tiempo de entrenamiento de estas redes fue

aproximadamente el mismo que en otros ejercicios, el número de épocas de entrenamiento fue

hasta 85% menor en algunos casos.

Aunado a lo anterior, es evidente que un tiempo mayor de valoración dio lugar a una mayor

varianza en los datos, situación que, como se mostró en los resultados anteriores, dificultó el

entrenamiento de las RNAs; sin embargo, los pocos tiempos sin mejora mostrados en la tabla de

entrenamiento de estas redes (tabla 4.35), demuestra que dicho proceso continuaba reduciendo el

error cuando fue detenido.

En la tabla 5.5, se muestra el porcentaje de efectividad obtenido con las RNAs en los datos

de entrenamiento (train) y prueba (test). En ella, se observa que existió una reducción de

porcentaje similar a la obtenida en los experimentos con DM debido a los casos nuevos a los que

se enfrenta el sistema al ser alimentado con datos desconocidos (ver tabla 4.30 y tabla 4.31).

Tabla 5.5 Comparación de porcentaje de efectividad de las RNAs en datos de prueba y entrenamiento

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Train Test Train Test Train Test Train Test

Experto 1 90.69% 89.54% 85.25% 83.88% 81.13% 80.38% 51.60% 51.08%

Experto 2 98.05% 97.43% 99.76% 99.32% 82.31% 81.86% 73.53% 74.05%

Experto 3 99.73% 99.50% 98.54% 98.26% 94.91% 94.64% 79.06% 76.68%

Page 161: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 129

5.3 Pruebas de coherencia en la percepción del nivel de riesgo

Las pruebas de coherencia de percepción del nivel de riesgo descritas en esta sección,

consistieron en la prueba de clasificación de cada una de las RNAs de cada experto con datos de

valoración del mismo experto pero de otros ejercicios; por ejemplo, para el caso del primer experto,

la RNA entrenada con los datos de valoración del primer ejercicio se probó también con los datos

de la valoración de los otros tres ejercicios.

En la tabla 5.6, se presentan los primeros resultados obtenidos en la ejecución de estas

pruebas.

Tabla 5.6 Resultados de las pruebas de coherencia en la percepción del nivel de riesgo del Experto 1

RNA Ejercicio 1 RNA Ejercicio 2 RNA Ejercicio 3 RNA Ejercicio 4

Efectividad Efectividad Efectividad Efectividad

Ejercicio 1 94.24% 36.56% 23.63% 35.69%

Ejercicio 2 56.70% 89.52% 32.63% 39.93%

Ejercicio 3 16.60% 23.17% 88.47% 33.60%

Ejercicio 4 43.85% 32.76% 45.94% 65.09%

Los datos anteriores, pertenecientes al primer experto, demostraron que, en este caso, la

percepción del nivel de riesgo varió dependiendo del tipo de ejercicios evaluado.

Este comportamiento, esperado por las diferentes condiciones dadas en cada ambiente

simulado, varió drásticamente en los datos obtenidos en las pruebas de coherencia del segundo

experto como se muestra en la tabla 5.7.

Tabla 5.7 Resultados de las pruebas de coherencia en la percepción del nivel de riesgo del Experto 2

RNA Ejercicio 1 RNA Ejercicio 2 RNA Ejercicio 3 RNA Ejercicio 4

Efectividad Efectividad Efectividad Efectividad

Ejercicio 1 98.36% 34.51% 26.72% 30.15%

Ejercicio 2 75.24% 99.71% 71.08% 48.52%

Ejercicio 3 25.28% 55.24% 87.68% 47.24%

Ejercicio 4 66.05% 89.49% 75.27% 79.93%

Page 162: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

130 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Los resultados anteriores, que en general siguieron el comportamiento de los obtenidos

con la información del primer experto, presentaron una excepción en la RNA entrenada con los

datos de la valoración del segundo ejercicio. Este caso (marcado con color rojo en la tabla

anterior), tuvo una efectividad mayor para el cuarto ejercicio que la obtenida con la RNA entrenada

para ese ejercicio específicamente.

Aunque este resultado excepcional pareció, en primera instancia, una aproximación a un

modelado del comportamiento de conducción general (según la percepción de seguridad del

segundo experto), un análisis de las gráficas de valoración presentadas en la sección 4.1.4.1

(figura 4.31 y figura 4.33), demostró que se trata de un caso previsible; ya que, como se aprecia en

la tabla 4.11, este experto presentó una tendencia a la clase seguro en todas sus valoraciones.

Por lo anterior, y debido a que la situación descrita se presentó una única ocasión en las

diferentes pruebas de coherencia realizadas con las RNAs del segundo experto, la situación

presentada fue tomada como un caso inusual en el comportamiento de los resultados de estas

pruebas.

Finalmente, en la tabla 5.8, se presentan los resultados de las pruebas de coherencia

realizadas con las RNAs del tercer experto.

Tabla 5.8 Resultados de las pruebas de coherencia en la percepción del nivel de riesgo del Experto 3

RNA Ejercicio 1 RNA Ejercicio 2 RNA Ejercicio 3 RNA Ejercicio 4

Efectividad Efectividad Efectividad Efectividad

Ejercicio 1 99.78% 17.34% 28.86% 53.79%

Ejercicio 2 6.62% 98.77% 2.49% 41.01%

Ejercicio 3 42.25% 1.41% 95.28% 3.97%

Ejercicio 4 7.62% 49.40% 1.98% 83.63%

En los resultados de esta última prueba de coherencia en la percepción del nivel de riesgo,

se observa el comportamiento esperado: el tercer experto utilizó un conjunto de reglas distinto en

la valoración del nivel de riesgo de cada uno de los ejercicios realizados.

Los resultados de las pruebas presentados en esta sección, en primera instancia, ratificaron

la utilización de una RNA por cada experto por cada ambiente simulado para la clasificación del

comportamiento de conducción. Además demuestran, sin lugar a dudas, que cada ambiente

simulado en los ejercicios de conducción requiere un conjunto diferente de reglas para ser

evaluado (en cuanto a nivel de riesgo).

Por otro lado, se hace evidente que una tendencia a cierto comportamiento de conducción

en las valoraciones realizadas en el proceso de adquisición del conocimiento por parte de los

expertos humanos, puede generar resultados confusos que, sin un buen análisis, pueden llevar a

conclusiones incorrectas.

Page 163: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 131

5.4 Comparación de clasificación por RNAs y DM

Aunque se han expuesto ventajas y desventajas de cada uno de los métodos de clasificación

utilizados en diversos experimentos presentados en este documento, para referencia del lector, se

presenta en la tabla 5.9 una comparación de la efectividad obtenida en dichos experimentos:

Tabla 5.9 Comparación de efectividad de clasificación del comportamiento con RNAs y DM

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

RNA

DM RIPPER

DM CART

RNA DM

RIPPER DM

CART RNA

DM RIPPER

DM CART

RNA DM

RIPPER DM

CART

Experto 1 89.54% 96.74% 97.47% 83.88% 96.90% 98.39% 80.38% 96.40% 97.40% 51.08% 93.85% 96.34%

Experto 2 97.43% 98.19% 98.70% 99.32% 99.56% 99.66% 81.86% 97.48% 97.99& 74.05% 97.72% 98.92%

Experto 3 99.50% 99.92% 99.92% 98.26% 99.65% 99.74% 94.64% 98.71% 99.20% 76.68% 96.66% 98.13%

Aunque los resultados mostrados en la tabla anterior favorecieron, sin lugar a dudas, a las

clasificaciones del comportamiento realizadas con el algoritmo CART, es importante tener en

cuenta que se trata de una técnica de DM que se encarga de la generación de arboles de decisión,

cuyos resultados no permiten una portabilidad si no son convertidos a reglas y, que dicha

conversión, usualmente resulta en problemas similares a los obtenidos en la aplicación de

RIPPER, expuestos en la sección 4.3.3.3. Por su parte las RNAs, como una de las mejores

aproximaciones desarrolladas a la forma en el que el cerebro humano funciona, tienen las

siguientes ventajas:

Auto-organización

Una RNA crea su propia representación de la información en su interior,

descargando al usuario de este proceso.

Tolerancia a fallos

Una RNA almacena la información de forma redundante en su interior y puede

seguir respondiendo de forma aceptable si se daña parcialmente.

Flexibilidad

Una RNA puede manejar cambios no importantes en la información de entrada, lo

que implica tolerancia a señales con ruido

Operación en tiempo real

La estructura de una RNA es paralela y, si es implementada adecuadamente, se

pueden obtener respuestas en tiempo real.

Facilidad de inserción en tecnología ya existente.

La información necesaria para la reproducción de una RNA ya entrenada es mínima

(estructura y parámetros), lo que permite su implementación en proyectos ya desarrollados.

Page 164: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

132 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

5.5 Pruebas de comprobación final con RNAs

Para el conjunto de pruebas de esta última etapa del proyecto, se incorporó en el sistema CoPiloto

Virtual el conjunto de librerías diseñadas para el simulador neuronal, con lo que se hizo posible la

valoración automática de seguridad en la reproducción de los ejercicios de simulación. Dicha

valoración, mostrada al usuario en forma de indicadores como se muestra en la figura 5.1, se

encarga de clasificar automáticamente el comportamiento de conducción en cada uno de los datos

procesados por el sistema.

Figura 5.1 Formulario de información visual de la clasificación del comportamiento con RNAs

En estas pruebas de comprobación final, se buscaron situaciones, en cada uno de los

ejercicios de simulación, clasificadas por las RNAs como muy riesgosas; para ello, se utilizó la RNA

del experto que mejor efectividad de clasificación tuvo en dicha sesión (ver tabla 5.10).

Tabla 5.10 Rangos de cuantificación de nivel de riesgo para las cinco clases de comportamiento

Sesión de pruebas RNA Utilizada en las pruebas finales

Ejercicio 1 RNA del Experto 3 (Tabla 5.1)

Ejercicio 2 RNA del Experto 2 (Tabla 5.2)

Ejercicio 3 RNA del Experto 3 (Tabla 5.3)

Ejercicio 4 RNA del Experto 3 (Tabla 5.4)

A continuación se presentan los resultados de cada una de estas pruebas, en donde se

analizan y describen los escenarios en los que el conductor se encontraba en algunas situaciones

detectadas por las RNAs como de alto riesgo.

Page 165: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 133

5.5.1. Ejercicio 1 – Urbano

Los experimentos realizados con los datos del primer ejercicio monitoreado (ambiente urbano),

fueron clasificados con la RNA del tercer experto que obtuvo una efectividad de clasificación de

99.78%.

A continuación, se presentan las cinco situaciones de alto riesgo encontradas en la

reproducción de esta sesión que, al igual que en los experimentos de comprobación final del resto

de los ejercicios, fue realizada en los lapsos de tiempo que no fueron evaluados por los expertos

humanos; es decir, en datos desconocidos por las RNAs utilizadas.

Caso 1: Minuto – 05:39

El conductor se acercó al límite de velocidad presionando el pedal del acelerador al

100% mientras sujeta el volante con ambas manos. Cuando utiliza la mano derecha para

cambiar la velocidad (octava a novena), la RNA detecta un comportamiento muy riesgoso.

Dicho comportamiento continuó hasta que la presión en el acelerador empezó a disminuir.

Caso 2: Minuto – 06:27

El conductor realizó una vuelta demasiado cerrada sin señalizar. Se observó un

cruzamiento excesivo de brazos al girar el volante; sin embargo, la señal de alerta no es

continua durante toda la situación, clasificando el comportamiento como aceptable en

ocasiones.

Caso 3: Minuto – 10:01

La señal de alerta se activó cuando el conductor presionó el pedal del acelerador al

100%; sin embargo, se desactivó antes de que la presión en dicho pedal disminuyera. No

se observó, en general, una situación de riesgo.

Caso 4: Minuto – 12:53

En este caso se observó un giro cerrado a la derecha sin señalizar. El uso de las

manos para girar el volante fue inadecuado. La señal de alerta varió entre los tres niveles

de alto riesgo.

Caso 5: Minuto – 28:56

Se observó un giro en una glorieta utilizando una sola mano en el volante; así

mismo, existe forzamiento del motor y un giro repentino del volante. La señal de alerta no

es continua en toda la situación de riesgo.

Page 166: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

134 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

5.5.2. Ejercicio 2 – Montaña

Las pruebas finales realizadas con los datos del segundo ejercicio (ambiente montañoso), fueron

clasificados con la RNA del segundo experto que obtuvo una efectividad de clasificación de

99.71% para este ejercicio.

A continuación se describen cinco situaciones, seleccionadas aleatoriamente, de las 12

encontradas en la ejecución de este ejercicio.

Caso 1: Minuto – 15:59

Se observó al conductor articulando con la mano izquierda mientras platicaba por

el altavoz de su teléfono móvil; sin embargo, la situación empezó algunos minutos antes de

la activación de la señal de alarma y continuó después de que se apagó.

Caso 2: Minuto – 18:37

Se observó un giro demasiado abierto en una curva de una carretera. La señal de

alerta se mantuvo encendida en la mayor parte del tiempo de duración de dicha maniobra,

específicamente, cuando existió invasión al carril contario; sin embargo, y dado que no se

alimentó al clasificador con información de la posición del vehículo respecto a los carriles

de la carretera, la situación debió ser inferida del ángulo de error.

Caso 3: Minuto – 21:49

La señal de alerta se activó cuando el conductor soltó el volante con la mano

derecha conduciendo en una curva a la izquierda bastante ligera. Finalmente, la señal de

alarma se desactivó sin que la mano derecha hubiera regresado a su posición sobre el

volante.

Caso 4: Minuto – 24:54

Se observó al conductor hablando por el altavoz de su teléfono móvil y, articulando

con las manos, el conductor soltó el volante por un instante de tiempo. La señal encendió

unos pocos ciclos de simulación después de este suceso y se apagó cuando el conductor

regresó ambas manos al volante.

Caso 5: Minuto – 25:54

Se observó al conductor invadiendo el carril contrario en una curva. La señal de

alerta coincidió con una del sistema por cambio de carril sin señalizar. La señal de alerta se

mantuvo encendida hasta que la situación descrita fue corregida.

Page 167: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 135

5.5.3. Ejercicio 3 - Inter Urbano

Las pruebas finales realizadas con los datos del tercer ejercicio (ambiente inter urbano), fueron

clasificados con la RNA del tercer experto que obtuvo una efectividad de clasificación de 95.28%

para este ejercicio.

A continuación se describen cinco situaciones, seleccionadas aleatoriamente, de las 19

encontradas en su ejecución.

Caso 1: Minuto – 01:16

Se observó a un vehículo particular metiéndose bruscamente al carril del conductor

y, aunque éste disminuyo la velocidad para evitar un accidente, la distancia de seguridad

observada después del evento fue muy pequeña. La alarma de alerta continuó hasta que el

conductor rebaso a dicho vehículo por el carril izquierdo.

Caso 2: Minuto – 02:22

Se observó al conductor realizando un cambio de carril sin señalizar. La señal de

alerta se mantuvo encendida durante todo el tiempo que duró el evento.

Caso 3: Minuto – 02:37

Se observó una situación en la que el conductor realizó un rebase por el carril

izquierdo y, posteriormente, regresó al carril derecho realizando las señalizaciones

pertinentes a una velocidad adecuada. No existió evidencia de una situación de riesgo en

este caso.

Caso 4: Minuto – 05:50

Se observa al conductor tomando el volante con una sola mano mientras conduce

al límite de velocidad permitido en la ruta por la que transita; sin embargo, la señal de

alerta se apagó antes de que retome el volante con ambas manos.

Caso 5: Minuto – 15:25

Se observó al conductor realizando una vuelta muy abierta a la derecha con ambas

manos en el volante; sin embargo el sistema de VA fue incapaz de detectar la posición de

la mano izquierda sobre el volante en las condiciones dadas en esa situación.

Así mismo, después de la activación de la alarma, se observó una inconsistencia

en el valor de la distancia de seguridad al vehículo delantero. La señal de alerta terminó

cuando dicha inconsistencia se corrigió.

Page 168: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Capítulo 5 Pruebas y resultados

136 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

5.5.4. Ejercicio 4 - Circuito Continuo

Las pruebas finales realizadas con los datos de este último ejercicio (ambiente continuo), fueron

clasificados con la RNA del tercer experto que obtuvo una efectividad de clasificación de 83.63%

para este ejercicio.

A continuación se describen cinco situaciones, seleccionadas aleatoriamente, de las 8

encontradas en su ejecución.

Caso 1: Minuto – 41:29

Se observó al conductor con las dos manos situadas sobre el volante y

conduciendo a una velocidad moderada por debajo de los límites en una recta con una

ligera pendiente positiva (subida). No se observó evidencia de una situación de riesgo.

Caso 2: Minuto – 44:58

En este caso, se observó que el disparo de la señal se debió a una inconsistencia

en los datos de la variable que almacena la distancia de seguridad al vehículo delantero.

Dicha alarma continuó encendida en el nivel más alto hasta que la inconsistencia se

corrigió.

Caso 3: Minuto – 47:39

Se observo al conductor presionando el pedal al 100% mientras conducía muy

cercano a los límites de velocidad. En este caso, la señal se apagó cuando se redujo la

velocidad disminuyendo la presión del acelerador.

Caso 4: Minuto – 48:08

En este caso, igual que en el segundo de este ejercicio, se observó que el

disparo de la señal se debió a una inconsistencia en la distancia de seguridad al vehículo

delantero. Dicha alarma continuó encendida hasta que la inconsistencia se corrigió.

Caso 5: Minuto – 48:12

Se observó al conductor con las dos manos sobre el volante, conduciendo a una

velocidad bastante baja en una recta con una ligera pendiente positiva. No se observó

evidencia de una situación de riesgo.

Los resultados obtenidos en la prueba final del cuarto ejercicio, corresponden a los

porcentajes de clasificación obtenidos en las pruebas realizadas con las RNAs ya que, con la

efectividad más baja de los cuatro ejercicios, era evidente el poco rendimiento que tendría en la

clasificación de datos nuevos.

Page 169: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 137

Conclusiones

En este proyecto de investigación se diseñó e implementó un sistema de cómputo como una

aproximación a la clasificación automática del comportamiento de conductores de camiones de

transporte y/o carga mediante el modelado automático de cinco tipos de conducta: segura,

aceptable, poco riesgosa, bastante riesgosa y muy riesgosa.

Dicho sistema (experto), actuando a modo de un instructor de conducción, se encarga de

la aplicación de los modelos de comportamiento a los datos de los ejercicios de simulación

monitoreados mediante RNAs.

Como una primera aproximación, se planteó la generación de estos modelos de

comportamiento mediante la transformación del conocimiento simbólico a reglas de producción,

que pudieran ser aplicadas a los datos obtenidos en los ejercicios de simulación. Dichas reglas,

utilizadas en la generación de RNAs iniciales por medio del compilador propuesto en [Cruz, 2004],

serían complementadas con diversos entrenamientos utilizando la información recopilada en el

proceso de adquisición de conocimiento; sin embargo, se encontraron diversos problemas durante

la investigación que dificultaron la metodología descrita.

Por un lado, dada la información limitada del ambiente de simulación plasmada en los

registros recopilados, no fue posible la aplicación del conocimiento adquirido de recomendaciones

oficiales a conductores que pueden ser convertidos a reglas de producción para la generación de

modelos de comportamiento. En segunda instancia, fue también imposible adquirir información

tangible directamente de expertos humanos que pudiera ser, de igual forma, convertida a reglas y,

posteriormente, a modelos de comportamiento.

Por lo anterior, y como uno de los aportes de este proyecto, se establece que el modelado

del comportamiento de conducción, en caso de ser posible, debe ser realizado de forma

automática mediante procesos de descubrimiento del conocimiento en bases de datos (KDD). En

este caso, aplicando dicho proceso mediante la utilización RNAs en conjunto con un sistema de

VA, los modelos de comportamiento de conducción fueron generados automáticamente mediante

entrenamientos realizados con datos adquiridos de expertos humanos mediante la aplicación de

una herramienta de adquisición del conocimiento diseñada para ese fin.

De los resultados obtenidos, en primer lugar con experimentos utilizando algoritmos de

DM, se concluye que la generación automática de reglas es capaz de inferir algunas de alto nivel

que determinan el comportamiento del conductor en ciertos casos. Sin embargo, la metodología

del manejo de datos establecida en dichos algoritmos, se encuentra sesgada por la generalización

para su aplicación en cualquier tipo de proyecto, y no es capaz de reconocer el contexto de los

datos utilizados; por lo tanto, de los cientos de reglas generadas, pocas resultan útiles y

coherentes para el problema en el que se aplican.

Aunado a lo anterior, y por razones de portabilidad, el uso de reglas específicas para la

clasificación del comportamiento de conductores resulta impráctica para su aplicación en sistemas

ya existentes.

Page 170: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Conclusiones

138 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Por su parte, los resultados obtenidos con la aplicación de RNAs, muestran una clara

aproximación al modelado del comportamiento de conductores mediante las pruebas finales

descritas en el capítulo anterior. En donde se muestra que la clasificación del comportamiento,

fuera de los datos utilizados para las etapas de entrenamiento y pruebas, sigue siendo efectiva en

ciertas situaciones; sin embargo, como se mencionó a lo largo del documento, el funcionamiento y

estructura de las RNAs no permiten el análisis e interpretación de los modelos generados de una

forma sencilla que es, sin lugar a dudas, la principal desventaja del método propuesto.

Aunque la efectividad de la clasificación del comportamiento en diversos resultados

obtenidos en las pruebas realizada muestra una efectividad aceptable, es importante considerar los

problemas encontrados en los datos obtenidos de los registros de simulación.

Por un lado, se encontraron ciertas inconsistencias en los datos que pudieron restarle

importancia a los atributos que los contenían; por ejemplo, el caso de la pendiente de la carretera

que, siendo uno de los principales factores para determinar el comportamiento de conducción, fue

de las variables peor evaluadas por los algoritmos de selección de variables.

Por otro lado, no se contaba con información suficiente del entorno de simulación que

pudiera hacer uso de algunas variables como factores determinantes en la clasificación; tal es el

caso de aquellas que indicaban el uso de las luces o de los faros antiniebla que, sin información

del ambiente simulado, resultaron prácticamente inútiles.

En otro caso similar, en entrevistas realizadas a los expertos que se encargaron de evaluar

el nivel de riesgo en los ejercicios simulados, se detectó que el conductor no utilizó el cinturón de

seguridad en una de las sesiones y, al ser ésta una información no disponible para el clasificador

neuronal, es un factor de clasificación imposible de modelar.

Así mismo, aunque el sistema de VA implementado para la detección automática de las

manos del conductor resultó con una buena efectividad en su aplicación, es recomendable la

mejora de dicho sistema que, teniendo en cuenta las situaciones limitantes encontradas en el

desarrollo de este proyecto, permita la alimentación del clasificador neuronal con datos más

precisos; sin embargo, la importancia de la información desprendida por este sistema de detección

se hace evidente en dichas limitaciones que, centradas más en problemas con la detección de la

mano derecha, son reflejadas en los resultados de los experimentos de selección de variables,

dónde la información de la detección de esta mano fue evaluada con menos de la mitad de la

calificación obtenida por la otra mano siendo, esta última, la mejor evaluada en ciertos casos.

Finalmente, es posible observar que la experiencia de los expertos humanos que

participaron en el desarrollo de este proyecto se refleja en los resultados de los experimentos

realizados. En el caso del segundo experto, que cuenta con apenas 4 años de experiencia en el

tema, se tienen resultados fuera de los estándares marcados por los resultados de los otros dos

expertos.

Page 171: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 139

Aportaciones

El desarrollo de este trabajo de tesis genera diversas aportaciones para su utilización en otros

proyectos que pueden ser divididas en dos ramas:

Por un lado, se tienen las herramientas desarrolladas que se están siendo utilizadas en el

desarrollo de diversos proyectos tanto en el CENIDET como en el proyecto CABINTEC a través del

grupo FRAV:

Simulador neuronal.

Sistema de adquisición y transmisión de imágenes.

Sistema de recepción y recuperación de imágenes.

Sistema de detección manual de regiones de interés.

Sistema de adquisición y representación del conocimiento.

Por otro lado, se tienen aportaciones en el campo del modelado del comportamiento de

conductores de camiones de transporte y/o carga:

Investigación de reglas y recomendaciones para el modelado del comportamiento.

Adquisición de conocimiento a expertos en el tema de seguridad vial:

a) a través de entrevistas

b) a través de una herramienta de adquisición

Generación automática de modelos de comportamiento por medio de KDD.

Clasificación automática del comportamiento por medio de RNAs

Trabajos futuros

Esta investigación, como una primera aproximación al modelado del comportamiento de

conductores de camiones de transporte y/o carga, abre diversos caminos para investigaciones

futuras relacionadas con el tema o, incluso, continuar la misma línea utilizando otras técnicas y

métodos que puedan mejorar los resultados obtenidos en este proyecto, teniendo en cuenta las

condiciones encontradas durante su desarrollo.

·En el caso de la información desprendida de los experimentos realizados con DM, es

posible iniciar un proceso de validación de conocimiento mediante el análisis de las más de 8,000

reglas generadas por los algoritmos utilizados. Dicho proceso, que deberá ser realizado por

expertos en el tema de seguridad vial, podría ser el punto de partida para un modelado del

comportamiento de conductores de camiones de transporte y/o carga a través de conocimiento

simbólico inferido a través del proceso de KDD.

Page 172: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Conclusiones

140 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 173: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 141

Referencias bibliográficas

[Akamatsu, 2002] Measuring Driving Behavior.

Akamatsu, M.

Proceedings of the 41st SICE Annual Conference, 2002, Vol. 2, pp. 798-803.

[Atoche, 2007] PDI para la Visión por Ordenador Aplicado al: Registro en tiempo real de objetos.

Ramón Atoche Enseñat.

Tesis Doctoral del Departamento de Ing. Electrónica, Universidad Politécnica de Valencia, 2007.

[Ballard, 1981] Generalizing the Hough transform to detect arbitrary shapes.

D. H. Ballard.

Pattern Recognition, 111-122 vol 13, 1981.

[Bayer, 1976] Color imaging array.

B. E. Bayer

US Patent No. 3971065 , 1976.

[Berthold, 2003] Intelligent Data Analysis: An introduction.

Berthold M., Hand D.J.

Springer 2nd Edition, 2003.

[BrainMaker, 1992] Brainmaker professional.

IEEE Intelligent Systems, vol. 7, no. 2, pp. 70-71, Apr. 1992, doi:10.1109/MIS.1992.10009,

[Brazález, 2008] SISTEMAS INTELIGENTES DE TRANSPORTE (ITS).

Dr. Alfonso Brazález.

Reporte técnico, Centro de Estudios e Investigaciones Técnicas de Gipuzkoa, Marzo, 2008.

[Breiman, 1984] Classification and Regression Trees.

Leo Breiman, Jerome H. Friedman, Richard A. Olshen, Charles J. Stone.

Technical Guide, Wadsworth International Group, Belmont, California, 1984.

[Bruno, 2005] Reconocimiento de burbujas en formularios inteligentes aplicando la transformada de Hough

Julián s. Bruno.

Reporte Técnico, FRBA-UTN, Buenos Aires, Argentina, 2005.

[Canny, 1986] A computational approach to edge detection.

J. F. Canny.

IEEE Transaction on Pattern Analysis and Machine Intelligence. Pp 679-698, 1986.

[Cogen, 1995] Fast Effective Rule Induction.

William W. Cohen.

Proceedings of the 12th International Conference on Machine Learning, USA, 1995, P.p: 112 – 123.

[Collier, 2005] An investigation into real-time automated painterly video techniques.

Mark Collier.

Thesis of the Department of Computer Science, University of Bath, United Kingdom, 2005.

[Cruz, 2004] Sistema híbrido neuro-simbólico para refinar el conocimiento en un sistema de visión artificial.

Vianey Guadalupe Cruz Sánchez.

Tesis de Maestría en Ciencias, Departamento de Ciencias Computacionales, CENIDET, 2004.

[Dankers, 2001] Driver Assistance: Contemporary Road Safety.

Andrew Dankers, Luke Fletcher, Lars Petersson, Alexander Zelinsky.

Research School of Information Sciences & Engineering, Australian National University, 2003.

[Duda, 1972] Use of the Hough transform to detect lines and curves in pictures.

Duda, RO, and Hart, PE.

Community Association for Computing Machinery, 1-15 vol. 15, 1972.

Page 174: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

142 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

[Fayyad, 1996] From Data Mining to Knowledge Discovery: An Overview.

Fayyad U. M., Piatetsky-Shapiro G., Smyth P.

Advances in Knowledge Discovery and Data Mining, p.p 1-34, AAAI/MIT Press, 1996.

[Fu, 1988] Robótica: Control, detección, visión e inteligencia.

Fu K. S., González R. C.

McGRAW-HILL, Madrid, 1988.

[Galbiati, 1990] Machine vision and digital image processing fundamentals.

Galbiati L. J.

Prentice-Hall, Englewood Cliffs, NJ, 1990.

[González, 2008] Digital Image Processing.

Rafael C. González, Richard E. Woods.

Pearson Education Inc, Third Edition, USA, 2008, ISBN 0-13-168728-x.

[Harbluk, 2007] Using the LCT to assess distraction: tests of visual-manual and speech-based operation of NSI.

Joanne L. Harbluk, Peter C. Burns, Martin Lochner, Patricia L. Trbovich.

P. of the 4th Int. Driving S. on Human Factors in Driver Assessment, Training and Vehicle Design, 2007.

[Hebb, 1949] The organization of behavior.

Hebb, Donald.

NY: John Wiley & Sons, Introduction and Chapter 4, reprinted in Anderson & Rosenfeld, 1988, p.p. 45-56.

[Henao, 1998] La adquisición del conocimiento dentro de la ingeniería del conocimiento.

Mónica Henao Cálad.

Revista Universidad Eafit. Abril-Junio, 1998.

[Hernández, 2004] Introducción a la minería de datos.

Hernández Orallo J., Ramírez Quintana M. J., Ferri Ramírez C.

Pearson Education, S.A., Madrid, 2004. ISBN 84-205-4091-9.

[Hough, 1962] Method and means for recognizing complex patterns.

P. V. C. Hough.

U. S. Patent 3069654, 1962.

[Jong-Hae, 2005] Modeling of Human Driving Behavior Based on Piecewise Linear Model.

Jong-Hae Kim, Okuma, S., Young-Woo Kim, Don-Ha Hwang, Min-Huei Kim, Dong-Hee Kim.

Proceedings of the IEEE Symposium on Industrial Electronics, 2005, Vol. 1, pp. 25- 30.

[Kato, 2004] Detection of Driver's Posture in the Car by Using Far Infrared Camera.

Kato, T. Fujii, T. Tanimoto, M.

IEEE intelligent vehicles symposium. 2004, pp. 339-344.

[Kira, 1992] A Practical Approach to Feature Selection

Kenji Kira, Larry A. Rendell.

Proceedings of the 9th international workshop on Machine learning, United Kingdom, 1992, P.p.: 249 – 256.

[Kononenko, 1994] Estimating Attributes: Analysis and Extensions of RELIEF.

Igor Kononenko.

Proceedings of the European conference on machine learning, Catania, Italy, 1994, P.p.: 171 – 182.

[Kovordanyi, 2005] Dynamically deployed support as a potential solution to negative behavioral adaptation.

Kovordanyi, R., Ohlsson, K., Alm, T.

Proceedings of the IEEE Intelligent Vehicles Symposium, 2005, P.p.: 613 - 618.

[Lakshmanan, 2001] Comparison Between Eigenfaces and Fisherfaces for Estimating Driver Pose.

Lakshmanan, S., Watta, P., Yu Lin Hou, Gandhi, N.

Proceedings of the IEEE Intelligent Transportation Systems, 2001, pp. 889-894.

[Laurence, 1994] Fundamental of neural networks.

Fausett, Laurence.

Prentice-Hall Inc., 1994, ISBN 0-13-334186-0.

Page 175: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 143

[Liu, 1997] Toward real-time recognition of driver intentions.

A. Liu and A.P. Pentland.

Proceedings of the 1997 IEEE Intelligent Transportation Systems Conference, pp. 236-241.

[Liu, 2002] Real-time pose classification for pose monitoring.

Xia Liu, Youding Zhu, Fujimura, K.

Proceedings of the IEEE Intelligent Transportation Systems, 2002, pp. 174- 178.

[López, 1999] Looking inside the ANN “black box”: classifying individual neurons as outlier detectors.

Lopez, C.

IEEE International Joint Conference on Neural Networks, Vol. 2, 1999, p.p 1185 – 1188.

[Malik, 2008] The Need of Intelligent Driver Training Systems for Road Safety.

Malik, H., Rakotonirainy, A.

IEEE International Conference on Systems Engineering, 2008, pp. 183-188. ISBN: 978-0-7695-3331-5.

[Mark, 1999] Correlation-based Feature Selection for Machine Learning.

Mark A. Hall.

PhD. Thesis, Department of Computer Science, University of Waikato, Hamilton, NewZealand, 1999.

[Marx, 2003] Motion estimation on driver video data.

Jason Marx, Paul Watta and Sridhar Lakshmanan.

Intelligent Vehicles Symposium, 2003. Proceedings. IEEE. 9-11 June 2003, pp. 668- 672

[McAllister, 2000] Tracking a driver’s hands using computer vision.

McAllister, G., McKenna, S.J., Ricketts, I.W.

Proceedings of the IEEE Systems, Man, and Cybernetics, 2000, Vol. 2, pp. 1388 – 1393.

[McCarrt, 2006] Cell phones and driving: Review of research.

McCartt, A. T., Hellinga, L. A., & Braitman

Traffic Injury Prevention, 7, 89-106., K. A. 2006.

[McClelland, 1988] Explorations in parallel distributed processing.

McClelland, J. L., D. E. Rumelhart.

Cambridge, MA: MIT Press, 1988.

[McCulloh, 1943] A logical calculus of the ideas immanent in nervous activity.

Warren McCulloch, Walter Pitts.

Bulletin of Mathematical Biology, Vol. 5, No. 4. (Dec 1943), pp. 115-133.

[Mehrotra, 1991] Bounds on the number of samples needed for neural learning.

Mehrotra, K.G., C.K. Mohan, S. Ranka.

IEEE Transactions on Neural Networks, 2(6), p.p. 548-558.

[Merlin, 1975] A parallel mechanism for detecting curves in pictures.

P. M. Merlin and D. J. Farber.

IEEE Transactions on Computers, p.p. 96-98, C-24, 1975.

[Minsky, 1969] Perceptrons, expanded edition.

Minsky, M. L., S. A. Papert.

Cambridge, MA: MIT Press, Original Edition, 1969.

[Mitchell, 1997] Machine Learning.

Mitchell T.

McGRAW-HILL, USA, 1997, ISBN 0-07-042807-7.

[Moctezuma, 2009] Detección de bordes en tiempo real.

Daniela A. Moctezuma Ochoa.

Tesis de Maestría en Ciencias, Departamento de Ciencias Computacionales, CENIDET, 2009.

[Montaño, 2002] Redes Neuronales Artificiales: Abriendo la Caja Negra.

Juan J. Montaño, Alfonso Palmer, Carlos Fernandez.

Metodología de las ciencias del comportamiento, ISSN 1575-9105, Vol. 4, Nº 1, 2002 , p.p. 77-93.

Page 176: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

144 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

[Nilson, 2001] Inteligencia Artificial: Una nueva Síntesis.

Nils J. Nilson.

McGRAW-HILL Interamericana de España, 2001, ISBN 1-55860-467-7.

[Nobuyuki, 2000] A Driver Behavior Recognition Method Based on a Driver Model Framework.

Kuge Nobuyuki, Yamamura Tomohiro, Shimoyama Osamu, Liu Andrew.

Society of Automotive Engineers Transactions, 2000, vol. 109, no. 6, pp. 469-476.

[Nobuyuki, 2000] A Driver Behavior Recognition Method Based on a Driver Model Framework.

Kuge Nobuyuki, Yamamura Tomohiro, Shimoyama Osamu, Liu Andrew.

Society of Automotive Engineers Transactions, 2000, vol. 109, no. 6, pp. 469-476.

[Otsu, 1979] A threshold selection method from gray-level histograms.

Otsu, N.

IEEE Transactions on Systems, Man and Cybernetics, 1979, p,p. 62-66, ISSN: 0018-9472, 1979.

[Pajares, 2002] Visión por computadora, Imágenes digitales y aplicaciones.

Gonzalo Pajares, Jesús M. de la Cruz.

Editorial RA-MA, Madrid, España, 2002, ISBN 84-7897-472-5.

[Park, 2005] Driver activity analysis for intelligent vehicles: issues and development framework

Park, S., Mohan Trivedi.

Intelligent Vehicles Symposium, 2005. Proceedings. IEEE , pp. 644- 649.

[Parker, 1985] Learning logic.

Parker, D.

TR-87, Cambridge, MA: Center for computational research in economics and management science, MIT.

[Pettit, 2005] Defining driver distraction.

Pettitt, M., Burnett, G., & Stevens

World Congress on Intelligent Transport Systems, San Francisco, CA, 2005.

[Postel, 1980] Internet Protocol.

Postel, J.

RFC 760, USC/Information Sciences Institute, January 1980.

[Robnik-S, 1997] An adaptation of Relief for attribute estimation in regression.

Marko Robnik-Sikonja, Igor Kononenko.

Proceedings of the 14th International Conference on Machine Learning, 1997, P.p.: 296 – 304.

[Rosenblatt, 1958] The perceptron: a probabilistic model for information storage and organization in the brain.

Rosenblatt, Frank.

Psychological Review, 65:386-408, Reprinted in Anderson & Rosenfeld, 1988, p.p. 92-114.

[Rosenblatt, 1962] Principles of Neurodynamics: perceptrons and the theory of brain mechanisms.

Rosenblatt, Frank.

Washington, Spartan Books, 1962.

[Rumelhart, 1986] Learning representations by back-propagation error.

Rumelhart, D. E., G. E. Hinton, R. J. Williams.

Parallel distributed processing, vol. 1, chapter 8, reprinted in Anderson & Rosenfeld, 1988, p.p. 675-695.

[Russ, 2006] The Image Processing Handbook.

John C. Russ.

CRC Press Inc., Fifth Edition, USA, 2006, ISBN 9-78-084937-25-44

[Sakamoto, 1998] Software pixel interpolation for digital still cameras suitable for a 32-bit MCU.

T. Sakamoto, C. Nakanishi and T. Hase.

IEEE Trans. Consumer Electronics, vol. 44, no. 4, November 1998.

[Serna, 1996] Comparison of brain structure to a backpropagation-learned-structure.

Serna, M., Baird, L.

IEEE International Conference on Neural Networks, Vol. 2 (Jun 1996), p.p. 706 – 711, ICNN.1996.548982.

Page 177: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 145

[Smith, 1995] SUSAN – A New Approach to Low Level Image Processing

S. M. Smith, J. M. Brady.

Technical Report, FMRIB, 1995.

[Stutts, 2001] The role of driver distraction in traffic crashes.

Stutts, J. C., Reinfurt, D. W., Staplin, L., & Rodgman.

T Washington, DC: AAA Foundation for Traffic Safety, 2001.

[Trezise, 2006] Report of the road safety committee on the inquiry into driver distraction.

Trezise, I., Stoney, E. G., Bishop, B., Eren, J., Harkness, A., Langdon, C., & Mulder.

Rep. No. 209. Melbourne, Victoria, Australia: Road Safety Committee, Parliament of Victoria, 2006.

[Tricot, 2002] Driving Styles and Traffic Density Diagnosis in Simulated driving Conditions.

Tricot, N. Sonnerat, D. Popieul, J.C.

IEEE Intelligent Vehicle Symposium, 2002, Vol. 2, pp. 298- 303.

[Tricot, 2003] Toward a modelization of drivers’ behaviour in different traffic situations…

Tricot, N., Rajaonah, B., Pacaux, M.-P., Anceaux, F., Popieul, J.-C.

Proceedings of the IEEE Intelligent Vehicles Symposium, 2003, pp. 522- 527.

[Vazquez, 2005] Árboles de clasificación: una metodología para el análisis de crisis bancarias.

María José Vázquez Cueto.

Reporte técnico, Departamento de Economía Aplicada, Universidad de Sevilla, 2005.

[Vázquez. 1996] Segmentación de Imágenes en grafos de contorno.

Fernando Vázquez Núñez.

Tesis Doctoral del Departamento de IS y A, Universidad de Vigo, España, 1996, ISBN - 84-8158-051-1.

[Wahlstrom, 2003] Vision-based methods for driver monitoring.

Eric Wahlstrom, Osama Masoud, Nikos Papanikolopoulos.

IEEE 6th International Conference on Intelligent Transportation S., pp. 903-908, China, Oct. 2003.

[Watta, 2002] Improving Driver Pose Estimation.

Watta, P., Yulin Hou, Lakshmanan, S., Natarajan, N.

Proceedings of the IEEE Intelligent Vehicle Symposium, 2002, Vol. 2, pp. 310- 315.

[Werbos, 1974] Beyond Regression: New tools for prediction and analysis in the behavior sciences.

Werbos, P.

Ph.D. thesis, Cambridge, MA: Harvard U. Committee on Applied Mathematics, 1974.

[Witten, 2000] Data Mining: Practical Machine Learning Tools and Techniques with JAVA Implementations.

Ian H. Witten, Eibe Frank.

Morgan Kaufmann Publishers, USA, 2000. ISBN 1-55860-552-5.

Page 178: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

146 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 179: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 147

Referencias en línea

[Alonso, 2006] Fundamentos de Ingeniería de Conocimiento.

Carlos J. Alonso González. http://www.infor.uva.es/~calonso/IngenieriaConocimientoCommonKADS/CK1FundamentosIC.pdf (Rev. Jul. 2009)

[Arikah, 2006] Sistema Experto

Enciclopedia Arikah, Historia, Geografía y Biografía, Septiembre 2006. http://www.arikah.net/enciclopedia-espanola/Sistemas_Expertos (Rev. Jul. 2009)

[CABINTEC, 2008] Cabina inteligente para transporte por carretera.

Página web oficial del proyecto cabintec. http://www.cabintec.net/ (Rev. May. 2009)

[Conselleria, 2004] Plan de Seguridad Vial 2003 – 2004.

Consellería de Infraestructuras y Transporte de Generalitat, Valencia, 2003. http://www.cit.gva.es/cast/carreteras/seguridad-vial-car/plan-svial-03-04-car/plan-seg-vial-car/ (Rev. May. 2009)

[Echegoyen, 2000] Diccionario de psicología científica y filosófica.

Javier Echegoyen Olleta. http://www.e-torredebabel.com/Psicologia/ (Rev. Jun. 2009)

[eSafety, 2002] Final Report of the eSafety Working Group on Road Safety.

European Comission.

Noviembre, 2002. http://ec.europa.eu/information_society/activities/esafety/index_en.htm (Rev. Jun. 2009)

[Fernández, 2006] Conducir con cabeza.

Carolina Fernández.

Revista Fusión, Julio, 2006. http://www.revistafusion.com/2006/julio/temac154.htm (Rev. Mar. 2009)

[Microsoft, 2005] Introducción a los sistemas de archivos FAT, HPFS y NTFS.

Microsoft – Ayuda y Soporte, Artículo 100108. http://support.microsoft.com/kb/100108/es (Rev. Jun. 2009)

[Morales, 2009] Aprendizaje Computacional.

Eduardo Morales, Jesús González, Instituto Nacional de Astrofísica, Óptica y Electrónica, 2009 http://ccc.inaoep.mx/~emorales/Cursos/NvoAprend/node17.html (Rev. Jul. 2009)

[RACC, 2006] Las distracciones en la conducción.

Fundación RACC, Instituto de Tráfico y Seguridad Vial de la U. de Valencia, 2006. http://www.racc.es/index.racc/mod.actualidadHome/mem.FEst/relestudio.2164/relcategoria.92/chk.9c1e668166

123b06f048b39826fe4b72.html (Rev. Jun. 2009)

[UPM, 2007] Aprendizaje Automático.

Descripción de la asignatura, Depto. de IA, Universidad Politécnica de Madrid, 2007.

http://www.dia.fi.upm.es/licenciatura/asignaturas96/aprendizaje_automatico.htm (Rev. Jun. 2009)

Page 180: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

148 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 181: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 149

Anexo A

Encuestas realizadas a los

expertos en seguridad vial

después del uso de la

herramienta CoPiloto Virtual

en los experimentos de

adquisición del conocimiento

Page 182: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

150 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 183: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 151

Page 184: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

152 Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ciencias Computacionales.

Page 185: Departamento de Ciencias Computacionales Oscar... · A mi familia y amigos: Gerardo Sánchez, Lourdes Siordia, Gustavo López, Olga López, Erik López, Frida Camarillo, Mario Chirinos,

Agosto, 2009 Ing. Oscar G. Sánchez Siordia

Modelado del Comportamiento de Conducción de Vehículos de Transporte y/o Carga Aplicando RNA y VA 153