TECH INSIGHT
VISIONE ARTIFICIALE
È organizzato su tre livel-
li distinti (Fig. 1) per con-
sentire lo sviluppo della
piattaforma, dell’algorit-
mo e dell’applicazione.
Livello di piattaforma
Si tratta del livello più
basso dello stack e su
di esso sono costruiti
gli strati rimanenti dello
stack. Tale livello forni-
sce sia una definizione
hardware, sia la defi-
nizione del software di
supporto su un siste-
ma operativo persona-
lizzato. La definizione
dell’hardware può deli-
neare la configurazione
di una scheda di sviluppo o di una scheda pronta per la produzione come un system-on-module. Le interfacce
del sensore e del sistema sono definite in sede di definizione dell’hardware. La piattaforma hardware sarà cat-
turata usando Vivado HLx, e potrebbe avvalersi di blocchi IP sia di Xilinx, sia di fornitori terzi, o di blocchi IP
specializzati creati tramite sintesi ad alto livello. Questo strato fornirà se richiesto anche i driver software per i
moduli IP, e una configurazione PetaLinux aggiornata per supportare l’ambiente definito via software al livello
superiore.
Livello di Algoritmo
Lo sviluppo a questo livello ha luogo all’interno dell’ambiente SDSoC basato su Eclipse. SDSoC è un compilatore
ottimizzato a livello di sistema che consente lo sviluppo attraverso un algoritmo definito da software. È a questo
livello che è usato OpenCV per implementare gli algoritmi di elaborazione delle immagini per l’applicazione in
questione. Una volta sviluppati gli algoritmi software, i colli di bottiglia per le prestazioni sono identificati e ri-
mossi, accelerando le funzioni all’interno della logica programmabile. Ciò avviene direttamente attraverso una
combinazione di sintesi ad alto livello e di risorse per la connettività, per trasferire una funzione eseguita via
software in una implementazione su logica programmabile. L’ambiente reVISION fornisce un’ampia gamma di
funzioni OpenCV pronte per l’accelerazione che agevolano questo processo. A questo livello sono supportate
anche le librerie di reti neurali più comuni, incluse AlexNet, GoogLeNet, SqueezeNet, SSD e FCN.
Fig. 1 – Lo Stack reVISION connette l’apprendimento automatico con l’ecosistema di sviluppo dei dispositivi
programmabili