基于Kinect的骨骼表示估计进食频率和识别进食行为外文翻译资料

 2021-11-05 09:11

英语原文共 16 页

基于Kinect的骨骼表示估计进食频率和识别进食行为


摘要

在医疗保健领域中,人类对饮食活动的检测和识别进行了多年的研究。以前的方法大多依赖于身体磨损的传感器来检测进食行为。然而,这些传感器的测量误差将大大降低对于速度和加速度估计中的跟踪精度。为了避免这个问题,我们使用Microsoft Kinect来捕捉饮食行为的骨骼运动。本文介绍了一种移动平均法来消除捕获关节位置相对距离处的噪声,从而将进食活动划分为进食帧和非进食帧。为了识别不同的进食模式,根据从所产生的进食周期中提取的特征进行进食和饮酒行为识别。对我们收集的饮食行为数据集进行了实验评估,我们还改变了Kinect和受试者之间的距离,以测试我们方法的鲁棒性。与其他方法相比,该方法具有更好的检测和识别性能。我们对于饮食行为分析的先驱工作可以带来许多潜在的应用,例如开发一个网络系统,帮助人们分享和搜索他们的饮食行为,以及进行智能分析并提供建议。

关键词 :骨骼运动;Microsoft Kinect;自我喂食检测;饮食行为识别

1介绍

体重超重已成为世界范围内日益严重的问题。这类问题的一个主要原因是,一个人的快速进食行为被认为是一种不健康的饮食行为[24],而这种不良习惯在大多数情况下是无意识地形成的。吃得太快可能导致消化问题,如肥胖和营养不良。因此必须建立一个监测系统来评估饮食行为和检测异常饮食模式。本文利用Kinect捕捉了上半身的饮食行为的骨骼运动。随着Kinect的发展,人类行为检测和识别技术已被应用于游戏和医疗保健等许多生活领域。例如,基于Kinect的物理治疗系统可以指导患者准确地执行康复行动[1,4,22]。Kinect技术也应用于秋季检测和预防保健监测[3、17、18、32]。Kinect可以提供实时的RGB流、深度和骨骼信息,通过网络传输,可以对人们的饮食行为进行在线监控。

以往的动作识别研究主要集中在“踢腿”、“投球”和“坐姿”等[7、8、14、27]。这些动作是由身体的不同部位执行的。然而,饮食动作都是由上身的喂食臂完成的,因此,在这些类似动作中的分类可能需要更多具有代表性的特征。此外,目前的公共运动数据集不包含饮食行为变化的数据。因此,我们开始收集我们自己的饮食运动数据集,并在此提出通过跟踪骨骼运动来对饮食相关行为进行分类的方法。骨架数据可以提供有关主体行为的线索,而无需分析视频中的纹理信息。

在这项工作中,我们假设饮食行为通常可以分为两个连续的过程:自我喂养(主动)期和休息(被动)期。进行自我喂食的手是喂食的手。在自我喂食期间,人们把食物带到口中进食,而在休息期间,喂食的手几乎没有动作。进食速度由自我进食频率估计反映。然后,我们通过跟踪上半身的骨骼运动,深入了解饮食模式的识别。由于餐具和食物种类的多样性,人们的饮食习惯是有很大差别的。例如,西式饮食方式用刀叉进食。但在中国人的饮食方式中,人们更喜欢用筷子吃饭。为了提供一种无偏的运动识别,我们对不同的饮食模式进行了分类,包括单手、双手、刀叉、筷子和汤匙。我们捕捉受试者吃不同类型的食物,包括薯条、汉堡、牛排、面条和汤。在饮用模式中,除了汤匙饮用外,还包括吸管饮用和饮用瓶直接饮用。在这项开创性的工作之后,我们将扩展我们的数据集,以包括更多的饮食行为。跟踪并识别食品和饮料的饮食行为,有许多潜在的应用。例如,可以开发一个网络系统,允许人们上传和分享他们的饮食行为,我们的识别结果为搜索和采集有用信息提供了一种简单的方法,以便将来进行大数据分析。

本文的主要贡献如下:

–收集饮食运动数据集并进行研究。

–引入骨骼测量来表示食品和饮料饮用期间的饮食行为。

–对骨骼动作表示我们使用移动平均k-均值聚类方法来估计自我喂养频率。

–我们根据提出的骨骼表征法对饮食行为进行识别,与其他方法相比表现出更好的性能。

本文的其余部分结构如下。第2节回顾了与我们研究相关的一些以前的工作。第3节介绍了我们收集的饮食运动数据集。第4节描述了骨骼的表示,并提供了饮食过程中关节对距离的可视化。第5节介绍了我们提出的进食动作分割和识别方法的细节,第6节介绍了我们的实验和结果。在第7节中,我们对本文进行了总结,并说明了未来的潜在工作。

2 相关工作

随着越来越多的人超重,对摄食行为的监测已经引起了人们的极大兴趣,肥胖一直是心血管疾病和糖尿病等疾病的诱因之一[16]。饮食行为可以通过许多方面进行检测和监测,包括食物和卡路里的摄入、手臂的运动和姿势、或自我进食频率、咀嚼和吞咽。

由于食物形状的变化和食物类型的多样性,食物识别面临很大的困难。专家通过由成对局部特征生成的多维柱状图识别匹兹堡快餐图像数据集[5]中的食品图像。吴和杨[28]在匹配前用尺度不变特征变换(SIFT)来描述训练集中食物图像的关键点和视频中的图像帧,提出了局部二元模式(lbp)来表示食物图像的全局结构,并在同一数据集中获得了更高的分类精度。在食品鉴定之后,卡路里和营养的估算通常会形成一个相对清晰的能源消耗蓝图。专家[29]还根据快餐的外观估计了一顿饭的卡路里摄入量,但误差估计部分是由于排除了食物部分。Kawano和Yanai[13]设计了一个智能手机系统来识别食物和估计卡路里。他们在地面实况边界框中分割出单个食物项,并在识别前提取出一袋冲浪特征。

人们广泛研究戴在手腕上的设备和方法,以检测和识别饮食活动中手臂的运动或姿势。专家在测试人员的两个手腕上安装了加速度计。[31]通过一个提议的分层时间记忆网络提取欧拉角的特征和分类的重复饮食模式。[2]试图在9种容器中识别不同的饮酒姿势,平均识别率达到70%以上,三维加速度和陀螺仪的信号轨迹有助于区分提取和啜饮运动。基于手腕固定式惯性传感器,Thomaz等人[26]比较进食姿势,即用刀叉、勺子或叉子进食,用手进食,以及其他日常生活活动(ADL)(如散步、聊天、等待),并采用随机森林分类算法对其结果进行评估。

手腕磨损和其他身体磨损的设备,如麦克风和智能项链,也可以设计来检测和监测上身体在吞食咬伤、咀嚼和吞咽过程中的运动。在Dong等人的研究中。[6]他们通过使用类似手表的传感器检测手腕旋转的运动模式来计算咬入次数。他们进一步扩大了受试者的数量,以便分析咬合模式与年龄、性别和种族差异之间的关系[23]。此外,专家还利用一个智能眼镜来显示咀嚼香蕉、黄瓜和胡萝卜过程中食物的硬度。Kalantarian等人[11,12]使用放置在颈部和胸部之间的压电传感器,检测并分类归并到不同的食物类别。阮等人[19]由具有长短期记忆(lstm)单元的循环神经网络(rnn)形成的拟议swallownet,其吞咽评估结果(平均76.07%)优于随机森林分类器(平均66.58%)。惯性传感器的问题是,在方向和速度测量的集成中会积累漂移,这已成为最先进的加速度传感器跟踪系统的一个主要缺点[31]。因此,本文建议使用Kinect追踪进食或饮酒时的骨骼运动,以避免这一问题,因为Kinect传感器在运动捕捉过程中是固定的。在食物摄入量监测中,Kinect被用来跟踪手臂的姿势[10],这被认为比可穿戴的传感器更方便。他们工作的一个主要贡献是利用原始骨骼的位置和上身的主要角度来检测食物的摄入。在我们的工作中,我们集中在关节距离特征上,来分割和识别不同的饮食行为。

3 数据采集

现有的公共运动数据集包含很少的饮食运动。因此,我们使用Kinect收集我们自己的饮食运动数据集。该数据集包括五个上半身尺寸不同的受试者,他们进行了七项饮食活动:吃薯条、吃汉堡包、吃牛排、吃面条、喝汤、用吸管喝软饮料和饮用瓶装水。每个进食或饮水过程执行四次,并捕获为四个序列。记录前,在固定Kinect传感器前的桌子上准备好食物或饮料及其相应的饮食器具。在每一个序列中,受试者被要求按照自己的步调吃一种食物或喝一种饮料。在50秒内以每秒30帧(fps)的速度记录所有序列。

数据集包含人体上身10个关节的骨骼位置,如图1所示。我们的数据集的可视化以及七个操作的屏幕截图实例如图2所示。

4 骨骼表征

4.1 关节相对距离:JRD

设m=m1,m2,hellip;,m t为t帧中的进食或饮水动作。对于人体上肢I(1plusmn;i)10的每个关节,我们考虑纪(t)=(Xi(t),Yi(t),Zi(t))作为关节。

图1Kinect捕捉人体上身骨骼关节

在框架t处的位置(1le;tle;t)。让p表示每帧的关节对索引。因为我们的上半身模型中有10个关节,所以关节对的总数是102=45。对于TTH框架处的PTH(1le;Ple;45)接头对,接头相对距离(jrd)[25]由l2范数计算:

jrd(t,p)=dl(ji(t),jj(t))(1)

(e)喝汤(f)用吸管喝软饮料(g)饮用瓶装水

图2我们的饮食行为数据集的示例框架

4.2 可视化表示

吃或喝的动作可以被认为是用手把食物放进嘴里,而肩中心是最接近口的关节。在图3中的整个序列中,我们展示了肩部中心关节和双手关节之间的几个JRDs,这将直观地表示消费过程中的自我喂养期。图3中有七个子图,对应于数据集中七种不同类型的饮食顺序。我们可以清楚地画出,在每个子图中,距离较小的帧反映出被摄对象正在举起手来并进行自我喂食。另一方面,距离较大的框架反映出受试者已经放下了喂食手并休息。同一自进给动作中帧的持续长度可视为单次进给的持续时间。与其他类型的消费相比,很明显左手在吃牛排的过程中起到了喂食的作用,因为左手的变化比右手的变化更为显著,而且双手在吃汉堡的过程中起着喂食手的作用,因为这种变化几乎是同步的。

5 提出方法

在这一部分中,我们提出了分析Kinect传感器捕捉到的饮食运动的方法。图4所示的流程图概述了我们提出的方法。上半身10个关节的位置是从Kinect传感器获取的,同时捕捉一个人的饮食运动。根据肩膀中心和每只手之间的距离,识别出喂入手。进一步分析了肩部中心与喂入手之间的距离,进行分割,将运动分为喂入帧和非喂入帧。基于喂养框架,一方面我们估计了自我喂养的频率,另一方面我们进行识别以识别进食或饮酒行为。

5.1 移动平均关节相对距离:Majrd

由于在深度相机的跟踪体运动中可能存在噪声,为了防止异常,我们计算了jrd的移动平均值,我们将其表示为majrd。Majrd可以看作是尺寸为A的滑动窗上JRD的平滑版本。

请注意,窗口大小A是一个正整数,它也应该是一个奇数,这样我们就可以对给定帧的每侧相同数量的帧进行加权。

5.2 喂入和非喂入帧

我们首先检测哪个手臂或手执行自我喂食。喂入手由两个关节对(肩中心到左手,肩)中较小的一个确定。

(e)喝汤(f)用吸管喝软饮料

(g)饮用瓶装水

图3肩中心和双手之间七种类型的JRDs示例

图4我们提出的方法的流程图。SC表示肩部中心

从中心到右手)取整个序列的平均值。作用m中的接头对p的majrd平均值可通过公式计算。

如第1节所述,进食或饮水过程由两个主要部分组成:自我进食期和休息(非进食)期。这两个分区可以通过在不同的帧上检查肩部中心和喂入手之间的Majrds来区分。在一个喂养期,肩部中心和喂入手之间的Majrds与其他喂养期相同的两个关节之间的Majrds在一个序列内相似,随着喂入手向嘴移动,Majrds趋于小。另一方面,与自食期相比,静息期的Majrds相对较大。结果表明,采用K-均值聚类方法对肩中心与喂入手之间的Majrds进行聚类,将帧分为喂入和非喂入两类。

采用K均值聚类算法[9]将进食或饮水运动序列分割成进食和非进食帧。为了给出一个相对稳定的聚类,我们用T帧估计整个序列的majrds概率密度函数(pdf)中的前k个峰值来初始化k个聚类的质心。在该算法中,每个帧的majrd被分配到其最近的簇中心。每一个集群中心都将被修改为取其选民的平均数。当T帧上所有主要帧的分配不变时,聚类算法收敛。这个问题中的集群数量设置为k=2。平均majrd较低的聚类中的帧被认为是自食期,而另一个聚类中的帧被认为是非食期或静息期。

5.3 自馈频率估计

在每个进料期间,框架按照第5.2节中的方法分类为进料框架,并形成一个块。接着是一组被归类为非喂入帧的帧,当受试者将喂入手从嘴上移开时。这些送料周期和非送料周期以相似的模式相互交错,因此我们可以通过计算带送料框的块数来估计自送料频率。图5显示了两个不同自我喂食频率的薯条在500帧的片段中的进食顺序,在这两个片段中,受试者使用左手作为喂食手。从图5我们可以观察到,序列1中的受试者自己进食3次,而序列2中的受试者在同一时间段内进食5次。

5.4 饮食行为识别

我们工作的一个目标是通过识别受试者用不同的器具进食或饮水或食用不同类型的食物来确定他们的饮食行为。如果整个运动序列被用于识别,那么识别精度将受到非喂入帧的影响,因为它们可能代表静息状态,而静息状态几乎不能提供有关实际进食或饮酒行为的信息。由于运动序列已经被分割成输入帧和非输入帧,我们可以通过它们来识别。

可以通过聚焦进料架来提高精度。我们从输入帧中计算出45个关节对的Majrd,并形成特征向量。利用每一类训练样本的特征向量训练支持向量机(SVM)作为分类器。在识别过

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。