Введение 5
1. Постановка задачи 7
2. Обзор 8
2.1. Алгоритмы оценки пульса по камере 8
2.1.1. Алгоритмы основанные на подсчёте R-пиков ... 8
2.1.2. Алгоритмы основанные на нахождении доминирующей частоты 8
2.1.3. Алгоритмы основанные на комбинации подходов . 10
2.2. Решения для получения данных с медицинских bluetooth
устройств 10
2.3. Системы для расширенного анализа пульса 11
3. Архитектура 12
3.1. Функциональность системы 12
3.1.1. Оценка пульса с помощью камеры телефона ... 12
3.1.2. Получение данных от bluetooth пульсометров . . 12
3.1.3. Хранение данных о сердцебиении 12
3.1.4. Дополнительный анализ сердцебиения 13
3.2. Компоненты системы 13
3.2.1. Получение данных о сердцебиении 13
3.2.2. Хранение данных 13
3.2.3. Анализирующие алгоритмы 14
3.2.4. Интеграция анализирующих алгоритмов 14
3.3. Используемые технологии 15
3.3.1. Приложение для ОС Android 15
3.3.2. Приложение для ОС iOS 15
3.3.3. Веб сервис 15
4. Оценка пульса с помощью камеры телефона 16
4.1. Частотная фильтрация 16
4.2. Амплитудное выравнивание 17
4.3. Уточнение пульса 18
4.4. Оценка динамики пульса 18
4.5. Детектор наличия пальца на камере 20
5. Получение данных с bluetooth пульсометров 21
5.1. Общее описание библиотеки 21
5.2. API библиотеки 22
5.3. Формат сериализации данных с устройств 23
6. Система для интеграции алгоритмов анализа пульса 25
7. Тестирование 27
7.1. Алгоритм оценки пульса с помощью камеры телефона . 27
7.2. Библиотека для получения данных с медицинских bluetooth
устройств 28
7.2.1. Юнит-тесты с тестовыми устройствами 28
7.2.2. Приложение для автоматической проверки работы
с конкретным устройством 29
7.2.3. Приложение с частичной функциональностью для
проверки работы с устройствами 29
7.3. Интеграция алгоритмов анализа пульса 29
8. Заключение 31
Список литературы 32
Пульс является одним из самых важных медицинских показателей человека. В связи с этим, существует много ситуаций, когда людям нужно оценить свой пульс. Например, его важно знать спортсменам при тренировках. Существуют различные способы измерения пульса.
Пульс можно измерять вручную. Для этого нужно засечь отрезок времени с помощью секундомера и замерить количество пульсаций артерии за этот отрезок. Но такой способ измерения не очень удобен.
Также, пульс можно измерять с помощью специальных устройств: пульсоксиметров, пульсометров, умных часов и спортивных трекеров. Но данный способ требует покупки отдельного устройства, стоимость которого достаточно велика. К тому же, его может не оказаться под рукой в нужный момент.
В свою очередь, сегодня почти у каждого человека есть смартфон, который он постоянно носит с собой.
Таким образом, если смартфон научится считать пульс человека, то это сделает его самым доступным и удобным устройство для вычисления пульса. И действительно, мощность современных телефонов и наличие у них камеры со вспышкой позволяют создавать приложения для оценки пульса.
Они основаны на том, что при просвечивании пальца с помощью вспышки можно засечь приток крови к нему. Соответственно, подсчитав количество таких притоков, приложение может оценить пульс человека.
С другой стороны, для многих людей, в особенности спортсменов, помимо значения пульса в данный момент и его динамики, могут быть важными более продвинутые данные, которые можно получить из ин-формации о сердцебиении.
Для получения таких данных нужно длительное измерение с получением подробной информации о сердцебиении. Соответственно, для этого нужен профессиональный пульсометр, который может каким-то образом автоматически передавать данные на телефон. Наиболее рас-пространенным способом передачи данных с пульсометров на телефон в наше время является технология Bluetooth.
Алгоритмы для вычисления расширенных параметров, помимо подробной информации о сердцебиении, требуют затратных вычислений, которые не представляется возможным выполнять на мобильном теле-фоне. В связи с этим, для вычисления данных параметров требуется отправлять данные о пульсе на сервер, а затем получать с него результат.
Обычно, анализирующие алгоритмы разрабатываются специалиста-ми по цифровой обработке сигнала и представляют собой программу на языке MATLAB. Очевидно, что для промышленного использования требуется создать оболочку для данной программы, которая будет получать входные данные по заданному протоколу, проверять их на корректность и передавать обратно результат. Лучше всего для этой цели подходит превращение данной программы в веб сервис, который предоставляет универсальное API для вычисления анализируемого параметра. В связи с чем интеграция алгоритма значительно упрощается.
Таким образом, для профессионального и доступного анализа сердцебиения требуется система с возможностью оценки пульса с помощью камеры телефона, возможностью получать данные с Bluetooth пульсометров, возможностью вычислять сложные параметры на сервере и удобной интеграцией алгоритмов, вычисляющих данные параметры.
В рамках данной выпускной квалификационной работы были получены следующие результаты.
• Разработана архитектура системы.
• Улучшена оценка пульса с помощью камеры телефона.
• Получение данных с bluetooth устройств выделено в библиотеку.
• Реализована система для интеграции алгоритмов анализа пульса.
• Проведено тестирование.
[1] David D. McManus Jinseok Lee Oscar Maitas-Nada Esa Rahul Pidikiti Alex Carlucci Josephine Harrington Eric Mick Ki H. Chon. A novel application for the detection of an irregular pulse using an iPhone 4S in patients with atrial fibrillation. — 2013.
[2] Fan Xiangmin, Wang Jingtao. BayesHeart: A Probabilistic Approach for Robust, LowLatency Heart Rate Monitoring on Camera Phones. — 2015.
[3] Improved heart rate detection using smart phone / Arpan Pal, Aishwarya Visvanathan, Anirban Dutta Choudhury, Aniruddha Sinha. — 2014.
[4] Laure Denis, Paramonov Ilya. Improved Algorithm for Heart Rate Measurement Using Mobile Phone Camera. — 2013.
[5] Lenskiy Artem A., Aitzhan Yerlan. Extracting Heart Rate Variability from a Smartphone Camera. — 2013.
[6] A Novel Method to Detect Heart Beat Rate Using a Mobile Phone / Pelegris P., Banitsas K., Orbach T., Marias K. — 2010.
[7] A Novel Method to Detect Heart Beat Rate Using a Mobile Phone / Arpan Pal, Aniruddha Sinha, Anirban Dutta Choudhury et al. — 2013.
[8] Real time heart rate variability assessment from Android smartphone camera photoplethysmography: Postural and device influences / F. Guede-Fernandez, V. Ferrer-Mileo, J. Ramos-Castro et al.— 2015.
[9] Rong-Chao Peng Xiao-Lin Zhou Wan-Hua Lin Yuan-Ting Zhang. Extraction of Heart Rate Variability from Smartphone Photoplethysmograms. — 2015.
[10] Vikram Chandrasekaran B.E. Measuring Vital Sings Using Smart Phones. — 2010.
[11] Yuriy Kurylyak Francesco Lamonaca Domenico Grimaldi. Smartphone-Based Photoplethysmogram Measurement. — 2012.
[12] М.И. Ташкинов. Оценка пульса с помощью камеры мобильного телефона. — 2016.