Руководство по настройке для Android

На этой странице показано, как настроить среду разработки для использования задач MediaPipe в приложениях Android.

Поддерживаемые устройства и платформы

Для создания приложений Android с помощью задач MediaPipe в вашей среде разработки требуется следующее:

  • Android Studio с рекомендуемой версией не ниже 2021.1.1 (Bumblebee) или другую совместимую IDE.
  • Android SDK версии 24 или выше
  • Устройство Android с минимальной версией SDK. Эмулятор Android может работать не для всех задач.

Настройка среды разработчика

Прежде чем запускать задачу MediaPipe в приложении Android, вам необходимо либо иметь существующее приложение, либо создать новый проект Android Studio на локальном компьютере. MediaPipe вписывается в уровень данных вашего приложения, который содержит данные приложения и бизнес-логику. Дополнительную информацию об архитектуре приложений Android см. в Руководстве по архитектуре приложений .

Настройка Android-устройства

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

Для задач, для которых не требуется камера или микрофон устройства, вы можете использовать эмулятор устройства Android вместо физического устройства Android. Инструкции по настройке эмулятора Android см. в разделе «Запуск приложений на эмуляторе Android» .

Пример настройки кода

Репозиторий примеров MediaPipe содержит примеры приложений Android для каждой задачи MediaPipe. Вы можете создать проект из примера кода, собрать проект и затем запустить его.

Чтобы импортировать и построить проект примера кода:

  1. Запустите Android-студию .
  2. В Android Studio выберите «Файл» > «Создать» > «Импортировать проект» .
  3. Перейдите в каталог примера кода, содержащий файл build.gradle , и выберите этот каталог, например: .../mediapipe/examples/text_classification/android/build.gradle
  4. Если Android Studio запрашивает синхронизацию Gradle, выберите «ОК» .
  5. Убедитесь, что ваше устройство Android подключено к компьютеру и включен режим разработчика. Нажмите зеленую стрелку Run .

Если вы выберете правильный каталог, Android Studio создаст новый проект и соберет его. Этот процесс может занять несколько минут, в зависимости от скорости вашего компьютера и того, использовали ли вы Android Studio для других проектов. По завершении сборки Android Studio отображает сообщение BUILD SUCCESSFUL на панели состояния вывода сборки .

Чтобы запустить проект:

  1. В Android Studio запустите проект, выбрав «Выполнить» > «Выполнить…» .
  2. Выберите подключенное устройство Android (или эмулятор), чтобы протестировать приложение.

Зависимости задач MediaPipe

MediaPipe Tasks предоставляет три готовые библиотеки для изображения, текста и звука. Файл модели .tflite должен находиться в каталоге ресурсов модуля Android, использующего модель. В зависимости от задачи MediaPipe, используемой приложением, добавьте библиотеку изображений, текста или аудио в список зависимостей в файле build.gradle .

Генеративные задачи ИИ

Библиотеки генеративного искусственного интеллекта MediaPipe Tasks содержат задачи, которые обрабатывают генерацию изображений или текста. Чтобы импортировать библиотеки генеративного искусственного интеллекта MediaPipe Tasks в Android Studio, добавьте зависимости в файл build.gradle .

Генератор изображений

Задача MediaPipe Image Generator содержится в библиотеке tasks-vision-image-generator . Добавьте зависимость в файл build.gradle :

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

API вывода LLM

Задача вывода MediaPipe LLM содержится в библиотеке tasks-genai . Добавьте зависимость в файл build.gradle :

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

Видение задач

Библиотека визуализации MediaPipe Tasks содержит задачи, которые обрабатывают входные изображения или видео. Чтобы импортировать библиотеку видений MediaPipe Tasks в Android Studio, добавьте следующие зависимости в файл build.gradle :

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

Текстовые задачи

Текстовая библиотека задач MediaPipe содержит задачи, которые обрабатывают языковые данные в текстовом формате. Чтобы импортировать текстовую библиотеку задач MediaPipe Tasks в Android Studio, добавьте следующие зависимости в файл build.gradle :

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

Аудио задачи

Аудиобиблиотека MediaPipe Tasks содержит задачи, которые обрабатывают ввод звука. Чтобы импортировать аудиобиблиотеку задач MediaPipe в Android Studio, добавьте следующие зависимости в файл build.gradle :

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

Конфигурация базовых опций

BaseOptions позволяют выполнять общую настройку API-интерфейсов задач MediaPipe.

Название опции Описание Принятые значения
modelAssetBuffer Содержимое файла ресурсов модели представляет собой прямой ByteBuffer или MappedByteBuffer . ByteBuffer или MappedByteBuffer как строка
modelAssetPath Путь модели к файлу ресурсов модели в папке ресурсов приложения Android. Путь к файлу в виде строки
modelAssetFileDescriptor Целое число собственного файлового дескриптора файла ресурса модели. Целое число, указывающее дескриптор файла
Delegate Включает аппаратное ускорение через делегата устройства для запуска конвейера MediaPipe. Значение по умолчанию: CPU . [ CPU ,
GPU ]

Аппаратное ускорение

MediaPipe Tasks поддерживает использование графических процессоров (GPU) для запуска моделей машинного обучения. На устройствах Android вы можете включить использование графического ускорения ваших моделей с помощью делегата. Делегаты действуют как аппаратные драйверы для MediaPipe, позволяя запускать модели на процессорах графического процессора вместо стандартных процессоров ЦП.

Настройте делегат графического процессора в параметрах задачи через BaseOptions :

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

Поиск неисправностей

Для получения помощи по техническим вопросам, связанным с MediaPipe, посетите дискуссионную группу или Stack Overflow для получения поддержки со стороны сообщества. Чтобы сообщить об ошибках или сделать запрос на добавление новых функций, сообщите о проблеме на GitHub .

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