本帖最后由 lgqfhwy 于 2020-7-5 15:34 编辑
健身以及游戏辅助设备
作者:lgqfhwy
健身以及游戏行业最近有比较广阔的市场,在自己实际的锻炼以及游戏的过程中,也感觉到这些行业越来越需要包括深度学习在内的人工智能的辅助,这些智能的辅助可以进一步增强效率,提供科学指导,而且可以增加娱乐性。这块具备机器学习能力的电路板弥补了在硬件方面的不足,结合软件以及算法方面的开发可以提供更加智能的产品,还可以更好的提升健身以及游戏辅助的质量。
作品分为两个部分,一个是健身辅助设备,另外一个是游戏辅助设备。
健身辅助设备主要是帮助记录健身时做的组数(重复动作数量),记录下来后可以采用更加科学的计算与指导,另外一方面就是健身时动作的规范与矫正。在实际处理健身辅助设备时,单靠开发版的能力我们感觉还是做的不够精确,所以就考虑了开发版与摄像头的协同操作,借助摄像头,就可以利用计算机视觉的各种算法,而开发版的存在可以进一步弥补摄像头计算机视觉算法的不足,可以更加精确与更加智能的计算与处理实际信息。
在游戏辅助设备方面,我们侧重于健身类游戏,也就是运动与健身的交互。这游戏中同时满足趣味性与获得健身效果,这可以做到一举多得。在实际项目的处理中,我们主要考虑是将现有的游戏的操作替换为实际的动作,而实际的人体动作可以通过摄像头和开发版比较精确的捕捉到,反馈给智能设备(如计算机),然后游戏可以根据得到的动作反馈来进行下一步的操作。
说明:摄像头捕捉到图像其实就是实时的视频,所以我们在实际的处理中整个项目是以视频为基本的输入单位。做到与实际相符。
- 健身辅助设备
健身要解决的实际信息获取问题是动作的重复次数以及动作的矫正。在动作的重复次数方面我们主要依靠计算机视觉算法RepNet与开发版的实际感知协同获得。在动作的矫正问题上我们主要依靠计算机视觉算法中人体关键点的识别与开发版的实际感知协同获得。
-
- 计算机视觉方面
利用计算机视觉方法计数,我们首先利用的是一篇谷歌提出的计数算法RepNet[1], 其整体的网络架构图如下所示:
健身的过程中存在着各种各样的重复过程,因为健身时我们实际都是按组计算,比如拒哑铃要做一组,可能是十二次重复的上下过程。深蹲是要做两组,可能是二十四次重复的深蹲过程。俯卧撑要做三组,可能是三十六次重复的俯卧过程。我们希望在实际的运动锻炼过程中,不仅有计算机可以帮忙记录实际的组数与次数,并可以实时的播报或者利用其他的智能设备(如apple watch)显示给运动者作为参考,还可以利用关键点与开发版的实际检测,将动作的标准或者实际动作的矫正通过播报或者apple watch,手机等的智能设备实时展现给运动者。
在RepNet这个网络中,可以理解记录多种重复过程(依赖数据集),网络模型主要有三部分组成:一个帧编码器,一个中间表征(称为时间自相似度矩阵),一个时间段预测器。编码器其实就是常用网络的encoder部分,通过编码得到视频的特征,然后利用时间自相似度矩阵进行计算分析,从而实现对重复过程计数。此深度学习模型在countix进行训练,我们直接使用其预训练的模型部署。
1.2开发版设计方面
开发版的设计是固定在人的胳膊和大腿部分,利用其智能的感知帮助记录数据,并且利用摄像头的计算机视觉算法来弥补在实际训练的过程中可能会出现的误差等问题。在实际的运动动作较多,每个动作都需要精确的调试。大概的架构如下:
- 游戏辅助设备
游戏方面侧重于健身,所以实际架构也与上面相符,不同的部分是游戏的设计以及反馈方面,这一部分我们确实没有还没有进行深入的研究,留待后续。
项目总结:
实际求是的说就是项目并没有做完,我们都对算法比较熟悉,对于硬件以及其与摄像头算法的结合方面也做的不好,另外花了很多时间在视觉算法上。希望以后还能有时间能够做出来。
参考文献:
[1] Dwibedi, Debidatta, et al. "Counting Out Time: Class Agnostic Video Repetition Counting in the Wild." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.
|