Content uploaded by Juan Uriel Legaria Peña
Author content
All content in this area was uploaded by Juan Uriel Legaria Peña on Jul 07, 2023
Content may be subject to copyright.
Detección de la frecuencia cardiaca por
técnicas de balistocardiografía y visión
computacional.
Fis. Biomed. Juan Uriel Legaria Peñaa. Dr. Jorge Perez-
Gonzalezb, Dra. Nidiyare Hevia Montielb.
a Departamento de Ciencias de la Computación IIMAS, Universidad Nacional
Autónoma de México, 04510, walup@ciencias.unam.mx, Circuito Escolar
3000, C.U., Coyoacán, Ciudad de México, CDMX.
b Unidad académica del Instituto de Investigaciones en Matemáticas
Aplicadas y en Sistemas de la Universidad Nacional Autónoma de México en
el estado de Yucatán, 97302, jorge.perez@iimas.unam.mx,
nidiyare.hevia@iimas.unam.mx, Parque Científico Tecnológico de Yucatán,
Km 5.5. Carretera Sierra Papacal – Chuburna.
Resumen
Actualmente, existe una creciente necesidad de monitorear
fuera de la clínica biomarcadores como la frecuencia cardiaca.
Esto ha llevado a desarrollar métodos que a provechen
sensores accesibles a los pacientes, como las cámaras de sus
teléfonos. Particularmente, se han establecido métodos de
video para extraer el pulso a partir de los movimientos cíclicos
producidos al paso de la sangre hacia la cabeza. La detección
en otras zonas, sin embargo, se ha dificultado por la baja
presión y amplitud de movimiento que presentan.
En este trabajo se propuso un método basado en
balistocardiografía y algoritmos de seguimiento para estimar
la frecuencia cardiaca a partir de movimientos periódicos en
los dedos; producidos por la circulación sanguínea capilar. La
técnica consistió en colgar un péndulo del dedo, de modo que
la presión sanguínea actuara como un forzamiento para este.
Se grabó el movimiento del péndulo y se procesó el video
aplicando tareas de seguimiento, remuestreo, filtrado, análisis
de componentes principales y obtención de la componente
más periódica; extrayendo la frecuencia ca rdiaca a partir del
espectro de esta última.
El ritmo cardiaco determinado por este método mostró un
error relativo promedio de 1.4% al compararse con
mediciones hechas en un dispositivo Hua wei Band 4,
validando la utilidad del método en la estimación del ritmo
cardiaco. Evaluar su utilidad diagnóstica requeriría, sin
embargo, comparar con el estándar de oro, que es el
electrocardiógrafo.
Palabras clave—Visión Computacional, Balistocardiografía,
Seguimiento de objetos, Registro de bioseñales.
Abstract
There is an ever-increasing need to monitor physiological
biomarkers such as heart rate outside the clinical environment.
This has resulted in a search for methods that use data from
sensors readily available to patients, such as smartphone
cameras. Particularly, video-based methods to extract heart
rate from the cyclical movements produced by blood
circulation to the head have been established. Detection from
other areas, however, has proven difficult due to the low blood
pressure and movement amplitude they exhibit.
In this study we propose ad method based on
ballistocardiography and tracking algorithms to estimate
heart rate from periodic movements of the fingers, produced
by capillary circulation. First, a pendulum was attached to the
finger so that capillary blood pressure would act as a forcing
to the system. The movement of the pendulum was recorded,
and the video was processed applying the following sequence
of computational tasks: feature detection and tracking,
resampling, filtering, principal component analysis,
determination of the most periodic component and extraction
of heart rate from its power spectrum.
Heart rate determined by this method showed an average
relative error of 1.4 % when compared to measurements made
on a wearable Huawei Band 4 device. This validates heart
rate estima tion using the proposed methodology. However, a
thorough evaluation of its diagnostic utility would require a
comparison with the gold standard, which is the
electrocardiograph.
Keywords — Computer vision, Ballistocardiography, Object
tracking, Biosignal measurement.
1. INTRODUCCIÓN
Las enfermedades cardiovasculares constituyen actualmente
la causa principal de muerte a nivel mundial. México en
particular, posee una de las cifras mas altas, con alrededor del
20% de fallecimientos anuales debidos a estas enfermedades
[1]. Lo anterior ha conllevado a una búsqueda de
biomarcadores que permitan prevenir y/o pronosticar el
desenlace de estos padecimientos. Uno de los que resalta es
la frecuencia cardiaca; diversos estudios han probado que esta
variable fisiológica es útil en la prevención de afecciones
como la insuficiencia cardiaca y los accidentes
cerebrovasculares [2] [3]. En gran parte, sin embargo, el
poder de predicción de dicha medida depende de que el
paciente pueda llevar un monitoreo continuo de la misma [4].
Una de las líneas de investigación que se han seguido para
dicho propósito consiste en utilizar los sensores disponibles
en dispositivos que es común que las personas lleven consigo,
como serían los teléfonos inteligentes. La atención se ha
puesto sobre todo en dos sensores: los giroscopios integrados
dentro del móvil, y la cámara [5] [6]. En las investigaciones
realizadas con la cámara, la obtención del ritmo cardiaco se
ha basado principalmente en el seguimiento de los
movimientos cíclicos de la ca beza , que se generan debido a
la circulación de la sangre a través de la aorta abdominal y las
arterias carótidas [7]. La razón de que la atención se enfoque
en dichas pulsaciones es la alta presión sanguínea que existe
en las arterias carótidas, la cual es alrededor de 5 veces mas
alta que en los capilares ubicados en las extremidades del
cuerpo (dedos de las manos y pies). En cuanto a las tareas de
visión computacional mediante las cuales se obtiene la
frecuencia cardiaca, los distintos estudios que se han hecho al
respecto suelen realizar variantes de un mismo algoritmo, el
cual consiste en realizar el seguimiento de puntos
característicos detectados en la cabeza, filtrar sus series de
tiempo y realizar análisis de componentes principales (PCA)
en ellas. Esta secuencia de pasos ha probado dar resultados
más precisos que alternativas donde únicamente se realiza
análisis espectral a las series de tiempo de los puntos
característicos [8].
La obtención de la frecuencia a partir de pulsaciones en otras
zonas presenta un reto sustancial, debido a la presión
sanguínea tan pequeña que se tiene en ellas. Tradicionalmente
dicho problema se ha solucionado mediante el uso de
balistocardiógrafos: dispositivos que se mueven en respuesta
a los ciclos cardiacos, amplificándolos y generando una señal
eléctrica cuya frecuencia es el ritmo cardiaco. Estos
dispositivos sin embargo son difíciles de encontrar incluso
dentro de un contexto clínico.
En este trabajo se propone una metodología para obtener la
frecuencia cardiaca a partir de los movimientos involuntarios
de los dedos. Dicho procedimiento combina el fundamento
detrás del balistocardiógrafo con las técnicas de visión
computacional que se han planteado para obtener el ritmo
cardiaco a partir de videos del movimiento de la cabeza.
2. ADQUISICIÓN DE LA BASE DE DATOS
2.1 Video para la prueba de funcionamiento
Para validar que el procesamiento funcionara de forma
adecuada, se grabó el movimiento de un sistema con
frecuencia de oscilación conocida . El resultado esperado por
parte del programa era que este arrojase dicha frecuencia al
procesar el video.
El sistema de prueba utilizado fue un péndulo, conformado
por una cuerda inextensible de la cual colgaba un pequeño
contenedor de plástico. La pa rte superior de la cuerda se
enlazó a un vástago fijo de madera en tal forma que el
recipiente quedara suspendido y libre de oscilar (Fig. 1). La
longitud, medida con una cinta métrica desde el punto de
apoyo del péndulo al centro de masa del recipiente fue de 35
cm. Con esta medida, suponiendo un modelo de péndulo
simple, la frecuencia se obtiene de la siguiente forma [9]:
El valor de esta frecuencia en , la unidad
convencionalmente utilizada para medir frecuencia cardiaca
sería la siguiente:
El video, cuya duración fue de 15 segundos, se grabó con un
teléfono Samsung Galaxy J6 montado en un tripie, a una
resolución de 1024p. En cuanto a la alineación de la cámara
se procuró que el eje óptico de la lente fuese aproximadamente
perpendicular al plano de oscilación. Algo importante que se
consideró, fue que el ángulo de apertura inicial del péndulo no
sobrepasara los 30°, para cumplir con las suposiciones del
modelo lineal del péndulo simple.
Fig.1 Péndulo utilizado en la prueba de validación del
procesamiento
2.2 Modelado y montaje del balistocardiógrafo
Siguiendo una idea similar a la que se emplea en los
dispositivos de balistocardiografía, se utilizó un sistema
mecánico para amplificar las pequeñas pulsaciones que
ocurren al paso de la sangre por los capilares de los dedos. El
sistema elegido fue un aro metálico, del cual se suspendía un
sólido rígido. La argolla se acoplaba al dedo en la forma que
se esquema tiza en la figura 2.
Fig.2 Como balistocardiógrafo se utilizó un péndulo acoplado al
dedo.
Este sistema se puede modelar como un péndulo forzado
(figura 3), cuya ecuación de movimiento para ángulos
pequeños viene dada por la siguiente expresión:
[3]
Donde es la masa del péndulo, su longitud, la
aceleración debida a la gravedad y una torca de forzamiento
que se imparte al péndulo en el pivote.
Obteniendo la transformada de Fourier a ambos lados de la
ecuación y despejando la transformada de la variable , se
llega a la siguiente expresión:
Donde se identifica al término
como la frecuencia natural
del péndulo al cuadrado:
Se tiene:
La ecuación 6 implica que todas las frecuencias presentes en
la señal perturbadora (en nuestro caso particular la torca
impartida al balistocardiógrafo por el movimiento de los
dedos), estarán presentes también en el espectro de la seña l de
movimiento del péndulo (movimiento del balistocardiógrafo),
sin embargo, la amplitud que tendrán dichas frecuencias
dependerá de que tan alejadas se encuentren de la frecuencia
natural del sistema (frecuencias cercanas a la natural tendrán
una mayor amplitud).
Fig.3 Modelo del péndulo forzado.
La longitud del péndulo se eligió en tal forma que su
frecuencia natural fuese de aproximadamente 90 , esto
con el propósito de que no se atenuaran demasiado las
frecuencias asociadas al pulso cardiaco, que se ubican dentro
de un intervalo de 45 a 130 .
2.3 Registro de videos del balistocardiógrafo
Se grabaron 8 videos con duración de un minuto, del
movimiento del balistocardiógrafo utilizando el teléfono
móvil cuyas características se describieron en la sección 2.1.
Para cada uno de los videos, se llevó a cabo el registro
simultaneo de la frecuencia cardiaca con un dispositivo
Huawei Band 4, cuya precisión para dicha medida es de
[10].
Las medidas de frecuencia cardiaca obtenidas a partir del
procesamiento de datos se compararon con las del reloj
inteligente a través del error relativo medio:
3. PROCESAMIENTO DE DATOS
La implementación de las tareas de procesamiento de los
videos se realizó en el lenguaje de programación Python 3
[11]. Se describen, en esta sección los pasos que componen
al algoritmo desarrollado. Un diagrama de bloque
resumiendo la secuencia de tareas implementadas se muestra
en la figura 4.
Fig.4 Pasos que se siguieron para el procesamiento de los videos.
3.1 Extracción de características
En primer lugar, se separó el video en los diferentes cuadros
que lo componen, y del primero, se extrajeron las
características que se iban a seguir, usando el método de Shi-
Tomasi. Este se basa en considerar los eigenvalores de la
matriz Hessiana de valores de píxel: y , y decidir si se
trata de un borde, una esquina o ninguna, utilizando la métrica
que se muestra en la ecuación 8.
3.2 Seguimiento de características y remuestreo de sus
series de tiempo
Ya detectadas las características, se realizó su seguimiento
usando el algoritmo de Lucas Kanade, un método ba sado en
flujo óptico. Hallando así series de tiempo para
cada una de las características. Ahora, dado que un equipo
moderno de electrocardiografía opera a alrededor de 250
para registrar el pulso cardiaco, mientras que los videos se
grabaron a 30 , se realizó un remuestreo de las series de
tiempo. Esto se hizo por dos métodos distintos para comparar
entre ellos: interpolación con Splines cúbicos y un ajuste con
máquinas de soporte vectorial para regresión (SVR).
El remuestreo es un paso habitual que suele hacerse en
estudios donde se obtiene el pulso cardiaco a partir de videos.
Su finalidad es satisfacer un modelo de adquisición basado en
electrocardiografía (ECG), lo cual es necesario si se quiere por
ejemplo verificar que los picos en las series de tiempo
extraídas de los videos correspondan con las pulsaciones
registradas en un electrocardiógrafo [12].
3.3 Filtrado y análisis de componentes principales (PCA)
Una vez obtenidas las series de tiempo remuestreadas, se les
aplicó un filtro Butterworth pasa alta s, con una frecuencia de
corte de 0.75 Hz, esto para suprimir la contribución de
componentes debajo del rango de frecuencias del ritmo
cardiaco. Hecho esto se procedió con el análisis de
componentes principales; como se mencionó en la parte
introductoria, usar PCA como paso intermedio ha probado
traer mejores resultados en la extracción de la frecuencia
cardiaca que aplicar la transformada de Fourier directamente.
El a nálisis conllevó en primer lugar la obtención de un
promedio de las series de tiempo para cada una de las
características. Esto se hizo pa ra ambas componentes “x” y
“y”, sin emba rgo, para propósitos de simplificación de la
explicación ejemplificaremos únicamente el ´calculo en x. El
promedio para la característica i-ésima sería el siguiente:
Donde es el tamaño de las series de tiempo.
Estas medias fueron almacenadas en un vector , y se obtuvo
una matriz de covarianzas de la siguiente manera:
Donde es un vector que contiene como entradas la
componente “x” de las distintas características a un tiempo .
Construida la matriz de covarianza, se obtuvieron sus
eigenvectores en forma normalizada
, y se calcularon las
componentes principales proyectando en estos las
series de tiempo de las distintas características:
[11]
3.4 Selección de la componente más periódica y
extracción de la frecuencia cardiaca
Se determinaron los espectros de las componentes
principales y se seleccionó la que presentara mayor
periodicidad acorde a la siguiente definición:
Finalmente se arrojaron como candidatos a frecuencia
cardiaca los picos del espectro selecciona do ubicados en un
intervalo de frecuencias entre 45 y 130 .
4. RESULTADOS
4.1 Validación del procesamiento
En esta sección se presentan los resultados obtenidos en la
prueba de validación, la cual consistió en probar el método
propuesto con el video de un péndulo simple.
La frecuencia obtenida con el programa para el péndulo fue:
Por lo que el error relativo respecto al valor teórico calculado
en la ecuación 1 sería:
En las figuras 5 y 6 se muestran tanto la serie de tiempo como
el espectro de la componente más periódica seleccionada:
4.2 Comparación con Huawei Band 4
En la tabla 1 se recopilan las medidas de la frecuencia
cardiaca obtenidas al procesar los 8 videos que se grabaron
del balistoca rdiógrafo, así como las correspondientes
mediciones realizadas con el dispositivo Huawei Band 4.
El error relativo entre las medidas obtenidas por ambos
métodos es el siguiente:
Fig.5 Serie de tiempo de la componente principal más periódica en
la prueba de validación con un péndulo simple.
Fig. 6 Espectro de la componente principal más periódica en la
prueba de validación con un péndulo simple.
Tabla 1. Determinación de la frecuencia cardiaca con el método
propuesto (columna derecha) y un dispositivo Huawei Band 4
(columna izquierda).
Huawei Band 4
Método propuesto
81 bpm
83 bpm
82 bpm
84 bpm
81 bpm
81 bpm
78 bpm
79 bpm
79 bpm
79 bpm
76 bpm
77 bpm
83 bpm
82 bpm
78 bpm
80 bpm
4.3 Espectros obtenidos
Una muestra del tipo de espectros que se obtuvieron para la
componente más periódica, cuando el método de remuestreo
fue interpolación por Splines se muestra en la figura 7.
El ritmo cardiaco medido en el reloj inteligente fue 73 bpm
para este caso muestra, mientras que el va lor arrojado por el
programa para dicha frecuencia fue de 73.15 bpm.
Fig. 7 Espectro muestra obtenido al utilizar interpolación con splines
Al sustituir el método de remuestreo por un ajuste de puntos
con máquinas de soporte vectorial para regresión, se obtuvo
como resultado el espectro que se muestra en la figura 8.
Fig. 8 Espectro obtenido al cambiar la interpolación con Splines por
un ajuste de puntos con SVR.
4. DISCUSIÓN
Con relación al experimento de validación, la similitud entre
la frecuencia arrojada por el programa, y la obtenida
teóricamente indican que la aplicación en efecto arroja
frecuencias que corresponden a movimientos periódicos
presentes en el video.
Lo anterior viene a ser reafirmado por la forma que presenta
el espectro de la componente principal más periódica
seleccionada. Recuérdese que de acuerdo con el modelo de
péndulo simple el movimiento del sistema viene descrito por
una función seno, cuya transformada de Fourier es
proporcional a una delta de Dirac:
Al visualizar el gráfico de dicha función, este consiste en un
pico muy grande, centrado en la frecuencia natural del
sistema. Esta es precisamente la forma que presenta el
espectro de la componente más periódica seleccionada (Fig.
6).
Refiriéndonos a la tabla 1 y al cálculo del error relativo medio,
se observa que los valores de ritmo cardiaco obtenidos usando
el método propuesto resultaron bastante similares a las
medidas realizadas la Huawei Band 4. Esto sugiere cierta
validez del método desarrollado para la determinación de la
frecuencia cardiaca. Es importante aclarar, sin embargo, que
el método con el cual se comparó no constituye un estándar
de oro, por lo que una validación definitiva requeriría hacer la
comparación con medidas hechas en un electrocardiógrafo.
Los espectros obtenidos para la componente mas periódica
seleccionada por el programa exhibieron un patrón común
compuesto de picos prominentes en un intervalo de 30 a 70
Hz, seguidos de picos mas pequeños dentro de los cuales se
encontraba la frecuencia cardiaca. Acorde a la literatura, los
primeros picos corresponderían a contracciones musculares
involuntarias que se producen todo el tiempo [13]. El hecho
de que se esté captando dicha información en las series de
tiempo sugiere una posibilidad de aplicar métodos similares
para la caracterización y estudio de padecimientos donde la
fisiología de las contracciones se ve afectada, como sería la
enfermedad de Parkinson.
Lo anterior conduce naturalmente a una discusión del espectro
que se obtuvo al sustituir la interpolación con Splines por un
ajuste de puntos con SVR (Fig. 8). Este cambio tuvo un efecto
de suavizado sobre el espectro, eliminando por completo el
pico correspondiente a la frecuencia cardiaca. En
consecuencia, para propósitos de obtención del ritmo cardiaco
dicho método resultaría poco útil, sin embargo, en una
investigación de las contracciones involunta rias usarlo podría
resultar beneficioso, ya que es precisamente el pico
correspondiente a estos movimientos el que se resalta.
Se finalizará la presente discusión de resultados mencionando
que hay ciertos aspectos que aun quedan por resolver sobre el
método propuesto, quizás el mas importante sea la
identificación automática del pico de frecuencia cardiaca.
Actualmente el resultado que arroja el a lgoritmo es una lista
de candidatos a ser dicha frecuencia. De los cuales se hace una
selección manual basada en tomar el primer pico prominente
que sigue a las contracciones involuntarias musculares. Este
método no es infalible, ya que en ocasiones la amplitud del
pico de frecuencia cardiaca no es muy alto. La propuesta sería
estandarizar mejor las condiciones de grabación (controlando
por ejemplo la distancia de la cámara al péndulo), en tal forma
que no varíe tanto la amplitud del pico de frecuencia cardiaca
entre los videos.
5. CONCLUSIONES Y RECOMENDACIONES
Se obtuvo un error relativo de 1.4% al comparar medidas del
ritmo cardiaco obtenidas con el método propuesto con las
realizadas en un reloj inteligente, validando que la técnica es
útil para realizar estimaciones de dicha variable. Un aná lisis
mas detallado de que exactitud ofrece el método requeriría
hacer comparaciones con un electrocardiógrafo.
El espectro de la componente mas periódica del video que
selecciona el algoritmo contiene información tanto del ritmo
cardiaco como de las contracciones musculares involuntarias
de los dedos, abriendo la posibilidad de aplicar métodos
semejantes para caracterizar cambios que pudiesen ocurrir en
patologías donde estas contracciones se ven alteradas (por
ejemplo, en la enfermedad de Parkinson).
Queda por resolver el problema de la identificación
automática del pico que corresponde a la frecuencia cardiaca,
la cual se vio impedida por la variación que presenta la
amplitud de dicho pico en los distintos videos. Una estrategia
propuesta de solución sería homogeneizar mucho mas las
condiciones de grabación de los videos, controlando
parámetros como la distancia de la cámara al péndulo, la
orientación del dedo respecto a la cámara etc.
6. REFERENCIAS
[1] S. de Salud “Panoram a epidemiológico y estadístico de la
mortalidad por causas sujetas a vigilancia epidemiológica en
México, 2017”, Julio 2019.
[2] A. Ghazwan Shaaaya etal, “Hea rt rate a s a biomarker in
heart failure: Role of heart rate lowering agents”, American
Journal of therapeutics, 24(5), pp 532 – 539, October 2017.
[3] Ty Lees etal, “Hea rt rate variability as a bioma rker for
predicting stroke, post -stroke complications and
functionality”, July 2018.
[4] Plotr Ponikowski etal, “Heart rate and blood pressure
monitoring in heart fa ilure”, Journal of the European Society
of Cardiology, December 2019.
[5] Federica Landreani, Enrico Gianluca Calani,
“Sma rtphone accelerometers for the detection of heart rate”,
Expert Review of Medical Devices, November 2017.
[6] Jean-Pierre etal, “Improved Heart-Rate Measurement
from Mobile Face Videos”, MDPI Electronics, May 2019.
[7] Guha Balakrishnan etal, “Detecting Pulse from Head
Motions in Video”, Conference on Computer Vision and
Pattern Recognition, June 2013.
[8] Hyunwoo Lee etal, “Vision based Measurement of Heart
Rate from Ballistocardiographic Head Movemente Using
Unsupervised Clustering”, July 2019.
[9] Feynman, Leighton and Sands, “The Feynman Lectures
on Physics Vol.1”, 1963.
[10] Huawei, “Heart rate monitoring is inaccurate on
wearable devices”,
https://consumer.huawei.com/en/support/content/en-
us00756447/ accessed: 2020 -02 -06.
[11] Uriel Legaria, “Procesamiento Balistocardiógrafo”,
https://github.com/walup/Vision-
Computacional/blob/main/Procesamiento_Balistocardiograf
o/Procesamiento_balistocardiografo.ipynb, accesed:
02/03/2021
[12] Vladislav Ostankovich, Geesara Prathap and Ilya
Afanesyev, “Towards Human Pulse Rate Estimation from
Face Video: Automatic component selection and comparison
of blind source separation methods”, 2018.
[13] Fredrick D. Pociask, “Electrothera py”, orthopaedic
Physical Therapy Secrets, 2006.