title: U-NET Neural network analysis and implementation using reconfigurable logic
title: Ανάλυση και υλοποίηση με αναδιατασσόμενη λογική νευρωνικών δικτύων U-NET
Creators: name: Σκουφης Χαραλαμπος
Publisher: name: Technical University of Crete
Year: 2021

description: In recent years, neural networks are increasingly the primary tool for image analysis, providing exceptional accuracy vs. human perception. In the field of biomedicine, in particular, the misdiagnosis of magnetic resonance imaging or computed tomography (MRI / CT) scans is a significant problem in preventing and treating various health problems which are impossible to detect by the human eye. In the field of terrain pattern recognition performed by power-limited mini-satellites, a more efficient approach for both architecture and hardware equipment is required. A recent U-shaped architecture offers impressive results and methods for detecting patterns and anomalies using semantic image segmentation. This thesis work is based on this U-NET architecture and aims to analyze, model, and build the network on multiple programming levels of abstraction, including hardware. At present, there exist more mature architectures such as Convolutional Neural Networks (CNN) that have substantial support toolsets.
On the other hand, U-NET architecture does not have a great level of support tools; this work will try to address this issue. The main structure and learning process (training) of this neural network will also be presented in detail, along with all the additional tools to assist this process. The code pack starts with a user-friendly Python language, where user-customizable functions and training techniques will be introduced.
The Python language level is intended mostly to aid the learning process. One step further, researchers can proceed by utilizing the C language, where the prediction step has been constructed to be further analyzed and eventually reach a specific application platform. Finally, three building blocks of this network have been implemented on Field Programmable Gate Array (FPGA) and Graphics Processor Unit (GPU) platforms (on par with the entire NN), offering the acceleration of specific processes with substantial energy savings for the computation. Last, but not least, the ecosystem developed in this thesis was not available until now - with its use more researchers can efficiently employ U-NETs.
description: Τα τελευταία χρόνια η ανάλυση εικόνας γίνεται όλο και πιο συχνή με κύριο εργαλείο τα νευρωνικά δίκτυα, τα οποία διαθέτουν μια μοναδική ακρίβεια σχετικά με την ανθρώπινη αντίληψη. Ειδικότερα, στον τομέα της βιοϊατρικής, η λανθασμένη διάγνωση εικόνων μαγνητικών, αξονικών τομογράφων (MRI/CT scans) αποτελεί ένα σημαντικό πρόβλημα για την πρόληψη και αντιμετώπιση διαφόρων προβλημάτων υγείας τα οποία είναι αδύνατον να εντοπιστούν από το ανθρώπινο μάτι. Ο τομέας της αναγνώρισης μοτίβων του εδάφους, που γίνεται με χρήση μικρο-δορυφόρων περιορισμένης ισχύος, μπορεί να προσεγγιστεί με μια πιο αποδοτική λύση ως προς το υλικό και την αρχιτεκτονική.  Σε αυτό το σημείο, μια πρόσφατη αρχιτεκτονική σχήματος ‘U’, τα τελευταία χρόνια προσφέρει εκπληκτικά αποτελέσματα και μεθόδους για τον εντοπισμό μοτίβων και ανωμαλιών κάνοντας χρήση της σημασιολογικής τμηματοποίησης εικόνας. Η παρούσα διπλωματική, βασίζεται πάνω στην διάσημη αυτή αρχιτεκτονική U-NET, και έχει σκοπό να την ανάλυση, την μοντελοποίηση και την κατασκευή του δικτύου σε όλα τα επίπεδα ελευθερίας όσον αφορά τις γλώσσες προγραμματισμού καθώς και η μεταφορά του στο υλικό. Προς το παρόν, επιμήκης ανάλυση τεχνικής έχει επιτευχθεί σε άλλες πιο ώριμες αρχιτεκτονικές όπως τα  συνελικτικά νευρωνικά δίκτυα(CNN) που προσφέρουν ένα μεγάλο σύνολο εργαλείων. Αντίθετα, η αρχιτεκτονική U-NET προσφέρει τα απαραίτητα εργαλεία, το οποίο θα καλυφθεί από την παρούσα εργασία. Η κύρια δομή και διαδικασία εκμάθησης(προπόνηση) του συγκεκριμένου νευρωνικού δικτύου θα παρουσιαστεί και θα αναλυθεί πλήρως μαζί με όλα τα πρόσθετα εργαλεία τα οποία θα βοηθήσουν αυτή τη διαδικασία. Το πακέτο κωδίκων ξεκινάει με μία φιλική προς το χρήστη γλώσσα την Python, όπου θα παρουσιαστούν για πρώτη φορά συναρτήσεις και τεχνικές προπόνησης πλήρως παραμετροποιήσιμες από τον χρήστη. Αυτό το επίπεδο γλώσσας έχει σκοπό να βοηθήσει τα μαθητευόμενα κυρίως άτομα. Σε επόμενο βήμα, στην γλώσσα C,  έχει κατασκευαστεί το βήμα της πρόβλεψης με σκοπό να αναλυθεί περεταίρω από ερευνητές και τελικά να καταλήξει σε κάποια συγκεκριμένης εφαρμογής πλατφόρμα. Τέλος, 3 δομικά κομμάτια του δικτύου αυτού έχουν υλοποιηθεί σε πλατφόρμα FPGA προσφέροντας την επιτάχυνση συγκεκριμένων διεργασιών με θετικά ενεργειακά αποτελέσματα. Τελευταίο αλλά εξίσου είναι ότι το οικοσύστημα που αναπτύχθηκε σε αυτή τη διατριβή δεν ήταν διαθέσιμο μέχρι τώρα - με τη χρήση του, περισσότεροι ερευνητές θα μπορούν να χρησιμοποιούν αποτελεσματικά τα U-NETs.