# Robust and Energy-efficient PPG-based Heart-Rate Monitoring††thanks: This
work was supported in part by the European H2020 FET Project OPRECOMP under
Grant 732631.

Matteo Risso2, Alessio Burrello1, Daniele Jahier Pagliari2, Simone Benatti1,
Enrico Macii3, Luca Benini1, Massimo Poncino2  1Department of Electrical,
Electronic and Information Engineering, University of Bologna, 40136 Bologna,
Italy
2Department of Control and Computer Engineering, Politecnico di Torino, Turin,
Italy
3Inter-university Department of Regional and Urban Studies and Planning,
Politecnico di Torino, Turin, Italy
Corresponding Email<EMAIL_ADDRESS>
###### Abstract

A wrist-worn PPG sensor coupled with a lightweight algorithm can run on a MCU
to enable non-invasive and comfortable monitoring, but ensuring robust PPG-
based heart-rate monitoring in the presence of motion artifacts is still an
open challenge. Recent state-of-the-art algorithms combine PPG and inertial
signals to mitigate the effect of motion artifacts. However, these approaches
suffer from limited generality. Moreover, their deployment on MCU-based edge
nodes has not been investigated. In this work, we tackle both the
aforementioned problems by proposing the use of hardware-friendly Temporal
Convolutional Networks (TCN) for PPG-based heart estimation. Starting from a
single “seed” TCN, we leverage an automatic Neural Architecture Search (NAS)
approach to derive a rich family of models. Among them, we obtain a TCN that
outperforms the previous state-of-the-art on the largest PPG dataset available
(PPGDalia), achieving a Mean Absolute Error (MAE) of just 3.84 Beats Per
Minute (BPM). Furthermore, we tested also a set of smaller yet still accurate
(MAE of 5.64 - 6.29 BPM) networks that can be deployed on a commercial MCU
(STM32L4) which require as few as 5k parameters and reach a latency of 17.1 ms
consuming just 0.21 mJ per inference.

##  I Introduction

Wrist-worn devices equipped with sensors, such as wristbands and smartwatches,
enable a comfortable monitoring of vital signs, hence they are becoming
increasingly popular in personalized health care and medical IoT applications
[1]. Heart rate (HR) is one of the most critical indexes to monitor, both for
activity tracking and for clinical purposes. First generation HR-monitoring
devices were based on a simple 1-3 leads ECG, connected through a chest strip,
which, however, is uncomfortable or even impossible to wear in certain
conditions. Recently, the optimization and miniaturization of
photoplethysmogram (PPG) sensors has allowed to integrate HR and blood
oxygenation (SPO2) monitoring in smaller, less invasive and cheaper devices
[2]. A PPG sensor consists of one or more LEDs that continuously emit light to
the skin and a photodiode that measures variations of light intensity caused
by blood flow, which depends on the heart rate. A major limitation of PPG
based HR estimation is represented by motion artifacts (MA) caused by
variations of sensor pressure on the skin or ambient light leaking in the gap
between the photodiode and the wrist. Moreover, blood flow can vary
considerably depending on the type of physical activity, contributing to a
less precise light absorption measurement, and hence HR estimate [3].

Several approaches have been proposed in literature [4, 5] to tackle these
limitations, by cancelling/reducing the noise caused by MAs on the PPG signal
before using it to compute the HR of subjects. However, these methods require
an extensive hand-tuning of parameters for the target dataset, leading to
difficulties in generalizing over many subjects and over different activities.
Until now, limited attention has been given to deep learning approaches,
despite the promising generalization results shown in [3, 6]. Moreover, none
of the state-of-the-art algorithms (neither classic or deep learning ones)
have been yet deployed on a MCU of the class found in wrist-worn edge devices.

In this paper, we propose a collection of TCNs for HR estimation based on raw
PPG and acceleration data, called _TimePPG_. All TCNs are derived
automatically from a single seed architecture using a NAS tool [7], and form a
Pareto frontier in the accuracy vs complexity space, from which designers can
select a model based on the available computing resources. In particular, we
analyze in detail three TCNs from the TimePPG family. The best performing
model, BestMAE, achieves a MAE of 5.30 BPM on the popular PPGDalia dataset,
and includes $\approx$ 232k trainable parameters. Coupling this TCN with
simple post-processing and fine-tuning steps, we further reduce the MAE to
3.84 BPM, outperforming the current (more complex) state-of-the-art algorithms
[5]. At the other extreme, the smallest model in TimePPG, BestSize, uses only
5k parameters while still reaching an acceptable MAE of 6.29 BPM. Finally, as
a compromise between the former two, we analyze BestMCU, i.e. the largest
network that fits the memory of a popular MCU by STM, the STM32L476, which
achieves a MAE of 5.64 BPM with 41.7k parameters. When deployed on the MCU,
BestMCU consumes 5.17 mJ per inference, with a latency of 427 ms. BestSize
reduces both metrics by 25$\times$, reducing energy to 0.21 mJ and latency to
17.1 ms.

##  II Background and Related Works

###  II-A Temporal Convolutional Networks

TCNs are a class of 1D-Convolutional Neural Networks (CNNs), whose peculiarity
is in the use of causality and dilation in convolutional layers [8, 9].
Causality constrains the convolution output $\mathbf{y}_{t}$ to depend only on
inputs $\mathbf{x}_{\tilde{t}}$ with $\tilde{t}\leq t$, whereas dilation is a
fixed gap $d$ inserted between input samples processed by the convolution,
thus increasing its time receptive field without requiring more parameters. A
convolutional layer in a TCN implements the following function:

$\mathbf{y}_{t}^{m}=\sum_{i=0}^{K-1}\sum_{l=0}^{C_{in}-1}\mathbf{x}_{t-d\,i}^{l}\cdot\mathbf{W}_{i}^{l,m}\vspace{-0.2cm}$
(1)

where $\mathbf{x}$ and $\mathbf{y}$ are the input and output feature maps, $t$
and $m$ the output time-step and channel respectively, $\mathbf{W}$ the filter
weights, $C_{in}$ the number of input channels, $d$ the dilation factor, and
$K$ the filter size. In the original paper [8], TCNs were proposed as fully-
convolutional architectures, but modern embodiments also include other common
layers such as pooling and linear ones [10, 11].

###  II-B State-of-the-art in PPG-based HR monitoring

Figure 1: Proposed NAS and deployment flow. In red, the architectural
parameters and MAE of the seed architecture and of three TimePPG Pareto
points.

HR monitoring through wrist-PPG is a relative new task, which both industry
and researchers are exploring. The seminal work of [2] paved the way to
algorithmic exploration in the field, releasing the first open-access dataset
(the 12-subject SPC), and proposing a three-stage algorithm based on signal
decomposition, spectrum estimation and spectral peak tracking (TROIKA), which
achieves an average MAE of 2.34 BPM BPM on SPC. Later, [4] improved TROIKA
using the spectral difference with the acceleration spectrum to clean the PPG
signal from Motion Artifacts (MAs), reducing the error to 1.28 BPM. With the
same goal, the authors of [12] applied Singular Value Decomposition to the
acceleration data to extrapolate periodic MAs. Followed by some iterations of
the Iterative Method with Adaptive Thresholding (IMAT), this method reduced
the MAE to 1.25 BPM. Two approaches used Wiener filtering [13, 14] to clean
PPG signals with accelerometer data, reaching a MAE of 0.99 BPM. Lastly, the
complex five-steps pipeline called SpaMA [15], further reduced the MAE on this
dataset to 0.89 BPM. More recently, [5] presented a time-domain algorithm
which achieves 4.6 BPM of MAE on the larger PPGDalia dataset with a 5-steps
pipeline of light linear transformations, outperforming SpaMa [15] and the CNN
predented in [3] on these data, but performing worse on the smaller SPC. On
the most challenging PPGDalia dataset, [5] is the SoA algorithm and thus used
as a comparison in this work.

All aforementioned approaches share the common problem of including an high
number of free hyper-parameters, which are not automatically learned, but
hand-tuned to maximize performance, leading to an overfitting of the test
dataset. For instance, the authors of [3] have shown that the state-of-the-art
results of [15, 16] on the SPC dataset, cannot be reproduced when cross-
validation is used for optimizing hyper-parameters on the same dataset,
leading to a MAE increase of 1.64-11.77 BPM. Further, they saw a degradation
of up to 19.18 BPM MAE of classical approaches developed for SPC on the
PPGDalia dataset, demonstrating that classical approaches hardly generalize
over many subjects.

In recent years, researchers have tried to address this limitation with data-
driven deep learning algorithms. The works of [6, 17] achieve comparable
results to the ones of the classical methods, applying a CNN to frequency data
and a CNN+LSTM (Long-Short Term Memory) to time data, respectively. In [3],
the authors present a CNN architecture which outperforms two classical methods
[15, 16] on PPGDalia. Despite these promising results, however, the deep
learning architectures proposed in literature are still too complex to be
embedded in a MCU-based wearable device. For instance, the best architecture
presented in [3], based on a CNN ensembler, has 60M float32 parameters, while
CorNet, a CNN+LSTM model, has 260k float32 parameters and requires 21.1
million operations.

##  III Time PPG

Fig. 1 shows the complete flow proposed in this work. As anticipated, we use
an automatic tool to explore the space of possible TCN architectures for PPG-
based HR monitoring. As a starting point for this exploration we use TEMPONet
[11], a TCN which shows impressive results in other bio-signals analysis
tasks, originally developed for EMG-based gesture recognition. TEMPONet
includes a modular feature extractor, composed of 3 convolutional blocks, each
with two dilated convolutions, 1 strided convolution and 1 pooling layer. The
output channels in each block are 32, 64, and 128 respectively. The feature
extractor is followed by a classifier composed of 3 linear layers,
contributing to almost half (200k) of the total network parameters. All layers
use ReLU activations and batch normalization [18]. Further details on the
network are omitted for sake of space, and can be found in [11].

To adapt TEMPONet to our task, we modify the input layer to match the target
dataset, described in detail in Section IV. The network takes as input raw
sensor data generated by a PPG-sensor and a tri-axial accelerometer. Samples
are gathered at 32 Hz and fed to the model in sliding windows of 8 s with an
overlap of 75 %, resulting in a 256$\times$4 input matrix. We also remove the
final classification layer, replacing it with a single neuron for regression,
and use a LogCosh loss for training.

###  III-A Design Space Exploration

Figure 2: Ground truth and prediction of a well tracked patient (S7) and of
the worst one (S5). Values above 140 BPM are not well estimated by our
algorithm.

NAS methods are the natural tools for automatically exploring novel NN
architectures for a given task, acting on hyper-parameters such as the number
and type of layers, the number of convolution filters, etc [19]. However,
standard NAS approaches require an enormous number of training iterations and
are optimized for large-scale computer vision tasks, leading to oversized
networks for simpler tasks. Therefore, in this work we resort to MorphNet [7]
a new NAS algorithm which slightly reduces the search space using a seed
network (TEMPONet in our case) in exchange for a dramatic reduction in
complexity.

MorphNet limits the optimization to the number of channels in each layer, and
learns an optimal architecture which retains as much as possible the initial
performance of the network, while reducing either its memory footprint, the
number of required Multiply-and-Accumulate (MAC) operations, or a combination.
This is obtained with a two-step algorithm: first, the network size is reduced
by applying group Lasso [20], a sparsifying regularizer which forces entire
filter channels to small magnitude values. At the end of this phase, all
channels whose magnitude is inferior to a threshold are eliminated. Since
compression is associated with an obvious performance penalty, MorphNet
alternates it with an expansion step, in which the number of channels in all
layers is uniformly up-scaled by a constant. Two regularizers are introduced
in the original paper, to guide the search either on reducing the memory
footprint (_size regularizer_) or the number of MACs (_flops regularizer_).
Importantly, the overall resources required by MorphNet are only slightly
greater than those required to train the model once. Further details are
omitted for sake of space and can be found in [7].

We explore the design space by applying MorphNet to TEMPONet, using grid
search on the relative strengths of the two regularizers and on the channels
pruning threshold, thus trading a penalty in MAE with a reduction in the
number of parameters and complexity of the network. Moreover, to further
reduce the memory footprint for deploying our TCNs on resource-constrained
MCUs, we also apply full-integer post-training quantization to the MorphNet
outputs, converting them from float32 to int8 [21, 22]. As shown in Section
IV, this simple approach yields a large set of Pareto-optimal TCNs, ranging
from state-of-the-art accuracy to very small memory footprints.

###  III-B Post-Processing

Despite being accurate on average, fully data-driven models such as TCNs can
sometimes make large errors, especially when inputs deviate significantly from
the distributions seen during training. Fortunately, for HR monitoring, these
errors can be easily filtered with a post-processing step, which removes
predictions that are not compatible with human physiology. Specifically, we
impose a limit on the maximum relative HR variation over time. To this end, we
compare the latest TCN prediction with the mean of the previous N predictions:
if the difference between the two is larger than a threshold $th$, the
predicted HR is clipped to mean $\pm$ threshold. We set N to 10 and $th$ to
10% of the mean, identical for all patients.

###  III-C Fine-Tuning

Deep learning benefits from large amounts of training data, unfortunately not
yet available in datasets for PPG-based HR monitoring, which include $<20$
patients. Therefore, subjects with particularly high/low HR are badly tracked
by our TCNs, since their unique data distributions are not present elsewhere
in the training set. To underline this effect, Fig. 2 showcases the accurate
tracking on a patient with HR $<$ 140 BPM (S7), while miss-predicting
intervals of time of S5 with HR $>$ 140 BPM (lower part of the figure).

We claim that this is indeed just an effect of the scarcity of data, and not a
limitation of our models. To demonstrate it, in one of our experiments we
apply an additional fine-tuning step to our trained TCNs. Specifically, we
fine-tune on the initial portion of data (25%) relative to the patient under
exam, with a low learning rate, freezing the weights of the first
convolutional block. We then compute the MAE on the remaining 75% of data.
Note that this step is hardly reproducible in the field, since collecting
ground truth data for fine-tuning is hard. However, it mimics the effect of a
larger dataset which would include data similar to those of a given test
subject.

##  IV Experimental Results

We evaluate our TimePPG models on the PPGDalia dataset [3], the largest
publicly available dataset for PPG-based heart rate estimation. The dataset
includes sensors’ data from a PPG-sensor and a 3D-accelerometer, together with
golden HR values from 15 subject and a total of 37.5 hours of recording. We
validate TimePPG models following the cross validation scheme proposed in [3].
We train all TCNs with an Adam optimizer (learning rate = 1e-3, weight decay =
5e-4), and a batch size of 128 over 500 epochs, with an early stop mechanism
with patience of 20. All experiments are performed using Python 3.6,
TensorFlow 1.14 [23] and the Nucleo-STM32L476RG evaluation board, with 128 kB
of RAM, 1 MB Flash and an average power consumption of 12.1 mW at 80 MHz [24].

###  IV-A TimePPG Design Space Exploration Results

Figure 3: TimePPG results in the MAE vs. memory and MAE vs. MACs planes. TABLE I: Comparison with state-of-the-art PPG-based HR monitoring algorithms. p-values computed with non-parametric Mann-Whitney. |  S1 |  S2 |  S3 |  S4 |  S5 |  S6 |  S7 |  S8 |  S9 |  S10 |  S11 |  S12 |  S13 |  S14 |  S15 | Mean |  p-value
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
Schack2017 [16] |  33.1 |  27.8 |  18.5 |  28.8 |  12.6 |  8.7 |  20.65 |  21.8 |  22.3 |  12.6 |  21.1 |  22.8 |  27.7 |  12.1 |  16.4 | 20.5 | $<0.01$
SpaMaPlus [15] |  8.86 |  9.67 |  6.40 |  14.10 |  24.06 |  11.34 |  6.31 |  11.25 |  16.04 |  6.17 |  15.15 |  12.03 |  8.50 |  7.76 |  8.29 | 11.06 | $<0.01$
STFT+CNN [3] |  7.73 |  6.74 |  4.03 |  5.90 |  18.51 |  12.88 |  3.91 |  10.87 |  8.79 |  4.03 |  9.22 |  9.35 |  4.29 |  4.37 |  4.17 | 7.65 | $<0.01$
TAPIR [5] |  4.50 |  4.50 |  3.20 |  6.00 |  5.00 |  3.40 |  2.80 |  6.30 |  8.00 |  2.90 |  5.10 |  4.70 |  3.10 |  5.00 |  4.10 | 4.57 | $<0.01$
CurToSS [25] |  5.40 |  4.30 |  3.00 |  8.00 |  2.20 |  2.80 |  3.30 |  8.50 |  12.60 |  3.60 |  3.60 |  6.10 |  3.00 |  5.50 |  3.70 | 5.04 | $0.02$
TimePPG-BestMAE |  4.51 |  3.37 |  2.33 |  5.25 |  14.68 |  4.76 |  2.37 |  8.04 |  8.75 |  3.3 |  5.19 |  8.08 |  2.29 |  3.02 |  3.49 | 5.30 | n.a.
\+ Post-Processing |  4.01 |  3.16 |  2.27 |  4.62 |  14.96 |  4.28 |  2.58 |  6.02 |  7.61 |  2.89 |  4.79 |  6.95 |  2.54 |  3.01 |  3.56 | 4.88 | n.a.
\+ Fine Tuning |  3.17 |  2.74 |  3.13 |  4.25 |  4.88 |  3.7 |  2.48 |  5.19 |  7.00 |  3.47 |  3.67 |  3.91 |  2.85 |  3.55 |  3.6 | 3.84 | n.a.

Fig. 3 shows some of the models obtained applying MorphNet to the seed network
with different regularizer strengths and pruning thresholds. Only models
achieving a MAE lower than 7 BPM are reported. In this experiment, MAE results
refer solely to the TCN output, without post processing or fine tuning.

As shown, our design space exploration spans more than one order of magnitude
both in terms of TCN parameters (5k-230k) and MACs (0.1M-12M). Three relevant
Pareto-optimal models are higlighted in the figure, called BestMAE, BestMCU,
and BestSize. The former is the one achieving the lowest overall MAE (5.3 BPM)
and is analyzed in detail in Section IV-B. It requires around 230k parameters
and 12M MACs. BestMCU is the best performing model that meets the memory
constraints imposed by the target MCU; it requires 41.7k parameters, and 4M
MACs and achieves a MAE of 5.64 BPM, i.e. a model compression of 5.6$\times$
w.r.t. BestMAE, with a MAE increase of just 0.34 BPM. BestSize is the smallest
model found in our design space exploration, obtained using MorphNet’s flops
regularizer with a strength of 1e-5 and a pruning threshold of 0.01. The model
has just 5.09k parameters (46$\times$ compression) and less than 100k MACs,
with a MAE of 6.29 BPM (0.99 increase). Section IV-C analyzes the execution
metrics of the latter two TCNs on the STM32L476RG.

###  IV-B TimePPG-BestMAE: state-of-the-art comparison

TABLE II: Porting of different models of our TimePPG on an STM32L4 with 128 kB
RAM memory and 1 MB Flash memory.

Model | Ram/Flash [kB] | E. [mJ] | Time [ms] | MAE [BPM]
---|---|---|---|---
BestMCU | 84.0 / 160.0 | 5.17 | 427.0 | 5.64
BestMCU† | 24.9 / 94.7 | 4.44 | 367.0 | 7.06
BestSize | 11.5 / 16.5 | 0.21 | 17.1 | 6.29
BestSize† | 7.21 / 8.07 | 0.23 | 19.0 | 7.55

  * †

With post-training int8 quantization. Dilation reduced to one, with bigger
filters to maintain the receptive field, to cope with toolchain limitations.

Table I compares our proposed BestMAE TCN with different state of the art
methods, including both classical and deep learning approaches. We report the
results of the TCN alone, as well as those obtained after the application of
our proposed post-processing and with fine-tuning.

TimePPG outperforms previous deep learning approaches, such as the CNN from
[3] and the Generative Adversarial Network (GAN)-based method reported in [26]
(not in the table since individual subjects performance are not reported in
the original paper), achieving a mean MAE of 5.3 BPM vs. 7.65 BPM (CNN) and
8.3 BPM (GAN). Further, our model has 230k parameters, i.e. 260$\times$
smaller than the CNN ensemble of [3].

Among classical algorithms, Schack2017 and SpaMaPlus are optimised on a
different dataset (IEEE training [2]), while CurToSS and TAPIR are tailored to
PPGDalia. Note that while the four methods employ similar filtering and peak
tracking algorithms, the ones optimized for PPGDalia substantially outperform
the others, demonstrating the intrinsic overfitting due to parameter tuning in
classical methods. With post-processing, TimePPG-BestMAE is comparable to
CurToSS (-0.16 BPM) and TAPIR (+0.31 BPM). In particular, while our method
achieves comparable performance on the majority of the patients, it is
substantially outperformed by classical methods on subject 5 (MAE of 2 and 5
BPM vs 14.96 BPM of TimePPG with post processing), which has HR values in the
range 160-180 BPM. Data-driven deep learning methods are less accurate in
predicting such large HR values, since no sample in that range is present in
the dataset used for training models validated on subject 5. This is confirmed
by the fact that also the CNN from [3] similarly fails in estimating the HR of
this subject, reaching a MAE of 18.51 BPM.

To mimic a wider training dataset including all realistic HR ranges, we
applied the fine-tuning described in Section III-C. As shown in Table I the
fine-tuned TimePPG-BestMAE obtains the lowest mean MAE of 3.84 BPM,
outperforming all state-of-the-art methods. Note that this improvement is
mainly due to subject 5, whose MAE decreases from 14.68 to 4.88 BPM.

###  IV-C Embedded Deployment Results

Table II summarizes the results obtained deploying the previously described
BestSize and BestMCU TCNs on the STM32L476RG. Specifically, we deploy both
float32 and int8-quantized variants of each TCN. Unfortunately, the toolchain
offered by STM to deploy neural network models on their MCUs, called X-CUBE-AI
[27], does not support int8 quantization with dilation factors higher than 1.
To cope with this limitation, we are obliged to use larger filters of size
$d\times(K-1)+1$ and dilation 1 to maintain the original receptive field of
the float models. This actually increases the number of parameters in the
networks, resulting in a more complex network – 1.8$\times$ higher number of
parameters and 2.7$\times$ more computation. Overall, the table shows that
latency and energy consumption metrics obtained with our methodology starting
from a single seed model span more than one order of magnitude. On one
extreme, the float version of BestMCU achieves a mean MAE of 5.64 BPM with an
energy consumption of 5.17 mJ and 427 ms of latency. Alternatively, we can use
BestSize to lower the energy consumption to just 0.21 mJ and the latency to
17.1 ms at the cost of a higher MAE, 6.29 BPM.

Note that these results could be improved by i) applying a quantization-aware
training and ii)  manually porting the network to the MCU implementing $d>1$
with int8 filters. These steps would be objects of our future work. Despite
these limitations, BestSize† model result in a Flash occupation of just 8.07
KB, which could be very promising for the porting on commercial ultra-low-
power wrist-worn devices, but with almost equal computation compared to the
float32 model.

##  V Conclusions

The efficient execution of HR monitoring algorithms is a critical enabler for
the personalized health care. In the direction of employing lightweight
algorithms for HR, we have proposed a set of TCN regressors, all automatically
derived from a single seed model using NAS. With our exploration, we spanned a
wide range in all metrics, reaching as low as 3.84 BPM average MAE, 0.21 mJ of
energy per inference and 8.07 KB of memory footprint, enabling the deployment
of our models even to very tiny MCUs with small embedded flash memories.

## References

  * [1] A. S. Yeole and D. R. Kalbande, “Use of internet of things (iot) in healthcare: A survey,” in _Proceedings of the ACM Symposium on Women in Research 2016_ , 2016, pp. 71–76.
  * [2] Z. Zhang, Z. Pi, and B. Liu, “Troika: A general framework for heart rate monitoring using wrist-type photoplethysmographic signals during intensive physical exercise,” _IEEE Transactions on biomedical engineering_ , vol. 62, no. 2, pp. 522–531, 2014.
  * [3] A. Reiss, I. Indlekofer, P. Schmidt, and K. Van Laerhoven, “Deep ppg: Large-scale heart rate estimation with convolutional neural networks,” _Sensors_ , vol. 19, no. 14, p. 3079, 2019.
  * [4] Z. Zhang, “Photoplethysmography-based heart rate monitoring in physical activities via joint sparse spectrum reconstruction,” _IEEE transactions on biomedical engineering_ , vol. 62, no. 8, pp. 1902–1910, 2015\.
  * [5] N. Huang and N. Selvaraj, “Robust ppg-based ambulatory heart rate tracking algorithm,” in _2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC)_. IEEE, 2020, pp. 5929–5934.
  * [6] D. Biswas, L. Everson, M. Liu, M. Panwar, B.-E. Verhoef, S. Patki, C. H. Kim, A. Acharyya, C. Van Hoof, M. Konijnenburg _et al._ , “Cornet: Deep learning framework for ppg-based heart rate estimation and biometric identification in ambulant environment,” _IEEE transactions on biomedical circuits and systems_ , vol. 13, no. 2, pp. 282–291, 2019.
  * [7] A. Gordon, E. Eban, O. Nachum, B. Chen, H. Wu, T.-J. Yang, and E. Choi, “Morphnet: Fast & simple resource-constrained structure learning of deep networks,” in _Proceedings of the IEEE conference on computer vision and pattern recognition_ , 2018, pp. 1586–1595.
  * [8] S. Bai, J. Z. Kolter, and V. Koltun, “An empirical evaluation of generic convolutional and recurrent networks for sequence modeling,” _arXiv preprint arXiv:1803.01271_ , 2018.
  * [9] C. Lea, R. Vidal, A. Reiter, and G. D. Hager, “Temporal convolutional networks: A unified approach to action segmentation,” in _European Conference on Computer Vision_. Springer, 2016, pp. 47–54.
  * [10] L. Ren, Y. Liu, X. Wang, J. Lü, and M. J. Deen, “Cloud-edge based lightweight temporal convolutional networks for remaining useful life prediction in iiot,” _IEEE Internet of Things Journal_ , 2020.
  * [11] M. Zanghieri, S. Benatti, A. Burrello, V. Kartsch, F. Conti, and L. Benini, “Robust real-time embedded emg recognition framework using temporal convolutional networks on a multicore iot processor,” _IEEE Transactions on Biomedical Circuits and Systems_ , 2019.
  * [12] M. B. Mashhadi, E. Asadi, M. Eskandari, S. Kiani, and F. Marvasti, “Heart rate tracking using wrist-type photoplethysmographic (ppg) signals during physical exercise with simultaneous accelerometry,” _IEEE Signal Processing Letters_ , vol. 23, no. 2, pp. 227–231, 2015.
  * [13] A. Temko, “Accurate heart rate monitoring during physical exercises using ppg,” _IEEE Transactions on Biomedical Engineering_ , vol. 64, no. 9, pp. 2016–2024, 2017.
  * [14] H. Chung, H. Lee, and J. Lee, “Finite state machine framework for instantaneous heart rate validation using wearable photoplethysmography during intensive exercise,” _IEEE journal of biomedical and health informatics_ , vol. 23, no. 4, pp. 1595–1606, 2018.
  * [15] S. Salehizadeh, D. Dao, J. Bolkhovsky, C. Cho, Y. Mendelson, and K. H. Chon, “A novel time-varying spectral filtering algorithm for reconstruction of motion artifact corrupted heart rate signals during intense physical activities using a wearable photoplethysmogram sensor,” _Sensors_ , vol. 16, no. 1, p. 10, 2016.
  * [16] T. Schäck, M. Muma, and A. M. Zoubir, “Computationally efficient heart rate estimation during physical exercise using photoplethysmographic signals,” in _2017 25th European Signal Processing Conference (EUSIPCO)_. IEEE, 2017, pp. 2478–2481.
  * [17] X. Chang, G. Li, L. Tu, G. Xing, and T. Hao, “Deepheart: Accurate heart rate estimation from ppg signals based on deep learning,” in _2019 IEEE 16th International Conference on Mobile Ad Hoc and Sensor Systems (MASS)_ , 2019, pp. 371–379.
  * [18] S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” _arXiv preprint arXiv:1502.03167_ , 2015.
  * [19] M. Tan, B. Chen, R. Pang, V. Vasudevan, M. Sandler, A. Howard, and Q. V. Le, “Mnasnet: Platform-aware neural architecture search for mobile,” in _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition_ , 2019, pp. 2820–2828.
  * [20] M. Yuan and Y. Lin, “Model selection and estimation in regression with grouped variables,” _Journal of the Royal Statistical Society: Series B (Statistical Methodology)_ , vol. 68, no. 1, pp. 49–67, 2006.
  * [21] D. Jahier Pagliari, E. Macii, and M. Poncino, “Dynamic Bit-width Reconfiguration for Energy-Efficient Deep Learning Hardware,” in _Proceedings of the International Symposium on Low Power Electronics and Design_ , ser. ISLPED ’18. ACM, 2018, pp. 47:1—-47:6.
  * [22] D. Jahier Pagliari and M. Poncino, “Application-Driven Synthesis of Energy-Efficient Reconfigurable-Precision Operators,” in _2018 IEEE International Symposium on Circuits and Systems (ISCAS)_ , 2018, pp. 1–5.
  * [23] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, S. Ghemawat, I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser, M. Kudlur, J. Levenberg, D. Mané, R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, P. Tucker, V. Vanhoucke, V. Vasudevan, F. Viégas, O. Vinyals, P. Warden, M. Wattenberg, M. Wicke, Y. Yu, and X. Zheng, “TensorFlow: Large-scale machine learning on heterogeneous systems,” 2015, software available from tensorflow.org. [Online]. Available: https://www.tensorflow.org/
  * [24] S. Microelectornics. Stm32l476. [Online]. Available: https://www.st.com/resource/en/datasheet/stm32l476je.pdf
  * [25] M. Zhou and N. Selvaraj, “Heart rate monitoring using sparse spectral curve tracing,” in _2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC)_. IEEE, 2020, pp. 5347–5352.
  * [26] P. Sarkar and A. Etemad, “Cardiogan: Attentive generative adversarial network with dual discriminators for synthesis of ecg from ppg,” _arXiv preprint arXiv:2010.00104_ , 2020.
  * [27] S. Microelectornics. (2017) X-cube-ai. [Online]. Available: https://www.st.com/en/embedded-software/x-cube-ai.html