TECH INSIGHT
22
- ELETTRONICA OGGI 462 - MAGGIO 2017
SISTEMI DI VISIONE
nel formato che viene usato per visualizzare correttamente un’immagine. Potrebbe inoltre essere necessaria la
correzione dell’immagine, se viene usato in particolare un sensore di colori.
Per mantenere la capacità di trasmissione alle velocità dati richieste, le catene di elaborazione dei segnali sono
spesso realizzate su FPGA, per sfruttare la loro natura parallela e consentire di sequenziare le operazioni per
assicurare velocità elevate dei fotogrammi. È anche di vitale importanza considerare la latenza in applicazioni
come i Sistemi di Guida Assistita (ADAS). Basare le unità di elaborazione delle immagini su un protocollo di in-
terconnessioni comuni semplifica
l’interconnessione dell’IP di elabo-
razione e contribuisce a costituire
una catena efficiente di elabora-
zione delle immagini. AXI è uno dei
protocolli più comuni, all’interno
di un grande numero di protocol-
li che sono ampiamente usati, per
via della loro natura flessibile che
supporta sia le interfacce mappate
in memoria, sia quelle a flusso con-
tinuo.
Le fasi tipiche di elaborazione
all’interno della catena di elabora-
zione delle immagini sono:
• Matrice del filtro dei colori: gene-
razione del colore di ciascun pixel
che deriva dallo schema di Bayer
presente sul sensore.
• Conversione dello spazio dei colori: conversione da RGB a YUV usata in molti algoritmi di elaborazione delle
immagini e in molti schemi in uscita.
• Chroma Resampling: conversione dei pixel YUV in una codifica dei pixel più efficiente.
• Applicazione degli algoritmi di correzione delle immagini come la correzione dei colori o della gamma, o ese-
cuzione di algoritmi di miglioramento dell’immagine o di riduzione del rumore.
Sul lato verso l’utente la temporizzazione del video in uscita può essere configurata e convertita di nuovo al
formato di uscita video nativo parallelo prima di essere inviato al driver richiesto.
Alcuni sistemi usano anche la memoria DDR come archivio di fotogrammi. Spesso è disponibile anche al lato
processore del SoC, che consente al supervisore di sistema di trasferire dati su reti come Gigabit Ethernet o
USB se richiesto, o di fungere da estensione alla catena di elaborazione delle immagini.
La supervisione del sistema
Quest’ultima funzione è tradizionalmente eseguita all’interno del processore, allo scopo di elaborare i comandi
per configurare la catena di elaborazione delle immagini per soddisfare i requisiti delle applicazioni. Per con-
sentire la ricezione e l’elaborazione dei comandi, la supervisione del sistema deve essere in grado di supporta-
re diverse interfacce di comunicazione, dalla semplice RS232, a Gigabit Ethernet, USB, oltre a PCIe o interfacce
più specializzate come CAN nelle applicazioni automotive. Se l’architettura del sistema di visione embedded
lo permette, il processore può essere usato per generare informazioni aggiuntive che possono essere sovrap-
poste all’immagine in uscita. L’accesso ai dati di immagine consente anche di effettuare ulteriori elaborazioni,
possibilmente avvalendosi di librerie open source come OpenCV, OpenCL e OpenVX, o di raccogliere statisti-
che come istogrammi della distribuzione dei valori dei pixel.
Mettiamo insieme il tutto
L’articolo successivo di questa segue descriverà come realizzare un sistema di visione funzionante usando
strumenti immediatamente disponibili con un kit commerciale che contiene un SoC programmabile Zynq 7020
e un modulo di misura di immagini commerciale.