大家好,欢迎来到 Crossin的编程教室~

几天不见,Crossin 又去做什么游戏去了呢?这次我做的不是游戏,而是游戏机!而且是体感游戏机

说到体感游戏,现在大家可能最多想到的是 switch 上的健身环大冒险。

耗时2天,我自制了一台体感游戏机

但往前几年,其实还开源阅读有另一个非常火的体感游戏设备,就是 xb镜像ox 上的 kinect。和 switch 用带有传感器的手柄来识别玩家动作不同,kinect 使用的是一组摄像头,通过图像来识别玩家的动作。

耗时2天,我自制了一台体感游戏机

我这次做的 demo,就是一个使用摄像头的动作识别系统。使用的硬件是 NVIDIA 的AI边github中文官网网页缘计算设备Jetson AGX Orin

耗时2天,我自制了一台体感游戏机

开机安装好 JetPack 开发套件,这里就有了很多可以运行的测试程序来让你体验。官方文档里也提供了很多示例来帮助开发者上手。

这里是我运行github中文官网网页视觉和对话式AI基准测试的结果:

耗时2天,我自制了一台体感游戏机

耗时2天,我自制了一台体感游戏机

在官方的 Hello AI World 里,提供了一些 demo。

耗时2天,我自制了一台体感游戏机

耗时2天,我自制了一台体感游戏机

比如物体识别,识别一帧画面只需要十几毫秒,完全可以用在实时的视频监控,甚至正在进行的游戏当中。

耗时2天,我自制了一台体感游戏机

还有这样一个 demo:

耗时2天,我自制了一台体感游戏机

好家伙,这不我一半的工作量已经完成了嘛。

拿到镜像人生人体姿态数据之后,我们就可以用各镜像人生种动作对应的数镜像图片怎么弄据来训练一个分类器。然后通过giticomfort是什么轮胎分类器来识别摄像头实时拍摄到的用户姿态,判断出动作。再根镜像据识别出的动作,效率计算公式向系统发送键盘指令。这样就完成了一个简单的基于人体动作的交互系统git命令

耗时2天,我自制了一台体感游戏机

在 NVIDIA 智能物联网的 github 仓库里,我发现了一个类似的项目,用手势去操作浏览网页。

耗时2天,我自制了一台体感游戏机

g镜像文件ithub.com/NVIDIA-AI-I…

里面使用 S效率VM 支持向量机来训练手势分类器,这个用到 Python 的 sciki软件技术专业t-learn 模块。我们的第二部分也可以用同样的方法,只不过我们使用的是人体全身模型。

为了训练出分类器,我们需要一点样本数据。

耗时2天,我自制了一台体感游戏机

之后,就是通过 pynput 模块发送键盘制令。

耗时2天,我自制了一台体感游戏机

将以上这效率的拼音些全Git部合在一起,就得到了我们想要的功能:

一个可以软件工程用动作来玩游戏效率意识方面存在的问题的系统

耗时2天,我自制了一台体感游戏机

耗时2天,我自制了一台体感游戏机

对于 Orin 来说,用在这个项目上其实有点大炮打蚊子了,因为姿态判断和动作识别用的都是预训练模型,实时的计算量并不算大。但它的软件环境和开发社区资软件工程源确实大大提升了我这次的开发效率

唯一不足的就是从我镜像图片怎么弄家的网络连 github、apt、pip 都太慢了,以至于花了不少时间镜像在环境安装上,如果相关资源能有一套国内镜像就更好了。

最后有一个小彩蛋,你们是否留意到我用来演示的游戏 K软件技术专业OF97。在2009年,也就是 kinect 正式发布的前一年,我做的硕士毕业设计,其实就是:使用单摄像机的人机交互系开源软件

而在其中的动作识别部分,用的同样也是 SVM 支持向量机。在答辩时,我用的演示游戏,就是 KOF97

耗时2天,我自制了一台体感游戏机

在论文最后的工作展望里,我曾写到:

耗时2天,我自制了一台体感游戏机

没想到,在13年后,我自己把这个坑镜像填上了。这不禁让我又想到乔布斯曾gitlab说的:

相信我们生命中曾经经历的那些点,将在未来的某一天以某种方式串连起来。史蒂夫乔布斯

本文代码基于NVIDIAgiti官方示例修改:

github.com/NVIDIA-AI-I…

运行环境:

NVIDIA Jetson AGX Orin

JetPack 5.0

Python 3.8.10

代码已开源:python666.cn/c/2