0. 传送门

论文地址:https://arxiv.org/abs/2003.12929
github地址:https://github.com/fuy34/superpixel_fcn

1. 简介

超像素最直观的解释,就是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”。

目前超像素难以和深度学习相结合主要由两个原因:

  • 标准卷积运算是在规则网格上定义的,当应用于超像素时其效率会变的很低。
  • 超像素的聚类操作具有不可微分的计算,使得无法使用反向传播进行深度学习。

在我之前的解读Superpixel Sampling Network论文的博客中,介绍的SSN就是解决了第二个问题,将argmax操作用softmax替代,使得计算可微。

这篇Superpixel Segmentation with Fully Convolutional Networks则是通过一个巧妙的转化,将超像素分割作为一个深度学习任务,解决了第一个问题。他可以直接得到超像素分割结果,不需要额外的聚类操作。

该论文的贡献点主要如下:

  • 使全卷积网络可以快速生成超像素,省去了聚类的步骤,一个encoder-decoder可以说是最简单的神经网络结构,颇有大道至简的味道。
  • 提出了一个上采样/下采样框架,使得超像素能很好的和其他任务结合,文章中也给出了超像素应用于stereo matching的pipeline。

2. 方法

2.1 在规则网格上学习超像素


大多数的超像素方法都会在图片上规则地初始化超像素中心,通过计算每个像素和超像素的关联得到一个H×W×NSH \times W \times N_SH×W×NS​的矩阵,其中NSN_SNS​为超像素的数量。

但是逐超像素的计算太复杂,通过观察不难发现像素基本只会被划分为附近的超像素中,所以可以只考虑周围的超像素,比如图中绿色框的像素只需要考虑与红色框中9个超像素的关联。这样我们最后只需要得到一个H×W×9H \times W \times 9H×W×9的矩阵QQQ。时间复杂度从O(N×NS)O(N \times N_S)O(N×NS​)减少到O(N)O(N)O(N)。

SpixelFCN也就是通过神经网络预测这个QQQ从而得到超像素的结果。

2.2 SpixelFCN VS SSN

如果看过SSN,应该会发现这个QQQ在SSN中也出现过,不过SSN是用卷积网络提取图片的深度特征,然后送到一个软聚类模块中,计算得到QQQ,由于图像动辄几十万的像素点,导致聚类花费了大量的时间。

然而SpixelFCN直接用卷积网络预测QQQ,省去了聚类的时间,使得超像素分割的效率大大提升。网络结构和与SSN的对比图如下:

2.3 方法细节(啃公式)

  1. 关联矩阵 →\to→ 超像素中心信息
    我们将超像素中心sss表示为Cs=(us,Is)C_s=(u_s,I_s)Cs​=(us​,Is​),其中usu_sus​代表特征信息,IsI_sIs​代表位置信息,我们可以按如下公式计算超像素中心:
    f(p)f(p)f(p)是像素PPP的特征,qs(P)q_s(P)qs​(P)是QQQ中像素PPP与超像素sss的关联,NPN_PNP​是像素周围的超像素集合。
    整个公式就是按照像素与超像素的关联程度,以加权平均的方式求得超像素中心的特征。

  2. 超像素中心 →\to→ 重建图像

    利用像素和超像素的关联,在超像素特征的基础上重建图像。

  3. 损失函数
    损失函数的设计上与SSN类似

    • 一般形式L(Q)L(Q)L(Q):
      重建后的特征与原特征的差距(前后相似性)+重建后的位置与原位置的差距(空间紧凑性)
    • 类似SLIC的形式LSLIC(Q)L_{SLIC}(Q)LSLIC​(Q):

      将特征用CIELAB表示,L2模计算dist,类似于SLIC中的做法。
    • 以语义标签为基础的形式Lsem(Q)L_{sem}(Q)Lsem​(Q):

      特征用one-hot形式的语义标签表示,使用cross-entropy计算dist,从而获得更贴合语义边缘的超像素。
  4. CSP表示超像素中心
    其实也没看懂花里胡哨干了什么,只是换了一个计算的方式,可能这么计算会更快吧。

    本来CSP形式是这样的,然后作者进行了改写如下:

    看着很复杂,对这个公式进行一个简单的推理,其实和公式(1)是等价的,推导过程如下(手写的,markdown敲这玩意太麻烦了,字丑莫怪):

3. 实验结果

介绍完了方法之后,我们来看看华丽丽的实验结果。
首先是几个标准下的对比,作者选用的是ASA,BR/BP,CO

取得了SOTA的效果,有的地方比SSN差一点,总体还是不错的。

但是但是但是,SpixelFCN的速度和其他的deep-learning-based方法相比,快了一个数量级!

这张图不得不说,挺震撼的哈哈,毕竟只有一个卷积网络,肯定很快,论文上描述可以达到50fps。

4. 个人总结

  • 优点:端到端的神经网络,将超像素分割转化为预测像素和超像素之间的关联,达到sota的同时大大提升了速度。
  • 缺点:准确的说,论文中的网络学到的是16×1616 \times 1616×16网格下预测像素和超像素之间的关联,所以对于一个图片,想要获得不同数量的超像素需要将图片resize成不同的大小,如果图片的形状和训练集的形状差别很大,那么效果就会不太好(曾经在Cityscapes上跑过,得分非常不错,但是很多细节无法分割出来,因为对于这么大的图片,resize成网络要求的大小时已经丢失了很多细节了)

真正的端到端超像素网络——Superpixel Segmentation with Fully Convolutional Networks(CVPR2020)相关推荐

  1. 超像素分割(Superpixel Segmentation)发展

    转自:http://blog.csdn.net/anshan1984/article/details/8918167 最近实验需要用到超像素的一些算法,之前也有看过一下分水岭这个老算法,想着找找近年来 ...

  2. FCN全连接卷积网络(3)--Fully Convolutional Networks for Semantic Segmentation阅读(摘要部分)

    1.摘要 1.1逐句理解一下: Convolutional networks are powerful visual models that yield hierarchies of features ...

  3. FCN全连接卷积网络(4)--Fully Convolutional Networks for Semantic Segmentation阅读(引言部分)

    引言 引言部分翻译 总结 1.卷积网络推动了视觉识别的发展. 2.早前的卷积网络运用当中,将每个像素标记为封闭对象或一个某个类别,这样的做法存在缺点.也就是传统的卷积网络存在缺点. 3.实验证明,端到 ...

  4. FCN全连接卷积网络(5)--Fully Convolutional Networks for Semantic Segmentation阅读(相关工作部分)

    相关工作 相关工作 1.重新设计和微调现有的分类模型来指导语义分割的密集预测内容. 2.虽然进去已有研究团队将卷积网络应用到密集预测任务当中,但是这些方面存在着一些不足,入感知范围有限.需要传统方法进 ...

  5. 论文笔记(FCN网络,语义分割):Fully Convolutional Networks for Semantic Segmentation

    FCN论文笔记:Fully Convolutional Networks for Semantic Segmentation 语义分割模型结构时序: FCN SegNet Dilated Convol ...

  6. Fully Convolutional Networks for Semantic Segmentation ————全卷积网络 FCN论文解读

    Fully Convolutional Networks for Semantic Segmentation 作者: Jonathan Long, Evan Shelhamer, Trevor Dar ...

  7. 【语义分割】全卷积网络(Fully Convolutional Networks, FCN)详解

    论文题目:<Fully Convolutional Networks for Semantic Segmentation> 论文地址:https://arxiv.org/abs/1411. ...

  8. (超、深)超像素网络SSN

    1.简介 目前超像素难以和深度学习相结合主要由两个原因: 标准卷积运算是在规则网格上定义的,当应用于超像素时其效率会变的很低. 超像素的聚类操作具有不可微分的计算,使得无法使用反向传播进行深度学习(难 ...

  9. 全卷积网络的理解——理解论文Fully Convolutional Networks for Semantic Segmentation

    目录 论文详解 1.和VGG网络的对比 2.那么fcn是什么? 3.论文改进的模型 3.1怎样进行上采样的问题 3.2从哪里开始上采样的问题--跳跃连接的问题 3.3整体设计思想 4.1实验结果 4. ...

最新文章

  1. 【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )
  2. JavaOne 2015:高级模块化开发
  3. esxi root 密码规则_陌陌风控系统静态规则引擎aswan
  4. android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...
  5. id门禁卡复制到手机_怎么将手机当做门禁卡使用?给大家详解手机设置门禁卡功能...
  6. 零基础带你学习MySQL—foreign key 外键(二十六)
  7. 记录——《C Primer Plus (第五版)》第十一章编程练习第5-12题
  8. export_savedmodel
  9. 记录一次 Deadlock found when trying to get lock; try restarting transaction 错误
  10. 为什么一提到苹果就想到乔布斯,蒂姆·库克的事迹你知道多少?
  11. 社区版pycharm的django创建app失败问题解决
  12. 前端技术栈:后台管理端UI框架
  13. 中点画线法c语言程序,计算机图形学 :中点画圆法
  14. css3简单动画 上下切换图片效果:
  15. 使用dd命令测试CPU性能--用Enki学Linux系列(16)
  16. No module named ‘quantopian‘
  17. jQuery 实现弹幕效果案例
  18. 解决VS CODE官网下载速度慢的问题
  19. 从第三季“多多读书月”看拼多多的知识普惠进阶
  20. 网络编程-基于MFC的仿QQ聊天室-2020

热门文章

  1. 主力资金屡试不爽的六种洗盘手法
  2. php 手机号归属地 dat,GitHub - china-qd/phonedata: 手机号码归属地信息库、手机号归属地查询 phone.dat 最后更新:2020年04月...
  3. CISCO ASA任意文件读取漏洞复现 (CVE-2020-3452)
  4. 小伙伴们,给大家发红包喽!
  5. 美国计算机音乐专业,美国大学音乐疗法专业Music therapy解析
  6. JAY和ZOOM,还有铁面人究竟是谁?
  7. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
  8. 求方程ax2+bx+c=0的实数根
  9. [BZOJ 4763]雪辉
  10. Pychram连接mist远程服务器踩坑指南