Wang

Results 24 comments of Wang

You could use this: https://github.com/weiliu89/caffe/tree/ssd, code of the author of SSD.

找到问题所在了,网络太深训练的时候梯度消失导致loss无法收敛,我删除了conv11前的大概10个卷积层,自己再稍微调整下就能收敛了。@allenwangcheng

邮箱留一下,ssd在wider face上的训练和检测效果很差是正常的,因为小脸太多了,你可以看下sfd的论文和代码,适用于小脸检测。我对数据没有做任何处理,不过我尝试过对面积小于256的人脸做了mask再作为训练集,但是效果提升不明显。@allenwangcheng

1.我把depthwise卷积层和separable卷积层的名字改了一下,卷积层名字中并没有出现dw和sp,本来就是只有33和11的卷积核,分别是给dw层和sp层用的。 2.我删除了bn层和scale层,你可以加上,这个没有影响。 3.batch_sampler参数和均值我用的sfd里的,因为考虑到用的是wider face数据集,这些都是计算好的了。 4.我删除了group操作(mobilenet里最重要的操作),你可以加上,这样模型就很小了,但是收敛的的速度会变慢。 @allenwangcheng

是的,不是depth wise卷积了。加上group我也试过,模型收敛变慢,准确率下降了很多,速度也没有变快很明显。所以我这个是改后的。。@allenwangcheng

没用mobilenet_v2,pooling层是我改的,把第一个stride=2的卷积用pooling层代替,我就是尝试是哪个环节导致模型不收敛的时候改了一下这里了的,后来我又改回来了试过,这里并没有影响,你也可以改成mobilenet中的那样。电脑里改的版本太多了,有点乱。@allenwangcheng

最终loss在2.5左右。大概训练20个epoch,loss降到3的时候检测效果就还算可以了。nms_threshold: 0.3, keep_top_k: 750, confidence_threshold: 0.1,这个影响不太大。@allenwangcheng

我最后在测试代码里加上了仅显示概率大于0.7的框。。。 confidence_threshold: 0.1是用来生成更多的框在fddb数据集上测试用的。@allenwangcheng