Os objetos multimédia (recursos asset) num armazém (corpus) contêm metadados
e recursos annotation. Estes recursos annotationrepresentam um mapeamento de chaves-valores
de conteúdo num asset.
Crie uma anotação de recurso de armazém
Tem de concluir os seguintes passos antes de poder criar uma anotação para um recurso:
- Crie um recurso
assetnum armazém - Crie um
dataSchemacom a mesma chave para indicar o tipo de dados do valorannotation
Uma annotation pode, opcionalmente, ter uma partição temporal associada.
Por exemplo, se um annotation se aplicar a toda a asset, pode omitir qualquer partição temporal associada. Da mesma forma, se uma annotation se aplicar apenas a uma parte específica de um vídeo asset, pode indicar o intervalo de tempo da asset quando criar a annotation.
Crie uma anotação sem partição temporal
Se uma anotação se aplicar à totalidade de um vídeo asset, não tem de fornecer uma partição temporal para a mesma. Use o exemplo seguinte para criar um annotation fornecido pelo utilizador para um asset completo (sem período especificado do vídeo).
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Veja mais informações sobre os pontos finais regionalizados. - PROJECT_NUMBER: o seu Google Cloud número do projeto.
- LOCATION_ID: A região onde está a usar o
Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Veja as regiões disponíveis. - CORPUS_ID: o ID do seu corpus de destino.
- ASSET_ID: o ID do recurso de destino.
- ANNOTATION_ID: (opcional) um valor fornecido pelo utilizador para o ID da anotação. Neste pedido, o valor é adicionado ao URL do pedido no formato:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Corpo JSON do pedido:
{
"user_specified_annotation":{
"key": "camera-location",
"value": {
"str_value": "Sunnyvale"
}
}
}
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte 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/ASSET_ID/annotations"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte 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/ASSET_ID/annotations" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
"userSpecifiedAnnotation": {
"key": "camera-location",
"value": {
"strValue": "Sunnyvale"
}
}
}
Crie uma anotação com uma partição temporal
Se uma anotação se aplicar apenas a parte de um vídeo asset, pode
indicar um intervalo de tempo para a parte do vídeo de destino. Use o exemplo seguinte para criar um annotation fornecido pelo utilizador para um período específico de um vídeo asset usando uma partição temporal.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Veja mais informações sobre os pontos finais regionalizados. - PROJECT_NUMBER: o seu Google Cloud número do projeto.
- LOCATION_ID: A região onde está a usar o
Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Veja as regiões disponíveis. - CORPUS_ID: o ID do seu corpus de destino.
- ASSET_ID: o ID do recurso de destino.
- ANNOTATION_ID: (opcional) um valor fornecido pelo utilizador para o ID da anotação. Neste pedido, o valor é adicionado ao URL do pedido no formato:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Corpo JSON do pedido:
{
"user_specified_annotation": {
"key": "object-detected",
"value": {
"str_value": "cat"
},
"partition": {
"temporal_partition": {
"start_time": {
"seconds": "1630464728"
},
"end_time": {
"seconds": "1630464729"
}
}
}
}
}
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte 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/ASSET_ID/annotations"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte 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/ASSET_ID/annotations" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
"userSpecifiedAnnotation": {
"key": "object-detected",
"value": {
"strValue": "cat"
},
"partition": {
"temporalPartition": {
"startTime": "2022-09-14T20:33:09Z",
"endTime": "2022-09-14T20:33:39Z"
}
}
}
}
Atualize uma anotação (sem partição temporal)
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao
LOCATION_ID, comoeurope-west4-. Veja mais informações sobre os pontos finais regionalizados. - PROJECT_NUMBER: o seu Google Cloud número do projeto.
- LOCATION_ID: A região onde está a usar o
Vertex AI Vision. Por exemplo:
us-central1,europe-west4. Veja as regiões disponíveis. - CORPUS_ID: o ID do seu corpus de destino.
- ASSET_ID: o ID do recurso de destino.
- ANNOTATION_ID: o ID da anotação de destino.
Método HTTP e URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID
Corpo JSON do pedido:
{
"user_specified_annotation":{
"key": "camera-location",
"value": {
"str_value": "UPDATED_FIELD_VALUE"
}
}
}
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte comando:
curl -X PATCH \
-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/ASSET_ID/annotations/ANNOTATION_ID"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json,
e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-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/ASSET_ID/annotations/ANNOTATION_ID" | Select-Object -Expand Content
Deve receber uma resposta JSON semelhante à seguinte:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
"userSpecifiedAnnotation": {
"key": "camera-location",
"value": {
"strValue": "UPDATED_FIELD_VALUE"
}
}
}