Jie Zhang

Results 119 comments of Jie Zhang
trafficstars

I would like to test the performance on [FDDB](http://vis-www.cs.umass.edu/fddb/) and I will write the test code. Current training part code still need some modification, and it seems pretty hard to...

I modified the model with 5 landmarks ( 27 landmarks on paper). I also prepared 20000 background images (average size is 500 x 500 I guess) and 10000 face images....

I will consider to use NPD + ERT, but I would like to try 27 landmarks first. :smiley: Thanks a lot for your suggestion!

@JordanCheney pay attention to the leaf score at first carts, it shouldn't be too large. The problem is caused by the internal node split which may lead to a leaf...

@caxieyou 如果你说的 Python 版本是指 [FaceDetect/jointCascade_py](https://github.com/FaceDetect/jointCascade_py),我看过它的源码,并没有做 hard negative mining,也就是说负样本的数量一开始就是固定的,随着训练过程的深入,负样本必然不断减少。 我现在采取的策略是当负样本数量不够时,通过在线生成的方式来扩充负样本(也可以离线事先生成足够多的负样本)。 你用的 20000 张背景图片事实上是可以生成很多负样本的,500x500 的尺寸下做区域的选取并加上相应的变换 (旋转,翻转,模糊等) 应该能够生成足够多的负样本,论文中也提到用来 20000 张背景图片来生成负样本。

@caxieyou 不好意思,我之前的说法有误,[FaceDetect/jointCascade_py](https://github.com/FaceDetect/jointCascade_py) 事实上是做了 hard negative mining 的,参考这段[代码](https://github.com/FaceDetect/jointCascade_py/blob/master/cascade/carm/boostCart.py#L160-L218)。 我没有跑过 FaceDetect/jointCascade_py 。JDA 还没写完,所以自己也没有实践过训练,对训练数据大小也没有很好的把握(我也是新手=。=) 关于你用了 2W 张背景图片,却在第 40 个分类器下就被消耗完了,说明在 hard negative mining 阶段消耗了大量背景图片,这是否意味着你的背景图片之间的相似度很高,背景不够丰富?我没仔细看 FaceDetect/jointCascade_py 中是如何产生负样本的,我认为在滑动窗口的基础上还可以对产生的区域(也就是负样本)做各种变换来成倍地增加负样本数量,当然,这种方法在 hard negative mining 面前并不一定有效。 关于这种级联分类器的训练,我认为 OpenCV 自带的 haartraining...

那份 Python 代码里确实是做了 hard negative mining,它产生负样本之后还送到了现有的级联分类器中去做验证,如果被判成正样本的就认为该负样本为 hard negative。负样本在送到现有级联分类器前做一下 Data Augmentation 也是可以的,但是效果不好说。 PS:我的 QQ 号 1062018952

可以考虑多次调用 `NegGenerator::NextImage()` 生成一个待选负样本集合,然后多线程进行验证是否足够 hard

@nihui 简单用 OpenMP 加速了一下,但是效率不是很高 c9aaf980fa0571442d71bfcfc8927faf6f2b5e05

正常,mini-batch 训练就是这样的