Разработка высокопроизводительной библиотеки вейвлет-фильтрации и машинного обучения для архитектуры ARM
|
Список используемых сокращений 5
Введение 6
1. Обзор методов цифровой фильтрации 10
1.1 Традиционные методы цифровой фильтрации 10
1.2 Современные программные методы 11
1.2.1 Пороговая вейвлет-фильтрация 11
1.3 Выводы по первой главе 16
2. Решение задач классификации с использованием методов
машинного обучения 17
2.1 Методы решения задачи классификации 18
2.1.1 Постановка задачи классификации 18
2.1.2 Методы классификации 20
2.1.3 Выбор оптимального метода классификации 22
2.2 Описание объектов 23
2.2.1 Определение набора признаков 24
2.2.2 Выбор значимых признаков 28
2.2.3 Преобразование и нормирование признаков 28
2.2.4 Функции расстояния для метрических алгоритмов ... 29
2.3 Оценка качества классификации (функционалы качества) .... 30
2.4 Выводы по второй главе 32
3. Аппаратное ускорение вычислений на процессорах с ядром ARM
Cortex-M4 34
3.1 Инструкции аппаратного ускорения вычислений
процессорного ядра Cortex-M4 35
3.2 Блок вычислений с плавающей точкой 35
3.3 Библиотека функций по цифровой обработке сигналов
CMSIS-DSP 37
3.4 Выводы по третьей главе 38
4. Содержание исследований 39
4.1 Аппаратное обеспечение 39
4.1.1 Представление входных данных. Определение
граничных условий функционирования алгоритма .... 39
4.2 Используемые средства разработки 40
4.3 Общее описание системы обработки данных 41
4.4 Реализация модуля цифровой фильтрации 42
4.4.1 Модуль предварительной фильтрации в частотной области 43
4.4.2 Модуль пороговой вейвлет-фильтрации 45
4.4.3 Пример применения фильтров блока фильтрации .... 46
4.5 Описание алгоритмов обнаружения и классификации 48
4.5.1 Алгоритм выделения признаков из кадра данных .... 48
4.5.2 Вычисление признаков с использованием методов
аппаратного ускорения вычислений 49
4.5.3 Выделение оптимальных групп признаков для решения
задач обнаружения и классификации 53
4.5.4 Нормирование признаков 54
4.5.5 Модуль обнаружения воздействий 55
4.5.6 Модуль классификации воздействий 58
4.6 Выводы по четвертой главе 59
5. Обсуждение результатов 61
5.1 Тестирование производительности разработанной системы ... 61
5.1.1 Время выполнения алгоритмов с использованием
средств аппаратного ускорения 61
5.1.2 Время выполнения алгоритмов без использования
средств аппаратного ускорения 62
5.1.3 Сравнительный анализ времени выполнения алгоритмов 62
5.2 Тестирование качества модуля обнаружения воздействий .... 63
5.3 Тестирование качества модуля классификации воздействий ... 66
5.4 Выводы по пятой главе 68
Заключение 69
Список литературы 71
Приложение А. Тексты программ 77
А.1 Тексты программ модуля цифровой фильтрации 77
А.2 Тексты программ модулей обнаружения и классификации .... 82
Список текстов программ 89
Введение 6
1. Обзор методов цифровой фильтрации 10
1.1 Традиционные методы цифровой фильтрации 10
1.2 Современные программные методы 11
1.2.1 Пороговая вейвлет-фильтрация 11
1.3 Выводы по первой главе 16
2. Решение задач классификации с использованием методов
машинного обучения 17
2.1 Методы решения задачи классификации 18
2.1.1 Постановка задачи классификации 18
2.1.2 Методы классификации 20
2.1.3 Выбор оптимального метода классификации 22
2.2 Описание объектов 23
2.2.1 Определение набора признаков 24
2.2.2 Выбор значимых признаков 28
2.2.3 Преобразование и нормирование признаков 28
2.2.4 Функции расстояния для метрических алгоритмов ... 29
2.3 Оценка качества классификации (функционалы качества) .... 30
2.4 Выводы по второй главе 32
3. Аппаратное ускорение вычислений на процессорах с ядром ARM
Cortex-M4 34
3.1 Инструкции аппаратного ускорения вычислений
процессорного ядра Cortex-M4 35
3.2 Блок вычислений с плавающей точкой 35
3.3 Библиотека функций по цифровой обработке сигналов
CMSIS-DSP 37
3.4 Выводы по третьей главе 38
4. Содержание исследований 39
4.1 Аппаратное обеспечение 39
4.1.1 Представление входных данных. Определение
граничных условий функционирования алгоритма .... 39
4.2 Используемые средства разработки 40
4.3 Общее описание системы обработки данных 41
4.4 Реализация модуля цифровой фильтрации 42
4.4.1 Модуль предварительной фильтрации в частотной области 43
4.4.2 Модуль пороговой вейвлет-фильтрации 45
4.4.3 Пример применения фильтров блока фильтрации .... 46
4.5 Описание алгоритмов обнаружения и классификации 48
4.5.1 Алгоритм выделения признаков из кадра данных .... 48
4.5.2 Вычисление признаков с использованием методов
аппаратного ускорения вычислений 49
4.5.3 Выделение оптимальных групп признаков для решения
задач обнаружения и классификации 53
4.5.4 Нормирование признаков 54
4.5.5 Модуль обнаружения воздействий 55
4.5.6 Модуль классификации воздействий 58
4.6 Выводы по четвертой главе 59
5. Обсуждение результатов 61
5.1 Тестирование производительности разработанной системы ... 61
5.1.1 Время выполнения алгоритмов с использованием
средств аппаратного ускорения 61
5.1.2 Время выполнения алгоритмов без использования
средств аппаратного ускорения 62
5.1.3 Сравнительный анализ времени выполнения алгоритмов 62
5.2 Тестирование качества модуля обнаружения воздействий .... 63
5.3 Тестирование качества модуля классификации воздействий ... 66
5.4 Выводы по пятой главе 68
Заключение 69
Список литературы 71
Приложение А. Тексты программ 77
А.1 Тексты программ модуля цифровой фильтрации 77
А.2 Тексты программ модулей обнаружения и классификации .... 82
Список текстов программ 89
В настоящее время всё большую актуальность приобретает концепция встраиваемых систем и интернета вещей — компактных и энергоэффективных устройств, производящих сбор при помощи сенсоров и обработку информации и обеспечивающих передачу данных по телекоммуникационным сетям (для взаимодействия между устройствами и для передачи информации конечным пользователям). Основными направлениями развития систем подобного рода являются: 1) развитие систем передачи данных для достижения больших энергоэффективности и пропускной способности, упрощения взаимодействия между устройствами, в частности, актуальна идея децентрализации (технологии самоорганизующихся сетей: mesh-сети, ad-hoc); 2) обеспечение достаточных вычислительных мощностей для обработки данных с множества подключенных устройств, решаемое обычно средствами облачных вычислений [1].
Однако, объемы получаемых на устройствах данных постоянно растут (увеличение разрешения и частоты кадров камер, усложнение сенсорных систем), а требования по скорости обработки становятся все строже. В связи с этим наблюдается тенденция переноса вычислений из удаленных вычислительных центров ближе к производителям данных (на устройства, подключенные к одному сегменту сети с производителями, либо проведение обработки на самих устройствах «интернета вещей»). В частности, в 2012 году были заложены основы концепции так называемых «туманных вычислений» [2; 3] («fog computing», приближение «облака» к «земле», т.е. к производителям и потребителям данных). Но даже в этом случае требуется построение инфраструктуры вычислительных узлов и подключение конечных устройств к сети с использованием каналов связи с высокой пропускной способностью.
В настоящее время встраиваемые системы получают достаточные вычислительные мощности для проведения вычислений на самих конечных устройствах. Современные встраиваемые микропроцессоры общего назначения содержат в своем составе блоки аппаратного ускорения вычислений, что позволяет применять их для построения энергоэффективных систем, производящих сбор и ресурсозатратную обработку данных (сигналов) с передачей по сети только результата обработки. В частности, семейство микроконтроллеров (МК) общего назначения STM32F407 построено на базе процессорного ядра ARM Cortex-M4, содержащего в своем составе блок цифровой обработки сигналов (DSP, Digital Signal Processing) и математический сопроцессор (FPU, Floating Point Unit — блок вычислений с плавающей запятой) [4].
Одной из задач, для которых актуально и востребовано получение реализации на базе встраиваемых микропроцессоров, является задача распознавания образов (классификации сигналов) [5]. С использованием методов классификации сигналов возможно определить наступление события и задать необходимую реакцию системы на него. При отсутствии четких критериев разделения множества входных сигналов по классам такие задачи могут быть решены с использованием методов машинного обучения.
Для решения задачи классификации с использованием методов машинного обучения необходимо выделить характерные особенности сигнала (признаки), по которым возможно разбиение множества сигналов на классы. При этом входной сигнал обычно бывает подвержен помеховым воздействиям, из-за чего особенности сигнала могут искажаться или теряться на фоне шума. Чтобы этого избежать, необходимо использовать механизмы фильтрации, которые могут быть как аппаратными, так и программными. Использование программных методов дает большую гибкость при эксплуатации разрабатываемой системы, позволяя адаптировать контур фильтрации к меняющимся условиям среды и помеховой обстановке.
Целью данной работы является разработка системы обнаружения и классификации сигналов акустического типа заданного вида (воздействий) и её эффективная реализация на базе МК общего назначения STM32F407.
Для достижения поставленной цели необходимо было решить следующие задачи:
1. исследовать актуальные методы и техники цифровой фильтрации сигналов;
2. исследовать современные наработки в области машинного обучения по классификации событий;
3. реализовать механизмы предварительной цифровой фильтрации входного сигнала, включая контур пороговой вейвлет-фильтрации;
4. разработать подсистему обнаружения воздействий заданного типа;
5. разработать подсистему классификации зафиксированных воздействий;
6. реализовать полученные алгоритмы с применением средств аппаратного ускорения процессорного ядра Cortex-M4 для обеспечения требуемой скорости вычислений на выбранном МК.
7. провести оценку качества подсистем обнаружения и классификации.
Объект исследования — алгоритмы цифровой фильтрации сигналов и
алгоритмы машинного обучения в задачах классификации сигналов.
Предмет исследования — применение механизмов аппаратного ускорения процессорного ядра Cortex-M4 для эффективной реализации алгоритмов цифровой фильтрации и машинного обучения в задачах классификации сигналов на микроконтроллерах общего назначения.
Решаемой в работе проблемой является низкая применимость существующих алгоритмов для непосредственного переноса на встраиваемые системы.
Научная новизна работы состоит в получении эффективной реализации алгоритмов цифровой фильтрации, включая контур вейвлет-фильтрации, и адаптированных алгоритмов машинного обучения для решения задачи обнаружения и классификации сигналов для архитектуры ARM Cortex-M4.
Практическая значимость работы состоит в применимости разработанной системы в целом и отдельных алгоритмов в частности в широком спектре задач обнаружения и классификации сигналов с минимальной адаптацией.
В первой главе работы производится обзор существующих методов цифровой фильтрации, изучается и описывается аппарат пороговой вейвлетфильтрации.
Во второй главе рассматриваются актуальные алгоритмы машинного обучения в задачах классификации, определяется формат описания объектов для алгоритмов, рассматривается задача подбора оптимального набора признаков и их нормирования, а также способы оценки качества модели.
В третьей главе производится анализ возможностей процессорного ядра выбранного микроконтроллера по аппаратному ускорению вычислений, приводятся распространенные высокоуровневые библиотеки, использующие данные возможности.
Четвертая глава включает описание разрабатываемой системы, производится выбор алгоритмически оптимальных реализаций алгоритмов, приводится вычислительно эффективная конечная реализация блоков цифровой фильтрации, выделения и нормирования признаков, обнаружения и классификации сигналов. Также описана методология тестирования полученной системы на достижение требуемых показателей по быстродействию и качеству обнаружения и классификации; вводятся требования, предъявляемые к системе. Приводятся результаты тестирования системы, произведен анализ полученных результатов.
Однако, объемы получаемых на устройствах данных постоянно растут (увеличение разрешения и частоты кадров камер, усложнение сенсорных систем), а требования по скорости обработки становятся все строже. В связи с этим наблюдается тенденция переноса вычислений из удаленных вычислительных центров ближе к производителям данных (на устройства, подключенные к одному сегменту сети с производителями, либо проведение обработки на самих устройствах «интернета вещей»). В частности, в 2012 году были заложены основы концепции так называемых «туманных вычислений» [2; 3] («fog computing», приближение «облака» к «земле», т.е. к производителям и потребителям данных). Но даже в этом случае требуется построение инфраструктуры вычислительных узлов и подключение конечных устройств к сети с использованием каналов связи с высокой пропускной способностью.
В настоящее время встраиваемые системы получают достаточные вычислительные мощности для проведения вычислений на самих конечных устройствах. Современные встраиваемые микропроцессоры общего назначения содержат в своем составе блоки аппаратного ускорения вычислений, что позволяет применять их для построения энергоэффективных систем, производящих сбор и ресурсозатратную обработку данных (сигналов) с передачей по сети только результата обработки. В частности, семейство микроконтроллеров (МК) общего назначения STM32F407 построено на базе процессорного ядра ARM Cortex-M4, содержащего в своем составе блок цифровой обработки сигналов (DSP, Digital Signal Processing) и математический сопроцессор (FPU, Floating Point Unit — блок вычислений с плавающей запятой) [4].
Одной из задач, для которых актуально и востребовано получение реализации на базе встраиваемых микропроцессоров, является задача распознавания образов (классификации сигналов) [5]. С использованием методов классификации сигналов возможно определить наступление события и задать необходимую реакцию системы на него. При отсутствии четких критериев разделения множества входных сигналов по классам такие задачи могут быть решены с использованием методов машинного обучения.
Для решения задачи классификации с использованием методов машинного обучения необходимо выделить характерные особенности сигнала (признаки), по которым возможно разбиение множества сигналов на классы. При этом входной сигнал обычно бывает подвержен помеховым воздействиям, из-за чего особенности сигнала могут искажаться или теряться на фоне шума. Чтобы этого избежать, необходимо использовать механизмы фильтрации, которые могут быть как аппаратными, так и программными. Использование программных методов дает большую гибкость при эксплуатации разрабатываемой системы, позволяя адаптировать контур фильтрации к меняющимся условиям среды и помеховой обстановке.
Целью данной работы является разработка системы обнаружения и классификации сигналов акустического типа заданного вида (воздействий) и её эффективная реализация на базе МК общего назначения STM32F407.
Для достижения поставленной цели необходимо было решить следующие задачи:
1. исследовать актуальные методы и техники цифровой фильтрации сигналов;
2. исследовать современные наработки в области машинного обучения по классификации событий;
3. реализовать механизмы предварительной цифровой фильтрации входного сигнала, включая контур пороговой вейвлет-фильтрации;
4. разработать подсистему обнаружения воздействий заданного типа;
5. разработать подсистему классификации зафиксированных воздействий;
6. реализовать полученные алгоритмы с применением средств аппаратного ускорения процессорного ядра Cortex-M4 для обеспечения требуемой скорости вычислений на выбранном МК.
7. провести оценку качества подсистем обнаружения и классификации.
Объект исследования — алгоритмы цифровой фильтрации сигналов и
алгоритмы машинного обучения в задачах классификации сигналов.
Предмет исследования — применение механизмов аппаратного ускорения процессорного ядра Cortex-M4 для эффективной реализации алгоритмов цифровой фильтрации и машинного обучения в задачах классификации сигналов на микроконтроллерах общего назначения.
Решаемой в работе проблемой является низкая применимость существующих алгоритмов для непосредственного переноса на встраиваемые системы.
Научная новизна работы состоит в получении эффективной реализации алгоритмов цифровой фильтрации, включая контур вейвлет-фильтрации, и адаптированных алгоритмов машинного обучения для решения задачи обнаружения и классификации сигналов для архитектуры ARM Cortex-M4.
Практическая значимость работы состоит в применимости разработанной системы в целом и отдельных алгоритмов в частности в широком спектре задач обнаружения и классификации сигналов с минимальной адаптацией.
В первой главе работы производится обзор существующих методов цифровой фильтрации, изучается и описывается аппарат пороговой вейвлетфильтрации.
Во второй главе рассматриваются актуальные алгоритмы машинного обучения в задачах классификации, определяется формат описания объектов для алгоритмов, рассматривается задача подбора оптимального набора признаков и их нормирования, а также способы оценки качества модели.
В третьей главе производится анализ возможностей процессорного ядра выбранного микроконтроллера по аппаратному ускорению вычислений, приводятся распространенные высокоуровневые библиотеки, использующие данные возможности.
Четвертая глава включает описание разрабатываемой системы, производится выбор алгоритмически оптимальных реализаций алгоритмов, приводится вычислительно эффективная конечная реализация блоков цифровой фильтрации, выделения и нормирования признаков, обнаружения и классификации сигналов. Также описана методология тестирования полученной системы на достижение требуемых показателей по быстродействию и качеству обнаружения и классификации; вводятся требования, предъявляемые к системе. Приводятся результаты тестирования системы, произведен анализ полученных результатов.
В ходе работы был выполнен анализ современных направлений развития в областях цифровой фильтрации сигналов и классификации сигналов с использованием методов машинного обучения, были изучены возможности процессорного ядра ARM Cortex-M4 по аппаратному ускорению вычислений.
По результатам обзора разработана и эффективно реализована с использованием средств аппаратного ускорения система обнаружения и классификации воздействий, включающая модуль цифровой фильтрации сигналов, модуль обнаружения воздействий и классификации воздействий.
Модуль фильтрации включает самостоятельно разработанные алгоритмы частотной фильтрации — адаптивный частотный эквалайзер и модуль автоматической фильтрации спектральных пиков. Также разработана оптимальная реализация алгоритма пороговой вейвлет-фильтрации с использованием семи уровней разложения, минимаксного порога и мягкого трешолдинга. Полученный алгоритм вариативен в части выбора длин векторов входных данных и базиса вейвлет-преобразования.
Для модулей обнаружения и классификации разработан и реализован алгоритм извлечения признаков из временного представления анализируемого сигнала. Реализованный алгоритм оптимизирован в части вычислительной сложности, конечная реализация производилась с использованием средств аппаратного ускорения вычислений.
Разработан и реализован алгоритм обнаружения воздействий в виде модифицированного алгоритма бинарной классификации метрического типа с пороговым определением принадлежности либо непринадлежности объекта к единственному классу — состоянию покоя системы.
Разработан и реализован алгоритм классификации воздействий в виде модифицированного алгоритма ближайшего соседа, где представителями классов выступают усредненные вектора признаков группы объектов данного класса.
Реализованные алгоритмы протестированы на соответствие требованиям по времени выполнения, по результатам тестов было определено, что алгоритмы требованиям удовлетворяют, полученная конечная реализация в значительной мере использует возможности аппаратного ускорения, в частности, блока вычислений с плавающей точкой.
Для алгоритмов обнаружения и классификации были проведены исследования по определению качества обнаружения и классификации соответственно. По результатам исследований показано, что разработанный алгоритм обнаружения обладает точностью, достаточной для применения системы в практических приложениях (точность обнаружения 99.8-99.9%, полнота (недопущение пропусков) — 97.7-99.3% в зависимости от настроек). Разработанный алгоритм классификации также показывает высокий уровень качества (показана точность классификации 98.8%).
Результаты работы внедрены в ряде НИРОКР, проводимых ООО «Меркурий» и внесены в научно-технический задел по предприятию для создания перспективных систем периметральной охраны.
Перспективным направлением развития разработанной системы является применение скрытых Марковских моделей (Hidden Markov Model, HMM) и гауссовых смесей (Gaussian Mixture Model, GMM) в контуре классификации.
По теме работы выпущена одна публикация:
1. Чикрин Д.Е., Голоусов С.В., Главацкий Н.В., Ермаков Д.В., Степанов А.Н., Кокунин П.А. Нахождение оптимальных наборов признаков в задачах классификации воздействий на вибрационных датчиках // Современная наука: актуальные проблемы теории и практики. Серия «Естественные и технические науки» — статья подписана в печать в №7 (Июль 2018). Издание входит в перечень ВАК.
По результатам обзора разработана и эффективно реализована с использованием средств аппаратного ускорения система обнаружения и классификации воздействий, включающая модуль цифровой фильтрации сигналов, модуль обнаружения воздействий и классификации воздействий.
Модуль фильтрации включает самостоятельно разработанные алгоритмы частотной фильтрации — адаптивный частотный эквалайзер и модуль автоматической фильтрации спектральных пиков. Также разработана оптимальная реализация алгоритма пороговой вейвлет-фильтрации с использованием семи уровней разложения, минимаксного порога и мягкого трешолдинга. Полученный алгоритм вариативен в части выбора длин векторов входных данных и базиса вейвлет-преобразования.
Для модулей обнаружения и классификации разработан и реализован алгоритм извлечения признаков из временного представления анализируемого сигнала. Реализованный алгоритм оптимизирован в части вычислительной сложности, конечная реализация производилась с использованием средств аппаратного ускорения вычислений.
Разработан и реализован алгоритм обнаружения воздействий в виде модифицированного алгоритма бинарной классификации метрического типа с пороговым определением принадлежности либо непринадлежности объекта к единственному классу — состоянию покоя системы.
Разработан и реализован алгоритм классификации воздействий в виде модифицированного алгоритма ближайшего соседа, где представителями классов выступают усредненные вектора признаков группы объектов данного класса.
Реализованные алгоритмы протестированы на соответствие требованиям по времени выполнения, по результатам тестов было определено, что алгоритмы требованиям удовлетворяют, полученная конечная реализация в значительной мере использует возможности аппаратного ускорения, в частности, блока вычислений с плавающей точкой.
Для алгоритмов обнаружения и классификации были проведены исследования по определению качества обнаружения и классификации соответственно. По результатам исследований показано, что разработанный алгоритм обнаружения обладает точностью, достаточной для применения системы в практических приложениях (точность обнаружения 99.8-99.9%, полнота (недопущение пропусков) — 97.7-99.3% в зависимости от настроек). Разработанный алгоритм классификации также показывает высокий уровень качества (показана точность классификации 98.8%).
Результаты работы внедрены в ряде НИРОКР, проводимых ООО «Меркурий» и внесены в научно-технический задел по предприятию для создания перспективных систем периметральной охраны.
Перспективным направлением развития разработанной системы является применение скрытых Марковских моделей (Hidden Markov Model, HMM) и гауссовых смесей (Gaussian Mixture Model, GMM) в контуре классификации.
По теме работы выпущена одна публикация:
1. Чикрин Д.Е., Голоусов С.В., Главацкий Н.В., Ермаков Д.В., Степанов А.Н., Кокунин П.А. Нахождение оптимальных наборов признаков в задачах классификации воздействий на вибрационных датчиках // Современная наука: актуальные проблемы теории и практики. Серия «Естественные и технические науки» — статья подписана в печать в №7 (Июль 2018). Издание входит в перечень ВАК.



