Um repositório de imagens é onde você pode armazenar e gerenciar suas imagens, bem como anotações sobre elas.
Criar um repositório de imagens
Primeiro, você precisa criar um corpus.
REST e LINHA DE CMD
Cria um recurso de corpus no projeto especificado com a opção de
especificar o nome de exibição e a descrição de Corpus.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - DISPLAY_NAME: nome de exibição do repositório.
- WAREHOUSE_DESCRIPTION: a descrição do depósito (
corpus).
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
Corpo JSON da solicitação:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"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"
}
}
}
}
Criar esquema de dados
Se você quiser importar anotações, crie um esquema de dados correspondente antes de chamar a API Import.
REST e LINHA DE CMD
Este exemplo mostra como criar um esquema de dados em um corpus.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - CORPUS_ID: o ID do corpus de destino.
- DATASCHEMA_KEY: essa chave precisa corresponder à chave de uma anotação especificada pelo usuário e
ser exclusiva em um
corpus. Por exemplo,data-key. - ANNOTATION_DATA_TYPE: o tipo de dados da anotação. Os valores disponíveis são:
DATA_TYPE_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
Para mais informações, consulte a documentação de referência da API.
- ANNOTATION_GRANULARITY: a granularidade das anotações nesse
dataSchema. Os valores disponíveis são:GRANULARITY_UNSPECIFIED: granularidade não especificada.GRANULARITY_ASSET_LEVEL: granularidade no nível do recurso (as anotações não podem conter informações de partição temporal para o recurso de mídia).GRANULARITY_PARTITION_LEVEL: granularidade no nível da partição (as anotações precisam conter informações de partição temporal para o recurso de mídia).
- SEARCH_STRATEGY: um dos valores de tipo enumerado disponíveis. Os tipos de estratégias de pesquisa
a serem aplicadas à chave de anotação. Os valores disponíveis são:
NO_SEARCHEXACT_SEARCHSMART_SEARCH
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corpo JSON da solicitação:
{
"key": "DATASCHEMA_KEY",
"schema_details": {
"type": "ANNOTATION_DATA_TYPE",
"granularity": "ANNOTATION_GRANULARITY",
"search_strategy": {
"search_strategy_type": "SEARCH_STRATEGY"
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"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"
}
}
}
Importar recursos para um corpus de imagens
Importa recursos (e, opcionalmente, anotações) para um corpus existente no projeto especificado.
O arquivo do Cloud Storage para a solicitação ImportAsset precisa estar no formato JSONL. No arquivo, cada linha corresponde a um recurso e será convertida em InputImageAsset proto. Por exemplo,
{"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"}}]}
REST e LINHA DE CMD
Este exemplo mostra como importar recursos (e, opcionalmente, anotações) para um recurso de corpus no projeto.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - CORPUS_ID: o ID do corpus de destino.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
Corpo JSON da solicitação:
{
"parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
"assets_gcs_uri": GCS_URI
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Analisar recursos no corpus
Para se preparar para a pesquisa de imagens, o AnalyzeCorpus precisa ser executado para gerar os sinais de embedding das imagens.
REST e LINHA DE CMD
Este exemplo mostra como executar AnalyzeCorpus em um recurso de corpus.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - CORPUS_ID: o ID do corpus de destino.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
Corpo JSON da solicitação:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Criar um índice
REST e LINHA DE CMD
Este exemplo mostra como criar um índice em um recurso de corpus.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - CORPUS_ID: o ID do corpus de destino.
- INDEX_ID: (opcional) um valor fornecido pelo usuário para o ID do índice. Nesta solicitação, o
valor é adicionado ao URL da solicitação no formato:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Corpo JSON da solicitação:
{
"display_name": "DISPLAY_NAME",
"description": "INDEX_DESCRIPTION",
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"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"
}
}
Criar um endpoint de índice
REST e LINHA DE CMD
Este exemplo mostra como criar um endpoint de índice.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - INDEX_ENDPOINT_ID: (opcional) um valor fornecido pelo usuário para o ID do endpoint do índice. Nesta solicitação, o
valor é adicionado ao URL da solicitação no formato:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
Corpo JSON da solicitação:
{
"display_name": "DISPLAY_NAME",
"description": "DESCRIPTION",
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
}
}
Implantar o índice no endpoint do índice
REST e LINHA DE CMD
Este exemplo mostra como implantar um índice em um recurso de endpoint de índice.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - INDEX_ENDPOINT_ID: o ID do endpoint de índice de destino.
- CORPUS_ID: o ID do corpus de destino.
- INDEX_ID: o ID do índice de destino.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Corpo JSON da solicitação:
{
"deployedIndex": {
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{
"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"
}
}