Table Of ContentDepartamento de Sistemas y Automática
TRABAJO FIN DE GRADO
IMPLEMENTACIÓN Y ANÁLISIS DEL
ALGORITMO FAST MARCHING Y SUS
DISTINTAS VERSIONES
Autor: Pablo Muñoz Gely
Tutores: David Álvarez Sánchez
Javier Victorio Gómez
GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y AUTOMÁTICA
Leganés, Septiembre de 2014
ii
iii
Título: Implementación y análisis del algoritmo Fast Marching y sus
distintas versiones.
Autor: Pablo Muñoz Gely.
EL TRIBUNAL
Presidente: Dr. Miguel Ángel Monge Alcázar
Vocal: Dr. Marta Ruiz Llata
Secretario: Dr. Concepción A. Monje Micharet
Realizado el acto de defensa y lectura del Proyecto Fin de Carrera el día 9 de Octubre
de 2014 en Leganés, en la Escuela Politécnica Superior de la Universidad Carlos III de
Madrid, acuerda otorgarle la CALIFICACIÓN de
VOCAL
SECRETARIO PRESIDENTE
iv
v
Agradecimientos
Me gustaría agradecer a todas las personas que han permitido la realización de este
Trabajo Fin de Grado.
Agradecer a David Álvarez, Javier V. Gómez y a la Universidad Carlos III de Madrid la
oportunidad que me han brindado para la realización de este trabajo.
También agradezco a Javier V. Gómez y mi padre Julián Muñoz Jiménez toda la ayuda
recibida en la elaboración de este trabajo.
Gracias a mis padres por permitir, no solo en la realización de este trabajo, sino también
en el Grado en Ingeniería Electrónica Industrial y Automática. Y a mis amigos por
aguantarme durante todo este tiempo.
vi
vii
Resumen
La modelización de la expansión de una onda en el espacio ha sido un campo muy
estudiado, debido a su gran utilidad en muchos ámbitos, como por ejemplo, problemas
de fluido-mecánica modelización de tumores, navegación robótica, análisis sísmico,
videojuegos o procesamiento de imágenes. Al ser estudiado en tantos campos y tan
diversos, es inevitable que existan una gran cantidad de soluciones al mismo problema.
Por lo que se han creado diferentes algoritmos a lo largo de los años.
Este Trabajo Fin de Grado, recopila, analiza y compara varios de estos algoritmos.
Consiguiendo, de esta manera, un documento en el que se comparen cada uno de ellos
en diferentes situaciones, como por ejemplo, diferentes tamaños del espacio donde se
propaga la onda, velocidades de propagación de onda distintas, grandes contrastes de
esa velocidad, diferente número de dimensiones... .
De este modo, se consigue una buena comparativa del desempeño de cada uno de los
algoritmos analizados y de sus características.
Palabras clave: Fast Marching Method, Group Marching Method, Fast Iterative
Method, Untidy queue, Eikonal, Complejidad computacional, Comparación.
viii
ix
Contenido
Índice de figuras ............................................................................................................. xii
Índice de tablas ............................................................................................................... xv
1 INTRODUCCIÓN Y MOTIVACIÓN ...................................................................... 1
1.1 Objetivos ............................................................................................................ 2
1.2 Estado del arte .................................................................................................... 2
2 FAST MARCHING METHOD ................................................................................ 5
2.1 Ecuación de la Eikonal ...................................................................................... 6
2.2 Fases del algoritmo ............................................................................................ 9
2.3 Pseudocódigo ................................................................................................... 11
2.4 Complejidad computacional ............................................................................ 12
2.5 Modificaciones de Fast Marching .................................................................... 14
2.5.1 Con pila de Fibonacci ............................................................................... 15
2.5.2 Con pila binaria ........................................................................................ 18
2.5.3 Fast Marching simplificado ...................................................................... 20
3 MODIFICACIONES O(N) DEL ALGORITMO FAST MARCHING METHOD 21
3.1 The Group Marching Method .......................................................................... 21
3.1.1 Fases del algoritmo ................................................................................... 24
3.1.2 Pseudocódigo ............................................................................................ 26
3.1.3 Comentarios sobre la implementación ..................................................... 27
3.2 Untidy Fast Marching Method ......................................................................... 28
3.2.1 Funcionamiento de la "Untidy Prioriy Queue" ......................................... 28
3.3 Fast Iterative Method ....................................................................................... 31
3.3.1 Fases del algoritmo ................................................................................... 32
3.3.2 Pseudocódigo ............................................................................................ 33
4 EXPERIMENTACIÓN Y RESULTADOS ............................................................ 35
4.1 Configuración de los experimentos ................................................................. 35
4.2 Resultados de los experimentos ....................................................................... 37
Experimento Nº 1: .................................................................................................. 37
Experimento Nº 2: .................................................................................................. 40
Experimento Nº 3: .................................................................................................. 42
Experimento Nº 4: .................................................................................................. 45
Experimento Nº 5: .................................................................................................. 47
Experimento Nº 6: .................................................................................................. 50
Experimento Nº 7: .................................................................................................. 52
Experimento Nº 8: .................................................................................................. 56
x
Description:ALGORITMO FAST MARCHING Y SUS. DISTINTAS VERSIONES. Autor: Pablo Muñoz Gely. Tutores: David Álvarez Sánchez. Javier Victorio Gómez.