HMS Core / Услуги HMS

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

Как интегрировать самую ценную услугу, предоставляемую Huawei, в наше приложение

Это продолжение моей предыдущей статьи, в которой я создал приложение для тренировок с собственным весом с помощью Huawei Awareness Kit. В этой статье мы узнаем, как использовать Huawei ML Kit в приложении для тренировок.

Что такое машинное обучение?

Машинное обучение - это приложение искусственного интеллекта (ИИ), которое дает системам возможность автоматически учиться и совершенствоваться на основе опыта без явного программирования. Машинное обучение фокусируется на разработке компьютерных программ, которые могут получать доступ к данным и использовать их для обучения.

Комплект машинного обучения Huawei

HMS ML Kit позволяет нам поддерживать разнообразные приложения искусственного интеллекта (ИИ) в широком спектре отраслей.

Услуги HMS ML Kit

1) Услуги, связанные с текстом

2) Услуги, связанные с языком / голосом

3) Услуги, связанные с изображениями

4) Услуги по уходу за лицом / телом

5) Пользовательская модель

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

Услуги, связанные с изображениями

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

1) Классификация изображений

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

3) Признание ориентира

4) Сегментация изображения

5) Визуальный поиск продукта

6) Сверхвысокое разрешение изображения

7) Коррекция перекоса документа

Пример использования

Когда нам нужно похудеть, нам нужно отслеживать калории, которые мы потребляем в нашем организме. Для этого нам нужна машина, которая сообщала бы нам калорийность каждой пищи, которую мы принимаем. Таким образом мы можем отслеживать количество калорий и легко терять вес в течение месяца.

Здесь мы будем использовать две службы, предоставляемые службой, связанной с изображениями HMS ML Kit, а именно Обнаружение и отслеживание объектов и Классификация изображений вместе с android camerax, чтобы отслеживать наши пищевые калории.

Демо

Необходимое условие

1) У вас должна быть учетная запись разработчика Huawei.

2) У вас должен быть телефон Huawei с HMS 4.0.0.300 или новее.

3) У вас должен быть ноутбук или настольный компьютер с установленной Android Studio, Jdk 1.8, SDK platform 26 и Gradle 4.6.

Что нужно сделать

1) Создайте проект в студии android.

2) Получите ключ SHA. Для получения ключа SHA можно обратиться к этой статье.

3) Создайте приложение в галерее приложений Huawei.

4) Включите настройку ML kit в разделе Manage APIs.

5) Укажите ключ SHA в разделе информации о приложении.

6) Укажите место для хранения.

7) После выполнения всех вышеперечисленных пунктов нам необходимо загрузить agconnect-services.json из раздела информации о приложении. Скопируйте и вставьте файл Json в папку приложения проекта Android.

8) Введите указанный ниже URL-адрес maven в репозиториях buildscript и allprojects (файл проекта build.gradle):

maven { url ‘http://developer.huawei.com/repo/’ }

9) Введите указанный ниже плагин в файл приложения build.gradle:

apply plugin: ‘com.huawei.agconnect’

10) Введите указанные ниже зависимости ML Kit в раздел зависимостей:

// Object detection and tracking SDK.
implementation 'com.huawei.hms:ml-computer-vision-object:2.0.1.302'
// Object detection and tracking model.
implementation 'com.huawei.hms:ml-computer-vision-object-detection-model:2.0.1.302'
// Image segmentation SDK.
implementation 'com.huawei.hms:ml-computer-vision-segmentation:2.0.2.300'
// Image segmentation model.
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:2.0.2.300'
implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-multiclass-model:2.0.2.300'

11) Введите указанное ниже разрешение в файле манифеста Android.

<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />
<uses-permission android:name=”android.permission.CAMERA” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.WRITE_INTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.READ_INTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” />

12) Теперь синхронизируйте градиент.

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

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

В приведенном выше коде используется анализатор объектов, то есть MLObjectAnalyzer, который обнаруживает информацию об объекте на изображении. Мы можем создать объектный анализатор одним из следующих способов:

1) MLObjectAnalyzerSetting.TYPE_PICTURE для обнаружения статического изображения.

2) MLObjectAnalyzerSetting.TYPE_VIDEO для обнаружения видеопотока.

Используя типы MLObject, мы можем определить, содержит ли изображение еду или нет. В MLObject есть много типов:

1) TYPE_FACE

2) TYPE_FOOD

3) TYPE_FURNITURE

4) TYPE_GOODS

5) TYPE_OTHER

6) TYPE_PLACE

7) TYPE_PLANT

Классификация изображений

Служба классификации изображений классифицирует элементы изображения. Здесь мы будем использовать этот сервис для определения категорий продуктов питания. Он поддерживает режимы распознавания как на устройстве, так и в облаке. На устройстве он поддерживает более 400 общих категорий изображений, а в облаке - более 12000 категорий изображений. Если нам нужна более высокая точность классификации изображений, тогда мы должны предпочесть распознавание в облаке, а не на устройстве. Но распознавание в облаке поддерживает только статическое изображение и не поддерживает потоки с камеры. В нашем случае мы будем распознавать в облаке.

Ниже приведена ссылка, по которой вы можете найти список категорий, поддерживаемых ML Kit Image Classification:



Окончательный код

Отчет AGC

Что мы узнаем?

Мы узнаем, как использовать две прекрасные услуги, предоставляемые HMS ML Kit, а также ситуации, когда нам больше всего нужно, в данном случае поиск калорий.

Дополнительные сведения

1) https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/service-introduction-0000001050040017-V5

2) https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/image-classification-0000001050040095-V5

3) https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/object-detection-track-0000001050038150-V5