Guía del detector de objetos

Ícono que representa la ficha del modelo de detector de objetos.

El modelo de detector de objetos puede identificar y ubicar más de 500 tipos de objetos en un video. El modelo acepta una transmisión de video por Internet como entrada y genera un búfer de protocolo con los resultados de la detección en BigQuery. El modelo se ejecuta a un FPS. Cuando creas una app que usa el modelo de detector de objetos, debes dirigir el resultado del modelo a un conector de BigQuery para ver el resultado de la predicción.

Especificaciones de la app del modelo de detector de objetos

Sigue estas instrucciones para crear un modelo de detector de objetos en la consola deGoogle Cloud .

Console

Crea una app en la consola de Google Cloud

  1. Para crear una app de detección de objetos, sigue las instrucciones en Cómo compilar una aplicación.

    Ir a la pestaña Aplicaciones

Agrega un modelo de detector de objetos

  1. Cuando agregues nodos de modelos, selecciona Detector de objeto en la lista de modelos previamente entrenados.

Agrega un conector de BigQuery

  1. Para usar el resultado, conecta la app a un conector de BigQuery.

    Para obtener información sobre cómo usar el conector de BigQuery, consulta Conectar y almacenar datos en BigQuery. Para obtener información sobre los precios de BigQuery, consulta la página Precios de BigQuery.

Cómo ver los resultados de salida en BigQuery

Después de que el modelo genera datos en BigQuery, visualiza las anotaciones de salida en el panel de BigQuery.

Si no especificaste una ruta de acceso de BigQuery, puedes ver la ruta de acceso creada por el sistema en la página Studio de Agent Platform Vision.

  1. En la consola de Google Cloud , abre la página de BigQuery.

    Ir a BigQuery

  2. Selecciona Expandir junto al proyecto de destino, el nombre del conjunto de datos y el nombre de la aplicación.

    Selecciona la tabla de la app en BigQuery.

  3. En la vista de detalles de la tabla, haz clic en Vista previa. Consulta los resultados en la columna anotación. Para obtener una descripción del formato de salida, consulta resultado del modelo.

La aplicación almacena los resultados en orden cronológico. Los resultados más antiguos se encuentran al principio de la tabla, mientras que los más recientes se agregan al final. Para consultar los resultados más recientes, haz clic en el número de página para ir a la última página de la tabla.

Salida del modelo

El modelo genera cuadros delimitadores, sus etiquetas de objeto y puntuaciones de confianza para cada fotograma de video. El resultado también contiene una marca de tiempo. La velocidad del flujo de salida es de un fotograma por segundo.

En el siguiente ejemplo de salida de búfer de protocolo, observa lo siguiente:

  • Marca de tiempo: La marca de tiempo corresponde al momento de este resultado de inferencia.
  • Cajas identificadas: Es el resultado principal de la detección que incluye la identidad de la caja, la información del cuadro delimitador, la puntuación de confianza y la predicción del objeto.

Ejemplo de objeto JSON de salida de anotación

{
  "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"
      }
    }
  ]
}

Definición del búfer 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ácticas recomendadas y limitaciones

Para obtener los mejores resultados cuando uses el detector de objetos, ten en cuenta lo siguiente cuando obtengas datos y uses el modelo.

Recomendaciones de datos de origen

Recomendación: Asegúrate de que los objetos de la foto sean claros y no estén cubiertos ni ocultos en gran medida por otros objetos.

Datos de imágenes de muestra que el detector de objetos puede procesar correctamente:

Objetos de la sala de estar claramente visibles
Fuente de la imagen: Spacejoy en Unsplash.

Si se le envía al modelo esta información de la imagen, se devuelve la siguiente información de detección de objetos*:

* Las anotaciones en la siguiente imagen son solo para fines ilustrativos. Los cuadros delimitadores, las etiquetas y las puntuaciones de confianza se dibujan manualmente y no los agrega el modelo ni ninguna herramienta de la consola de Google Cloud .

Objetos de la sala de estar con anotaciones de cuadros delimitadores, etiquetas y puntuación de confianza.
Fuente de la imagen: Spacejoy en Unsplash (anotaciones agregadas manualmente).

No se recomienda: Evita los datos de imagen en los que los elementos clave del objeto sean demasiado pequeños en el encuadre.

Datos de imágenes de muestra que el detector de objetos no puede procesar correctamente:

Elementos de objeto que son demasiado pequeños en el encuadre para ser detectados.
Fuente de la imagen: Bernard Hermant en Unsplash (imagen recortada).

No se recomienda: Evita los datos de imágenes que muestren los elementos clave del objeto parcial o totalmente cubiertos por otros objetos.

Datos de imágenes de muestra que el detector de objetos no puede procesar correctamente:

Elementos de objeto que están parcialmente cubiertos por otros objetos en primer plano.
Fuente de la imagen: Şahin Sezer Dinçer en Unsplash.

Limitaciones

  • Resolución de video: La resolución de video de entrada máxima recomendada es de 1,920 × 1,080, y la resolución mínima recomendada es de 160 × 120.
  • Iluminación: El rendimiento del modelo es sensible a las condiciones de iluminación. La luminosidad o la oscuridad extremas pueden reducir la calidad de la detección.
  • Tamaño del objeto: El detector de objetos tiene un tamaño mínimo de objeto detectable. Asegúrate de que los objetos objetivo sean lo suficientemente grandes y visibles en los datos de tu video.