Coastline Watch - Processamento de imagens com GPU em algoritmos de monitorização da linha da costa - Martins, Ricardo José da Silva (2015)
As alterações às linhas de costa são um problema sério hoje em dia. As correntes e as ondas do mar provocam alterações à linha devido ao processo de erosão e de acreção. A costa oeste e sul de Portugal continental é banhada pelo Oceano Atlântico e a agitação marítima causa danos a habitações e infraestruturas próximas ao mar. Estas agressões à linha de costa trazem impactos económicos, ambientais e sociais do país. O Coastline Watch é um sistema colaborativo que pretende monitorizar as alterações à linha da costa causados por fatores naturais (ondas e correntes), fatores humanos ou por alterações climáticas (subida do nível do mar). Tem uma infraestrutura flexível e colaborativa para processar pedidos, analisar e partilhar resultados com outros membros do projeto. Este sistema faz o processamento de um conjunto de imagens de alta resolução obtidas por satélite (e de UAVs), usando os algoritmos pansharpening, MNDWI+K-Means e Vectorização, e armazena os resultados para uma base de dados espacial OGC (Open Geospatial Consortium). Apesar das vantagens deste sistema, existe o problema do processamento dos dados ser feito por CPU. Imagens de alta resolução demoram muito tempo a processar. Uma solução seria usar GPUs na computação paralela, visto serem uma alternativa para processar imagens e que apresentam uma relação desempenho/preço muito superior ao dos CPUs. Adquirir máquinas com GPUs rápidas e potentes para tirar maior partido da computação paralela não é a solução por causa dos custos. Há soluções cloud que têm instâncias com GPUs para a computação paralela. Esta dissertação começa com a implementação e o desenvolvimento do sistema Coastline Watch, em que o utilizador submete um conjunto de imagens para o sistema na cloud. Depois, é descrita uma implementação paralela dos algoritmos mencionados usando GPUs. No final, é feita uma avaliação comparativa dos resultados do processamento paralelo com os do processamento sequencial.