ML.ANNOTATE_IMAGE
per estrarre approfondimenti dai dati delle immagini non strutturati. Quando lavori con
repository di immagini di grandi dimensioni, potresti dover
categorizzare automaticamente i file, rilevare oggetti specifici o estrarre le proprietà delle immagini
per rendere il set di dati ricercabile. Creando un modello remoto BigQuery ML che si connette all'API Cloud Vision, puoi eseguire queste attività di analisi delle immagini direttamente su una tabella degli oggetti BigQuery utilizzando SQL standard, eliminando la necessità di spostare i file o creare pipeline di dati complesse.
Obiettivi
- Crea un set di dati e una connessione alla risorsa.
- Crea una tabella degli oggetti per i file immagine archiviati in Cloud Storage.
- Crea un modello remoto che si connette all'API Cloud Vision.
- Annota le immagini utilizzando la funzione
ML.ANNOTATE_IMAGE.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, BigQuery Connection API, and Cloud Vision API APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, BigQuery Connection API, and Cloud Vision API APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare questo tutorial, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Crea e utilizza set di dati, tabelle e modelli BigQuery:
Editor dati BigQuery (
roles/bigquery.dataEditor) -
Crea, delega e utilizza le connessioni BigQuery:
BigQuery Connection Admin (
roles/bigquery.connectionAdmin) -
Concedi le autorizzazioni al account di servizio della connessione:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) -
Crea job BigQuery:
Utente job BigQuery (
roles/bigquery.jobUser)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea un set di dati
Per creare un set di dati BigQuery, seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Explorer:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
In Explorer, espandi il progetto e fai clic su Set di dati.
Nella pagina Set di dati, fai clic su Crea set di dati.
Nel riquadro Crea set di dati, segui questi passaggi:
In ID set di dati, inserisci
bqml_tutorial.Per Località dei dati, seleziona USA.
Lascia invariate le altre impostazioni predefinite.
Fai clic su Crea set di dati.
bq
Per creare un nuovo set di dati, utilizza il
comando bq mk --dataset.
Crea un set di dati denominato
bqml_tutorialcon la località dei dati impostata suUS:bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Verifica che il set di dati sia stato creato:
bq ls
API
Chiama il metodo datasets.insert con una risorsa dataset definita:
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Crea una tabella degli oggetti
Crea una tabella degli oggetti denominata my_object_table
che contenga immagini. La tabella degli oggetti consente di analizzare le
immagini senza spostarle da Cloud Storage.
Il bucket Cloud Storage utilizzato dalla tabella degli oggetti deve trovarsi nello stesso progetto in cui prevedi di creare il modello e chiamare la funzione ML.ANNOTATE_IMAGE. Se vuoi chiamare la funzione
ML.ANNOTATE_IMAGE in un progetto diverso da quello
che contiene il bucket Cloud Storage utilizzato dalla tabella degli oggetti, devi
concedere il ruolo Amministratore Storage a livello di bucket.
crea un modello
Crea un modello remoto denominato my_model con un
REMOTE_SERVICE_TYPE di
CLOUD_AI_VISION_V1:
CREATE OR REPLACE MODEL `PROJECT_ID.bqml_tutorial.my_model` REMOTE WITH CONNECTION DEFAULT OPTIONS (REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1');
Sostituisci PROJECT_ID con l'ID progetto.
Annotare le immagini
Utilizza la funzione ML.ANNOTATE_IMAGE con le tue
funzionalità
preferite per annotare le immagini nella tabella degli oggetti.
Per etichettare gli elementi mostrati nelle immagini, utilizza la funzione
ML.ANNOTATE_IMAGEcon la funzionalitàlabel_detection:SELECT * FROM ML.ANNOTATE_IMAGE( MODEL `PROJECT_ID.bqml_tutorial.my_model`, TABLE `PROJECT_ID.bqml_tutorial.my_object_table`, STRUCT(['label_detection'] AS vision_features) );
Sostituisci
PROJECT_IDcon l'ID progetto.Per rilevare i volti mostrati nelle immagini e restituire gli attributi dell'immagine, come i colori dominanti, utilizza la funzione
ML.ANNOTATE_IMAGEcon le funzionalitàface_detectioneimage_properties:SELECT * FROM ML.ANNOTATE_IMAGE( MODEL `PROJECT_ID.bqml_tutorial.my_model`, TABLE `PROJECT_ID.bqml_tutorial.my_object_table`, STRUCT(['face_detection', 'image_properties'] AS vision_features) );
Sostituisci
PROJECT_IDcon l'ID progetto.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
Console
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
gcloud
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Elimina singole risorse
Se prevedi di conservare il progetto che hai utilizzato per questo tutorial, puoi evitare di incorrere in ulteriori addebiti eliminando le singole risorse che hai creato:
Elimina il set di dati:l'eliminazione del set di dati rimuove anche il modello remoto e la tabella degli oggetti che hai creato al suo interno.
- Nella console Google Cloud , vai a BigQuery Studio.
- Nel riquadro Explorer, espandi il progetto e seleziona il set di dati che hai creato.
- Fai clic su Visualizza azioni e poi su Elimina.
- Nella finestra di dialogo, digita
deletee fai clic su Elimina.
Elimina la connessione:
- Nel riquadro Explorer, espandi il nome del progetto e fai clic su Connessioni.
- Fai clic sull'icona Visualizza azioni accanto alla connessione che hai creato e seleziona Elimina.
- Nella finestra di dialogo, fai clic su Elimina per confermare.
Passaggi successivi
- Per saperne di più sull'inferenza del modello in BigQuery ML, consulta Panoramica dell'inferenza del modello.
- Per saperne di più sull'utilizzo delle API AI Cloud per eseguire attività AI, consulta Panoramica dell'applicazione AI.
- Per informazioni sulle istruzioni e sulle funzioni SQL supportate per i modelli di AI generativa, consulta Percorsi utente end-to-end per i modelli di AI generativa.
- Prova il notebook Analisi dei dati non strutturati con BigQuery ML e modelli preaddestrati di Gemini Enterprise Agent Platform.