Vis enkel innførsel

dc.contributor.advisorOrlandic, Milica
dc.contributor.authorThue, Kristina Andersland
dc.date.accessioned2021-09-15T16:59:00Z
dc.date.available2021-09-15T16:59:00Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:53184405:18307541
dc.identifier.urihttps://hdl.handle.net/11250/2778128
dc.descriptionFull text not available
dc.description.abstractI løpet av de siste få årene har konvolusjonelle nevrale nettverk blitt en populær tilnærmingen for å løse atskillige oppgaver relatert til maskinsyn. Nettverkets tunge beregningsmessige natur har forårsaket en stor interesse for å få fart på beregningene. Ettersom konvolusjonelle nevrale nettverk har en iboende parallell struktur, kan de akselereres betraktelig ved bruk av parallelle prosesseringssystemer. Dette arbeidet har som mål å akselerere kjøretiden av kompakte, konvolutjonelle nevrale nettverk for bildesegmentering ved bruk av den rekonfigurerbare maskinvareplattformen, \textit{field-programmable gate array} (FPGA). Fire kompakte,konvolusjonelle nevrale nettverk ble konstruert og trent ved hjelp av dyp læring Python-bibloteket Keras, for deteksjon av sprekker i form av bildesegmentering. To av de trente modellene ble videre brukt til å undersøke mulighetene for å bruke Vivado High-Level Synthesis-verktøyet til å implementere dedikert maskinvare for å akselerere kjøretiden til modellene. En \textit{streaming}-prosesseringsarkitektur ble implementert for å utnytte parallelliteten i et konvolusjonelt nevralt nettverk, og forskjellige optimaliseringsdirektiver ble anvendt for å utforske forskjellige nivåer å utnytte parallelliteten. En av de implementerte, og vellykkede testede, løsningene oppnådde en akselerering på 28x i forhold til en enkel, én-tråds sekvensiell implementation i C++.
dc.description.abstractOver the last few years, convolutional neural networks has become the state of the art approach for solving various computer vision tasks. The heavy computational nature of the network has caused a big interest in accelerating its performance. As convolutional neural networks have an inherently parallel structure, they can be considerably accelerated utilizing parallel computing systems. This work aims to accelerate the execution of compact convolutional neural networks for image segmentation by the use of the reconfigurable hardware platform, field-programmable gate array (FPGA). Four compact convolutional neural networks was built and trained, using the deep learning Python framework Keras, for crack detection in the form of image segmentation. Two of the trained models was further used to investigate the possibilities of using the Vivado High-Level Synthesis tool to implement dedicated hardware for accelerating the model executions. A streaming processing architecture was implemented to exploit the parallelism of a convolutional neural network, and different optimization directives was applied to explore different levels of exploiting the parallelism. One of the implemented, and successfully tested, solutions achieved a speedup of 28x relative to a straightforward, single-tread software implementation.
dc.languageeng
dc.publisherNTNU
dc.titleAccelerating compact CNN models for image segmentation using Vivado HLS
dc.typeMaster thesis


Tilhørende fil(er)

FilerStørrelseFormatVis

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

Vis enkel innførsel