Code Monkey home page Code Monkey logo

Comments (9)

aptlin avatar aptlin commented on August 12, 2024 3

Increasing the sampling rate to 29 and bumping the block size from 40 to 200, I get the following metrics after estimating heart rate from the ground truth ordinal values:

Screen Shot 2020-08-10 at 14 23 43

Pearson r is still a bit off in comparison with the results from your paper:

Screen Shot 2020-08-10 at 14 27 26

from meta-rppg.

aptlin avatar aptlin commented on August 12, 2024

Seems like there is a bug or a typo, since filtered_sig is assigned but never used:

filtered_sig = butter_bandpass_filter(sig, 0.4, 4, fps, order=3)

from meta-rppg.

aptlin avatar aptlin commented on August 12, 2024

Here are the metrics I get after running get_bpm on a sample of discretized PPG and heart rates from UBFC using the batch size of 8 and slicing a video segment of 6s into 60 frames:

Screen Shot 2020-08-03 at 13 37 49

Screen Shot 2020-08-03 at 13 35 26

The metrics seem way off. Could you please share how you have converted predicted ordinal values to heart rate?

from meta-rppg.

aptlin avatar aptlin commented on August 12, 2024

Here are the ideal metrics (obtained after running get_bpm on the ground truth segments for blocks of 60 frames) after switching to a higher sampling rate for the frames fed to the model (sampling on the (60/25)s timeframe). The result is still disappointing:
Screen Shot 2020-08-04 at 00 58 19

Could you please comment on the ideal results you get with your post-processing?

from meta-rppg.

eugenelet avatar eugenelet commented on August 12, 2024

Hi there,

Thanks for taking interest on our work. May I ask what's the training data that you used to train the model? We have only provided a training dataset containing 2 users, which is not the entire dataset.

from meta-rppg.

aptlin avatar aptlin commented on August 12, 2024

The metrics above are for videos from the UBFC dataset that have frame rates greater than 25 fps. Batches of 60 frames were taken in each time period of 2.4 seconds, with the sliding window step of 1 second, and the corresponding ground truth ppg signals segmented into 40 regions which were then used to estimate heart rate using get_bpm from your repo. This estimated heart rate was then compared with the ground truth pulse from UBFC, which gave the results above (this approach of measuring mae/r2 was recently used for evaluation in the cvpr 2020 workshop on remote sensing). What kind of metrics do you get when you segment the ground truth ppg into ordinal values and use them for predicting pulse? Or did you avoid using ground truth pulse from ubfc in your comparison?

from meta-rppg.

EvanChen022kan avatar EvanChen022kan commented on August 12, 2024

Hi there,

the UBFC dataset we received from the author didn't contain the ground truth ppg. So we only take use of the ground truth ordinal values. The get_bpm function is for the model. The inaccuracy may be caused by a few reasons, first one is the low sampling rate (24 fps), second is that the sliding window for prediction is too small. You can use a bigger sliding window and a higher sampling rate when predicting in frequency domain.

from meta-rppg.

aptlin avatar aptlin commented on August 12, 2024

Thanks! So you used just the ordinal values for estimating heart rate on the UBFC dataset and comparing it with predicted values? In no way the ground truth for pulse was used for evaluation?

from meta-rppg.

Z-Xiong avatar Z-Xiong commented on August 12, 2024

How do you train this network and what data sets are used? I use the deap dataset, which is difficult to converge.

from meta-rppg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.