我正在使用 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个并行头,
在这种情况下,什么是损失?
答案 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(“多项式与独立掩码”)中看到它。