#游戏unity-VR场景漫游#手柄轨迹图形识别结果的优化思路

根据上一篇博客的讲解后,当我们用手柄移动某一特定轨迹后,就可以在本地得到一个二进制的txt文件。实例如下——采集一个圆形的手柄轨迹:
这里写图片描述

那么,其实,在完成对每一帧位置坐标的二进制存储后,在运行的时候,就会发现一个问题——我们再一次的手柄轨迹很难做到与我们存储的二进制文件中的数据完全相同,也就是说,在实际运行中,很难做到精准的识别出存储的图形。
为了解决这种问题,针对每一种图形,我们要多采集几种,再结合机器学习的方式。当在实际运行时,得到的二进制数据先跟存储的多个图形二进制数据进行比较,不要求它们完全相同,但要基本相似,这样就可以提高手柄轨迹识别时的匹配度和反馈情况。所以,需要用到神经网络。


在记录手势时,还有一些额外的事情需要考虑。
在Unity的控制器中就对可能识别出的图形进行分类,标注出可识别出的图形种类个数,以及它们的每一个的名字,这样就能做到对不同识别轨迹图形的分类存储。

  • 与您的头部相比,手势识别器知道手势的位置,方向
    例如,头部左侧画的线与右侧画的线不同。画在你面前的直线与抬头时画在你面前的直线不同。

  • 手势的开始和结束很重要
    例如,如果想要神经网络将顺时针和逆时针绘制的圆圈分类,则需要将它们等分为两种类型的示例。所以,在同一个称为“圆圈”的手势中,记录50次顺时针旋转和50次逆时针旋转。

  • 使用具有相似名称的多个手势来解决复杂的形状
    对于某些形状,绘制它们的可能方式会变得非常复杂,从而使得出现错误的几率要高得多。可以通过记录具有相同名称的多个手势来避免这种情况,例如,顺时针圆,逆时针圆等等。但是代码以相同的方式对所有这些手势作出反应。

  • 确保每个手势的记录数量大致相同
    例如,如果有100个圈子的记录,请确保要检测的所有其他手势的记录大概有100个。它不一定要完全一样,只要记住神经网络可以更容易地识别手势(所以如果你有100个圈子的数据,确保有大约100个你想要检测的所有其他手势的录音) 有更多的例子,所以增加特定手势被检测到的机会记录更多的例子。

猜你喜欢

转载自blog.csdn.net/zys91011_muse/article/details/80185789
今日推荐