MTCNN-Tensorflow icon indicating copy to clipboard operation
MTCNN-Tensorflow copied to clipboard

关于PNet的召回率以及侧脸采样问题

Open haozixu opened this issue 7 years ago • 6 comments

您好,我最近在尝试使用keras和tensorflow复现mtcnn。 有些地方我是按照自己的理解写的,训练PNet时最终的召回率只有73%左右,准确率89%左右, 我这里分类的loss在0.26左右波动,框回归loss在0.016,关键点回归在0.021左右。这样的结果是不是太糟糕了呢? 我训练的时候是实时读数据并做数据增强,一个batch里面各样本数量是30,10,10,20。 但我之前发现正方形框的采样,在对于侧脸这种较为狭长的bbox上IOU经常很低, 达不到0.65的正样本的阈值,所以会根据采样不成功的次数自动地把正样本IOU阈值调低到0.55。 请问这是不是会有很大的影响呢? 多谢指教。

haozixu avatar Mar 25 '18 15:03 haozixu

@haozixu pnet的召回率是有点低了,pnet召回率在97到99%比较正常(在fddb上测试)。 第二个问题 我感觉没影响吧,但我自己没试过。我建议你把pnet检测的结果可视化出来看看,观察一下脸的位置是否都被框起来了?

AITTSMD avatar Mar 27 '18 09:03 AITTSMD

感谢您的回答。 这段时间发现PNet的召回率还可以,没有太大遮挡的人脸基本都能找出来,其实是之前的评估有些问题。但现在主要问题出在RNet和ONet的精度比较低,会有很多 不是人脸但没被筛掉的FP。直接强行提高阈值的话有些人脸可能会被筛掉。请问这主要可能是什么问题呢? 尝试过更长时间的训练和更干净的数据生成,但效果不明显。也试过换更大的网络,确实有较显著的提升,但是上述问题仍比较严重,无法正常使用;而且与这个架构的思路感觉有点背离。 谢谢。

haozixu avatar Apr 19 '18 15:04 haozixu

@AITTSMD

haozixu avatar Apr 20 '18 02:04 haozixu

@haozixu 你好,RNet的准确率和召回率大概是多少呢,看样子是模型没有训练好~

AITTSMD avatar Apr 22 '18 01:04 AITTSMD

@haozixu 你好,您这边最后解决了您说的问题了么?

MichaelGou1105 avatar Mar 01 '19 06:03 MichaelGou1105

@AITTSMD 您好,请问您有在wider face的train set上计算过recall吗?我在wider face上训练MTCNN,在FDDB上计算PNet 的 recall,IoU threshold为0.5的时候能达到97%+的。但是在wider face的train set上PNet的recall很低,IoU threshold为0.65的时候只有47.8%,IoU threshold为0.4的时候为69.3%,请问是因为wider face的困难样本比较多吗?

LiChenyang-Github avatar Apr 27 '20 14:04 LiChenyang-Github