Tensorflow对象检测:经过训练的模型无法预测图像中同一对象的所有实例

时间:2019-01-11 19:32:51

标签: python tensorflow object-detection object-detection-api

我正在使用Tensorflow Object Detection API来训练包含2个类的自定义数据集。我使用的网络是Faster RCNN + ResNet101,我利用预先训练的模型来初始化权重。训练集包括总共1200张图像,其中类别1包含20,000个实例,类别2包含6,200个实例。训练似乎效果很好-损失收敛良好,并且验证集上的mAP约为88%。 但是,预测结果很奇怪。例如:在一个图像中,如果一个类的实例出现多次(看上去完全相同),则训练后的模型不会预测该图像中的所有实例。它只预测其中的一些。发生这种奇怪行为的原因可能是什么?

由于数据集中类实例的不平衡,我增加了类2实例,以使实例数量相等。即使使用平衡的数据进行训练,预测问题仍然存在。

我还尝试了几种超参数组合。那也不能解决问题。

1 个答案:

答案 0 :(得分:0)

默认情况下,可视化模块在一张图像上最多绘制20个框,您可以通过将max_boxes_to_draw传递给可视化功能来增加该数目。

如果这不是问题,那么您是否尝试过增加提案数量?看来每个图像上平均有约20个对象,这比COCO数据集的图像中的平均对象数要多。