从图像中检测并提取面部

时间:2013-11-12 06:52:50

标签: c++ opencv face-detection feature-detection feature-extraction

我一直在尝试做以下事情 - 当用户在我的网络应用程序中上传图像时,我想检测他/她的脸部并从中提取脸部(从额头到下巴,脸颊到脸颊)。

  • 我尝试使用Haar Cascade进行OpenCV / C ++人脸检测,但问题在于它给出了脸部的概率,因为图像的背景来自ROI内部甚至整个脸部都没有进入投资回报率。 我也想检测脸部内部的眼睛,使用上述技术时,眼睛检测并不准确。

  • 我已经阅读了一项名为Active Appearance Model (AAM的新技术。我在这里读到的blogs表明这正是我想要的,但我对如何实现这一点感到迷茫。

我的疑问是 -

  1. 使用AAM是人脸检测和脸部特征检测的好主意。
  2. 是否还有其他技术可以做同样的事情。
  3. 非常感谢任何这些帮助。

    谢谢!

1 个答案:

答案 0 :(得分:8)

正如您所注意到的,OpenCV的人脸检测实现并不是最先进的。这是一个非常好的和强大的实现,但你可以做得更好。

最近,Zhu和Ramanan(CVPR 2012)推出了Face detection, pose estimation and landmark localization in the wild,这被认为是近年来人脸检测领先的算法之一。
他们的算法能够检测正面和剖面视图的面部,并识别检测到的面部上的关键点,如眼睛的鼻子和嘴巴。

作者非常友好地将他们的代码与学习模型一起发布,它是一个Matlab实现,但主要的计算是用C ++完成的,所以制作一个独立的C ++实现方法应该不会太难。

相关问题