Detecção e rastreamento de objetos

Com a API de detecção e rastreamento de objetos no dispositivo do Kit de ML, é possível detectar e rastrear objetos em uma imagem ou feed de câmera ao vivo.

Também é possível classificar os objetos detectados usando o classificador geral integrado à API ou seu próprio modelo de classificação de imagem personalizado. Consulte Como usar um modelo personalizado do TensorFlow Lite para mais informações.

Como a detecção e o rastreamento de objetos acontecem no dispositivo, ela funciona bem como o front-end do pipeline de pesquisa visual. Depois de detectar e filtrar objetos, é possível transmiti-los para um back-end de nuvem, como a Pesquisa de produtos do Cloud Vision.

iOS Android

Principais recursos

  • Detecção e rastreamento rápidos de objetos Detecte objetos e receba a localização deles na imagem. Rastreie objetos em frames de imagem sucessivos.
  • Modelo no dispositivo otimizado O modelo de detecção e rastreamento de objetos é otimizado para dispositivos móveis e destina-se ao uso em aplicativos em tempo real, mesmo em dispositivos mais simples.
  • Detecção de objetos em destaque Define automaticamente o objeto mais proeminente em uma imagem.
  • Classificação aproximada Classifique objetos em categorias amplas, que você pode usar para filtrar objetos que não são do seu interesse. As seguintes categorias são aceitas: artigos domésticos, artigos de moda, alimentos, plantas e lugares.
  • Classificação com um modelo personalizado Use seu próprio modelo de classificação de imagem personalizado para identificar ou filtrar categorias específicas de objetos. Deixe o plano de fundo da imagem de fora para melhorar o desempenho do seu modelo personalizado.

Resultados de exemplo

Como rastrear o objeto mais proeminente nas imagens

O exemplo abaixo mostra os dados de rastreamento de três frames sucessivos com o classificador aproximado padrão fornecido pelo Kit de ML.

ID de acompanhamento 0
Limites (95, 45), (496, 45), (496, 240), (95, 240)
Categoria POSIÇÃO
Confiança na classificação 0,9296875
ID de acompanhamento 0
Limites (84, 46), (478, 46), (478, 247), (84, 247)
Categoria POSIÇÃO
Confiança na classificação 0,8710938
ID de acompanhamento 0
Limites (53, 45), (519, 45), (519, 240), (53, 240)
Categoria POSIÇÃO
Confiança na classificação 0,8828125

Foto: Christian Ferrer [CC BY-SA 4.0]

Vários objetos em uma imagem estática

O exemplo abaixo mostra os dados dos quatro objetos detectados na imagem com o classificador aproximado padrão fornecido pelo kit de ML.

Objeto 0
Limites (1, 97), (332, 97), (332, 332), (1, 332)
Categoria FASHION_GOOD
Confiança na classificação 0,95703125
Objeto 1
Limites (186, 80), (337, 80), (337, 226), (186, 226)
Categoria FASHION_GOOD
Confiança na classificação 0,84375
Objeto 2
Limites (296, 80), (472, 80), (472, 388), (296, 388)
Categoria FASHION_GOOD
Confiança na classificação 0,94921875
Objeto 3
Limites (439, 83), (615, 83), (615, 306), (439, 306)
Categoria FASHION_GOOD
Confiança na classificação 0,9375

Como usar um modelo personalizado do TensorFlow Lite

O classificador aproximado padrão foi criado para cinco categorias, fornecendo informações limitadas sobre os objetos detectados. Talvez você precise de um modelo de classificador mais especializado, que abranja um domínio mais restrito de conceitos com mais detalhes. Por exemplo, um modelo para distinguir entre espécies de flores ou tipos de alimentos.

Essa API permite adaptar-se a um caso de uso específico, oferecendo suporte a modelos de classificação de imagem personalizados de uma ampla variedade de origens. Consulte Modelos personalizados com o Kit de ML para saber mais. Os modelos personalizados podem ser empacotados com seu aplicativo ou dinamicamente transferidos por download da nuvem usando o serviço de implantação de modelos do Firebase Machine Learning.

iOS Android

Pré-processamento de imagens de entrada

Se necessário, a detecção e o rastreamento de objetos usam dimensionamento e alongamento de imagem bilinear para ajustar o tamanho e a proporção da imagem de entrada de modo que elas se encaixem nos requisitos do modelo subjacente.