Mask RCNN 的损失函数是什么?
What is the loss function of the Mask RCNN?
论文已经明确提到分类和回归损失与Faster RCNN中的RPN网络相同。有人可以解释 Mask Loss 函数吗?如何使用 FCN 进行改进?
FCN 使用每像素 softmax 和多项损失。这意味着,mask 预测任务(对象的边界)和 class 预测任务(被屏蔽的对象是什么)是耦合的。
Mask-RCNN 解耦了这些任务:现有的边界框预测(又名定位任务)head 预测 class,就像 faster-RCNN,mask 分支为每个 class 生成一个掩码 =],没有 classes 之间的竞争(例如,如果你有 21 个 classes,掩码分支预测 21 个掩码,而不是 FCN 的具有 21 个通道的单个掩码)。使用的损失是每像素 sigmoid + 二进制损失。
底线是 Mask-RCNN 中的 Sigmoid 与 FCN 中的 Soft-max。
(See table 2.b. in Mask RCNN paper - Ablation section).
Mask R-CNN的多任务损失函数结合了classification、localization和segmentation mask的损失:L=Lcls+Lbox+Lmask,
其中 Lcls 和 Lbox 与 Faster R-CNN 中的相同。
掩码分支为每个RoI和每个class生成一个尺寸为m x m的掩码;总共 K classes。因此,总输出的大小为 K⋅m^2
因为模型正在尝试为每个 class 学习掩码,class 之间没有竞争生成掩码。
掩码:
定义为平均二元交叉熵损失,如果该区域与地面真值 class k 相关联,则仅包括第 k 个掩码。
其中yij
是大小为 m x m 的区域的真实掩码中单元格 (i, j) 的标签; y^kij 是为 ground-truth class k.
学习的掩码中相同单元格的预测值
论文已经明确提到分类和回归损失与Faster RCNN中的RPN网络相同。有人可以解释 Mask Loss 函数吗?如何使用 FCN 进行改进?
FCN 使用每像素 softmax 和多项损失。这意味着,mask 预测任务(对象的边界)和 class 预测任务(被屏蔽的对象是什么)是耦合的。
Mask-RCNN 解耦了这些任务:现有的边界框预测(又名定位任务)head 预测 class,就像 faster-RCNN,mask 分支为每个 class 生成一个掩码 =],没有 classes 之间的竞争(例如,如果你有 21 个 classes,掩码分支预测 21 个掩码,而不是 FCN 的具有 21 个通道的单个掩码)。使用的损失是每像素 sigmoid + 二进制损失。
底线是 Mask-RCNN 中的 Sigmoid 与 FCN 中的 Soft-max。
(See table 2.b. in Mask RCNN paper - Ablation section).
Mask R-CNN的多任务损失函数结合了classification、localization和segmentation mask的损失:L=Lcls+Lbox+Lmask, 其中 Lcls 和 Lbox 与 Faster R-CNN 中的相同。
掩码分支为每个RoI和每个class生成一个尺寸为m x m的掩码;总共 K classes。因此,总输出的大小为 K⋅m^2
因为模型正在尝试为每个 class 学习掩码,class 之间没有竞争生成掩码。
掩码:
定义为平均二元交叉熵损失,如果该区域与地面真值 class k 相关联,则仅包括第 k 个掩码。
其中yij 是大小为 m x m 的区域的真实掩码中单元格 (i, j) 的标签; y^kij 是为 ground-truth class k.
学习的掩码中相同单元格的预测值