我正在使用Tensorflow Object Detection API来训练包含2个类的自定义数据集。我使用的网络是Faster RCNN + ResNet101,我利用预先训练的模型来初始化权重。训练集包括总共1200张图像,其中类别1包含20,000个实例,类别2包含6,200个实例。训练似乎效果很好-损失收敛良好,并且验证集上的mAP约为88%。 但是,预测结果很奇怪。例如:在一个图像中,如果一个类的实例出现多次(看上去完全相同),则训练后的模型不会预测该图像中的所有实例。它只预测其中的一些。发生这种奇怪行为的原因可能是什么?
由于数据集中类实例的不平衡,我增加了类2实例,以使实例数量相等。即使使用平衡的数据进行训练,预测问题仍然存在。
我还尝试了几种超参数组合。那也不能解决问题。
答案 0 :(得分:0)
默认情况下,可视化模块在一张图像上最多绘制20个框,您可以通过将max_boxes_to_draw
传递给可视化功能来增加该数目。
如果这不是问题,那么您是否尝试过增加提案数量?看来每个图像上平均有约20个对象,这比COCO数据集的图像中的平均对象数要多。