O modelo detector de objetos pode identificar e localizar mais de 500 tipos de objetos em um vídeo. O modelo aceita um fluxo de vídeo como entrada e gera um buffer de protocolo com os resultados da detecção no BigQuery. O modelo é executado a um FPS. Ao criar um app que usa o modelo detector de objetos, você precisa direcionar a saída do modelo para um conector do BigQuery para conferir a saída da previsão.
Especificações do app do modelo detector de objetos
Use as instruções a seguir para criar um modelo detector de objetos no Google Cloud console.
Console
Criar um app no Google Cloud console
Para criar um app detector de objetos, siga as instruções em Criar um aplicativo.
Adicionar um modelo detector de objetos
- Ao adicionar nós de modelo, selecione o detector de objetos na lista de modelos pré-treinados.
Adicionar um conector do BigQuery
Para usar a saída, conecte o app a um conector do BigQuery.
Para mais informações sobre como usar o conector do BigQuery, consulte Conectar e armazenar dados no BigQuery. Para informações sobre preços do BigQuery, consulte a página de preços do BigQuery.
Conferir os resultados da saída no BigQuery
Depois que o modelo gera dados para o BigQuery, confira as anotações de saída no painel do BigQuery.
Se você não especificou um caminho do BigQuery, confira o caminho criado pelo sistema na página do esquema do Agent Platform Vision Studio.
No Google Cloud console do, abra a página do BigQuery.
Selecione Expandir ao lado do projeto de destino, do nome do conjunto de dados e do nome do aplicativo.
Na visualização de detalhes da tabela, clique em Visualizar. Confira os resultados na coluna anotação. Para uma descrição do formato de saída, consulte Saída do modelo.
O aplicativo armazena os resultados em ordem cronológica. Os resultados mais antigos estão no início da tabela, enquanto os mais recentes são adicionados ao final da tabela. Para conferir os resultados mais recentes, clique no número da página para acessar a última página da tabela.
Saída do modelo
O modelo gera caixas delimitadoras, os rótulos de objetos e as pontuações de confiança para cada frame de vídeo. A saída também contém um carimbo de data/hora. A taxa do fluxo de saída é de um frame por segundo.
No exemplo de saída do buffer de protocolo a seguir, observe o seguinte:
- Carimbo de data/hora: corresponde ao horário desse resultado de inferência.
- Caixas identificadas: o principal resultado de detecção que inclui a identidade da caixa, informações da caixa delimitadora, pontuação de confiança e previsão de objetos.
Exemplo de objeto JSON de saída de anotação
{
"currentTime": "2022-11-09T02:18:54.777154048Z",
"identifiedBoxes": [
{
"boxId":"0",
"normalizedBoundingBox": {
"xmin": 0.6963465,
"ymin": 0.23144785,
"width": 0.23944569,
"height": 0.3544306
},
"confidenceScore": 0.49874997,
"entity": {
"labelId": "0",
"labelString": "Houseplant"
}
}
]
}
Definição de buffer de protocolo
// The prediction result protocol buffer for object detection
message ObjectDetectionPredictionResult {
// Current timestamp
protobuf.Timestamp timestamp = 1;
// The entity information for annotations from object detection prediction
// results
message Entity {
// Label id
int64 label_id = 1;
// The human-readable label string
string label_string = 2;
}
// The identified box contains the location and the entity of the object
message IdentifiedBox {
// An unique id for this box
int64 box_id = 1;
// Bounding Box in normalized coordinates [0,1]
message NormalizedBoundingBox {
// Min in x coordinate
float xmin = 1;
// Min in y coordinate
float ymin = 2;
// Width of the bounding box
float width = 3;
// Height of the bounding box
float height = 4;
}
// Bounding Box in the normalized coordinates
NormalizedBoundingBox normalized_bounding_box = 2;
// Confidence score associated with this bounding box
float confidence_score = 3;
// Entity of this box
Entity entity = 4;
}
// A list of identified boxes
repeated IdentifiedBox identified_boxes = 2;
}
Práticas recomendadas e limitações
Para ter os melhores resultados ao usar o detector de objetos, considere o seguinte ao criar dados de origem e usar o modelo.
Recomendações de dados de origem
Recomendado: verifique se os objetos na imagem estão claros e não estão cobertos ou muito obscurecidos por outros objetos.
Exemplo de dados de imagem que o detector de objetos pode processar corretamente:
|
O envio desses dados de imagem ao modelo retorna as seguintes informações de detecção de objetos *:
* As anotações na imagem a seguir são apenas para fins ilustrativos. As caixas delimitadoras, os rótulos e as pontuações de confiança são desenhados manualmente e não são adicionados pelo modelo ou por qualquer Google Cloud ferramenta do console.
Não recomendado: evite dados de imagem em que os itens de objeto principais sejam muito pequenos no frame.
Exemplo de dados de imagem que o detector de objetos não consegue processar corretamente:
|
Não recomendado: Evite dados de imagem que mostrem os itens de objeto principais parcial ou totalmente cobertos por outros objetos.
Exemplo de dados de imagem que o detector de objetos não consegue processar corretamente:
|
Limitações
- Resolução de vídeo: a resolução máxima recomendada para vídeo de entrada é de 1920 x 1080, e a resolução mínima recomendada é de 160 x 120.
- Iluminação: o desempenho do modelo é sensível às condições de iluminação. Brilho ou escuridão extremos podem levar a uma qualidade de detecção mais baixa.
- Tamanho do objeto: o detector de objetos tem um tamanho mínimo de objeto detectável. Verifique se os objetos de destino são suficientemente grandes e visíveis nos dados de vídeo.