Table of Contents Table of Contents
Previous Page  20 / 102 Next Page
Information
Show Menu
Previous Page 20 / 102 Next Page
Page Background

TECH INSIGHT

VISIONE ARTIFICIALE

20

- ELETTRONICA OGGI 466 - NOVEMBRE/DICEMBRE 2017

La progettazione dei sistemi

basati sulla visione artificiale

Parte 7 –

L’impiego degli algoritmi di apprendimento approfondito nei sistemi di visione

embedded

Fino ad ora, la presente serie di articoli sullo sviluppo dei sistemi

di visione embedded si è concentrata sulla sequenza di elaborazione

delle immagini, che contiene funzioni come l’interfacciamento

della videocamera o del sensore d’immagini, la ricostruzione delle

immagini e la conversione di formato per l’elaborazione successiva

Giles Peckham

Regional marketing director

Xilinx

Adam Taylor

CEng FIET

Embedded Systems Consultant

Q

ueste ultime sono comunemente usate in un’ampia varietà di applicazioni, e si avvalgono degli stessi tipi di

algoritmi, fra cui la ricostruzione dei colori (filtro di Bayer), la conversione dello spazio dei colori e la ridu-

zione del rumore. Gli algoritmi specifici per un’applicazione d’altra parte possono variare ampiamente e richiede

in genere uno sforzo di sviluppo maggiore. Gli algoritmi possono essere complessi da implementare, e possono

usare tecniche come la rilevazione di oggetti, la classificazione, il filtraggio e le operazioni computazionali.

Qualora fosse necessaria un’accuratezza particolarmente spinta, come nei sistemi medicali o scientifici che

aiutano a prendere decisioni critiche per la vita del paziente, l’elaborazione intensiva potrebbe essere effettuata

su cloud. Altrimenti, l’elaborazione potrebbe essere effettuata con le risorse interne, dando priorità alla mini-

mizzazione della latenza, come nel caso di un sistema automotive di guida autonoma, o di un robot con funzioni

di visione che deve elaborare dati in tempi rapidi e agire in base alle informazioni ottenute dai sensori per

navigare all’interno del proprio ambiente, anche quando esso non è connesso al cloud. Sia che siano eseguite

su un dispositivo ai bordi della rete sia su cloud, le applicazioni di visione embedded di oggi ricorrono spesso

all’apprendimento automatico approfondito e all’intelligenza artificiale, anche se in modalità diverse. Un’imple-

mentazione basata su cloud utilizzerà l’apprendimento automatico approfondito e le reti neurali per generare un

insieme di classificatori di immagine, e in seguito useranno questi classificatori all’interno della propria appli-

cazione. Un’applicazione autonoma eseguirà i propri algoritmi di rilevazione degli oggetti usando classificatori

generati in precedenza dall’algoritmo di apprendimento automatico approfondito all’interno del cloud.

È importante poter aggiornare un sistema autonomo con l’avanzamento del piano di sviluppo dei prodotti, e

l’efficienza energetica e la sicurezza sono anch’esse aspetti importanti da considerare. I System on Chip (SoC)

interamente programmabili o i dispositivi System on Chip Multi-Processore (MPSoC) offrono una base per rag-

giungere questi obiettivi, e sono anche in grado di eseguire la sequenza di elaborazione delle immagini sfrut-

tando il parallelismo per massimizzare le prestazioni. Inoltre, le unità di elaborazione possono essere usate per

funzionalità applicative di livello superiore.

Lo sviluppo di algoritmi di apprendimento automatico su logica programmabile

Gli algoritmi di apprendimento automatico sono spesso sviluppati usando ambienti open-source come Open-CV e

Caffe, che contengono funzioni predefinite e IP che aiutano a semplificare il compito dello sviluppatore di applica-

zioni di visione embedded. Nel caso di un sistema autonomo da realizzare usando dispositivi programmabili, gli

sviluppatori hanno bisogno di un ulteriore supporto per essere in grado di usare questi ambienti all’interno dell’e-

cosistema di sviluppo che circonda i propri dispositivi logici programmabili selezionati. Xilinx ha sviluppato lo Stack

reVISION per fornire tale supporto agli utenti delle famiglie di prodotti Interamente Programmabili Zynq-7000 e degli

MPSoC interamente programmabili Zynq UltraScale+. Lo stack fornisce tutti gli elementi necessari per cerare appli-

cazioni di imaging ad alte prestazioni, ed è ottimizzato per le esigenze dei sistemi autonomi non connessi al cloud.