使用 Kinect 进行人脸识别

3

我研究了微软提供的Kinect SDK和Toolkit。测试了人脸检测示例,成功运行。但是,如何识别这些脸?我了解OpenCV(VS2010)的基础知识。是否有适用于人脸识别的Kinect库?如果没有,有哪些可能的解决方案?是否有任何使用Kinect进行人脸识别的教程可用?

3个回答

11

我一直在自己研究这个。起初,我只是将Kinect用作网络摄像头,并将数据传递到一个识别器中,该识别器是基于此代码模型构建的(使用Emgu CV进行PCA):

http://www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti

虽然那个方法还可以,但我认为我可以做得更好,因为Kinect有如此强大的面部跟踪功能。最终我使用Kinect来找到面部边界、裁剪它,并将其传入该库进行识别。我已经整理了代码并在Github上发布,希望能对其他人有所帮助:

https://github.com/mrosack/Sacknet.KinectFacialRecognition


2

0

Kinect没有内置的面部识别功能。我不知道是否有任何相关教程,但我相信肯定有人尝试过。这在我的待办清单上,希望很快能有时间。

我建议保存面部跟踪信息,并将其与已有信息进行比较以实现识别。您可以编写一个“设置”函数,要求用户盯着Kinect,然后保存面部跟踪器返回给您的点。当您希望识别一个面孔时,用户会看着屏幕,然后将面部跟踪器点与面部数据库进行比较。这大致是Xbox使用的方法。

关键问题在于置信度水平。数字不会完全像之前那样返回,因此您需要为每个特征包含值缓冲区——代码将会返回“我有93%的把握这是Bob”之类的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接