所以我发现matlab中的级联对象检测器使用Viola-Jones算法来检测面部。非常好用,效果很好!
但有几个问题。
中提琴法有四个阶段:
在matlab中,我可以使用FrontalFace(CART)和FrontalFace(LBP)。这些是Trained级联分类模型,所以它们将成为第4阶段的一部分吗? 但是,如果我使用FrontalFace(CART),第1阶段和第4阶段之间有什么区别?它们都使用Haaar的功能。
我们可以说FrontalFace(CART)和FrontalFace(LBP)是检测面部的两种不同方式吗?我可以将这两者相互比较,看看哪一个更好吗? 或者我应该找到另一种与中提琴相比较的方法吗?
是否还有其他易于在matlab中实现的人脸检测方法? 在互联网上找到一些(使用肤色等),但Matlab对我来说是一个新手。所以我觉得那些代码对我来说很复杂。
答案 0 :(得分:0)
主要区别在于FrontalFace(CART)和FrontalFace(LBP)已经在不同的数据集上进行了训练。此外,从名称来看,我猜测FrontalFace(LBP)使用的是LBP特征而不是Haar。
最初的Viola-Jones算法使用了Haar功能。但是,它后来被扩展为使用其他类型的功能。 vision.CascadeObjectDetector
支持Haar,LBP和HOG功能。
要比较哪一个更好,你需要一些地面真实图像,这些图像是带有手工标记的面部图像。我相信你可以在网上找到一个基准数据集。或者,您可以使用trainingImageLabeler
app。
另外,如果您对vision.CascadeObjectDetctor
附带的分类器的准确性不满意,可以使用trainCascadeObjectDetector
功能训练自己的分类器。