Arrow Electronic Components Online

Qualcomm Linux sample apps: elementi di base per l'inferenza AI e il video nelle applicazioni IoT

Intelligenza Artificiale (AI)16 ott 2024
Una rappresentazione visiva dell'integrazione di Qualcomm con Linux, che mostra icone interconnesse simboleggianti varie funzionalità e applicazioni
Visualizza tutti gli articoli

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

Streaming multi-camera

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

La pipeline dell'applicazione appare così:

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 cattura i dati dai due sensori della fotocamera. 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 della fotocamera e li passa al plugin v4l2h264enc. Il plugin codifica e comprime i flussi della fotocamera nel formato H.264, quindi li consegna per l'analisi e il multiplexing utilizzando rispettivamente i plugin h264parse e mp4mux. Infine, i flussi vengono consegnati al plugin filesink, che li salva come file.

Ecco un esempio dell'output dalla prima configurazione: l'immagine sul lato destro è in bianco e nero, poiché il secondo sensore della fotocamera sul 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 blocco di costruzione per acquisire dati da due sensori della fotocamera, con opzioni per comporre e visualizzare i flussi video o codificare e memorizzare i flussi su file. È possibile utilizzare questa app di esempio come base per le proprie applicazioni di acquisizione/codifica video, comprese dashcam e fotocamere stereo.

Video wall – Decodifica e visualizzazione video multicanale

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

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

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

A technical diagram illustrating a streaming pipeline with multiple streams

Ogni canale utilizza i plugin per eseguire il seguente processamento:

  • Legge i dati video compressi da un file utilizzando filesrc.
  • Demultiplexa il file con qtdemux.
  • Esegue l'analisi dei flussi video H.264 utilizzando h264parse.
  • Decodifica i flussi utilizzando v4l2h264dec.

I flussi decodificati da tutti i canali vengono quindi composti insieme utilizzando qtivcomposer e visualizzati utilizzando 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 utilizzeresti questa applicazione?

Con gst-concurrent-videoplay-composition puoi decodificare più flussi video compressi e poi comporli in un muro video; ad esempio, in spazi commerciali e segnaletica digitale. Come edge box per la videosorveglianza, puoi catturare l'input da più telecamere IP e visualizzarlo in un unico schermo. In un'applicazione di videoconferenza, puoi elaborare e visualizzare i feed di più persone nella chiamata, con ogni partecipante che trasmette un video.

Prossimi passi

Puoi ottenere quelle applicazioni o l'intero Qualcomm Intelligent Multimedia SDK su GitHub. E poi puoi iniziare a integrarli nelle tue applicazioni.

Tag articolo

Robotica
Internet delle Cose (IoT)
QUALCOMM
Intelligenza Artificiale (AI)

Articoli di notizie correlati

Mostra tutto