Введение

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

В данной статье описывается исследовательский проект по разработке и оптимизации алгоритмов цифровой обработки сигналов для обеспечения надежного распознавания речи в экстремальных акустических условиях. В качестве тестовой платформы использована система автоматического распознавания птиц на базе BirdNET-Go, что позволило проводить длительные полевые испытания в естественных условиях с разнообразными типами шумов.

Ключевой задачей проекта был подбор оптимальных алгоритмов фильтрации и их параметров для работы с нестационарным шумом. В процессе исследования были реализованы и протестированы различные подходы к шумоподавлению, включая спектральное вычитание, адаптивные фильтры и алгоритмы на основе минимальной среднеквадратичной ошибки. Особое внимание уделено алгоритму Log-MMSE (Minimum Mean-Square Error Log-Spectral Amplitude Estimator), который показал наилучшие результаты в условиях нестационарного шума.

Выбор птиц в качестве тестового объекта был неслучаен: вокализация врановых (ворон, сойка, сорока, галка, грач) по своим частотным характеристикам близка к человеческой речи, что делает их идеальной моделью для отработки алгоритмов, предназначенных для роботов. Длительные полевые записи в различных погодных условиях позволили собрать обширную базу данных для анализа эффективности различных подходов к шумоподавлению.

Аппаратная часть

Рис. 1: Система в сборе - BirdNET-ODAS
Рис. 1: Система в сборе - BirdNET-ODAS

Вычислительная платформа

Проект поддерживает два типа одноплатных компьютеров:

Raspberry Pi 4/5 и Compute Module 4:

  • Процессор: Broadcom BCM2711/BCM2712 (ARM Cortex-A72/A76)

  • RAM: 4GB+ (рекомендуется)

  • ОС: Raspberry Pi OS / Ubuntu 22.04+

  • Широкая доступность и большое сообщество

NanoPi M4B (FriendlyARM):

  • Процессор: Rockchip RK3399 (ARM64)

  • RAM: 4GB

  • ОС: Ubuntu 24.04

Для полевого развертывания (NanoPi M4B) критически важной стала конструктивная особенность платы: процессорный чип расположен на обратной стороне печатной платы, что позволило заключить всю систему в герметичный металлический корпус с эффективной передачей тепла через термоинтерфейс непосредственно на корпус. Такое решение обеспечивает:

  • Защиту от влаги и пыли (IP65) для работы в полевых условиях

  • Эффективный отвод тепла без необходимости активного охлаждения, что критично для микрофона

  • Компактность и надежность конструкции

  • Возможность работы в широком диапазоне температур

Общие преимущества обеих платформ:

  • Достаточная вычислительная мощность для работы с алгоритмами обработки сигналов в реальном времени

  • Низкое энергопотребление (5-15W)

  • Наличие USB 2.0-портов для подключения ReSpeaker

  • Стабильная работа Linux-системы

  • Поддержка Docker для контейнеризации

Система работает от постоянного источника питания 5V/3A и имеет постоянное подключение к интернету, что обеспечивает непрерывную работу и возможность удаленного мониторинга.

Многоканальный микрофон ReSpeaker USB 4 Mic Array

Рис. 2: Крупный план ReSpeaker USB 4 Mic Array с ветрозащитой
Рис. 2: Крупный план ReSpeaker USB 4 Mic Array с ветрозащитой

Для записи звука используется ReSpeaker USB 4 Mic Array производства Seeed Studio. Это USB-микрофон с четырьмя встроенными микрофонами, расположенными в круговой конфигурации. Устройство поддерживает протокол USB Audio Class 1.0 и имеет встроенный DSP-процессор для обработки сигналов.

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

 Рис. 3: Акустическая мембрана IP65 и заливка компаундом для защиты от влаги
Рис. 3: Акустическая мембрана IP65 и заливка компаундом для защиты от влаги

Ключевые возможности ReSpeaker:

  • Beamforming — направленное усиление сигнала из определенного направления

  • Шумоподавление — подавление стационарного и нестационарного шума

  • Автоматическая регулировка усиления (AGC) — поддержание постоянного уровня сигнала

  • Высокочастотная фильтрация (HPF) — отсечка низкочастотных помех

Устройство поддерживает прошивку с 6-канальным выходом, где канал 0 содержит обработанный beamformed сигнал, готовый для дальнейшей работы, а каналы 1-4 содержат сырые данные с отдельных микрофонов.

Физическая защита

Для работы в полевых условиях система требует физической защиты от внешних воздействий:

Защита от механических воздействий:

  • Ветрозащита — меховой чехол (deadcat/windshield) для подавления низкочастотного шума от ветра и движения воздуха

Защита от электромагнитных помех:

  • Ферритовый фильтр на USB-кабель — подавление электромагнитных помех от высоковольтных линий электропередачи (ЛЭП) и других источников

  • Экранированный USB-кабель — снижение наводок от внешних источников помех

  • USB-изолятор B505S (опционально) — гальваническая развязка для дополнительной защиты от электромагнитных помех и паразитных токов по USB

Особенности USB-изолятора: USB-изолятор обеспечивает гальваническую развязку между компьютером и микрофоном, что критично при работе вблизи мощных источников электромагнитных помех. Модель B505S имеет ограничение по току 250 мА, поэтому LED кольцо ReSpeaker автоматически отключается для снижения энергопотребления до ~150-200 мА. Это обеспечивает стабильную работу системы даже при использовании изолятора.

Особое внимание уделено защите от помех от ЛЭП, так как система часто устанавливается вблизи высоковольтных линий, где наблюдается характерный низкочастотный гул на частотах 50 Гц и их гармониках. С другой стороны ЛЭП 110кВ выступает в качестве тестового источника стационарного шума.

Программная архитектура

Операционная система и базовое ПО

Система работает на Ubuntu 24.04 LTS, что обеспечивает стабильность и долгосрочную поддержку. Для работы с аудио используется ALSA (Advanced Linux Sound Architecture) — стандартная подсистема звука в Linux.

Docker используется для контейнеризации основного приложения BirdNET-Go, что упрощает развертывание и обновление системы. Контейнер работает в режиме network_mode: host для обеспечения прямого доступа к локальной сети и снижения задержек при работе с MQTT-брокером.

Общая архитектура системы

Рис. 4: Архитектура системы BirdNET-ODAS
Рис. 4: Архитектура системы BirdNET-ODAS

BirdNET-Go как тестовая платформа

BirdNET-Go — это система автоматического распознавания птиц на основе нейронной сети BirdNET, разработанной в Cornell Lab of Ornithology. В рамках данного проекта система использовалась как тестовая платформа для отработки алгоритмов шумоподавления. В какой-то момент удалось достичь уверенности распознавания 98-100%

Как было отмечено во введении, выбор птиц в качестве тестового объекта был обусловлен близостью частотных характеристик вокализации врановых к человеческой речи.

BirdNET-Go предоставляет веб-интерфейс для настройки и мониторинга, API для интеграции с другими системами, а также возможность автоматической загрузки результатов на платформу BirdWeather для публикации данных.

Основные настройки системы:

  • Частота дискретизации: 48 кГц (требование BirdNET для входного сигнала)

  • Каналы: моно (1 канал)

  • Порог уверенности: 0.7 (баланс между точностью и количеством обнаружений)

  • Встроенные фильтры: HPF на 300 Гц для подавления низкочастотного шума и LPF на 12 кГц для подавления высокочастотного шума

Аудио пайплайн

Полный путь обработки звука от микрофона до BirdNET-Go состоит из нескольких этапов:

 Рис. 5: Детальный аудио пайплайн обработки сигнала
Рис. 5: Детальный аудио пайплайн обработки сигнала
  1. Запись с ReSpeaker — получение 6-канального потока на частоте дискретизации 16 кГц (нативная частота устройства)

  2. Log-MMSE шумоподавление — обработка сигнала алгоритмом Log-MMSE для подавления нестационарного шума (критически важный этап)

  3. Ресемплинг через SoX — повышение частоты дискретизации с 16 кГц до 48 кГц с высоким качеством

  4. ALSA Loopback — передача обработанного сигнала в виртуальное аудиоустройство

  5. BirdNET-Go — чтение сигнала из loopback-устройства и распознавание птиц

Есть возможность выбора источника звука, либо нулевой канал микрофона, либо Loopback, что помогает проверять эффективный вклад фильтра в работу системы в целом (не забывайте про дискретизацию).

Каждый этап оптимизирован для работы в реальном времени с минимальной задержкой. Особое внимание уделено этапу Log-MMSE шумоподавления, который является ключевым для обеспечения качества сигнала в сложных акустических условиях.

Алгоритмы обработки сигналов

Log-MMSE шумоподавление — ключевой компонент системы

В процессе разработки системы были реализованы и протестированы различные алгоритмы шумоподавления: спектральное вычитание, адаптивные фильтры Винера, алгоритмы на основе независимого компонентного анализа (ICA) и другие. После тщательного анализа результатов в различных акустических условиях для работы с вокализацией птиц был выбран алгоритм Log-MMSE (Minimum Mean-Square Error Log-Spectral Amplitude Estimator), разработанный Ephraim и Malah в 1985 году.

Log-MMSE показал наилучшие результаты при работе с нестационарным шумом в условиях полевых записей птиц: ветер, шум листвы, шум насекомых, переменный фоновый шум, дождь и другие природные помехи. Алгоритм является ключевым компонентом всей системы обработки сигналов для работы с птицами.

Важно отметить, что при последующем тестировании на человеческой речи для робота Log-MMSE уступил по качеству другому алгоритму, оптимизированному специально для речевых сигналов. Детали применения результатов для робота рассмотрены в разделе "Заключение".

Математические основы

Алгоритм работает в частотной области, используя кратковременное преобразование Фурье (STFT). Сигнал разбивается на перекрывающиеся кадры (frames), каждый из которых обрабатывается независимо.

Преобразование в частотную область:

Y(ω,t) = FFT[x(t) × w(t)]

где x(t) — входной сигнал, w(t) — оконная функция Ханна, Y(ω,t) — комплексный спектр.

Параметры STFT:

  • Размер кадра: 1024 отсчета (оптимальное частотное разрешение для диапазона 1-8 кГц, где находится основная энергия вокализации врановых и человеческой речи)

  • Шаг между кадрами: 512 отсчетов (50% перекрытие для плавного восстановления сигнала)

  • Оконная функция: окно Ханна для снижения артефактов

Оценка шума:

Алгоритм адаптивно оценивает спектральную плотность мощности (PSD) шума. В начальный период (первые 15 кадров, примерно 0.5 секунды) выполняется обучение на фоновом шуме:

λ(ω) = mean(|Y(ω,t)|²) для t ∈ [0, NOISE_FRAMES]

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

Отношение сигнал/шум:

Алгоритм вычисляет два типа отношения сигнал/шум:

  • A posteriori SNR — отношение после наблюдения сигнала:

γ(ω,t) = |Y(ω,t)|² / λ(ω)

  • A priori SNR — оценка отношения до наблюдения (Decision-Directed метод):

ξ(ω,t) = α × G²(ω,t-1) × γ(ω,t-1) + (1-α) × max(γ(ω,t) - 1, 0)

где α = 0.70 — ко��ффициент сглаживания, оптимизированный для баланса между подавлением нестационарного шума и минимизацией музыкальных артефактов.

Вычисление усиления:

Log-MMSE gain function вычисляется по формуле:

G(ω) = (ξ / (1+ξ)) × exp(0.5 × E₁(ν))

где ν = (ξ / (1+ξ)) × γ, а E₁(ν) — экспоненциальный интеграл первого порядка.

Восстановление сигнала:

Обработанный спектр преобразуется обратно во временную область через обратное преобразование Фурье (ISTFT), и кадры объединяются методом overlap-add с нормализацией для устранения артефактов на границах кадров.

Защита от перегрузок:

Для предотвращения искажений при сильном ветре применяется мягкое ограничение (soft limiter):

output_limited(t) = tanh(output(t) × 0.95)

Функция tanh() обеспечивает плавное ограничение без резких артефактов, а коэффициент 0.95 создает запас 5% для естественного звука.

Преимущества Log-MMSE для работы с вокализацией птиц

  1. Подавление нестационарного шума — эффективно работает с ветром, шумом листвы, шумом насекомых, дождем и другими переменными помехами, характерными для полевых условий

  2. Подавление стационарного шума — справляется с низкочастотным гулом от ЛЭП (50 Гц и гармоники), постоянным фоновым шумом

  3. Сохранение слабых сигналов — не подавляет тихую вокализацию птиц, сохраняя естественность и разборчивость сигнала

  4. Низкий уровень музыкального шума — в отличие от спектрального вычитания, Log-MMSE создает значительно меньше артефактов, что критично для систем распознавания

  5. Оптимизация для диапазона вокализации врановых — параметры настроены для диапазона частот 1-8 кГц, где находится основная энергия вокализации врановых, близкая по характеристикам к человеческой речи

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

Применение для речи: При тестировании на человеческой речи для робота Log-MMSE уступил по качеству другому алгоритму, специально оптимизированному для речевых сигналов. Однако полученный опыт работы с Log-MMSE и понимание его принципов оказались неоценимыми при выборе и настройке финального алгоритма для робота (подробнее см. раздел "Заключение").

Ресемплинг через SoX

BirdNET требует входной сигнал с частотой дискретизации 48 кГц, в то время как ReSpeaker выдает сигнал с частотой дискретизации 16 кГц. Для повышения частоты дискретизации используется SoX (Sound eXchange) — высококачественный инструмент для обработки аудио.

SoX выполняет ресемплинг с использованием алгоритмов высокого качества, обеспечивая лучшее качество по сравнению с автоматическим ресемплингом через ALSA plug. Дополнительно применяется снижение уровня на 2 дБ (gain -2.0) для защиты от перегрузок при сильном ветре, что работает в сочетании с мягким ограничением в Log-MMSE.

ALSA Loopback

ALSA Loopback создает виртуальное аудиоустройство, которое позволяет передавать обработанный сигнал из скрипта обработки в BirdNET-Go. Устройство состоит из двух частей:

  • Device 0 (capture) — устройство для чтения, из которого BirdNET-Go получает сигнал

  • Device 1 (playback) — устройство для записи, куда скрипт обработки отправляет сигнал

Такая архитектура позволяет разделить процессы обработки и распознавания, обеспечивая стабильность работы системы.

Настройка DSP микрофона

Высокочастотная фильтрация (HPF)

Для подавления низкочастотного шума (ветер, ЛЭП) на микрофоне установлен высокочастотный фильтр на 180 Гц — максимальное значение, поддерживаемое прошивкой. Это позволяет эффективно отсекать помехи ниже 180 Гц, сохраняя при этом весь диапазон частот вокализации птиц (основная энергия находится в диапазоне 1-8 кГц).

Шумоподавление

Включено три типа шумоподавления:

  • Стационарное шумоподавление — подавление постоянных фоновых шумов (параметр GAMMA_NS_SR = 2.4 для усиленного подавления с балансом)

  • Нестационарное шумоподавление — подавление переменных шумов, таких как ветер (параметр GAMMA_NN_SR = 1.1, ограничение прошивки)

  • Подавление транзиентов — обработка кратковременных звуковых событий

Параметры MIN_NS_SR = 0.15 и MIN_NN_SR = 0.15 обеспечивают глубокое подавление шума с балансом для минимизации артефактов (меньшее значение означает большее подавление).

Автоматическая регулировка усиления (AGC)

AGC настроен для работы с птицами, вокализирующими с резкими изменениями громкости:

  • AGCMAXGAIN = 6.0 дБ — консервативное усиление, достаточное для улучшения чувствительности к тихим звукам, но не настолько высокое, чтобы усиливать фоновый шум

  • AGCDESIREDLEVEL = 0.005 — стандартное значение, соответствующее -23 dBov, оптимально для полевых записей

  • AGCTIME = 0.1 сек — минимальное значение для быстрой реакции на изменения в пении птиц (прошивка преобразует это значение в примерно 0.85 секунды для обеспечения стабильности)

Beamforming

Адаптивный beamforming включен (FREEZEONOFF = 0), что позволяет микрофону автоматически направлять усиление в сторону источника звука. Это особенно полезно в полевых условиях, где птицы могут находиться в разных направлениях.

Отключение VAD

Voice Activity Detection (VAD) отключен, так как он предназначен для человеческой речи и может пропустить пение птиц. Вместо этого записываются все звуки, что обеспечивает полное покрытие вокализаций птиц.

Результаты и сравнение

 Рис. 6: Установка системы в поле для длительных испытаний
Рис. 6: Установка системы в поле для длительных испытаний

Качество записи

Для оценки эффективности системы были проведены сравнительные записи с обычным микрофоном и с системой, использующей ODAS (Open embedded Audition System) и многоуровневую фильтрацию.

Запись с обычного микрофона:

  • Значительное количество фонового шума, особенно в низкочастотном диапазоне

  • Голоса птиц теряются на фоне шума

  • Затруднено точное распознавание видов из-за низкого отношения сигнал/шум

     Рис. 7: Спектрограмма записи с обычного микрофона - виден значительный фоновый шум
    Рис. 7: Спектрограмма записи с обычного микрофона - виден значительный фоновый шум

    Запись с многоуровневой фильтрацией (Log-MMSE + DSP):

  • Фоновый шум практически устранен

  • Голоса птиц выделяются четко и ясно

  • Значительно повышена точность распознавания BirdNET

     Рис. 8: Спектрограмма после обработки - чистый сигнал без шума
    Рис. 8: Спектрограмма после обработки - чистый сигнал без шума

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

Производительность системы

Система работает в реальном времени с приемлемой задержкой:

  • Log-MMSE обработка: 30-50 мс (зависит от размера кадра)

  • Ресемплинг SoX: 10-20 мс

  • Общая задержка: 40-70 мс

Нагрузка на процессор умеренная, что позволяет системе работать стабильно на NanoPi M4B. Использование памяти минимально — менее 20 КБ для буферов обработки.

Точность распознавания

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

Дополнительная валидация через визуальное распознавание

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

Кормушка оснащена двумя камерами и тепловизором для круглосуточного мониторинга, а также системой Frigate NVR (Network Video Recorder), которая с недавнего времени способна распознавать не просто птиц, но и их виды. Это позволило проводить дополнительную валидацию результатов аудио-распознавания: данные от BirdNET-Go сопоставлялись с визуальными данными от Frigate NVR, что обеспечивало независимую проверку точности определения видов привлекаемых пернатых. Такой подход значительно повысил надежность результатов исследования и позволил выявить случаи, когда аудио-распознавание требовало дополнительной проверки или корректировки.

Развертывание и эксплуатация

Автоматическая установка

Для упрощения развертывания созданы скрипты автоматической установки для каждой платформы:

Raspberry Pi:

cd platforms/raspberry-pi

sudo bash setup.sh

NanoPi M4B:

cd platforms/nanopi-m4b

sudo bash setup.sh

Скрипты установки выполняют:

  1. Проверку системы и установку зависимостей (Docker, ALSA, SoX, Python)

  2. Установку и настройку BirdNET-Go в Docker

  3. Настройку ReSpeaker USB (если подключен)

  4. Создание systemd сервисов для автозапуска

  5. Оптимизацию системы для полевых условий

Автоматический запуск

Все компоненты системы настроены на автоматический запуск при загрузке:

  • respeaker-tune.service — применяет DSP настройки микрофона

  • respeaker-loopback.service — запускает аудио пайплайн

  • Docker Compose — управляет контейнером BirdNET-Go (restart: unless-stopped)

Мониторинг и обслуживание

 Рис. 9: Dashboard BirdNET-Go с результатами распознавания
Рис. 9: Dashboard BirdNET-Go с результатами распознавания

Система предоставляет несколько способов мониторинга:

  • Веб-интерфейс BirdNET-Go — доступен через обратный прокси для безопасного доступа из интернета

  • SSH доступ — настроен через ZeroTier для безопасного удаленного управления

  • Telegram-бот — создан и подключен к системе Telegram-бот, который оповещает о событиях распознавания птиц в реальном времени

  • MQTT — интеграция с системами умного дома (Home Assistant) для мониторинга в реальном времени

  • API — REST API для интеграции с другими системами

  • Логи Docker — детальные логи работы контейнера

  • Systemd журналы — логи системных сервисов

Интеграция с данными о погоде

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

Автоматическое обновление

Настроена система автоматического обновления BirdNET-Go до самой свежей версии через Watchtower — сервис, который отслеживает изменения в Docker-образе и автоматически обновляет контейнер при появлении новых версий. Проверка обновлений происходит каждые 24 часа.

Это обеспечивает работу системы с актуальными версиями алгоритмов распознавания.

Устранение неполадок

В процессе разработки и эксплуатации были выявлены и решены несколько типичных проблем:

DNS timeout при загрузке на BirdWeather

Проблема возникала из-за использования ненадежного DNS-сервера роутера. Решение — настройка надежных DNS-серверов (8.8.8.8, 1.1.1.1) в контейнере или на хосте (для режима network_mode: host).

Ошибки MQTT подключения

Проблемы с подключением к MQTT-брокеру решались переходом на режим network_mode: host, что устраняло задержки и проблемы с keepalive, связанные с NAT в bridge-режиме Docker.

Ошибки template_renderer

Ошибки в веб-интерфейсе при обработке названий птиц решались обновлением до последней версии BirdNET-Go или перезапуском контейнера.

Проблемы с аудио

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

Оптимизация для полевых условий

Оптимизация энергопотребления

Для стабильной работы при постоянном питании выполнена оптимизация энергопотребления:

  • Отключение USB-автоприостановки для микрофона — критично для предотвращения прерываний записи

  • Оптимизация работы процессора

Примечание: отключение Bluetooth и Wi-Fi также способствует снижению электромагнитных помех (см. раздел "Снижение электромагнитных помех").

Снижение электромагнитных помех

Для минимизации электромагнитных помех, влияющих на качество записи, выполнены следующие меры:

  • Отключение Bluetooth и Wi-Fi — эти интерфейсы могут генерировать высокочастотные помехи, поэтому при ненадобности их рекомендуется отключить

  • Подключение микрофона к USB 2.0 — вместо USB 3.0 используется порт USB 2.0, так как высокоскоростные интерфейсы USB 3.0 могут создавать электромагнитные помехи в диапазоне частот, критичном для записи звука

Настройка времени

Критично для корректной работы системы — правильная настройка часового пояса и синхронизация времени через NTP.

Очистка логов

Настроена автоматическая очистка старых логов для экономии места на диске, что обеспечивает стабильную работу системы при длительной эксплуатации.

Интеграция с внешними системами

Онлайн-доступ к системе

Система доступна через интернет для мониторинга и управления:

  • Веб-интерфейс BirdNET-Go: https://birdnet.eyera.info — настройка, мониторинг и просмотр результатов распознавания

  • Станция на мировой карте BirdWeather: https://app.birdweather.com/stations/18409/ — данные станции доступны на общей карте мониторинга птиц

  • Исходный код проекта: https://github.com/Gfermoto/birdnet_odas — открытый репозиторий с полным кодом и документацией

BirdWeather

Система автоматически загружает результаты на платформу BirdWeather для публикации данных и обмена информацией с научным сообществом и энтузиастами.

MQTT

Поддержка MQTT позволяет интегрировать систему с системами умного дома, такими как Home Assistant, для автоматизации и мониторинга.

API

REST API BirdNET-Go позволяет другим приложениям получать данные о распознанных птицах в реальном времени, что открывает возможности для создания дашбордов, мобильных приложений и других инструментов.

Заключение

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

Ключевые достижения исследования:

  • Подбор оптимального алгоритма шумоподавления для птиц — после тестирования множества подходов выбран Log-MMSE как наиболее эффективный для работы с вокализацией птиц в условиях нестационарного шума

  • Оптимизация параметров алгоритма — методом перебора различных значений найдены оптимальные параметры для работы в реальных полевых условиях

  • Значительное улучшение качества сигнала — применение многоуровневой фильтрации и Log-MMSE шумоподавления позволило обеспечить распознавание п��иц даже в условиях сильного фонового шума

  • Валидация на реальных данных — длительные полевые записи в различных погодных условиях подтвердили эффективность выбранных решений для работы с птицами

  • Создание открытой платформы — проект опубликован на GitHub (https://github.com/Gfermoto/birdnet_odas) с полной документацией (4500+ строк) и доступен для использования и модификации под лицензией MIT

Применение результатов для робота:

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

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

  • Подавление собственных тональных помех робота — алгоритм для устранения характерных тональных помех, генерируемых механическими компонентами робота (сервоприводы, вентиляторы, двигатели)

  • Шумоподавление — специализированный алгоритм для подавления фонового шума в условиях эксплуатации робота

  • Эхоподавление (AEC) — алгоритм для разрыва акустической петли обратной связи, возникающей между динамиками и микрофонами робота

  • VAD (Voice Activity Detection) — детектор речевой активности, оптимизированный для работы в условиях робота

  • Beamforming (MDVR) — высокоэффективный алгоритм пространственной фильтрации, требующий точной калибровки геометрии микрофонного массива для оптимальной работы

Особое внимание было уделено алгоритму beamforming, который показал высокую эффективность, но требует точной калибровки геометрии массива.

Вклад проведенных исследований с использованием птиц неоценим — именно эти эксперименты позволили глубоко понять принципы работы различных алгоритмов в реальных условиях, провести тщательный анализ их эффективности и найти оптимальные подходы к обработке сигналов. Опыт работы с Log-MMSE и понимание его сильных и слабых сторон оказались критически важными при выборе и настройке финального алгоритма для робота.

Дальнейшее развитие может включать:

  • Адаптацию алгоритмов для работы с различными типами микрофонных массивов

  • Интеграцию машинного обучения для автоматической настройки параметров в зависимости от условий

  • Разработку гибридных алгоритмов, комбинирующих преимущества различных подходов

  • Оптимизацию для работы в реальном времени с минимальной задержкой

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

Благодарности

Автор выражает благодарность:

  • BirdNET Team (Cornell Lab of Ornithology) за создание системы распознавания птиц

  • tphakala за разработку BirdNET-Go

  • Seeed Studio за ReSpeaker USB 4 Mic Array

  • Сообществу разработчиков открытого ПО за инструменты и библиотеки

Ссылки и ресурсы

Проект

Используемые технологии

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Установите станцию наблюдения за птицами?
75%Да3
0%Нет0
25%Буду заглядывать на вашу станцию1
Проголосовали 4 пользователя. Воздержавшихся нет.