Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Modelos personalizados com o Kit de ML

Por padrão, as APIs do Kit de ML usam os modelos de machine learning treinados pelo Google. Esses modelos foram criados para abranger uma grande variedade de aplicativos. No entanto, alguns casos de uso exigem modelos mais segmentados. É por isso que algumas APIs do Kit de ML agora permitem substituir os modelos padrão por modelos personalizados do TensorFlow Lite.

Tanto a API Labeling quanto a API Object Detection & Tracking oferecem suporte a modelos de classificação de imagem personalizados. Eles são compatíveis com uma seleção de modelos pré-treinados de alta qualidade no TensorFlow Hub ou seu próprio modelo personalizado treinado com o TensorFlow, o AutoML Vision Edge ou o TensorFlow Lite Model Maker.

Se você precisar de uma solução personalizada para outros domínios ou casos de uso, acesse a página do Machine Learning no dispositivo para ver orientações sobre todas as soluções e ferramentas do Google para machine learning no dispositivo.

Benefícios do Kit de ML com modelos personalizados

Os benefícios de usar um modelo personalizado de classificação de imagens com o Kit de ML são:

  • APIs de alto nível fáceis de usar: não é necessário lidar com entrada/saída de modelo de baixo nível, processar pré/pós-processamento de imagem ou criar um pipeline de processamento.
  • Você não precisa se preocupar com o mapeamento de rótulos, o Kit de ML extrai os rótulos dos metadados do modelo do TFLite e faz o mapeamento para você.
  • Compatível com modelos personalizados de várias fontes, desde modelos pré-treinados publicados no TensorFlow Hub até novos modelos treinados com o TensorFlow, o AutoML Vision Edge ou o TensorFlow Lite Model Maker.
  • Compatível com modelos hospedados com o Firebase. Reduz o tamanho do APK fazendo o download de modelos sob demanda. Envie atualizações de modelos sem republicar o app e execute testes A/B fáceis com a Configuração remota do Firebase.
  • Otimizado para integração com as APIs da Câmera do Android.

Especificamente para Detecção e rastreamento de objetos:

  • Melhore a precisão da classificação localizando os objetos primeiro e execute apenas o classificador na área de imagem relacionada.
  • Ofereça uma experiência interativa em tempo real, fornecendo aos usuários feedback imediato sobre os objetos que são detectados e classificados.

Usar um modelo de classificação de imagem pré-treinado

É possível usar modelos pré-treinados do TensorFlow Lite, desde que eles atendam a um conjunto de critérios. Com o TensorFlow Hub, oferecemos um conjunto de modelos aprovados (do Google ou de outros criadores) que atendem a esses critérios.

Usar um modelo publicado no TensorFlow Hub

O TensorFlow Hub oferece uma ampla gama de modelos de classificação de imagens pré-treinados, de vários criadores, que podem ser usados com as APIs de rotulagem de imagens e detecção de objetos e rastreamento. Siga estas etapas.

  1. Escolha um modelo na coleção de modelos compatíveis com o Kit de ML.
  2. Faça o download do arquivo de modelo .tflite na página de detalhes do modelo. Quando disponível, escolha um formato de modelo com metadados.
  3. Siga nossos guias das APIs API Labeling Image ou API Object Detection and Tracking sobre como agrupar o arquivo de modelo no seu projeto e usá-lo no seu app Android ou iOS.

Treine seu próprio modelo de classificação de imagens

Caso nenhum modelo de classificação de imagem pré-treinado atenda às suas necessidades, há várias maneiras de treinar seu próprio modelo do TensorFlow Lite, e algumas delas são descritas e discutidas mais detalhadamente abaixo.

Opções para treinar seu próprio modelo de classificação de imagens
AutoML Vision Edge
  • Oferecido por meio de IA do Google Cloud
  • Criar modelos de classificação de imagens de última geração
  • Avalie com facilidade a performance e o tamanho
TensorFlow Lite Model Maker
  • Treinar novamente um modelo (aprendizado por transferência), leva menos tempo e exige menos dados do que treinar um modelo do zero
Converter um modelo do TensorFlow em um TensorFlow Lite
  • Treinar e converter um modelo com o TensorFlow Lite

AutoML Vision Edge

Os modelos de classificação de imagens treinados com o AutoML Vision Edge são compatíveis com os modelos personalizados nas APIs de Rotulagem de imagens e API de detecção e rastreamento de objetos. Essas APIs também aceitam o download de modelos hospedados com a implantação de modelos do Firebase.

Para saber mais sobre como usar um modelo treinado com o AutoML Vision Edge em seus aplicativos para Android e iOS, siga os guias de modelo personalizado para cada API, dependendo do seu caso de uso.

Criador de modelos do TensorFlow Lite

A biblioteca do TFLite Model Maker simplifica o processo de adaptação e conversão de um modelo de rede neural do TensorFlow para dados de entrada específicos ao implantar esse modelo para aplicativos de ML no dispositivo. Siga o Colab para classificação de imagens com o TensorFlow Lite Model Maker.

Para saber mais sobre como usar um modelo treinado com o Model Maker nos seus apps Android e iOS, siga nossos guias para a API Image Labeling ou a API Object Detection and Tracking, dependendo do caso de uso.

Modelos criados usando o conversor do TensorFlow Lite

Se você tiver um modelo de classificação de imagem do TensorFlow, poderá convertê-lo usando o conversor do TensorFlow Lite. Verifique se o modelo criado atende aos requisitos de compatibilidade abaixo.

Para saber mais sobre como usar um modelo do TensorFlow Lite em apps Android e iOS, siga nossos guias para a API Image Labeling API ou para a API Object Detection and Tracking, dependendo do caso de uso.

Compatibilidade com os modelos do TensorFlow Lite

É possível usar qualquer modelo pré-treinado de classificação de imagens do TensorFlow Lite, contanto que ele atenda a estes requisitos:

Tensores

  • O modelo precisa ter apenas um tensor de entrada com as seguintes restrições:
    • Os dados estão no formato pixel RGB.
    • Os dados são do tipo UINT8 ou FLOAT32. Se o tipo de tensor de entrada for FLOAT32, ele precisará especificar as NormalizationOptions anexando Metadata.
    • O tensor tem quatro dimensões : BxHxWxC, em que:
      • B é o tamanho do lote. Ele precisa ser 1 (não há suporte para inferências em lotes maiores).
      • W e H são a largura e a altura de entrada.
      • C é a quantidade de canais esperados. Precisa ser 3.
  • O modelo precisa ter pelo menos um tensor de saída com N classes e duas ou quatro dimensões:
    • (1xN)
    • (1x1x1xN)

Metadados

É possível adicionar metadados ao arquivo do TensorFlow Lite, conforme explicado em Como adicionar metadados ao modelo do TensorFlow Lite.

Para usar um modelo com o tensor de entrada FLOAT32, especifique NormalizationOptions nos metadados.

Também recomendamos que você anexe esses metadados ao tensor de saída TensorMetadata:

  • Um mapa de rótulos que especifica o nome de cada classe de saída, como um AssociatedFile com o tipo TENSOR_AXIS_LABELS. Caso contrário, apenas os índices de classe de saída numéricas podem ser retornados.
  • Um limite de pontuação padrão abaixo do qual os resultados são considerados muito baixos de confiança a serem retornados, como um ProcessUnit com ScoreThresholdingOptions