PROPUESTA DE PROYECTO Desarrollo y prueba de una aplicación para facilitar el desarrollo y evaluación de algoritmos de análisis de asfalto en imágenes de carreteras
Aplicación para Evaluación de Segmentadores de Asfalto (AESA)
Alberto Hernández García Artur Carpintero Pallarés Johan Álvarez del Río
Propuesta de Proyecto V 1.0
AESA
Índice 1. Identificación de propuesta…………………………………………………..3 2. Identificación del proyecto………………………………………………….. .3 3. Identificación del equipo del proyecto y clientes……………………….… .3 4. Resumen del proyecto...……………………………………………………...4 5. Antecedentes y estado actual del tema…………………………………….5 6. Bibliografía más relevante…………………………………………………....6 7. Objetivos concretos de interés de los mismos……………………………..7 8. Declaración de lo que no se contempla como objetivos………………….8 9. Compromiso del cliente …………………………………………………….. .8 10. Requisitos del usuario …………………………………………………….. .9 11. Requisitos del sistema………………………………………………………9 12. Especificación de las tareas a realizar …………………………………..10 13. Plan de trabajo..…………………………………………………………….14 14. Presupuesto del proyecto………………………………………………….15 15. Desglose del presupuesto ………………………………………………...16 16. Beneficios del proyecto para el cliente…………………………………...18 17. Experiencia previa en el tema……………………………………………..18 18. Aceptación de clientes…………………………………………………......18
2
Propuesta de Proyecto V 1.0
AESA
1. Identificación de propuesta Fecha de presentación de la propuesta: Viernes 17 de Noviembre de 2008. Versión 1.0
2. Identificación del proyecto Título del proyecto: Desarrollo y prueba de una aplicación para facilitar el desarrollo y evaluación de algoritmos de análisis de asfalto en imágenes de carreteras. Acrónimo: Aplicación para Evaluación de Segmentadores de Asfalto (AESA) Objetivo principal: Realizar una aplicación para facilitar el trabajo contra una base de imágenes de asfalto en carreteras. Códigos Unesco: 2209.90 Tratamiento Digital. Imágenes. 3311.01 Tecnología de la Automatización.
3. Identificación del equipo del proyecto y clientes Integrantes del grupo de desarrollo: - Alberto Hernández García - Artur Carpintero Pallarés - Johan Álvarez del Río Identificador del equipo: Grupo 3. Director del proyecto: Mario Mata. Supervisor de la asignatura: Ignacio Giráldez.
3
Propuesta de Proyecto V 1.0
AESA
4. Resumen del proyecto Se trata de un proyecto orientado al desarrollo de una aplicación y a la investigación de la eficacia de determinados algoritmos. La aplicación a desarrollar debe permitir contrastar la efectividad de diversos algoritmos de detección de asfalto y otras superficies relacionadas, contrastándolos con una base de imágenes de carretera. Este proyecto se relaciona con otro proyecto de mayor envergadura que está siendo desarrollado por la Universidad Europea de Madrid. Las imágenes que usaremos para testear la aplicación han sido tomadas desde las cámaras instaladas en el vehículo utilizado en este proyecto. La aplicación a desarrollar (utilizando C++ Builder, para facilitar su integración con el proyecto mencionado) debe contar con un editor que permita gestionar archivos de imagen y tratarlas. Debe permitir etiquetar manualmente regiones como asfalto o no, así como etiquetar regiones como zonas de luz, de sombra, charcos, señalización horizontal, etc. También debe ser capaz de convertir las imágenes a distintos espacios de color. Usando diferentes algoritmos de segmentación de imágenes (externos o desarrollados por los integrantes del equipo) compararemos los resultados con los obtenidos por el etiquetado manual para estudiar la efectividad de los mismos. Se mostrarán los resultados de una manera sencilla de reutilizar por el usuario. ENGLISH VERSION:
This project is aimed to the development of an application and also to evaluate the effectiveness of certain algorithms. The application has to contrast the effectiveness of various algorithms for the detection of road asphalt and other related surfaces, by comparing their results with a road images database that provides ground-truth. This application is related to a wider project that is being developed in the Universidad Europea de Madrid. The images used to test the application have been taken with the cameras installed on the vehicle used in the project. The application to develop (using C++ Builder, to make easier the integration with the above mentioned project) has to include an editor capable of image management and handling, manual region labelling (as asphalt or nonasphalt, and also as other kind of surfaces such as bright zones, shadows, puddles, ground traffic signs,…). It should also be able to transform the images into different color spaces.
4
Propuesta de Proyecto V 1.0
AESA
By using different image segmentation algorithms (external or implemented by the development group) the application can compare each algorithm output with the manual labelling in order to study their accuracy. The output summary will be friendly-user displayed.
5. Antecedentes y estado actual del tema El proyecto busca una herramienta que da soporte a lo que en el campo de la visión por computador se conoce como Road segmentation. Este término hace referencia a la segmentación automática de imágenes para discriminar diferentes superficies (pavimento, señalización…). La segmentación en la visión por computador hace referencia a etiquetar una imagen digital en múltiples regiones (conjuntos de pixeles). La meta de la segmentación es simplificar y/o cambiar la representación de una imagen en algo más sencillo de analizar. El resultado es una serie de regiones perfectamente diferenciadas. Diferentes técnicas de segmentación se utilizan desde hace más de 20 años en múltiples campos como la medicina, el reconocimiento facial, procesos industriales, control de tráfico…. Existen numerosos algoritmos y técnicas de propósito general para la segmentación. Ya que no existe una solución general para el problema de la segmentación, estas técnicas se deben combinar con el conocimiento del dominio específico para alcanzar una solución aceptable. Algunos de los diferentes tipos de algoritmos son: Métodos de clustering, métodos basados en histogramas, métodos de detección de bordes, métodos de regiones crecientes, métodos de partición gráfica, métodos multiescalares, métodos watershed… Existen varios estudios y trabajos relacionados con la segmentación de carreteras, aquí hay algunos ejemplos de artículos sobre el tema: An Adaptive Method of Color Road Segmentation Artículo de Computer Science; Vol. 1296 Proceedings of the 7th International Conference on Computer Analysis of Images and Patterns Pages: 661 - 668 Año de publicación: 1997 ISBN:3-540-63460-6 Automated Road Segmentation using a Bayesian Algorithm Autor: Fridtjof Thomas, (PhD Statistics and Researcher, Swedish Natl. Road and Transport Journal of Transportation Engineering, Vol. 131, No. 8, August 2005, pp. 591-598, Road Segmentation by watershed algorithms Autores: S. Beucher, M. Bilodeau, X. Yu Integrantes del taller PROMETHEUS Sophia-Antipolis
5
Propuesta de Proyecto V 1.0
AESA
Nuestra aplicación no pretende ser un estudio sobre la segmentación de carreteras sino un marco o molde donde probar la eficiencia de cada uno de los algoritmos en diferentes tipos de imágenes. Facilita el estudio de distintos algoritmos y el desarrollo de otros nuevos, y permitirá gestionar una base de imágenes etiquetadas como base de comparación.
6. Bibliografía más relevante Relativa a la visión por computador: - GONZALEZ/WOODS, Tratamiento digital de imágenes, Editorial Díaz de
Santos. - MARAVALL DANIEL, Reconocimiento de formas y visión artificial, Editorial
RAMA. - GONZALEZ/WOODS, Digital image processing, Editorial Addison-Wesley. - DE LA ESCALERA, Visión por Computador, Editorial Prentice may. - GONZALEZ JIMÉNEZ J., Visión por Computador, Editorial Paraninfo.
Relativa al entorno y lenguaje de programación: - Stroustrup, Bjarne. (1991). "The C++ Programming Language". Addison-Wesley. ISBN 0-201-53992-6 (ING 103) - Hollingworth, J., Butterfield, D., Swart, B., Allsop, J. et al. (2001). "C++ Builder 5. Developer's Guide". Sams. ISBN 0-672-31972-1 Relativa a la organización del proyecto: - Microsoft - "User's Guide Microsoft Project" - Gateway 2000. - Gómez-Senent, Eliseo - "Las Fases del proyecto y su Metodología" Universidad Politécnica de Valencia.
6
Propuesta de Proyecto V 1.0
AESA
7. Objetivos concretos e interés de los mismos Plan I+D Nacional 2008 – 2011 Consideramos que el plan que más se adecua a las características de nuestro proyecto es el plan nacional de proyectos de investigación aplicada. Objetivo Favorecer las actividades encaminadas a la adquisición de nuevo conocimiento explorando la posible aplicación de nuevas tecnologías en la generación de nuevos productos o procesos o para obtener una mejora sustancial en productos, procesos o servicios existentes, incluyendo la realización de proyectos de carácter precompetitivo, cuyos resultados no son directamente comercializables y con un elevado riesgo técnico.
Destinatarios Instituciones del sector público y privado: organismos públicos de investigación, universidades, hospitales, centros tecnológicos, parques científicos y tecnológicos, organizaciones de apoyo a la transferencia tecnológica, empresas, agrupaciones empresariales innovadoras...
Instrumentación Convocatoria pública.
Duración de las ayudas Máximo 3 años.
Financiación Proyectos de utilidad para la creación o mejora de productos, procesos y servicios, aunque no estén directamente ligados al mercado. Subvención a fondo perdido y anticipo reembolsable.
7
Propuesta de Proyecto V 1.0
AESA
Objetivos: Desarrollo de una aplicación de edición imágenes y evaluación: •
Capaz de etiquetar regiones de la imagen tratada (con distintos tipos de etiquetas).
•
Capaz de convertir las imágenes a otros espacios de color.
•
Obtener diferentes estadísticas sobre las regiones marcadas.
•
Contrastar las etiquetas generadas de manera automática con diferentes algoritmos de segmentación de imágenes con las etiquetas obtenidas de forma manual.
•
Mostrar los resultados de la aplicación de los algoritmos de manera amigable para el usuario.
8. Declaración de lo que no se contempla como objetivos - No se considera un objetivo el crear un algoritmo de detección de asfalto con una alta tasa de acierto, solo poder evaluar cualquier algoritmo dado - No se considera como objetivo la segmentación automática de imágenes.
9. Compromiso del cliente Mantener las especificaciones y objetivos, realizar las aclaraciones necesarias sobre el sistema solicitado. Realizar reuniones con los integrantes del grupo de proyecto para solucionar dudas o planteamientos. Proporcionar el material complementario necesario.
8
Propuesta de Proyecto V 1.0
AESA
10. Requisitos del usuario La aplicación es de manejo sencillo, pero el usuario debe tener ciertas nociones en aplicaciones informáticas. El campo con el que se relaciona la herramienta es bastante técnico, de modo que es imprescindible que el usuario tenga nociones sobre la visión por computador y concretamente sobre el objetivo de la aplicación. El usuario debe tener una colección de imágenes para su posterior tratamiento, que la aplicación gestionará. Destacar que el cliente además de poder interactuar con las imágenes, obtendrá una estadística porcentual de la eficiencia del algoritmo aplicado. Si el usuario quiere aplicar su propio algoritmo de segmentación deberá ser capaz de implantarlo en la aplicación. Alternativamente, puede introducir los resultados del algoritmo directamente mediante las imágenes resultantes.
11. Requisitos del sistema El software esta diseñado para su instalación y uso en arquitecturas X86, sobre un sistema operativo Windows 2000, XP, 2003, Vista. El equipo recomendado para su uso, es un equipo medio. Proponemos uno a modo de guía: - Procesador Pentium 2,8 GHz o compatibles de igual o superior rendimiento. - 1GB RAM mínimo, 2GB recomendados. - 2 GB de espacio libre en HDD (almacenamiento de imágenes). - Un monitor de 1024×768 o superior. - Una tarjeta de video Open GL y Direct x9 compatible con al menos 128 MB.
9
Propuesta de Proyecto V 1.0
AESA
12. Especificación de las tareas a realizar La planificación del proyecto se ha realizado en base a un calendario laboral cuya jornada de trabajo es: Lunes
Martes
Jueves
Viernes
10:00 ‐ 14:00
10:00 ‐ 14:00
10:00 ‐ 14:00
10:00 ‐ 14:00
Tabla 1. Calendario Laboral
Participantes: •
Johan Álvarez del Río Æ A
•
Artur Carpintero Pallarés Æ B
•
Alberto Hernández García Æ C
TAREAS ESPECIFICAS Estudio Descripción
Breve estudio de la manera en la que se va a organizar el proyecto: reparto de tareas, horarios de trabajo, instalación de las herramientas necesarias,…
Software
Windows Vista, C++ Builder 6, librerías MIL, Matrox inspector
Recursos
1 local. 1 PC
Participantes
A, B, C Análisis de librerías MIL
Descripción
Estudio de las librerías MIL, necesarias para trabajar con las imágenes. Aprender su utilización, comprobar su funcionamiento,…
Software
Windows Vista, C++ Builder 6, librerías MIL.
Recursos Usados
1 local. 2 PC
Participantes
A, B, C. Análisis de Editor
Descripción
Estudio del posible interfaz de la aplicación y de las heurísticas a seguir.
10
Propuesta de Proyecto V 1.0
Software
Windows Vista, C++ Builder 6.
Recursos Usados
1 local. 2 PC.
Participantes
A, B, C.
AESA
Análisis de funcionalidad: Segmentación manual Descripción
Estudio del posible implementación para la segmentación de distintos objetos de la imagen.
Software
Windows Vista, C++ Builder 6.
Recursos Usados
1 local. 2 PC.
Participantes
A, B, C. Análisis de funcionalidad: Espacios de color
Descripción
Estudio del posible implementación para cambiar el espacio de color de la imágenes.
Software
Windows Vista, C++ Builder 6, Matrox inspector.
Recursos Usados
1 local. 2 PC.
Participantes
A, B, C. Análisis de algoritmos de segmentación
Descripción
Estudio del posible implementación de algoritmos (ya usados) para la segmentación de imágenes.
Software
Windows Vista, C++ Builder 6.
Recursos
1 local. 2 PC.
Participantes
A, B, C. Implementación Interfaz Editor
Descripción
Implementación del posible interfaz con recuadro de carga de imágenes y sus menús.
Software
Windows Vista, C++ Builder 6.
Recursos Usados
1 local. 1 PC.
Participantes
C. Implementación de funcionalidad básica
Descripción
Implementación de las tareas a realizar por las opciones de menú,
11
Propuesta de Proyecto V 1.0
AESA
cargar imagen, salvar imagen, salir, etc. … Software
Windows Vista, C++ Builder 6, librerías MIL.
Recursos Usados
1 local. 1 PC.
Participantes
A. Implementación de Segmentación Manual
Descripción
Implementación de la segmentación de imágenes y de los distintos objetos de la misma.
Software
Windows Vista, C++ Builder 6, librerías MIL.
Recursos Usados
1 local. 1 PC.
Participantes
B, C. Implementación de Espacios de Color
Descripción
Implementación del algoritmo para poder cambiar el espacio de color de las partes de las imágenes.
Software
Windows Vista, C++ Builder 6, librerías MIL.
Recursos Usados
1 local. 1 PC.
Participantes
B. Implementación de Algoritmos de Segmentación
Descripción
Implementación de los algoritmos de segmentación ya existentes.
Software
Windows Vista, C++ Builder 6, librerías MIL.
Recursos Usados
1 local. 3 PC.
Participantes
A, B, C. Tabla 2. Descomposición de tareas Específicas
TAREAS REPETITIVAS Especificación de Requisitos Descripción
Toma de requisitos funcionales y no funcionales mediante reunión con el cliente.
Software
Windows Vista, Paquete Office.
12
Propuesta de Proyecto V 1.0
Recursos Usados
1 local, 1 PC.
Participantes
A, B, C y Cliente.
AESA
Casos de Uso Descripción
Definición de los casos de uso que contempla la aplicación, para la primera iteración será con rasgos generales, mientras que con el resto será más especifica. Realización de diagramas.
Software
Windows Vista, Microsoft Visio.
Recursos Usados
1 local, 1 PC.
Participantes
C (Todos los casos de uso) Diagramas de clase
Descripción
Elaborar distintos diagramas de clases con alto nivel de abstracción. Elección de candidatos.
Software
Windows Vista, Microsoft Visio.
Recursos Usados
1 local, 1 PC.
Participantes
B (Todos los diagramas de clase) Diagramas de secuencia
Descripción
Elaborar distintos diagramas de secuencia para describir con detalle el flujo de cada caso de uso.
Software
Windows Vista, Microsoft Visio.
Recursos Usados
1 local, 1 PC.
Participantes
A (Todos los diagramas de secuencia) Documentación
Descripción
Elaboración de una documentación con todo lo realizado hasta la fecha, analizando.
Software
Windows Vista, Paquete Office.
Recursos Usados
1 local, 1 PC.
Participantes
A, B, C Tabla 3. Descomposición de tareas Repetitivas
13
Propuesta de Proyecto V 1.0
AESA
13. Plan de trabajo
Tabla 4. Plan de trabajo
14
Propuesta de Proyecto V 1.0
AESA
14. Presupuesto del proyecto En esta tabla mostramos las tasas de los recursos a utilizar:
Nombre del Recurso
Capacidad
Tasa Estándar
Personal Analista
300%
85€ / h
Analista Programador
300%
70€ / h
Programador Medio
300%
50€ / h
Recursos Windows Vista
Material
234€
Office 2007
Material
159€
Pc
Material
600€
Builder C++
Material
150€
Local
200€ / mes
Alquiler Local
Bibliografía Borland C++ Builder 3
Material
37€
GONZALEZ/WOODS, Tratamiento digital de imágenes, Editorial Díaz de Santos.
Material
60€
MARAVALL DANIEL, Reconocimiento de formas y visión artificial, Editorial RAMA.
Material
29,75€
DE LA ESCALERA, Visión por Computador, Editorial Prentice may.
Material
22€
Tabla 5. Tasas
15
Propuesta de Proyecto V 1.0
AESA
En esta tabla mostramos la cantidad de horas que vamos a utilizar cada recurso. Nombre del Recurso
Trabajo
Analista
288h
‐Estudio
56h
‐Análisis I1
72h
‐Análisis I2
44h
‐Análisis I3
44h
‐Análisis I4
44h
‐Análisis I5
28h
Analista Programador
144h
‐Diseño Iteración 1
32h
‐Diseño Iteración 2
28h
‐Diseño Iteración 3
28h
‐Diseño Iteración 4
28h
‐Diseño Iteración 5
28h
Programador Medio
268h
‐Implementación Iteración 2
72h
‐Implementación Iteración 3
84h
‐Implementación Iteración 4
56h
‐Implementación Iteración 5
56h
Windows Vista
3
Office 2007
3
PC
3
Builder C++
3
Alquiler Local
1 Tabla 6. Recursos
16
Propuesta de Proyecto V 1.0
AESA
Se estima una duración para el proyecto de 30 semanas con 700 horas de trabajo y el coste total del mismo es, 52937,75 €.
15. Desglose del presupuesto Vamos a mostrar en formato tabla el presupuesto calculado mediante los datos de las dos tablas anteriores, como hemos contado en el punto 12, nuestro plan de trabajo esta en base al calendario laboral establecido en un trabajo semanal de 4 días a la semana con 4 horas de trabajo diarias. Recurso
Cantidad
Tasa
Resultado
Analista
288 horas
85 € / h
24480 €
Analista Programador
144 horas
70 € / h
10080 €
Programador Medio
268 horas
50 € / h
13400 €
Windows Vista
3 licencias
234 €
702 €
Office 2007
3 licencias
159 €
477 €
PC
3 unidades
600 €
1800 €
Builder C++
3 licencias
150 €
450 €
“Borland C++ Builder 1 Libro 3”
150 €
37 €
GONZALEZ/WOODS,
1 Libro
150 €
60 €
DANIEL, 1 Libro “Reconocimiento de formas y visión artificial”, Editorial
150 €
29,75 €
1 Libro
150 €
22 €
7 meses
200 € / mes
1400 €
“Tratamiento digital de imágenes”, Editorial Díaz de Santos. MARAVALL
RAMA. DE LA ESCALERA, “Visión
por
Computador”,
Editorial Prentice may.
Alquiler Local
TOTAL 52937,75 € Tabla 7. Desglose del presupuesto
17
Propuesta de Proyecto V 1.0
AESA
16. Beneficios del proyecto para el cliente Nuestra aplicación pretende ser de utilidad directa para el cliente. Mediante su uso podrá medir la efectividad de los algoritmos que desarrolle u obtenga de fuentes externas. Está diseñada para un usuario con ciertos conocimientos de la materia, pero se trata de una herramienta de fácil uso. La herramienta agilizará de forma importante el trabajo del cliente ya que le ahorra tiempo al necesitar una sola aplicación para realizar la segmentación manual de sus imágenes y probar sus algoritmos. La aplicación a su vez está abierta a su uso para cualquier otro campo en el que se use la segmentación, no está limitada al análisis de imágenes de carretera. La aplicación, en principio, no está pensada para su comercialización, sino como una herramienta útil para cualquier estudiante o profesional que trabaje en la visión artificial.
17. Experiencia previa en el tema Los integrantes del equipo hemos programado anteriormente en el lenguaje C++ (aunque sin utilizar el entorno C++ Builder). También disponemos de ciertas nociones de tratamiento de imágenes y algoritmos de segmentación por lo aprendido en la asignatura Visión por Computador.
18. Aceptación de clientes Fecha: 24 de octubre de 2008 Cliente: Mario Mata Ortega Acepto plenamente la realización del proyecto en las condiciones expresadas en esta propuesta. El cliente:
18