Questo articolo descrive un'architettura che è possibile usare per sostituire l'analisi manuale dei filmati video con un processo di Machine Learning automatizzato e spesso più accurato.
I logo FFmpeg e Jupyter Notebook sono marchi delle rispettive società. Nessuna verifica dell'autenticità è implicita nell'uso di questi marchi.
Architettura
Scaricare un file PowerPoint di questa architettura.
Workflow
- Una raccolta di filmati video, in formato MP4, viene caricata in Archiviazione BLOB di Azure. Idealmente, i video vengono inseriti in un contenitore "non elaborato".
- Una pipeline preconfigurata in Azure Machine Learning riconosce che i file video vengono caricati nel contenitore e avvia un cluster di inferenza per iniziare a separare il filmato video in fotogrammi.
- FFmpeg, uno strumento open source, suddivide il video ed estrae i fotogrammi. È possibile configurare il numero di fotogrammi al secondo estratti, la qualità dell'estrazione e il formato del file di immagine. Il formato può essere JPG o PNG.
- Il cluster di inferenza invia le immagini ad Azure Data Lake Archiviazione.
- Un'app per la logica preconfigurata che monitora Data Lake Archiviazione rileva che vengono caricate nuove immagini. Avvia un flusso di lavoro.
- L'app per la logica chiama un modello di visione personalizzata con training preliminare per identificare oggetti, funzionalità o qualità nelle immagini. In alternativa o in aggiunta, chiama un modello di visione artificiale (OCR) per identificare le informazioni testuali nelle immagini.
- I risultati vengono ricevuti in formato JSON. L'app per la logica analizza i risultati e crea coppie chiave-valore. È possibile archiviare i risultati in pool SQL dedicati di Azure di cui viene effettuato il provisioning da Azure Synapse Analytics.
- Power BI offre la visualizzazione dei dati.
Componenti
- Archiviazione BLOB di Azure fornisce l'archiviazione di oggetti per carichi di lavoro nativi del cloud e archivi di Machine Learning. In questa architettura vengono archiviati i file video caricati.
- Azure Machine Learning è un servizio di Machine Learning di livello aziendale per il ciclo di vita di Machine Learning end-to-end.
- Azure Data Lake Archiviazione offre un'archiviazione cloud a prestazioni elevate scalabile e ottimizzata e conveniente per carichi di lavoro di analisi ad alte prestazioni.
- Visione artificiale fa parte dei servizi di intelligenza artificiale di Azure. Viene usato per recuperare informazioni su ogni immagine.
- Visione personalizzata consente di personalizzare e incorporare l'analisi delle immagini di visione artificiale all'avanguardia per i domini specifici.
- App per la logica di Azure automatizza i flussi di lavoro connettendo app e dati tra ambienti. Offre un modo per accedere ed elaborare i dati in tempo reale.
- Azure Synapse Analytics è un servizio di analisi illimitato che riunisce l'integrazione dei dati, il data warehousing aziendale e l'analisi dei Big Data.
- Il pool SQL dedicato (in precedenza SQL Data Warehouse) è una raccolta di risorse di analisi di cui viene effettuato il provisioning quando si usa Azure Synapse SQL.
- Power BI è una raccolta di servizi software, app e connettori che interagiscono per fornire visualizzazioni dei dati.
Alternative
- Azure Video Indexer è un servizio di analisi video che usa l'intelligenza artificiale per estrarre informazioni dettagliate interattive dai video archiviati. È possibile usarlo senza alcuna esperienza in Machine Learning.
- Azure Data Factory è un servizio di integrazione dei dati serverless completamente gestito che consente di creare processi di estrazione, trasformazione e caricamento (ETL) e di estrazione, caricamento e trasformazione (ELT).
- Funzioni di Azure è una piattaforma distribuita come servizio (PaaS) serverless che esegue codice a singola attività senza richiedere una nuova infrastruttura.
- Azure Cosmos DB è un database NoSQL completamente gestito per lo sviluppo di app moderne.
Dettagli dello scenario
Molti settori registrano filmati video per rilevare la presenza o l'assenza di un particolare oggetto o entità o per classificare oggetti o entità. Il monitoraggio e le analisi video vengono tradizionalmente eseguite manualmente. Questi processi sono spesso monotoni e soggetti a errori, in particolare per le attività difficili per l'occhio umano. È possibile automatizzare questi processi usando intelligenza artificiale e Machine Learning.
Una registrazione video può essere separata in singoli fotogrammi in modo che varie tecnologie possano analizzare le immagini. Una di queste tecnologie è la visione artificiale: la funzionalità di un computer per identificare oggetti ed entità in un'immagine.
Con visione artificiale, il monitoraggio dei filmati video diventa automatizzato, standardizzato e potenzialmente più accurato. È possibile eseguire il training di un modello di visione artificiale e, a seconda del caso d'uso, è spesso possibile ottenere risultati almeno ottimali come quelli della persona che ha eseguito il training del modello. Usando Machine Learning Operations (MLOps) per migliorare continuamente il modello, è possibile prevedere risultati migliori nel tempo e reagire alle modifiche apportate ai dati video nel tempo.
Potenziali casi d'uso
Questo scenario è rilevante per qualsiasi azienda che analizza i video. Ecco alcuni casi d'uso di esempio:
Agricoltura. Monitorare e analizzare le colture e le condizioni del suolo nel tempo. Usando droni o UAV, gli agricoltori possono registrare filmati video per l'analisi.
Scienze ambientali. Analizzare le specie acquatiche per capire dove si trovano e come si evolvono. Collegando telecamere subacquee a barche, i ricercatori ambientali possono navigare sulla riva per registrare filmati video. Possono analizzare le riprese video per comprendere le migrazioni delle specie e il modo in cui le popolazioni delle specie cambiano nel tempo.
Controllo del traffico. Classificare i veicoli in categorie (SUV, auto, camion, moto) e usare le informazioni per pianificare il controllo del traffico. I filmati video possono essere forniti da telecamere a circuito chiuso in luoghi pubblici. La maggior parte delle telecamere a circuito chiuso registra data e ora, che può essere facilmente recuperata tramite riconoscimento ottico dei caratteri (OCR).
Controllo di qualità. Monitorare e analizzare il controllo della qualità in un impianto di produzione. Installando le fotocamere nella linea di produzione, è possibile eseguire il training di un modello di visione artificiale per rilevare le anomalie.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, un set di set di principi guida che è possibile usare per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.
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à.
Un carico di lavoro affidabile è un carico di lavoro resiliente e disponibile. La resilienza è la capacità di un sistema di recuperare in caso di errore e continuare a funzionare. L'obiettivo della resilienza consiste nel ripristinare uno stato completamente funzionale dell'applicazione dopo un errore. La disponibilità è una misura che indica se gli utenti possono accedere al carico di lavoro quando necessario.
Per le garanzie di disponibilità dei servizi di Azure in questa soluzione, vedere queste risorse:
- Contratto di servizio (SLA) per gli account Archiviazione
- Contratto di servizio per Azure Machine Learning
- Contratto di servizio per i servizi di intelligenza artificiale di Azure
- Contratto di servizio per App per la logica
- Contratto di servizio per Azure Synapse Analytics
- Contratto di servizio per Power BI
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.
Considerare le risorse seguenti:
- Gestione delle identità
- Proteggere l'infrastruttura
- Sicurezza delle applicazioni
- Sovranità e crittografia dei dati
- Risorse di sicurezza
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.
Ecco alcune linee guida per l'ottimizzazione dei costi:
- Usare la strategia con pagamento in base al consumo per l'architettura e aumentare il numero di istanze in base alle esigenze anziché investire in risorse su larga scala all'inizio.
- Prendere in considerazione i costi delle opportunità nell'architettura e l'equilibrio tra vantaggio first-mover e fast follow. Usare il calcolatore prezzi per stimare i costi iniziali e i costi operativi.
- Stabilire criteri, budget e controlli che impostano limiti di costo per la soluzione.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.
Le distribuzioni devono essere affidabili e prevedibili. Ecco alcune linee guida:
- Automatizzare le distribuzioni per ridurre la probabilità di errori umani.
- Implementare un processo di distribuzione veloce e di routine per evitare di rallentare il rilascio di nuove funzionalità e correzioni di bug.
- Eseguire rapidamente il rollback o il roll forward se un aggiornamento causa problemi.
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 dell'efficienza delle prestazioni.
L'uso appropriato del ridimensionamento e l'implementazione di offerte PaaS con scalabilità predefinita sono i modi principali per ottenere l'efficienza delle prestazioni.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Oscar Shimabukuro Kiyan | Senior Cloud Solutions Architect - Data & AI
Altri contributori:
- Mick Alberts | Writer tecnico
- Brandon Cowen | Senior Cloud Solutions Architect - Data & AI
- Arash Mosharraf | Senior Cloud Solutions Architect - Data & AI
- Priyanshi Singh | Senior Cloud Solutions Architect - Data & AI
- Julian Soh | Direttore specialista - Dati e intelligenza artificiale
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Introduzione ad Archiviazione di Azure
- Cos'è Azure Machine Learning?
- Che cos'è i servizi di intelligenza artificiale di Azure?
- Cosa sono le app per la logica di Azure?
- Che cos'è Azure Synapse Analytics?
- Che cos'è l'analisi di Power BI Embedded?
- Acceleratore processo aziendale