En un almacén de imágenes, puedes almacenar y administrar tus imágenes, así como las anotaciones en ellas.
Crea un almacén de imágenes
Primero, debes crear un corpus.
LÍNEA DE REST Y CMD
Crea un recurso de corpus en el proyecto determinado con la opción de especificar el nombre visible y la descripción de Corpus.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - DISPLAY_NAME: Es el nombre visible del almacén.
- WAREHOUSE_DESCRIPTION: Es la descripción del almacén (
corpus).
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
Cuerpo JSON de la solicitud:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
Crear esquema de datos
Si deseas importar anotaciones, debes crear un esquema de datos correspondiente antes de llamar a la API de Import.
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo crear un esquema de datos en un corpus existente.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - CORPUS_ID: Es el ID de tu corpus de destino.
- DATASCHEMA_KEY: Esta clave debe coincidir con la clave de una anotación especificada por el usuario y ser única dentro de un
corpus. Por ejemplo,data-key. - ANNOTATION_DATA_TYPE: Es el tipo de datos de la anotación. Los valores disponibles son los siguientes:
DATA_TYPE_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
Para obtener más información, consulta la documentación de referencia de la API.
- ANNOTATION_GRANULARITY: Es el nivel de detalle de las anotaciones de este
dataSchema. Los valores disponibles son los siguientes:GRANULARITY_UNSPECIFIED: Nivel de detalle no especificado.GRANULARITY_ASSET_LEVEL: Nivel de detalle a nivel del activo (las anotaciones no deben contener información de partición temporal para el activo multimedia).GRANULARITY_PARTITION_LEVEL: Nivel de detalle a nivel de la partición (las anotaciones deben contener información de partición temporal para el activo multimedia).
- SEARCH_STRATEGY: Uno de los valores de enumeración disponibles. Son los tipos de estrategias de búsqueda que se aplicarán a la clave de anotación. Los valores disponibles son los siguientes:
NO_SEARCHEXACT_SEARCHSMART_SEARCH
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Cuerpo JSON de la solicitud:
{
"key": "DATASCHEMA_KEY",
"schema_details": {
"type": "ANNOTATION_DATA_TYPE",
"granularity": "ANNOTATION_GRANULARITY",
"search_strategy": {
"search_strategy_type": "SEARCH_STRATEGY"
}
}
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
"key": "data-key",
"schemaDetails": {
"type": "BOOLEAN",
"granularity": "GRANULARITY_ASSET_LEVEL",
"searchStrategy": {
"search_strategy_type": "EXACT_SEARCH"
}
}
}
Cómo importar recursos a un corpus de imágenes
Importa recursos (y, de forma opcional, anotaciones) a un corpus existente en el proyecto determinado.
El archivo de Cloud Storage para la solicitud de ImportAsset debe estar en formato JSONL. En el archivo, cada línea corresponde a un activo y se convertirá en un proto InputImageAsset. Por ejemplo:
{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo importar recursos (y, de manera opcional, anotaciones) a un recurso de corpus en el proyecto determinado.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - CORPUS_ID: Es el ID de tu corpus de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
Cuerpo JSON de la solicitud:
{
"parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
"assets_gcs_uri": GCS_URI
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Analiza los recursos del corpus
Para prepararte para la búsqueda de imágenes, debes ejecutar AnalyzeCorpus para generar los indicadores de incorporación a partir de las imágenes.
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo realizar AnalyzeCorpus en un recurso de corpus.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - CORPUS_ID: Es el ID de tu corpus de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
Cuerpo JSON de la solicitud:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Crea un índice
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo crear un índice en un recurso de corpus.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - CORPUS_ID: Es el ID de tu corpus de destino.
- INDEX_ID: (Opcional) Es un valor proporcionado por el usuario para el ID del índice. En esta solicitud, el valor se agrega a la URL de la solicitud de la siguiente forma:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Cuerpo JSON de la solicitud:
{
"display_name": "DISPLAY_NAME",
"description": "INDEX_DESCRIPTION",
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata"
}
}
Crea un extremo de índice
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo crear un extremo de índice.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - INDEX_ENDPOINT_ID: (Opcional) Es un valor proporcionado por el usuario para el ID del extremo de índice. En esta solicitud, el valor se agrega a la URL de la solicitud de la siguiente forma:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
Cuerpo JSON de la solicitud:
{
"display_name": "DISPLAY_NAME",
"description": "DESCRIPTION",
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
}
}
Implementa el índice en el extremo de índice
LÍNEA DE REST Y CMD
En este ejemplo, se muestra cómo implementar un índice en un recurso de extremo de índice.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con
LOCATION_ID, comoeurope-west4-. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - INDEX_ENDPOINT_ID: Es el ID del extremo del índice de destino.
- CORPUS_ID: Es el ID de tu corpus de destino.
- INDEX_ID: Es el ID de tu índice de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Cuerpo JSON de la solicitud:
{
"deployedIndex": {
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
"deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}