Задача MediaPipe Audio Classifier позволяет классифицировать аудиоклипы по набору определенных категорий, например, гитарная музыка, гудок поезда или пение птиц. Категории определяются во время обучения модели. Эта задача обрабатывает аудиоданные с помощью модели машинного обучения (ML) в виде независимых аудиоклипов или непрерывного потока и выводит список потенциальных категорий, ранжированных по убыванию оценки вероятности.
Начать
Начните использовать эту задачу, следуя одному из этих руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android – Пример кода – Руководство
- Python — Руководство по примеру кода
- Интернет — Пример кода — Руководство
В этих руководствах для конкретных платформ описана базовая реализация этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации.
Подробности задачи
В этом разделе описаны возможности, входы, выходы и параметры конфигурации этой задачи.
Функции
- Обработка входного аудио . Обработка включает в себя передискретизацию звука, буферизацию, кадрирование и преобразование Фурье.
- Язык карты меток — установите язык, используемый для отображаемых имен.
- Порог оценки — фильтрация результатов на основе оценок прогноза.
- Обнаружение Top-k — фильтрация результатов обнаружения чисел.
- Пометить список разрешенных и список запрещенных — укажите обнаруженные категории.
Входные данные задачи | Результаты задачи |
---|---|
Входные данные могут быть одним из следующих типов:
| Audio Classifier выводит список категорий, содержащий:
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
running_mode | Устанавливает режим выполнения задачи. Аудио Классификатор имеет два режима: AUDIO_CLIPS: режим запуска аудиозадачи для независимых аудиоклипов. AUDIO_STREAM: режим запуска аудиозадачи в аудиопотоке, например, с микрофона. В этом режиме необходимо вызвать resultListener, чтобы настроить прослушиватель на асинхронное получение результатов классификации. | { AUDIO_CLIPS, AUDIO_STREAM } | AUDIO_CLIPS |
display_names_locale | Задает язык меток, которые будут использоваться для отображаемых имен, представленных в метаданных модели задачи, если они доступны. По умолчанию en английский язык. Вы можете добавить локализованные метки к метаданным пользовательской модели с помощью API записи метаданных TensorFlow Lite. | Код региона | ru |
max_results | Устанавливает необязательное максимальное количество возвращаемых результатов классификации с наивысшим баллом. Если < 0, будут возвращены все доступные результаты. | Любые положительные числа | -1 |
score_threshold | Устанавливает порог оценки прогноза, который переопределяет тот, который указан в метаданных модели (если таковые имеются). Результаты ниже этого значения отклоняются. | [0,0, 1,0] | Не задано |
category_allowlist | Устанавливает необязательный список разрешенных имен категорий. Если поле не пусто, результаты классификации, имя категории которых отсутствует в этом наборе, будут отфильтрованы. Повторяющиеся или неизвестные названия категорий игнорируются. Эта опция является взаимоисключающей с category_denylist , и использование обеих приводит к ошибке. | Любые строки | Не задано |
category_denylist | Устанавливает необязательный список имен категорий, которые не разрешены. Если значение не пустое, результаты классификации, имя категории которых находится в этом наборе, будут отфильтрованы. Повторяющиеся или неизвестные названия категорий игнорируются. Этот параметр является взаимоисключающим с category_allowlist , и использование обоих приводит к ошибке. | Любые строки | Не задано |
result_callback | Настраивает прослушиватель результатов на асинхронное получение результатов классификации, когда аудиоклассификатор находится в режиме аудиопотока. Может использоваться только в том случае, если для режима работы установлено значение AUDIO_STREAM | Н/Д | Не задано |
Модели
Для аудиоклассификатора необходимо загрузить и сохранить модель классификации аудио в каталоге вашего проекта. При разработке этой задачи начните с рекомендуемой по умолчанию модели для вашей целевой платформы. Другие доступные модели обычно обеспечивают компромисс между производительностью, точностью, разрешением и требованиями к ресурсам, а в некоторых случаях включают дополнительные функции.
Модель Yamnet (рекомендуется)
Модель Yamnet — это классификатор аудиособытий, обученный на наборе данных AudioSet для прогнозирования аудиособытий, определенных в данных AudioSet. Информацию об аудиособытиях, распознаваемых этой моделью, см. в списке меток модели.
Название модели | Введите форму | Тип квантования | Версии |
---|---|---|---|
ЯмНет | 1 х 15600 | Нет (с плавающей запятой32) | Последний |
Тесты задач
Вот тесты задач для всего конвейера, основанные на предварительно обученных моделях. Результатом задержки является средняя задержка на Pixel 6 с использованием ЦП/ГП.
Название модели | Задержка процессора | Задержка графического процессора |
---|---|---|
ЯмНет | 12,29 мс | - |
Задача MediaPipe Audio Classifier позволяет классифицировать аудиоклипы по набору определенных категорий, например, гитарная музыка, гудок поезда или пение птиц. Категории определяются во время обучения модели. Эта задача обрабатывает аудиоданные с помощью модели машинного обучения (ML) в виде независимых аудиоклипов или непрерывного потока и выводит список потенциальных категорий, ранжированных по убыванию оценки вероятности.
Начать
Начните использовать эту задачу, следуя одному из этих руководств по реализации для вашей целевой платформы. Эти руководства для конкретных платформ покажут вам базовую реализацию этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации:
- Android – Пример кода – Руководство
- Python — Руководство по примеру кода
- Интернет — Пример кода — Руководство
В этих руководствах для конкретных платформ описана базовая реализация этой задачи, включая рекомендуемую модель и пример кода с рекомендуемыми параметрами конфигурации.
Подробности задачи
В этом разделе описаны возможности, входы, выходы и параметры конфигурации этой задачи.
Функции
- Обработка входного аудио . Обработка включает в себя передискретизацию звука, буферизацию, кадрирование и преобразование Фурье.
- Язык карты меток — установите язык, используемый для отображаемых имен.
- Порог оценки — фильтрация результатов на основе оценок прогноза.
- Обнаружение Top-k — фильтрация результатов обнаружения чисел.
- Пометить список разрешенных и список запрещенных — укажите обнаруженные категории.
Входные данные задачи | Результаты задачи |
---|---|
Входные данные могут быть одним из следующих типов:
| Audio Classifier выводит список категорий, содержащий:
|
Варианты конфигурации
Эта задача имеет следующие параметры конфигурации:
Название опции | Описание | Диапазон значений | Значение по умолчанию |
---|---|---|---|
running_mode | Устанавливает режим выполнения задачи. Аудио Классификатор имеет два режима: AUDIO_CLIPS: режим запуска аудиозадачи для независимых аудиоклипов. AUDIO_STREAM: режим запуска аудиозадачи в аудиопотоке, например, с микрофона. В этом режиме необходимо вызвать resultListener, чтобы настроить прослушиватель на асинхронное получение результатов классификации. | { AUDIO_CLIPS, AUDIO_STREAM } | AUDIO_CLIPS |
display_names_locale | Задает язык меток, которые будут использоваться для отображаемых имен, представленных в метаданных модели задачи, если они доступны. По умолчанию en английский язык. Вы можете добавить локализованные метки к метаданным пользовательской модели с помощью API записи метаданных TensorFlow Lite. | Код региона | ru |
max_results | Устанавливает необязательное максимальное количество возвращаемых результатов классификации с наивысшим баллом. Если < 0, будут возвращены все доступные результаты. | Любые положительные числа | -1 |
score_threshold | Устанавливает порог оценки прогноза, который переопределяет тот, который указан в метаданных модели (если таковые имеются). Результаты ниже этого значения отклоняются. | [0,0, 1,0] | Не задано |
category_allowlist | Устанавливает необязательный список разрешенных имен категорий. Если поле не пусто, результаты классификации, имя категории которых отсутствует в этом наборе, будут отфильтрованы. Повторяющиеся или неизвестные названия категорий игнорируются. Эта опция является взаимоисключающей с category_denylist , и использование обеих приводит к ошибке. | Любые строки | Не задано |
category_denylist | Устанавливает необязательный список имен категорий, которые не разрешены. Если значение не пустое, результаты классификации, имя категории которых находится в этом наборе, будут отфильтрованы. Повторяющиеся или неизвестные названия категорий игнорируются. Этот параметр является взаимоисключающим с category_allowlist , и использование обоих приводит к ошибке. | Любые строки | Не задано |
result_callback | Настраивает прослушиватель результатов на асинхронное получение результатов классификации, когда аудиоклассификатор находится в режиме аудиопотока. Может использоваться только в том случае, если для режима работы установлено значение AUDIO_STREAM | Н/Д | Не задано |
Модели
Для аудиоклассификатора необходимо загрузить и сохранить модель классификации аудио в каталоге вашего проекта. При разработке этой задачи начните с рекомендуемой по умолчанию модели для вашей целевой платформы. Другие доступные модели обычно обеспечивают компромисс между производительностью, точностью, разрешением и требованиями к ресурсам, а в некоторых случаях включают дополнительные функции.
Модель Yamnet (рекомендуется)
Модель Yamnet — это классификатор аудиособытий, обученный на наборе данных AudioSet для прогнозирования аудиособытий, определенных в данных AudioSet. Информацию об аудиособытиях, распознаваемых этой моделью, см. в списке меток модели.
Название модели | Введите форму | Тип квантования | Версии |
---|---|---|---|
ЯмНет | 1 х 15600 | Нет (с плавающей запятой32) | Последний |
Тесты задач
Вот тесты задач для всего конвейера, основанные на предварительно обученных моделях. Результатом задержки является средняя задержка на Pixel 6 с использованием ЦП/ГП.
Название модели | Задержка процессора | Задержка графического процессора |
---|---|---|
ЯмНет | 12,29 мс | - |