ML.ANNOTATE_IMAGE Erkenntnisse aus unstrukturierten Bilddaten gewinnen. Wenn Sie mit großen Bild-Repositories arbeiten, müssen Sie die Dateien möglicherweise automatisch kategorisieren, bestimmte Objekte erkennen oder Bildeigenschaften extrahieren, um das Dataset durchsuchbar zu machen. Wenn Sie ein BigQuery ML-Remote-Modell erstellen, das eine Verbindung zur Cloud Vision API herstellt, können Sie diese Bildanalyseaufgaben direkt in einer BigQuery-Objekttabelle mit Standard-SQL ausführen. So müssen Sie keine Dateien verschieben oder komplexe Datenpipelines erstellen.
Ziele
- Dataset und Ressourcenverbindung erstellen
- Objekttabelle für in Cloud Storage gespeicherte Bilddateien erstellen
- Erstellen Sie ein Remote-Modell, das eine Verbindung zur Cloud Vision API herstellt.
- Bilder mit der Funktion
ML.ANNOTATE_IMAGEannotieren
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Cloud de Confiance by S3NS:
Hinweis
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance 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.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, damit Sie die nötigen Berechtigungen für diese Anleitung haben:
-
BigQuery-Datasets, -Tabellen und -Modelle erstellen und verwenden:
BigQuery-Dateneditor (
roles/bigquery.dataEditor) -
BigQuery-Verbindungen erstellen, delegieren und verwenden:
BigQuery-Verbindungsadministrator (
roles/bigquery.connectionAdmin) -
Dem Dienstkonto der Verbindung Berechtigungen gewähren: Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin) -
BigQuery-Jobs erstellen:
BigQuery Job User (
roles/bigquery.jobUser)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Dataset erstellen
Wählen Sie eine der folgenden Optionen aus, um ein BigQuery-Dataset zu erstellen:
Console
Rufen Sie in der Cloud de Confiance Console die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Explorer:

Wenn Sie den linken Bereich nicht sehen, klicken Sie auf Linken Bereich maximieren, um ihn zu öffnen.
Maximieren Sie im Explorer Ihr Projekt und klicken Sie dann auf Datasets.
Klicken Sie auf der Seite Datasets auf Dataset erstellen.
Führen Sie im Bereich Dataset erstellen die folgenden Schritte aus:
Geben Sie unter Dataset-ID
bqml_tutorialein.Wählen Sie unter Speicherort der Daten die Option USA aus.
Übernehmen Sie die anderen Standardeinstellungen.
Klicken Sie auf Dataset erstellen.
bq
Verwenden Sie den Befehl bq mk --dataset, um ein neues Dataset zu erstellen.
Erstellen Sie ein Dataset mit dem Namen
bqml_tutorialund legen Sie den Datenspeicherort aufUSfest:bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Prüfen Sie, ob das Dataset erstellt wurde:
bq ls
API
Rufen Sie die Methode datasets.insert mit einer definierten Dataset-Ressource auf:
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Objekttabelle erstellen
Erstellen Sie eine Objekttabelle mit dem Namen my_object_table, die Bildinhalte enthält. Mit der Objekttabelle können Sie die Bilder analysieren, ohne sie aus Cloud Storage zu verschieben.
Der von der Objekttabelle verwendete Cloud Storage-Bucket sollte sich im selben Projekt befinden, in dem Sie das Modell erstellen und die Funktion ML.ANNOTATE_IMAGE aufrufen möchten. Wenn Sie die ML.ANNOTATE_IMAGE-Funktion in einem anderen Projekt als dem aufrufen möchten, das den von der Objekttabelle verwendeten Cloud Storage-Bucket enthält, müssen Sie dem Dienstkonto die Rolle "Storage Admin" auf Bucket-Ebene zuweisen.
Modell erstellen
Erstellen Sie ein Remote-Modell mit dem Namen my_model und einem REMOTE_SERVICE_TYPE von 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');
Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
Bilder annotieren
Verwenden Sie die Funktion ML.ANNOTATE_IMAGE mit Ihren bevorzugten Features, um Bilder in der Objekttabelle zu annotieren.
Verwenden Sie die Funktion
ML.ANNOTATE_IMAGEmit dem Featurelabel_detection, um die auf den Bildern gezeigten Elemente zu kennzeichnen: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) );
Ersetzen Sie
PROJECT_IDdurch Ihre Projekt-ID.Wenn Sie Gesichter auf den Bildern erkennen und Bildattribute wie dominante Farben zurückgeben möchten, verwenden Sie die Funktion
ML.ANNOTATE_IMAGEmit den Featuresface_detectionundimage_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) );
Ersetzen Sie
PROJECT_IDdurch Ihre Projekt-ID.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Console
- Wechseln Sie in der Cloud de Confiance -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
gcloud
Cloud de Confiance -Projekt löschen:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Wenn Sie das für diese Anleitung verwendete Projekt beibehalten möchten, können Sie weitere Kosten vermeiden, indem Sie die einzelnen Ressourcen löschen, die Sie erstellt haben:
Dataset löschen:Wenn Sie das Dataset löschen, werden auch das Remote-Modell und die darin erstellte Objekttabelle entfernt.
- Wechseln Sie in der Cloud de Confiance Console zu BigQuery Studio.
- Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie das Dataset aus, das Sie erstellt haben.
- Klicken Sie auf Aktionen anzeigen und dann auf Löschen.
- Geben Sie im Dialogfeld
deleteein und klicken Sie auf Löschen.
Verbindung löschen:
- Maximieren Sie im Bereich Explorer den Namen Ihres Projekts und klicken Sie auf Verbindungen.
- Klicken Sie neben der von Ihnen erstellten Verbindung auf das Symbol Aktionen ansehen und wählen Sie Löschen aus.
- Klicken Sie im Dialogfeld auf Löschen, um den Vorgang zu bestätigen.
Nächste Schritte
- Weitere Informationen zur Modellinferenz in BigQuery ML finden Sie unter Modellinferenz.
- Weitere Informationen zur Verwendung von Cloud AI APIs zum Ausführen von KI-Aufgaben finden Sie unter KI-Anwendung – Übersicht.
- Informationen zu den unterstützten SQL-Anweisungen und -Funktionen für generative KI-Modelle finden Sie unter End-to-End-Nutzerpfade für generative KI-Modelle.
- Testen Sie das Notebook Unstrukturierte Datenanalysen mit BigQuery ML und vortrainierten Gemini Enterprise Agent Platform-Modellen.