“Diseño e implementación de una algoritmo para el reconocimiento de imágenes de carreteras con la herramienta OpenCV

El trabajo desarrollado durante el Proyecto Fin de Carrera, titulado “Diseño e implementación de una algoritmo para el reconocimiento de imágenes de carreteras con la herramienta OpenCV”, ha consistido en la elaboración de algoritmos que permita extraer, de forma automática, características de las carreteras a través de vídeos mediante la herramienta de análisis y tratamiento de imágenes OpenCV. Principalmente, el proyecto se ha centrado en la extracción de dos parámetros que integran la calzada como es el número de carriles y el ancho de los arcenes.
Para la extracción del número de carriles se contemplaron algunas técnicas como la determinación del punto de fuga con el fin de que sólo quedasen las líneas viales de la calzada. Finalmente, tras haber probado estas posibilidades, el algoritmo final implantado para este objetivo se ha centrado en la variación de intensidades al convertir la imagen a escala de grises con el fin de buscar las transiciones negro-blanco-negro como se puede ver a continuación:

Curva intensidades antes y después del filtrado

La curva resultante (color amarillo) es el resultado de la conversión RGB a escala de grises a través de una curva de muestreo (color azul). Analizando visualmente la curva amarilla, se puede apreciar que, cuando la curva de muestreo corta con las líneas delimitadoras de carril, existen variaciones bruscas en la curva (color verde), las cuales se corresponden con la posición en la que están situadas las líneas blancas (color amarillo). Para estabilizar esta curva, y con el fin de aislar estas variaciones de forma sencilla, se aplicó un filtro paso alto (color morado) y, posteriormente, un umbral que nos permitiese determinar la posición de las posibles líneas viales.

Este análisis se realizaba cada 30 segundos, sumando un 1 en aquellas posiciones horizontales en las que se ha determinado la existencia de un blanco, con el fin de generar un histograma al cabo del periodo analizado, como el de la siguiente imagen:

unnamed

Imponiendo un umbral a dicho histograma, se procedía a extraer las posiciones de las líneas viales continuas (líneas verticales amarillas) y las posiciones de las líneas delimitadoras de los carriles existentes entre ambos límites (líneas verticales moradas), determinando finalmente el número de carriles.

Por otra parte, el algoritmo realizado para la extracción del ancho de los de los arcenes se basó en la extracción de una vista superior parecida al de los mecanismos de inversión de perspectiva IPM (bird’s eye).

unnamed (1)

A diferencia de este procedimiento, no se tenían datos relativos a la posición de la cámara, pero era interesante obtener una vista que se pareciese a esta vista, ya que se podría extraer con más facilidad los límites de los arcenes. Para ello, a través de la misma línea de muestreo usada para el objetivo anterior, se procedía a acumular, en otra imagen, lo que dicha curva iba detectando. El resultado se ve en la siguiente imagen:

Vista superior generada por curva de muestreo

La vista generada resulta parecida a las generadas por los mecanismos IPM, con la salvedad de que no se deshace la perspectiva. Con este tipo de imágenes y usando una segmentación basada en leves variaciones de intensidad a partir de la posición de la línea continua, tras la conversión de las imágenes a escala de grises, se extrae una aproximación, sabiendo la medida del carril, de la medida del ancho de los arcenes, tal y como se ve a continuación:

Extracción de límites de los arcenes

TFG: Desarrollo de interfaces de comunicación para un nodo pasarela de redes de sensores cognitivas

En este post voy a hablar de mi trabajo de fin de grado que se titula desarrollo de interfaces de comunicación para un nodo pasarela de redes de sensores cognitivas. Este trabajo está enmarcado dentro del banco de pruebas para redes de sensores cognitivas, que se está desarrollando dentro del grupo de investigación B-105. Dentro de este grupo de investigación también se ha realizado la plataforma cNGD, que será la base desde la que parte este trabajo. El objetivo es desarrollar un nodo pasarela que facilite la interacción con el banco de pruebas. Esto quiere decir, que tanto programar los nodos de la red como obtener información de ellos se pueda realizar conectando un ordenador al nodo pasarela.

Esquema

Se eligió utilizar wifi y Ethernet como interfaces de comunicación para el nodo pasarela. El siguiente paso fue realizar las placas de expansión. Para ello se utilizó el programa Altium Designer tanto para los esquemáticos como para los trazados de las placas. Posteriormente se montaron y soldaron los componentes de las placas de expansión wifi.

Nodos

A nivel software se integró una torre de protocolos TCP/IP y se desarrolló una aplicación que permitiese realizar las funciones de pasarela. La torre de protocolos TCP/IP la proporciona la empresa Microchip y debido a su complejidad, el proceso de integración ha sido largo. Con la aplicación de funciones pasarela, se consigue enviar instrucciones a los nodos de la red CWSN y recibir datos de los mismos.

Como línea futura para este trabajo, queda terminar la soldadura de la placa ethernet y corregir los fallos de inicialización que han aparecido durante las pruebas. Esto se conseguirá en un futuro no muy lejano porque failure is not an option.

Prelecturas de Elena Romero y Javier Blesa

El pasado 23 de julio se llevaron a cabo las prelecturas de tesis de Elena Romero y la mía. La tesis de Elena titulada Cognitive strategies for reducing energy consumption in Wireless Sensor Networks se centra en el ahorro energético de las WSNs utilizando características cognitivas como el sensado del espectro o la adaptación al medio. Mi tesis titulada Cognitive based strategies for security in Wireless Sensor Networks busca mejorar la seguridad de las WSNs por medio de estrategias cognitivas. Las dos tesis están englobadas en la línea de investigación de radio cognitiva del grupo B105-Electronic System Lab.
La prelectura de tesis es un requisito del departamento de ingeniería electrónica de cara a asegurar una calidad de las tesis leídas. En nuestro caso el tribunal de la prelectura estuvo formado por Octavio Nieto-Taladriz, Lourdes Peñalver y Gonzalo Vázquez. Los tres han trabajado durante bastantes años en el área de WSNs y radio cognitiva. Sus aportes fueron interesantes de cara a mejorar las dos tesis y poder leer en breve. Sin duda es un gran paso para la consolidación de la línea de investigación y para el grupo.

Una visión diferente de nuestro trabajo en proyectos y Git

El otro día reorganizando nuestros repositorio de trabajo di con una herramienta que hace años que descubrí pero que nunca había usado. Se trata de Gource, una herramienta de visualización de repositorios. Gource representa en forma de árbol animado las interacciones que los usuarios realizan sobre un repositorio. De esta manera podemos ver cómo evoluciona el trabajo, cuando fueron esos picos de actividad o qué partes del repositorio son las más actualizadas. Aquí os dejo algunos vídeos para que disfrutéis de esta hipnotizante herramienta:

Proyecto publicamos

Proyecto Carreteras

Proyecto Seth

Tesis jblesa

Segunda entrega del prototipo de Carreteras

El proyecto de carreteras está llegando a su fin y la segunda entrega del prototipo ya está siendo probada en vehículos reales. Las pruebas se han realizado tanto por parte del B105 como de forma conjunta con la empresa Valoriza. En esta nueva versión tenemos grandes diferencias en el aspecto visual de la aplicación Android. Esto ha resultado en un mayor conocimiento de este sistema operativo. También ha habido modificaciones en el prototipo de caja 3D para los sensores.

Otro de los cambios ha sido el software del PC, que a parte de tener una mayor funcionalidad se ha portado a Windows. Esta migración permite tener el sistema tanto en un sistema Linux como Windows. Por otro lado, se ha conseguido nuevo conocimiento en programación de varios lenguajes como batch (equivalente a bash en Windows), ruby o awk.

El prototipo continua su evolución y se espera tener un sistema completamente funcional en las próximas semanas.