Введение
В условиях стремительного роста урбанизации и увеличения плотности городской застройки проблема оценки шумового загрязнения становится все более актуальной [1, 2]. Это связано с тем, что высокий уровень шума негативно влияет на здоровье и качество жизни населения, как на территории России, так и в Европе [3, 4], создавая значительные экологические и социальные риски [5]. Эффективный мониторинг акустической обстановки в городах требует применения современных цифровых технологий и математических подходов для точного анализа и оценки зашумленности. Одним из перспективных направлений по решению данной проблемы является разработка программного обеспечения (ПО), способного автоматически обрабатывать аудиоданные, записанные с помощью беспилотных летательных аппаратов (БПЛА). Чтобы такое ПО было точным и надежным, требуется учитывать различные характеристики звуковых сигналов, выполнять фильтрацию помех с использованием методов математического моделирования и классификацию типов шумов, а главное – определять уровень шума.
Цель исследования – разработка программного обеспечения для анализа аудиофайлов, полученных с помощью БПЛА, для вычисления уровня шума. Для достижения поставленной цели необходимо решить следующие задачи:
− получение записи шума (аудиофайла) с использованием микрофона на БПЛА;
− разработка архитектуры нейронной сети для подавления собственного шума дрона;
− построение математической модели обработки аудиоданных;
− цифровая обработка записи шума (аудиофайла) с использованием разработанной нейронной сети;
− представление результатов обработки в форме числовых и визуальных данных.
Материалы и методы исследования
Обычно для измерения шума в городах применяются стационарные или мобильные наземные средства измерения. Однако подобные способы часто оказываются затратными и не всегда позволяют оперативно собрать данные по всему городу, особенно в труднодоступных зонах. Эта проблема решается использованием БПЛА, на котором закреплено устройство для записи звука (например, микрофон). БПЛА открывают новые возможности для измерения шума городской территории, благодаря своей мобильности и способности охватывать разнообразные участки города в кратчайшие сроки.
В качестве основного инструмента разработки программного обеспечения был выбран язык Python и его библиотеки:
‒ библиотека NumPy использовалась для работы с массивами данных, а также для векторизованных операций и вычислений (в том числе вычисления среднеквадратичного значения (RMS), нормализации и логарифмического преобразования);
− библиотека scipy.io.wavfile применялась для загрузки WAV-файлов;
− библиотека soundfile использовалась для чтения и записи аудиофайлов с шумом и получения низкоуровневого доступа к аудиоданным;
− библиотека librosa предоставляет функции для работы со спектрограммами, анализа звука и поддерживает различные форматы аудио;
− библиотека scipy.fft позволила выполнить быстрое преобразование Фурье (БПФ);
− библиотека matplotlib использовалась для построения визуализаций: амплитудного спектра и спектрограммы;
− библиотека tqdm применялась для визуализации процесса работы программы при отслеживании длительных операций.
Также для глубокого обучения нейронной сети был выбран фреймворк TensorFlow, который предоставляет гибкую архитектуру для создания сложных моделей, имеет поддержку GPU для ускорения вычислений, встроенные оптимизаторы и функции потерь.
Архитектура нейронной сети была построена на основе модели U-Net, которая является эффективной в задачах сегментации и обработки изображений/спектрограмм. Для более оптимизированной работы с данными в программе реализован генератор данных (AudioDataGenerator), в котором происходит загрузка и предобработка данных.
Результаты исследования и их обсуждение
Для получения аудиофайла с записью шума городской среды был использован БПЛА. Для этого на БПЛА крепится устройство для записи шума, чем может являться микрофон либо любое подобное устройство. Данный способ предоставляет ряд преимуществ, таких как мобильность и охват труднодоступных зон, быстрое и оперативное измерение, регулярная запись шума по заранее определенным маршрутам.
Действующими нормативными документами устанавливаются следующие правила записи (измерения) шумов на городской территории [6]:
− транспортные потоки – 7,5 м от оси первой полосы движения;
− железнодорожный транспорт – 25 м от оси ближнего пути;
− водный транспорт – 25 м от борта судна;
− воздушный транспорт – в расчетной точке (определенном месте на территории города);
− промышленные предприятия – на границе территории предприятия и селитебной зоны (сосредоточение жилых домов, зданий администрации и т.д.).
Таким образом, в соответствии с данными нормативными документами и описанной выше методикой измерения шума может быть выполнено картографирование шумового загрязнения городских территорий, которое применяется для формирования комфортной среды обитания [7, 8].
После того как была получена аудиозапись, было обнаружено, что в записанном файле слышен шум винтов БПЛА [9], что искажает уровень истинного шума. Чтобы выполнить подавление шума дрона в исходном файле, была построена нейронная сеть.
Разработанная нейронная сеть построена в соответствии с моделью U-Net и состоит из трех основных частей:
− энкодер, который состоит из четырех слоев и предназначен для извлечения признаков из аудио с шумом винтов БПЛА;
− боттлнек, состоящий из двух слоев и предназначенный для анализа и обработки сжатых данных;
− декодер, который также состоит из четырех слоев и позволяет восстанавливать очищенный аудиофайл без звука винтов.
Данные для обучения нейронной сети хранятся в папках urban_audio с записями городского шума и drone_noise с записями шума дрона (182 файла в каждой). При обучении модель проходит через 100 эпох. Файлы, участвующие в обучении, должны иметь следующие характеристики: формат WAV, частота 16 кГц и продолжительность не менее 5 с. Процесс обучения нейронной сети можно наблюдать на рис. 1. Видно, что потери на тренировочных и валидационных данных постепенно уменьшаются, что свидетельствует о стабильной сходимости процесса обучения.
Обученная модель была использована для сравнения уровня шума у исходного файла, где присутствует шум винтов БПЛА, и у обработанного, полученного в результате очистки аудиофайла нейронной сетью. Результаты данного сравнения представлены на рис. 2. Таким образом, показана работа обученной нейросети, результатом которой становится «очищенный» звук – без шума винтов БПЛА (меньшей громкости), используемый в дальнейшем для оценки уровня шума.
Рис. 1. Динамика процесса обучения модели нейронной сети (100 эпох) Источник: составлено авторами
Рис. 2. Сравнение уровня шума исходного и очищенного аудиофайлов Источник: составлено авторами
Одним из ключевых математических инструментов при оценке шума является дискретное преобразование Фурье, в частности его оптимизированный вариант – быстрое преобразование Фурье (БПФ) [10–12]:
(1)
где X[k] – комплексный спектр сигнала на частоте k, x[i] – входной сигнал во временной области, N – количество отсчетов, j – мнимая единица.
Описанное преобразование позволяет представить аудиосигнал в частотной области, где проще выделить и классифицировать различные источники шума [13].
БПФ особенно эффективно работает для стационарных шумов, таких как шум от автотранспорта или промышленных объектов.
С использованием БПФ и разработанного программного обеспечения на основе нейросети, выполнялось измерение уровня громкости городского шума в ДБ по «очищенному» аудиофайлу с вычислением двух ключевых показателей.
В качестве первого ключевого показателя вычислялся уровень RMS (2) – среднеквадратичное значение сигнала в децибелах (дБ), который отображает общую энергию шума:
. (2)
После расчета RMS можно перевести его в логарифмическую шкалу, привычную для измерения в децибелах по формуле
. (3)
В качестве второго показателя находится пиковый уровень шума – максимальное значение амплитуды в дБ, что позволяет оценить экстремальные выбросы в звуковом ряду.
Пример результатов расчета данных показателей для тестового аудиофайла продемонстрирован на рис. 3.
Рис. 3. Результаты вычисления ключевых показателей уровня шума Источник: составлено авторами
Также для визуализации полученных результатов были реализованы два вида спектрального анализа.
1. Амплитудный спектр (с использованием БПФ) позволяет оценить вклад различных частот в структуру шума. На графике (рис. 4) выделены ключевые зоны [14]:
− низкие частоты (20–200 Гц) – транспортный гул, промышленные установки;
− средние частоты (200–2000 Гц) – речь, городские сигналы [15];
− высокие частоты (2000–3000 Гц и выше) – высокочастотные шумы.
Рис. 4. Амплитудный спектр Источник: составлено авторами
Рис. 5. Спектрограмма Источник: составлено авторами
2. Спектрограмма – динамическое представление частотных характеристик во времени, отображающее изменение спектра в процессе звучания. Спектрограмма визуализирована с использованием шкалы интенсивности (дБ) и аннотирована горизонтальными линиями, отмечающими границы зон интереса (рис. 5).
Спектр и спектрограмма подтвердили наличие выраженного транспортного гула и компонентов в диапазоне речевых частот, что указывает на высокую активность предприятий и людей в исследуемой городской зоне.
Заключение
Разработанное ПО успешно прошло тестирование на реальных аудиозаписях городской среды и показало способность эффективно удалять шумы винтов БПЛА из анализируемого аудиофайла с использованием разработанной нейронной сети, а также представлять результаты обработки аудиофайлов в форме числовых и визуальных данных.
Практическая значимость полученных результатов заключается в возможности их использования в системах экологического мониторинга, в рамках проектов «умного города» (smart city), а также для поддержки градостроительных решений и оценки санитарно-экологических условий городской среды. Перспективным направлением дальнейших исследований является автоматизация классификации типов шума и расширение модели с применением методов машинного обучения.
Полученные результаты могут быть использованы при составлении карты зашумленности местности или анализа уровня шума в разное время, чтобы визуализировать динамическую структуру городской акустической среды.