3

我们正在使用 Kinect 制作交互式装置,我们需要知道有多少人在我们的装置前缓慢地站立/行走。

我们最多算5个人,如果有更多我们不在乎。

为此,我们将 Kinect 检测到的总体积除以 1 人的近似体积。

count = Vtotal / Vperson;

最后,为了平滑计数,我们计算 2 秒的平均计数。

countAvg = Vtotalavg / Vperson;

这适用于 2-3 人,但当有更多时,斑点重叠,总体积似乎不再相关。

有人知道我们如何解决这个问题并获得可靠的计数……要么使用相同的 blob 体积方法,要么使用更智能的方法!?

4

2 回答 2

6

天花板安装 kinect。将其直接指向地板。获取原始深度数据并过滤任何比某个阈值更远的像素,该阈值往往仅捕获头部和肩部。(尝试所有高于 4 英尺的东西。)在这些像素中,检查每组连续像素并获得该组的总像素数。如果组像素数小于最小阈值,则忽略它。您现在可以将每组视为一个人,但进一步的改进有助于捕捉站得很近的人:将组像素数除以平均每人像素常数并四舍五入到最接近的值。

有用。

于 2012-09-07T00:10:13.527 回答
2

但你为什么这样做?Kinect 为他面前被跟踪的每个骨骼提供一个 Skeleton id。简单地制作一个数组(大小为 5)并将跟踪的骨架放在那里。要计算它们,您只需获取数组中的元素数

于 2012-09-06T15:07:30.987 回答