Deep learning 掩模RCNN的损失函数是什么?

Deep learning 掩模RCNN的损失函数是什么?,deep-learning,object-detection,Deep Learning,Object Detection,本文清楚地提到了分类和回归损失与快速RCNN中的RPN网络相同。有人能解释一下掩模损失函数吗。如何使用FCN进行改进 FCN使用每像素softmax和多标称损耗。这意味着屏蔽预测任务(对象的边界)和类预测任务(被屏蔽的对象是什么)是耦合的。 Mask-RCNN将这些任务解耦:现有的边界框预测(也称为本地化任务)头预测类,就像更快的RCNN一样,并且Mask分支为每个类生成一个Mask,而类之间没有竞争(例如,如果您有21个类,掩模分支预测21个掩模,而不是FCN具有21个通道的单个掩模)。使用的

本文清楚地提到了分类和回归损失与快速RCNN中的RPN网络相同。有人能解释一下掩模损失函数吗。如何使用FCN进行改进

FCN使用每像素softmax和多标称损耗。这意味着屏蔽预测任务(对象的边界)和类预测任务(被屏蔽的对象是什么)是耦合的。
Mask-RCNN将这些任务解耦:现有的边界框预测(也称为本地化任务)头预测类,就像更快的RCNN一样,并且Mask分支为每个类生成一个Mask,而类之间没有竞争(例如,如果您有21个类,掩模分支预测21个掩模,而不是FCN具有21个通道的单个掩模)。使用的损耗为每像素sigmoid+二进制损耗。
底线是,掩模RCNN中的Sigmoid与FCN中的Soft max。

()。

Mask R-CNN的多任务丢失功能结合了分类、定位和分割掩码的丢失:L=Lcls+Lbox+Lmask, 其中LCL和Lbox与更快的R-CNN相同

掩码分支为每个RoI和每个类生成一个尺寸为m x m的掩码;总共K个类。因此,总输出的大小为K⋅m^2

因为模型试图为每个类学习一个掩码,所以类之间不存在生成掩码的竞争

任务:

定义为平均二元交叉熵损失,仅当区域与地面真值类k相关时,才包括第k个掩码。

yij在哪里
是单元格(i,j)的标签在尺寸为m x m的区域的真实掩模中,y^kij是为地面真值类k学习的掩模中相同单元的预测值。

我有点困惑。在掩模R-CNN中有5个损失。RPN类和BBox类和掩模类,BBox和掩模损失。在快速R-CNN中,RPN的第一个输出是k+1类的概率分布。T第二个输出是边界盒回归。在Mask R-CNN中,RPN与Fast R-CNN相比只有两个类别:对象还是非对象?并且面具头部有三个损失,这里Mask_BBox的损失与RPN_BBox相同,Mask_类的损失与RPN_类相同,但与所有K类的RPN相反ies?你说,21个类预测21个掩码,那么在一个类中如何区分实例,我的意思是,如果一个掩码有一个类所有实例,如何将它们划分出来?