rPPG方法包

pyVHR的Python项目详细描述


pyVHR


PyPI - Python VersionPyPIGitHub last commitGitHub license

说明

Package pyVHR(Python framework for Virtual Heart Rate)是一个研究基于远程光容积描记(rPPG)的脉搏率估计方法的综合框架。该框架背后的方法论基础是,为了以原则性和可重复性的方式研究、开发和比较新的rPPG方法,应满足以下条件:i)监控rPPG算法的输入、输出和主要控制参数的结构化管道;ii)多个数据集的可用性和使用;iii)方法性能的合理统计评估。 pyVHR允许轻松处理RPPG方法和数据,同时简化统计评估。其主要特点如下。在

  • 面向分析。它构成了一个实验设计平台,涉及到应用于多个视频数据集的任意数量的方法。它提供了一个系统的端到端管道,允许通过轻松设置参数和元参数来评估不同的rPPG算法。在
  • 开放性。它包括方法和数据集工厂,因此可以方便地扩展新开发的rPPG方法和任何类型的视频数据集来评估的元素池。在
  • 稳健评估。结果被安排在结构化数据中,以备深入分析。基于稳健非参数统计检验进行了性能比较。在

通过对五个公共视频数据集(即ICAPCAGREEN,CHROMPOSPOSSSRICA$ICACNPBVPBV$PBV,分别通过在五个公共视频数据集的广泛实验,即{em1}$PURE纯em1}$Pu>,LGIUSBCMAHNOBCOHFACE,以及随后的非参数统计分析。在

pyVHR

安装

首先安装依赖项:

$ pip install numpy

然后,将库直接安装到激活的虚拟环境中:

^{pr2}$

或从源代码下载并通过以下方式安装:

$ python setup.py install

使用

notebooks文件夹包含三个不同的Jupyter笔记本:

基本用法
显示了通过远程PPG方法处理用于心率估计的视频的基本步骤。
[Source][Demo]

扩展框架
本笔记本展示了如何使用其他数据集和方法扩展框架。
[Source][Demo]

统计分析
包括对六个不同的数据集应用所有可用方法的统计分析和论文中给出的结果(见Reference) [Source][Demo]

方法

该框架包含远程PPG测量最常用方法的实现,位于methods文件夹中。
参考出版物目前采用的方法有:

Green

Verkruysse, W., Svaasand, L. O., & Nelson, J. S. (2008). Remote plethysmographic imaging using ambient light. Optics express, 16(26), 21434-21445.

CHROM

Benezeth, Y., Li, P., Macwan, R., Nakamura, K., Gomez, R., & Yang, F. (2018, March). Remote heart rate variability for emotional state monitoring. In 2018 IEEE EMBS International Conference on Biomedical & Health Informatics (BHI) (pp. 153-156). IEEE.

ICA

Poh, M. Z., McDuff, D. J., & Picard, R. W. (2010). Non-contact, automated cardiac pulse measurements using video imaging and blind source separation. Optics express, 18(10), 10762-10774.

LGI

Pilz, C. S., Zaunseder, S., Krajewski, J., & Blazek, V. (2018). Local group invariance for heart rate estimation from face videos in the wild. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (pp. 1254-1262).

PBV

De Haan, G., & Van Leest, A. (2014). Improved motion robustness of remote-PPG by using the blood volume pulse signature. Physiological measurement, 35(9), 1913.

PCA

Lewandowska, M., Rumiński, J., Kocejko, T., & Nowak, J. (2011, September). Measuring pulse rate with a webcam—a non-contact method for evaluating cardiac activity. In 2011 federated conference on computer science and information systems (FedCSIS) (pp. 405-410). IEEE.

POS

Wang, W., den Brinker, A. C., Stuijk, S., & de Haan, G. (2016). Algorithmic principles of remote PPG. IEEE Transactions on Biomedical Engineering, 64(7), 1479-1491.

SSR

Wang, W., Stuijk, S., & De Haan, G. (2015). A novel algorithm for remote photoplethysmography: Spatial subspace rotation. IEEE transactions on biomedical engineering, 63(9), 1974-1984.

数据集

datasets文件夹中提供了六个不同数据集的接口。一旦获得数据集,必须编辑相应的文件以匹配正确的路径。
当前支持的数据集包括:

COHFACE

https://www.idiap.ch/dataset/cohface

LGI-PPGI

https://github.com/partofthestars/LGI-PPGI-DB

MAHNOB-HCI

https://mahnob-db.eu/hci-tagging/

PURE

https://www.tu-ilmenau.de/en/neurob/data-sets-code/pulse/

UBFC1

https://sites.google.com/view/ybenezeth/ubfcrppg

UBFC2

https://sites.google.com/view/ybenezeth/ubfcrppg

参考埃伦斯

如果您使用此代码,请引用本文:

@reference{
}

许可证

此项目是在GPL-3.0许可下授权的-有关详细信息,请参阅LICENSE文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
继承如何将这个Java接口和继承结构转换为Golang?   java set callout image mapbox 安卓   java无法访问Android Studio中的XML表单主活动   java将结果集中的varchar放入ArrayList   java应用程序引发所有访问的facebook OAuth异常   java如何使用TestNG在两个不同的浏览器中并行运行两个测试方法?   java操作栏上下文菜单   java Javafx将标签绑定到StringProperty的位置   java如何正确初始化JNA中“Structure”中的数组字段?   如何通过读取Java中的URL来知道图像是否存在?   java如何在Android 4.0中从HttpClient获取响应   scala是一款带有嵌入式java的独立播放应用程序   为什么我的动画第一次播放时不流畅?   java我在寻找什么样的构造函数和访问修饰符组合?   java在给出这个时间表的情况下,我如何判断时间复杂度?