Drone con telecamera stereo. La piccola scatola bianca contiene il sistema embedded, che valuta in tempo reale le immagini leggermente sfalsate delle due telecamere per rilevare gli ostacoli. Attestazione:Fraunhofer IOSB
Sia per l'auto che per il drone:lo sviluppo di software di elaborazione delle immagini per sistemi embedded richiede molto tempo ed è quindi molto costoso. Ora la piattaforma Tulipp consente di sviluppare sistemi di elaborazione delle immagini embedded efficienti dal punto di vista energetico in modo più rapido e meno costoso, con una drastica riduzione del time-to-market. L'Istituto Fraunhofer per l'Optronica, Tecnologie di sistema e sfruttamento delle immagini IOSB è membro del consorzio UE che ha semplificato il processo.
A prima vista droni, i sistemi di assistenza alla guida e le apparecchiature diagnostiche mediche mobili non sembrano avere molto in comune. Ma in realtà lo fanno:fanno tutti un uso crescente di componenti di elaborazione delle immagini, ad esempio per rilevare ostacoli e pedoni. L'elaborazione delle immagini può essere utilizzata anche con apparecchiature radiografiche mobili per garantire un'adeguata qualità dell'immagine a livelli di radiazione ridotti, riducendo così notevolmente l'esposizione radioattiva.
A differenza di un computer workstation, dove dimensioni e consumi energetici non sono fattori particolarmente critici, applicazioni come queste richiedono piccoli, leggero, componenti per l'elaborazione delle immagini ad alta efficienza energetica che sono comunque in grado di funzionare in tempo reale. Le piattaforme hardware basate su architetture e processori di computer convenzionali non possono soddisfare adeguatamente questi requisiti. Questo è il motivo per cui vengono spesso utilizzati sistemi embedded che utilizzano array di porte programmabili sul campo (FPGA).
Gli array di porte programmabili sul campo sono componenti logici la cui struttura circuitale può essere configurata liberamente utilizzando un tipo speciale di programmazione, di solito coinvolgendo il linguaggio di basso livello VHDL. C'è un problema, tuttavia:la maggior parte delle applicazioni di elaborazione delle immagini è scritta in linguaggi di programmazione di livello superiore come C/C++, e la loro migrazione ai sistemi embedded è molto complicata. Non solo VHDL differisce notevolmente dagli altri linguaggi di programmazione, ma il codice deve essere adattato anche all'hardware specifico. Ciò significa che anche i programmi VHDL esistenti non possono essere trasferiti su altro hardware. Gli sviluppatori di software devono iniziare praticamente da zero con ogni nuovo sistema.
Starter kit per implementare rapidamente sistemi embedded particolarmente efficienti dal punto di vista energetico
La telecamera stereo e il sistema embedded installati sul drone. Attestazione:Fraunhofer IOSB
Un consorzio di otto partner di sei paesi, compreso il Fraunhofer Institute for Optronics, Tecnologie di sistema e sfruttamento delle immagini IOSB a Karlsruhe, ha ora notevolmente semplificato questa procedura nel progetto Tulipp. "Il risultato è una piattaforma di sviluppo composta da linee guida progettuali, una piattaforma hardware configurabile e un sistema operativo in tempo reale che supporta processori multicore, così come una catena di strumenti di programmazione, " dice il Dr.-Ing. Igor Tchouchenkov, responsabile del gruppo presso Fraunhofer IOSB. "Uno starter kit messo sul mercato da uno dei nostri partner in Tulipp fornisce ulteriore supporto. Lo starter kit rende lo sviluppo di tali applicazioni molto più veloce e più facile. Porting di programmi C++ su FPGA, che spesso significa diversi mesi di lavoro per lo sviluppatore, possono essere gestiti in poche settimane utilizzando lo starter kit Tulipp."
Ciò significa che lo sviluppatore deve prima considerare, basato sul software programmato in C++, quali elementi di codice dovrebbero essere distribuiti a quali componenti hardware e quali fasi del programma potrebbero essere ottimizzate o parallelizzate. Le linee guida di progettazione formulate aiutano in questo compito. Poi entra in gioco lo starter kit. Contiene l'hardware configurabile a cui possono essere collegati i sensori e i dispositivi di uscita necessari, il sistema operativo real-time multiprocessore, e quella che viene chiamata la toolchain STHEM. Le applicazioni nella toolchain consentono di ottimizzare il programma C++ in modo tale che possa essere portato sull'FPGA il più facilmente e rapidamente possibile. "Un focus speciale della toolchain è sull'ottimizzazione energetica:dopo tutto, l'obiettivo è progettare sistemi di elaborazione delle immagini che possano essere alimentati da una piccola batteria quando possibile, " dice Tchouchenkov. "La toolchain consente di visualizzare individualmente e ottimizzare il consumo di energia per ogni funzione del codice."
Cento volte più veloce di un PC di fascia alta
Immagine video da una delle due telecamere del drone. Attestazione:Fraunhofer IOSB
Il consorzio ha lavorato attraverso tre casi d'uso specifici per sviluppare e testare la piattaforma Tulipp:il team di ricerca Fraunhofer IOSB ha affrontato il rilevamento di ostacoli basato su telecamera stereo per droni, mentre altri partner del progetto hanno lavorato sul rilevamento dei pedoni nelle vicinanze di un'auto e sul miglioramento della qualità dal vivo delle immagini a raggi X scattate da archi a C mobili durante le operazioni chirurgiche. In Tulipp hanno portato il corrispondente software di elaborazione delle immagini da C++ a FPGA.
I risultati sono impressionanti:la lavorazione, che originariamente impiegava diversi secondi per analizzare una singola immagine su un PC di fascia alta, ora può funzionare sul drone in tempo reale, cioè ora vengono analizzate circa 30 immagini al secondo. "La velocità dell'algoritmo di rilevamento dei pedoni potrebbe essere aumentata di un fattore 100:ora il sistema può analizzare 14 immagini al secondo rispetto a un'immagine ogni sette secondi. Il miglioramento della qualità dell'immagine a raggi X mediante l'applicazione di filtri immagine per la rimozione del rumore ha consentito di ridurre il l'intensità della radiazione durante le operazioni chirurgiche a un quarto del livello precedente.Contemporaneamente il consumo di energia potrebbe essere notevolmente ridotto per tutte e tre le applicazioni.
La stessa immagine con informazioni di profondità sovrapposte dall'analisi dell'immagine stereo, evidenziando in rosso gli ostacoli vicini. La freccia indica il percorso evasivo consigliato risultante. Attestazione:Fraunhofer IOSB