В этом блоге мы собираемся обсудить облачную маркировку изображений в Android с использованием набора Firebase ML. Ранее я объяснял, как объекты можно извлекать из изображения и классифицировать с помощью модели комплекта машинного обучения на устройстве. Разметку изображений можно рассматривать как расширенную версию обнаружения объектов. Единственное отличие состоит в том, что это происходит не на устройстве, а зависит от облачного API Firebase для маркировки объектов на изображении.

Просто хочу подчеркнуть, что для использования облачного API Firebase вам необходимо преобразовать проект Firebase в план blaze. Он дает вам около 1000 бесплатных посещений в месяц, и если вы хотите внедрить его в производственное приложение, ознакомьтесь с тарифными планами, которые подходят для вашего использования.

Чтобы выполнить маркировку изображений с помощью комплекта ML, выполните следующие действия.

  1. Получите план Cloud Blaze для проекта.
  2. Сделайте снимок и преобразуйте его в изображение Firebase Vision, как показано в блоге ниже.
  3. Создайте детектор cloudImageLabeller и передайте изображение детектору.
  4. Получите детали изображения в методе успеха.

Получите план Cloud Blaze для проекта.

Сделайте снимок и преобразуйте его в образ Firebase Vision, как показано в приведенном ниже блоге.



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

Создайте детектор cloudImageLabeller и передайте изображение детектору.

Создайте изображение Firebase Vision из сгенерированного растрового изображения камеры, и это Firebase Vision должно быть передано детектору облачных изображений. Детектор должен иметь тип cloudImageLabeler при инициализации детектора. Детектор набора ML не будет принимать растровое изображение по умолчанию в качестве входных данных, поэтому создание изображения Firebase Vision неизбежно.

Получите детали изображения в методе успеха.

Как только облачный API обнаружит все ярлыки на изображении, список ярлыков будет возвращен в onSuccessListener.

Средство маркировки изображений в облаке сильно отличается от обнаружения объектов на устройстве. Использование облачного API имеет свои преимущества. Помимо категоризации и знания только категории объекта; Имя, достоверность и идентификатор объекта также можно получить с помощью облачного API. Активация учетной записи blaze в вашем проекте также обязательна, в противном случае это приведет к ошибке.

Вот как вы можете интегрировать маркировку изображений в свое приложение, и в заключение перейдите по этой ссылке, чтобы узнать больше о метках, доступных в облачном API.

Весь проект можно найти здесь, на Github. Это общедоступный репозиторий, в котором есть много демонстрационных проектов. Вы можете использовать GitZip, чтобы загрузить конкретный проект из этого репозитория. Вставьте эту ссылкув GitZip, и она у вас есть.

Подпишитесь на меня в Twitter и Medium. Не стесняйтесь вносить свой вклад в Repo — AndroidAppSamples. Давайте расти вместе 💚