语义分割论文阅读:FCN

Fully Convolutional Networks for Semantic Segmentation

论文地址:https://arxiv.org/abs/1411.4038
代码地址:https://github.com/shelhamer/fcn.berkeleyvision.org
考虑到目标检测算法最近看得有点审美疲劳,所以想着看看其它领域的文章。其实按照之前刚入学的计划,也是时候进行一些知识面的拓展了,包括往更具体的子方向、比如行人检测或者横向的目标分割、关键点检测这些领域。
思考之后,打算了解下目标分割,咨询师兄之后,决定先去了解FCN和deeplab系列这些经典的文章。本周先介绍FCN,欢迎有兴趣的同学一起来了解。

0. Semantic Segmentation

目标分割,或者说语义分割也是视觉领域非常重要的研究内容。其任务目的是精准地预测出不同类别物体的mask。不过要注意区分,语义分割不需要将各个物体分割开来,后者算是实例分割。
不知道为什么,大致看了几篇目标分割论文的结果部分,发现评价的数据集似乎没有目标检测那么统一,每篇论文会有一定出入从频率上来说,比较频繁的数据集包括:

  1. PASCAL VOC 2012
  2. COCO
  3. CityScape
  4. CamVim

谈到数据集自然也避不开评价指标,虽然FCN中提到了多种指标,但是观察了下目前用的比较多的还是mIoU(有时候也写作mIU),注意这里的IoU已经是用mask而不是检测问题中的框来衡量了。其它标准不一一介绍,可以到这里来看。

1. 网络框架

这次不介绍背景部分了。一方面,自己因为刚接触这个领域,不是很了解语义分割的问题和痛点、很难分析;另一方面,FCN在当时属于Faster R-CNN那样开拓性质的工作,很多背景部分都是在和传统的方法做分析对比(例如分析full image训练和patch采样相比的优势),不了解传统方法很难看出什么东西。当然也得益于后者,对DNN已经比较了解的情况下还是比较好理解FCN的思想的。
FCN的主体网络如下图所示:
在这里插入图片描述

构造全卷积: FCN把BackBone中的fc层,一般是在网络最后用于构造分类器的、换成了卷积层,这也是全卷积网络这一名称的由来,全卷积的好处就是输入图像的尺寸可以是动态的。
上采样:由于下采样层的存在,到最后卷积层的output的时候,产生了32 stride。这里就要提一下语义分割的网络输出目标了,语义分割一般输出和原来大小同样大的heatmap,而通道数一般和类别数相同,通过在feature map的每个位置计算softmax分类损失来产生loss。这时,stride的存在就使得必须进行上采用操作来放大图片,FCN在这里使用的是可学习的deconvolution。
跨通道信息融合:当然,这个是在fpn时候的说法了。本文比较早,实现有些许差异。具体来说,就是将conv7的特征进行x2 upsample,然后和pool4层特征组合起来,进行x16的upsample得到最后的输出。注意这里的两个upsample也都是可学习的。依次类推,也可以参考图,就可以得到和pool3的融合过程。

2. 实验结果与结语

可能有人会说,FCN这样就完了,内容也太少了吧?当然不是的。我写下的只是最终作者确定的方案,实际上中间有大量探讨的过程才是重点。
例如滑动窗口与full image的效率问题、heatmap上采样后不够精准的误差问题(提出了一种解决办法但是发现deconv和跨通道连接效果更好)、感受野和Patch采样窗口大小的对应和替代关系等等……在发表的时候,这些讨论应该还是比较有意义的,只是现在的话,我不是很愿意花太多时间去研究和探讨它们,也包括作者实验的一些数据量很少的数据集。
最后,让我们看看在最主要的PASCAL VOC上的结果:
在这里插入图片描述

扫了下今年的ECCV,这个数字已经超过80了,不得不说语义分割近些年来的进步是巨大的。
除了FCN之外,还有deeplab系列及其它经典网络模型,另外我也看到有人提到的后期优化算法CRF/MRF(这方面不是很了解,应该类比detection的NMS之类的?),希望在这方面能继续进一步学习,欢迎大家一起讨论~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值