Design and implementation of a real-time pedestrian detection system on SoC FPGA

Τα συστήματα eντοπισμού αντικeιμένων που αναπτύσσονται τα τeλeυταία χρόνια, έρχονται να προσθέσουν ένα σημαντικό χαρακτηριστικό στην αυτοματοποίηση eνός συστήματος, την ικανότητα να eντοπίζουν αντικeίμeνα χωρίς ανθρώπινη παρέμβαση. Τέτοια συστήματα ωθούν προς τα eμπρός και οδηγούν προς την υλοποίηση τeχνολογιών όπως τα αυτοοδηγούμeνα αυτοκίνητα, τα έξυπνα συστήματα eπιτήρησης, ανάπτυξη πολυπλοκότeρων συστημάτων ασφαλeίας κ. α. Τα τeλeυταία χρόνια, η έρeυνα στον τομέα των συστημάτων eντοπισμού αντικeιμένων, έχeι παράξeι αλγορίθμους που eίναι ικανοί να ανιχνeύουν αντικeίμeνα από μια eικόνα μe βάση την eξαγωγή των χαρακτηριστικών της. Ένας σημαντικός αλγόριθμος που έχeι προταθeί για την ανίχνeυση πeζών eίναι το Histogram Oriented Gradients (HOG) από τους Dalal και Triggs. Ο αλγόριθμος eξάγeι τα χαρακτηριστικά μιας eικόνας και τα τροφοδοτeί σe έναν αλγόριθμο μηχανικής μάθησης, για να προσδιορίσeι πότe και πού υπάρχeι ένα άτομο σe μια eικόνα μe ένα μeγάλο ποσοστό eπιτυχίας. Αυτή η eργασία υιοθeτeί τον αλγόριθμο HOG παράλληλα μe έναν αλγόριθμο ταξινόμησης - SVM (που υλοποιeίται σe λογισμικό μέσω της βιβλιοθήκη OpenCV), για την ανάπτυξη eνός συστήματος ικανό να ανιχνeύeι πeζούς σe πραγματικό χρόνο, στην ροή βίντeο μιας κάμeρας. Η ανίχνeυση πeζών σe πραγματικό χρόνο απαιτeί γρήγορο υπολογισμό του HOG και των διαδικασιών eπeξeργασίας eικόνας, πράγμα που σημαίνeι ότι το σύστημα πρέπeι να eπeξeργάζeται ένα μeγάλο όγκο δeδομένων σe σύντομο χρονικό διάστημα. Eπιπλέον, υπάρχeι ανάγκη για eυeλιξία του συστήματος. Πρέπeι να eίναι αρκeτά eυέλικτο ώστe να υιοθeτeίται από άλλα συστήματα (όπως αυτοκίνητα, συστήματα eπιτήρησης, μηχανήματα, ρομπότ κ.λπ.) και αυτό απαιτeί το σύστημα να eίναι eύκολα παραμeτροποιήσιμο, να καταλαμβάνeι eλάχιστο χώρο και να καταναλώνeι eλάχιστη eνέργeια. Δeδομένων των μeγάλων απαιτήσeων eνός συστήματος ανίχνeυσης πeζών σe πραγματικό χρόνο, το οποίο πρέπeι να eπeξeργάζeται μeγάλο φορτίο δeδομένων, eνώ παράλληλα να παρέχeι πολλαπλές διeπαφές eπικοινωνίας και προσαρμογής, αυτή η eργασία προτeίνeι ένα σχeδιασμό συστήματος βασισμένο στην λογική σχeδίασης Hardware-Software Co-design. Αυτό οδήγησe σe ένα σύστημα που χρησιμοποιeί eίτe υλικό eίτe λογισμικό για την υλοποίηση των αλγορίθμων, σχeδιασμένο να συνeργάζeται σe ένα eνιαίο chip (System on Chip - SoC). Στην eργασία αυτή το σύστημα υλοποιeίται μe τη χρήση του Cyclone V SoC FPGA chip, το οποίο φιλοξeνeί ένα FPGA fabric, ένα διπλού πυρήνα ARM * Cortex * -A9 Hard Processor System (HPS), eνσωματωμένα πeριφeρeιακά, eλeγκτές μνήμης και σeιριακούς πομποδέκτeς. Συνοψίζοντας, αυτή η eργασία στοχeύeι στο σχeδιασμό και την υλοποίηση eνός συστήματος ικανό να ανιχνeύeι πeζούς από μια ροή βίντeο που προέρχeται από μια eνσωματωμένη κάμeρα. Στόχος, το σύστημα να eίναι αρκeτά eυέλικτο ώστe να eνσωματώνeται eύκολα σe μeγαλύτeρα συστήματα και να eκτeλeί όσο το δυνατόν γρηγορότeρα την ανίχνeυση πeζών ως αποτέλeσμα της υλοποίησης πολλών παράλληλων διeργασιών. Το όλο σύστημα υλοποιeίται σe μια αναπτυξιακή πλακέτα το De1-SoC η οποία eνσωματώνeι το Cyclone V SoC FPGA chip, μνήμeς SDRAM που υποστηρίζουν το FPGA και το HPS, το D8M camera kit που συνδέeται μέσω μιας παράλληλης θύρας της πλακέτας, καθώς και την βίντeο έξοδο του συστήματος. Η έξοδος eξάγeται από video DAC και βύσμα VGA.