摘 要:本文主要介绍了SIFT算法结合人体姿态估计的应用,在人体学习运动的过程中,系统实时捕捉用户动作,利用火柴人进行用户动作模拟。通过对比各个训练动作的特征,对用户的错误动作进行提示,并给出合理建议。
关键词:SIFT;人体姿态估计;神经网络
一、简介
近年来在生活的各个方面,或多或少都有人工智能的体现。除了生活必要方面,互联网软件的发展也有助于人们的精神文明建设和培养。利用软件对用户运动的监测也逐渐兴起。
二、研究背景
在软件中,针对用户体验角度而言,传统的运动方式一般是用户结合教学视频进行学习。用户打开感兴趣的模块,点击想要学习的课程,便可以进行学习。这种教学模式一定程度上虽然已经较为方便,但其局限性在于用户不能看到自己的学习情况,动作正误等,对于其学习效果就不能得到保证。
如果在学习过程中,系统可以捕捉用户学习视频,并进行分析,进而提示用户动作情况、错误信息等,便有利于用户对自己的动作及时进行矫正。站在用户的角度,这种学习模式很大程度上满足了用户的需求,学习软件亦可以更加智能,对用户的历史学习数据进行分析,找出用户学习特点,根据其个人情况,提出个性化建议等。
三、算法分析与实现
对于捕捉到的用户学习视频,应剔除背景,想人体模型提取出来,并且寻找出人体各个关键部位,从而进行相对位置分析。
(一)视频预处理
对于摄像头录制的视频,应当先分割成若干图片,分割是按照帧进行处理。对于每一张图片,结合人体大致形状,将背景素材剔除。这样,便于后期对人体关键点的提取。
(二)关键点提取
对于剔除背景后的图片,应当提取人体关键部位。结合SIFT算法,将每个点表示为八维向量,每个点的八维向量顺序不同、模长不同,便可以作为唯一标识符。八维向量模型如图1
(三)神经网络训练
对于所提取的人体部位数据,可能会存在较大的误差。所以将图片数据放入卷积神经网络,进行迭代训练。在网络学习过程中调用激活函数,增强模型的鲁棒性;使得模型不过分依赖所给数据,从而具有更广泛的应用范围。
(四)人体动作火柴人模拟
对于提取出来的关键点,结合人体关键身体部位,进行火柴人模拟。一方面,方便用户清晰看到自己动作的框架,可以及時发现错误;另一方面,系统根据各个身体部位的位置关系,找出一系列的典型错误,经过串行的判断条件,得出当前动作的错误个数与种类,从而对用户动作进行打分,给出合理的改进建议。
四、结语
在实际应用场景中,系统录制用户动作进行分析,很大程度上方便了用户的学习过程。对于用户学习动作错误情况提示,不仅可以采用界面文字提示,也可以采用语音提示的方式,让用户感受到“私人教练”的体验,达到边学习边反馈的功能。
参考文献
[1]张庆辉,万晨霞,秦淑英,卞山峰.基于卷积神经网络的道路目标检测算法[J].计算机工程与设计,2019,40(07):2052-2058.
[2]张闯,杨咸兆,徐齐全,陈苏婷.基于SIFT特征的哈希快速检索与图像匹配[J].现代电子技术,2019,42(12):127-131.
[3]冯健颖.基于卷积神经网络的人体姿态估计研究[D].哈尔滨工业大学,2018.
作者简介:
李婷婷(1997~)本科,研究方向为软件工程。