ECG-Fitness database


If you consider using the dataset, please reference the following: Spetlik, R., Franc, V., Cech, J. and Matas, J. (2018) Visual Heart Rate Estimation with Convolutional Neural Network. In Proceedings of British Machine Vision Conference, 2018. [pdf] [poster].

Codes & Models

The models yielding the results presented in the BMVC paper can be downloaded here. The evaluation and learning scripts are published at my public github.com repository.


Download the request form, print it, sign it and send it to spetlrad@fel.cvut.cz. Once received, we will share you a download link. The size of the database is approx. 200 GB. It is distributed in a single file compressed with a 7zip program.


realistic corpus of subjects performing physical activities on fitness machines
    6 x 1 minute video recording (no sound) + ECG per subject (207 videos in total)
   subjects: 17 subjects (14 male, 3 female) with age range 20 to 53 years
   camera:two RGB Logitech C920 webcameras - 30fps, 1920 x 1080 pixels stored in an uncompressed YUV planar pixel format (approx. 6GB per video)
   camera setup: one Logitech camera was attached to the currently used fitness machine, the other was positioned on a tripod as close as possible to the first camera
   ECG:two-lead Viatom CheckMe™ Pro device with CC5 lead
   activities: speaking, rowing, exercising on a stationary bike and on an elliptical trainer; speaking and rowing performed twice - once with a halogen lighting resulting in a strong 50Hz (100Hz) temporal interference, once without
   lighting setup: three lighting setups were used: (i) natural light coming from a nearby window, (ii) 400W halogen light and (iii) 30W led light
   measured HR:the lowest 56 bpm, the highest 159 bpm, the mean 108.96 bpm, standard deviation 23.33 bpm

The dataset covers the following challenges: (i) large subject's motion (possibly periodic) in all three axis, (ii) rapid motions inducing motion blur, (iii) strong facial expressions, (iv) wearing glasses, (v) non-uniform lighting, (vi) light interference, (vii) atypical non-frontal camera angles.

Important notes

  i. The first frame of every video recording must not be used.
  ii. The recordings of activity #4 for the subject #2 are missing for all cameras.
  iii. The recordings of activity #2 for the subject #7 are missing for all cameras.
  iv. Althought the videos are stored in a planar pixel format, 4:2:0 chroma subsampling was performed by the C920 webcameras before the signal was sent to the USB.


Find an up-to-date manual of the database bellow, please.

The dataset directory structure follows the format
where XX is the subject ID, YY is the activity ID and file is one of {"c920-1.avi", "c920-2.avi", "c920.csv", "viatom-raw.csv"}. XX = {00,01,...,16}.

YY - activity

 ambient lighting*:
  01 - rowing
  02 - speaking
  05 - elliptical trainer
  06 - stationary bike
 halogen lighting:
  03 - rowing
  04 - speaking

* ambient lighting: subjects 0-10 and 14-16 - daylight, subjects 11-13 - LED light


The file "viatom-raw.csv" contains values captured from the Viatom CheckMe™ Pro device. The first line of the file contains the header. There are 7 columns in the "viatom-raw.csv" file - system time in milliseconds, ECG, Heart Rate computed by the Viatom CheckMe™ Pro device from the ECG, PPG, PPG computed by the Viatom CheckMe™ Pro device from the PPG, SpO2 and PI. Only the first three columns were recorded during the sessions. The raw ECG signal is in the second column.


The k-th line in the "c920.csv" file corresponds to the k-th frame in the "c920-*.avi" videos and contains the index of a signal captured from the Viatom CheckMe™ Pro device.

"c920-1.avi" and "c920-2.avi"

The file "c920-1.avi" contains a video recording of a given session from the camera attached to a tripod. The file "c920-2.avi" contains a recording from the camera attached to the currently used fitness machine.

bbox directory contains face bounding boxes (bboxes) used in our research. The subdirectories follow the XX/YY/bboxFile format, where bboxFile = {"c920-1.face", "c920-2.face"}. Each "c920-*.face" file has five columns: frame number of the given "c920-*.avi" video, left top X bbox position, left top Y bbox position, bbox WIDTH, bbox HEIGHT.

Last update: 13:12, 12/12/2018 (dd/mm/yyyy) CET