Rendere affidabile ed economica la visione meccanica a 10GigE, includendo configurazioni multi-telecamera

Panoramica

Numerose applicazioni per sistemi di visione come linee di ispezione in rapido movimento, fabbriche di semiconduttori, sistemi di traffico intelligenti, analisi sportive e acquisizione volumetrica richiedono alta risoluzione, elevato FPS e trasferimento di dati per fornire risultati migliori. Per gli ingegneri dei sistemi di visione che desiderano migliorare l'output utilizzando frequenze di fotogrammi più rapide e telecamere di visione automatica a risoluzione più elevata, l'aggiornamento da 1GigE a 10GigE è un'opzione ovvia. Tuttavia, secondo la ricerca dell’AIA (Automated Imaging Association), l’adozione è stata piuttosto lenta. Ciò è comprensibile considerando tre sfide tecniche derivanti da questo aggiornamento: affidabilità (pacchetti inutilizzati), elevato utilizzo della CPU ed elevata latenza. Questo articolo fornisce un aggiornamento su come la soluzione nel pacchetto Teledyne FLIR Oryx + Myricom stia affrontando queste sfide.

Aggiornamento 1: Prestazioni impeccabili

Anche se 10GigE Vision ha aumentato la larghezza di banda di 10 volte rispetto al protocollo GigE Vision, le prestazioni dell'adattatore host 10GigE non sono state all'altezza. Il trasferimento dei dati dalla telecamera all'host comporta generalmente un sovraccarico della CPU, con conseguenti sovraccarichi del buffer dell'applicazione e un livello di perdita di pacchetti inaccettabile per le applicazioni complesse.

Utilizzando gli adattatori host per gestire la ricezione dei pacchetti e la ricostruzione delle immagini direttamente sulla scheda, la CPU non deve più gestire queste attività. Il pacchetto Teledyne FLIR Oryx + Myricom è progettato specificamente per affrontare tali situazioni. Come indicato nei risultati dei nostri test riportati di seguito, l'affidabilità del sistema può aumentare notevolmente, con conseguente riduzione significativa della perdita di pacchetti e, a sua volta, perdita di fotogramma.

Il pacchetto funziona perfettamente con il nostro nuovo driver SDK personalizzato dedicato alla gestione dei dati forniti dalla scheda Myricom. Grazie a questa combinazione, i dati delle immagini vengono trasferiti in modo impeccabile e affidabile dalla telecamera al PC host. Vedere i risultati dei test di seguito nell’Appendice: Test di affidabilità e utilizzo della CPU.

Il rapporto prezzo/prestazioni del nostro pacchetto Teledyne FLIR Oryx + Myricom lo rende una scelta semplice, offrendo una configurazione economica e altamente affidabile rispetto all'acquisto e all'integrazione separata dell'hardware.

Aggiornamento 2: Utilizzo CPU gestita

In teoria, le CPU potrebbero dedicare fino al 100% di uno dei suoi core per gestire i dati in entrata da una connessione 10GigE e più core possono essere utilizzati quando si eseguono più applicazioni/telecamere. Utilizzando la scheda Myricom per gestire la ricezione dei pacchetti e la ricostruzione delle immagini, l'utilizzo della CPU scende fino all'1% per ogni applicazione, consentendo l'utilizzo di ulteriori cicli di CPU per l'elaborazione delle immagini. Vedere i risultati dei test di seguito nell’Appendice: Test di affidabilità e utilizzo della CPU

Aggiornamento 3: Riduzione della latenza

La latenza del fotogramma 10GigE Vision non è deterministica; ciò significa che i fotogrammi possono arrivare con un jitter di tempo significativo. In alcune condizioni, specialmente con gli switch, non solo si verifica una perdita di pacchetti, ma a volte i fotogrammi vengono ricevuti in ordine opposto. Il pacchetto Teledyne FLIR Oryx + Myricom risolve questo problema con una notifica tempestiva dei tempi di completamento dei fotogrammi per una latenza inferiore e un minor jitter.

Appendice: Test di affidabilità e utilizzo della CPU

Test 1: Flusso di 7 giorni a larghezza di banda elevata

Utilizzando un'applicazione di console personalizzata creata tramite l'API Teledyne FLIR Spinnaker, è stata impostata una telecamera Teledyne FLIR Oryx da 8,9 MP per acquisire continuamente le immagini e tenere traccia di eventuali immagini incomplete senza ulteriori elaborazioni o programmi ad alta intensità di risorse di terze parti in esecuzione contemporaneamente.

Risultati del test: circa 40 milioni di immagini acquisite; 0 immagini incomplete/ridotte rilevate.

Nota: L'utilizzo della CPU è stato controllato durante i 7 giorni di test e ha dimostrato di rimanere costantemente all'1%. Con il nuovo driver Myricom disabilitato, che si basa esclusivamente sul driver di filtro standard FLIR, l'utilizzo della CPU per il core CPU dedicato all'applicazione è rimasto di circa il 100%.

Test 2: Flusso doppia telecamera

Questo test include due telecamere Oryx (ORX-10G-123S6M e ORX-10G-89S6C) in esecuzione nella stessa applicazione della console personalizzata, ciascuna delle quali acquisisce immagini a una larghezza di banda di 6,7 Gb/s, per 24 ore ininterrotte.

Risultati del test: ~6 milioni di immagini acquisite per telecamera; 0 immagini incomplete/scadute rilevate

Test 3: test da sforzo CPU di 24 ore

Questo test include una singola telecamera Oryx (ORX-10G-123S6M) con le stesse impostazioni del Test 1.

Viene utilizzata la stessa applicazione della console utilizzata nel Test 1, ad eccezione di questa volta, viene utilizzata contemporaneamente un'altra applicazione; questa applicazione personalizzata è concepita per simulare un carico di lavoro elevato, che occupa circa il 90% dell'utilizzo totale della CPU (in tutti gli otto core).

Risultati del test: ~6 milioni di immagini acquisite; 0 immagini incomplete/ridotte rilevate

Specifiche del software e dell’hardware del sistema di test:

i7-9700 k a 3,6 GHz | 16 GB | Windows 10 1809

Teledyne FLIR Spinnaker 2.1.0.82 e PgrLwf 2.7.3.397 rispetto alla build 2.3.0.x personalizzata con supporto Myricom

Orice ORX-10G-123S6M

ORX-10G-89S6C

Articoli correlati