Opencv自带的frontface检测器比较

比较Opencv自带的frontface检测器

CascadeClassifier*haarcascade_frontalface_alt = new CascadeClassifier("./xml/haarcascade_frontalface_alt.xml");

CascadeClassifier*haarcascade_frontalface_alt_tree = new CascadeClassifier("./xml/haarcascade_frontalface_alt_tree.xml");

CascadeClassifier*haarcascade_frontalface_alt2 = new CascadeClassifier("./xml/haarcascade_frontalface_alt2.xml");

CascadeClassifier*haarcascade_frontalface_default = new CascadeClassifier("./xml/haarcascade_frontalface_default.xml");

CascadeClassifier*lbpcascade_frontalface = new CascadeClassifier("./xml/lbpcascade_frontalface.xml");

检测时间上对比,其中1为下图中的复杂背景图像(1580*1110),2为简单背景图像(846*826)

ms

Haar_alt

Haar_alt_tree

Haar_alt2

扫描二维码关注公众号,回复: 2707578 查看本文章

Haar_default

lbp

1

2054

1350

2309

1651

948

2

912

700

964

623

326

从上面的检测时间可见,LBP的时间最短

对于检测结果矩阵的对比,由于LBP和alt_tree只检出了两张人脸,因此只对这两个矩阵进行对比

Haar_alt

Haar_alt_tree

Haar_alt2

Haar_default

lbp

1

70

74

70

72

69

1

82

88

91

83

82

2

277

302

283

296

292

2

266

278

254

263

271

从上面的检测矩形可见,alt_tree的检测结果相对较大,lbp的检测结果相对较小,但是不是每次都最小。

检测结果的排列顺序与表格相同,从上面的检测结果可见,对于复杂背景下,alt_tree和LBP的检测结果都是一致的,但是LBP的用时要短很多,因此LBP相对来说实时性更强。

OpenCV中4个人脸级联分类器

OpenCV下的data\haarcascades中有4个haar特征训练的级联分类器:

它们之间的区别如下:

1:haarcascade_frontalface_alt.xml

Stump-based 20x20 gentle adaboost frontal face detector.

2:haarcascade_frontalface_alt2.xml

Tree-based 20x20 gentle adaboost frontal face detector.

3:haarcascade_frontalface_alt_tree.xml

Stump-based 20x20 gentle adaboost frontal face detector.This detector uses tree of stage classifiers instead of a cascade

4:haarcascade_frontalface_default.xml

Stump-based 24x24 discrete(?) adaboost frontal face detector.

实验比较:

原图输入:前亚洲男子天团

结果:

采用1的结果: 识别效果最好,都识别出来,并且无误检

采用2的结果:有误检

采用3的结果:

采用4的结果:

猜你喜欢

转载自blog.csdn.net/Alisa_xf/article/details/81585442