Download - Art í Culo Accident Es
-
7/25/2019 Art Culo Accident Es
1/25
Desarrollo de un sistema de Visin Artificial para la
deteccin de accidentes y/o congestionamiento vehicular
Andrs Armijos, Pedro Aponte
Carrera de ingeniera de Sistemas, Universidad Nacional de Loja
[email protected], [email protected]
Resumen.Este artculo es el resultado de la investigacin exhaustiva de tcnicas y algoritmosde procesamiento digital de imgenes, adems del correspondiente trabajo de campo y diferentesherramientas para el diseo y programacin. La visin artificial o visin por computador juegaun papel muy importante para la consecucin de los objetivos planteados, as mismo el avance
tecnolgico ha permitido que la misma permita en cierta forma recrear o simular las funcionesdel ojo humano.Palabras Clave:Visin artificial, clasificador, vehculo.
Abstract.This article is the result of exhaustive research of techniques and algorithms of digitalimage processing, in addition to the corresponding fieldwork and different tools for design andprogramming. Computer vision or computer vision plays an important role in achieving theobjectives, also the technological advancement has allowed it allows somehow recreate or
simulate the functions of the human eye.Keywords:Machine Vision, classifier, vehicle.
1 Introduccin
El mundo actual en el que vivimos, est lleno de dispositivos capaces de realizar
capturas de imgenes a grandes distancias, vigilar sectores especficos, cmaras deseguridad para grandes empresas, ojos de guila, etc. Todos estos dispositivos resultan
de gran utilidad al momento de tomar una decisin por el ser humano, pero este no
puede estar presente 24 horas, 365 das al ao, es ah donde entra la visin artifi cial,
misma que juega un papel fundamental, haciendo que los dispositivos mencionados se
conviertan en herramientas de capturas de imgenes pasivos a activos por si solos,
capaces de tomar una decisin como lo hara un ser humano pensante e inteligente.
En la actualidad, es necesario determinar el trnsito vehicular de un determinado lugardonde con frecuencia existe congestionamiento de vehculos donde el trnsito es
controlado por semforos con temporizadores que se sitan en intersecciones viales
para regular el normal trfico vehicular y peatonal, pero que resultan ineficientes al
momento de la aglomeracin vehicular, horas pico, provocando as una serie de
problemas de contaminacin ambiental accidentes de trnsito, contaminacin por el
ruido, etc..
De manera general en las grandes ciudades se encuentran los siguientes problemas:
-
7/25/2019 Art Culo Accident Es
2/25
El control de trnsito se realiza mediante semforos con temporizadores
sincronizados.
En horas pico se necesita la intervencin un agente de trnsito para el control
vehicular.
El congestionamiento vehicular en las intersecciones en un intervalo de tiempo
provocan posibles riesgos de colisiones.
La aglomeracin de vehculos provoca desesperacin en los conductores y por
ende tienden a utilizar en exceso las bocinas, provocando contaminacin por
ruido.
2 Herramientas utilizadas.
Al momento de desarrollar aplicaciones que estn basadas en Visin Artificial es muy
importante saber elegir una librera como herramienta de desarrollo, aunque no sera
muy recomendable utilizar solo una. Es probable que las deficiencias de una puedan
ser resueltas por otra, o que para un problema concreto resulte aconsejable usar unalibrera especfica como es el caso de Opencv.
A continuacin se detallan algunas de las libreras ms utilizadas en el desarrollo de
aplicaciones que estn enfocadas en la Visin Artificial.
2.1 Ubuntu:
Fig. 1. Ubuntu. ltima versin disponible 14.04 LTS
Ubuntu es una palabra Africana que significa 'Humanidad hacia otros', o 'Yo soy porque
nosotros somos'. La distribucin Ubuntu lleva el espritu de Ubuntu al mundo del
software.
Ubuntu es un sistema operativo desarrollado por la comunidad que es perfecto para
laptops,computadoras de escritorioyservidores.Ya sea que lo utilices en el hogar, en
la escuela o en el trabajo, Ubuntu contiene todas las aplicaciones que puedas necesitar,
desde procesadores de texto y aplicaciones de email, hasta software para servidor web
y herramientas de programacin.
Ubuntu es y siempre ser libre de costo. No pagas por una licencia de uso. Puedes
descargar, usar y compartir Ubuntu con tus amigos, familiares, escuela o negocios
libremente [6].
Su patrocinador, Canonical, es una compaa britnica propiedad del empresario sudafricanoMark Shuttleworth.Ofrece el sistema de manera gratuita, y se financia por
http://www.ubuntumx.org/edicion-escritorio.phphttp://www.ubuntumx.org/edicion-escritorio.phphttp://www.ubuntumx.org/edicion-escritorio.phphttp://www.ubuntumx.org/edicion-servidor.phphttp://www.ubuntumx.org/edicion-servidor.phphttp://www.ubuntumx.org/edicion-servidor.phphttp://es.wikipedia.org/wiki/Canonicalhttp://es.wikipedia.org/wiki/Sud%C3%A1fricahttp://es.wikipedia.org/wiki/Mark_Shuttleworthhttp://es.wikipedia.org/wiki/Mark_Shuttleworthhttp://es.wikipedia.org/wiki/Sud%C3%A1fricahttp://es.wikipedia.org/wiki/Canonicalhttp://www.ubuntumx.org/edicion-servidor.phphttp://www.ubuntumx.org/edicion-escritorio.php -
7/25/2019 Art Culo Accident Es
3/25
medio de servicios vinculados al sistema operativo y vendiendo soporte tcnico.
Adems, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los
desarrolladores de la comunidad para mejorar los componentes de su sistema operativo.
Extraoficialmente, la comunidad de desarrolladores proporciona soporte para otras
derivaciones de Ubuntu, con otros entornos grficos, comoKubuntu,Xubuntu,Ubuntu
MATE,Edubuntu,Ubuntu Studio,Mythbuntu,Ubuntu GNOME yLubuntu [7].
2.2 Qt:
Fig 2. Qt. ltima versin 4.8
Qt es una biblioteca multiplataforma ampliamente usada para desarrollar aplicaciones
con interfaz grfica de usuario, as como tambin para el desarrollo de programas sin
interfaz grfica, como herramientas para la lnea de comandos y consolas para
servidores. Es desarrollada como un software libre y de cdigo abierto a travs de Qt
Project, donde participa tanto la comunidad, como desarrolladores de Nokia, Digia yotras empresas. Anteriormente, era desarrollado por la divisin de software de Qt de
Nokia, que entr en vigor despus de la adquisicin por parte de Nokia de la empresa
noruega Trolltech, el productor original de Qt, el 17 de junio de 2008. Qt es distribuida
bajo los trminos de GNU Lesser General Public License (y otras). Por otro lado, Digia
est a cargo de las licencias comerciales de Qt desde marzo de 2011.
Qt es utilizada en KDE, entorno de escritorio para sistemas como GNU/Linux o
FreeBSD, entre otros. Qt utiliza el lenguaje de programacin C++ de forma nativa,
adicionalmente puede ser utilizado en varios otros lenguajes de programacin a travs
de bindings. Tambin es usada en sistemas informticos empotrados para automocin,
aeronavegacin y aparatos domsticos como frigorficos.
Funciona en todas las principales plataformas, y tiene un amplio apoyo. El API de la
biblioteca cuenta con mtodos para acceder a bases de datos mediante SQL, as como
uso de XML, gestin de hilos, soporte de red, una API multiplataforma unificada parala manipulacin de archivos y una multitud de otros para el manejo de ficheros, adems
de estructuras de datos tradicionales [8].
http://es.wikipedia.org/wiki/Soporte_t%C3%A9cnicohttp://es.wikipedia.org/wiki/Kubuntuhttp://es.wikipedia.org/wiki/Xubuntuhttp://es.wikipedia.org/wiki/Ubuntu_MATEhttp://es.wikipedia.org/wiki/Ubuntu_MATEhttp://es.wikipedia.org/wiki/Edubuntuhttp://es.wikipedia.org/wiki/Ubuntu_Studiohttp://es.wikipedia.org/wiki/Mythbuntuhttp://es.wikipedia.org/wiki/Ubuntu_GNOMEhttp://es.wikipedia.org/wiki/Lubuntuhttp://es.wikipedia.org/wiki/Lubuntuhttp://es.wikipedia.org/wiki/Ubuntu_GNOMEhttp://es.wikipedia.org/wiki/Mythbuntuhttp://es.wikipedia.org/wiki/Ubuntu_Studiohttp://es.wikipedia.org/wiki/Edubuntuhttp://es.wikipedia.org/wiki/Ubuntu_MATEhttp://es.wikipedia.org/wiki/Ubuntu_MATEhttp://es.wikipedia.org/wiki/Xubuntuhttp://es.wikipedia.org/wiki/Kubuntuhttp://es.wikipedia.org/wiki/Soporte_t%C3%A9cnico -
7/25/2019 Art Culo Accident Es
4/25
2.3 Opencv:
Fig 3. OpenCV. ltima versin 3.0
OpenCV es unabiblioteca libre de visin artificial originalmente desarrollada porIntel.
Desde que apareci su primera versin alfa en el mes de enero de 1999, se ha utilizado
en infinidad de aplicaciones. Desde sistemas de seguridad con deteccin de
movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento
de objetos. Esto se debe a que su publicacin se da bajo licenciaBSD,que permite que
sea usada libremente para propsitos comerciales y de investigacin con las
condiciones en ella expresadas [9].
OpenCV es liberado bajo una licencia BSD y por lo tanto es gratis, tanto para uso
acadmico y comercial. Cuenta con interfaces de C ++, C, Python y Java y es
compatible con Windows, Linux, Mac OS, iOS y Android. OpenCV fue diseado para
la eficiencia computacional y con un fuerte enfoque en aplicaciones de tiempo real.
Escrito en optimizado C / C ++, la biblioteca puede tomar ventaja de procesamientomulti -core. Habilitado con OpenCL, se puede aprovechar la aceleracin de hardware
de la plataforma de computacin heterognea subyacente. Adoptado en todo el mundo,
OpenCV tiene ms de 47 mil personas de la comunidad de usuarios y el nmero
estimado de descargas superiores a 9 millones. Rangos de uso del arte interactivo, a la
inspeccin de minas, mapas de costura en la web o a travs de la robtica avanzada
[10].
3 Metodologa de desarrollo.
Para el desarrollo del proyecto se utiliz el modelo de ciclo de vida clsico, tambin
denominado "modelo en cascada", se basa en intentar hacer las cosas bien desde el
principio, de una vez y para siempre. Se pasa, en orden, de una etapa a la siguiente slo
tras finalizar con xito las tareas de verificacin y validacin propias de la etapa. Si
resulta necesario, nicamente se da marcha atrs hasta la fase inmediatamente anterior.
Este modelo tradicional de ciclo de vida exige una aproximacin secuencial al proceso
de desarrollo del software. Por desgracia, esta aproximacin presenta una serie degraves inconvenientes, entre los que cabe destacar:
- Los proyectos reales raramente siguen el flujo secuencial de actividades que
propone este modelo.
http://es.wikipedia.org/wiki/Biblioteca_%28programaci%C3%B3n%29http://es.wikipedia.org/wiki/Intel_Corporationhttp://es.wikipedia.org/wiki/BSDhttp://es.wikipedia.org/wiki/BSDhttp://es.wikipedia.org/wiki/Intel_Corporationhttp://es.wikipedia.org/wiki/Biblioteca_%28programaci%C3%B3n%29 -
7/25/2019 Art Culo Accident Es
5/25
-
Normalmente, es difcil para el cliente establecer explcitamente todos los
requisitos al comienzo del proyecto (entre otras cosas, porque hasta que no
vea evolucionar el proyecto no tendr una idea clara de qu es lo que realmente
quiere).
- No habr disponible una versin operativa del sistema hasta llegar a las etapas
[11].
4 Resultados.
4.1 Anlisis de Requerimientos
En esta fase se realiz un anlisis acerca de la perspectiva en la cual van a funcionar los
algoritmos, en nuestro caso desde la perspectiva de un semforo.Para que la recoleccin de informacin se utiliz ciertas tcnicas de recoleccin de
datos, como son:
La observacin directa: que nos permiti conocer la forma en que transitan los
vehculos y el rea que deba ser limitada para el anlisis vehicular.
La entrevista: por parte del tutor de tesis que nos permiti conocer ms a fondo la
magnitud y el alcance del proyecto de semforos inteligentes.
4.1.1
Requerimientos Funcionales
El Sistema permitir:
TABLA 1. Requerimientos funcionales del sistema.
REF. Descripcin Categora Tcnicas de
recoleccin
REF001 Captar imgenes y videos a travs de una
cmara.
Evidente Observacin
REF002 Captar videos previamente grabados. Evidente Observacin
REF003 Detectar vehculos a travs de un
clasificador.
Evidente Observacin
REF004 Detectar personas a travs de un
clasificador.
Evidente Observacin
REF005 Delimitar el rea en la cual se va a realizar
la deteccin.
Evidente Observacin
REF006 Utilizar un temporizador para controlar los
eventos que se den.
Evidente Observacin
-
7/25/2019 Art Culo Accident Es
6/25
REF007 Almacenar los eventos generados en una
base de datos.
Oculto Observacin
REF008 Generar un reporte de los posibles
congestionamientos generados.
Evidente Entrevista
REF009 Generar un reporte de los posibles
accidentes generados.
Evidente Entrevista
4.1.2 Requerimientos no Funcionales
De la misma forma que los requerimientos funcionales, tambin existen losrequerimientos no funcionales, en donde se dice que el sistema deber:
TABLA 2. Requerimientos no funcionales del sistema.
REF. Descripcin Categora Tcnicas de
recoleccin
REF001 Poseer una interfaz que sea
amigable para el usuario.
Evidente Entrevista
REF002 Facilitar su uso para poder
realizar las pruebas apropiadas.
Evidente Entrevista
4.2 Diseo
4.2.1 Algoritmo para la deteccin de vehculos y posible congestionamiento
A continuacin se muestra el algoritmo que permite realizar la deteccin de losvehculos en tiempo real. El algoritmo est estructurado en un diagrama de flujo. Loque hace el algoritmo al principio es una evaluacin sobre si existe o no el objeto adetectar, en este caso sera el vehculo. Seguidamente se analiza si existe undeterminado nmero de vehculos, en caso de ser afirmativo se inicia un contador porun determinado tiempo, si ambas condiciones se dan se presenta una alerta de posiblecongestionamiento. Todo esto se consigue con la ayuda de un clasificador, el cual se
obtiene luego del entrenamiento que realiza este con varios modelos y formas devehculos tomadas con una cmara digital desde la perspectiva de un semforo. En lasiguiente figura se muestra el esquema del algoritmo que permite realizar la deteccinde los vehculos y posible congestionamiento:
-
7/25/2019 Art Culo Accident Es
7/25
Inicio
Empieza contador
Detectar Vehculo
Existe Vehculo
Congestionamiento
Fin
Ingresar puntos
Existen n
vehculos
Se cumpli
tiempo
Diagrama 1. Diagrama de flujo del algoritmo para la deteccin de congestionamientos.
-
7/25/2019 Art Culo Accident Es
8/25
4.2.2 Algoritmo para la deteccin de vehculos y posible accidente
Este algoritmo funciona igual que el anterior. Lo que hace el algoritmo al principio esuna evaluacin sobre si existe o no un vehculo. Seguidamente se analiza si existe unoo ms vehculos estticos, en caso de ser afirmativo se inicia un contador por undeterminado tiempo, si ambas condiciones se dan se presenta una alerta de posibleaccidente. En la siguiente figura se muestra el esquema del algoritmo que permiterealizar la deteccin de los vehculos y posible accidente:
Diagrama 2. Diagrama de flujo del algoritmo para la deteccin de accidentes.
Inicio
Detectar Vehculo
Existe n vehculosen la misma
posicin
Detecta personas
Se cumpli
tiempo
Accidente
Fin
Seleccin de
video o cmara
Seleccin de regin
de inters
Parmetros de
mscara de
perspectiva y ROI
No
S
SN
Existen Detecta personas
No
S
-
7/25/2019 Art Culo Accident Es
9/25
4.3 Diseo
4.3.1 Construccin del clasificador en cascada
Como se mencion anteriormente para el desarrollo del algoritmo correspondiente a la
deteccin de vehculos desde la perspectiva de un semforo fue necesario construir unclasificador en cascada. Para realizar la deteccin de vehculos se construy el
clasificador en la plataforma Windows 8.1, debido a que se emplearon gran cantidad
de imgenes (muestras).
4.3.2 Clasificador en cascada para la deteccin de vehculos
Se realiz la recoleccin de 3000 imgenes que contengan el objeto a reconocer en
nuestro caso vehculos, las cuales las denominamos con el nombre de positivasy 6000
imgenes denominadas negativas, en las cuales no debe estar presente el objeto a
reconocer o los que se utilizaron en las imgenes positivas, en nuestro caso vehculos.Adems las imgenes positivas y las negativas deben estar numeradas desde el 1 hasta
el nmero de imgenes utilizadas (positivas de 1 a 3000 y negativas 1 a 6000). Y por
ltimo todas las imgenes en formato de mapa de bits (bmp).
Para la construccin del clasificador en el Sistema Operativo Windows se utiliza una
herramienta denominada tools,la cual posee archivos .bat y .exe que facilitan la
construccin del clasificador.
Fig. 4. Herramienta tools descomprimida.
Una vez recolectado las imgenes las ubicamos de manera correspondiente en lossiguientes directorios tools\temp\negative para las negativas y
-
7/25/2019 Art Culo Accident Es
10/25
tools\temp\positive\rawdatapara las positivas.
Fig. 5. Directorio de las imgenes negativas.
Fig. 6. Directorio de las imgenes positivas.
En el directorio donde se ubicaron las imgenes negativas, se encuentra el archivocreate_list.bat, lo ejecutamos y generar un archivo create_list.txt
-
7/25/2019 Art Culo Accident Es
11/25
Fig. 7. Archivo .bat y .txt generado.
El archivo infolile.txt contiene el nombre de las 5000 imgenes negativas con surespectiva extensin.
Fig. 8. Contenido del archivo infofile.txt
En el directorio de las imgenes positivas se encuentra el archivo objectmarker.exe,lo ejecutamos y presentar las siguientes interfaces. La interfaz de la parte superiorindica la imagen que contiene el objeto a reconocer. En la interfaz de la parte inferiorindica la informacin adicional de la imagen que se generar al sealar el objeto, el cualse encierra en un rectngulo de color fucsia (Seleccionar con el mouse, con la barraespaciadora para generar los datos y presionar enter para pasar a la siguiente imagen).Se debe realizar todo este proceso para todas las imgenes positivas, es decir sealar elobjeto en todas las imgenes.
Fig. 9. Objeto seleccionado e informacin generada.
-
7/25/2019 Art Culo Accident Es
12/25
La informacin adicional generada representa las coordenadas de la ubicacin delobjeto y las dimensiones de la parte seleccionada. Por ejemplo en la imagen 1.bmp alseleccionar el objeto, genera las coordenadas x=4 y=4 y las dimensiones 253x169.Se debe realizar este proceso con todas las imgenes positivas, en este caso las 3000imgenes. Cuando se finalice con todas las imgenes en el archivo info.txt se genera lainformacin adicional especificada anteriormente.
Fig. 10. Informacin adicional generada
Ahora procedemos a generar el archivo .vecque contendr las muestras de cada una delas imgenes. En Windows debemos ejecutar lo siguiente:createsamples.exe -info positive/info.txt -vec data/vector.vec -num 3000 -w 24 -h
24Donde: createsamples: es el nombre de la herramienta
info:es la ubicacin del archivo con el ndice las imgenes positivas vec: es el nombre del archivo de salida con la muestra generada
num:cantidad de imgenes positivas
w:ancho de la muestra de salida
h:alto de la muestra de salida.
Para ello abrimos la consola de Windows cmdy le damos la ruta de la carpeta tempubicada en toolsen este caso est en el escritorio:
Fig. 11. Creacin del archivo .vec.
-
7/25/2019 Art Culo Accident Es
13/25
En el directorio \temp\datala carpeta toolsse genera el archivo vector.vec
Fig. 12. Archivo vector.veccreado.
Finalmente procedemos a realizar el entrenamiento. Para este proceso nos valdremosde otra herramienta llamada haartraining.exeubicado en el directorio tools\tempy elarchivo ndice generado con las imgenes negativas y el archivo de muestras generadoen la etapa anterior. Ejecutamos lo siguiente:haartraining.exe -data data/cascade -vec data/vector.vec -bg negative/infofile.txt -
npos 3000 -nneg 6000 -nstages 20 -mem 1024 -mode ALL -w 24 -h 24 -nonsym
Fig. 13. Inicio del entrenamiento generando la primera tabla.Donde:
data data/cascade:nombre y direccin que le damos al clasificador
vec data/vector.vec:nombre y direccin del archivo .vec creado anteriormente
bg negative/infofile.txt: lista de imgenes negativas
npos 3000: nmero de imgenes positivas
nneg 6000: nmero de imgenes negativas
nstages 20:nmero de fases o estados (A ms fases, mejor clasificador).
-
7/25/2019 Art Culo Accident Es
14/25
mem 1004: espacio en memoria asignado para el entrenamiento
mode ALL:mtodo recomendado para el entrenamiento
w 24 -h 24: tamao exacto utilizado en la creacin de las muestras
nonsym: Simetra, si el objeto a buscar es simtrico verticalmente ser un
entrenamiento ms rpido.
Figura 14. Finalizando el entrenamiento generando la tabla 19.
Al finalizar el proceso de entrenamiento, en el directorio cascade2xml\data de lacarpeta tools, se generan 20 carpetas numeradas desde 0 a 19, cada una contiene unafase o estado del proceso de entrenamiento representado en archivos .txt.
Fig. 15. Carpetas que contienen los estados generados.
-
7/25/2019 Art Culo Accident Es
15/25
Ahora generamos el archivo con extensin .xml, el cual ser nuestro clasificador finalpara ello utilizaremos la herramienta convert.batdel directorio tools\cascade2xml, loejecutamos y se crea un archivo con el nombre output.xmlque es el clasificador finalque se utilizar para el reconocimiento de los vehculos.
Fig. 16. Conversin a xml del archivo final (clasificador)
El proceso de entrenamiento dura varios das dependiendo del nmero de imgenesutilizadas, mientras ms imgenes se utilicen mejor ser el reconocimiento y ladeteccin de los objetos. Este proceso dur alrededor de 3 das en un computador corei7 con memoria RAM 8 GB.El entrenamiento, y por consiguiente el clasificador est estructurado en forma de rbol,
para construir un clasificador robusto debera tener por lo menos dos nodos por fase(nsplits), pero a consecuencia de dicha estructura el tiempo de computacin crecerexponencialmente segn avancen las fases. Parmetros muy altos harn bloquearse alPC, nunca debemos usar toda la memoria del ordenador. La cantidad de variables queexisten independientes de estos parmetros (tamao de las imgenes, procesador,tamao del patrn, numero de imgenes positivas y negativas...) en este proceso haceimposible hacerse una idea de lo que va a tardar, por eso es bueno empezar con valoresmodestos e ir incrementndolos, teniendo en cuenta que una buena estimacin para queel clasificador sea robusto es ms o menos una semana de entrenamiento, siendo menosimportante cuales fueron los parmetros que se mejoraron. Podemos empezar porejemplo con 2 splits, 0.998 de minhitrate, y 14 stages (muy orientativo).
No est preparado para procesadores de ms de un ncleo, este problema hace que elentrenamiento vaya ms rpido en una porttil, es ms, mientras se ejecuta se puedecomprobar en el administrador de tareas est usando exactamente un 25%.
-
7/25/2019 Art Culo Accident Es
16/25
4.3.3 Implementacin de los algoritmos
En la implementacin de los algoritmos y la codificacin del Sistema se utiliz el
sistema Operativo Ubuntu 14.04, el Lenguaje de programacin C++, el IDE QT Creator
y SQLite para la Base de Datos.
4.3.4 Codificacin del algoritmo para la deteccin de vehculos, posible
congestionamiento y posible accidente.
Los algoritmos fueron programados en el lenguaje de programacin C++, con la ayudadel framework Qt y la librera OpenCV.
4.4 Pruebas
Luego de haber construido e implementado el clasificador en los algoritmoscorrespondientes, pasamos a comprobar la precisin de los mismos.
4.4.1 Deteccin de vehculos
Para la construccin del clasificador en cascada para la deteccin de vehculos seemplearon 3000 imgenes positivas y 6000 imgenes negativas, obteniendo resultadosmuy efectivos, se obtuvieron los siguientes resultados:
Balance de deteccin con imgenes
TABLA 3. Balance de deteccin con imgenes vehculos.
Condicin del da %Aciertos %F.P. %F.N.
Lluvia 87,6 5,6 6,8
Llovizna con sol 95,4 2,3 2,3
Sol 96,2 1,9 1,9
Sombra 90,7 6,8 2,5
Promedio 92,5 4,1 3,4
-
7/25/2019 Art Culo Accident Es
17/25
TABLA 5. Balance de deteccin con imgenes personas.
Condicin del da %Aciertos %F.P. %F.N.
Sombreado 90 4 6
Normal 95 5 0
Variable 94 4 2
Promedio 93 4,3 2,7
TABLA 6. Balance de deteccin con imgenes personas y vehculos.
Condicin del da %Aciertos %F.P. %F.N.
Sombreado 100 0 0
Sombreado 100 0 0
Promedio 100 0 0
Como se puede observar el porcentaje de deteccin es por sobre el 90%.En la siguiente figura se muestra la deteccin de vehculos usando el clasificador, que
consisti en usar 3000 imgenes positivas y 6000 negativas.
Fig. 17.Deteccin de vehculos utilizando el clasificador.
-
7/25/2019 Art Culo Accident Es
18/25
Balance de deteccin con video
TABLA 7. Balance de deteccin con videos, vehculos.
Lugar %Aciertos %F.P. %F.N.
Terminal Terrestre 94 2 4
Terminal Terrestre 97,4 1,3 1,3
Calle Mercadillo 97,4 1,3 1,3
Promedio 96,3 1,5 2,2
TABLA 8. Balance de deteccin con videos, personas.
Lugar %Aciertos %F.P. %F.N.
Calle Mercadillo 93,3 6,7 10
Alameda Real 100 0 10
Promedio 96,65 3,35 10
TABLA 9. Balance de deteccin con videos personas y vehculos.
Lugar %Aciertos %F.P. %F.N.
Calle Mercadillo 100 0 20
Alameda Real 100 0 20
Promedio 100 0 20
En la mayora de los balances o promedios de deteccin es sobre el 90%.
-
7/25/2019 Art Culo Accident Es
19/25
4.4.2 Registro del evento de posible congestionamiento
Para realizar las pruebas se tomaron como referencia el nmero de vehculos y el tiempo
a considerar para que se produzca el evento. Se hicieron las pruebas en 2 videos, se
tom en cuenta que si existen 10 o ms vehculos, se considere como un posible
congestionamiento. El tiempo que se tom para el temporizador fue de 60 segundos.
Cabe destacar que estos parmetros fueron tomados en base a las entrevistas realizadas.
Los resultados fueron los siguientes:
TABLA 10. Balance de deteccin con videos personas y vehculos.
Condicin del da: Soleado
Lugar: Paso peatonal Terminal Terrestre
Hora: 01:00 P.M.
Nmero %
Veces que existieron
ms de 10 vehculos
2 100
Posible
congestionamiento
detectado
2 100
Falsos positivos 0 0
Falsos negativos 0 0
-
7/25/2019 Art Culo Accident Es
20/25
Diagrama 3. Prueba congestionamiento
Fig. 18. Deteccin de posible congestionamiento.
Congestionamientos
Detectados Falsos positivos Falsos negativos
-
7/25/2019 Art Culo Accident Es
21/25
Fig. 19. Registro del posible congestionamiento.
4.4.2 Registro del evento de posible accidente
Para realizar esta prueba se utiliz 2 videos en los cuales se detecta si dos o ms
vehculos no se han desplazado de su posicin actual y si se detecta presencia de
personas sea 1 o ms. El tiempo que se tom para el temporizador fue de 30 segundos.
Lo que hace el algoritmo es verificar si uno o ms vehculos permanecen estticos en
las mismas coordenadas, tal como se puede observar en la figura anterior, si el vehculo
que posee la coordenada (420, 415) y el vehculo que posee la coordenada (432,390),
no se mueven de la misma coordenada por un lapso de 60 segundos y adems se detecta
la presencia de personas en el rea delimitada, entonces se enva a guardar en la base
de datos una alerta de un posible accidente.
Los resultados fueron los siguientes:
-
7/25/2019 Art Culo Accident Es
22/25
TABLA 11. Balance de deteccin con videos personas y vehculos.
Condicin del da: Sombreado
Lugar: Estacionamiento Alameda Real
Hora: 05:30 P.M.
Nmero %
Accidente presente 2 100
Posible accidente
detectado
2 100
Falsos positivos 0 0
Falsos negativos 0 0
Diagrama 4. Prueba accidente
Accidentes
Detectados Falsos positivos Falsos negativos
-
7/25/2019 Art Culo Accident Es
23/25
Fig. 20.Deteccin de posible accidente.
Fig. 21.Registro de posible accidente
-
7/25/2019 Art Culo Accident Es
24/25
5 Conclusiones.
- Los clasificadores son muy tiles para realizar una deteccin de objetos a
travs de la visin artificial.
- Para que los tiempos de respuesta de los algoritmos sean ptimos se requiere
de una mquina con buenas prestaciones, mnimo que el procesador sea Intel
core i5 con 4GB de memoria RAM.
- Al delimitar el rea de inters se eliminan espacios innecesarios a ser
analizados por los algoritmos, de esta manera se reduce el consumo de la
memoria operativa, lo cual conlleva a una buena optimizacin de los recursos
del sistema.
- El tiempo de respuesta de los algoritmos son muy elevados al permitir analizar
cada frame de un video en tiempo real, lo cual permite enviar alertas de
posibles sucesos de manera inmediata.
- Los algoritmos anteriormente descritos son un punto de partida para poder
implementar un sistema de control total de los semforos dentro de la ciudad,con lo cual se dotara de inteligencia artificial a los mismos, ayudando al
mejoramiento y ordenamiento del trnsito vehicular dentro de la ciudad.
- Se requiere tomar las suficientes muestras o imgenes positivas, para poder
desarrollar un correcto entrenamiento de los clasificadores, a mayor nmero
de imgenes positivas, mayor precisin en la deteccin de los objetos a
reconocer.
- La visin artificial es un campo que an no se ha explotado en nuestro medio,
por lo cual es una gran oportunidad de llevar a cabo proyectos para solventar
las necesidades tecnolgicas de la ciudad, el presente trabajo es un punto de
partida para futuros trabajos de visin artificial en materia de trnsito y
mejoramiento del mismo.
-
7/25/2019 Art Culo Accident Es
25/25
6 Referencias.
[1] etitudela, etitudela, [En lnea]. Available:www.etitudela.com/celula/downloads/visionartificial.pdf. [ltimo acceso: 24 042014].
[2] arteuna, arteuna, [En lnea]. Available:http://www.arteuna.com/talleres/lab/ediciones/libreria/Virilio-Maquinadelavision.pdf. [ltimo acceso: 24 04 2014].
[3] J. B. C. M., Diario Centinela, [En lnea]. Available:http://www.diariocentinela.com.ec/transito-vehicular. [ltimo acceso: 24 04
2014].[4] I. L. Espejo, ilopez, [En lnea]. Available:http://www.ilopez.es/proyectos/fisicayelectronica/SemPLC.pdf. [ltimo acceso:23 04 2014].
[5] E. Comercio, elcomercio, [En lnea]. Available:http://www.elcomercio.ec/pais/Congestion-vehicular-ciudades-Ecuador_0_292770763.html. [ltimo acceso: 24 04 2014].
[6] UBUNTUMX, ubuntumx, [En lnea]. Available:http://www.ubuntumx.org/queesubuntu.php. [ltimo acceso: 18 04 2015].
[7] WIKIPEDIA, wikipedia, [En lnea]. Available:http://es.wikipedia.org/wiki/Ubuntu. [ltimo acceso: 18 04 2015].
[8] WIKIPEDIA, wikipedia, [En lnea]. Available:
http://es.wikipedia.org/wiki/Qt_(biblioteca). [ltimo acceso: 18 04 2015]. [9] WIKIPEDIA, wikipedia, [En lnea]. Available:
http://es.wikipedia.org/wiki/OpenCV. [ltimo acceso: 18 04 2015].
[10] OPENCV, opencv, [En lnea]. Available: http://opencv.org. [ltimo acceso:18 04 2015].
[11] ELVEX, elvex, [En lnea]. Available:http://elvex.ugr.es/idbis/db/docs/lifecycle.pdf. [ltimo acceso: 18 04 2015].
[12] R. d. UTPL, dspace.utpl, [En lnea]. Available:http://dspace.utpl.edu.ec/bitstream/123456789/4021/1/JUAN. [ltimo acceso:24 04 2014].