我在自定义数据集上的tensorflow对象检测API上训练了一个更快的rcnn模型。我发现3.5k步后损耗约为2。但是,当我运行eval.py时,mAP分数几乎都为0,如下所示。
我不明白为什么会这样。但是,当我以3.5k的步长查看图像时,模型已经捕获了一些框,如下所示
有人可以解释为什么mAP分数接近于零,即使该模型已经学会输出相当多的盒子吗?
答案 0 :(得分:0)
图像显示的是每个类别的AP@0.5IOU得分,而不是mAP。正如您在PerformanceByCategory中看到的那样,它会显示每种情况的得分,其中显示“遮阳篷三轮车”,“自行车”,“公共汽车”,“汽车”,“被忽略的区域”等...
与图像输出中一样,检测到的类别(例如“汽车”,“汽车”,“行人”)显示了AP得分偏离零,而其余类别的AP得分为零。这意味着该模型仍未在测试图像中找到相应的类别。
这可能是由于您的实验中存在许多变量。以下是您可能会问自己的一些问题。 您为每个类别分配了多少张训练图像?每个类别的训练图像的比例应大致相等,每个类别的测试图像的比例也应大致相等。如果有更多针对汽车和行人的训练图像,则该模型将更有可能捡起汽车和行人的物体,从而显示出非零的AP得分,而自行车的AP得分为零。