Your SlideShare is downloading. ×
Final Degree Project: Traffic Infraction Supervisor (SMIT)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Final Degree Project: Traffic Infraction Supervisor (SMIT)

511
views

Published on

Diseño e implementación de sistema de monitorización de infracciones de tráfico.

Diseño e implementación de sistema de monitorización de infracciones de tráfico.

Published in: Career

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
511
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Muy buenos días a todos, somos Iván y Eduardo y vamos a presentar nuestro proyecto fin de carrera. Su nombre es el siguiente: “SMIT: Diseño e implementación de sistema de monitorización de infracciones de tráfico ”. Este proyecto aborda, como iremos viendo a lo largo de la presentación y como se puede consultar en la documentación, el diseño y la implementación de un sistema capaz de registrar y almacenar excesos de velocidad en la carretera, procesarlos, y dar como salida las sanciones oportunas. Para ello se han desarrollado 3 subsistemas que en conjunto aportan la funcionalidad final del proyecto. El primero de ellos es una aplicación capaz de reconocer señales de tráfico de limitación de velocidad y de avisar al conductor si dicho límite está siendo excedido. Para este subsistema se hacen uso, como veremos durante la presentación, de redes neuronales. El siguiente elemento importante es una aplicación móvil y muy ligera, de forma que su cometido es visualizar los datos referentes al conductor, su vehículo y los excesos cometidos por el mismo. Esta aplicación hará de puente entre los otros 2 subsistemas, logrando así su comunicación. Por último, resta por nombrar el sistema experto desarrollado. Se trata de una aplicación que mediante el procesamiento de reglas de inferencia es capaz de devolver la sanción aplicable a una entrada determinada, que en este caso serán los excesos del vehículo. A continuación mostramos el índice de contenidos de la presentación.
  • En primer lugar vamos a explicar a grandes rasgos el funcionamiento del sistema en general, a pesar de que la mayor parte de la funcionalidad la acabo de comentar en la diapositiva anterior. A continuación seguiremos con los objetivos y motivaciones que nos han llevado a desarrollar este proyecto. Intentaré ser breve y apuntar lo más destacable para no sobrepasar los 5 minutos aproximadamente. Siguiendo con la presentación, concluiré la primera parte de la misma explicando más en detalle el primero de los 3 subsistemas, el de reconocimiento de señales de tráfico, incluyendo una pequeña demo de su funcionamiento, para que a continuación mi compañero Iván tome la palabra y continúe con los otros 2 subsistemas. Os comentará también algunas aplicaciones futuras que consideramos importantes, y por último las conclusiones que hemos sacado de todos estos meses de trabajo en el proyecto. Si en algún momento tenéis alguna duda os pedimos que las apuntéis si es necesario, y las intentaremos resolverlas al final de la presentación. Introducción
  • Bueno pues como acabo de indicar, para comenzar vamos a empezar con la descripción general del sistema. Introducción
  • Como ya he comentado al principio de la presentación, el proyecto final consta de 3 subsistemas que se comunican entre sí buscando la funcionalidad final. El primero de ellos, y del que luego hablaré más en detalle, es el sistema de reconocimiento de señales. Éste quedará instalado en el vehículo y su objetivo será el de recoger los excesos de velocidad cometidos por el conductor mediante la captura de imágenes de la vía y procesando aquellas que contengan señales de limitación de velocidad. Aquellas señales que contengan fondo blanco y numeración en color negro, serán procesadas por la red neuronal diseñada. El segundo subsistema no es más que una aplicación móvil cuyo único objetivo es el de conectarse al vehículo y visualizar la información del mismo, tanto del propio vehículo como la de su titular y los excesos que hayan sido registrados por el subsistema anterior. Estos excesos serán enviados al sistema experto el cual los procesará y obtendrá como salida las sanciones necesarias para ese conductor, teniendo no sólo en cuenta el exceso de velocidad cometido, como ya detallará mi compañero Iván. Introducción
  • Un punto importante del proceso radica en el proceso de comunicación de los excesos por parte de la aplicación móvil al sistema experto. Podemos decir que el sistema experto trabaja off-line, es decir, el agente envía los excesos del vehículo mediante el dispositivo móvil y se olvida del tratamiento de los mismos. Pero existe un paso anterior. Previamente los excesos pasan por un servicio web que comprueba si los excesos cometidos por el conductor requieren la intervención inmediata del vehículo, por ejemplo para ponerle un cepo. Este servicio web compara los datos XML enviados desde la aplicación móvil con una tabla XML codificada que contiene las velocidades límites y los importes base de rebasarlas, así como los puntos a restar. Si el conductor quedara sin puntos, el servicio web notificaría al agente de inmediato que el vehículo deberá ser inmovilizado. A continuación y de forma off-line el servicio web enviará los excesos al sistema experto para su proceso. La justificación de esta tabla en formato XML sobre velocidades reside en que las infracciones e importes bases por rebasar los límites, así como los puntos a restar, están siempre sujetos a cambios, por lo que únicamente modificando dicha tabla el sistema seguiría siendo viable y estaría actualizado. Introducción
  • En este diagrama podemos observar cual es el funcionamiento esquemático de los subsistemas, y su comunicación. Como podéis ver, la aplicación móvil envía la información al servicio web, que la compara con un tabla y envía los excesos en formato XML al sistema experto. Existe un componente adicional que no he mencionado hasta ahora, y se trata de la aplicación cliente del sistema experto, cuya función es sencillamente la de utilizar el sistema experto. Iván os enseñará en una pequeña demostración su funcionamiento. Introducción
  • El siguiente punto es el de objetivos, en el que comentaremos algunos de los que nos llevaron a implementar esta solución Introducción
  • Por supuesto, el más importante, el de reducir el número de víctimas. ¿Cómo? Pues ajustando las velocidades a lo que dicta la norma. Es cierto que desde la implantación del carnet por puntos la siniestralidad en las carreteras ha descendido, basta con observar las cifras de los primeros meses de los últimos 5 años, pero creemos que el sistema actual, aunque eficiente, sigue siendo incompleto. Creemos que con la ayuda del sistema propuesto se podrían reducir aún más el número de víctimas. Lo que vamos a lograr con este sistema es una vigilancia total, por el hecho de que el subsistema que se encarga de analizar las señales entrará en funcionamiento en el mismo momento en el que el vehículo es arrancado. De este modo radares y controles de velocidad serían innecesarios. Introducción
  • Como acabo de comentar, al reducir la inversión en radares, controladores de velocidad, vigilancia de agentes, etc, se conseguiría una reducción de los costes proporcional al gasto que supondría implantar el sistema final. Quizás incluso logrando beneficios. Otro objetivo es el de ayudar a la gestión de las sanciones a las distintas infracciones cometidas. Es común que a un exceso de velocidad le siga una multa a los 3 meses de haber cometido la infracción. Con esta solución se pretende reducir drásticamente esos tiempos. Introducción
  • Bueno, para concluir con esta introducción vamos a explicaros brevemente las motivaciones para el desarrollo del proyecto Introducción
  • Que no son más que las siguientes: El uso de nuevas tecnologías La investigación en el campo de la inteligencia artificial Por supuesto el deseo de aprender cosas nuevas Y además conseguir resolver un problema real Introducción
  • Y ahora sí, vamos a comenzar a detallar uno a uno los subsistemas desarrollados. El primero de ellos, el subsistema de reconocimiento de señales de tráfico. Introducción
  • En este esquema podemos observar cual es el papel de este subsistema dentro del proyecto en general. Introducción
  • El funcionamiento es muy sencillo. Una cámara instalada dentro del vehículo registra las imágenes tomadas de la carretera. Si se identifica una señal circular de limitación, es procesada por la red neuronal. En este momento se produce la comparación de velocidades, de modo que si la actual resulta mayor que el límite establecido por norma, se emite una señal al conductor para que la reduzca. Si éste no hace caso a la alarma emitida, se almacena el exceso. Introducción
  • El proceso para el reconocimiento de las señales es el siguiente: Primero se capturan imágenes cada 2 segundos. Esto es así por las limitaciones de la propia red neuronal. A continuación se procede a la identificación de un patrón circular en la muestra. Si se obtiene uno, se pasa al siguiente paso. En caso negativo se desecha la muestra y se vuelve al paso anterior. La identificación de patrones la hemos implementado haciendo uso de la librería de visión artificial OpenCV, y haciendo uso de C++ por su rapidez de ejecución. En el siguiente paso lo que hacemos es generar un array binario bidimensional de 30x30 posiciones, de forma que el 0 se corresponde con el negro y el 1 con el blanco. Este array es el que le pasamos a la red neuronal, que intentará identificar la limitación correspondiente. Introducción
  • Para identificar los patrones circulares lo que hacemos es utilizar una función de OpenCV que nos devuelve las coordenadas del centro del círculo y su radio, de forma que podemos calcular fácilmente el cuadrado circunscrito en la circunferencia. Esto queda almacenado en memoria en el array bidimensional. Introducción
  • Para obtener el array binario a partir de la imagen ya capturada tenemos que discretizar ciertos valores de forma que el negro y el blanco sean inconfundibles. Para ello lo que hacemos es comparar el valor RGB por separado de cada píxel con el límite de tolerancia establecido en 171,24, de forma que todo píxel con valor superior equivaldrá a blanco, y los inferiores al negro. Como podemos observar en la figura se debe encontrar un equilibrio para ajustar este límite. Para ello se obtuvieron 24 imágenes de señales de tráfico y manualmente se estableció el límite aproximado de tolerancia para cada una. El valor 171,24 no es más que la media aritmética de los límites de estas muestras. Al final del proceso, el array de 900 entradas (30x30) queda como el de la imagen, espero que se aprecie bien… Debería ser un 50 pero bueno, aquí se nos ha escapado Introducción
  • Hasta este momento la red neuronal no ha tomado las riendas del proceso. Es ahora cuando entra en acción, una vez obtenido el array bidimensional obtenido de la imagen procesada que será su entrada. Las salidas de la red serán los límites de velocidad existentes (son 11, de 10 a 120 exceptuando el 110 que no existe) Las entradas van siendo multiplicadas por los pesos de las neuronas capa por capa hasta generar los valores de salida. Éstos son tratados como porcentajes de acierto, estableciendo nosotros un valor límite del 80% para deducir que el valor de entrada se corresponde con esa salida. Las demás salidas son descartadas. En caso de varias salidas positivas, queda como salida definitiva la más restrictiva. Esto lo realiza una función que procesa las salidas de forma secuencial desde la más restrictiva (10 km/h) hasta la menos restrictiva (120 km/h) Introducción
  • El entrenamiento al que hemos sometido a la red es el siguiente. Se han digitalizado manualmente 22 muestras de señales de limitación de velocidad, 11 claras y otras 11 con ruido aleatorio. De este modo hacemos que ante posibles objetos extraños delante de las señales podamos procesar sus valores. Además, para el entrenamiento de la red se ha hecho uso del algoritmo de propagación hacia atrás (o backpropagation). El algoritmo consiste en minimizar un error (comúnmente cuadrático) por medio de gradiente descendiente, el cual reduce el mencionado error cuadrático entre los valores de salida de la red y los valores meta para esas salidas. Introducción
  • Y ahora os voy a hacer una pequeña demostración de su funcionamiento. Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Introducción
  • Transcript

    • 1. 5º Ingeniería Informática 17 de Septiembre de 2008 SMIT Diseño e implementación de sistema de monitorización de infracciones de tráfico Iván Pretel García Eduardo Castillejo Gil
    • 2.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales. . . . 10 min
      • Dispositivo móvil. . . . . . . . . . . . . 5 min
      • Sistema experto. . . . . . . . . . . . . 10 min
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT 5 min 5 min
    • 3.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 4. Proyecto fin de carrera: SMIT
      • Participación de 3 subsistemas:
        • Sistema de reconocimiento óptico de señales de tráfico
        • Aplicación móvil
        • Sistema experto
      Descripción general (1/2)
    • 5. Proyecto fin de carrera: SMIT
      • Reconocimiento de señales de limitación de velocidad y almacenamiento de excesos
      • Tratamiento de esos excesos
        • Alerta de intervención inmediata
        • Generación y almacenamiento de las sanciones
      Descripción general (2/2)
    • 6. Proyecto fin de carrera: SMIT
    • 7.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 8. Proyecto fin de carrera: SMIT
      • Objetivo principal: reducir el número de víctimas en la carretera
          • Ajuste de la velocidad, reducción del número de accidentes
      • Vigilancia total
      Objetivos (1/2)
    • 9. Proyecto fin de carrera: SMIT
      • Reducción de costes (radares, controles de velocidad, etc)
      • Mayor automatización del proceso de sanción a infractores
      • Ayuda al proceso de gestión de tráfico
      Objetivos (2/2)
    • 10.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 11. Proyecto fin de carrera: SMIT
      • Uso de nuevas tecnologías
      • Inteligencia artificial
      • Deseo de aprender
      • Resolver un problema real
      • Posibles aplicaciones reales
      Motivaciones
    • 12.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 13. Proyecto fin de carrera: SMIT
    • 14. Proyecto fin de carrera: SMIT 80
    • 15. Proyecto fin de carrera: SMIT Proceso de reconocimiento Captura Identificación de patrones Digitalización Reconocimiento 90
    • 16. Proyecto fin de carrera: SMIT
      • Mediante OpenCV
      • Se identifican círculos (cvHoughCircle)
      • Se crea una imagen de tamaño 30x30
      Identificación de patrones (x,y) (x-R,y+R) R y x
    • 17. Proyecto fin de carrera: SMIT
      • Comparación de valores RGB
      • Límite de tolerancia
          • Media aritmética de 24 muestras = 171,24
      Digitalización de muestras 150 200 235
    • 18. Proyecto fin de carrera: SMIT
      • Red Neuronal
          • Entradas: 30x30 = 900 entradas
          • Salidas: 11 salidas
      Reconocimiento de límites (1/2) 0,564(10) 0,561(20) 0,984(30) 0,185(40) … 0,589(110) 0,345(120) 900 11
    • 19. Proyecto fin de carrera: SMIT
      • Entrenamiento con 22 imágenes
          • 11 claras y 11 con ruido
      • Backpropagation
          • Ajusta los pesos de las neuronas proporcionando al algoritmo la entrada y la salida que queremos que retorne la red
      • Fichero de red
          • Se almacenan los pesos de las neuronas
          • Se lee cuando se arranca el programa
          • Así no entrena la red cada vez que se ejecuta el programa
          • Permite una fácil actualización
      Reconocimiento de límites (2/2)
    • 20. Proyecto fin de carrera: SMIT Demostración
    • 21.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 22. Proyecto fin de carrera: SMIT
    • 23. Proyecto fin de carrera: SMIT
      • Uso por parte de los agentes de tráfico
      • Consulta de información del vehículo y conductor
      • Consulta de excesos de velocidad registrados
      • Envío de excesos al sistema experto
      • Recepción de acciones a tomar y actualización del registro de infracciones del vehículo
      Características
    • 24. Proyecto fin de carrera: SMIT
      • Consulta de información del vehículo
      • Consulta de información del titular del vehículo
      • Consulta de excesos de velocidad registrados por el sistema de reconocimiento de señales
      • Envío de excesos al sistema experto
      Operaciones disponibles
    • 25. Proyecto fin de carrera: SMIT
      • Servicios web de vehículos: para obtener la información relativa al propio vehículo, su titular, los excesos registrados…
      • Servicio web de comparación de velocidades: para enviar los excesos transformados en infracciones al sistema experto y que éste procese las sanciones correspondientes
      • Base de datos SQLite… de forma indirecta
      • ¡Plataforma .NET!
      Comunicación con…
    • 26. Proyecto fin de carrera: SMIT Base de datos
    • 27. Proyecto fin de carrera: SMIT
      • .NET Framework
      • .NET Compact Framework
      • Servicios web
      • XML
      • SOAP
      • SQLite
      • Algoritmo de cifrado ARC-4
      Tecnologías utilizadas
    • 28. Proyecto fin de carrera: SMIT Demostración
    • 29.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 30. Proyecto fin de carrera: SMIT
    • 31. Proyecto fin de carrera: SMIT
    • 32. Proyecto fin de carrera: SMIT
    • 33. Proyecto fin de carrera: SMIT
      • Tipo de problema: clasificación
      • El entorno
          • Infracción cometida
          • El conductor que la realiza
          • Su vehículo
          • Infracciones anteriores cometidas
      • Fuente de información
          • Boletín Oficial de las Cortes Generales del 6 de julio de 2005
      Análisis
    • 34. Proyecto fin de carrera: SMIT
      • En teoría : Encaminamiento hacia atrás
        • Datos recogidos al principio y disponibles siempre
        • Número de posibles respuestas finito y reducido
      • En la práctica : Encaminamiento hacia delante
        • Drools de JBoss es un motor de reglas que solo admite encaminamiento hacia delante
      Diseño y desarrollo: Mecanismo de Inferencia
    • 35. Proyecto fin de carrera: SMIT Diseño y desarrollo: Árbol de decisión
    • 36. Proyecto fin de carrera: SMIT
      • Formato estructurado
      • Nombre significativo
      rule "COMPROBAR_GRAVEDAD_MUYGRAVE" when multa : Multa (gravedad==tiposGravedad.MUY_GRAVE ) and decisionLog : DecisionLog(tarea=="COMPROBAR_GRAVEDAD") then decisionLog.setTarea("COMPROBAR_PUNTOS_MUY GRAVE"); decisionLog.setHitoRS("MuyGrave"); update(decisionLog); end Regla intermedia Diseño y desarrollo: Reglas (1/2)
    • 37. Proyecto fin de carrera: SMIT rule "COMPROBAR_EDAD_LEVE_MR_MAYOR" when conductor : Conductor( edad >= 18 ) and decisionLog : DecisionLog (tarea == "COMPROBAR_EDAD_LEVE_MR") then decisionLog.setTarea (" OK_COMPROBAR_EDAD_LEVE_MR_MAYOR "); decisionLog.setPorcentaje_Plus(100); retract(decisionLog); end Regla de decisión final Diseño y desarrollo: Reglas (2/2)
    • 38. Proyecto fin de carrera: SMIT
      • Aporta consistencia lógica
      • Detecta errores
          • Inconsistencia lógica
          • Mala estructuración del conocimiento
          • Mala ordenación del conocimiento
      Evaluación: Red de Inferencia (1/2)
    • 39. Proyecto fin de carrera: SMIT Evaluación: Red de Inferencia (2/2)
    • 40. Proyecto fin de carrera: SMIT
      • Garantiza una respuesta
      • Hitos definidos
          • PuntosAgotados y PuntosNoAgotados
          • Leve, Grave y MuyGrave
      rule &quot;COMPROBAR_PUNTOS_MUYGRAVE_AGOTADOS&quot; when conductor : Conductor( puntos <= 0 ) and decisionLog : DecisionLog (tarea == &quot;COMPROBAR_PUNTOS_MUYGRAVE&quot;) then decisionLog.setTarea (&quot;COMPROBAR_REINCIDENCIA_MUYGRAVE_AGOTADOS&quot;); decisionLog.setHitoRS(&quot;PuntosAgotados&quot;);   update(decisionLog); end Regla con hito Evaluación: Red de Seguridad
    • 41. Proyecto fin de carrera: SMIT
      • Errores detectados
          • Conocimiento lógicamente inconsistente
          • Conocimiento incorrecto
          • Conocimiento incompleto
      • Sistema 100% fiable
          • Confección de una base de datos de prueba
          • Confección de tres documentos XML con todos los posibles casos
          • Se han probado el 100% de las respuestas posibles
      Pruebas
    • 42. Proyecto fin de carrera: SMIT Demostración Cliente del WS Servicio Web
    • 43.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 44. Proyecto fin de carrera: SMIT
      • Mejoras de diseño. Sistema más distribuido
      • No restricción a señales de limitación de velocidad
      • Visión artificial. Manejo del vehículo por parte del sistema
      • Registro y gestión de datos para Inspección Técnica de Vehículos
      • Apertura de garajes, levantamiento de barreras, peajes, etc, vía Wi-Fi
      Aplicaciones futuras
    • 45.
      • Descripción general
      • Objetivos
      • Motivaciones
      • Reconocimiento de señales
      • Dispositivo móvil
      • Sistema experto
      • Aplicaciones futuras
      • Conclusiones
      Contenido Proyecto fin de carrera: SMIT
    • 46. Proyecto fin de carrera: SMIT
      • Objetivos alcanzados
          • Investigación de tecnologías relacionadas con las comunicaciones y con la inteligencia artificial
              • SOAP
              • XML
              • Servicios Web
              • Sistemas de conocimiento basados en reglas
              • Redes neuronales…
      Conclusiones (1/4)
    • 47. Proyecto fin de carrera: SMIT
      • Documentación de las mismas
          • Investigación en tecnologías y desarrollo del proyecto.
          • Especificación de requisitos del sistema y del diseño.
      • Desarrollo de aplicaciones basada en las anteriores tecnologías.
      Conclusiones (2/4)
    • 48. Proyecto fin de carrera: SMIT
      • Consideraciones
          • Problemas y retrasos
          • Investigación dentro del campo de la inteligencia artificial
      Conclusiones (3/4)
    • 49. Proyecto fin de carrera: SMIT
      • Grado de cumplimiento de objetivos
          • Sistema capaz de monitorizar, registrar y gestionar los excesos y las sanciones
          • Reconocimiento óptico de señales
          • Tratamiento de excesos mediante reglas
          • Aplicación móvil ligera
          • Investigación de tecnologías
      Conclusiones (4/4)
    • 50. Proyecto fin de carrera: SMIT Fin
      • Cuestiones, dudas,…