@Art_Sh82

Как правильно создать датасет голосовых команд?

Всем привет.
Делаю систему распознавания голосовых команд на базе нейросети Tensor flow lite. Работает она на МК с ядром Cortex m4
Интересует правильный алгоритм подготовки датасета образцов произношения голосовых команд и последующего обучения. На данный момент поступал так: собирал (записывал) образцы произношения команд, приводил все файлы к одному виду и затем этим датасетом обучал сетку. Записи делались в условиях тишины. Система заработала, команды распознаются, но только в условиях тишины. Как сделать систему более толерантную к окружающему шуму?
Какой вообще правильный алгоритм создания датасета и обучения сетки? Читал, что как то подмешивают шум - добавляют файлы с записями шумов в датасет, но толковой инфы не нашел. Заранее спасибо за ответы.
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
Проиллюстрирую проблему на распознавании образов.
Допустим, имеется нейросеть, которая распознаёт нарисованный крестик. Есть две палочки - нейрон срабатывает. Палочки пересекаются - ещё один нейрон срабатывает. Два нейрона сработали - появился "есть крестик" на выходе.
Теперь добавим шум - три палочки вместо двух. Как должна повести себя нейросеть в данном случае? Теоретически, если палочки пересекаются, то крестик как бы есть, но так мы получим ложное срабатывание, например, если на картинке не крестик, а буква Н.
В некоторых случаях, важно определить наличие крестика как абстракта, но что, если эта фигура задаёт пароль? Тогда ложное срабатывание недопустимо - система не должна открывать доступ и при крестике, и при Н.
Так же и в данном случае. Нужно отфильтровать шум по амплитуде, а затем уже распознавать команду. Если команда не распознана, потому что например двое в этот момент беседуют, то команда не распознана. Иначе будет ложное срабатывание, и система будет своим вниманием мешать разговаривать в её присутствии.
Можно сделать систему умнее - распознавать разные шумы. Допустим, подана команда, и при этом едет автомобиль - это один случай. Или подана команда, и при этом плачет ребёнок - это другой случай.
Такая система обещает работать гораздо лучше, но таких случаев может быть довольно много. Хватит ли возможностей микроконтроллера - вот вопрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы