gpt4 book ai didi

unity3d - 衰减 Kinect 中的位置和方向

转载 作者:行者123 更新时间:2023-12-02 01:35:12 24 4
gpt4 key购买 nike

我正在使用 Kinect 获取每个关节的位置和方向,然后将它们发送到 Unity。我注意到值有很多“跳跃”或波动,例如,有时我不移动我的手,而在 Unity 中它会旋转 180 度。

我想要的是一个平滑这种波动的好方法。我听说了卡尔曼滤波器,我实现了这里写的代码

http://www.dyadica.co.uk/very-simple-kalman-in-c/

这对位置来说还不错,但对方向来说不太好……如果你知道更好的方法或更好的方法来实现卡尔曼,那就太好了。

最佳答案

首先,您需要检查您的传感器检测您的变化和 Action 的能力。如果传感器是一个好传感器,那么卡尔曼滤波器将是开始消除抖动和其他噪声的好方法。通过查看您的代码,您已经实现了一个很好的一维 KF。但是在您的情况下,您的要求似乎需要正确的方向和位置,您可能必须为此设计多维 KF(矩阵格式的方程式以消除多维噪声)。通过这些链接,您将更好地了解 KF

  1. http://www.codeproject.com/Articles/342099/EMGU-Kalman-Filter
  2. http://www.codeproject.com/Articles/865935/Object-Tracking-Kalman-Filter-with-Ease

尝试实现多维 KF,看看您的系统对此的响应如何。如果您对系统的性能不满意,那么您可能需要通过进行一些更改来扩展过滤器。最近出现了一些其他 KF 变体,它们是 Extended KF 和 Unscented KF。卡尔曼滤波器在一些实际场景中失效

  1. 噪声不是高斯零均值
  2. 来自传感器的输入信号是非线性的(在实际中很明显)

在实际场景中,噪声永远不会是零均值,输入也不是线性的。为此,引入了 KF 的扩展。您可以通过 Extended kalman filterunscented kalman filter 克服上述缺点。这两种算法都是KF的改进,适用于实际案例,只有对KF有所了解才能理解。

关于unity3d - 衰减 Kinect 中的位置和方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31649923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com