Modifica

Condividi tramite


Inserimento video e rilevamento di oggetti sul bordo e nel cloud

Azure Stack Edge
Servizio Azure Kubernetes
SQL Edge di Azure
Registro Azure Container

Questo articolo descrive come usare un robot mobile con una videocamera di streaming live per implementare vari casi d'uso. La soluzione implementa un sistema eseguito localmente in Azure Stack Edge per inserire ed elaborare il flusso video e i servizi di intelligenza artificiale di Azure che eseguono il rilevamento degli oggetti.

Architettura

Diagramma che mostra un'architettura per l'inserimento video e il rilevamento di oggetti.

Scaricare un file di Visio di questa architettura.

Workflow

Questo flusso di lavoro descrive come il sistema elabora i dati in ingresso:

  1. Una fotocamera installata nel video in streaming robot in tempo reale usando il protocollo di Real Time Streaming (RTSP).

  2. Un contenitore nel cluster Kubernetes in Azure Stack Edge legge il flusso in ingresso e suddivide il video in immagini separate. Uno strumento software open source denominato FFmpeg inserisce ed elabora il flusso video.

  3. Le immagini vengono archiviate nell'account di archiviazione locale di Azure Stack Edge.

  4. Ogni volta che viene salvato un nuovo fotogramma chiave nell'account di archiviazione, un contenitore di Visione artificiale lo preleva. Per informazioni sulla separazione della logica in più contenitori, consultare la sezione Dettagli dello scenario.

  5. Quando carica un fotogramma chiave dal contenitore di archiviazione, il contenitore di Visione artificiale lo invia ai servizi di intelligenza artificiale di Azure nel cloud. Questa architettura usa Visione di Azure AI, che consente il rilevamento degli oggetti tramite l'analisi delle immagini.

  6. I risultati dell'analisi delle immagini (oggetti rilevati e una classificazione di attendibilità) vengono inviati al contenitore di rilevamento anomalie.

  7. Il contenitore di rilevamento anomalie archivia i risultati dell'analisi delle immagini e il rilevamento anomalie nell'istanza locale database SQL di Azure di Azure Stack Edge per riferimento futuro. L'uso di un'istanza locale del database migliora il tempo di accesso, riducendo al minimo i ritardi nell'accesso ai dati.

  8. L'elaborazione dei dati viene eseguita per rilevare eventuali anomalie nel flusso video in tempo reale in ingresso. Se vengono rilevate anomalie, un'interfaccia utente front-end visualizza un avviso.

Componenti

  • Azure Stack Edge è un dispositivo gestito di Azure che offre le risorse di calcolo, archiviazione e intelligence di Azure nei dispositivi perimetrali Questa architettura lo usa per ospitare i servizi di Azure in locale, vicino alla posizione in cui si verifica il rilevamento anomalie, riducendo la latenza.

  • servizio Azure Kubernetes (AKS) in Azure Stack Edge. Il servizio Azure Kubernetes è un servizio Kubernetes gestito, utilizzabile per distribuire e gestire applicazioni in contenitori. In questa architettura, si usa una versione del servizio Azure Kubernetes in esecuzione nel dispositivo Azure Stack Edge per gestire i contenitori responsabili della logica del sistema.

  • Azure Arc è un bridge che estende i servizi di Azure alla rete perimetrale. Usando Azure Arc in questa architettura, è possibile controllare i servizi perimetrali tramite il portale cloud.

  • Visione di Azure AI è un servizio unificato che offre funzionalità di visione artificiale. In questa architettura, la funzionalità di analisi delle immagini viene usata per rilevare gli oggetti nei fotogrammi chiave del flusso video.

  • Archiviazione BLOB di Azure è una soluzione Microsoft per l'archiviazione di oggetti per il cloud. In questa architettura, viene usato per archiviare immagini di fotogrammi chiave estratti dal flusso video.

  • Azure SQL Edge è un motore SQL con footprint ridotto, ottimizzato per dispositivi perimetrali con intelligenza artificiale integrata. In questa architettura è stata specificatamente eseguita la versione perimetrale del motore SQL per archiviare i metadati di analisi delle immagini, mantenendola vicina al servizio che utilizza e processi.

  • Registro contenitori di Azure è un registro di immagini Docker e Open Container Initiative (OCI), con supporto per tutti gli artefatti OCI. In questa architettura il Registro di sistema archivia le immagini del contenitore Docker per il rilevamento anomalie e i contenitori di visione artificiale.

  • Azure Key Vault è un servizio per fornire una gestione sicura delle chiavi nel cloud. In questa architettura, viene usata per archiviare segreti e chiavi per consentire alla logica del sistema di interagire con i servizi esterni in cui l'identità gestita non è disponibile.

  • Monitoraggio di Azure è una soluzione di monitoraggio completa per la raccolta, l'analisi e la risposta ai dati di monitoraggio provenienti da ambienti cloud e on-premise. In questa architettura, questo servizio è la piattaforma principale di osservabilità per il carico di lavoro.

Dettagli dello scenario

Questa architettura illustra un sistema che elabora un flusso video in tempo reale, confronta i dati in tempo reale estratti con un set di dati di riferimento e prende decisioni in base ai risultati. Ad esempio, può essere usato per fornire ispezioni pianificate di un perimetro delimitato intorno a una posizione protetta.

L'architettura usa Azure Stack Edge per garantire che i processi a elevato utilizzo di risorse vengano eseguiti in locale, vicino all'origine del video. Questa progettazione migliora significativamente il tempo di risposta del sistema, che è importante quando una risposta immediata a un'anomalia è fondamentale.

Poiché le parti del sistema vengono distribuite come contenitori indipendenti in un cluster Kubernetes, è possibile ridimensionare solo i sottosistemi necessari in base alla domanda. Ad esempio, se si aumenta il numero di fotocamere per il feed video, è possibile ridimensionare il contenitore responsabile dell'inserimento video e dell'elaborazione per gestire la domanda, ma mantenere il resto del cluster a livello originale.

L'offload delle funzionalità di rilevamento degli oggetti nei servizi di intelligenza artificiale di Azure riduce significativamente le competenze necessarie per distribuire questa architettura. A meno che i requisiti per il rilevamento degli oggetti non siano altamente specializzati, l'approccio ottimizzazione predefinita ottenuto dal servizio Analisi immagini è sufficiente e non richiede conoscenze di Machine Learning.

Potenziali casi d'uso

  • Monitoraggio della sicurezza di un perimetro

  • Rilevamento di un ambiente di lavoro non sicuro in una factory

  • Rilevamento di anomalie in una linea di montaggio automatizzata

  • Rilevamento di una mancanza di fluido de-icing su aeromobili

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

Uno dei principali vantaggi dell'uso di Azure Stack Edge è che si ottengono componenti completamente gestiti nell'hardware locale. Tutti i componenti di Azure completamente gestiti sono automaticamente resilienti a livello di area.

Inoltre, l'esecuzione del sistema in un cluster Kubernetes consente di scaricare la responsabilità di mantenere integri i sottosistemi nel sistema di orchestrazione Kubernetes.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Le identità gestite di Microsoft Entra garantiscono la sicurezza per tutti i componenti di questa architettura. L'uso di identità gestite elimina la necessità di archiviare i segreti in file di codice o di configurazione. Semplifica il controllo di accesso, la gestione delle credenziali e l'assegnazione di ruolo.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda la riduzione delle spese non necessarie e il miglioramento dell'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Per un esempio di prezzi per questo scenario, usare il calcolatore prezzi di Azure. I componenti più costosi nello scenario sono Azure Stack Edge e servizio Azure Kubernetes. Questi servizi offrono la capacità di ridimensionare il sistema per soddisfare una maggiore domanda in futuro.

Il costo dell'uso dei servizi di intelligenza artificiale di Azure per il rilevamento degli oggetti varia in base alla durata dell'esecuzione del sistema. L'esempio di prezzi precedente si basa su un sistema che produce un'immagine al secondo e opera per 8 ore al giorno. Un FPS è sufficiente per questo scenario. Tuttavia, se il sistema deve essere eseguito per periodi di tempo più lunghi, il costo dell'uso dei servizi di intelligenza artificiale di Azure è superiore:

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica del pilastro dell'efficienza delle prestazioni.

Poiché il codice viene distribuito in un cluster Kubernetes, è possibile sfruttare i vantaggi di questo potente sistema di orchestrazione. Poiché i vari sottosistemi sono separati in contenitori, è possibile ridimensionare solo le parti più impegnative dell'applicazione. A livello di base, con un feed video in ingresso, il sistema può contenere un solo nodo in un cluster. Questa progettazione semplifica notevolmente la configurazione iniziale. Con l'aumentare della domanda di elaborazione dei dati, è possibile ridimensionare facilmente il cluster aggiungendo nodi.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Documentazione sui prodotti:

Percorso di apprendimento guidato: