УДК 004.93
DOI: 10.24412/2071-6168-2024-10-364-365
РАСПОЗНАВАНИЕ СИГНАЛОВ КАШЛЯ С ИСПОЛЬЗОВАНИЕМ МЕЛ-СПЕКТРОГРАММ И СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ
Д.А. Ещенко, Г.В. Абрамов
В статье рассматривается задача автоматического распознавания сигналов кашля с использованием методов машинного обучения с целью решения задачи классификации сигналов на кашли и шумы. Для анализа звуковых сигналов применяются мел-частотные кепстральные коэффициенты (MFCC), которые служат основой для извлечения характеристик сигнала. В процессе предобработки данных, включая нормализацию и фильтрацию шумов, применяются различные фильтры по частотам и временным шкалам к мел-спектрограмме с целью улучшения точности распознавания. Проводится сравнение результатов классификации в зависимости от применяемых фильтров. Основное внимание уделяется применению моделей сверточных нейронных сетей (CNN) для классификации звуковых сигналов кашля. Оценка качества разработанной модели проводится по стандартным статистическим метрикам, что позволяет детально оценить эффективность предложенного подхода. Результаты исследования демонстрируют потенциал использования сверточных нейронных сетей в задачах автоматического распознавания сигналов кашля, а также подчеркивают важность выбора и настройки частотных и амплитудных фильтров для повышения точности распознавания.
Ключевые слова: распознавание сигналов кашля, классификация сигналов, подготовка звуковых данных кашля, мел-частотные кепстральные коэффициенты (MFCC), мел-спектрограмма, спектрограмма, сверточные нейронные сети (CNN), предобработка данных, частотные и временные фильтры, нормализация сигналов.
1. Введение. Респираторные заболевания остаются одной из самых распространенных причин заболеваемости и смертности по всему миру. Согласно данным Всемирной Организации Здравоохранения (ВОЗ), такие инфекции, как грипп, пневмония и хронические обструктивные болезни легких (ХОБЛ), астмы, бронхиты различного характера ежегодно вызывают миллионы случаев госпитализаций и приводят к значительному числу смертей по всему миру [1].
С начала пандемии COVID-19 проблема мониторинга кашля приобрела еще большую актуальность. По данным исследований, кашель наблюдается у подавляющего числа пациентов с диагнозом COVID-19. Мониторинг является важным средством контроля источников инфекции при различных пандемиях [2].
История разработки систем мониторинга кашля насчитывает несколько десятилетий. Еще в 1950-х годах начались попытки создания методов для учета частоты кашля. Первые системы использовали ленточные магнитофоны, а пациенты должны были находиться в одном помещении с микрофоном в течение всего времени записи. Полученные звуковые сигналы кашля вручную прослушивались для их последующего подсчета, что делало процесс очень трудоемким. С развитием технологий записи звука появилась возможность использовать цифровые методы анализа звуковых событий. Однако на данный момент не существует стандартизированного метода мониторинга частоты кашля, который был бы коммерчески доступен и клинически применим [3].
В настоящее время существуют различные подходы к анализу и классификации кашля как с использованием методов машинного обучения [4], так и с использованием других методов. Одним из наиболее широко используемых методов является метод мел-частотных кепстральных коэффициентов (MFCC) [5], который успешно применяется в задачах распознавания речевых аудиосигналов. Следует отметить, что в существующих исследованиях также использовались: гамматоновые кепстральные коэффициенты (GTCC), метод опорных векторов (SVM), деревья классификации и искусственные нейронные сети различных конфигураций (ANN) [6]. Однако на данный момент не существует как общепринятого стандарта оптимального набора акустических характеристик, так и общепринятого метода распознавания сигналов кашля [7].
Важность мониторинга кашля заключается не только в его способности идентифицировать заболевания, но и в возможности наблюдать за частотой и типом кашля в режиме реального времени, что может дать ценную информацию о состоянии пациента. Исследования показывают, что глубокие нейронные сети (DNN) [6, 7], включая сверточные нейронные сети (CNN) [8, 9], демонстрируют достойные результаты в задачах распознавания кашля благодаря их способности извлекать сложные и устойчивые признаки по сравнению с другими способами извлечения характеристик [10].
В данной работе рассматриваются современные методы распознавания кашля с применением методов машинного обучения. Предлагается подход, основанный на использовании мел-частотных кепстральных коэффициентов и сверточных нейронных сетей для классификации кашля. В процессе анализа применяются различные фильтры, как по частотам, так и по временным интервалам. Также обсуждаются возможные направления дальнейших исследований в этой области, которые могут привести к созданию более эффективных и надежных систем мониторинга респираторного здоровья.
2. Гипотезы. В рамках исследования были выдвинуты следующие гипотезы:
1. Звуковой сигнал кашля распределен в конкретном диапазоне частот, специфичном для каждого конкретного человека и зависит от пола, возраста, высоты голоса. Данный факт позволяет анализировать не всю спектрограмму, а только ее часть, применяя различные варианты фильтрации для улучшения качества распознавания.
2. Звуковой сигнал одного конкретного события кашля, как правило, является достаточно непродолжительным во времени (менее 1 сек, в среднем: 300-500мс). Данный факт позволяет сделать предположение о том, что фильтрация данных по временной шкале, удаление сегментов тишины и низкой амплитуды сигнала позволит улучшить качество распознавания и увеличит скорость обработки данных в связи с уменьшением размера входных данных.
3. Спектрограмма, а также ее разновидность мел-спектрограмма, являются в некотором роде «структурированным изображением сигнала». Известно, что сверточные нейронные сети отлично показывают себя для распознавания и создания изображений. В связи с этим, можно выдвинуть гипотезу о том, что сверточные нейронные сети
364
могут показать достойные результаты для решения задачи классификации на кашли или шумы. Достойными результатами в данной работе будем считать значения точности распознавания выше 75%
3. Основная часть. Решение задачи распознавания сигналов кашля включает определенный набор шагов. Визуальная презентация этих шагов представлена на рис.1
Рис. 1. Основные стадии для решения задачи распознавания сигналов кашля
3.1. Поиск и анализ подходящих наборов данных. Для проведения исследования был осуществлен поиск и систематизация различных наборов данных, содержащих как записи кашля, так и другие звуки, которые в данной работе будут классифицироваться как шумы. Шумы представляют собой краткосрочные резкие звуковые события, схожие с кашлем, однако им не являющимися.
Наборы данных были получены из открытых интернет источников, а именно:
1. COUGHVID Dataset [11] — открытый набор данных, предназначенный для исследования и разработки систем диагностики заболеваний дыхательных путей. Набор данных был создан на основе кашлей пациентов во время пандемии COVID-19. Набор данных включает более 25000 записей кашлей и шумов.
2. ESC-50: Dataset for Environmental Sound Classification [12] — открытый набор данных для классификации звуков окружающей среды. Набор включает около 2000 различных типов звуков окружающей среды, среди которых есть кашли.
3. Qure.AI Dataset [13] — набор данных, разработанный компанией Qure.AI. Набор данных включает около 3000 записей кашлей и шумов.
4. SensiML Dataset [14] — набор данных, разработанный компанией SensiML. Набор данных включает около 3000 записей кашлей и шумов.
В результате из вышеуказанных наборов был сформирован общий набор данных общего 28000 необработанных записей кашлей и шумов.
3.2. Предобработка и нормализация данных. В рамках данного этапа была осуществлена предобработка сформированного набора данных с целью приведения его к единому формату, а именно: получение аудиозаписей одинаковой длины и частоты дискретизации в едином формате. В общем виде будем называть данный этап нормализацией данных.
Все исходные аудиозаписи были сохранены в .wav (waveform) формате. Данный формат является стандартом для использования в обработке сигналов, так как он фактически является самой презентацией исходного сигнала без какого-либо сжатия. Однако записи в исходных наборах данных были разной длины с различной частотой дискретизации. Более того, записи кашля были смешаны с данными шумов, что требовало разделения для использования методов машинного обучения.
С использованием библиотеки Librosa языка Python была осуществлена реализации скриптов двух основных скриптов предобработки данных, которые позволяют сделать необходимые преобразования и нормализацию данных:
1. Скрипт с основной логикой предобработки и нормализации.
2. Скрипт с расширенной логикой предобработки и нормализации.
Рассмотрим логику работы каждого скрипта подробнее.
Визуальная презентация шагов скрипта с основной логикой предобработки и нормализации сигнала представлена на рис.2
^ "Л Г "N Г РязДбЛбНИб нэ ^ С
Считывание .wav Преобразование в 1,4 Удаление
сбгменты зэписеи
записей сигналов —► единую частоту —► —► сегментов низкой
кашлей и шумов дискретизации интервала амплитуды
Рис. 2. Стадии предобработки данных основного скрипта
В данном исследовании была использована частота дискретизации 22050 Гц. Данная частота является стандартной для обработки сигналов и позволяет хранить исходный сигнал в достаточно детализированном виде при среднем размере аудиозаписи.
Ввиду того, что данные были получены из наборов от различных источников, большинство из них имели разную длину, начиная от нескольких секунд, заканчивая несколькими минутами с периодами кашлей, шумов и тишины. Для осуществления дальнейшей обработки возникла необходимость извлечь небольшие части аудиозаписей единого временного интервала. Разделение было осуществлено на интервалы по 500мс и по 1с и сохранено в отдельные наборы данных. Данное разделение было произведено для выполнения сравнительного эксперимента влияния длины интервалы на точность прогнозирования. Значения 500мс и 1с были выбраны, основываясь на данных в существующих научных работах о средней длине кашля [15]. Однако следует отметить, что существуют приступы кашлей. Данные явления представляют собой серии одиночных событий кашля продолжительностью менее 1с. В данной статье приступы и серии кашлей анализируются как набор отдельных независимых событий кашля.
Помимо этого, была реализована расширенная версия данного скрипта, задача которого состояла в выполнении предобработки и нормализации данных в другом виде. Это необходимо для выполнения нескольких вариантов сегментации и фильтрации сигнала, о котором будет детальнее описано в следующих разделах данной статьи.
Визуальная презентация шагов скрипта расширенной логикой предобработки и нормализации предобработки и нормализации сигнала представлена на рис.3
Рис. 3. Стадии предобработки данных скрипта с расширенной логикой обработки
Пример построения амплитудной огибающей для получения экстремумов амплитуды сигнала представлен на рис.4.
_Amplitude envelope cough-esc-part-2_
Рис. 4. Амплитудная огибающая сигнала кашля
Поиск локальных экстремумов амплитуды сигнала на амплитудной огибающей необходим для того, чтобы максимальная интенсивность сигнала всегда находилась бы в одном и том же месте на временной шкале относительно начала аудиозаписи. Алгоритм определяет количество максимумов, которое может быть обнаружено в исходной аудиозаписи с учетом ее продолжительности. Например, если длина аудиозаписи составляет 15 секунд, а временная шкала разделяется на отрезки по 500 мс, то алгоритм будет искать не более 30 максимумов.
Данный скрипт с расширенной логикой предобработки обеспечивает подготовку данных аналогично базовому скрипту, но дополнительно к основной логике преобразования он гарантирует, что максимальный пик амплитуды сигнала кашля или шума располагается в одной и той же точке относительно начала сегмента сигнала. В данной работе используется значение 100мс в качестве отклонения от максимума амплитуды. Примеры расположения максимальной амплитуды представлены на рис.5
(а) Пример 1, До преобразования
(Ь) Пример 1. После преобразования
(с) Пример 2. До преобразования (с!) Пример 2. После преобразования
Рис. 5. Амплитудная огибающая со смещением максимума амплитуды
366
В результате выполнения всех шагов преобразования были получены несколько наборов данных аудиозаписей кашлей и шумов. Наборы данных описаны в табл. 1.
Таблица 1
Сформированные наборы данных после преобразования и нормализации _
Формат Частота дискретизации Длина сегмента Макс. амплитуды Размер
wav 22050 Гц 500 мс случайное место 21320
wav 22050 Гц 1 с случайное место 10660
wav 22050 Гц 500 мс через 100 мс 15560
wav 22050 Гц 1 с через 100 мс 7780
Для применения алгоритмов машинного обучения необходимы данные, которые уже будут разделены на кашли и шумы с высокой точностью. Однако ввиду того, что данные получены из разных источников, возникла необходимость проверки корректного разделения данных. Использование автоматизированных алгоритмов для данного этапа проверки и подготовки данных не представляется возможным, так как целью текущей работы является разработка такого алгоритма. В связи с этим, была проведена работа по ручному разделению данных с целью идентификации сигналов кашля.
В результате после выполнения ручного разделения были получены новые разделенные наборы данных из ранее нормализованных наборов (табл.2)
Таблица 2
Сформированные наборы данных после разделения данных__
Сегмент Макс. амплитуды Исх. размер Кашлей Шумов Удалено Рез. размер
500 мс случайное место 21320 6620 12765 1935 19385
1 с случайное место 10660 3301 6184 1175 9485
500 мс через 100 мс 15560 4970 8215 2375 13185
1 с через 100 мс 7780 2356 4244 1180 6600
3.3 Извлечение характеристик и фильтрация сигнала. Существуют различные методы извлечения необходимых характеристик сигнала для их последующей обработки. Следует отметить, что извлечение характеристик является одним из самых важных этапов в распознавании любого сигнала, так как происходит выделение отдельных частей сигнала и фильтрация других.
В настоящее время в научных работах представлена широкая вариативность выбора характеристик и алгоритмов их извлечения [3, 4, 5, 16, 17, 18, 19, 20, 22, 23, 24].
Мел-частотные кепстральные коэффициенты (MFCC) и вариации являются одними из наиболее широко используемых признаков для распознавания сигналов кашля [3, 4, 5, 8, 17, 18, 20]. Изначально популярные в автоматическом распознавании речи, MFCC представляют собой огибающую спектра мощности звукового сигнала.
Помимо MFCC, для обнаружения кашля в существующих работах использовались и другие признаки. Среди них можно выделить: показатель негауссовости, который измеряет степень отклонения сигнала от гауссовой модели, что часто проявляется в звуках кашля; логарифмическую энергию, связанную с амплитудой сигналов кашля; и моменты Ху, метод, широко используемый в обработке изображений, который был адаптирован для обработки сигналов из речи [3, 10, 20, 21, 22, 24].
Как правило, признаки комбинируются для формирования входного набора данных для классификации, однако нет единого стандарта для оптимального набора акустических признаков для обнаружения кашля.
С учетом вышеизложенного можно сделать вывод о том, что существующие научные данные по вопросам распознавания кашля показывают достаточно хорошую эффективность метода мел-частотных кепстральных коэффициентов для извлечения характеристик различных звуковых сигналов, в том числе для сигналов кашля.
Рассмотрим шаги, которые необходимо выполнить для перехода от исходного сигнала в .wav формате к мел-частотным кепстральным коэффициентам.
1. Применение окна Хэмминга (1):
2пп
w[n] = 0.54 - 0.46 • cos(-), (1)
N -1
где N - длина окна, n - индекс внутри окна
2. Применение Быстрого преобразования Фурье (БПФ) (2):
N-1
X[k] = 2 x[n] • e N , (2)
n=0
где X[k] - результат БПФ, x[n] - входной сигнал, N - размер окна, k - индекс частоты
3. Получения спектра мощности (3):
1 2
P[k ] = N ■ \х [k ]|2, (3)
где P[k] - спектральная плотность мощности, N - размер окна, X[k] - значение спектра частот
4. Преобразование в мел-шкалу (4):
m(f) = 2595 • logio(1 + f), (4)
где m(f) - мел-шкала частот, f - частота звука
5. Применение мел-фильтров к спектру мощности
N-1
S[m] =2 P[k ] • Hm[k ], (5)
k=0
где Б[ш] - энергия сигнала в М-мел-частотном диапазоне, Р[к] - Мощность спектра сигнала, Ит[к] - коэффициент т-ого мел-фильтра для к-й частоты
6. Применение обратного дискретного косинусного преобразования (ДКП)
м-1 П г
MFCC[n] = У log S[m] ■ cos[—(n +-)m],
„n M 2
(6)
где MFCC[n] - кепстральные коэффициенты, log S[m] - логарифмированное значение мел-спектра, M - кол-во мел-фильтров.
Для извлечения мел-частотных кепстральных коэффициентов был реализован скрипт с использованием библиотеки Librosa языка Python. Данный скрипт имеет функционал построения спектрограмм, а также получения мел частотных кепстральных коэффициентов из входных аудиозаписей сигналов кашлей и шумов.
Примеры построенных спектрограмм представлены на рис.6
( Ь) Опвктрограыиа лил собаки (с) Спектрограмма сигнала .1: т ■ v ■: I > и 1 у;
Рис. 6. Примеры построенных спектрограмм для кашлей и шумов
3.4. Сегментация и фильтрация сигнала. Для проверки гипотез (1) и (2), выдвинутых в разд. 2, необходимо построить различные мел-спектрограммы, а также создать мел-частотные кепстральные коэффициенты в зависимости от фильтров по частотам и временным шкалам.
Были выбраны следующие варианты для фильтраций по частотам:
- Низкие частоты: значения 0 - 5000 Гц
- Средние частоты: значения 3000 - 8000 Гц
- Высокие частоты: значения 8000 - 15000 Гц
- Средне-низкие частоты: 1500 - 6000 Гц
- Поиск максимума интенсивности на спектрограмме и использование диапазона ±3000 Гц в обе стороны по частотам спектрограммы.
Для фильтрации по временной шкале были использованы наборы данных, подготовленные расширенной версией скрипта в разд. 3.2. Особенность данных наборов состоит в том, что максимальная амплитуда сигнала в них расположена в одной и той же точке на временной шкале относительно начала сегмента. Примеры построенных спектрограмм с учетом различных вариантов фильтрации представлены на рис.7.
3.5 Классификация сигнала на кашли или шумы. Применение сверточных нейронных сетей (CNN) для решения задачи распознавания кашля представляется целесообразным и эффективным по ряду причин. В первую очередь, сверточные нейронные сети обладают способностью автоматически извлекать значимые признаки из данных. В контексте распознавания кашля, звуковые сигналы могут быть изображены в виде спектрограммы (мел-спектрограммы), которые представляют собой изображение частотно-временной структуры сигнала. Сверточ-ные нейронные сети, благодаря своей архитектуре, оптимально работают с изображениями, что позволяет использовать их для анализа спектрограмм и мел-спектрограмм кашля и эффективного решения задачи классификации на кашель или шум.
Основное преимущество сверточных нейронных сетей заключается в способности сверточных слоёв эффективно обрабатывать многомерные данные, сохраняя пространственные взаимосвязи между признаками. Это особенно актуально при распознавании кашля, поскольку различие между кашлем, речью и посторонними шумами может зависеть от тонких вариаций в частотной структуре сигнала, которые визуализируются на спектрограмме. Свер-точные нейронные сети могут выявить эти различия при помощи операции свёртки, что делает их особенно эффективными для задач, связанных с обработкой изображений, в том числе анализ спектрограмм.
Мел-частотные спектральные коэффициенты (MFCC) могут быть более эффективными для анализа кашля по сравнению с использованием полной спектрограммы, поскольку они лучше моделируют восприятие звуков человеческим слухом. В отличие от спектрограммы, которая представляет полную частотную информацию сигнала, MFCC акцентируют внимание на тех частотах, которые наиболее чувствительны для человеческого слуха, уменьшая влияние высокочастотных шумов и ненужных деталей. Это особенно важно для задачи распознавания кашля, где ключевые отличительные признаки сигнала могут находиться в определённом частотном диапазоне.
I;'! М&КСИМуМ ИНТЕНСИВНОСТИ (it) BhictJKHt! &С Т СТЫ
Puc. 7. Варианты фильтрации спектрограммы сигнала по частотам
В рамках данной работы были проведены эксперименты по поиску конфигурации сети показывающей наиболее качественные результаты. В результате была выбрана нейронная сеть со следующими характеристиками:
- Скорость обучения: 0.0001. Используется небольшое значение, что позволяет более аккуратно и плавно обновлять веса, чтобы избежать резких колебаний в процессе обучения и способствует более стабильной сходимости.
- Оптимизатор: Adam (Адаптивная оценка моментов). Комбинирует преимущества оптимизаторов Момент (Momentum) и RMS-оптимизация (RMSprop).
- Функция потерь: Binary Crossentropy. Исползуется данная функция, так как решается задача бинарной классификации на кашель и шум.
- Количество итераций (epochs, эпох): 20
- Размер пакета (batch size): 32
Рассмотрим описание модели сверточной нейронной сети: 1 и 2 слои имеют одинаковую конфигурацию:
- Сверточный слой с 32 нейронами, активац. функция - ReLU, ядро - (3,3)
- Слой максимальной выборки 2D (Max pool 2D), ядро (3,3), шаг свертки - (2,2)
- Нормализация по пакетам (Batch Normalization)
3 слой имеет схожую конфигурацию с 1 и 2 слоем, однако отличается размером ядра свертки. Ядро - (2,2) Выравнивающий (flatten) слой имеет следующую конфигурацию:
- Выравнивающий (flatten) слой
- Полносвязный (Dense) слой с 32 нейронами, активационная функция - ReLU
- Слой со случайным отсевом нейронов (Dropout) с коэффициентом 0.3
Выходной слой с активационной функцией - softmax и 2 нейронами, соответствующим значениям кашель
и шум.
Визуальная модель сверточной нейронной сети представлена на рис.8.
^^ 1st conv layer (Conv2D) 1st max pool layer {MaxPooling2D) 1st batch norm layer (BatchNormalization)
Output shape: {None, 20.11, 32) Oulput shape. {Hone, 10, 6,32) Output shape: (Norte, 10, 6. 32}
Щ 2nd conv layer (Conv2D) 2nd max pool layer (MaxPooling2D) 2nd batch norm layer (BatchNormalization) Ц
Output shape; (None, 8, 4, 32} Output shape- {None, 4. 2, 32} Output shape: (None, 4, 2, 32)
3rd conv layer (Conv2D) 3rd max pool layer (MaxPooling2D) 3rd batch norm layer (BatchNormalization)
Output shape" {None, 3,1, 32) Output shape: {None. 2,1, 32) Output shape: (None, 2,1, 32)
flatten the output (Flatten) Dense layer (Dense) dropout layer (dropout) output layer with softmax (Dense)
Output shape. {None, 64) Output shape: (None, 32) Output shape: (Now. 32) Output shape: (None, 2)
Рис. 8. Модель сверточной нейронной сети
Подготовленные наборы из разд. 3.2 использовались для обучения данной нейронной сети. Эти данные обеспечили необходимую основу для успешного обучения модели, а также позволили провести глубокий анализ ее производительности. Все результаты экспериментов, включая нужные ключевые метрики, были зафиксированы и сохранены для дальнейшего анализа и сравнения с другими моделями.
4. Сравнение результатов. Рассмотрим основные используемые метрики, используемые для оценки точности распознавания сигналов кашля
- Точность положительных результатов (7)
TP
(7)
Pr ecision = -
TP + FP
■ Точность c учетом ложно-(положительных и отрицательных) результатов (8)
TP + TN
Accuracy -
TP + TN + FP + FN
- Полнота (9)
■ Fl-мера (10)
Re call = -
TP
F1 = 2 •-
TP + FN'
Pr ecision • Re call
(8)
(9)
(10)
Pr ecision + Re call
где TP - истинно положительный результат (True Positive), TN - истинно отрицательный результат (True Negative), FP - ложноположительный результат (False Positive), FN - ложноотрицательный результат (False negative).
Результаты по указанным метрикам по каждому из наборов данных, представленных в разд. 3.2. с использованием обученной сверточной нейронной сети из разд. 3.6. представлены в табл. 4,5,6,7, а именно:
- Набор данных с аудиозаписями по 500 мс, макс. амплитуды в случайном месте. Размер подготовленного набора: 19385 записей, среди которых 6620 кашлей и 12765 шумов. Результат представлен в табл. 3
Результаты
по подготовленному набору 1
Таблица 3
Фильтрация по частотам Точность полож. результатов (Precision) Точность с учетом ложн. результатов (Accuracy) Полнота (Recall) Fl-мера (F1-score)
без фильтрации 0,8364 0,8165 0,6911 0,7568
0-5000 Гц 0,8051 0,8269 0,7207 0,7606
1500-6000 Гц 0,8202 0,8420 0,7434 0,7800
3000-8000 Гц 0,7436 0,7397 0,5951 0,6612
8000-15000 Гц 0,6481 0,5878 0,4312 0,5178
Макс интенсивности и отступ ±3000 Гц 0,8496 0,8567 0,7594 0,8020
- Набор данных с аудиозаписями по 1 сек, макс. амплитуды в случайном месте. Размер подготовленного набора: 9485 записей, среди которых 3301 кашлей и 6184 шумов. Результат представлен в табл. 4
Таблица 4
Результаты по подготовленному набору 2__
Фильтрация по частотам Точность полож. результатов (Precision) Точность с учетом ложн. результатов (Accuracy) Полнота (Recall) Fl-мера (Fl-score)
без фильтрации 0,8382 0,8350 0,7286 0,7795
0-5000 Гц 0,7967 0,8006 0,6831 0,7356
1500-6000 Гц 0,8179 0,7977 0,6721 0,7379
3000-8000 Гц 0,7334 0,7139 0,5689 0,6408
8000-15000 Гц 0,6574 0,5964 0,4459 0,5313
Макс интенсивности и отступ ±3000 Гц 0,8531 0,8453 0,7412 0,7932
- Набор данных с аудиозаписями по 500 мс, макс. амплитуды через 100 мс после начала записи. Размер подготовленного набора: 13185 записей, среди которых 4970 кашлей и 8215 шумов. Результат представлен в табл. 5
Таблица 5
Результаты по подготовленному набору 3__
Фильтрация по частотам Точность полож. результатов (Precision) Точность с учетом ложн. результатов (Accuracy) Полнота (Recall) Fl-мера (Fl-score)
без фильтрации 0,8511 0,8481 0,7702 0,8086
0-5000 Гц 0,8189 0,8236 0,7406 0,7778
1500-6000 Гц 0,8088 0,7561 0,6396 0,7143
3000-8000 Гц 0,7243 0,6770 0,5537 0,6277
8000-15000 Гц 0,6791 0,6384 0,5154 0,5860
Макс интенсивности и отступ ±3000 Гц 0,8661 0,8796 0,8236 0,8443
- Набор данных с аудиозаписями по 1 сек, макс. амплитуды через 100 мс после начала записи. Размер подготовленного набора: 6600 записей, среди которых 2356 кашлей и 4244 шумов. Результат представлен в табл. 6
Таблица 6
Результаты по подготовленному набору 4__
Фильтрация по частотам Точность полож. результатов (Precision) Точность с учетом ложн. результатов (Accuracy) Полнота (Recall) Fl-мера (Fl-score)
без фильтрации 0,8221 0,8356 0,7441 0,7812
0-5000 Гц 0,7988 0,8018 0,6929 0,7421
1500-6000 Гц 0,8281 0,8108 0,6980 0,7575
3000-8000 Гц 0,7385 0,7297 0,5983 0,6611
8000-15000 Гц 0,6384 0,6406 0,5320 0,5804
Макс интенсивности и отступ ±3000 Гц 0,8489 0,8333 0,7280 0,7843
5. Выводы. Опираясь на полученные результаты, представленные в табл. 4, 5, 6, 7 можно сделать следующие выводы:
1) Сверточные нейронные сети показывают достойные результаты распознавания сигнала кашля при обработке мел-частотных кепстральных коэффициентов. Наилучшие результаты распознавания достигают 86,61%. Таким образом, можно сделать вывод, что гипотеза 3, выдвинутая в разд. 2 на данный момент, подтверждается.
2) Использование частотных фильтров дает различные результаты в зависимости от типа фильтрации.
Рассмотрим результаты по каждому из фильтров подробнее:
- Фильтрация по высоким частотам: 8000-15000 Гц показывает заметное ухудшение качество распознавания по сравнению с другими вариантами. В связи с этим следует принять данный фильтр несостоятельным для решения задачи распознавания кашля.
- Фильтрация по средним частотам: 3000-8000 Гц, в среднем, показывает худшие результаты по сравнению с вариантом без применения фильтра, также как и с фильтрацией по низким, средне-низким частотам.
- Фильтрация по низким 0-5000 Гц и средне-низким 1500-6000 частотам, в среднем, показывает схожие результаты в сравнении с вариантом без применения фильтрации. Однако данный подход позволяет уменьшить размер анализируемых данных, в связи с тем, что происходит анализ и извлечение мел-частотных кепстральных коэффициентов только части мел-спектрограммы. Таким образом, данный вариант фильтрации разумно использовать в будущих исследованиях в качестве одного из вариантов фильтрации.
- Фильтрация с поиском максимума интенсивности, а также с последующим отступом от максимума на значение в 3000 Гц показывает наилучшие результаты по сравнению с другими вариантами фильтраций. Однако следует заметить, что значения точности распознавания, в среднем, схожи с вариантом без применения фильтрации. Заметный плюс данного варианта фильтрации по сравнению с фильтрами по низким и средне-низкими частотам является то, что данный вариант является более чувствительным к высоте голоса за счет возможности сдвига поддиапазона частот в зависимости от максимума амплитуды.
- Следует обратить внимание на вариант без применения фильтрации по частотам. Данный вариант показал схожие результаты с фильтрацией по средне-низкими и низким частотам. Таким образом, можно сделать вывод, что сверточные нейронные сети достаточно хорошо извлекают нужные характеристики без необходимости дополнительной фильтрации при решении задачи классификации кашля. Однако дополнительная фильтрация может помочь в уменьшении объема анализируемых данных для снижения нагрузки на систему распознавания. Нагрузка переходит с фазы распознавания на фазу подготовки предобработки данных.
3) Сегментация звукового сигнала по 500мс по сравнению с сегментацией сигнала по 1с не имеет значительного влияния на качество распознавания. Однако можно сделать вывод, что имеет смысл анализировать более короткие аудиозаписи по 500мс. В связи с тем, что, как правило, весь сигнал кашля входит в данный диапазон. Это позволяет сократить размер анализируемых частей, однако может увеличить кол-во анализируемых сегментов, при отсутствии фильтрации на клиентской части.
4) Смещение максимума амплитуды на одно и то же время с момента начала аудиозаписи увеличивает точность прогнозирования по сравнению со случайно расположенным пиком. Однако это влечет за собой дополнительную нагрузку на предобработку данных при интеграции алгоритма в реальную систему мониторинга кашля. При интеграции в реальную систему мониторинга имеет смысл дополнительно провести сравнение фильтрации, сегментации и смещения данных на клиенте по сравнению с серверной обработкой со смещением или же без ее использования.
Таким образом, можно сделать вывод, что гипотеза 2, выдвинутая в разд. 2 текущей работы на данный момент является разумной, но требует дополнительной верификации в контексте сравнения производительности дополнительной предобработки в реальном времени по сравнению с отправкой на вход нейронной сети данных без сдвига максимума амплитуды.
5) Использование кашлей и шумов из разных наборов данных позволяет увеличивать качество распознавания за счет большей вариативности кашлей и шумов.
Заключение. В данной работе представлено исследование по автоматическому распознаванию сигналов кашля с использованием методов машинного обучения. Основное внимание уделено применению сверточных нейронных сетей (CNN) для классификации звуков кашля на основе мел-частотных кепстральных коэффициентов (MFCC).
Результаты экспериментов показали, что сверточные нейронные сети способны достигать высокой точности классификации, подтверждая гипотезу о том, что использование CNN эффективно для анализа структурированных данных звуковых сигналов, таких как мел-спектрограммы. Наилучшие результаты распознавания кашля были достигнуты при фильтрации по частотам - с поиском максимальной амплитуды сигнала; по временным шкалам -при сдвиге пика сигнала на одно и то же время, что подтверждает гипотезу о применении фильтрации для улучшения качества распознавания.
Вторичная предобработка данных, включающая фильтрацию по частотам и временным шкалам, также доказала свою эффективность, особенно в контексте уменьшения объема данных для анализа, что снижает нагрузку на систему распознавания. Однако необходимы дополнительные исследования по вопросу наилучшей производительности при применении максимального количества возможных фильтров на клиентской части по сравнению с отправкой неотфильтрованных данных на серверную часть для применения внутренней фильтрации самой сверточ-ной нейронной сети.
Таким образом, предложенные в работе подходы к фильтрации, сегментации и классификации звуков кашля демонстрируют достойные результаты решения задачи распознавания сигнала кашля, однако они требуют дальнейшего совершенствования и верификации в контексте применения в реальных системах распознавания кашля.
Список литературы
1. World Health Organization (WHO). Respiratory diseases are among the leading causes of death worldwide / World Health Organization. 2020. [Электронный ресурс] URL: https://www.who.int/news-room/fact-sheets/detail/respiratory-diseases (дата обращения: 07.06.2024).
2. Hashmi H.A.S. Early Detection and Assessment of Covid-19 / H. A. S. Hashmi, H. M. Asif // Front. Med. 2020. Т. 7. С. 311.
3. Hall J.I. The present and future of cough counting tools / J. I. Hall, M. Lozano, L. Estrada-Petrocelli, S. Birring, R. Turner // Journal of Thoracic Disease. 2020. Т. 12, № 9. С. 5207-5223.
4. Ijaz A. Towards using cough for respiratory disease diagnosis by leveraging Artificial Intelligence: A survey / A. Ijaz, M. Nabeel, M. S. Hashmi, U. Masood, I. Posokhova, T. Mahmood, A. Rizwan, A. Imran // Informatics in Medicine. 2022. Т. 29. ID: 100832.
5. Zhou Q. Cough Recognition Based on Mel-Spectrogram and Convolutional Neural Network / Q. Zhou, J. Shan, W. Ding, C. Wang, S. Yuan, F. Sun, H. Li, B. Fang // Frontiers in Robotics and AI. 2021. Т. 8. ID: 580080.
6. Lee G.-T. Deep learning based cough detection camera using enhanced features / G.-T. Lee, H. Nam, S.-H. Kim, S.-M. Choi, Y. Kim, H. Park // Expert Systems With Applications. 2022. Т. 206. ID: 117811.
7. Pahar M. Automatic cough classification for tuberculosis screening in a real world environment / M. Pahar, M. Klopper, B. Reeve, R. Warren, G. Theron, T. Niesler // Physiological Measurement. 2021. Т. 42. ID: 105010.
8. Barata F. Towards Device-Agnostic Mobile Cough Detection with Convolutional Neural Networks / F. Barata, K. Kipfer, M. Weber, P. Tinschert, E. Fleisch, T. Kowatsch // IEEE International Conference on Healthcare Informatics (ICHI). 2019. ID: 8904554.
9. Gabaldon-Figueira J.C. Longitudinal passive cough monitoring and its implications for detecting changes in clinical status / J. C. Gabaldon-Figueira, E. Keen, M. Rudd, V. Orrilo, I. Blavia, J. Chaccour, M. Galvosas, P. Small, S. Grandjean Lapierre, C. Chaccour // ERJ Open Research. 2022. Т. 8. ID: 00001-2022.
10. Lee S.-E. Feasibility and Utility of a Smartphone Application-Based Longitudinal Cough Monitoring in Chronic Cough Patients in a Real-World Setting / S.-E. Lee, M. Rudd, T.-H. Kim, J.-Y. Oh, J.-H. Lee, L. Jover, P. M. Small, K. F. Chung, W.-J. Song // Lung. 2023. Т. 201. С. 555-564.
11. COUGHVID Dataset. COUGHVID: A large-scale cough audio dataset for disease detection / COUGHVID Dataset. 2020. [Электронный ресурс] URL: https://github.com/MLH-Fellowship/COUGHVID. (дата обращения: 05.04.2024).
12. ESC-50: Dataset for Environmental Sound Classification. ESC-50: A collection of 2000 environmental audio recordings for sound classification / ESC-50 Dataset. 2017. [Электронный ресурс] URL: https://github.com/karoldvl/ESC-50. (дата обращения: 03.03.2024).
13. Qure.ai Dataset. Qure.ai: Medical Imaging AI for Radiology and Pathology / Qure.ai. 2021. [Электронный ресурс] URL: https://www.qure.ai. (дата обращения: 12.03.2024).
14. SensiML Dataset. SensiML: A Dataset for Predictive Analytics in Healthcare / SensiML. 2021. [Электронный ресурс] URL: https://sensiml.com (дата обращения: 06.03.2024).
15. Lee K.K. Sound: a non-invasive measure of cough intensity / K. K. Lee, S. Matos, K. Ward, G. F. Rafferty, J. Moxham, D. H. Evans, S. S. Birring // BMJ Open Respiratory Research. 2017. Т. 4. e000178.
16. Rudd M. The Statistics of Counting Coughs: Easy as 1, 2, 3? / M. Rudd, W.-J. Song, P. M. Small // Lung. 2022. Т. 200. С. 531-537.
17. Gabaldon-Figueira J.C. Acoustic surveillance of cough for detecting respiratory disease using artificial intelligence / J. C. Gabaldon-Figueira, E. Keen, M. Rudd, V. Orrilo, I. Blavia, J. Chaccour, M. Galvosas, P. Small, S. Grandjean Lapierre, C. Chaccour // ERJ Open Research. 2022. Т. 8. ID: 00053-2022.
18. Alqudaihi K.S. Cough Sound Detection and Diagnosis Using Artificial Intelligence Techniques: Challenges and Opportunities / K. S. Alqudaihi, N. Aslam, I. U. Khan, A. M. Almuhaideb, S. J. Alsunaidi, N. M. Abdel Rahman Ibrahim, F. Alhaidari, F. S. Shaikh, Y. M. Alsenbel, D. M. Alalharith // IEEE Access. 2021. Т. 9. С. 102327-102344.
19. Kvapilova L. Continuous Sound Collection Using Smartphones and Machine Learning to Measure Cough / L. Kvapilova, V. Boza, P. Dubec, M. Majernik, J. Bogar, J. Jamison, J. C. Goldsack, D. J. Kimmel, D. R. Karlina // Digital Bi-omarkers. 2019. Т. 3. С. 166-175. DOI: 10.1159/000504666.
20. Cohen-McFarlane M. Comparison of Silence Removal Methods for the Identification of Audio Cough Events / M. Cohen-McFarlane, R. Goubran, F. Knoefel // 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). 2019. Т. 3. С. 1263-1268. DOI: 10.1109/EMBC.2019.8857889.
21. Mohammadi H. Automatic discrimination between cough and non-cough accelerometry signal artefacts / H. Mohammadi, A.-A. Samadani, C. Steele, T. Chau // Biomedical Signal Processing and Control. 2019. Т. 52. С. 394-402.
22. Nemati E. Poster Abstract: A Comprehensive Approach for Cough Type Detection / E. Nemati, M. M. Rahman, V. Nathan, K. Vatanparvar, J. Kuang // 2019 IEEE/ACM International Conference on Connected Health: Applications, Systems and Engineering Technologies (CHASE). 2019. С. 15-16.
23. You M. Novel feature extraction method for cough detection using NMF / M. You, H. Wang, Z. Liu, C. Chen, J. Liu, X.-H. Xu, Z.-M. Qiu // IET Signal Processing. 2017. Т. 11, № 5. С. 515-520.
24. Ludena-Choez J. Feature extraction based on the high-pass filtering of audio signals for Acoustic Event Classification / J. Ludena-Choez, A. Gallardo-Antolin // Computer Speech and Language. 2015. Т. 30, № 1. С. 32-42.
Ещенко Дмитрий Алексеевич, аспирант, преподаватель, [email protected], Россия, Воронеж, Воронежский государственный университет,
Абрамов Геннадий Владимирович, д-р техн. наук, профессор, заведующий кафедрой, aswl@yandex. гы, Россия, Воронеж, Воронежский государственный университет
372
COUGH SIGNALS RECOGNITION USING MEL-SPECTROGRAMS AND MEL-FREQUENCY CEPSTRAL COEFFICIENTS. APPLICATION OF VARIOUS FILTERS AND CONVOLUTIONAL NEURAL NETWORKS
D.A. Eshchenko, G.V. Abramov
The paper addresses the problem of automatic cough signal recognition using machine learning methods aimed at classifying signals into coughs and noise. Mel-frequency cepstral coefficients (MFCC) are used for analyzing sound signals, serving as the basis for feature extraction. During the data preprocessing phase, which includes normalization and noise filtering, various frequency and time-domain filters are applied to the mel-spectrogram to improve recognition accuracy. A comparison of classification results based on the applied filters is conducted. The main focus is on using convolutional neural network (CNN) models for classifying cough sound signals. The quality of the developed model is evaluated using standard statistical metrics allowing for a detailed assessment of the proposed approach's effectiveness. The results demonstrate the potential of convolutional neural networks in automatic cough signal recognition tasks and highlight the importance of selecting and tuning frequency and amplitude filters to enhance recognition accuracy.
Key words: cough signal recognition, signal classification, cough sound data preparation, mel-frequency cepstral coefficients (MFCC), mel-spectrogram, spectrogram, convolutional neural networks (CNN), data preprocessing, frequency and time filters, signal normalization.
Eshchenko Dmitrii Alekseevich, postgraduate, lecturer, dmitrii. eshchenko@gmail. com, Russia, Voronezh, Voronezh State University,
Abramov Gennady Vladimirovich, doctor of technical sciences, professor, head of chair, agwl@yandex. ru, Russia, Voronezh, Voronezh State University
УДК 614.8.084
DOI: 10.24412/2071-6168-2024-10-373-374
К ВОПРОСУ О ПЕРСОНАЛИЗАЦИИ ОПОВЕЩЕНИЯ НАСЕЛЕНИЯ
Е.М. Леонова, А.Н. Леонова, Д.С. Котлячков
В данной статье обосновывается необходимость персонализации оповещения населения при различных видах и местах возникновения чрезвычайной ситуации, предлагается модель системы оповещения населения с функцией определения местоположения мобильных абонентов, приведены преимущества применения технологии персонализации оповещения населения.
Ключевые слова: цифровые технологии, оповещение населения, персонализация оповещения населения, чрезвычайные ситуации, безопасность жизнедеятельности.
На протяжении всего существования человечество пыталось и пытается защититься от угроз различного характера. Для этого требуется получение информации об опасности, то есть оповещение. Законодательство всех стран мира вменило в обязанность государству оповещение населения при чрезвычайных ситуациях различного характера (далее - ЧС) [1-2]. Информация оповещения должна содержать сведения о прогнозируемых и возникших ЧС, их последствиях, мерах по защите населения и территорий.
С развитием цифровых технологий стало возможным персональное оповещение каждого человека или группы людей, подверженных рискам ЧС, например, жителей определенного дома/района по эвакуации при взрыве газа, сотрудников экстренных служб и аварийно-спасательных подразделений при угрозе возникновения аварии на опасном производственном объекте. Персонализация оповещения — это процесс доведения информации о ЧС для каждого человека или группы людей (далее - оповещение). При этом информация оповещения должна быть понятной и релевантной, ее получение должно снимать чувство неопределенности и неуверенности.
Отметим преимущества персонализации оповещения населения:
целенаправленность, оповещение доводится только до той группы населения, которая действительно в нем нуждается;
своевременность, оповещение доводится в кратчайшие сроки;
релевантность, информация адаптирована под конкретного человека, его местоположение.
Примером персонализации оповещения является оповещение населения в транспортных средствах, по служебным телефонам или с учетом определения его местоположения. В этом случае в состав системы оповещения вводится дополнительная компонента - датчики определения местонахождения абонентов. Для этой цели могут использоваться трекеры местоположения - устройства, собирающие информацию о местоположении типа GPS-приемников, Bluetooth-меток и т.д., принадлежащие мобильным абонентам (пользователям).
В отличие от стационарных оконечных средств звукового и речевого оповещения (сирен, электронных сирен, громкоговорителей, выносных акустических установок), установленных в конкретных точках открытых пространств, мобильные абоненты системы оповещения могут принимать сигналы и информацию оповещения, используя различные технические средства персонального оповещения, например часы с установленным специальным приложением для приема и отображения сообщений о ЧС. К оконечным средствам персонального оповещения можно отнести портативные электронные устройства, сотовые телефоны и умные часы. Одновременно с общепринятым алгоритмом оповещения населения о ЧС могут использоваться SMS-уведомления, письма на электронную почту и т.д.