首先,我将解释如何生成分数。显示在框边缘的置信度分数是model faster_rcnn_resnet_101
. 这是它的生成方式。
上图是从 Fast R-CNN 借来的,但是对于 box predictor 部分,Faster R-CNN 具有相同的结构。我们从 ROI 池化层开始,所有区域建议(在特征图上)都经过池化层,将被表示为固定形状的特征向量,然后通过全连接层,将成为ROI 特征向量,如图所示数字。现在,相同的 ROI 特征向量将被馈送到用于类预测的 softmax 分类器和用于边界框回归的 bbox 回归器。这是它们在张量流图中的样子。
在图中,Flatten 和 Flatten_1 节点都接收到相同的特征张量,并且进行了 flatten op(在 flatten op 之后,它们实际上就是第一张图中的 ROI 特征向量)并且它们仍然是相同的。现在我们关注ClassPredictor,因为它实际上会给出最终的类预测。
上图就是ClassPredictor里面的东西。它实际上是一个全连接层,如第一张图所示。输出张量在图中的形状为 64*24,它代表 64 个预测对象,每个是 24 个类别之一(23 个类别和 1 个背景类别)。所以对于每个对象,输出是一个 1x24 的向量,99% 和 100% 的置信度得分是向量中的最大值。
所以关于你的问题,没有定义置信度分数,而是模型的输出,你可以在可视化函数中定义一个置信度分数阈值,所有大于这个阈值的分数都将显示在图像上。因此,除非您重新训练模型和/或提供更多训练数据,否则您无法更改置信度得分。在您的图中,在计算精度时,99% 的片剂检测将被归类为假阳性。
解决这个问题的解决方案是添加更多的训练数据和/或训练更多的步骤(但不是过度拟合)