(个人)实时交互的太极拳学习系统创新实训第二周(二)

实现DTW算法

这几天我在VS里用C++初步实现了DTW算法,其实结合项目,我要用到的DTW算法算是简单版了,因为最后不需要逆向搜索出最短路径,只要一个distance。目前能够处理一维数据了,并且经我测试,我实现的DTW算法可以有效的反映出两个序列之间的相似程度。

但是有一个问题我一直有点担心,那就是递归导致栈溢出的问题。我们的帧序列不会只有几百帧,动辄就是几千帧(关于实时动画的帧数我还有一些其他问题亟待解决,之后有结果了会写进博客)。这种方法需要存储的距离矩阵会很大,在存储空间有限的笔记本上恐怕吃不消。所以定义一个匹配窗口r,每次只计算这个窗口中的矩阵的值,再不断循环,最终填满整个距离矩阵。查阅文献我发现还有一些别的方法可以加快DTW或者节省存储空间,之后会尝试。

诺亦腾抖动扭曲问题

我们的动捕设备出了问题,脚会乱扭乱抖,很让人头疼。在我各种查阅手册的时候,发现诺亦腾百度贴吧里如下一段:

大家用久了诺亦腾会遇到严重的扭曲情况,比如使用一会就出现手脚扭曲,甚至出现校正完后直接就是歪的情况,大家可以尝试诺亦腾提供的修复工具进行修复,软件名为neuron doctor,运行后用专用的连接线,(硬件没在身边,暂时没有照片,只能口述),很细的线一头连接HUB,另一头橡胶的套上陀螺仪,基本上你一看就知道是哪个线,然后用程序连接,点击修复一路下一步,然后到了关节时刻,会出现倒计时,这时候一定要快速甩动橡胶套,点击一下两个示意图标是可以播放动画的,很多人不知道可以点击播放视频,就不知道如何校准了,校准完毕后,会看到绿点分布在球的表面,越均匀越好,然后点击下一步结束,然后校准下一个。

但是我们并没有修复专用的连接线……

在我数次测试下,我发现当我脚离开地面的时候,脚是几乎不扭曲的,所以我揣测是实验室地面的原因(有磁场?)导致脚上传感器失灵,而且官方手册里有类似的提醒,所以我打算下周换一个场地试一下。

下一步工作

①DTW算法已初步实现,下周我会把它变成能处理三维向量的。顺利的话,可能在下周把它封装成UE4蓝图里的Node,方便编写UE4程序的组员调用。

②诺亦腾的问题一定要解决啦,有进展会更新到博客的。(网上可供参考的资料太少了啊)

猜你喜欢

转载自blog.csdn.net/qq_33244381/article/details/79952433