gpt4 book ai didi

algorithm - 平滑 Kinect Facetracking 数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:11 26 4
gpt4 key购买 nike

我正在尝试使用 Kinect Facetracking 控制机器人炮塔。当用户移动他的头时,炮塔会朝相同的方向移动。我能够获得用户头部的偏航、俯仰和滚动,并使用这些数据控制炮塔。我目前的尝试有效,但不能流畅地移动炮塔。运动有时是零星的和波涛汹涌的。我想要的是流畅的 Action 和流畅的 Action 。

所以我遇到的主要问题是,由于数据是实时接收的,我无法可靠地预测用户接下来要做什么。我需要在接收数据和命令之间尽可能少的滞后。

另一个问题是Kinect传来的数据并不完美,有时会有一点波动。这是很好的数据,但如果我不对它做些什么,就会出现波动。

如何平滑来自 Kinect 的数据,使其尽可能流畅?

我有一些想法,但我不想影响你,让你像我一样思考

最佳答案

TransformSmoothParameters 联合过滤帮助了一些。但是当我偶然发现这个时,最显着的变化发生了:http://www.dyadica.co.uk/journal/very-simple-kalman-in-c/所以基本上只是通过更新传递你的数据,然后它开始过滤它。印象深刻。很简单。效果非常好。我认为这更像是一个移动平均线而不是卡尔曼滤波器,但这正是我所需要的。希望这可以帮助那些正在尝试做类似事情的人。

        private double Q = 0.000001;
private double R = 0.0001;
private double P = 1, X = 0, K;

private void measurementUpdate()
{
K = (P + Q) / (P + Q + R);
P = R * (P + Q) / (R + P + Q);
}

public double update(double measurement)
{
measurementUpdate();
double result = X + (measurement - X) * K;
X = result;
// Debug.WriteLine("Measurement " + result + " y: " + y);
return result;
}

关于algorithm - 平滑 Kinect Facetracking 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15211435/

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