Detección de Líneas de Carril
Detección de Líneas de Carril
Detección de Líneas de Carril
Abstract The Advanced Driver Assistant System (ADAS) progressively are gaining interest in the Automotive Industry as
active safety systems to prevent traffic accidents or minimize their impact. In this project we have developed an adaptation of a
Lane Departure Warning for highways to use it in roads within cities, an environment much more changing and dynamic than a
highway. Furthermore, we include a 3D reconstruction based on the images captured with a stereo camera to have a metric
reference that allows to an autonomous vehicle take decisions based on this information.
Index Terms LDW, ADAS, Computer Vision, Autonomous Vehicle.
1 INTRODUCCIN
Los accidentes de trfico representan la octava causa
de muerte en el mundo. Segn el estudio anual de la OMS
(Organizacin Mundial de la Salud), entre los jvenes con
edades de 15 a 29 aos, los accidentes de trfico son la
primera causa de mortalidad en el mundo y la segunda
causa de enfermedad y discapacidad.
Una de las causas ms comunes de accidentes son las
invasiones de carril. En las autopistas, debido a la monotona de la conduccin, se produce falta de atencin e
incluso somnolencia. Estos factores pueden provocar que
el vehculo se salga de su carril y colisione con otro
vehculo o con la infraestructura (Biondas, pivotes, etc).
En las ciudades, debido a las distracciones del conductor, como el manejo del GPS, telfonos mviles, etc., el
vehculo tambin se puede salir de su carril colisionando
con otros vehculos o incluso atropellando algn peatn.
Los ADAS (Sistemas Avanzados de Asistencia a la
Conduccin) tratan de reducir accidentes de trfico. Existen diferentes tipos de ADAS basados en la deteccin de
peatones, seales, lneas de carril o sistemas de visin
nocturna mejorada.
En este trabajo abordaremos el uso del LDW, adaptando un modelo existente pensado para autopistas a un
entorno de ciudad, ver Figura 1. Adems, para captar las
imgenes a procesar utilizaremos cmaras estreo.
Este proyecto forma parte de uno de los mdulos principales del coche autnomo en el que est trabajando el
grupo ADAS del CVC. Este proyecto se podr utilizar en
futuras aplicaciones como la deteccin de peatones dentro
del carril, o calcular la distancia con el coche que tenemos
delante y ajustar la distancia de seguridad y adaptar la
velocidad a ste.
Actualmente, ya existen muchos proyectos de deteccin de carril, pero se basan en tecnologas antiguas y
utilizan una nica cmara para tomar las imgenes a
procesar.
En este proyecto trabajaremos con un software que fue
desarrollado por el grupo ADAS del Centro de Visin por
Computador (CVC) de la Universidad Autnoma de
Barcelona (UAB) [1] implementado sobre el vehculo de la
figura 2. Este software, pese a su robustez, est basado en
libreras antiguas y de pago, como las MIL (Matrox Image
Library) para el tratado de imgenes o las MFC (Microsoft
Founding Class) para la interfaz de usuario que aparte de
estar en desuso actualmente, solo funcionan para Windows.
Para solventar los problemas relacionados al tratado de
imagen, en lugar de una nueva versin de las MIL, utilizaremos las libreras OpenCV, que es independiente de la
plataforma y est adaptada para los nuevos procesadores.
stas son libreras open source mucho ms verstiles que
las MIL que nos permitirn desde el tratado de la imagen,
hasta el procesamiento de la misma. Adems, nos facilitar mucho el trabajo en la fase futura de reconstruccin 3D.
Por ltimo, queremos mostrar los resultados en una visualizacin 3D de la escena, que nos permitir extraer
informacin til de sta en mtricas vlidas para un
vehculo autnomo.
2 OBJETIVOS
El objetivo principal de este proyecto es la deteccin de
lneas de carril de imgenes obtenidas por un par estreo
de cmaras adaptando un software de reconocimiento de
lneas de carril en autopista para trabajar dentro de ciudad y visualizar los resultados en una reconstruccin 3D.
Para alcanzar este objetivo, hemos planteado los siguientes subobjetivos:
29/09/201419/10/201408/11/201428/11/201418/12/201407/01/201527/01/2015
Reunin Previa
Aprendizaje y Documentacin
Fecha de Inicio
SW Refactoring
Duracion
Adaptacin del SW
Reconstruccin Mtrica y Visualizacin 3D
Recopilacin de Resultados y
29/09/201419/10/201408/11/201428/11/201418/12/201407/01/201527/01/2015
Reunin Previa
Aprendizaje y Documentacin
Fecha de Inicio
SW Refactoring
Duracion
Adaptacin del SW
Reconstruccin Mtrica y Visualizacin 3D
Recopilacin de Resultados y
Figura 3: En la imagen superior, Diagrama de Gantt de la Planificacin Inicial del Proyecto. En la imagen inferior, diagrama de la planificacin final del proyecto.
4 METODOLOGIA
Para este proyecto, la metodologa de seguimiento ha
sido basada en la metodologa SCRUM.
En una primera reunin preliminar, nos hemos marcado pequeos objetivos a modos de sprint, y hemos fijado
las reuniones al final de cada uno de ellos para evaluar los
avances obtenidos y determinar si debamos mantener el
siguiente objetivo o rectificarlo en funcin de la direccin
que ha ido tomando el proyecto.
Aparte de las reuniones al final de cada sprint, la comunicacin ha sido constante y bidireccional va email o
pequeas reuniones para resolver alguna duda concreta
sobre el desarrollo del proyecto, tanto con mi tutor como
con mi supervisor.
En una primera fase, dentro del primer objetivo de Refactoring del SW, realizamos una primera fase de aprendizaje y documentacin sobre el proyecto, este sprint
dur alrededor de un mes. Pese a ser una fase de documentacin, tuvo una duracin relativamente alta puesto
que se trataba de un cdigo totalmente desconocido, utilizando unas libreras obsoletas tambin desconocidas para
m. Adems de lo existente en el cdigo, nos documentamos sobre la nueva librera OpenCV que bamos a introducir en la aplicacin.
5 SW REFACTORING
Esta fase corresponde al perodo de adaptacin del cdigo a una nueva plataforma funcional basada en
OpenCV [6]. El cdigo suministrado por el grupo ADAS
del CVC se trata de un detector de lneas de carril basado
en una nica cmara y con libreras en desuso y de pago
como ya hemos comentado anteriormente.
Previamente, tal y como hemos visto en el apartado anterior, hubo una fase inicial de aprendizaje. En esta fase
hubo un periodo de documentacin, basndonos en los
artculos ya comentados anteriormente [1] [2] [5] con tal
de entender el procesado de la imagen que realizaba el
cdigo [2], los manuales de ayuda de las libreras MIL, y
la documentacin de la librera OpenCV con la que bamos a realizar la nueva implementacin.
Las libreras MIL (Matrox Image Library) [7], son unas
herramientas software ideadas para facilitar el trabajo de
visin por computador, anlisis de imgenes y aplicaciones mdicas de imaging software. La versin de las MIL
que nos encontramos fue la 7.0, una versin lanzada en
2001. Dicha versin actualmente no funciona en versiones
Numero de
Clases
25
Refactorizadas
12
2
16
9
2
4
55
26
14
La primera decisin que tomamos fue eliminar la interfaz de usuario existente por completo, salvando exclusivamente el mdulo de guardado de las imgenes. Esto se
debe a que estaba implementada con MFC (Microsoft
6 IMAGE PROCESSING
Una vez finalizado el refactoring de la aplicacin, y te- apndice A podemos ver con ms detalle el procesado de la
nindola completamente funcional, procedimos a imple- imagen.
mentar la deteccin de lneas de carril en un entorno dentro de ciudad.
predefinidas de las lneas de carril. Por ejemplo el grado
de inclinacin de las lneas, jams sern totalmente horiLas imgenes a procesar provienen de la rectificacin zontales o verticales, por lo tanto, mediante este anlisis
de las imgenes obtenidas por el par estreo del vehculo.
descartaramos los rboles o las lneas horizontales de las
seales pintadas en el asfalto.
El procesado de las imgenes para la deteccin de lneas de carril consta de cuatro fases principales: DetecEn la siguiente fase, se aplica una homografa sobre la
cin de las Crestas, filtrado de las Crestas mediante Blob imagen procesada con la finalidad de tener una vista
Anlisis, Homografa y Transformada de Hough.
cenital del plano de la carretera en la que las lneas se
muestran paralelas. Adems, este procesado limita el rea
La primera fase, la deteccin de crestas, se basa en el de la imagen de bsqueda de las lneas de carril al plano
anlisis pxel a pxel de la imagen, teniendo en cuenta los de la carretera, obviando el resto del entorno, puesto que
pxeles vecinos. Este proceso realiza una reconstruccin no nos interesa para nuestra finalidad, aumentando as la
tridimensional en base a la intensidad de la claridad de velocidad de procesado y eliminando posibles outliers.
cada pxel y sus vecinos, tal y como podemos ver en la
Figura 5.
Para poder realizar la homografa en base al punto de
fuga, se genera un trapezoide que se utiliza para estimar
La segunda fase del procesado corresponde a la suavi- el plano de la carretera y la lnea del horizonte desde la
zacin de las Crestas mediante Blob Anlisis. Este anlisis cual se va a proceder a analizar la deteccin de las lneas.
se dedica a descartar outliers en base a unas caractersticas
punto de fuga en base a la configuracin de nuestras cmaras. Fijamos la fila inicial, fijada en el horizonte desde
donde empezaremos a procesar la imagen, en base al
punto de fuga. Este valor siempre estar situado por debajo del punto de fuga y se debe estimar un valor que
coincida con el horizonte. Por ltimo, fijamos el valor del
margen inferior del trapezoide a un valor ms amplio que
el de la imagen, para poder controlar las salidas de las
8 RESULTADOS OBTENIDOS
9 CONCLUSIN
En este proyecto se ha realizado la actualizacin de un
framework detector de lneas de carril del estado del arte
en una plataforma moderna y abierta, adaptando el mismo a distintos entornos urbanos.
Adems, se ha incorporado a este framework un sistema
de reconstruccin 3D con una estimacin del plano dominante. Esto posibilitar la derivacin de informacin mtrica til para extender y robustificar otros procesos
ADAS tales como la deteccin de peatones, mantener la
distancia de seguridad en la carretera, etc.
Nuestro anlisis cualitativo sobre secuencias urbanas
capturadas desde nuestro vehculo inteligente prueba la
precisin y la robustez de nuestro framework en distintas
condiciones.
Esta motivacin nos ha llevado a seguir trabajando en
el proyecto en prcticas externas con el grupo ADAS del
CVC. Se robustificar la deteccin de lneas de carril mediante la inclusin de la informacin 3D. Para ello, se
planea usar la estimacin del plano para eliminar los
outliers verticales simplificando as considerablemente el
proceso.
Los pasos dados en este proyecto nos acercan a la futura realidad de los vehculos autnomos confiables.
AGRADECIMIENTOS
BIBLIOGRAFA
[1] Lpez, A., Serrat, J., Saludes, J., Caero C., Lumbreras F., Graf T. Ridgeness for Detecting Lane Markings
[2] Lpez, A., Serrat, J., Saludes, J., Caero C., Lumbreras F. Robus Lane Lines detection and quantitative assessment.
[3] Richard O. Duda, Peter E. Hart. Use of the Hough Transformation To Detect Lines and Curves in Picture.
10
APENDICE
A1. APNDICE A
En este apartado queremos mostrar en detalle el proceso
paso a paso del procesado de una imagen. La imagen que
se muestra a continuacin es la imagen desde la cual se
inicia el procesado de la imagen. Esta imagen se obtiene
de rectificar la imagen en base a las dos imgenes capturadas por el par estreo de cmaras.
Y se filtra mediante Blob anlisis, eliminando gran parte del ruido de lneas verticales:
A travs de la homografa, se realiza una transformada
de Hough tal y como se muestra en la imagen a continuacin. La transformada de Hough se procesa con el buscador de mximos. Este buscador de mximos encuentra la
lnea con el valor mximo detectado dentro de cada ROI
del espacio de la transformada de Hough. En las dos imgenes mostradas a continuacin se puede observar la
transformada de Hough generada a partir de la homografa y los mximos detectados dentro de cada ROI dentro
de la transformada de Hough.
A partir la imagen filtrada por blob anlisis y con la informacin que tenemos sobre el punto fuga, limitamos la
regin a transformar para realizar la homografa. En las
siguientes imgenes se muestra la lgica seguida para
realizar la homografa paso a paso.
Una vez detectadas las lneas, se realiza una transformacin inversa al flujo del procesado de la imagen, transfiriendo las coordenadas de las lneas detectadas capa a
capa hasta encontrar las coordenadas en la imagen original sobre la cual mostraremos los resultados:
11