在使用TensorFlow对象检测API训练Mask RCNN时,“损失”是什么?

时间:2019-01-24 07:38:09

标签: tensorflow computer-vision object-detection

我正在使用 TensorFlow对象检测中的 Mask RCNN 进行自定义对象检测的培训。因此,我要预测对象实例遮罩以及边界框。

预先训练的模型:mask_rcnn_inception_v2_coco

以下是我训练的快照。

  

INFO:tensorflow:全局步骤4181:损耗= 0.0031(3.290秒/步)

     

INFO:tensorflow:全局步骤4181:损耗= 0.0031(3.290秒/步)

     

INFO:tensorflow:全局步骤4182:损耗= 0.0030(2.745秒/步)

     

INFO:tensorflow:全局步骤4182:损耗= 0.0030(2.745秒/步)

在这种情况下,您能告诉我这里的损失是什么吗?

我的问题与训练损失及其变化无关。步骤。

我不清楚在训练Mask RCNN时这种损失意味着什么吗?在Mask RCNN中,最后一层有3个并行头,

  • 用于检测班级
  • 用于预测边界框
  • 用于预测实例掩码

在这种情况下,什么是损失?

1 个答案:

答案 0 :(得分:1)

Mask R-CNN纸的损失函数结合了 3个损失的加权总和(3个输出):分类,定位和分割蒙版:

分类和边界框(本地化)损失与Faster R-CNN中的损失相同。

添加的是蒙版的每个像素的S型+二进制损失。 mask分支为每个班级生成一个掩码,而各班级之间没有竞争(因此,如果您有10个班级,mask分支将预测10个掩码)。使用的损耗是每像素S形+二进制损耗。

如果您想更深入地了解掩模损失,本文指出:“多项式与独立掩模:掩模R-CNN将掩模和类别预测解耦:作为现有的框 分支预测类标签,我们为每个标签生成一个掩码 类之间没有竞争(通过每个像素的S形和二进制损失)。在表2b中,我们将其与 使用每个像素的softmax和多项式损失(在FCN [30]中通常使用)。”

您可以在paper的第6页,表编号2.b(“多项式与独立掩码”)中看到它。

相关问题