Semantic segmentation-based system for fall detection and post-fall posture classification

首先通过MSSkip Encoder-MSSkip Decoder实现语义分割获得人体轮廓,再通过CovLSTM进行行为判断。

Encoder部分

  • 在编码器处,执行卷积和最大池化。
  • 将VGG-16中的全连接层丢弃
  • 在进行 2×2 最大池化时,会存储相应的最大池化索引(位置)。

作者介绍了采用最大池化索引进行上采样的好处如下:

  • 改善了边界划分
  • 减少了端到端训练的参数量
  • 仅需要少量的修改而可合并到任何编码-解码形式的架构 
Decoder部分
  • 在解码器处,通过最大池化索引执行上采样和卷积(来将稀疏矩阵变为密集矩阵)。
  • 最后,使用 K 类 softmax 分类器来预测每个像素的类别(每个像素都有一个 softmax 分类器)。

摘要

跌倒是老年人日常生活中最重要的问题之一。跌倒的后果有致命的、严重的,也有不受伤的。因此,一个有效的系统来检测和治疗跌倒后的伤害是重要的。与可穿戴传感器不同,基于摄像头的系统似乎更舒适、更灵活,可以用于日常生活监控。然而,在真实环境中使用摄像头监控人类行为不仅具有挑战性,而且还会带来隐私问题。为了缓解这一问题,我们提出了一个基于监控摄像机的框架,用于跌倒检测和跌倒后分类,其中人体轮廓被提取和使用,而不是原始图像。人体轮廓是使用基于多尺度跳跃连接分割网络(MSSkip)的像素级分类获得的,该分类在IOU为90%的人类PASCAL VOC 2012数据集的验证集上实现了最先进的性能。人体姿势的时间和空间变化被输入卷积长短期记忆(ConvLSTM)网络,以检测是否发生了跌倒。所提出的跌倒检测方法在UP跌倒数据集上的f1 -得分为97.68%,在UR跌倒数据库上的性能达到了最先进的水平。对于跌倒后姿势分类,Xception网络在我们提出的跌倒后数据集上获得了97.85%的f1-得分。

1.介绍

根据世界卫生组织(世卫组织)的数据,全球老年人口正在大幅增长(《老龄化与健康》,2021年)。由于健康状况不佳,每年有30 - 40%的老年人跌倒(Organization et al., 2008)。此外,跌倒是老年人发生致命事故的最常见原因(Hall等人,2019年)。跌倒还可能造成严重的身体损害,如头部受伤(Alexander等人,1992年)。可穿戴传感器被提议用于远距离监测老年人,然而,由于电池频繁充电和佩戴者的不适等问题,老年人采用这种方法可能会比较复杂(Knowles和Hanson, 2018)。相机的使用是一个有趣的选择,因为它缓解了一些问题。但是在使用原始图像时,必须考虑与此方法相关的隐私问题,人体轮廓提取已经被提出作为人体行为监测系统的预处理步骤,这被证明可以提高性能(Mirmahboub等人,2012年)。事实上,视频帧包含了大量的信息,其中大部分可能与监控任务无关。然而,之前的工作使用运动、光流或其他静态方法提取人体轮廓,这些解决方案一般不好执行,如果操作环境发生变化,这些解决方案通常不会很好地发挥作用(Vallabh和Malekian, 2018);例如,他们无法区分监控视频中的运动是由家畜还是人引起的。此外,现有的基于视觉的数据集中的少量样本,以及依赖于特定条件的模型,可能不允许在现实生活条件下进行准确的检测。在本文中,我们提出了一个框架,旨在解决以往作品变化中的某些限制(Vallabh和Malekian, 2018);例如,他们无法区分监控视频中的运动是由家畜还是人引起的。在本文中,我们提出了一个框架,旨在解决某些限制在以前的工作。首先,我们没有使用基于运动的技术,而是开发了一个名为多尺度跳跃连接分割网络(MSSkip)的深度语义分割网络,以在像素级识别人体轮廓。该模型作为跌倒前和跌倒后分类的特征提取器,并经过训练,在同一幅图像中自动区分人与其他物体,IoU值为90%。此外,我们的系统为用户提供了更多的隐私,因为MSSkip的输出是二进制的,其中人体剪影是白色的,其他物体是黑色的,这些经过过滤的帧可以发送给护理人员或紧急情况下检查的人,而不是原始的RGB数据。随后,二值帧经过跌倒分类阶段,在此阶段我们使用ConvLSTM而不是传统的长期短期记忆(Long - Short - Term Memory, LSTM)进行序列学习。通过对比研究,选择了16层深度的ConvLSTM和感受野为5X5卷积核表现最好。我们的跌倒检测系统在UR fall数据集上取得了最先进的检测结果,并且在UP fall数据集上优于最先进的技术,得到了97.68%的f1-得分。此外,我们的系统适用于实时应用;在我们用于实验的计算机上(章节5.3中描述),所提出的解决方案只需要705 ms的剪影提取和83 ms的行为分类。

由于只有五分之一的跌倒会导致严重的伤害(Sterling等人,2001年),而记录的受伤后的死亡通常是在30天后(Mangram等人,2016年),因此,每次跌倒都要送去救助,对急诊科来说既昂贵又有压力。为了解决这个问题,我们在系统中添加了一个跌倒后姿势分类模块,以帮助护理人员确定紧急情况的级别。该模块基于Xception (Chollet, 2017)网络,该网络在我们定制的跌倒后数据集上获得了97.85%的f1-得分。

本文的其余部分组织如下。我们将在第2节中回顾相关工作,并在第3节中描述框架的架构。数据的详细描述在第4节。实现细节将在第5节中介绍。最后,在第6节给出了总体结果和讨论。

2.相关工作

文献中已经提出了各种各样的跌倒检测系统。有些使用可穿戴式传感器,有些则使用基于环境的传感器,或两种类型传感器的组合。这种基于传感器的可穿戴系统通过将探测器放置在用户身上来检测跌倒。这些系统收集身体信号,一旦检测到跌倒,就向家人或医务人员发送警报。由于70%的可穿戴式传感器系统都采用了加速度计,因此加速度计是最常用的跌倒探测传感器之一(Rucco等人,2018年)。它可以放在用户的腰部(Cola et al., 2015),也可以放在后背(Van schoten et al., 2016;Vincenzo等人,2016)。此外,多传感器策略已被一些研究人员采用。例如,Radmanesh等人(2019)的作者将加速度计和压力传感器结合在一起,以检测跌倒。Rescio等人(2018)提出了一种基于肌电图的不平衡和跌倒检测多传感器框架。这些基于传感器的可穿戴系统在分类技术方面也有所不同。一些部署了基于阈值的算法,如(Lee和Tseng, 2019)。其他人使用了基于机器学习的更复杂的算法(Casilari-Perez和Garcia-Lagos, 2019)。例如,Torti等人(2019)和Musci等人(2020)研究了使用LSTM等深度序列学习模型从数据随时间的变化中学习。双向LSTM (Schuster和Paliwal, 1997)通常被称为BiLSTM, Li等人(2019)也使用该方法对移动应用程序从加速度计和陀螺仪收集的数据进行分类。这个网络包括两个lstm,一个用于前向处理,另一个用于反向处理,以便访问关于整体行为的更多信息,并提供更好的上下文理解。Mauldin等人(2018)展示了循环神经网络技术,其性能优于支持向量机和朴素贝叶斯等基本机器学习算法。在Cho等人(2014)中,原始加速度数据被输入到20层门控循环单元(Gated Recurrent Units, GRUs),然后是一个全连接层和一个SoftMax函数,以生成目标类之间的概率分布。GRU和LSTM一样,是为了解决梯度消失的问题而开发的,计算量更少,因为它只有两个门:复位门和更新门。在Cho和Yoon(2019)中,作者提出了一种基于一维卷积神经网络(1DCNN)的跌倒检测系统,包括两层卷积层、批量归一化和校正线性单元(ReLU)。在1D-CNN之后是一个扁平化层,输入到一个全连接层,最后通过90%的dropout。

基于摄像头的系统广泛应用于基于环境的跌倒检测解决方案。其中一些系统部署了一个摄像头(Feng等人,2014年),或两个摄像头(Espinosa等人,2019年),其他一些系统甚至使用了8个Kinect摄像头(Shu和Shu, 2021年)。除摄像机数量外,分类前的特征提取阶段也因解的不同而不同。例如,在al - sanjary等人(2018)中,作者创建了一种动态时间翘曲匹配算法,用于处理光流变化来检测跌倒。为了提取人体轮廓,Kong等人(2019)的作者使用了Barnich和Van Droogenbroeck(2010)开发的基于像素值变化的算法的改进版本。此外,他们提取运动历史图像(MHI)和动态图像(DI)作为时间表示,将它们提供给三流CNN。在这个系统中,每个输入都通过一个类似ResNet的模型(He et al., 2016)。由于MHI是从剪影序列中提取的,他们在剪影特征提取网络中加入了MHI流的快捷连接,以增强从两个输入中学习,该操作是在所有卷积组的每次向下采样操作之后进行的。Zhang等人(2018)提出了一种用于跌倒检测的轨迹加权深度卷积秩池描述符(TDRD)。首先,我们使用VGG16的一个改进版本(Simonyan and Zisserman, 2014)对原始RGB视频帧进行特征提取。然后使用时空归一化方法对这些特征图进行归一化(Wang et al., 2015)。从轨迹的注意力图中定位人体区域,并结合归一化特征图计算轨迹加权卷积特征。这些信息被用来获取关于人类动作动力学的信息。然后,通过聚类池步骤和秩池步骤来减少轨迹加权卷积特征的冗余,并生成最终的TDRD。

传统的CNN网络计算量大,不适合移动应用。因此,Han等人(2020)开发了一种使用MobileVGG的两流方法。第一个流集中在人体的运动特征,他们假设只有人在室内环境中运动。基于这个假设,一帧到另一帧的像素变化被用来检测人体运动。在第二个流中,与传统VGG网络中的传统CNN层不同,作者使用了一种更轻的解决方案,该方案基于连续的逐点卷积,然后是深度卷积,然后是另一个逐点卷积。此外,为了提高系统的精度,还在各层输入输出之间引入了残差连接结构。最后的行为分类基于来自两个流的特征。在Leite等人(2021)中,作者结合了从同一输入视频中提取的三种类型的信息,即:光流、人体姿势和视觉规律。利用3D-CNN对这些特征进行处理,以向量的形式提取深度特征,将深度特征组合起来作为支持向量机(SVM)分类器的输入,检测跌倒情况。在Martínez-Villaseñor等人(2019)中,使用三层CNN处理来自相机的RGB帧。在每一层之后,增加一个2 × 2的max-pooling层,减小feature map的大小,减小模型的计算复杂度。

由于环境中周围物体产生的噪声,依赖于原始RGB帧或行为分类网络中的运动相关特征可能导致不准确的预测(尼扎姆和贾米尔,2020)。因此,一些作品将可穿戴和基于视觉的跌倒检测方法相结合,以提高此类系统的可靠性。例如,Kwolek和Kepski(2014)的作者使用了一个包括加速计和Kinect系统的惯性测量单元(IMU)。在Nahiduzzaman等人(2020年)的研究中,作者开发了一种循环神经网络(RNN),基于可穿戴设备和安装在墙上和天花板上的摄像头的数据,为患有神经障碍的患者检测跌倒。在这项工作中,移动设备和相机的数据分别归一化,然后输入到分离的传统RNNs,然后是全连接层,然后是Softmax函数。最终的决策是基于两个输入的知识融合。在Martínez-Villaseñor等人(2019)中,使用了五个IMU、一个脑电图耳机、六个红外传感器和两个摄像机的组合。最近,Galvão等人(2021)提出将加速度数据与摄像机视频相结合,以检测跌倒。利用由两个卷积块组成的CNN对加速度数据进行分析;每个块后面都有一个max-pooling操作。用两个卷积块和2 × 2最大池化层分析视频帧。在实例分组(Kong and Fowlkes, 2018),并连接两部分的输出后,使用另一个带有max-pooling的两个卷积块的组合来生成关于整体行为的最终预测。

3.系统概述

监控录像信息丰富,然而,人体轮廓是人类行为分类系统中最相关的特征。因此,我们的方法主要是对该轮廓进行提取和分类。它由三个主要步骤组成,如图1所示。第一步是利用像素级分类提取人体轮廓。更具体地说,我们的系统从一个完整的场景理解开始,使用MSSkip对视频帧中的每个像素进行分类,以提取人体姿态(HP)。MSSkip的输入尺寸是(224 × 224 × 3),输出是一个二进制mask(224 × 224 × 1),其中属于人体轮廓的像素是白色的,而其他的组成部分是黑色的背景。对RGB帧进行二值化可以提高检测性能,后面会讲到。

第二步是利用深度学习对人体轮廓的时空变化进行分类来检测跌倒。第三步,也是最后一步,是对跌倒后的姿势进行分类。事实上,在检测到跌倒时,不向急诊科发送同样的警报,而是发送有关摔倒后姿势的信息,这可能有助于评估紧急程度,并帮助急诊科确定需要的干预类型。

例如,如果跌倒后,人体的姿势从躺着变成坐着或弯腰然后站着,这一信息意味着这个人是安全的。然而,长时间躺在地板上可能意味着这个人有严重的伤害。

3.1.使用MSSkip进行人体姿态提取

在我们的系统中,从视频帧中提取人体轮廓是基于一个经过训练的语义分割网络来识别和区分人与其他物体。语义分割是关于创建和训练一个深度网络来理解环境和作为整体的一部分事物。自动编码器是众多用于语义分割的深度学习体系结构之一,它通常是一个前馈网络,包含两个主要部分:编码器和解码器。编码器是一种分类器,它将输入压缩成小尺寸的特征映射。解码阶段紧跟在压缩路径之后。通常,解码是关于将在编码器的不同阶段学习到的特征转换成像素空间,在解码阶段,用编码器提取的低分辨率表示被转换成高分辨率表示。

据我们所知,大多数现有的分割网络使用最先进的分类器作为压缩器。例如,Simonyan和Zisserman(2014)提出的Visual Geometry Group (VGG16)已经被SegNet等几个语义分割网络广泛用作编码器(Badrinarayanan et al., 2017)。SegNet中的编码器是由13个VGG16的第一层简单构造而成的。但在使用max-pooling的下采样阶段,保存最大值的位置。编码器产生的低分辨率特征图需要转换成高分辨率输出;作者利用最大池化的历史位置来对这些特征图进行上采样,并产生与输入相同大小的输出。在DeconvNet (Noh et al., 2015)中,编码器也类似于VGG16,解码器由反卷积层、反池化和ReLU操作组成。与SegNet一样,反池化操作是基于池化索引来放大激活映射的。由于反池化产生更大但稀疏的输出,反卷积层被用来解决这个问题。反卷积层与卷积层相比,将单个输入激活与多个输出关联起来。因此,生成了一个扩展的、密集的激活图,与普通卷积一样,反卷积中的学习滤波器一般用于提取各种信息。为了提取不同的形状细节,在DeconvNet中提出了一种分层反卷积结构。微软的ResNet (He et al., 2016)也被用于金字塔场景解析网络(PSPNet)等著名模型(Zhao et al., 2017)。在该网络中,提取的低分辨率特征图采用平均池化操作下采样,分别得到1 × 1、2 × 2、3 × 3和6 × 6的特征图。每个子映射都被单独的CNN处理,然后上采样到原始输出特征映射的大小。最后的预测mask是从第一个特征图和池化的特征图中提取特征的结果。这种局部和全局信息的结合使得这个网络的最终预测更加可靠。在Ronneberger等人(2015)中,作者采用了自动编码器架构来创建被称为UNet的最常用的语义分割网络之一。在这个UNet网络中,编码器由重复的3 ×3 的卷积核组成,然后是2 × 2且步幅为2的最大池化层,以减小提取的特征图的大小。UNet上的解码器是采用2 × 2反卷积层的编码器的镜像版本。此外,将压缩路径的特征映射与编码器对应的特征映射相结合,然后将其提供给下一个解码块。编码器和解码器之间的长跳跃连接有助于在深度编码块中恢复丢失的信息,这是该网络在几个挑战中表现优异的原因。

考虑到对象的位置和大小在像素级识别中被认为是至关重要的,我们在这里提出了一个解决方案,以解决由于目标对象(在我们的例子中是Person类)和相机之间的距离而导致的对象大小变化。我们的MSSkip网络增强了先前步骤中对空间特征的金字塔捕获,并通过网络的更深层暗示了这些特征的再生。我们的网络和SegNet之间有一些共同的部分,比如池化索引,VGGNet作为主干网络的部署。然而,使用多尺度跳跃连接和在解码器中使用深度可分离卷积以最小化计算是这两种工作的主要区别。然而,在Inria航空图像标记数据集上,SegNet被PSPNet (Hu等人,2019)超越(Maggiori等人,2017)。虽然我们像PSPNet一样使用了金字塔池,但我们没有将最后一个编码器的特征映射和金字塔池操作的输出直接提供给解码器。相反,我们汇集了第一个编码块的特征映射,因为它们富含空间和底层信息,比如边缘信息。然后,我们通过解码器对它们进行输入,以增强这些特性的可重用性。图2给出了我们MSSkip网络的总体描述,下面给出详细描述。

3.1.1.MSSkip编码器

MSSkip中的特征压缩器包含16个卷积层,对应于VGG19架构(Simonyan和Zisserman, 2014),但没有最后的全连接层。我们的编码器总共包含五个连续的块。每个区块包含相同深度的连续卷积层。每次卷积后,使用批量归一化(Ioffe and Szegedy, 2015)和线性整流函数(ReLU) (Xu et al., 2015)来增加非线性,防止过拟合。Max-pooling层在每个块的末尾使用,在将特征映射提供给下一个块之前对其进行下采样。

表1包含MSSkip编码器中每个层的描述,包括层号、填充大小、步长、卷积核和输出大小。

与平均池化不同,max-pooling给出了原始特征图中最大值的位置。此外,使用合用位置或索引有助于将每个信息重新定位到其原始位置,从而减少解码路径中的计算量。因此,我们在编码器中使用了max-pooling来进行下采样。

3.1.2.MSSkip解码器

由于最大池化操作,编码器输出特征映射的大小小于输入特征映射的大小。由于分割操作的输出需要与输入具有相同的高度和宽度,因此需要一个带上采样的解码操作。已经提出了几种方法来对编码器的输出进行上采样,比如池化索引。如前所述,我们将池化索引保存在编码路径中,以便在解码器中重用。然而,仅使用这些指标进行上采样是不够的,因为它给出了一个稀疏激活映射。为了增加特征图的密度,需要增加一个额外的层。例如,在UNet和DeconvNet中使用的反卷积层或转置卷积层。在SegNet中,使用了一个普通的卷积操作。在深度学习解决方案中,特定任务的训练时间受可学习参数数量的影响。因此,我们在解码路径中使用深度可分离的卷积块来减少参数数量(Chollet, 2017),而不是卷积或反卷积层。

标准卷积是用同一个核在所有的项上进行乘法运算。然而,深度可分卷积首先在每个输入通道上应用一个卷积滤波器,然后使用点卷积。如图3所示,使用普通卷积从一个大小为12 × 12 × 3的输入获得一个大小为8 × 8 × 256的输出,我们需要进行1 228 800次操作,而深度可分离卷积只使用50 880次操作来获得如图4所示大小相同的输出。

深度神经网络早期层的特征映射具有丰富的空间特征。当到网络深层时,这些特征就会消失。如图5所示,与第三块相比,第一个MSSkip块的特征映射保留了更多的空间细节。因此,为了防止下采样过程中的信息丢失,使用长跳跃连接将第一个编码块的输出作为解码器中某些编码块的输入,以帮助修复空间特征的丢失。因此,在任何max-pooling之前,我们从第一个块的输出中添加了一个多尺度提取,以将提取的映射重新提供给具有长跳跃连接的编码器。

在静止的画面中,背景中的物体比前景中的要小得多。在单一大小的感受野情况下,利用CNN提取多尺度特征是很困难的。因此,需要估计特征图中物体的大小密度。因此,在使用第一个块的特征映射进行长跳跃连接之前,我们使用了一个多尺度提取器。受跳跃网和PSPNet中平均池化多映射思想的激励,我们使用了编码器中第一个卷积块的输出,并应用了表2中所示的三种平均池化操作(2 × 2,4 × 4,8 × 8)来调整这些映射的大小,这样我们就可以将它们提供给解码器的几个部分。

此时使用平均池来减少特征映射的大小,同时保留关于整个池化区域的信息,而不像max-pooling只检测到最大值。然后将提取的多尺度特征图传递给解码块,恢复第一层的空间信息,增强对不同大小物体的学习。最后,解码器的输出是一个二进制帧(与输入帧大小相同),其中表示Person类的每个像素用白色表示,其他像素用黑色表示。表3给出了解码路径中每个块的描述;P1、P2、P3分别是表2中多尺度平均池操作的输出。

3.2.行为分类和跌倒检测

一个单一的框架不能完全代表人类的行为。然而,人体轮廓在不同帧间的变化保存了有用的时间特征。在之前的工作中,LSTM (Hochreiter and Schmidhuber, 1997)被广泛用于序列学习。考虑到视频帧的多维特性,卷积递归神经网络被用来处理空间模式的时间变化。LSTM及其变体ConvLSTM (Shi et al., 2015)(图6)是一种具有四个交互门而不是一个的递归神经网络,用于解决传统递归神经网络(RNN)中的长期依赖问题(Rumelhart et al., 1985)。第一个门决定了应该从以前的内存c_{t-1}中使用多少信息。这个决定是由一个带有sigmoid函数 𝜎的遗忘门层f_t实现的,sigmoid获取之前单元状态h_{t-1}和实际输入x_t的输出,并输出0到1之间的值,该值越接近1,c_{t-1}节省的内存越多,LSTM和ConvLSTM的区别在于后者使用卷积运算,用*表示,而不是通常的乘法运算;参见公式(1),◦表示Hadamard算法。

f_t=\sigma(w_{xf}*x_t+w_{hf}*h_{t-1}+w_{cf}\circ c_{t-1}+b_f)\qquad(1)

下一步是确定要保存在当前单元格状态或内存𝑐𝑡中的新信息。首先,需要使用sigmoid函数从𝑥𝑡和ℎ𝑡−1中选择应该更新的值。此操作称为输入门𝑖𝑡,如式(2)所示。

i_t=\sigma(w_{xi}*x_t+w_{hi}*h_{t-1}+w_{ci}\circ c_{t-1}+b_i)\quad\quad(2)

在输入门之后,tanh被部署为一个归一化函数,以得到1和−1之间的输出。tanh还用于创建一个新候选值的向量,以添加到单元格的内存中。tanh的输出乘以遗忘门的输出来决定是短记忆还是尽早遗忘的信息。将乘法结果添加到新的候选值将创建一个新的单元格状态𝑐𝑡(公式(3))。

c_t=f_t\circ c_{t-1}+i_t\circ\tanh(w_{xc}*x_t+w_{hc}*h_{t-1}+b_c)\quad(3)

最后,我们需要计算最终输出ℎ𝑡。这个输出取决于单元状态和输出门𝑜𝑡。首先,部署一个sigmoid层,以确定单元状态的哪些部分将作为输出传递(式(4))。然后,使用tanh的归一化单元状态乘以输出门𝑜𝑡,以确定将在下一个ConvLSTM单元中使用的最终输出ℎ𝑡(Eq.(5))。

o_{t}=\sigma(w_{xo}*x_{t}+w_{ho}*h_{t-1}+w_{co}\circ c_{t}+b_{o})\quad(4)

h_t=o_t\circ\tanh(c_t)\quad(5)

ConvLSTM中的卷积核大小提供了运动检测的灵活性。与5 × 5的卷积核相比,3 × 3的卷积核将检测到更小的运动。换句话说,较小的卷积核与较大的卷积核不同,有助于捕获随时间变化的微小变化。

一般情况下,如图7所示,我们的行为分类网络首先使用MSSkip网络提取人体轮廓,然后使用ConvLSTM网络进行序列学习。在我们的例子中,对ConvLSTM感受野的选择是基于几种大小之间的实验情况。从序列学习中提取的特征映射被发送到两个卷积层,这两个层的核大小都是3 × 3。第1层深度为16,第2层的深度为32,其次为平展层,再为全连通层,形成最终输出。随后,利用Softmax层得到类间的概率分布,如图7所示。

3.3.检测跌倒

在跌倒后立即发送警报,而不提供有关患者情况的补充信息,可能是令人痛苦的,也是不合理的。因此,需要一个跌倒后的系统来分析人跌倒后的状态。问题是每个人对摔倒的反应都不一样。如果是一个有脑外伤史的人,或者被诊断出患有帕金森病的人,意味着他/她需要立即得到帮助。由于跌倒并不一定会导致受伤,跌倒后的姿势分类可能会让护理人员决定患者是否需要(立即)干预。如图8所示,如果检测到老年人跌倒,首先会向照顾者发送警报,然后触发跌倒后系统,跟踪老年人跌倒后一段时间的情况。在最糟糕的情况下,这个人可能已经失去意识或严重受伤。在这两种情况下,这个人都会在同一位置上呆一段时间。因此,对人体姿势的分类可以让我们了解一个人跌倒后保持同一姿势的时间。如图9所示,假设系统每0.5 s处理一帧,将跌倒后的前10帧判断为躺下,我们可以得出该人在事故发生后5s处于这个姿势。照顾者有责任根据他们对情况的分析及其随时间的变化来决定接下来的操作行为。

跌倒之后,有四种可能的位置。第一个是坐着,第二个是弯着,第三个是站着,最后一个是躺着。从一个位置到另一个位置的变化表明这个人在事故发生后移动过。长时间保持坐着或躺着的姿势可能是一个危险信号。在跌倒检测方面,跌倒后的姿态分类首先使用MSSkip网络提取人体姿态,如图10所示。生成的二值图像用深度神经网络进行分类,以检测人跌倒后的情况。使用哪个分类器的决定是基于比较研究的。

4.数据集

4.1.语义分割数据集

MSSkip的主要目标是对人体进行像素级分类。因此,我们从COCO材料数据集(Lin et al., 2014)中创建了一个子数据集,该数据集是语义分割最大的数据集之一,包括33万张图像,超过20万个标签,150万个对象实例,属于80个类别。我们的子数据集只包含来自COCO Stuff 2017(训练/验证)的标签为“Person”的图像。每个提取的图像的mask都是用COCO MASK API创建的。总的来说,COCO子数据集中的图像数为64 115。我们使用了51 292张图片来训练MSSkip,使用了12 823张图片来验证。图11显示了来自COCO Stuff数据集的图像,以及通过COCO MASK API创建的相应mask。我们选择在PASCAL VOC 2012 (Everingham等人,2015)的验证集上测试我们的网络,以便将我们的网络在Person类上的性能与现有的最先进的网络进行比较。与COCO数据集一样,我们从包含Person类的PASCAL VOC 2012验证集中提取所有图像。由于MSSkip接受了人的分割训练,所以在原始mask版本中代表其他类的所有颜色都变成了黑色背景;将原始mask版本中以RGB颜色(192,128,128)表示的Person类对应的像素替换为白色像素。图12是PASCAL VOC图像的一个例子,对应的原始mask,以及提取Person类后的mask。

4.2.跌倒检测数据集

4.2.1UP跌倒数据集

为了训练我们的模型区分跌倒和其他日常行为,我们使用了多模型UP Fall数据集中的camera 1的视频(Martínez-Villaseñor等人,2019)。数据集报告了11种类型的行为;每个行为的描述见表4。参加UP Fall数据集的总人数是17人。每个人员将每个行为重复三次。每个行为的样本总数为51。在比较研究中,为了避免样本重复,我们使用了测试集中与4名参与者相关的所有行为,其余的受试者用于学习(85%的训练,15%的验证)。为了将提出的解决方案与现有的解决方案进行比较,我们使用了𝑘= 5倍的交叉验证。

4.2.2.UR跌倒数据集

这个数据集(Kwolek和Kepski, 2014)包含了70个序列,30个跌倒和40个日常生活行为,由5个参与者执行。所有的事件都是用微软Kinect摄像头记录下来的。我们使用𝑘= 5倍的交叉验证来评估解决方案的性能。我们在新受试者身上进一步评估所提出的跌倒检测系统,测试了特定受试者的所有试验,并对其进行了剩余数据的训练。

在UP Fall和UR Fall中,每个例子的最后三分之一只包含行为结束后重复的帧。然而,代表行为的帧在每个样本的前三分之二。此外,在前三分之二的时间里,每一帧至少重复四次。最小化每个样本的重复可以防止过拟合,减少行为分类的处理时间。因此,我们试图减少帧中的冗余。特别是,从每个样本中,我们从前三分之二提取了12帧,从最后一帧提取了3帧。如图13所示,对于包含190帧的对象行为,从原始帧中提取的15帧很好地代表了该对象行为。

4.3.跌倒后的数据集

由于没有可用的数据集用于跌倒后的检测,我们使用来自UP Fall和UR Fall数据集的分段数据从头构建了一个跌倒后的数据集。首先,我们从每个数据集手工提取RGB帧。我们将数据集划分为站、弯、卧、坐四类。然后利用MSSkip网络从采集到的图像中提取人体轮廓。结果得到了4839张二值图像。图14显示了我们跌倒后数据集中每个类的图像数量。最后,我们使用5倍交叉验证来评估几个深度神经网络在这个数据集上的性能。

5.实现细节

5.1.语义分割

我们的MSSkip的编码器权值是用ImageNet上经过预先训练的VGG19权值初始化的(Deng et al., 2009)。Glorot uniform (Glorot和Bengio, 2010)被用作深度可分离卷积层(SeparableConv2D)的权重初始化。将初始偏差值设为零,用He -uniform方法初始化ReLU层(He et al., 2015)。为了训练我们的MSSkip,我们使用了学习率为0.1,动量为0.9的随机梯度下降(SGD)算法,并使用二元交叉熵作为损失函数。

联合交叉(IoU)是用来衡量MSSkip算法性能的度量。IoU是一种用于量化目标mask和我们的预测输出之间重叠百分比的方法。这一指标与Dice系数密切相关,并且比平均分类准确性更强大,因为它会惩罚错误的正面预测。交集(A∩B)是目标和预测mask版本之间共有的像素数,并集(A∪B)是两个mask版本之间的像素总数(Eq.(6))。

IoU=\frac{\text{target area}\cap\text{prediction}}{\text{target area}\cup\text{prediction}}\qquad(6)

5.2.跌倒和跌倒后的检测

为了训练跌倒和跌倒后的网络,我们使用了Adam优化器,学习率为0.001。由于有多个类,我们使用分类交叉熵作为损失函数。为了评估摔倒后和行为分类网络的表现,我们使用了精确度、召回率和F1-score。下面是每个度量的描述。TP、TN、FP、FN分别表示真阳性、真阴性、假阳性、假阴性。

Accuracy=\dfrac{(TP+TN)}{(TP+TN+FP+FN)}\qquad(7)

Precision=\dfrac{(TP)}{(TP+FP)}\qquad(8)

Recall=\frac{(TP)}{(TP+FN)}\quad\quad(9)

F1-score=2\frac{(Recall\times Precision)}{(Recall+Precision)}\qquad(10)

5.3.硬件配置

所有的模型都在HP z820工作站和8G NVIDIA Quadro M4000上进行了训练和测试。整个系统的实现是使用TensorFlow-GPU包完成的(Abadi等人,2015)。

6. 结果与讨论

在本节中,我们展示了框架中每个阶段的结果,从我们的MSSkip网络开始,然后是UP Fall和UR Fall数据集上的分类网络结果,最后是我们的post-fall数据集上的post-fall网络结果。

6.1. MSSkip

我们的MSSkip旨在提取一个人的轮廓。因此,如第4节所述,在预处理后的COCO数据集上对网络进行训练,然后在PASCAL VOC 2012验证数据集的Person类上对其他深度架构进行分割测试。MSSkip网络利用平均金字塔池和长跳跃连接来恢复整个网络丢失的空间特征。最大池化索引的使用阻止了线性上采样,深度可分离卷积的使用减少了所需的计算量。因此,如表5所示,我们的网络在Person类上的表现优于其他最先进的网络。我们通过删除索引池化和长跳跃连接,然后在预处理的COCO数据集上训练我们的网络,并在PASCAL VOC 2012验证数据集的Person类上测试它。如表5所示,删除这些技术会降低网络的性能。通过将MSSkip的分割输出mask与图15中原始mask进行比较,可以看出,即使人体姿态复杂,没有显示人脸,我们的网络也可以检测到人体。此外,在同一张图中,我们可以看到,由于使用了多尺度跳跃连接技术,以及使用了索引池化的上采样,预测的mask是精确和平滑的。

6.2.行为分类网络

除了ConvLSTM网络的卷积核大小外,深度也会影响行为分类网络的性能。因此,由于与UR Fall相比,在UP Fall数据集上的ConvLSTM包含更多的活动和参与者,因此我们对其进行了比较研究,以选择最佳的感受野大小和深度。在这个比较研究中,我们使用了一个主体(人体)的策略来分割数据,我们的跌倒检测网络在四个受试者上测试。对于剩余的数据,我们使用85%用于训练,15%用于验证。

卷积核的尺寸表示从一帧到另一帧检测到的运动的尺寸。表7给出了在ConvLSTM深度固定为16时,3 × 3、5 × 5和9 × 9这三种可能的卷积核大小的测试结果。该模型在感受野大小为5 × 5的情况下取得了较好的效果。在确定了ConvLSTM的最佳卷积核大小之后,下一步是使用它提取出最兼容的ConvLSTM深度。表7和表8中的每个模型都是在相同的实现参数上进行训练的(章节5)。此外,每个网络都是在4个参与者的所有样本上进行测试,并在其余的样本上进行训练,以确保同一受试者的相同样本不会同时出现在测试集和训练集上。表8包含了ConvLSTM不同深度的结果,其中ConvLSTM的内核大小固定在5 × 5。对于F1-score, precision, recall, and accuracy, ConvLSTM的最佳记录深度为16,如表8所示。但是,在分析这些指标时没有检测到常见的行为。图16为使用交叉验证k = 5(训练集80%,测试集20%)的UP Fall检测数据集上最佳模型配置的拼接混淆矩阵。由于行为之间具有高度的相似性,分类并不完善。因此,我们采用最佳参数组合(卷积核大小= 5 × 5,深度= 16)的分类架构,在UP Fall数据集上被证明在准确性、精密度和召回率方面比现有结果更好,如表6所示。

最后,为了比较我们的模型与UR Fall数据集上现有的解决方案的性能,我们使用𝑘= 5折叠交叉验证,为ConvLSTM训练了深度为16和5 × 5大小卷积核的最佳模型,如实现细节部分所述。结果如表9所示。可以看出,我们的模型在UR Fall数据集上获得了与最先进的网络类似的结果。即使在不允许同一受试者同时进行训练和测试的情况下,我们的网络仍然表现良好,如表10所示。

我们的系统在两个数据集上的高性能可以归因于在活动分类之前使用了人体姿态检测。对视频帧进行二值化可以让序列学习模型在忽略其他不必要特征的情况下关注人体轮廓。此外,使用ConvLSTM代替LSTM,保留了序列学习时的维数特征,提高了网络的性能。此外,计算消耗将会减少,因为没有人在其中的帧将不会被包括在行为分类阶段。

6.3跌倒后的网络

对于跌倒后的检测,我们在跌倒后数据集上训练和测试了几个著名的深度神经网络。使用ImageNet数据集初始化每个网络的权值,然后使用我们的后期数据集进行微调。尽管与其他网络相比,Xception (Chollet, 2017)的计算复杂度较低,但性能最好,如表11所示。此外,图17中串联的混淆矩阵显示了该网络在四类之间的高分辨能力。

7.总结

本文提出了一种基于人体姿态提取的准确的跌倒检测和跌倒后姿势分类方法。所提出的分割模型获得的IoU值为90%,证明了该算法对人体轮廓的提取能力。我们的跌倒检测系统对UP跌倒数据集的评分为97.68%,对UR跌倒数据集的评分为100%。此外,跌倒后姿势分类系统在我们的跌倒后数据集上取得了97.85%的f1-score。与其他工作不同,我们没有使用任何静态技术进行特征提取,特别是人体轮廓的检测,因为这些技术在操作环境变化时不能很好地工作。此外,提出的跌倒后分类解决方案可能有助于降低与跌倒检测和管理相关的成本和压力。我们的工作和其他使用RGB数据的工作的唯一限制是,不能在晚上工作,除非打开灯。利用夜视摄像机进行跌倒检测是未来工作的一个方向。

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值