在matlab中进行人脸检测(viola-jones)

时间:2015-10-21 07:54:11

标签: matlab face-detection matlab-cvst viola-jones

所以我发现matlab中的级联对象检测器使用Viola-Jones算法来检测面部。非常好用,效果很好!

但有几个问题。

中提琴法有四个阶段:

  1. 哈尔特征选择
  2. 创建整体图像
  3. Adaboost培训
  4. 级联分类器
  5. 在matlab中,我可以使用FrontalFace(CART)和FrontalFace(LBP)。这些是Trained级联分类模型,所以它们将成为第4阶段的一部分吗? 但是,如果我使用FrontalFace(CART),第1阶段和第4阶段之间有什么区别?它们都使用Haaar的功能。

    我们可以说FrontalFace(CART)和FrontalFace(LBP)是检测面部的两种不同方式吗?我可以将这两者相互比较,看看哪一个更好吗? 或者我应该找到另一种与中提琴相比较的方法吗?

    是否还有其他易于在matlab中实现的人脸检测方法? 在互联网上找到一些(使用肤色等),但Matlab对我来说是一个新手。所以我觉得那些代码对我来说很复杂。

1 个答案:

答案 0 :(得分:0)

主要区别在于FrontalFace(CART)和FrontalFace(LBP)已经在不同的数据集上进行了训练。此外,从名称来看,我猜测FrontalFace(LBP)使用的是LBP特征而不是Haar。

最初的Viola-Jones算法使用了Haar功能。但是,它后来被扩展为使用其他类型的功能。 vision.CascadeObjectDetector支持Haar,LBP和HOG功能。

要比较哪一个更好,你需要一些地面真实图像,这些图像是带有手工标记的面部图像。我相信你可以在网上找到一个基准数据集。或者,您可以使用trainingImageLabeler app。

为自己的图像添加标签

另外,如果您对vision.CascadeObjectDetctor附带的分类器的准确性不满意,可以使用trainCascadeObjectDetector功能训练自己的分类器。