Table of Contents Table of Contents
Previous Page  52 / 86 Next Page
Information
Show Menu
Previous Page 52 / 86 Next Page
Page Background

EDA/SW/T&M

ADAS

52

- ELETTRONICA OGGI 460 - MARZO 2017

L’

adozione di tecnologie per la visione artifi-

ciale (CV – Computer Vision) si sta diffon-

dendo rapidamente in applicazioni di guida

autonoma. Gli algoritmi di visione artificiale sono di

tipo compute-intensive, ovvero richiedono una note-

vole mole di calcoli. L’esecuzione di questi algoritmi

spesso richiede DSP specializzati ad alte prestazioni o

GPU per garantire l’esecuzione in tempo reale abbinata

a un elevato livello di flessibilità. La

necessità di mappare un algoritmo

di visione allo stato dell’arte frutto

di ricerche teoriche in un software

ottimizzato in termini di prestazioni

che deve girare in real time su una

piattaforma embedded è un com-

pito decisamente impegnativo per

tutti gli sviluppatori di algoritmi.

Nel corso di questo articolo verrà

descritta l’implementazione di un

algoritmo che rileva il superamento

della corsia (una delle tante funzio-

nalità presenti nei sistemi avanza-

ti di assistenza alla guida – ADAS)

per illustrare il flusso di sviluppo

software di un’applicazione di vi-

sione artificiale e le problematiche

che devono affrontare gli sviluppa-

tori di questi algoritmi per ottenere

prestazioni elevate a fronte di risorse di sistema limi-

tate. Grazie a una libreria per visione artificiale ricca

di funzionalità e ottimizzata in termini di prestazioni è

possibile ridurre a poche settimane il ciclo di svilup-

po del software, ottenendo un codice ottimizzato per

DSP in grado di supportare il calcolo vettoriale ad alte

prestazioni in tempo reale a partire da codice C funzio-

nale generico. Nella parte finale dell’articolo saranno

illustrare le tecniche utilizzate per

ottimizzare il software per visione

artificiale che sfruttano le caratte-

ristiche avanzate integrate nella fa-

miglia di DSP a elevate prestazioni

di Cadence Tensilica Vision.

Flusso di sviluppo software per ap-

plicazioni CV in sistemi embedded

Lo sviluppo di applicazioni di visio-

ne artificiale per sistemi embedded

è spesso vincolato dalle risorse

hardware e di elaborazione dispo-

nibili in questi sistemi, nonché dal

fatto che questi ultimi devono fun-

zionare in tempo reale. Gli svilup-

patori devono essere in grado di

ottimizzare le prestazioni delle loro

applicazioni rispettando i vinco-

li imposti dai sistemi. Le metriche

Ottimizzazione

di un algoritmo per

applicazioni ADAS

Charles Qi

Sr. System Solutions architect

Cadence

Han Lin

Computer Vision Application

Software engineer

Cadence

L’articolo descrive l’implementazione di un algoritmo

che rileva il superamento della corsia (una delle tante

funzionalità presenti nei sistemi avanzati di assistenza

alla guida – ADAS) per illustrare il flusso di sviluppo

software di un’applicazione di visione artificiale e le

problematiche che devono affrontare gli sviluppatori

di questi algoritmi per ottenere prestazioni elevate a

fronte di risorse di sistema limitate

Fig. 1 – Le cinque fasi del processo di sviluppo di

un’applicazione di visione per sistemi embedded