Guia do detector de objetos

Card de modelo de desfoque de pessoas no console

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 1 QPS. Ao criar um app que usa o modelo de detector de objetos, direcione a saída do modelo para um conector do BigQuery para conferir 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 consoleGoogle 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 o 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 os preços do BigQuery, consulte a página Preços do BigQuery.

Conferir os resultados de saída no BigQuery

Depois que o modelo enviar dados para o BigQuery, confira as anotações de saída no painel do BigQuery.

Se você não tiver especificado um caminho do BigQuery, poderá conferir o caminho criado pelo sistema na página Studio da Vertex AI Vision.

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

    Ir para o BigQuery

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

    Selecionar 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 estão no início da tabela, e 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, rótulos de 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 buffer de protocolo a seguir, observe o seguinte:

  • Carimbo de data/hora: corresponde ao horário do resultado da inferência.
  • Caixas identificadas: o resultado principal da detecção, que inclui a 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 da 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 buscar dados 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 obscurecidos por outros objetos.

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

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

O envio do modelo desses dados de imagem 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 adicionados pelo modelo ou por qualquer ferramenta do console Google Cloud .

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

Não recomendado:evite dados de imagem em que os itens de objetos principais são muito pequenos no frame.

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

Exemplo de imagem de itens de objeto muito pequenos para serem detectados
Fonte da imagem: Bernard Hermant no Unsplash (imagem cortada).

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

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

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

Limitações

  • Resolução do vídeo: a resolução máxima recomendada para vídeos de entrada é 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. Brilho ou 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 suficientemente grandes e visíveis nos dados do vídeo.