文献笔记:Contrast-Phys: Unsupervised Video-based Remote Physiological Measurement viaSpatiotemporal Con

问题:

  1. 关于使用无监督学习:涉及到头部运动或视频是异构的,基于dl的方法可能比传统的手工方法更健壮。但是,基于dl的rPPG方法需要包括人脸视频和真实生理信号在内的大规模数据集。虽然大量获取人脸视频相对容易,但通过接触传感器测量并与人脸视频同步的地面真实生理信号的获取成本较高。
  2. 无监督方法与最先进的有监督rPPG方法在性能上仍有很大差距,并且容易受到外部周期性噪声的影响。

创新点:

  1. 提出了一种新的rPPG表示方法,称为时空rPPG (ST-rPPG)块,用于获取时空维度的rPPG信号。
  2. 基于rPPG时空相似性和跨视频rPPG不相似性四个方面的观察,提出了一种基于对比学习的无监督方法,能够很好地推广到一个新的数据集。

使用3DCNN模型对输入视频进行处理,得到一个时空rPPG (ST-rPPG)块。从不同时空位置的每个视频中生成多个rPPG信号,并使用对比损失训练模型,其中来自同一视频的rPPG信号被拉到一起,而来自不同视频的rPPG信号被推远。

rPPG的四个假设

  1. rPPG空间相似性:不同面部区域测量的rPPG信号具有相似的功率谱密度(psd)。

 

2.rPPG时间相似性:从一个短的rPPG片段(例如10秒)中随机抽取几个小窗口,这些窗口的psd应该是相似的,因为大多数情况下HR倾向于平稳。

3.跨视频rPPG不相似:不同视频rPPG信号的psd不同。即使两个视频的心率可能相似,但PSD可能仍然不同,因为PSD还包含其他生理因素,如呼吸频率和HRV

4.HR范围限制:HR应该在40 ~ 250次/分钟(bpm)之间,所以只关心频率区间在0.66 Hz ~ 4.16 Hz的PSD。

方法:

1.预处理

首先对原始视频进行预处理,对人脸进行裁剪,得到人脸视频。使用OpenFace生成面部标志。地标的最小和最大水平和垂直坐标,以定位每一帧的中心面部点。边界框的大小是第一帧地标垂直坐标范围的1.2倍,并且在接下来的帧中是固定的。在获得每一帧的中心面部点和边界框的大小之后,从每一帧裁剪面部。

裁剪的面被调整为128 × 128

2. ST-rPPG块表示和采样

改进后的模型输入一个形状为T × 128 × 128 × 3的RGB视频,其中T为帧数。在模型的最后阶段,使用自适应平均池化沿空间维度进行下采样,可以控制输出空间维度的长度。通过这种修改,模型可以输出一个形状为T × S × S的时空rPPG块,其中S为空间维度长度。

ST-rPPG块是时空维度上rPPG信号的集合。假设在ST-rPPG块中选择一个空间位置(h, w)。在这种情况下,这个位置对应的rPPG信号为P(·,h, w),

对于一个ST-rPPG块,将循环遍历所有空间位置,并对每个空间位置随机选择开始时间t的K个rPPG剪辑进行采样。

因此,可以从ST-rPPG块中得到S·S·K个rPPG片段。

 

3.对比损失函数:

正损失项:PSD{P (t1 → t1 + ∆t, h1, w1)} ≈PSD{P (t2 → t2 + ∆t, h2, w2)}

负损失项:PSD{P (t1 → t1 + ∆t, h1, w1)} ̸=PSD{P’(t2 → t2 + ∆t, h2, w2)}=⇒ fi ̸= f’j

L = Lp + Ln

排除出现在局部小区域的噪声,如周期性眨眼(噪声违反了rPPG空间相似性)。不具有时间恒定频率的头部运动/面部表情等噪声被排除在外(违反了rPPG时间相似性)。由于心率范围的限制,超出心率范围的光线闪烁等噪声也被排除在外。

实验:

数据集:PURE, UBFC-rPPG, OBF和MR-NIRP

设置:K = 4,对于ST-rPPG块中的每个空间位置,随机选择四个rPPG样本。

ST-rPPG块的空间分辨率为2 × 2, ST-rPPG块的时间长度为10s。每个rPPG样本的时间间隔∆t为ST-rPPG块时间长度的一半。

使用Neurokit2[27]来计算所报告的HR V结果的HR V指标

评价指标:

平均绝对误差(MAE)、均方根误差(RMSE)和Pearson相关系数(R)来评估HR测量的准确性。

使用标准差(STD)、RMSE和R来评估HR V特征的准确性,包括呼吸频率(RF)、归一化单位的低频功率(LF) (n.u.)、归一化单位的高频功率(HF) (n.u.)以及低频功率和高频功率的比值(LF/HF)。

Intra-dataset:

Cross-dataset Testing: 在UBFC-rPPG上训练Contrast- phys和Gideon2021,在MMSE-HR上测试。

运行时间:

本文的的方法的速度是802.45帧/秒,而Gideon2021是387.87帧/秒

对于Gideon2021,一个输入视频需要输入两次,即第一次输入原始视频,然后第二次输入时间重采样的视频,这造成了两次计算。对于本文的方法,一个视频输入到模型一次,与Gideon2021相比,可以大幅降低计算成本。

计算显著图:

当向视频的左上角注入周期性噪声时,本文的方法不会被噪声分散注意力,仍然专注于皮肤区域,而Gideon2021则完全被噪声块分散注意力。

图8(b)为涉及头部运动时的显著性图。本文的方法的显著性图集中并激活了大多数皮肤区域,而Gideon2021的显著性图显示混乱的模式,在头部运动时只覆盖了部分面部区域。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
input->phys是一个结构体input_dev中的成员变量,用于表示输入设备的物理地址。在evdev_connect函数中,可以通过input_dev结构体的成员变量input->phys来获取输入设备的物理地址。\[1\]input_dev结构体代表一种输入设备,而evdev_connect函数用于建立输入设备和输入事件处理方式之间的关联。\[2\]在设备注册流程中,input_register_device函数用于将输入设备注册到输入子系统中,并将其加入input_dev_list链表中。在input_attach_handler函数中,会调用input_match_device函数来找出可以被input_handler支持的输入设备。然后,通过调用input_handler的connect回调函数来建立输入设备和输入事件处理方式之间的关联。最后,通过调用input_register_handle函数来构建input_handle,将input_handler和input_dev进行关联,并将其加入双方的h_list链表中。\[3\] #### 引用[.reference_title] - *1* [input输入子系统简析](https://blog.csdn.net/weixin_47711503/article/details/121919741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【分析笔记】Linux input 子系统原理分析](https://blog.csdn.net/lovemengx/article/details/126175351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值