PanopticFCN一个新的做全景分割的论文

7 篇文章 8 订阅
4 篇文章 1 订阅

PanopticFCN一个新的做全景分割的论文

本文由林大佬原创,转载请注明出处,我们有来自腾讯、阿里等一线AI算法工程师组成微信交流群, 如果你想交流欢迎添加微信: jintianandmerry 拉群, 添加请备注 “交流群”

例行烧香,请旷x公司的王某某(出于保护隐私我不说了,并不是每个人都跟你一样心胸狭隘素质"高超") 自觉忽略本文,我写文章出来是给初学者参考的,不是给你举报的,请你尊重一下他人的劳动成果,求求你全家行行好.也别尝试人肉我,我深知旷x公司的人肉能力,但我本身就是一个不足轻重的小人物,不值得你们公司耗费人力物力做这些无聊的事情,但把我逼急了我会反过来人肉你,你的黑幕知道的人还不多.如果你再次用狭隘的学阀主义举报我,我会采取法律手段.

image-20201214165006306

自从被旷x公司的王xx黑了之后(包括举报拉黑我,滥用大v特权删我文章等),我就不想再分享任何旷x公司的论文了,但是我转念一想,如果如此因噎废食,那我岂不是正中下怀?学术本来就是自由的,我想研究你还能阻止我不成?你是上帝吗?再加上我不能因为一粒老鼠屎而放弃一锅粥(真的??), 旷x从某些意义上来说是一个很有用的企业, 再者说,每个人的思维方式,思维逻辑不一样,你可以说你的是对的,我也可以说我是对的,但你说我错了或者我说你错了,这就轮不到你我评判了,我一直都是辩证的去看待问题,世界上都没有绝对的对错,只是看待问题的角度和表达方式不同而已.不管怎么说,还是来讲一讲这篇论文了.

这里面有很多值得借鉴的东西,论文的细节我尽可能的讲正确,但鄙人理解能力毕竟有限,如果你有更好的见解,我会虚心采纳,一起交流.我主要想从两个方面交流这篇文章:

  • 一个是从动态卷积输出参数这种方式有什么好处?为什么SOLOV2也是这种方式;
  • 另外一个是这个算法理论速度上限可以做到多快, 以及它的优缺点.

动机

这个论文可能围绕的核心要点,就是如何统一化things和stuff的表达, 传统的方法都是两个流派,要么是基于实例分割的基础,加一个语义分割分支来做全景分割; 要么就是单独的把stuff的实例来做一个分支,通过ROIAlign等方式来得到个体的mask.

而文章提出的创新之处就在于,通过统一化的表达方式,不仅仅简化了全景分割这个任务, 而且使得整个网络更加的高效.

PanopticFPN会将每一个object/或者背景类别编码到一个单独的卷积核权重内, 通过这个方式,将objects和背景完美的融合在了一起.并且这个方式不需要额外的boxes输出定位, 这个方法超越了目前的一些SOTA的方法, 不管是在语义分割还是目标检测上.

image-20201214170759025

通过这种方式, 将编码的features和objects以及背景学习到的kernel weights组合成最终检测结果.

论文也提到, 这种方式可以从两方面来区分现有的方法:

1). 以前的方法在生成things的时候会通过nms的方式来过滤掉dense的prediction, 而提出的方法是生成实例感知化的卷积核权重, 这就不需要nms,也没有dense Prediction了.

2). 对于背景的处理不再是类似于传统FCN一样,通过一个多类别的矩阵去做每个像素点的分类, 而是通过和实例同样的处理技术,直接预测背景的kernel权重.

结构

总体来说, panopticfpn的网络结构还算是比较简单的:

image-20201214173501100

FPN出来直接分出两支, 一支用来得到权重,一支用来编码特征. 当我笔记写到这里,我想我应该可以解答一开始提出的第一个问题了, 也就是这种预测kernel 权重的方式有什么好处?

我认为其中一个好处就是, 你可以很顺理成章的得到一个图片里面不同的物体个数这个动态的值, 这个值体现在哪里呢?就体现在这最后一层1x1卷积的通道上, 是不是很巧妙? 试想一下, 你再部署任何一个目标检测模型的时候有没有遇到过困难? 我想对于1 stage几乎没有困难,但是对于2 stage问题就出在其中有一个阶段的输出是dynamic 的.

这个问题即出现在一些2 stage目标检测上, 基于检测再做mask分割的算法同样也有这个问题, 而现在的很多部署框架是很支持中间动态操作的, 即便是你可以hack中间的动态操作, 最后算下来这个耗时连你自己都觉得感动.

所以回到一开始的这个问题, 它有没有解决这个问题呢? 这个时候我们就可以看一下, 这个模型如果导出到onnx,它的输出是哪些?

两个, 一个是 (M+N)xC channel的1x1卷积的权重,这里的C是下一个分支编码出来的卷积的输入channel数,另外一个当然就是我们拿到的编码特征.

两者做一个卷积运算, 是不是就得到了我们最终的输出结果?

那这个就避开了分两次算的这么一个操作, 因为第一个的输出就是动态的, 这个动态的输出你是可控的, 即使不可控, 你也可以不需要很复杂的在做后面的处理, 直接一个卷积操作结果就出来了.

精度

来看看精度:

image-20201214174747600

image-20201214175211999

事实上, 无论是速度还是精度, 都超过了PanopticDeeplab,以及UPSNet等模型. 应该来说是目前一个比较好的全景分割的模型. 我猜测在不久的将来, 会有人做出更加工程化的速度和优化,比如更小的骨干网络,更fancy的encoder,

甚至是更快的TensorRT的加速等等,那么有可能在一个很小的网络里, 实现一个高可用的全景分割模型.

我也会进一步的跟踪这个算法在工业上的应用进展,欢迎大家关注我,订阅我的即时文章推送, 如果对模型想进一步了解和交流,欢迎添加我的微信拉群.%

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值