Обнаружение и отслеживание объектов

С помощью API обнаружения и отслеживания объектов ML Kit на устройстве вы можете обнаруживать и отслеживать объекты на изображении или в реальном времени с камеры.

При желании вы можете классифицировать обнаруженные объекты либо с помощью грубого классификатора, встроенного в API, либо с помощью собственной модели классификации изображений. Дополнительную информацию см. в разделе «Использование пользовательской модели TensorFlow Lite» .

Поскольку обнаружение и отслеживание объектов происходит на устройстве, оно хорошо работает в качестве внешнего интерфейса конвейера визуального поиска. После обнаружения и фильтрации объектов их можно передать в облачный сервер, например Cloud Vision Product Search .

iOS Android

Ключевые возможности

  • Быстрое обнаружение и отслеживание объектов. Обнаруживайте объекты и узнавайте их местоположение на изображении. Отслеживайте объекты в последовательных кадрах изображения.
  • Оптимизированная модель на устройстве. Модель обнаружения и отслеживания объектов оптимизирована для мобильных устройств и предназначена для использования в приложениях реального времени, даже на устройствах более низкого уровня.
  • Обнаружение заметных объектов Автоматически определяет наиболее заметный объект на изображении.
  • Грубая классификация. Классифицируйте объекты по широким категориям, которые можно использовать для фильтрации объектов, которые вас не интересуют. Поддерживаются следующие категории: товары для дома, модные товары, продукты питания, растения и места.
  • Классификация с помощью пользовательской модели Используйте собственную модель классификации изображений для идентификации или фильтрации определенных категорий объектов. Улучшите производительность вашей пользовательской модели, исключив фон изображения.

Примеры результатов

Отслеживание наиболее заметного объекта на изображениях

В приведенном ниже примере показаны данные отслеживания из трех последовательных кадров с использованием грубого классификатора по умолчанию, предоставленного ML Kit.

Идентификатор отслеживания 0
Границы (95, 45), (496, 45), (496, 240), (95, 240)
Категория МЕСТО
Достоверность классификации 0,9296875
Идентификатор отслеживания 0
Границы (84, 46), (478, 46), (478, 247), (84, 247)
Категория МЕСТО
Достоверность классификации 0,8710938
Идентификатор отслеживания 0
Границы (53, 45), (519, 45), (519, 240), (53, 240)
Категория МЕСТО
Достоверность классификации 0,8828125

Фото: Кристиан Феррер [CC BY-SA 4.0]

Несколько объектов в статическом изображении

В приведенном ниже примере показаны данные для четырех объектов, обнаруженных на изображении с помощью грубого классификатора по умолчанию, предоставленного ML Kit.

Объект 0
Границы (1, 97), (332, 97), (332, 332), (1, 332)
Категория МОДА_ХОРОШО
Достоверность классификации 0,95703125
Объект 1
Границы (186, 80), (337, 80), (337, 226), (186, 226)
Категория МОДА_ХОРОШО
Достоверность классификации 0,84375
Объект 2
Границы (296, 80), (472, 80), (472, 388), (296, 388)
Категория МОДА_ХОРОШО
Достоверность классификации 0,94921875
Объект 3
Границы (439, 83), (615, 83), (615, 306), (439, 306)
Категория МОДА_ХОРОШО
Достоверность классификации 0,9375

Использование собственной модели TensorFlow Lite.

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

Этот API позволяет адаптироваться к конкретному варианту использования, поддерживая пользовательские модели классификации изображений из широкого спектра источников. Дополнительную информацию см. в разделе Пользовательские модели с комплектом ML . Пользовательские модели можно объединить с вашим приложением или динамически загрузить из облака с помощью службы развертывания моделей Firebase Machine Learning.

iOS Android

Предварительная обработка входного изображения

При необходимости обнаружение и отслеживание объектов использует билинейное масштабирование и растяжение изображения для настройки размера и соотношения сторон входного изображения так, чтобы они соответствовали требованиям базовой модели.