TensorFlow 对象检测 API - 对象检测 api 中的损失意味着啥?
Posted
技术标签:
【中文标题】TensorFlow 对象检测 API - 对象检测 api 中的损失意味着啥?【英文标题】:TensorFlow Object Detection API - what do the losses mean in the object detection api?TensorFlow 对象检测 API - 对象检测 api 中的损失意味着什么? 【发布时间】:2018-06-15 03:53:48 【问题描述】:以下损失分别是什么意思? (在 TensorFlow Object detection API 中,同时训练基于 FasterRCNN 的模型)
Loss/BoxClassifierLoss/classification_loss/mul_1
Loss/BoxClassifierLoss/localization_loss/mul_1
损失/RPNLoss/localization_loss/mul_1
损失/RPNLoss/objectness_loss/mul_1
clone_loss_1
【问题讨论】:
【参考方案1】:Region Proposal Network 的损失:
Loss/RPNLoss/localization_loss/mul_1:RPN 的定位损失或边界框回归器的损失
Loss/RPNLoss/objectness_loss/mul_1:分类器的损失,用于分类边界框是感兴趣的对象还是背景
最终分类器的损失:
Loss/BoxClassifierLoss/classification_loss/mul_1:将检测到的物体分类为各种类别的损失:猫、狗、飞机等
Loss/BoxClassifierLoss/localization_loss/mul_1:定位损失或边界框回归器的损失
【讨论】:
不错的答案。谢谢!你知道为什么是“mul_1”吗?【参考方案2】:clone_loss_1
仅在您在多个 GPU 上训练时才相关:Tensorflow 将创建模型的克隆以在每个 GPU 上进行训练并报告每个克隆的损失。如果您在单个 GPU/CPU 上训练模型,那么您只会看到 clone_loss_1
,它与 TotalLoss
相同。
其他损失如Rohit's answer中所述。
【讨论】:
【参考方案3】:如果你使用更快的 rcnn 网络,你会遇到四种损失
1.RPN 损失/定位损失 如果我们看到更快的 rcnn 架构,我们将拥有用于获取 regoin 提案的 cnn。为了从特征图中获取区域建议,我们有损失函数。这是生成的锚的边界框的定位损失。'
2.RPN 损失/对象损失 这也是我们在提取区域建议时,无论对象是否存在于锚盒中。
3.BOX_CLASSIFIERLOSS/CLASSIFICATION_LOSS 这是对象属于狗还是猫的最后一层??
4.BOX_CLASSIFIERLOSS/LOCALIZATION_LOSS 这也是对象边界框的最后一层。 (狗和猫的坐标)
【讨论】:
以上是关于TensorFlow 对象检测 API - 对象检测 api 中的损失意味着啥?的主要内容,如果未能解决你的问题,请参考以下文章