В этом блоге мы собираемся обсудить облачную маркировку изображений в Android с использованием набора Firebase ML. Ранее я объяснял, как объекты можно извлекать из изображения и классифицировать с помощью модели комплекта машинного обучения на устройстве. Разметку изображений можно рассматривать как расширенную версию обнаружения объектов. Единственное отличие состоит в том, что это происходит не на устройстве, а зависит от облачного API Firebase для маркировки объектов на изображении.
Просто хочу подчеркнуть, что для использования облачного API Firebase вам необходимо преобразовать проект Firebase в план blaze. Он дает вам около 1000 бесплатных посещений в месяц, и если вы хотите внедрить его в производственное приложение, ознакомьтесь с тарифными планами, которые подходят для вашего использования.
Чтобы выполнить маркировку изображений с помощью комплекта ML, выполните следующие действия.
- Получите план Cloud Blaze для проекта.
- Сделайте снимок и преобразуйте его в изображение Firebase Vision, как показано в блоге ниже.
- Создайте детектор cloudImageLabeller и передайте изображение детектору.
- Получите детали изображения в методе успеха.
Получите план 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. Давайте расти вместе 💚