论文解读《SOLO:SegmentingObjectsbyLocations》

更新时间:2023-07-23 15:18:46 阅读: 评论:0

论⽂解读《SOLO :SegmentingObjectsbyLocations 》
实例分割属于⽐较challenging的任务,他相当于是object detection和mantic gmentation的结合体。在SOLO出现之前,有两种常⽤的paradigm:(1)top-down:先进⾏⽬标检测,再对检测框做分割,经典的⽅法有Mask RCNN、PANet、TensorMask等;
(2)bottom-up:让每⼀个像素学习到⼀个embedding,拉近相同instance像素之间的embedding的距离,推远不同instance像素之间embedding的距离,最后根据embedding之间的距离进⾏cluster。
⽽这两种范式都显得indirect,前者需要较⾼的检测精度,后者需要有较好的embedding的学习,这都稍都影响了实例分割的效果。因此本⽂提出的SOLO可谓打破陈规之举,因为他实现了之间端到端预测instance mask的功能。也就是说,输⼊是⼀张image,直接输出instance mask以及对应的类别,整个过程属于box-free和grouping-free的范式。
aholic作者在研究SOLO时对instance之间的差别进⾏了rethinking。通过对所有的annotation统计发现:98.3%的instance质⼼相隔超过30个pixel,⽽剩下的1.7%中,⼤⼩⽐例超过1.5的占据了40.5%。也就是说,instance的不同完全可以归结于两个因素:(1)Location;
snip
(2)Size。
(1)对于Location的考虑:把image分成  个cell,每⼀个cell负责预测1个instance。当⼀个实例落⼊某个cell,则该cell负责预测该instance;(2)对于Size的考虑:采⽤FPN结构来适⽤于不同尺度的instance。
下图是整个SOLO⽹络结构⽰意图:
输⼊为⼀张image,通过FCN进⾏多尺度的特征提取,得到多尺度的feature map。随后接⼊两个分⽀:(1)分类分⽀:最后的输出是  维度的矩阵,这⾥ C 表⽰总类别数,表⽰着总共  个cell,每⼀个cell负责预测⼀个C维的类别向量;(2)Mask分⽀:输出维度是  ,其中  表⽰feature map的维度, 这个维度表⽰总共有个cell去预测个mask。好听的英文歌推荐
其中Semantic category和Instance mask是对应的,例如某⼀个cell位于  ⾏  列,则该类别对应到Instance mask的第  个维度的mask(i,j从零开始计数)。
值得注意的是,传统的卷积操作具有空间不变性,这种性质在分类任务中很有必要,但是在分割任务中并不适⽤,需要的是对位置信息更加敏感的⽹络。因此⽂章采⽤了CoordConv,即在特征图赏concat了两个维度的位置信息,这样在做conv的时候就有位置信息的参与了,实现了position nsitive。
S ∗S S ∗S ∗C S ∗S H ∗W ∗S 2H ∗W S 2S 2S 2i j i ∗S +j
⽹络的Loss Function如下:
其中第⼀项分类的Loss采⽤focal loss,第⼆部分mask的loss计算公式如下:
midway
狠狠地
⾥⾯的参数含义懒得打字了,如下图:
草莓的英文关于
的选择最终选取了Dice Loss,其表达形式如下:
其中rides
的计算公式如下:
Inference阶段:(懒得打字了,别骂我):
Decoupled SOLO:由于  的值可能很⼤,mask的维度为  就显得不太合适了,因此作者采⽤如下思想,将维度从  减⼩到
:
d mask D S S 2S 22S
实验是在MS COCO数据集上做的,主要实验结果如下:
adobe air是什么
⼀点感悟:
inquiry
(1)SOLO这种直接预测instance mask的范式设计的⾮常漂亮,将分割问题转化为对位置的分类问题,从⽽抛开了传统的top-down和bottom-up这两种间接求解的范式,简化步骤保证性能的同时,使得实例分割很⼤程度上不再依赖于detector或者embedding的grouping;
(2)CoordConv感觉⽤得⾮常妙,卷积的平移不变性对于分类任务是有利的,但对于实例分割,如果⼀张image有两个相同的⼈,传统的卷积⽹络可能会学习到相同的特征,因此会混淆两个instance;⽽采⽤CoordConv,加⼊了位置信息之后,该平移不变性将会打破,⽽这种position nsitive对实例分割这类任务⾮常有利;
支持英文(3)最后那个decoupled SOLO的设计,确实⾮常精妙,通过将  的维度拆分成两个  的组合,⼤⼤减少了训练的参数。有⼏个不解的问题:
(1)如果instance⾮常密集,导致⼀个cell中存在多个instance,那么这个cell到底负责预测哪⼀个instance?(可能这⾥还要考虑
FPN?);(2)然后多个尺度的feature map之间是如何协调的,因为肯定涉及到不同尺度特征图上的cell去预测同⼀个instance,这⾥的后处理是怎样操作的?
具体怎样操作的还是需要抽空研究⼀番代码。S ∗S S

本文发布于:2023-07-23 15:18:46,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/186368.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分割   位置   实例   维度   需要   信息
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图