Detección y seguimiento de objetos

Con la API de detección y seguimiento de objetos en el dispositivo del Kit de AA, puedes detectar objetos y hacerles seguimiento en una imagen o un feed de cámara en vivo.

De manera opcional, puedes clasificar los objetos detectados, ya sea mediante el clasificador general integrado en la API o tu propio modelo de clasificación de imágenes personalizado. Para obtener más información, consulta Usa un modelo personalizado de TensorFlow Lite.

Debido a que la detección y el seguimiento de objetos se realiza en el dispositivo, funciona bien como frontend de la canalización de búsqueda visual. Después de detectar y filtrar objetos, puedes pasarlos a un backend en la nube, como Cloud Vision Product Search.

iOS Android

Funciones clave

  • Detección y seguimiento rápido de objetos Detecta objetos y obtén sus ubicaciones en la imagen. Realiza un seguimiento de los objetos en marcos de imagen sucesivos.
  • Modelo optimizado en el dispositivo El modelo de detección y seguimiento de objetos está optimizado para dispositivos móviles y diseñado para usarse en aplicaciones en tiempo real, incluso en dispositivos de gama baja.
  • Detección de objetos destacados Determina automáticamente el objeto más destacado en una imagen.
  • Clasificación general: Clasifica objetos en categorías amplias, que puedes usar para filtrar los objetos que no te interesan. Se admiten las siguientes categorías: artículos para el hogar, artículos de moda, alimentos, plantas y lugares.
  • Clasificación con un modelo personalizado. Usa tu propio modelo de clasificación de imágenes personalizado para identificar o filtrar categorías de objetos específicas. Para mejorar el rendimiento de tu modelo personalizado, omite el fondo de la imagen.

Resultados de ejemplo

Haz un seguimiento del objeto más prominente en las imágenes

En el siguiente ejemplo, se muestran los datos de seguimiento de tres fotogramas sucesivos con el clasificador general predeterminado que proporciona el ML Kit.

ID de seguimiento 0
Límites (95, 45), (496, 45), (496, 240), (95, 240)
Categoría LUGAR
Confianza de la clasificación 0,9296875
ID de seguimiento 0
Límites (84, 46), (478, 46), (478, 247), (84, 247)
Categoría LUGAR
Confianza de la clasificación 0,8710938
ID de seguimiento 0
Límites (53, 45), (519, 45), (519, 240), (53, 240)
Categoría LUGAR
Confianza de la clasificación 0,8828125

Foto: Christian Ferrer [CC BY-SA 4.0]

Varios objetos en una imagen estática

En el siguiente ejemplo, se muestran los datos de los cuatro objetos detectados en la imagen con el clasificador generalizado predeterminado que proporciona el ML Kit.

Objeto 0
Límites (1, 97), (332, 97), (332, 332), (1, 332)
Categoría FASHION_GOOD
Confianza de la clasificación 0,95703125
Objeto 1
Límites (186, 80), (337, 80), (337, 226), (186, 226)
Categoría FASHION_GOOD
Confianza de la clasificación 0,84375
Objeto 2
Límites (296, 80), (472, 80), (472, 388), (296, 388)
Categoría FASHION_GOOD
Confianza de la clasificación 0,94921875
Objeto 3
Límites (439, 83), (615, 83), (615, 306), (439, 306)
Categoría FASHION_GOOD
Confianza de la clasificación 0,9375

Usa un modelo personalizado de TensorFlow Lite

El clasificador general predeterminado se compila para cinco categorías que proporciona información limitada sobre los objetos detectados. Es posible que necesites un modelo clasificador más especializado que abarque un dominio de conceptos más reducido con mayor detalle; por ejemplo, un modelo para distinguir entre especies de flores o tipos de comida.

Esta API te permite adaptar a un caso de uso particular, ya que admite modelos personalizados de clasificación de imágenes de una amplia gama de fuentes. Consulta Modelos personalizados con ML Kit para obtener más información. Los modelos personalizados se pueden empaquetar con tu app o descargarlos de forma dinámica de la nube con el servicio de implementación de modelos de aprendizaje automático de Firebase.

iOS Android

Procesamiento previo de la imagen de entrada

Si es necesario, la detección y el seguimiento de objetos usa el escalamiento y estiramiento de imágenes bilineales para ajustar el tamaño de la imagen de entrada y la relación de aspecto, de modo que se ajusten a los requisitos del modelo subyacente.