Vis enkel innførsel

dc.contributor.advisorOrlandić, Milica
dc.contributor.authorTagestad, Sondre
dc.date.accessioned2021-10-28T17:22:38Z
dc.date.available2021-10-28T17:22:38Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:77039769:21980494
dc.identifier.urihttps://hdl.handle.net/11250/2826391
dc.descriptionFull text not available
dc.description.abstractHyperspectral SmallSat for Ocean Observation (HYPSO) er en satellit under utvikling på Norges teknisk-naturvitenskapelige universitet i Trondheim, Norge. Etter oppskytning vil oppgaven til satelliten være å overvåke havområder utefor kysten i Norge for å oppdage algeblomstringer og andre fenomener som potensielt kan være skadelig for miljøet. Dette blir muliggjort av det hyperspektrale kameraet inkludert i satellitens nyttelast, som er i stand til å ta bilder som inneholder store mengder data. Som en del av av bildeprosesseringen ombord på satelliten, vil denne oppgaven utforske løsninger for å utføre segmentering av hyperspektrale bilder. Dette innebærer å klassifisere innholdet i hver enkelt piksel i bildet, noe som kan bidra med å tilføye kontekstuell informasjon for de hyperspektrale bildene. Konvolusjonelle nevrale nettverk (CNN) har vist seg å være overlegne i mange datasyn-applikasjoner det siste tiåret. I tillegg så innehar disse nettverkene en høyt parallel struktur, noe som gjør dem veldig aktuelle for maskinvareakselerering. HYPSO er utstyrt med en Zynq UltraScale+ MPSoC EV enhet, som inneholder både en ARM-basert CPU i tillegg til FPGA-funksjonalitet. Derfor tar denne oppgaven for seg implementasjonen av en kompakt CNN-modell ved bruk av FPGA-basert maskinvareakselerering. Dette blir utført i to steg - først ved å implementere og trene nettverket i maskinlæringsbiblioteket Keras, og så ved å implementere det samme nettverket i maskinvare-rammeverket Vitis HLS med bruk av nettverk-parametere eksportert fra Keras. Fremgangsmåten for å trene et høytytende nevralt network på hyperspektrale bilder krever flere prosesseringssteg, inkludert det å splitte opp store bilder i mindre deler, og det å utnytte diverse teknikker for å øke størrelsen på datasettet. Dette er blitt brukt på to forskjellige hyperspektrale datasett, og det optimaliserte nettverket oppnår ytelse nesten på nivå med de beste løsningene som er tilgjengelig. Her er det også verdt å nevne at de kompakte CNN-modellene bruker flere størrelsesordener mindre antall parametere enn de sammenlignede løsningene, noe som viser hvor effektivt denne modellen er. Maskinvareimplementasjonen av den kompakte CNN modellen er basert på en \textit{streaming}-arkitektur, og har et svært parallellisert design utviklet ved bruk av forskjellige optimaliserings-teknikker som er tilgjengelig i Vitis HLS-rammeverket. Validering av maskinvaren er utført gjennom Vitis Unified Software Platform, i en applikasjon som benytter seg av både programvare og maskinvare. Dette gjør det mulig å kjøre implementasjonen på Zynq UltraScale+ MPSoC ZCU104-utviklingsbrettet. Resultatene herifra viser at kjøretiden for maskinvare-designet er sammenlignbar med en moderne GPU plassert i en stasjonær datamaskin, noe som er imponerende gitt at FPGA-enheten er langt mer strømgjerrig. Det kan dermed konkluderes med at det maskinvareakselererte nevrale nettverket er en velfungerende løsning for segmentering av hyperspektrale bilder ombord på HYPSO-satelliten.
dc.description.abstractHyperspectral SmallSat for Ocean Observation (HYPSO) is a satellite being developed at the Norwegian University of Science and Technology in Trondheim, Norway. Once launched, the satellite will be tasked with observing ocean regions outside the coast of Norway in order to detect algal blooms and other potentially harmful environmental phenomena. This is made possible by the hyperspectral imaging device included in the satellite payload, which is capable of capturing frames with vast amounts of data. As part of the on-board processing pipeline of the satellite, this thesis explores a solution for semantic segmentation of the captured hyperspectral frames. Semantic segmentation involves classifying the content of each pixel in an image, a feature that can provide contextual information for the hyperspectral images. Convolutional neural networks (CNNs) have proven superior in many computer vision applications over the course of the last decade. Moreover, these networks have a highly parallel structure, making them suitable for hardware acceleration. HYPSO is equipped with a Zynq UltraScale+ MPSoC EV device, which incorporates both an ARM-based CPU and FPGA functionality. Therefore, this thesis covers the implementation of a compact CNN model using FPGA-based hardware acceleration. This is done in a two step process - first implementing and training the network in the Keras machine learning framework, and then implementing the same network within the Vitis HLS hardware framework using exported network parameters from Keras. The process of training a high-performing neural network on hyperspectral images requires multiple processing steps, including splitting scenes into smaller patches and applying data augmentation techniques. This is applied to two different hyperspectral scenes, and results show that the optimized neural network achieves close to state-of-the-art performance for both of them. It is also worth mentioning that the compact CNN model uses several orders of magnitude fewer parameters than the compared implementations, which demonstrates the efficiency of this model. The hardware implementation of the compact CNN model is based on a streaming architecture, and features a highly parallel design developed through the use of different optimization directives available in the Vitis HLS framework. Furthermore, the use of fixed point arithmetic results in a resource efficient implementation. Validation of the hardware implementation is performed using a hardware-software codesign application developed within the Vitis Unified Software Platform. This allowed for deployment onto Zynq UltraScale+ MPSoC ZCU104 development board. Results showed that the execution time of the hardware design was comparable to that of a modern desktop GPU, which is impressive given the far lower power budget available to the FPGA. Therefore, it can be concluded that the hardware accelerated compact neural network is a viable solution for semantic segmentation of hyperspectral images onboard the HYPSO satellite.
dc.languageeng
dc.publisherNTNU
dc.titleHardware acceleration of a compact CNN model for semantic segmentation of hyperspectral satellite images
dc.typeMaster thesis


Tilhørende fil(er)

FilerStørrelseFormatVis

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel