【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture

Falls Prediction Based on Body Keypoints and Seq2Seq Architecture

作者:Minjie Hua,Yibing Nan,Shiguo Lian
单位:CloudMinds Technologies Inc
发表信息:IN HBU 2019 (ICCV Workshop)
论文链接:https://arxiv.org/pdf/1908.00275

背景动机:

  老年人摔倒引起的受伤是发病,残疾和医疗保健利用率提高的主要原因。因此,跌倒预测是老年人护理和家庭监控等最有意义的应用之一。作为人类动作识别(HAR)的子问题,我们通常可以使用HAR算法将跌倒识别为动作类别之一。通常卷积网络(ConvNets)和时间建模是动作识别的两个主要变量。但是,2D ConvNets不使用时间信息。3D ConvNets采用三维卷积内核以从视频数据中提取的时空特征。像Two-Stream和TSN这样的时间建模方法,使用2D卷积提取空间特征,并使用递归神经网络(RNN)编码时间信息。
  作者基于人体关键点而不是原始RGB图像来识别跌倒,这会降低保留关键信息的特征的维数,在跌倒预测方面,作者提出了一种基于序列到序列(seq2seq)的动作预测模块,用于基于观察到的关键点序列来预测未来的关键点序列。

同行工作情况介绍;

  1. 跌倒检测
      跌倒检测早期需要在待监控的人身上穿戴加速度。Bourke等人提出了一种基于峰值加速度来检测跌倒的方法。Narayanan等人开发了一种分布式跌倒管理系统,该系统能够使用腰部安装的三轴加速度计进行实时跌倒检测。Bianchi等人在同一个额外的大气压力传感器增强的前跌倒检测系统,并发现结合压力信息的算法具有较高的精度。Karpathy等人率先引入了CNN用于人类动作识别。但是,上述方法都不涉及动作预测模块。
  2. 动作识别与预测
      S. Ma设计了新颖的ranking losses,以学习LSTM中进行的活动来进行早期分类。Kong等人采用了自动编码器,通过从完整的动作视频中学习来从观察到的帧中重建缺失的特征。近年来,运动预测引起了人们的广泛关注。Fragkiadaki等人提出了编码器循环解码器(ERD)模型,该模型扩展了长期短期记忆(LSTM),以共同学习表示形式及其动力学。Jain等人在中基于时空图(st-graphs)提出了结构RNN(SRNN),以捕获人与物体之间的相互作用。
  3. seq2seq模型
      I.Sutskever 提出了seq2seq框架,该框架被应用于机器翻译并获得了出色的性能。后来,他们引入了相同的会话建模方法。本文采用seq2seq框架构造动作预测模块,该模块与跌倒分类器一起对跌倒事件进行预测和分类。

算法思路

【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture_第1张图片
  模型工作流程为:首先一系列观察到的帧被输入到网络。然后提取每个帧的身体关键点以形成关键点序列,该序列用于预测相应的未来关键点序列。最后,将预测的身体关键点传递到跌倒分类器中,以判断视频中出现的人将来是否会跌倒。
  在输入帧中,作者首先使用OpenPose从每个观察到的帧中提取每个人的关键点坐标,将检测到的人的边界框传递给DeepSort(一种跟踪算法),以聚类每个人的关键点组。之后,一个人对应于一系列关键点 。作者利用关键点矢量化方法来强调表示中的关键特征。然后采用seq2seq模型来预测未来的身体运动。
【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture_第2张图片

  seq2seq模块由一个编码器(绿色)和一个解码器(蓝色)组成。编码器中的每个LSTM单元都接受一个转换后的关键点向量,并产生一个隐藏的向量。最后的隐藏矢量被传递到解码器以生成第一个预测,随后的LSTM单元接收先前的预测并生成新的预测。
  作者采用传统的全连接神经网络进行分类。输入层有24个神经元,等于解压缩的关键点向量的长度。设置了五个隐藏层,分别具有96、192、192、96、24个神经元。具有2个神经元的输出层用于产生二进制预测:“跌倒”或“无跌倒”。

实验

  作者在Le2i跌倒检测数据集上训练和评估了模型。数据集包含在四个不同场景下捕获的191个视频:家庭,咖啡室,办公室和演讲室。帧速率为每秒25帧,分辨率为320×240,在每个视频中,演员执行各种正常活动和跌倒(在多个视频中可能没有跌倒)。
  采用均方误差(MSE)作为损失函数,并使用Adam进行优化。学习率设置为0.001。对于跌倒分类器,我们采用了7层全连接神经网络,包括1个输入层,5个隐藏层和1个输出层。输入层包含24个神经元以接收单个关键点向量作为输入,每个隐藏层中的神经元数分别为96、192、192、96、24,输出层具有2个神经元来预测人是否倒下。分类模型在训练阶段采用交叉熵损失函数。利用Adam以0.001的学习率优化跌倒分类器。

结果

  与基于RGB的流行动作识别模型C3D,Two-Stream和TSN的对比。
表1 实验对比
  测试集包括2865个样本,其中包括531个阳性样本(跌倒)和2334个阴性样本(没有跌倒)。采用accuracy,precision,recall和F1-score来评估每个模型。如表1所示,基于关键点的模型显示出比基于RGB的模型更好的性能,这证明了使用关键点信息识别跌倒是有效的。
【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture_第3张图片

  在情况(a)-(c)中,模型会根据观察到的视频剪辑成功预测未来的关键点序列,并提前产生正确的标签。(d)和(e)是两个失败案例。在(d)中,由于摄像机的视角,在提取的关键点中有许多缺失的检测。在(e)中,观察到的关键点序列不包括任何跌倒的“前兆”,这会导致错误的预测和分类。

算法优点

  作者提出了一个由动作预测模块和跌倒分类器组成的模型来提前预测跌倒事件。动作预测模块基于seq2seq体系结构,该体系结构将一系列矢量化人体关键点作为输入,并预测未来的关键点序列。然后将预测的关键点向量传递到跌倒分类器中以产生标签。作者模型在Le2i数据集上进行了评估,并通过实验结果证明了预测跌倒的能力。

算法缺点

  若由于摄像机的视角,提取的关键点中有缺失。此时模型会产生错误的关键点预测,这会产生错误的分类。而且如果观察到的关键点序列不包括任何跌倒的“前兆”,也会导致错误的预测和分类。

你可能感兴趣的:(行为分析,计算机视觉,算法)