High-Level-Synthesis του αλγορίθμου Όρασης Υπολογιστών Harris σε FPGA - Γαλάνης, Ιωάννης (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών, 2015)
Οι αλγόριθμοι Όρασης Υπολογιστών γίνονται ολοένα και περισσότερο δημοφιλείς σε σημερινές εφαρμογές. Συνήθως,εισάγουν σημαντικό φόρτο εργασίας στις εφαρμογές,εξαιτίας της αυξημένης πολυπλοκότητάς τους αλλά και του τεράστιου μεγέθους των δεδομένων που χρησιμοποιούν. Γι'αυτό,δεν εκτελούνται αποτελεσματικά από μονάδες γενικού σκοπού. Αντιθέτως, υλοποιούνται ικανοποιητικά από ειδικού σκοπού υλικό(FPGA ή ASIC) για να βελτιστοποιηθεί η απόδοσή τους. Σε αυτή τη διπλωματική εργασία,ασχολούμαστε με τον αλγόριθμο ανίχνευσης γωνιών των Harris & Stephens. Σκοπός μας είναι να παράσχουμε μία software λύση στο ζήτημα της υλοποίησης του αλγορίθμου σε FPGA,χρησιμοποιώντας το εργαλείο Vivado High-Level Synthesis της εταιρείας Xilinx. Αφού περάσουμε με επιτυχία την διαδικασία σύνθεσης και παράξουμε την περιργαφή επιπέδου καταχωρητή,ξεκινάμε να εισάγουμε ορισμένες βελτιστοποιήσεις,ώστε να επιτύχουμε υψηλότερες επιδόσεις. Τελικά,εκμεταλλευόμενοι τις διαδικασίες βελτιστοποίησης του Vivado HLS σημειώσαμε μεγάλη επιτυχία μειώνοντας το χρόνο εκτέλεσης,αυξάνοντας την απόδοση και χρησιμοποιώντας λιγότερη μνήμη. Η συσκευή στην οποία στοχεύεται η υλοποίηση και με βάση την οποία πήραμε μετρήσεις είναι η πλακέτα Kintex-7 της Xilinx. Τα αποτελέσματα της παρούσας εργασίας παρουσιάστηκαν στο συνέδριο HiPEAC 2015,Workshop in Recofigurable Computing (WRC) in Amsterdam,2015(https://www.hipeac.org/2015/amsterdam/schedule/#wshop) ''A Framework for Rapid System-Level Synthesis Targeting to Reconfigurable Platforms :A Computer Vision Study '',Dionysios Diamantopoulos, Ioannis Galanis, Kostas Siozios, George Economakos, and Dimitrios Soudris. Το κείμενο της διπλωματικής οργανώνεται ως εξής: Στο Κεφάλαιο 1 υπάρχει η εισαγωγή στα FPGA και γίνεται ειδική αναφορά στον ειδικό τρόπο προγραμματισμού του. Στο Κεφάλαιο 2 αναλύεται ο επιστημονικός κλάδος της Όρασης Υπολογιστών,καθώς και η σχέση του με τα FPGA. Ακολούθως στο Κεφάλαιο 3 ,παρουσιάζουμε τον αλγόριθμο ανίχνευσης γωνιών Harris. Αρχικά,εξηγούμε τον τρόπο λειτουργίας του,δίνοντας λεπτομέριες για τις βασικές του συναρτήσεις. Στη συνέχεια κάνουμε μία γενική εκτίμηση των αναγκών μνήμης του αλγορίθμου,χρησιμοποιώντας το εργαλείο valgrind. Στο Κεφάλαιο 4 περιγράφονται οι μετασχηματισμοί που ήταν απαραίτητο να γίνουν ώστε η υλοποίηση να μπορεί να περάσει από τη διαδικάσια της σύνθεσης. Στη συνέχεια,αναλύεται η στρατηγική σχεδιασμού καθώς παρουσιάζονται αναλυτικά οι βελτιστοποιήσεις που έγιναν. Επόμενα,στο κεφάλαιο 5 συνοψίζονται τα επιτέυγματα που αφορούν τη βελτίωση της απόδοσης της υλοποίησης του αλγορίθμου(χρόνος εκτέλεσης,μνήμη διεκπαιρεωτική ικανότητα-throuhgput) και τη εξοικονόμηση της χρήσης των διαθέσιμων πόρων. Τέλος,στο κεφάλαιο 6 παραθέτουμε τις μελλοντικές κατευθύνσεις της επιστημονικής έρευνας με βάση τις τελευταίες τάσεις στον κλάδο των Συστημάτων σε Ψηφίδα(System on Chip - SoC).