In questa architettura di riferimento, scoprirai i casi d'uso, le alternative di progettazione e le considerazioni sulla progettazione quando esegui il deployment di una pipeline Dataflow per elaborare i file di immagini con Cloud Vision e archiviare i risultati elaborati in BigQuery. Puoi utilizzare questi risultati archiviati per l'analisi dei dati su larga scala e per addestrare modelli BigQuery ML.
Questo documento di architettura di riferimento è rivolto a data engineer e data scientist.
Architettura
Il seguente diagramma illustra il flusso di sistema per questa architettura di riferimento.
Come mostrato nel diagramma precedente, le informazioni scorrono come segue:
Importazione e attivazione: questa è la prima fase del flusso di sistema in cui le immagini entrano nel sistema. Durante questa fase, si verificano le seguenti azioni
- I client caricano i file di immagini in un bucket Cloud Storage.
- Per ogni caricamento di file, Cloud Storage invia automaticamente una notifica di input pubblicando un messaggio in Pub/Sub.
Elaborazione: questa fase segue immediatamente la fase di importazione e attivazione. Per ogni nuova notifica di input, si verificano le seguenti azioni:
- La pipeline Dataflow è in attesa di queste notifiche di input dei file, estrae i metadati dei file dal messaggio Pub/Sub e invia il riferimento al file all'API Vision per l'elaborazione.
- L'API Vision legge l'immagine e crea le annotazioni.
- La pipeline Dataflow archivia le annotazioni prodotte dall'API Vision nelle tabelle BigQuery.
Archiviazione e analisi: questa è la fase finale del flusso. In questa fase, puoi eseguire le seguenti operazioni con i risultati salvati:
- Esegui query sulle tabelle BigQuery e analizza le annotazioni archiviate.
- Utilizza BigQuery ML o Vertex AI per creare modelli ed eseguire previsioni in base alle annotazioni archiviate.
- Esegui analisi aggiuntive nella pipeline Dataflow (non mostrata in questo diagramma).
Prodotti utilizzati
Questa architettura di riferimento utilizza i seguenti Google Cloud prodotti:
Casi d'uso
L'API Vision supporta più funzionalità di elaborazione, tra cui etichettatura delle immagini, rilevamento di volti e punti di riferimento, riconoscimento ottico dei caratteri , tagging dei contenuti espliciti e altro ancora. Ognuna di queste funzionalità consente diversi casi d'uso applicabili a diversi settori. Questo documento contiene alcuni semplici esempi di ciò che è possibile fare con l'API Vision, ma lo spettro di possibili applicazioni è molto ampio.
L'API Vision offre anche modelli avanzati di machine learning preaddestrati tramite API REST e RPC. Puoi assegnare etichette alle immagini e classificarle in milioni di categorie predefinite. Ti aiuta a rilevare gli oggetti, leggere il testo stampato e scritto a mano e creare metadati preziosi nel catalogo di immagini.
Questa architettura non richiede l'addestramento di alcun modello prima di poterla utilizzare. Se hai bisogno di un modello personalizzato addestrato sui tuoi dati specifici, Vertex AI ti consente di addestrare un modello AutoML o personalizzato per obiettivi di visione artificiale, come la classificazione delle immagini e il rilevamento degli oggetti. In alternativa, puoi utilizzare Vertex AI Vision per un ambiente di sviluppo delle applicazioni end-to-end che ti consente di creare, eseguire il deployment e gestire applicazioni di visione artificiale.
Alternative di progettazione
Anziché archiviare le immagini in un bucket Google Cloud Storage, il processo che produce le immagini può pubblicarle direttamente in un sistema di messaggistica, ad esempio Pub/Sub, e la pipeline Dataflow può inviare le immagini direttamente all'API Vision.
Questa alternativa di progettazione può essere una buona soluzione per i casi d'uso sensibili alla latenza in cui devi analizzare immagini di dimensioni relativamente ridotte. Pub/Sub limita la dimensione massima del messaggio a 10 MB.
Se devi elaborare in batch un numero elevato di immagini, puoi utilizzare un'
API
asyncBatchAnnotate
progettata appositamente.
Note sul layout
Questa sezione descrive le considerazioni sulla progettazione per questa architettura di riferimento:
Sicurezza, privacy e conformità
Le immagini ricevute da fonti non attendibili possono contenere malware. Poiché l'API Vision non esegue nulla in base alle immagini che analizza, il malware basato sulle immagini non influisce sull'API. Se devi eseguire la scansione delle immagini, modifica la pipeline Dataflow per aggiungere un passaggio di scansione. Per ottenere lo stesso risultato, puoi anche utilizzare un abbonamento separato all'argomento Pub/Sub ed eseguire la scansione delle immagini in un processo separato.
Per ulteriori informazioni, consulta Automatizzare la scansione antimalware per i file caricati in Cloud Storage.
L'API Vision utilizza
Identity and Access Management (IAM)
per l'autenticazione. Per accedere all'API Vision, l'entità di sicurezza deve avere l'accesso Cloud Storage > Storage Object Viewer (roles/storage.objectViewer) al bucket che contiene i file che vuoi analizzare.
Per i principi e i suggerimenti di sicurezza specifici per i workload di AI e ML, consulta la sezione AI e ML: sicurezza nel framework Well-Architected.
Ottimizzazione dei costi
Rispetto alle altre opzioni discusse, come l'elaborazione a bassa latenza e l'elaborazione batch asincrona, questa architettura di riferimento utilizza un modo economicamente vantaggioso per elaborare le immagini nelle pipeline di streaming eseguendo il batch delle richieste API. Lo streaming diretto delle immagini a latenza inferiore menzionato nella sezione Alternative di progettazione potrebbe essere più costoso a causa dei costi aggiuntivi di Pub/Sub e Dataflow. Per l'elaborazione delle immagini che non deve avvenire in pochi secondi o minuti, puoi eseguire la pipeline Dataflow in modalità batch. L'esecuzione della pipeline in modalità batch può comportare alcuni risparmi rispetto al costo dell'esecuzione della pipeline di streaming.
L'API Vision supporta l'annotazione batch asincrona offline delle immagini per tutte le funzionalità. La richiesta asincrona supporta fino a 2000 immagini per batch. In risposta, l'API Vision restituisce file JSON archiviati in un bucket Cloud Storage.
L'API Vision offre anche un insieme di funzionalità di analisi delle immagini. Il prezzo è per immagine per funzionalità. Per ridurre i costi, richiedi solo le funzionalità specifiche di cui hai bisogno per la tua soluzione.
Per generare una stima dei costi in base all'utilizzo previsto, utilizza il calcolatore prezzi.
Per i principi e i suggerimenti di ottimizzazione dei costi specifici per i workload di AI e ML, consulta la sezione AI e ML: ottimizzazione dei costi nel framework Well-Architected.
Ottimizzazione delle prestazioni
L'API Vision è un'API che richiede molte risorse. Per questo motivo, l'elaborazione delle immagini su larga scala richiede un'attenta orchestrazione delle chiamate API. La pipeline Dataflow si occupa di eseguire il batch delle richieste API, gestire correttamente le eccezioni relative al raggiungimento delle quote e produrre metriche personalizzate dell'utilizzo dell'API. Queste metriche possono aiutarti a decidere se è giustificato un aumento della quota API o se i parametri della pipeline Dataflow devono essere modificati per ridurre la frequenza delle richieste. Per ulteriori informazioni sull'aumento delle richieste di quota per l'API Vision, consulta Quote e limiti.
La pipeline Dataflow ha diversi parametri che possono influire sulle latenze di elaborazione. Per ulteriori informazioni su questi parametri, consulta Eseguire il deployment di una soluzione di analisi della visione ML con Dataflow e l'API Vision.
Per i principi e i suggerimenti di ottimizzazione delle prestazioni specifici per i workload di AI e ML, consulta la sezione AI e ML: ottimizzazione delle prestazioni nel framework Well-Architected.
Deployment
Per eseguire il deployment di questa architettura, consulta Eseguire il deployment di una soluzione di analisi della visione ML con Dataflow e l'API Vision.
Passaggi successivi
- Scopri di più su Dataflow.
- Scopri di più su BigQuery ML.
- Scopri di più sull'affidabilità di BigQuery nella guida Comprendere l'affidabilità di BigQuery.
- Scopri come archiviare i dati nella soluzione di avvio rapido Data warehouse con BigQuery.
- Esamina l'elenco delle funzionalità dell'API Vision.
- Scopri come eseguire il deployment di una soluzione di analisi della visione ML con Dataflow e l'API Vision.
- Per una panoramica dei principi e dei suggerimenti architetturali specifici per i workload di AI e ML in Google Cloud, consulta la sezione AI e ML nel framework Well-Architected.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.
Collaboratori
Autori:
- Masud Hasan | Site Reliability Engineering Manager
- Sergei Lilichenko | Solutions Architect
- Lakshmanan Sethu | Technical Account Manager
Altri collaboratori:
- Jiyeon Kang | Customer Engineer
- Sunil Kumar Jang Bahadur | Customer Engineer