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
Para crear una app del detector de objetos, sigue las instrucciones en Compila una aplicación.
Agrega un modelo del detector de objetos
- Cuando agregues nodos de modelo, selecciona el detector de objetos de la lista de modelos previamente entrenados.
Agrega un conector de BigQuery
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.
En la Google Cloud consola de, abre la página de BigQuery.
Selecciona Expandir junto al proyecto de destino, el nombre del conjunto de datos y el nombre de la aplicación.
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:
|
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.
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:
|
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:
|
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.