Departamento 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: