1. 引言
随着人们对老年人等残障人群的重视,视频识别在预防摔倒中发挥了越来越重要的作用。卷积神经网络可以从海量的图像中抽取出关键信息,进而识别出关键信息,进而精确地识别摔倒行为。
一般来说,跌倒会导致人体速度和位置的变化。因此在基于图像的技术中,从图像中提取的使用背景减去算法[1]得到的人物轮廓、运动矢量或二维人体姿态估计[2]等特征,能定位人体并知道其空间身体方向,常被输入分类器中进行跌倒判定,如高斯混合模型(GMM) [3]或支持向量机(SVM) [4]。描述跌倒特征的困难使得研究人员开始考虑其时序方面的突破。长短时记忆(LSTM [5])网络的使用使基于视觉的跌倒检测取得了进展。另一种方法是将一些RGB图像直接输入到3D卷积神经网络(CNN) [6]中,以利用其时序方面的信息。
由于跌倒是一种复杂的行为,故而很难进行建模。人体行为动作的时序演变与行为进展轨迹高度相关,因此基于考虑人体运动时序变化的神经网络的解决方案似乎是合适的。
在人体跌倒检测领域,黄万里[7]等人借鉴了注意力机制和膨胀卷积的思路,设计了三个模块嵌入到YOLOv7网络架构中,从而提高了老年人跌倒检测算法的效率。张振亚[8]等人更换了YOLOv5的边界框损失函数,添加了卷积块注意力机制模块,并引入了加权的双向特征金字塔网络结构到特征融合层,以提升检测精度。Wang等人[9]在子网络中引入了注意力机制,使模型能够为输入序列中的不同位置分配不同的权重,从而在处理每个序列元素时专注于最相关的部分。Yin等人[10]利用了两个改进的YOLOv4和YOLOV5s模型进行跌倒检测,实现了实时、准确的端到端检测。这些模型轻量、易于部署,并且在复杂环境中具有良好的鲁棒性。
上述研究成果各有成效,然而,现有的实时摔倒检测系统普遍存在以下问题:1) 检测精度不足,容易误判;2) 实时性不佳,无法迅速响应紧急情况;3) 对多样化场景下的摔倒行为识别能力有限。针对这些问题,本项目致力于开发一种新型的摔倒检测系统,该系统将具有更高的检测精度、更好的实时性,并能适应多种场景。
本项目的核心方法包括:1) 优化卷积神经网络结构[11]:我们采用Faster RCNN [12]方法,对人体边缘框进行精准回归,提取感兴趣的对象;2) 引入Mediapipe [13] [14]技术:通过计算人体骨骼特征点的2D空间坐标,实现精确的姿态估计;3) 改进的时空图卷积神经网络模型(DCST-GCN):利用该模型自动提取行为特征,尤其针对时序特征的分析,提高对摔倒行为的识别准确性。
我们将在NTU-RGB+D60和Kinetics-400等数据集上进行实验,验证所提出方法的有效性和鲁棒性。本项目最终目标是构建一个能实时监测和预警摔倒行为的智能系统,为行动不便的人群提供安全保障。我们相信,该系统将为现有的摔倒预防与控制方法提供重要的改进和创新。
2. 算法
2.1. 算法框架
针对当前主流的运动物体探测技术,其特点在于:针对当前主流的运动人体运动轨迹识别技术,通过对运动物体的运动轨迹、人体运动轨迹等因素的分析,提出一种基于人体骨架结构的人体运动轨迹识别新方法。
Figure 1. Algorithm flowchart
图1. 算法流程图
为此,该方法采用Faster RCNN [15]方法对人体边缘盒进行回归,提取出感兴趣的对象。在此基础上,采用Mediapipe方法求取骨骼各特征点在2D中的空间坐标;在此基础上,利用该模型对视频中的行人进行动作类别划分,实现对行人有无摔倒的判定(见图1)。
2.2. Faster RCNN检测模型
FasterR-CNN的目标探测网络体系结构如图2所示,其基本包括四个阶段:
首先,对输入的图像进行尺度调节,然后将其导入到骨架抽取网络中,得到相应的影像特征图谱,为进一步进行区域产生网(RPN)的分类和回归奠定基础。
其次,以第一步产生的特征映射为RPN,利用滑动窗口对特征映射进行滑动窗口运算,以各位置为圆心,产生若干尺度、尺度各异的锚框架,并利用软件最大类别对锚框架进行正、负两个抽样,判定锚框架中有没有可能含有对象。其次,采用边缘盒回归方法,通过对已知框架和实际框架的偏差来获得更精确的框架定位。首先,采用Smooth_L1_Loss功能,对两种不同类型的框架进行均衡处理,并通过比较两种框架间的差值,调节推荐框架的定位;然后,根据比例变换的方法,对各框架进行定位,判定其在原影像中的定位,并判定其在原影像中的范围。
第三步,对第二步生成的推荐盒进行等长的网格分割,并对各单元中的属性进行“池”运算,并将其聚集成一定尺寸的结果,为下一步的分类及边缘盒回归做准备。
本项目提出了一种新方法,即构建基于多变量信息的多层次融合算法,实现多层次、多尺度的信息融合。通过这种方法,我们能够构建一个多层次的多尺度融合模型,从而实现基于多层次融合的多尺度信息融合方法。
Figure 2. Fastra-Ken network structure diagram
图2. Fast R-CNN网络结构图
2.3. Mediapipe框架
MediaPipe是谷歌自主研发的一款开放源码的、面向视频、音频、图像等多源异构的、面向视频、音频、图像等不同类型的机器学习建模与分析工具。MediaPipe在计算机视觉、增强现实、虚拟现实等方面有着广阔的应用前景。
Table 1. Comparison of the performance of mainstream human pose detection models on the COCO dataset
表1. 主流人体姿态检测模型在COCO数据集上的性能对比结果
模型 |
AP@0.5:0.95 (%) |
AP@0.5 (%) |
AP@0.75 (%) |
OpenPose |
61.8 |
84.9 |
67.5 |
Detectron |
67.0 |
88.0 |
73.1 |
MediaPipe |
73.3 |
89.2 |
79.1 |
AlphaPose |
75.4 |
90.0 |
86.7 |
由表1可知,在各种IOU设置条件下,MediaPipe方法更具优越性。
2.4. 改进的时空图卷积神经网络模型(DCST-GCN)
基于时间图卷积神经网络(ST-GCN)可以实现行为特征的自动抽取。基于人体骨骼的行为探测,实质是求解时序问题。基于Mediapipe (技术,通过对人的骨骼数据进行数据采集,并对其进行建模(如图3所示)。其次,利用两个时序框架间的紧密时序关联,将各个框架中相应的节点(骨头)进行关联,建立时序划分(如图3(b))。
DCST-GCN网络由BN层(9层)、全局池化层(Global-pooling)、全连通层(FC)和软件最大值(Softmax)三个部分组成。该网络从时间和空间两个层面提取出有效的深层行为特征,从而提升了运动模型的准确性;全局点对点进行整体的池化,获得相应的张量,然后采用逆传递方法对其进行端对端学习;针对半主动 GCN各层次的运动行为分类,提出基于Resnet的自适应动态网络(Resnet)方法,通过加入dropout机制,提高运动行为分类的鲁棒性;针对动态自适应网络(ST-GCN)建模方法,在各半主动GCN各层次上分别加入了一个去卷积(DC)的时域去卷积(DC),以最大限度地挖掘各动作的时域上下文关联。
Figure 3. Diagram of the construction process of spatiotemporal diagram of human skeleton feature points
图3. 人体骨骼特征点时空图构建过程图
Figure 4. Flow chart of the deconvolution operation
图4. 反卷积操作流程图
在此基础上,本项目提出一种新的去卷积算法,即“转置卷积”,如图4所示,即:将所抽取的时域特性通过去卷积,在保持浅层信息不损失的前提下,有效地提升了浅层的时域语义信息,提升了浅层特征层对动作的表达能力。
3. 实验与结果分析
最后,基于公共行为学数据库NTU-RGB+D60 [16]对所提出的方法进行实验和检验,并通过仿真实验对所建立的多个行为类型进行检测与辨识,并对其准确性进行对比。
3.1. 数据集
基于NTU-RGB+D60数据,包括40个日常行为,11个互动行为,9个健康行为(比如打喷嚏、摔倒等),总计56,880个数据。其中,基于摄像机的横向观察角度(−45˚, 0˚, 45˚)对图像进行分割,其中训练数据包括37,920个动作片段,检测数据为18,960个动作片段。
室内跌倒数据集
为了检验算法的有效性,我们使用公共数据库Kinetics-400共收集4种行为类型(站立,走路,坐卧,摔倒行为),每一个普通行为都含有50段以上的录像片段,且每种摔倒行为不少于2秒钟,使用MediaPipe软件获取各帧的18个骨骼特征点的2D坐标(x, y)和置信度。训练集与测试集的划分如表2所示。
Table 2. Quantitative description of the dataset used in the experiment
表2. 实验中使用的数据集定量描述
行为类型 |
训练集视频数 |
测试集视频数 |
跌倒行为 |
70 |
45 |
正常行为 |
200 |
115 |
3.2. 评价标准
在此基础上,我们将摔倒动作作为一个固定的类型(正样本,P),将其它的动作作为一个标准(负样本,N)来检验该方法的效果。如果一个人的行为被识别出来,那么这个人就是True (T),如果这个人是一个错误,那么这个人就是一个错误(F)。这个方法是这样的:
这里,TP是准确地发现摔倒的人的数量;FP是被错误检测到的人类不摔倒次数;TN表示无摔倒动作被准确检出的次数;FN是指摔倒时发生的错误数。
准确度指数一般划分为Top-1准确度和Top-5准确度。计算公式如图5所示。
Figure 5. The formula for calculating Top-1 accuracy and Top-5 accuracy
图5. Top-1准确度和Top-5准确度的计算公式
在这些数据中,Top-1级分类是对的,代表了在大多数情况下,由模式所预言的类与实际类符合的抽样数目;Top-5级分类正确的抽样数目表明,该模式对5个最有可能的类包括实际类的抽样数目。
3.3. 实验结果分析
通过对NTU-RGB+D60数据集的CV指数进行消减试验,对所提出的模型进行改进,将原作者的设定和参数修改为本次试验的设定和参数,经过试验测试,得到ST-GCN在NTU-RGB+D60上的CV原始精度分别为88.7%和98.3% (参见表3)。
Table 3. Optimize the validity (CV) of timing features
表3. 优化时序特征的有效性(CV)
Method |
Top1% |
Top5% |
ST-GCN |
88.7 |
98.3 |
ST-GCN+DC |
90.7 |
99.5 |
本项目计划通过构建一个基于时域去卷积的方法,既保留了浅层时域特征的详细细节,同时也增强了这些特征的语义信息量,以便更准确地描述摔倒行为。
在我们的图卷积过程中,我们设计了一个增强时序特征的时间反卷积模块(DC),使得浅层时序特征信息得以保留,并提升了浅层特征的语义信息量。这种增强使得时空特征能够更好地表征跌倒行为。由表三可得,与原始的STGCN在CV上的表现相比,结果表明加入时间反卷积模块(DC)有助于提升模型的识别性能,Top-1准确率提升了1.7%,Top-5准确率提升了1.2%。
同时我们团队也在IBFD [17]面进行了测试,处理帧率可以到达35FPS以上,测试结果如表4所示。
Table 4. IBFD dataset classification test
表4. IBFD数据集分类测试
行为类型 |
总视频数 |
准确率/% |
检漏率/% |
误检率/% |
跌倒行为 |
100 |
96.0 |
4.5 |
1.2 |
正常行为 |
30 |
96.5 |
2.8 |
3.8 |
室内环境通常较为复杂,包含沙发、桌椅、抱枕等物品,再加上视频拍摄角度的局限性,容易导致人体遮挡,从而引发行为的漏检或误检。此外,系统在检测类似跌倒的行为(如坐下等)时,也可能出现误检。这些因素增加了准确识别跌倒行为的难度。
为评估本文提出模型的性能,我们将其与其他六种跌倒检测算法在NTU-RGB+D60数据集上的行为检测准确率进行了对比。NTU-RGB+D60数据集是一个涵盖多种人体行为的视频数据集,广泛用于动作识别和行为分析的研究中。表5展示了不同算法在该数据集上的检测准确率,比较了它们在复杂室内环境中面对人体遮挡和类似跌倒行为时的表现。这一对比有助于了解本文模型在处理这些挑战时的有效性和改进之处。
Table 5. Comparison of results of different fall detection algorithms (TOP 1)
表5. 不同跌倒检测算法结果对比(TOP 1)
方法 |
CV (%) |
CS (%) |
HBRNN |
64.0 |
59.1 |
ST-LSTM |
77.7 |
69.2 |
TCN |
83.1 |
14.3 |
ST-GCN |
88.3 |
81.5 |
IndRNN |
890 |
83.0 |
Cross-Attention |
89.3 |
84.2 |
Ours |
93.5 |
86.7 |
4. 结语
针对目前摔倒动作的识别准确率低的问题,本项目以Mediapipe人体位姿估算、Dcst-GCN相融合,建立一种以动作时间序列为基础的摔倒判断模型,通过实验验证,该算法对多种场景下摔倒动作进行有效的识别,同时具备较好的鲁棒性和准确性,但存在对摔倒类似动作的判断错误,本团队拟在前期工作基础上,改进和完善错误的识别算法,并在实际应用中验证。