04
Οκτ
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Αλεξάνδρου Ιωάννη Σηφάκη
με θέμα
Ενσωματωμένο Σύστημα Βασισμένο σε Aναδιατασσόμενη Λογική για τον Εντοπισμό Ρωγμών σε Λιμενικές Εγκαταστάσεις μέσω Συνελικτικών Νευρωνικών Δικτύων
FPGA-Based Embedded System to Detect Cracks in Harbor Structures
with the Use of Convolutional Neural Network
Εξεταστική Επιτροπή
Καθηγητής Απόστολος Δόλλας (Επιβλέπων)
Καθηγητής Σωτήριος Ιωαννίδης
Αναπληρωτής Καθηγητής Γρηγόριος Τσαγκατάκης (Σχολή CSD, Πανεπιστήμιο Κρήτης)
Περίληψη
Τα συνελικτικά νευρωνικά δίκτυα είναι ιδιαίτερα αποτελεσματικά σε ένα ευρύ φάσμα εφαρμογών, ιδίως στον τομέα της όρασης υπολογιστών, όπου αποδίδουν πολύ καλά στην αναγνώριση μοτίβων και αντικειμένων. Μια βασική εφαρμογή των CNN είναι η ανίχνευση ρωγμών σε λιμενικές κατασκευές. Στην παρούσα διατριβή, αναπτύχθηκε ένας πυρήνας πνευματικής ιδιοκτησίας επιταχυντή βασισμένος σε FPGA για την εφαρμογή αυτή, βασισμένος σε ένα προϋπάρχον Συνελικτικό Νευρωνικό Δίκτυο. Ο επιταχυντής θα ενσωματωθεί με έναν υπολογιστικό πυρήνα RISC-V για την επιτόπια ανίχνευση ρωγμών σε πραγματικό χρόνο. Το μεγάλο αποτύπωμα μνήμης των βαρών του CNN ( > 130ΜΒ) δεν επέτρεψε την εσωτερική αποθήκευση όλων των βαρών στον χώρο των 71ΜΒ της FPGA . Για να αντιμετωπιστεί αυτό, πραγματοποιήθηκε εκτεταμένος πειραματισμός με τον αλγόριθμο K-Means προκειμένου να συμπιεστούν αποτελεσματικά τα βάρη κινητής υποδιαστολής ώστε να χωρέσουν στη μνήμη της FPGA . Αυτό επιτεύχθηκε, με αποτέλεσμα τη συμπίεση κατά 4Χ, ενώ διατηρήθηκε τουλάχιστον 95% ακρίβεια σε σχέση με το CNN αναφοράς. Το CNN , ένα UNet όχι λιγότερο από 24 στάδια, σχεδιάστηκε, συντέθηκε και επαληθεύτηκε λειτουργικά με τη σουίτα εργαλείων CAD Vitis HLS της Xilinx . Η λειτουργική επαλήθευση ολοκληρώθηκε με επιτυχία, χρησιμοποιώντας το ίδιο σύνολο δεδομένων που χρησιμοποιήθηκε για την εκπαίδευση και την αξιολόγηση του μοντέλου. Ο πυρήνας IP μπορεί να ενσωματωθεί ως έχει με τον επεξεργαστή RISC-V στο σύστημα Alveo U55C ,ωστόσο, στην παρούσα διατριβή προτείνονται διάφορες αλλαγές για τη βελτίωση της απόδοσης.
Abstract
Convolutional Neural Networks are highly effective in a wide range of applications, particularly in the field of computer vision, where they perform very well at recognizing patterns and objects. One key application of CNNs is to detect cracks in harbor structures. In this thesis, an FPGA-based accelerator intellectual property core for this application was developed, based on a pre-existing Convolutional Neural Network. The accelerator will be integrated with a RISC-V computing core for real-time, on-site crack detection. The large memory footprint of the CNN weights (> 130MB) did not allow for all weights be be internally stored in the FPGA's 71MB space. To address this, extensive experimentation with the K-means algorithm was performed in order to effectively compress the floating point weights so that they would fit insid the FPGAs's memory. This was achieved, resulting in a 4X compression, while maintaining at least 95\% accuracy vs. the reference CNN. The CNN, a UNET of no less than 24 stages, was designed, synthesized and functionally verified with the Xilinx Vitis HLS CAD tool suite. Functional verification was completed successfully, using the same dataset that was used to train and evaluate the model. The IP core can be integrated as-is with the RISC V processor on the Alveo U55C system, however, several changes have been proposed in this thesis to improve performance.