【问题标题】:Recognizing Sign Language in 3D Kinect在 3D Kinect 中识别手语
【发布时间】:2016-02-10 00:37:06
【问题描述】:

我们正在为我的本科最后一年项目使用 kinect 1.0 设备制作手语翻译器。 到目前为止,我们已经使用 kinect sdk 中的骨架 api 实现了二维手势识别,并在其上应用了 DTW 算法。 我们还跟踪手指,并使用轮廓和在轮廓上应用凸包来区分帧中显示了多少手指。我们使用 C# 和 Emgucv 来实现这一点。

现在我们陷入了如何将数据转换为 3d 坐标的问题。我不明白的是:

  1. 3D 可视化效果如何?我的意思是现在我们只使用深度流并在其上应用皮肤分类器,仅将皮肤部分显示为白色像素,将其余对象显示为黑色像素,并且我们在颜色流中显示轮廓和凸包区域。对于 3d,我们将使用相同的深度和颜色流?如果是,那么我们将如何将数据和坐标转换为 3d?

  2. 对于涉及手指触摸鼻子的手势,我将如何隔离轮廓区域以不包括整个脸部,而只是告诉哪个手指触摸鼻子的哪一侧?这是 3d 的用武之地吗?

  3. 有哪些 api 和库可以在 c# 中帮助我们?

    Extracted Fingers after Contouring and Convex Hull

【问题讨论】:

    标签: c# 3d kinect emgucv


    【解决方案1】:

    Kinect 支持使用红外激光创建深度图。它投射红外网格并测量网格中每个点的距离。您似乎已经在使用此网格的深度信息。 要转换为 3D,您确实应该使用深度信息。一些基本的三角函数将有助于将深度图转换为 3D (x,y,z) 坐标。来自相机的颜色流可以映射到这些点上。

    检测手指是否接触鼻子是一个难题。虽然 kinect 的网格密度不是很高,但 3D 可能对您没有帮助。我建议在相机图像上使用边缘检测(例如 canny 算法)和轮廓识别来检测手指是否在脸部前面。测试手指是真的接触到鼻子还是刚刚接近是真正的挑战。

    【讨论】:

    • 将深度信息转换为 3d 是否有利于存储手势信息?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多