基于迁移学习的人体骨骼步态分析与识别预测

发表时间:2021/4/22   来源:《基层建设》2020年第33期   作者:1张聪聪 2王然冉
[导读] 摘要:步态识别是计算机控制领域的一个研究热点。不同的步态有不同的特点。本文通过捕捉图像或视频中人物的行为来判断人物是在跑还是在走。

        1神木市电石集团能源发展有限责任公司  沈阳建筑大学  110168
        2沈阳建筑大学教授  110168
        摘要:步态识别是计算机控制领域的一个研究热点。不同的步态有不同的特点。本文通过捕捉图像或视频中人物的行为来判断人物是在跑还是在走。采用迁移学习和Inception -V3神经网络的方法识别步态,同时,本文利用大型人体动作数据库HMDB和UCF运动动作视频动作数据作为主要数据集来判断人体动作。结果表明,与现有算法相比,使用适合移动使用的转移学习神经网络,目标检测性能有显著提高。
        关键字:迁移学习 神经网络 步态 人体姿态
        1介绍
        人的动作识别是计算机视觉领域的一个热点,广泛应用于安全、人机智能交互、虚拟现实等领域。人体骨骼关键点对捕捉和判断一个人的态度和行为起着重要作用,因此获取人体骨骼关键点的位置在行为识别和人体姿态检测任务中具有重要意义。
        步态识别是通过对人的行走姿态进行分类来识别人的身份,还在身份验证、异常行为检测和医疗等领域有广泛的应用。不同的步态,人体骨骼关键点的相对位置和关节的角度是不一样的。可以利用人体骨骼的关键点来描述步态特征。并将其应用在人体行为的识别和预测上。本文的主要目的是捕捉人体的运动信息,准确快速拾取骨骼关键点的坐标,对人体步态进行分类,判断图像中的人体运动状态。
        本应用程序运行顺序是在打开图片或视频时,加载模型并预测识别出人体骨骼关键点在图像或视频中的位置,然后将预测出的骨骼关键点显示在图像上[1,2]。打开文件可以选择本地图片和本地视频,也可以利用计算机摄像头获取实时视频。该应用程序的功能设计流程如图1所示。
 
        图1 功能设计流程
        在本文中,通过训练模型,我们可以判断图像中的人是在跑步,还是行走[3,4]。主要使用HMDB(一个大型人体动作数据库)和UCF_sports_actions(视频动作数据集)。这两个数据集由各种运动分类视频数据组成,其中选取了跑步和步行数据作为数据集。在训练时,首先将这些图像数据转换为只有人体骨骼关键点位置信息的黑白图像,然后再进行训练[5-7]。在模型的选择上,选择了Inception - v3模型,并通过迁移学习的方法得到了结果。使用迁移学习的好处是它能使新模型在原始模型基础上的提高学习效率,使用更少的训练数据得到更准确的结果,提高了研发效率。
        2相关工作
        2.1迁移学习
        在深度学习中,迁移学习是一种效率极高的方法。近年来,越来越多研究者的关注度逐步转向迁移学习。迁移学习是利用学习目标与已有知识之间的关联性,将原模型中的知识迁移到新的学习目标中,解决新问题的一种方法。迁移学习具有两大优势:第一,模型的初始性能高于零起点的性能。此外,迁移学习的效率更高,模型在一个训练过程中的效果比从零开始的效果更快捷。第二,在训练数据有限的情况下,采用迁移学习的方法比不采用迁移学习的方法更能获得准确的结果。根据迁移的特点,迁移学习可分为四类:特征、参数、关系、知识的迁移学习。
        在大多数实例中,迁移学习方法都利用重要性迁移来触发转换学习设置。一般来说,我们希望通过最小化预期风险来了解模型θ*的最佳参数:
       (1)
         指的是坐标点(x,y)在不同模型参数θ下,模型预测的值与样本真实值之间的差距。通过对最小化预测风险取平均,得到模型θ*的最佳参数。
        因为目标域 数量不容易确定,选择利用期望来确定模型最佳参数:
         (2)
        由于训练数据中未观察到目标域 中的标记数据,所以我们必须从源域 数据中学习模型。
        (1)如果 ,那么我们可以通过求解下列目标域的优化问题来简化学习模型, 
           (3)
        (2)如果 ,我们需要修改上述优化问题,使得学习模型的目标域具有高泛化能力,如下所示:
         (4)
        因此,我们应在每个实例 中加入不同参数,并赋予相应的权值 ,从而得到精确的学习模型。因此,P(Ds)和P(DT)之间的差异是由P(Xs)和P(XT)造成的。
           (5)
        如果我们能预估每个实例的 值,就能解决直推式迁移学习的问题。
        3我们的方法
        3.1数据集
        分别使用hmdb-a(大型人体运动数据库)和UCF_sports_actions(数据集)对人体步态运动进行预测。这两组数据集都是关于人体活动、新闻视频和电影视频的视频数据集,包括各种复杂场景和不同角度的人体运动视频剪辑数据[9]。在本应用中,选定的数据集(跑步和行走)经过筛选和处理后,作为步态分类数据集的一部分,最终使用的步态分类数据集包含约1.1万幅图片[10]。
        我们使用COCO关键点2017数据集进行训练。该数据集中有17个独特关键点类别,由于对车辆乘客监控的独特应用,我们决定排除的关键点类别如表1所示,
        表1训练时使用的数据集中的可用关键点(人体骨骼关键点的COCO数据集)
 
        该数据集包含超过200k的图像和250k标有关键点的个体实例。其中,可公开用于培训和验证的个体实例达150k。我们仅使用COCO2017 train(57k图像和150K个体实例)对COCO2017 val集进行性能评估。在培训和测试过程中,我们使用相同的实现方法,并使用了256×192的单一输入尺寸。结果如表2所示。所有报告的基线结果都与[23]报告的结果相似,甚至更优。
        表2COCO2017val关键点结果。APkp表示关键点AP、ARkp表示关键点AR。(红色:最佳,蓝色:次佳。)
 
        3.2框架
        在步态分类部分,通过原始模型的特征提取能力,采用迁移学习方法快速训练出任务数据对应的模型。Inceptio-V3是一个检测图像中主要对象的常用模型,可以解决运算复杂、参数过多、容易拟合的问题。该模型属于参数化、小型、低延迟、低功耗模型,能够满足各种用户情况的资源限制,同时,还可用于分类、检测、嵌入和分析。利用Inception-v3模型本身对图像进行分类,也可以将该应用中的步态分类看作图像分类,将原来的1000个分类器转换为研究任务所需的分类器。
        Inception-V3模型规则化是通过标签平滑实现的。输入x,模型计算k类概率,
               (11)
        假设真实分布为q(k),交叉熵损失函数为:
                (12)
        最小化交叉熵等价最大似然函数。交叉熵函数导出逻辑输出,
               (13)
        通过此公式,我们可以稍微平滑标签,
               (14)
        如果u(k)分布均匀,则
           (15)
        3.4模型训练
        使用Inception-V3模型对图像进行分类进行训练。首先,将数据集中视频的每一帧转换为图片。使用OS模块的OS .walk()方法,可以遍历指定文件夹中的所有视频文件,然后使用OPENCV逐帧读取视频,将每一帧保存为一张图片。
        原始图片获得后,颜色变成了一幅黑白的照片,显示人体骨骼的关键点和连接线路。人体骨骼的关键点的特点是对使用模型预测出的人体骨骼要点进行分类,作为步态分类的数据集。本节定义了Save_keypoint()方法,用于绘制图1中带有人体骨架关键点的黑白图像。
 
        图1所示将原始图像转化为人体骨骼关键点的特征图
        对数据集进行处理后,对Inception-V3神经网络进行修改,并在步态分类的最后增加一个新的分类层。然后从本地文件夹中读取模型,将处理后的数据集中的图像按8:1:1的比例随机分为训练集、验证集和测试集。
        定义新神经网络的输入和参数设置,如学习率、迭代时间、批。这些参数将会影响训练过程;不同的初始参数将会有不同的训练结果,从而选择出合适的参数值。一旦完成,正式的培训就可以开始了。
        在训练过程中,每次迭代记录当前模型的正确率100次,在测试集的末尾打印出测试结果,并保存最终的模型。
        4实验结果
        4.1实验
        实现了预期的基本功能,可以预测图像或视频中人体骨骼关键点的位置,实现简单的步态分类识别。
        共有10,962个步态分类数据集,其中测试集占数据集的10%,约1100幅图像。下面是最终的训练结果,模型经过了20000次的迭代。可以看出,完成的最终训练模型在图2的测试集上准确率为88.1%。实际应用的结果还相对较低,改进方法和结果还需要进一步的研究。
         
                                图2所示模型的预测精度
        在界面的应用上,以实用为主,不进行美观的修改,只包含功能所需的基本按钮和简单明了的按钮提示。
        选择打开要预测的图片、视频或摄像机,将加载模型预测图像中的人体骨骼关键点,并判断图像中人物的步态类型。如果加载模型较大,预测过程耗时将相应变长。
        如果图像中的人物正在运动,则会显示出人体骨架关键点的位置、连接线的位置以及人物的位置,如图3所示。
         
                                  图3所示运行效果
        4.2缺陷
        目前,关于步态的分类比较少,分为跑步和走路两种类型。但在现实生活中,人们的步态远不止这两种。当图像中的人物试图做出其他动作时,预测很容易误判。解决这一问题的唯一方法是收集更多不同步态类别的数据集,增加训练数据量。
        这个程序的运行需要很长时间。经过分析,会导致运行时间过长,主要是由于以下原因:第一,需要导入大量的数据;第二,总共需要加载两个模型,如果模型过大,加载时间会相应的变长。因此,需要更多的时间和更多的预测。
        为了节省程序运行所需的时间,点击打开应用程序,保持初始界面运行约1分钟后,载入第一个模型。应用程序不会再载入新的模型。在此之后,给每一幅图片做一次投影,人体骨架关键点的绘制时间大约为5秒。测试后,在同一个Python程序中,如果无法使用TensorFlow同时加载两个模型,则会出现冲突。因此,选择使用Os.popen()方法,创建一个新的控制台命令,并运行另一个Python程序来预测步态类型。
        这样做的缺点是,模型会根据每个角色的步态类型加载一次,而且图像中的人越多,需要的时间就越长。测试后,每次需要大约15秒的时间来预测一个人的步态类型,结果如表3所示。
        这个问题目前还没有很好的得到解决。因此,减少运行时间将是应用程序改进这部分研究的重点。
                  表3运行成本(减少运行时间)

        5结论
        本研究的重点是利用深度学习从图像中找到人体骨骼关键点的位置,并利用关键点确定当前人的步态类别,从而实现异常行为预警的目的。
        在该应用程序的设计中,实现了步态类别判断的预期功能。此外,该应用还存在诸多不足,主要存在四个问题:一是预测速度相对较慢;二是预测精度有待提高;第三是在步态分类方面,分类预测不足;四是界面设计过于粗糙,难以吸引用户使用。这些缺点使得应用还不能满足实际使用的要求,需要不断改进。目前,在机器学习领域,预测人体骨骼关键点和利用关键点识别步态仍是一个较新的课题,需要进一步的研究才能取得更好的结果。
        参考文献
        [1] M. Dantone, J. Gall, C. Leistner, L.V. Gool, Human pose estimation using body parts dependent joint regressors, in: CVPR, 2013.
        [2] S. Johnson, M. Everingham, Learning e_ective human pose estimation from inaccurate annotation, in: CVPR, 2011.
        [3] B. Sapp, B. Taskar, Modec: Multimodal decomposable models for human pose estimation, in: CVPR, 2013.
        [4] G. Gkioxari, P. Arbelaez, L. Bourdev, J. Malik, Articulated pose estimation using discriminative armlet classi_ers, in: CVPR, 2013.
        [5] S.J. Krotosky, M.M. Trivedi, Occupant Posture Analysis Using Reflectance and Stereo Image for Smart Airbag Deployment, in: Proceedings of the
        IEEE Intelligent Vehicles Symposium, Parma, Italy, vol. 14–17, 2004, pp. 698–703.
        [6] T.B. Moeslund, A. Hilton, V. Krüger, A survey of advances in vision-based human motion Capture and analysis, Comput. Vis. Image Underst.
        104 (2006) 90–126.
        [7] R. Poppe, Vision-based human motion analysis: An overview, Comput. Vis. Image Underst. 108 (2007) 4–18.
        [8] V. Lepetit, P. Fua, Monocular model-based 3D tracking of rigid objects, Found. Trends. Comput. Graph. Vis. 1 (2005) 1–89.
        [9] W. Gong, J. Gonzalez, F.X. Roca, Human action recognition based on estimated weak poses, EURASIP J. Adv. Signal Process. 2012 (2012) 1–14.
        [10] R. Poppe, A survey on vision-based human action recognition, Image Vis. Comput. 28 (2010) 976–990.
 

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: