Guía del detector de objetos

Ficha del modelo de desenfoque de personas en la consola

El modelo del 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 del 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 del detector de objetos

Usa las siguientes instrucciones para crear un modelo del detector de objetos en la Google Cloud consola.

Console

Crea una app en la Google Cloud consola

  1. Para crear una app del detector de objetos, sigue las instrucciones en Compila una aplicación.

    Ir a la pestaña Aplicaciones

Agrega un modelo del detector de objetos

  1. Cuando agregues nodos de modelo, selecciona el detector de objetos de 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 el uso del conector de BigQuery, consulta Conecta y almacena datos en BigQuery. Para obtener información sobre los precios de BigQuery, consulta la página Precios de BigQuery.

Visualiza los resultados en BigQuery

Después de que el modelo envíe datos a BigQuery, visualiza las anotaciones de salida en el panel de BigQuery.

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

  1. En la Google Cloud consola de, 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. Visualiza 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 son el comienzo de la tabla, mientras que los más recientes se agregan al final de la tabla. 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.

Resultado del modelo

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

En el siguiente ejemplo de salida del búfer de protocolo, ten en cuenta lo siguiente:

  • Marca de tiempo: La marca de tiempo corresponde a la hora de este resultado de inferencia.
  • Cuadros identificados: El resultado de detección principal que incluye la identidad del cuadro, la información del cuadro delimitador, la puntuación de confianza y la predicción de objetos.

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 usas el detector de objetos, ten en cuenta lo siguiente cuando obtengas datos y uses el modelo.

Recomendaciones de datos de origen

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

Ejemplo de datos de imagen que el detector de objetos puede procesar correctamente:

Imagen de ejemplo de objetos claramente visibles
Fuente de la imagen: Spacejoy en Unsplash.

Si envías estos datos de imagen al modelo, se mostrará la siguiente información de detección de objetos information*:

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

Imagen de ejemplo de objetos claramente visibles
Fuente de la imagen: Spacejoy en Unsplash (anotaciones agregadas de forma manual).

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

Ejemplo de datos de imagen que el detector de objetos no puede procesar correctamente:

Imagen de ejemplo de elementos de objetos que son demasiado pequeños para detectarse
Fuente de la imagen: Bernard Hermant en Unsplash (imagen recortada).

No recomendado: Evita los datos de imagen que muestran los elementos clave del objeto cubiertos parcial o totalmente por otros objetos.

Ejemplo de datos de imagen que el detector de objetos no puede procesar correctamente:

Imagen de ejemplo de elementos de objetos que están parcialmente cubiertos por otros objetos
Fuente de la imagen: Şahin Sezer Dinçer en Unsplash.

Limitaciones

  • Resolución de video: La resolución máxima de video de entrada recomendada es de 1920 x 1080, y la resolución mínima recomendada es de 160 x 120.
  • Iluminación: El rendimiento del modelo es sensible a las condiciones de iluminación. El brillo o la oscuridad extremos 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 de destino sean lo suficientemente grandes y visibles en tus datos de video.