Нестандартные модели с комплектом ML

По умолчанию API-интерфейсы ML Kit используют модели машинного обучения, обученные Google. Эти модели предназначены для широкого спектра применений. Однако в некоторых случаях использования требуются более целевые модели. Вот почему некоторые API-интерфейсы ML Kit теперь позволяют заменять модели по умолчанию на собственные модели TensorFlow Lite.

И маркировка изображений , и API обнаружения и отслеживания объектов поддерживают пользовательские модели классификации изображений. Они совместимы с набором высококачественных предварительно обученных моделей в TensorFlow Hub или с вашей собственной моделью, обученной с помощью TensorFlow, AutoML Vision Edge или TensorFlow Lite Model Maker.

Если вам нужно индивидуальное решение для других областей или вариантов использования, посетите страницу «Машинное обучение на устройстве» , где вы найдете инструкции по всем решениям и инструментам Google для машинного обучения на устройстве.

Преимущества использования ML Kit с пользовательскими моделями

Преимущества использования пользовательской модели классификации изображений с ML Kit:

  • Простые в использовании API высокого уровня . Нет необходимости иметь дело с вводом/выводом низкоуровневых моделей, выполнять предварительную/постобработку изображений или строить конвейер обработки.
  • Не нужно беспокоиться о сопоставлении меток самостоятельно : ML Kit извлекает метки из метаданных модели TFLite и выполняет сопоставление за вас.
  • Поддерживает пользовательские модели из широкого спектра источников : от предварительно обученных моделей, опубликованных в TensorFlow Hub, до новых моделей, обученных с помощью TensorFlow, AutoML Vision Edge или TensorFlow Lite Model Maker.
  • Поддерживает модели, размещенные в Firebase . Уменьшает размер APK за счет загрузки моделей по запросу. Отправляйте обновления модели без повторной публикации приложения и выполняйте простое A/B-тестирование с помощью Firebase Remote Config.
  • Оптимизирован для интеграции с API камеры Android .

И особенно для обнаружения и отслеживания объектов :

  • Повысьте точность классификации , сначала обнаруживая объекты и запуская классификатор только в соответствующей области изображения.
  • Обеспечьте интерактивный опыт в реальном времени , предоставляя пользователям немедленную обратную связь об объектах по мере их обнаружения и классификации.

Используйте предварительно обученную модель классификации изображений.

Вы можете использовать предварительно обученные модели TensorFlow Lite при условии, что они соответствуют набору критериев . Через TensorFlow Hub мы предлагаем набор проверенных моделей — от Google или других создателей моделей — которые соответствуют этим критериям.

Используйте модель, опубликованную в TensorFlow Hub.

TensorFlow Hub предлагает широкий спектр предварительно обученных моделей классификации изображений от различных создателей моделей, которые можно использовать с API-интерфейсами маркировки изображений и обнаружения и отслеживания объектов. Следуй этим шагам.

  1. Выберите модель из коллекции моделей, совместимых с ML Kit .
  2. Загрузите файл модели .tflite со страницы сведений о модели. Если возможно, выберите формат модели с метаданными.
  3. Следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , чтобы узнать, как связать файл модели с вашим проектом и использовать его в приложении для Android или iOS.

Обучите свою собственную модель классификации изображений

Если ни одна предварительно обученная модель классификации изображений не соответствует вашим потребностям, существуют различные способы обучения вашей собственной модели TensorFlow Lite, некоторые из которых описаны и обсуждаются более подробно ниже.

Варианты обучения собственной модели классификации изображений
AutoML Vision Edge
  • Предлагается через Google Cloud AI
  • Создавайте современные модели классификации изображений.
  • Легко оценить производительность и размер
Создатель моделей TensorFlow Lite
  • Повторное обучение модели (трансферное обучение) занимает меньше времени и требует меньше данных, чем обучение модели с нуля.
Преобразование модели TensorFlow в TensorFlow Lite
  • Обучите модель с помощью TensorFlow, а затем преобразуйте ее в TensorFlow Lite.

AutoML Vision Edge

Модели классификации изображений, обученные с помощью AutoML Vision Edge , поддерживаются пользовательскими моделями в API-интерфейсах API маркировки изображений и обнаружения и отслеживания объектов . Эти API также поддерживают загрузку моделей, размещенных при развертывании моделей Firebase .

Чтобы узнать больше о том, как использовать модель, обученную с помощью AutoML Vision Edge, в приложениях Android и iOS, следуйте руководствам по настраиваемым моделям для каждого API в зависимости от вашего варианта использования.

Создатель моделей TensorFlow Lite

Библиотека TFLite Model Maker упрощает процесс адаптации и преобразования модели нейронной сети TensorFlow в определенные входные данные при развертывании этой модели для приложений машинного обучения на устройстве. Вы можете следить за классификацией изображений Colab с помощью TensorFlow Lite Model Maker .

Чтобы узнать больше о том, как использовать модель, обученную с помощью Model Maker, в ваших приложениях для Android и iOS, следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , в зависимости от вашего варианта использования.

Модели, созданные с помощью конвертера TensorFlow Lite.

Если у вас есть существующая модель классификации изображений TensorFlow, вы можете преобразовать ее с помощью конвертера TensorFlow Lite . Убедитесь, что созданная модель соответствует приведенным ниже требованиям совместимости.

Чтобы узнать больше о том, как использовать модель TensorFlow Lite в ваших приложениях для Android и iOS, следуйте нашим руководствам по API маркировки изображений или API обнаружения и отслеживания объектов , в зависимости от вашего варианта использования.

Совместимость модели TensorFlow Lite

Вы можете использовать любую предварительно обученную модель классификации изображений TensorFlow Lite, если она соответствует этим требованиям:

Тензоры

  • Модель должна иметь только один входной тензор со следующими ограничениями:
    • Данные представлены в формате пикселей RGB.
    • Данные имеют тип UINT8 или FLOAT32. Если тип входного тензора — FLOAT32, он должен указать NormalizationOptions, присоединив Metadata .
    • Тензор имеет 4 измерения: BxHxWxC, где:
      • B — размер партии. Оно должно быть равно 1 (вывод для больших пакетов не поддерживается).
      • W и H — ширина и высота ввода.
      • C — количество ожидаемых каналов. Должно быть 3.
  • Модель должна иметь хотя бы один выходной тензор с N классами и 2 или 4 измерениями:
    • (1xН)
    • (1x1x1xN)
  • В настоящее время полностью поддерживаются только модели с одной головкой. Модели с несколькими головками могут давать неожиданные результаты.

Метаданные

Вы можете добавить метаданные в файл TensorFlow Lite, как описано в разделе Добавление метаданных в модель TensorFlow Lite .

Чтобы использовать модель с входным тензором FLOAT32, необходимо указать NormalizationOptions в метаданных.

Мы также рекомендуем прикрепить эти метаданные к выходному тензору TensorMetadata :

  • Карта меток, определяющая имя каждого выходного класса в виде AssociatedFile с типом TENSOR_AXIS_LABELS (в противном случае могут быть возвращены только числовые индексы выходного класса).
  • Порог оценки по умолчанию, ниже которого результаты считаются слишком низкими для возврата, как ProcessUnit с ScoreThresholdingOptions .