
小编引言
HorizonBox 案例介绍
游戏,一直是人们基于现有技术,对未来技术,以及对未来生活的想象。这其中,现有技术便是所有想象的支点。所以,游戏一直在随着技术的变革产生着变化。除了技术的变革以外,游戏也承载了和人越来越有关的内容,比如勇气,乐观,爱情等等。从世界上第一款用示波器做的电子游戏 "Tennis for two" 开始,人们对游戏的制作一直是希望拟人化,以及和现实生活有关的,比如1986年诞生的街头争霸,1996年诞生的古墓丽影是冒险的象征,1997年诞生的仙剑奇侠传凄美的爱情令人感动。往后画面越来越清晰,越来越逼真。
Horizon Box 支持跑,跳,攻击等动作,可以使用这些动作和游戏进行有效结合,增加真实游戏的体验,让你如临其境。
这个案例的 demo 视频,在帖子最下方。

底层娱乐
- 我们的方案可以和游戏厂商以及游戏主机厂商对接。
中层赋能
- 同时我们开放出AI技术接口,开放软件接口,为开发者赋能。
上层生态
- 基于端行为识别也可以作为交互的入口,比如智慧屏,云游戏+端交互等等。

技术简介
本方案采用基于序列的行为识别模型与人体关键点检测相结合进行行为识别从而与游戏端产生交互,本方案流程框图如下:

从上图中可看出,HorizonBox的诞生历经从采集数据开始:
1. 采集数据
采集与游戏交互会使用的“跳”、“跑”、“攻击”、“站立”等动作,将采集到的视频数据抽帧成图片,人工将图片标记为相应的动作。接着是模型训练。
2. 模型训练
要提到的步骤是要将模型 OP 适配,X2 对大部分 OP 都可以无缝支持,但不排除有个别需要特殊处理,这也不得不提到地平线天工开物工具链,同时,采用工具链中的定点化工具将模型参数定点化,到此,模型便可以扔到板子上等待起舞了。
3. 模型部署
地平线 AI 开发入门课程
4. 一致性验证
如果不出意外CP端模型运行结果是与GPU预测(mxnet or TensorFlow)结果是一致的,但是意外无处不在,大概率是出在模型部署阶段的前后处理,在此也不要为debug感到无助,我们采用天工开物工具链提供的model_verifier工具定位,并且采用runtime接口将BPU黑盒打开,一步步一个一个模型进行比对将一致性对上。
一致性通过后,模型的问题就该告一段落了,但开发并没有结束。
5. 帧率对齐
游戏对于时序和延迟要求较高,如果模型计算力大到超出了BPU负载,那帧率便会影响到精确度,精确度低到怀疑自己,所以提高模型性能、降低采集数据的帧率两端就像跷跷板的两端一样互相倾斜,达到平衡适配。注:本方案由于时间有限只能在此平衡处理,如果时间充裕,可调优模型或者优化开发来提高帧率,降低延迟。
本方案到此,可识别出人体行为动作,包括“跑”、“跳”、“攻击”、“站立”这些常用的游戏交互动作,并且精确度较高。
6. 游戏对接
通过websocket, 将识别出的动作传输到等待接收指令的游戏端。整个开发解决方案就至此结束了。
怎么样?是否你也想试一试,体验或者自己开发一个这样的产品呢?


