Guia do detector de objetos

Ícone representando o card do modelo de detector de objetos.

O modelo de 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 para o BigQuery. O modelo é executado a um FPS. Ao criar um app que usa o modelo de detector de objetos, você precisa direcionar a saída do modelo para um conector do BigQuery para ver a saída da previsão.

Especificações do app de modelo de detector de objetos

Use as instruções a seguir para criar um modelo de detector de objetos no console Google Cloud .

Console

Criar um app no Google Cloud console

  1. Para criar um app detector de objetos, siga as instruções em Criar um aplicativo.

    Acesse a guia "Aplicativos"

Adicionar um modelo de detector de objetos

  1. Ao adicionar nós de modelo, selecione Detector de objetos na lista de modelos pré-treinados.

Adicionar um conector do BigQuery

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

    Para 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 Preços do BigQuery.

Ver resultados de saída no BigQuery

Depois que o modelo gerar 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 Studio do Agent Platform Vision.

  1. No console do Google Cloud , abra a página do BigQuery.

    Acessar o BigQuery

  2. Selecione Expandir ao lado do projeto de destino, do nome do conjunto de dados e do nome do aplicativo.

    Selecione a tabela do app no BigQuery.

  3. 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 ficam no início da tabela, enquanto os mais recentes são adicionados ao final. 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 dos objetos e 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 protocol buffer a seguir, observe o seguinte:

  • Carimbo de data/hora: corresponde ao momento em que esse resultado de inferência foi gerado.
  • Caixas identificadas: o principal resultado da detecção que inclui identidade da caixa, informações da caixa delimitadora, pontuação de confiança e previsão de objeto.

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 coletar dados e usar o modelo.

Recomendações de dados de origem

Recomendado:verifique se os objetos na foto 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 consegue processar corretamente:

Objetos da sala de estar claramente visíveis.
Fonte da imagem: Spacejoy no Unsplash.

Ao enviar esses dados de imagem ao modelo, as seguintes informações de detecção de objetos* são retornadas:

* 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 ferramenta do console Google Cloud .

Objetos da sala de estar com caixas delimitadoras, rótulos e anotações de pontuação de confiança.
Fonte da imagem: Spacejoy no Unsplash (anotações adicionadas manualmente).

Não recomendado:evite dados de imagem em que os itens principais do objeto estejam muito pequenos no frame.

Exemplos de dados de imagem que o detector de objetos não consegue processar corretamente:

Objetos muito pequenos no enquadramento para serem detectados.
Fonte da imagem: Bernard Hermant no Unsplash (imagem cortada).

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

Exemplos de dados de imagem que o detector de objetos não consegue processar corretamente:

Itens de objeto parcialmente cobertos por outros objetos em primeiro plano.
Fonte da imagem: Şahin Sezer Dinçer no Unsplash.

Limitações

  • Resolução do vídeo: a resolução máxima recomendada para o vídeo de entrada é 1920 x 1080, e a resolução mínima recomendada é 160 x 120.
  • Iluminação: a performance do modelo é sensível às condições de iluminação. O brilho ou a escuridão extremos podem reduzir a qualidade da detecção.
  • Tamanho do objeto: o detector de objetos tem um tamanho mínimo detectável. Verifique se os objetos de destino são grandes e visíveis o suficiente nos dados de vídeo.