2

所以我在matlab中找到了级联对象检测器,它使用Viola-Jones算法来检测人脸。非常容易使用,而且效果很好!

但是有几个问题。

viola-jones 方法有四个阶段:

  1. 哈尔特征选择
  2. 创建一个完整的图像
  3. Adaboost 训练
  4. 级联分类器

在 matlab 中,我可以使用 FrontalFace(CART) 和 FrontalFace(LBP)。这些是经过训练的级联分类模型,所以它们将成为第 4 阶段的一部分,对吧?但是如果我使用 FrontalFace(CART),第 1 阶段和第 4 阶段有什么区别?两者都使用它所说的 Haaar 功能。

我们可以说 FrontalFace(CART) 和 FrontalFace(LBP) 是两种不同的人脸检测方式吗?我可以将这两个相互比较,看看哪个更好吗?还是我应该找到另一种方法来与中提琴琼斯进行比较?

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

4

1 回答 1

0

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

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

为了比较哪个更好,您需要一些真实图像,这些图像是带有手工标记的人脸的图像。我相信你可以在网上找到一个基准数据集。或者,您可以使用应用程序标记您拥有的图像trainingImageLabeler

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

于 2016-01-12T14:36:10.990 回答