Arrow Electronic Components Online

App di esempio Qualcomm Linux: Blocchi di base per inferenza AI e video nelle applicazioni IoT

Intelligenza Artificiale16 ott 2024
Una rappresentazione visiva dell'integrazione di Qualcomm con Linux, che mostra icone interconnesse che simboleggiano diverse funzionalità e applicazioni.
Visualizza tutti gli articoli

Affinché i robot diventino una parte più significativa della nostra società, devono essere in grado di interagire in modo intelligente con i loro ambienti dinamici. Parte della sfida per raggiungere questo obiettivo consiste nell'integrare grandi quantità di dati provenienti da molte telecamere e sensori. Blocchi pre-scritti di software Linux® rendono questo compito più semplice. Questo articolo di Qualcomm esplora applicazioni di esempio per inferenza AI e video nelle applicazioni IoT e robotiche.

Streaming multi-camera

L'applicazione da linea di comando gst-multi-camera-example dimostra lo streaming simultaneo da due sensori della fotocamera. Può applicare una composizione side-by-side dei flussi video per mostrarli su un dispositivo di visualizzazione, oppure può codificare e salvare i flussi in file.

Il flusso della pipeline dell'applicazione è il seguente:

A technical diagram illustrating a multi-camera setup using GStreamer for video encoding

L'applicazione supporta due configurazioni:

  1. Composizione e visualizzazione – Il plugin qtimmfsrc sulla fotocamera 0 e sulla fotocamera 1 acquisisce i dati dai due sensori delle fotocamere. qtivcomposer esegue la composizione, quindi waylandsink visualizza i flussi affiancati sullo schermo.

  2. Codifica video – Il plugin qtimmfsrc sulla fotocamera 0 e sulla fotocamera 1 cattura i dati dai due sensori delle fotocamere e li passa al plugin v4l2h264enc. Il plugin codifica e comprime i flussi delle fotocamere nel formato H.264, quindi li trasferisce per l'analisi e il multiplexing utilizzando, rispettivamente, i plugin h264parse e mp4mux. Infine, i flussi vengono trasferiti al plugin filesink, che li salva come file.

Ecco un esempio dell'output della prima configurazione: l'immagine sul lato destro è in monocromia, poiché il secondo sensore della fotocamera nel kit di sviluppo è monocromatico.

A parking area featuring a motorcycle and a car, surrounded by trees and a gated entrance

Quando utilizzeresti questa applicazione?

gst-multi-camera-example è un modulo di base per acquisire dati da due sensori della fotocamera, con opzioni per comporre e visualizzare i flussi video oppure codificarli e salvarli in file. Puoi utilizzare questa app di esempio come base per le tue applicazioni di acquisizione/codifica video, inclusi dashcam e fotocamere stereo.

Wall video – Decodifica e visualizzazione video multicanale

L'applicazione da riga di comando gst-concurrent-videoplay-composition facilita la decodifica e la riproduzione simultanea di video codificati in AVC. L'app esegue la composizione di più flussi video provenienti da file o dalla rete (ad esempio, telecamere IP) per la visualizzazione come una parete video.

L'applicazione può accettare più file video (ad esempio 4 o 8) come input, decodificare tutti i video compressi, scalarli e comporli come una parete video. L'applicazione richiede almeno un file video di input, in formato MP4 con codec AVC.

La pipeline dell'applicazione appare così per 4 canali:

A technical diagram illustrating a streaming pipeline with multiple streams

Ogni canale utilizza plugin per eseguire il seguente processo:

  • Legge dati video compressi da un file utilizzando filesrc.

  • Demultiplexa il file con qtdemux.

  • Analizza i flussi video H.264 utilizzando h264parse.

  • Decodifica i flussi utilizzando v4l2h264dec.

Gli stream decodificati da tutti i canali vengono quindi composti insieme utilizzando qtivcomposer e visualizzati tramite waylandsink.

Ecco un esempio di utilizzo dell'app gst-concurrent-videoplay-composition su 4 flussi video:

A person interacts with a mobile app featuring a vibrant interface in a cozy indoor setting

Quando useresti questa applicazione?

Con gst-concurrent-videoplay-composition puoi decodificare più flussi video compressi e comporli in un video wall; ad esempio, in spazi retail e segnaletica digitale. Come una soluzione edge per la videosorveglianza, puoi acquisire input da più telecamere IP e visualizzarlo in un unico schermo. In un'applicazione di videoconferenza, puoi elaborare e visualizzare i flussi video di più partecipanti alla chiamata, con ogni partecipante che trasmette un video.

Prossimi passi

Puoi ottenere quelle applicazioni o l'intero SDK Qualcomm Intelligent Multimedia su GitHub. Dopodiché, puoi iniziare a integrarle nelle tue applicazioni.

Tag articolo

Globale
Internet delle Cose (IoT)
Articolo
Intelligenza Artificiale (IA)

Contenuti correlati