Guia do detetor de objetos

cartão do modelo de esbatimento de pessoas na consola

O modelo de detetor de objetos pode identificar e localizar mais de 500 tipos de objetos num vídeo. O modelo aceita um stream de vídeo como entrada e produz um protocol buffer com os resultados da deteção para o BigQuery. O modelo é executado a 1 FPS. Quando cria uma app que usa o modelo de deteção de objetos, tem de direcionar o resultado do modelo para um conector do BigQuery para ver o resultado da previsão.

Especificações da app do modelo de detetor de objetos

Siga as instruções abaixo para criar um modelo de deteção de objetos na Google Cloud consola.

Consola

Crie uma app na Google Cloud consola

  1. Para criar uma app de deteção de objetos, siga as instruções em Crie uma aplicação.

    Aceda ao separador Aplicações

Adicione um modelo de detetor de objetos

  1. Quando adiciona nós de modelos, selecione o Detector de objetos na lista de modelos pré-formados.

Adicione um conetor do BigQuery

  1. Para usar a saída, associe a app a um conector do BigQuery.

    Para obter informações sobre a utilização do conetor do BigQuery, consulte o artigo Estabeleça ligação e armazene dados no BigQuery. Para ver informações sobre os preços do BigQuery, consulte a página Preços do BigQuery.

Veja os resultados da saída no BigQuery

Depois de o modelo gerar dados para o BigQuery, veja as anotações de saída no painel de controlo do BigQuery.

Se não especificou um caminho do BigQuery, pode ver o caminho criado pelo sistema na página do Studio do Vertex AI Vision.

  1. Na Google Cloud consola, abra a página do BigQuery.

    Aceda ao BigQuery

  2. Selecione Expandir junto ao projeto de destino, ao nome do conjunto de dados e ao nome da aplicação.

    Selecione a tabela de apps no BigQuery

  3. Na vista de detalhes da tabela, clique em Pré-visualizar. Veja os resultados na coluna anotação. Para uma descrição do formato de saída, consulte a saída do modelo.

A aplicação armazena os resultados por ordem cronológica. Os resultados mais antigos são o início da tabela, enquanto os resultados mais recentes são adicionados ao final da tabela. Para verificar os resultados mais recentes, clique no número da página para aceder à última página da tabela.

Saída do modelo

O modelo produz caixas delimitadoras, as respetivas etiquetas de objetos e pontuações de confiança para cada frame de vídeo. A saída também contém uma indicação de tempo. A taxa do fluxo de saída é de um frame por segundo.

No exemplo de saída do buffer do protocolo que se segue, tenha em atenção o seguinte:

  • Data/hora: a data/hora corresponde à hora deste resultado de inferência.
  • Caixas identificadas: o principal resultado da deteção que inclui a identidade da caixa, informações da caixa delimitadora, pontuação de confiança e previsão de objetos.

Objeto JSON de saída de anotação de exemplo

{
  "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 do 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 quando usar o detetor de objetos, considere o seguinte quando obtiver dados e usar o modelo.

Recomendações de dados de origem

Recomendado: certifique-se de que os objetos na imagem estão nítidos e não estão cobertos nem muito obscurecidos por outros objetos.

Dados de imagem de exemplo que o detetor de objetos consegue processar corretamente:

Imagem de amostra de objetos claramente visíveis
Fonte da imagem: Spacejoy no Unsplash.

O envio destes dados de imagem ao modelo devolve as seguintes informações de deteção de objetos*:

* As anotações na imagem seguinte destinam-se apenas a fins ilustrativos. As caixas delimitadoras, as etiquetas e as classificações de confiança são desenhadas manualmente e não são adicionadas pelo modelo nem por qualquer ferramenta da consola. Google Cloud

Imagem de amostra de objetos claramente visíveis
Fonte da imagem: Spacejoy no Unsplash (anotações adicionadas manualmente).

Não recomendado: evite dados de imagens em que os itens de objetos principais sejam demasiado pequenos no enquadramento.

Dados de imagem de exemplo que o detetor de objetos não consegue processar corretamente:

Imagem de amostra de itens de objetos demasiado pequenos para serem detetados
Fonte da imagem: Bernard Hermant no Unsplash (imagem recortada).

Não recomendado: evite dados de imagens que mostrem os itens de objetos principais parcial ou totalmente cobertos por outros objetos.

Dados de imagem de exemplo que o detetor de objetos não consegue processar corretamente:

Imagem de exemplo de itens de objetos parcialmente cobertos por outros objetos
Origem da imagem: Şahin Sezer Dinçer no Unsplash.

Limitações

  • Resolução do vídeo: a resolução máxima do vídeo de entrada recomendada é 1920 x 1080, e a resolução mínima recomendada é 160 x 120.
  • Iluminação: o desempenho do modelo é sensível às condições de iluminação. O brilho ou a escuridão extremos podem levar a uma qualidade de deteção inferior.
  • Tamanho do objeto: o detetor de objetos tem um tamanho mínimo de objeto detetável. Certifique-se de que os objetos de destino são suficientemente grandes e visíveis nos dados do vídeo.