Новости Слышит разбитое стекло, плач ребёнка и стук в дверь. Открытая нейросеть распознаёт 527 звуков прямо на устройстве

NewsMaker

I'm just a script
Премиум
27,851
46
8 Ноя 2022
Проект на базе модели Xiaomi CED распознаёт бытовые звуки за миллисекунды и работает на слабом железе


w01075mbolterav6vplr8xgj3wqpcdbh.jpg

Компьютер можно научить не только слушать команды, но и понимать, что происходит вокруг по обычным звукам. Разработчик Этторе Ди Джачинто представил открытую программу ced.cpp, которая распознаёт аудио локально и говорит, что именно звучит в записи или рядом с устройством.

Проект стал C++-реализацией модели CED, которую ранее разработали исследователи Xiaomi для распознавания звуковых событий. Ди Джачинто адаптировал модель для запуска без Python и облачных сервисов, поэтому классификация работает прямо на обычном компьютере, в том числе на процессоре без мощной видеокарты.

Код ced.cpp доступен на GitHub. Программа принимает аудиофрагмент на вход и относит звук к одному или нескольким классам. Всего модель различает 527 типов звуков из набора AudioSet, включая речь, музыку, лай собаки, шаги, сигнал тревоги, аплодисменты, шум транспорта и звук разбитого стекла. Такой подход позволяет системе услышать сразу несколько событий в одной записи, например голос, музыку и уличный шум одновременно.

Разработчики сделали упор на локальную работу и низкие требования к железу. Самая компактная версия модели занимает около 6 МБ и подходит для небольших устройств вроде Raspberry Pi. В релизе LocalAI проект также появился как отдельный backend для распознавания звуковых событий через API и потоковый режим в реальном времени.

По данным авторов, ced.cpp работает быстрее исходной реализации на PyTorch и расходует меньше памяти. В зависимости от формата модели ускорение достигает примерно 1,25 раза для f32 и около 1,55 раза для f16, а квантованная версия q8_0 заметно снижает нагрузку на память. В демонстрациях распознавание короткого аудиофрагмента занимает около 55 миллисекунд на CPU.

Практический смысл проекта не сводится к простой игрушке для классификации звуков. Локальное распознавание можно встроить в умный дом, домашнего ассистента, систему мониторинга, робота или небольшое устройство на краю сети. Ассистент сможет реагировать не только на голосовые команды, но и на саму обстановку, например на стук в дверь, плач ребёнка, звук тревоги, лай собаки или разбитое стекло.

Главное ограничение остаётся прежним для моделей такого типа. ced.cpp не понимает контекст как человек и не «слушает» мир в широком смысле, а сопоставляет аудиосигнал с известными классами. Зато открытый код, локальный запуск и низкие требования к железу делают проект удобной основой для экспериментов с устройствами, которым нужно слышать окружение без отправки аудио в облако.
 
Источник новости
www.securitylab.ru

Похожие темы