Algorithm for detection of head tremor according to data of a smartphone video camera of a biomedical monitoring system

Cover Page

Cite item

Full Text

Abstract

Modern conditions demand active digitization from humanity across various spheres of activity and daily life, facilitating faster task completion and simplifying processes. Self-diagnosis allows individuals to identify symptoms, which can serve as a basis for consulting medical professionals, especially crucial in critical situations where lives are at stake. Thus, it is clear that the development of such systems is a relevant challenge. In this context, head tremor plays a significant role as it may indicate the presence of Parkinson’s disease or multiple sclerosis. The aim of this work is to develop a head tremor detection module suitable for integration into smartphone applications. The study employs a method based on analyzing data from the optical sensor, namely the front camera of the smartphone. This method utilizes an open machine learning model, ML Kit, for facial recognition, along with a specially designed algorithm for processing results. Testing demonstrated an accuracy of 0.92 according to the accuracy metric. This approach offers a novel method for detecting head tremors and highlights the effectiveness of using ML Kit’s standard model for similar tasks on smartphones, which can also be applied within a larger biomedical diagnostic system.

Full Text

ВВЕДЕНИЕ

Тремором головы являются неконтролируемые ритмичные движения головы человека, которые обусловлены сокращениями мышц шеи. Выглядит тремор головы как качание или кивание головой, которое возникает как в состоянии покоя, так и при движениях или поддержании поз. При этом амплитуда колебательных движений при наличии тремора головы может быть небольшой. Наличие тремора головы у человека, может свидетельствовать о вероятном наличии неврологических заболеваний, таких как болезнь Паркинсона, рассеянный склероз, энцефалопатия, цервикальная дистония и т.п., поэтому важно выявить данный недуг и начать профилактику и/или лечение. Резкое развитие технологий смартфонов, которые широко используются в повседневной жизни, открывает возможности для применения этих устройств в качестве инструмента предварительной диагностики здоровья [1]. Следовательно, для определения тремора головы может быть использовано мобильное устройство. Диагностическая система предварительной доврачебной диагностики, использующая сервер для предоставления, обработки и хранения данных, так же мобильные устройства в качестве клиентских устройств, становится возможной для реализации, так как мобильные устройства, с прямым доступом в сеть есть практически у каждого. В рамках данной системы, его оператор, являющийся квалифицированным медицинским специалистом, может вести мониторинг пациентов на расстоянии и принимать решения на основе выявленных отклонений, позволяя сэкономить ценное время для оказания необходимой медицинской помощи, снижая тем самым риски смертельных исходов. Ввиду этого задача определения наличия тремора головы актуальна на сегодняшний день и данной работе предлагается метод для его определения.

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

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

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

ОБЗОР ЛИТЕРАТУРЫ

Значительная часть исследований в области неврологии связана с изучением тематики тремора различных типов. В работе [2] машинное обучение легло в основу метода определения колебательных движений головы, которое предназначено для больных цервикальной дистонией. Оценивая преобладающее направление движения, пиковую мощность, а также частотные компоненты, авторы решения определяют степень тяжести тремора головы. С помощью использования корреляции Спирмена оценивается степень тяжести тремора, достигнув точности 0,89 статистической метрике среднеквадратичного отклонения. Метод определения углов тангажа, крена и рыскания головы описан на сайте OpenFace1. В статье2 предложено использование библиотеки OpenCV для получения этих углов через алгоритм определения позы, включающий в себя методику определения кватерниона ориентации головы. Авторы [3] гипотезируют о целесообразности распространенных сенсоров, таких как акселерометры и гироскопы, для оценки тремора, подчеркивая превосходство гироскопа. Методика, основанная на размещении датчиков в местоположении макушки головы и чтения данных в течение одной минуты, в соответствии со шкалой TETRAS легло в основу решения для оценки тремора. Рассматривая кватернион ориентации, из которого определялись средние смещения и вращения, выставлялись баллы, а в последствии – принималось решение о наличии тремора с корреляцией 0,853. В работе [4] глобальная сеть сдвигов с разницей во времени легло в основу модели, для оценки MDS-UPDRS, который выполняет анализ данных оптических датчиков. Оценка 89% по метрике precision (точности) для представленной модели стало результатом проведенных испытаний. В [5] показан способ оценки тяжести тремора используя электромиографию. Авторы считают, что датчики движения не являются пригодными для комплексной оценки тремора, даже несмотря на то, что по точности датчики движения превосходят клинические шкалы. Авторы [6] в своей работе показали применимость носимых датчиков для анализа кватерниона ориентации измеряемого объекта. Авторы [7] использовали оптические датчики для изучения тремора рук, анализируя видеоматериалы с частотой 30 Гц, при этом необходимо соблюдение определенных условий, таких как фиксированное расстояние и освещение. Однако результаты их испытаний не были представлены, и алгоритм экспресс-теста остался недостаточно раскрытым.

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

ТРЕБОВАНИЯ К ПРОЦЕДУРЕ ИЗМЕРЕНИЙ С ПОМОЩЬЮ ОПТИЧЕСКИХ ДАТЧИКОВ

Смартфоны сегодня повсеместно распространены среди населения, к тому же обладают обширным набором сенсорики: большое количество камер, акселерометр, гироскоп, лидар. Конечно, основываясь на проведенных исследованиях можно реализовать решение, основанное на использовании трехосевого акселерометра и трехосевого гироскопа, однако такой подход требует фиксации смартфона на голове пациента, что проблематично без использования специализированных средств. В данном исследовании особенное внимание уделяется анализу видеоданных, получаемых с фронтальной камеры. Частота от 3 до 18 Гц является треморным диапазоном согласно [8]. Так как сегодня мобильные устройства позволяют вести запись видеоданных с частотой в 30 и более Гц, построение решения для определения наличия или отсутствия тремора становится возможным, при этом для данной работы было принято решение ограничиться в верхней частоте в 30 Гц, покрывая большую часть треморного диапазон в соответствии с теоремой Котельникова– Наиквиста, которая формулируется в следующем уравнении:

fд ≥ 2fв (1),

где fд – частота дискретизации;

fв – максимальная частота сигнала (верхняя).

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

  1. полная неподвижность как в позе, так и в мимике лица человека, который производит замеры;
  2. необходимо обеспечить полностью открытое лицо, без закрытия его частей;
  3. зафиксировать положение мобильного устройство, в том числе с помощью дополнительных приспособлений, обеспечив ему неподвижность во время измерений;
  4. при наличии стабилизации камеры и/или модуля слежения за объектом (трэкинга), обеспечить его программное отключение (реализуется со стороны программиста);
  5. освещенность помещения должна составлять в диапазоне от 200 до 300 лк.

ОПИСАНИЕ АЛГОРИТМА

Структурная схема разработанного модуля определения наличия или отсутствия тремора головы представлен на рис. 1. Для разработки этого модуля использовался язык высокоуровневого программирования Kotlin. В качестве шаблона проектирования использовался «Модель-Представление-Презентер» с применением реактивного программирования RxKotlin.

 

Рис. 1. Структурная схема системы определения тремора головы

Fig. 1. Structure diagram of the head tremor detection system

 

В модуль входят:

  • блок запуска измерений;
  • блок чтения видео;
  • блок извлечения контуров;
  • блок анализа контуров;
  • блок представления результатов.

Блок запуска измерений начинает свою работу путем взаимодействия пользователя с графическим интерфейсом приложения (GUI) (рис. 2), нажав на соответствующую кнопку на дисплее мобильного устройства. В результате этих действий выполняется отображение окна GUI проведения процедуры измерений, где в течение 10 секунд пользователю приложения необходимо разместить свое лицо перед фронтальной камерой, соблюдая вышеописанные требования и дождаться старта процедуры.

 

Рис. 2. GUI запуска окна проведения процедуры измерений

Fig. 2. GUI for launching the measurement procedure window

 

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

 

Рис. 3. Визуальная индикация в GUI процесса анализа видеоданных

Fig. 3. Visual indication in the GUI of the video data analysis process

 

Блок извлечения контуров отвечает за поиск опорных точек конура лица в видеоданных. Чтение кадров в массив выполняется с помощью методов набора функций JCodec. Эти метаданные обеспечивают возможность определения частоту кадров записанного видео. Далее, каждый кадр обрабатывается моделью машинного обучения ML Kit3, который обладает возможность формировать основные опорные точки лица человека, примеры которых указаны в табл. 1. Для выявления треморных точек было принято решение рассматривать опорные точки овала лица, который характеризуется набором из 36 значений, представленных в виде массива координат. Типом данных, в которых хранятся значения координат, является 4 байтовый float, для каждой из координат, формирующие структуру. Полученный массив данных опорных точек контура лица является выходными данными блока.

 

Таблица 1

Количество точек, характеризующие некоторые контуры лица модели детектирования лица ML Kit [The number of points characterizing some facial contours of the ML Kit face detection model]

Класс контура лица

[Face contour class]

Количество точек, характеризующий соответствующий класс [Number of points characterizing the corresponding class]

Овал лица [Face oval]

36

Левый глаз [Left eye]

16

Правый глаз [Right eye]

16

Центр левой щеки

[Center of the left cheek]

1

Центр правой щеки [Center of the right cheek]

1

Переносица [Bridge of the nose]

2

 

Блок анализа контуров выполняет следующие шаги (рис. 4).

 

Рис. 4. Алгоритм анализа контуров лица, представленный в виде блок- схемы

Fig. 4. Facial contour analysis algorithm presented as a block diagram

 

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

r=ptxj-1-ptxj2+ptyj-1-ptyj2, (2)

где pt – точка контура лица;

j – индекс элемента списка распознанных опорных точек.

  1. Для каждой опорной точки, рассчитывается второй квартиль выборки (выборка по идет по рассматриваемой в данный момент опорной точке).
  2. Выполняется расчет отклонений от второго квартиля.
  3. Формируется частотный спектр при помощи быстрого преобразования Фурье (БПФ) к временным данным:

Sk=i=1N-1Sie-2π+iNki  ,(3)

  1. Выполняется нормировка АЧХ.
  2. Подсчитывается количество опорных точек, амплитуда спектра которых в диапазоне тремора (3–15 Гц) превышает порог в 0,8. Если условия удовлетворены, то рассматриваемая опорная точка является треморной.
  3. Основываясь на полученных данных оценок, принимается решение об обнаружении или отсутствии тремора головы. В качестве критерия отбора используется превышение количества треморных опорных точек в количестве 25 и более.

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

РЕЗУЛЬТАТЫ ИСПЫТАНИЙ

В эксперименте принимали участие 20 испытуемых, в том числе имеющие тремор головы, возраст испытуемых составлял от 20 до 67 лет. Экспериментальная установка включала в себя сервер, с базой данных, для хранения результатов проведенных измерений и мобильные устройства с ОС Android, среднего и нижнего ценового сегмента, на которые устанавливалось разработанное приложение, включающий в себя представленный в статье модуль. На каждом из использованных смартфонов было установлено приложение с разработанным алгоритмом. Каждый участник проводил минимум 10 тестов для выявления тремора головы. Результаты испытаний приведены в табл. 2 и 3.

 

Таблица 2

Результаты испытаний по метрикам корректности, точности, полноты, F1 меры [Test results for metrics of accuracy, precision, recall, F1 score]

Класс [Class]

Корректность [Accuracy]

Точность [Precision]

Полнота [Recall]

F1-мера [F1 score]

Нет тремора [No tremor]

0,92

0,95

0,90

0,93

Есть тремор [Tremor detected]

0,92

0,90

0,95

0,92

 

Таблица 3

Результаты испытаний по метрике – ошибки 1 и 2 рода [Test results for the metrics – FP and FN]

Класс [Class]

α (ошибки 1 рода) [FP]

β (ошибки 2 рода) [FN]

Нет тремора

0,053

0,095

Есть тремор

0,095

0,053

 

Результаты испытания показали отличную точность решения, не менее 90% по рассмотренным метрикам.

ОБСУЖДЕНИЕ

Результаты испытаний разработанного решения позволяют сделать вывод о пригодности решения для решения задачи детектирования тремора головы. Однако стоит подчеркнуть, хоть в рамках данной работы и рассмотрен не весь диапазон тремора головы, но потенциально алгоритм может быть адаптирован под больший диапазон частот тремора. Контуры овала лица, получаемые из ML Kit составляли выборку, которая оказалось достаточной для проведения диагностики. В целом, по всем данным контуров лица, которые может получить ML Kit, можно также определять углы тангажа, углы крена и углы рыскания, которые использованы при анализе тремора в аналогичных решениях. Самое главное преимущество решения заключается в возможности самостоятельной предварительной (доврачебной) диагностики пациента на предмет наличия тремора, при условии соблюдения вышеописанных требований, однако без определения степени тяжести тремора головы. Однако стоит иметь ввиду, что есть аспекты, которые могут потенциально негативно влиять на качество работы алгоритма, например, загрязненность линз фронтальной камеры частицами пыли, которые могут оседать внутри корпуса некоторых мобильных устройств, потожировые следы человека на экране смартфона, трещины стекла, проходящие в пределах видимости фронтальной камеры и т.п. Алгоритм показывает более лучший результат по метрике accuracy в сравнении с работой [6]. Так как аналогов решений на смартфонной технике нет, полученный алгоритм, его реализация и количественные результаты могут стать базисом для будущих исследований.

ВЫВОДЫ

В рамках исследования по детектированию тремора головы был разработан алгоритм, позволяющий решать поставленную задачу. Результаты испытаний продемонстрировали ошибки первого рода на уровне 0,095 и ошибки второго рода – 0,053 при выявлении тремора. Это свидетельствует о том, что ML Kit является эффективным инструментом для диагностики тремора головы с использованием методов машинного зрения в контексте биомедицинского мониторинга. Алгоритм также может быть использован на устройствах под управлением iOS, так как ML Kit доступен для данной платформы. Учитывая отсутствие аналогичных решений для смартфонов, разработанный алгоритм, его внедрение и полученные количественные данные могут послужить основой для дальнейших исследований. Более того, есть возможность его совершенствования через анализ других участков лица. Таким образом, все задачи успешно выполнены, а цель работы достигнута.

 

1 OpenFace. GitHub. URL: https://github.com/TadasBaltrusaitis/OpenFace (data of accesses: 02.09.2024).

2 Face-Yaw-Roll-Pitch-from-Pose-Estimation-using-OpenCV. GitHub. URL: https://github.com/jerryhouuu/Face-Yaw-Roll-Pitch-from-Pose-Estimationusing-OpenCV (data of accesses: 20.09.2024).

3 ML Kit. Google Developers. URL: https://developers.google.com/ml-kit (data of accesses: 05.09.2024).

×

About the authors

Anton A. Egorchev

Kazan (Volga Region) Federal University

Author for correspondence.
Email: anton@egorchev.ru

Cand. Sci. (Eng.); Director, Institute of Computational Mathematics and IT

Russian Federation, Kazan, Republic of Tatarstan

Dmitry E. Chikrin

Kazan (Volga Region) Federal University

Email: dmitry.kfu@ya.ru
ORCID iD: 0000-0003-1358-8184

Dr. Sci. (Eng.); Director, Institute of Artificial Intelligence, Robotics and System Engineering

Russian Federation, Kazan, Republic of Tatarstan

Dmitry M. Pashin

Kazan (Volga Region) Federal University

Email: dmitry.m.pashin@gmail.com

Dr. Sci. (Eng.); Vice-Rector for Digital Transformation and Innovation

Russian Federation, Kazan, Republic of Tatarstan

Adel F. Fakhrutdinov

Kazan (Volga Region) Federal University

Email: timvaz@yandex.ru
ORCID iD: 0009-0002-7520-9223

graduate student, Institute of Physics

Russian Federation, Kazan, Republic of Tatarstan

References

  1. Fedorovich A.A., Gorshkov A.Y., Korolev A.I., Drapkina O.M. Smartphone in medicine – from a reference book to a diagnostic system. Review of the current state of the issue. Cardiovascular Therapy and Prevention. 2022. No. 9. Pp. 66–74. (In Rus.)
  2. Vu J.P., Cisneros E., Lee H.Y. et al. Head tremor in cervical dystonia: Quantifying severity with computer vision. Journal of the Neurological Sciences. 2022. No. 434. Pp. 120–154. doi: 10.1016/j.jns.2022.120154.
  3. Elble R., Hellriegel H., Raethjen J., Deuschl G. Assessment of head tremor with accelerometers versus gyroscopic transducers. Movement Disorders Clinical Practice. 2016. No. 4. Pp. 205–211.
  4. Liu W., Lin X., Chen X., Wang Q. Vision-based estimation of MDS-UPDRS scores for quantifying Parkinson’s disease tremor severity. Medical Image Analysis. 2023. No. 85. Pp. 637–647.
  5. Elble R., Ondo W. Tremor rating scales and laboratory tools for assessing tremor. Tremor and Other Hyperkinetic Movements. 2022. No. 435. Pp. 1–10.
  6. Elble R., McNames J. Using portable transducers to measure tremor severity. Tremor and Other Hyperkinetic Movements. 2016. No. 6. Pp. 1–12.
  7. Frolov S.V., Gorbunov A.V., Potlov A.Y. Recording and analyzing tremors using a webcam-based motion detector. Biomedicine. 2012. No. 2. Pp. 80–83. (In Rus.)
  8. Govorova T.G., Tappahov A.A., Popova T.E., Antipina U.D. Tremor: Classification, clinical characteristics. Consilium Medicum. 2018. No. 9. Pp. 95–100. (In Rus.)

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Structure diagram of the head tremor detection system

Download (87KB)
3. Fig. 2. GUI for launching the measurement procedure window

Download (139KB)
4. Fig. 3. Visual indication in the GUI of the video data analysis process

Download (54KB)
5. Fig. 4. Facial contour analysis algorithm presented as a block diagram

Download (224KB)

Copyright (c) 2024 Yur-VAK

License URL: https://journals.eco-vector.com/2313-223X/about/editorialPolicies