对图像分割里的mask详细解释

mask在不同任务中有不同的用法,分类的结果叫label。分割的结果叫mask。记录了分割结果真值,像素级别的分类标签。

图像分割里的情况

1,前背景分割这样一个二分类任务:mask就可以是(h,w,1)的二值图,1表示前景,0表示背景。
2,实例分割中:例如使用OpenCV库在python中实现,为每个对象分配颜色标签,可视化也叫mask。
3,在深度学习里,以mask-rcnn为例子:
**第一步:**假如一个输入含有s个对象,ROI区域对应到14×14大小的feature map 中。将14×14大小feature map通过反卷积变换为28×28×s【这样会更加精确,保留了空间信息】。【提取ROI区域的特征图以便于进入全连接进行分类与mask的预测】,先进行分类和bbox的回归,然后使用其结果进入FCN进行mask的生成。
**第二步:**取对应的 ROI 的正区域输入FCN,在每一个ROI内进行FCN操作。网络使用FCN预测的所有掩码。
FCN具体工作原理:FCN则是从抽象的特征中反卷积恢复出每个像素所属的类别。是对第一步的特征对齐的特征图,取每个像素在特征图中的类别可能性最大的像素值,作为这个像素最后的预测像素值,这样可以为每个像素预测一个类别(softmax分类),这样就得到了binary mask。这个mask是对特征图空间结构的编码,提取空间结构,二进制地表示出对象的空间布局。如下图:
在这里插入图片描述在这里插入图片描述
此时每个RoI产生28×28×s个binary mask【这里binary mask是提议的mask,只有二进制0,1】。每个ROI只选对应类别的一个28×28×1 binary mask记录(使用第一步的分类结果)。
训练过程:用每一个ROI记录的mask和ground truth 的标记计算损失,比较标记与binary mask每个像素点信息。这样不会有不同类别 mask 间的竞争。
可视化显示2个mask,如下图:
在这里插入图片描述
这里28x28的mask是具有浮点像素值,不是整数。如下图:
在这里插入图片描述在这里插入图片描述
**第三步:**sigmoid后输出每一类的 mask,对每个像素点阈值二值化为0,1图:mask值大于0.5表示物体,小于0.5表示背景。
最后,预测的mask被调整为边界框一样的尺寸,将它们覆盖在原始图像上以可视化最终的输出。【这里的mask是最终的mask】

在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值