system: [SYSTEM]

user: 4. 实验 本文实验环境使用Intel Core i7-6700 3.4 GHz处理器与GTX1060Ti 6 GB独立显卡的笔记本电脑作为测试设备，使用GTX1080Ti 11G独立显卡作为训练设备。 4.1. 实验数据与处理 人体姿态估计模型因为较轻量级，所以数据集采用MPII数据集。MPII数据集一共包含4 × 10 4 个人，25000张图片。使用官方划分训练与验证数据集。 摔倒识别的图神经网络使用NTU-D-RGB-120和UR Fall Detection Dataset数据集。NTU-D-RGB-120数据集中截取A9 standing up、A8 sitting down、A43 falling、A59 walking towards each other和A60 walking apart from each other这5个动作分类样本作为数据集，在训练时需要手动筛选并分成多个30帧的可用数据集，去除Z坐标并换成1置信度。UR Fall Detection Dataset数据集中截取standing up 、sitdown、 falling、waliking 、standing、sitting、lying这7个动作分类样本作为数据集。其中，UR Fall Detection Dataset数据集是没有关节点的标签，所以使用精度较高的AlphaPose人体姿态估计模型来输出制作视频数据集里的关节点标签。另外，由于使用的是二维的人体关节点，头部、肩部、臀部和腿部的运动特征对比其他关节点更能作为摔倒的判断依据，因此在数据预处理中需要筛选这些关节点训练的置信度，直接置为1。过滤掉一些无效的视频数据后，整体图神经网络的数据集一共有2300个视频，其中训练集有1600个视频，验证集700个视频，每个类别平均分布。 4.2. 人体姿态估计分析 人体姿态估计模型训练输入的图片尺寸为384 × 384，批次大小为32，初始学习率设置为5 × 10 −4 ，训练150轮，使用SDG随机梯度下降，冲量为0.9，权重衰减5 × 10 −4 。损失函数的loss权重设置为。采用迭代训练的方式进行训练，先用COCO数据集训练特征提取网络，然后加上第一阶段网络用MPII数据集继续训练，最后加上第二阶段网络用MPII数据集一起训练。训练完成后，模型与其他模型的精度与速度的对比，如图8和表1所示。 为验证第一个阶段输出关节点和肢体连接预测与第二个阶段输出肢体连接预测的模型优化方法是有效的，设计消融实验进行验证。消融实验为使用第一阶段直接输出关节点与肢体预测结果与第二阶段直接输出关节点与肢体预测作对比，使用训练了150轮之后损失函数中输出的 L resp 、 L IoU 、 L coor 、 L size 、 L limb 与mAP作为评价指标，如表2所示。 图8. 不同算法精度与速度对比 Table 1 Comparison of accuracy and speed of different algorithms on the MPII data se 头部 肩部 手肘 手腕 臀部 膝盖 脚踝 mAP FPS AlphaPose [ 11 ] 87.2 85.8 77.4 69.7 74.0 72.2 64.4 76.3 22 OpenPose [ 13 ] 90.8 87.2 77.3 66.5 74.8 67.6 61.2 75.2 7 Pose Proposal Networks-ResNet18 [ 17 ] 92.5 88.5 73.8 62.1 71.7 61.9 54.6 72.1 42 Pose Proposal Networks-ResNet50 [ 17 ] 92.9 89.6 77.3 67.2 73.5 66.8 58.4 74.7 26 本文模型 93.1 89.5 77.3 67.4 73.4 66.9 58.7 74.8 35 表1. MPII 数据集上不同算法精度与速度对比 Table 2 Analysis of ablation experiment L resp L IoU L coor L size L limb mAP FPS 第一阶段 12.647 0.062 1.675 0.071 13.287 71.7 48 第二阶段 13.012 0.063 1.769 0.137 12.979 74.2 30 本文模型 12.654 0.062 1.676 0.073 12.982 74.8 35 表2. 消融实验分析 图9. 消融实验的Loss对比分析 从图9中，通过Loss损失函数的分析可以看出，第一阶段关节点相关的Loss比第二阶段小，细粒度的关节点预测更为准确；第二阶段肢体预测的Loss比第一阶段小，粗粒度的肢体预测更为准确。其次，从图10中，从两阶段网络模型输出的检测效果可以看出来，第一阶段的关节点预测会比第二阶段的更准确，第二阶段对肢体的预测会比第一阶段更加准确，所以验证了本文模型的优化方法有效。图11为优化后的人体姿态估计模型的检测效果。 图10. 第一和第二阶段检测效果 图11. 本文人体姿态估计模型的检测效果 4.3. 摔倒识别分析 摔倒识别的时空图卷积网络先使用NTU数据集数据进行预训练，然后使用UR数据集进行进一步训练，训练使用30帧连续的16个关节点数据，批大小为128，初始学习率为1 × 10 −3 ，训练50轮，每10个 epoch衰减0.1，使用交叉熵损失函数以及Adam优化器。 本文采用4个评价指标，分别为精确度(Precision)、召回率(Recall)、准确率(Accuracy)和F1-measure综合性评价指标。首先，将实验样本分为四类：真正例TP、假正例FP、假反例FN和真反例TN。真正例 TP(True Position)表示正样本被正确地分类为正样本；假正例FP (False Position)表示负样本被错误地分类为正样本；假反例FN (False Negative)表示正样本被错误地分类为负样本；真反例TN (TrueNegative)表示负样本被正确地分类为负样本。 所以，精确度(Precision)表示正确地分类的摔倒样本占分类为摔倒样本的比例，如公式(6)所示。 Precision = TP TP + FP (6) 召回率(Recall)表示模型正确地分类的摔倒样本占实际摔倒样本的比例，如公式(7)所示。 Recall = TP TP + FN (7) 准确率(Accuracy)表示模型分类地正确(包含摔倒和非摔倒)的样本占所有样本的比例，如公式(8)所示。 Accuracy = TP + TN P + N (8) F1-measure为分类常用的一个综合性评价指标，如公式(9)所示。 F1-measure = 2 ∗ Recall ∗ Precision Recall + Precision (9) 动作识别算法一般会使用300帧连续的关节点数据，但本文的人体姿态估计模型速度约35 FPS，为了整体模型达到实时检测效果，设置使用30帧的数据。实验结果如表3所示，设置使用30帧，整体模型的摔倒检测准确率并没有下降多少。其次，把网络的特征提模块改成6层，摔倒检测的准确率也没有下降多少。 Table 3 Analysis of the influence of the number of key frames and the number of feature extraction layers on detectio 帧数 特征提取层数 Precision Recall Accuracy F1-measure 300 9 0.973 0.947 0.981 0.961 30 9 0.970 0.942 0.975 0.956 30 6 0.957 0.925 0.961 0.941 表3. 关键帧数和特征提取层数的设置对检测的影响分析 虽然使用了轻量级的人体姿态估计模型，但使用时空图卷积网络进行摔倒识别之后，整体模型的准确率并没有比使用精度较高的Alphapose人体姿态估计模型的准确率低多少。此外，对比使用SVM动作分类的方法，准确率却要高很多，如表4所示。本文方法的摔倒检测效果如图12所示。 Table 4 Comparison of accuracy and speed of fall detectio Precision Recall Accuracy F1-measure FPS SVM 0.797 0.237 0.801 0.343 36 Alphapose + GCN 0.963 0.932 0.969 0.949 23 本文方法 0.957 0.925 0.961 0.941 33 表4. 摔倒检测的准确率与速度对比 图12. 摔倒检测效果