掩码R-CNN

时间:2018-09-29 15:45:50

标签: neural-network deep-learning conv-neural-network mask image-segmentation

我尝试使用 Tensorflow 工具在mask-RCNN模型中实现损失功能。我使用了平均S形交叉熵损失函数:

loss_mask = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits( labels=y_true, logits=y_pred))

用于对象分类任务的 mask分支。他们为每个RoI(对象图)使用了S型像素密集分类。 输出日志的形状 [batch_size num_roi,m,m,k] ,其中 m m 是遮罩(RoI地图)分辨率, k 是类数。

我对标签的形状感到困惑,并在损失功能中登录。以下段落来自Mask-Rcnn paper,这让我感到困惑。

  

对于每个RoI,mask分支都有一个K(m * m)维输出,它对K个分辨率为m×m的二进制掩码进行编码,每个   K班。为此,我们应用每个像素的Sigmoid,并定义Loss_mask   作为平均二进制交叉熵损失。对于与   真实级别k,Loss_mask仅在第k个掩码上定义   (其他屏蔽输出不会造成损耗)。我们对   Loss_mask允许网络为每个类生成掩码,而无需   班级之间的竞争;我们依靠专门的分类   分支以预测用于选择输出蒙版的类标签

我不明白他们的意思

  

对于与真实级别k相关的RoI,仅Loss_mask   在第k个遮罩上定义(其他遮罩输出对   损失)。

登录标签中应该做些什么,然后再将它们引入损失功能,以使实施正确?

换句话说,损失功能中的登录标签是否是整个图像的蒙版具有 k 频道( [batch_size,img_height,img_width,k] )。我应该将同一张图像的 RoI登录信息合并到单个蒙版中吗?

0 个答案:

没有答案