matlab中的人脸检测(viola-jones)
Posted
技术标签:
【中文标题】matlab中的人脸检测(viola-jones)【英文标题】:Face detection (viola-jones) in matlab 【发布时间】:2016-01-20 03:00:18 【问题描述】:所以我在 matlab 中找到了级联对象检测器,它使用 Viola-Jones 算法来检测人脸。非常容易使用,效果很好!
但是有几个问题。
viola-jones 方法有四个阶段:
-
Haar 特征选择
创建完整图像
Adaboost 训练
级联分类器
在 matlab 中,我可以使用 FrontalFace(CART) 和 FrontalFace(LBP)。这些是经过训练的级联分类模型,所以它们将成为第 4 阶段的一部分,对吧? 但是如果我使用 FrontalFace(CART),第 1 阶段和第 4 阶段有什么区别?两者都使用它所说的 Haaar 功能。
我们可以说 FrontalFace(CART) 和 FrontalFace(LBP) 是两种不同的人脸检测方式吗?我可以将这两个相互比较,看看哪个更好吗? 或者我应该找到另一种方法来与 viola-jones 进行比较?
还有其他在matlab中容易实现的人脸检测方法吗? 在互联网上找到了一些(使用肤色等),但 Matlab 对我来说很新。所以我觉得那些代码对我来说有点复杂。
【问题讨论】:
【参考方案1】:主要区别在于 FrontalFace(CART) 和 FrontalFace(LBP) 在不同的数据集上进行了训练。另外,从名字上,我猜 FrontalFace(LBP) 使用的是 LBP 特征而不是 Haar。
最初的 Viola-Jones 算法使用 Haar 特征。但是,它后来被扩展为使用其他类型的功能。 vision.CascadeObjectDetector
支持 Haar、LBP 和 HOG 功能。
要比较哪个更好,您需要一些真实图像,这些图像是带有手工标记的人脸的图像。我相信你可以在网上找到一个基准数据集。或者,您可以使用 trainingImageLabeler
应用程序标记您拥有的图像。
另外,如果您对 vision.CascadeObjectDetctor
附带的分类器的准确性不满意,您可以使用 trainCascadeObjectDetector
函数训练自己的分类器。
【讨论】:
以上是关于matlab中的人脸检测(viola-jones)的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在不使用 viola-jones 算法的情况下用 opencv 检测人脸? [关闭]