作者: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)的动作预测模块,用于基于观察到的关键点序列来预测未来的关键点序列。
模型工作流程为:首先一系列观察到的帧被输入到网络。然后提取每个帧的身体关键点以形成关键点序列,该序列用于预测相应的未来关键点序列。最后,将预测的身体关键点传递到跌倒分类器中,以判断视频中出现的人将来是否会跌倒。
在输入帧中,作者首先使用OpenPose从每个观察到的帧中提取每个人的关键点坐标,将检测到的人的边界框传递给DeepSort(一种跟踪算法),以聚类每个人的关键点组。之后,一个人对应于一系列关键点 。作者利用关键点矢量化方法来强调表示中的关键特征。然后采用seq2seq模型来预测未来的身体运动。
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的对比。
测试集包括2865个样本,其中包括531个阳性样本(跌倒)和2334个阴性样本(没有跌倒)。采用accuracy,precision,recall和F1-score来评估每个模型。如表1所示,基于关键点的模型显示出比基于RGB的模型更好的性能,这证明了使用关键点信息识别跌倒是有效的。
在情况(a)-(c)中,模型会根据观察到的视频剪辑成功预测未来的关键点序列,并提前产生正确的标签。(d)和(e)是两个失败案例。在(d)中,由于摄像机的视角,在提取的关键点中有许多缺失的检测。在(e)中,观察到的关键点序列不包括任何跌倒的“前兆”,这会导致错误的预测和分类。
作者提出了一个由动作预测模块和跌倒分类器组成的模型来提前预测跌倒事件。动作预测模块基于seq2seq体系结构,该体系结构将一系列矢量化人体关键点作为输入,并预测未来的关键点序列。然后将预测的关键点向量传递到跌倒分类器中以产生标签。作者模型在Le2i数据集上进行了评估,并通过实验结果证明了预测跌倒的能力。
若由于摄像机的视角,提取的关键点中有缺失。此时模型会产生错误的关键点预测,这会产生错误的分类。而且如果观察到的关键点序列不包括任何跌倒的“前兆”,也会导致错误的预测和分类。