微软专利分享如何通过HoloLens提供心率检测功能

查看引用/信息源请点击:映维网Nweon

为HoloLens带来心率检测功能

映维网Nweon 2022年12月21日)随着AR/VR设备的越发流行,厂商正在积极挖掘它的潜能,从而为用户带来更多的价值。实际上,诸如苹果和Magic Leap等都在探索通过AR头显来检测心率、体温和脑活动等等。

对于日前发布的“Detecting heart rates using eye-tracking cameras”,微软同样在考虑为HoloLens带来心率检测功能。这家公司希望眼动追踪摄像头可以一物多用,不仅追踪眼睛运动,并且能够结合AI模型来检测用户的心率。

目前利用光电容积脉搏波描记法(PPG)来检测心率已经发展成为一项相当成熟的技术,一系列的可穿戴设备都是通过PPG来测量心率及其他生物计量指标。简单来说,当血流动力发生变化时,例如血脉搏率(心率)或血容积(心输出量)发生变化时,进入人体的光会发生可预见的散射。PPG则是利用这一原理来计算心率。

对于微软的方案,团队主要是利用AI模型,首先从眼动追踪摄像头拍摄的图形中提取PPG波形,然后再根据PPG波形来检测心率。

在AI模型的训练期间,头显可以拍摄用户眼周皮肤区域的多个系列图像,并将其作为训练数据。然后,将多个图像序列发送到机器学习网络,从而允许AI模型以特定方式训练机器学习的,使得机器学习的AI模型能够从眼动摄像头拍摄的图像中提取PPG波形,并基于PPG波形检测心率。

图3A-3B示出了用于训练AI模型370A、370B的实施例300A和300B。参考图3A或3B,由头戴式设备302的一个或多个眼动追踪摄像头310生成的数据将用作训练数据。训练数据发送到机器学习网络360A、360B,以训练AI模型370A。

在一个实施例中,机器学习网络360、360B是机器学习神经网络。在一个实施例中,机器学习网络360A、360B是机器学习卷积神经网络。

在一个实施例中,多个心跳数据集352是在眼动追踪摄像头310拍摄多个系列图像312时生成。

值得注意的是,由眼动追踪摄像头拍摄的每个图像包括多个像素,并且多个像素中的每个由值表示。在一个实施例中,对每个图像中的多个像素的值进行平均以生成图像的平均值,并且一系列图像将产生一系列平均值。在一个实施例中,机器学习网络360A、360B配置为基于与多个系列图像312相对应的多个系列均值来识别模式,以训练具有或不具有标记图像数据312的AI模型。

这样的训练方法和训练模型370A、370B可以在用户坐着不动时出色工作。但用户移动时可能会引入噪点伪影。

微软提出了数种不同的解决方案来解决上述问题。参考图3A,在一个实施例中,与头部运动324、328、334相关的数据和/或与显示器340相关的数据同时用于训练AI模型370A。

如图所示,可以通过惯性测量单元320获得与头部运动相关的数据。加速计322配置为生成第一多个运动数据集324,陀螺仪326配置为产生第二多个运动数据组328,磁强计332配置为形成第三多个运动数据库334。所述数据用作训练数据,使得AI模型370B能够消除由头部运动产生的噪点伪影的至少一部分。

另外,当用户看电影或玩游戏时,由头戴式设备302的显示器340生成的图像同样可能产生噪点伪影。在一个实施例中,与显示器340相关联的数据集342同样可以用于训练AI模型370A,使得AI模型能够消除显示器340产生的噪点伪影的至少一部分。

有时候,由头部运动和/或显示器340生成的噪点伪影可能太多,导致由眼动追踪摄像头310生成的图像无法提取PPG波形,所以不能用于检测心率。

为了解决上述问题,可以实现噪点检测器390A,以确定由头部运动和/或显示器340产生的噪点伪影是否太多。换言之,系统可以确定眼动追踪摄像头310在一段时间内捕获的图像是否噪点太多。

在一个实施例中,在给定时间段内,计算由惯性测量单元320和/或显示器340捕获的数据集324、328、334和/或342计算,以生成一个或多个标准偏差。当标准偏差中的至少一个大于预定阈值时,噪点检测器390A确定这个周期噪点太多。

当确定周期噪点太多时,分段所述周期期间生成的数据。在一个实施例中,分段选择器392实现为分段出在噪点太多的时段期间生成的数据。这样的数据包括由眼睛跟踪相机310拍摄的图像312、由惯性测量单元320生成的数据集324、328、334和/或由显示器340生成的数据组342。因此,仅把在噪点不多的时段期间生成的数据用于训练AI模型370A。

图3B示出了用于去除由头部运动和显示器340产生的噪点伪影的另一实施例。如图3B所示,信号处理器390B实现为处理与惯性测量单元320和显示器340相关联的数据。

在一个实施例中,信号处理器390B配置为确定与惯性测量单元320和显示器340相关联的噪点伪影的一个或多个频带。噪点滤波器394配置为滤除噪点伪影的一个或多个频带。在一个实施例中,噪点滤波器394应用于由眼动追踪摄像头310生成的多个系列图像312。在一个实施例中,分段选择器(未示出)在信号处理器390B之后实现,以分段出在噪点太多的特定时段期间生成的训练数据集。

一旦AI模型370A、370B获得充分训练,AI模型370A、370B就可以提供给头戴式设备,使得头戴式设备可以基于眼动追踪摄像头捕捉的图像来检测佩戴者的心率。

AI模型370A、370B可以作为云服务提供,并且头戴式设备可以将由眼动追踪摄像头捕获的图像发送到云服务,云服务继而使用AI模型370A、370B执行计算以确定佩戴者的心率。

图5示出了使用机器学习网络训练检测心跳的AI模型流程图。在一个实施例中,可以在头戴式设备处执行AI模型的训练。可替换地,AI模型的训练可以在单独的计算系统处或者在头戴式设备和单独的计算设备的组合处执行。

方法500包括通过头戴式装置的一个或多个眼动追踪摄像头拍摄佩戴者眼周皮肤区域的多个系列图像(动作510)。在一个实施例中,方法500包括收集与佩戴者的头部运动相关联的多个数据(动作520)和/或收集与一个或多个显示器相关联的数据集(动作530)。

在一个实施例中,机器学习网络是使用未标记数据作为训练数据的无监督学习网络。或者,机器学习网络是使用标记数据作为训练数据的监督学习网络。当使用有监督的学习网络时,方法500包括经由心率监视器收集多个心率数据集(动作540),并用心率数据集标记由眼动追踪摄像头拍摄的多个系列图像(动作550)。

方法500包括确定给定周期是否噪点太多(动作560)。如果是,则丢弃在所述周期期间收集的数据(动作570)。如果不是,则保存在该周期期间收集的数据(动作580),并且将保存的数据发送到机器学习网络以训练AI模型(动作590)。

图7示出了确定周期是否存在太多噪点的示例流程图。

方法700包括将一段时间划分为多个(N)时间窗口(动作710),其中N是自然数。所述时间段可以是足以识别佩戴者心率的任何长度,例如30秒、1分钟等。每个时间窗具有预定大小,例如0.5秒、1秒、2秒等,其中n是自然数且n<=n。例如,最初n=1,并且针对多个n个时间窗中的第一时间窗确定从惯性测量单元获得的值的标准偏差。 方法700同时包括确定标准偏差是否大于预定阈值(动作720)。如果答案是肯定,则确定时间窗口是有噪点(动作730),并且分割出在时间窗口期间生成的数据(动作732)。 另一方面,如果答案否定,则确定时间窗口没有太多噪点(动作740),并且将在这一时间窗期间生成的数据保持为机器学习网络360A、360B的输入或机器学习AI模型470A、470B的输入(动作742)。 例如,在确定在第一时间窗口期间生成的数据是否要分段或保留之后,考虑第二时间窗口(即,n=2),并且基于n=2再次重复动作710、720、730、732(或740、742)和750,和750根据需要重复多次,直到分析N个时间窗口中的每一个。 以这种方式,可以训练出一个根据眼动追踪摄像头拍摄图像分析用户心率的AI模型。

相关专利Microsoft Patent | Detecting heart rates using eye-tracking cameras

名为“ Detecting heart rates using eye-tracking cameras”的微软专利申请最初在2021年5月提交,并在日前由美国专利商标局公布。

更多阅读推荐......

专栏