语义分割论文杂读

 

未看或未总结

PSPnet

Deeplab v3

Path Aggregation Network for Instance Segmentation

Large Kernel Matters -- Improve Semantic Segmentation by Global Convolutional Network

segment everything

Context Encoding for Semantic Segmentation

Adaptive Affinity Field for Semantic Segmentation

[201904-arxiv] DFANet: Deep Feature Aggregation for Real-Time Semantic Segmentation [paper]

[201903-arxiv]FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation[paper][code]

[2019-CVPR] Decoders Matter for Semantic Segmentation: Data-Dependent Decoding Enables Flexible Feature Aggregation

[2020-CVPR]PolarMask- Single Shot Instance Segmentation with Polar Representation

[2020-CVPR]Super-BPD- Super Boundary-to-Pixel Direction for Fast Image Segmentation

[2020-PAMI]Deep High-Resolution Representation Learning for Visual Recognition

[2020-PAMI]Deep High-Resolution Representation Learning for Visual Recognition

[202004-arxiv]BiSeNet V2- Bilateral Network with Guided Aggregation for Real-time Semantic Segmentation

[202007-arixv]Deep Variational Instance Segmentation

[202012-arxiv]BoxInst- High-Performance Instance Segmentation with Box Annotations

[202012-arxiv]Meticulous Object Segmentation

 

[2019-CVPR-oral]Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images[paper]

主要处理高分辨率图片的分割问题,目标是取得memory和accuracy的tradeoff.整体的思路其实跟video里面的slowfast异曲同工。

需要注意的点:

1)在融合全局和局部信息的时候,是同位置融合。To collaborate with the local branch, feature maps from the global branch are first cropped at the same spatial location of the current local patch and then upsampled to match the size of the feature maps from the local branch. 局部拼成全局也是类似。

2)Branch Aggregation with Regularization:

We find in practice that the local branch is prone to overfitting some strong local details, and “overriding” the learning

of global branch. 这个能发现也是厉害,加了一个L2的feature alignment

 

3)CoarsetoFine GLNet 主要解决前背景分割中样本不均衡问题,思路是用global的network先去定位出前景的大概位置,this Coarse-to-Fine GLNet admits a sequential composition of the two branches, where the feature maps only within the bounding box are first deeply shared from the global to the local branch during the bounding box refinement, and then shared back. All regions beyond the bounding box will be predicted as the background.

[2019-CVPR]Structured Knowledge Distillation for Semantic Segmentation

大方向上是没有什么好讲的,有点像domain adaptation的框架。有意思的地方在 Pair-wise distillation,这个损失是相似性损失,student模型输出的两点的相似性要跟teacher模型里面该两点的相似性一致,做工程的话这个损失可以在其他领域里试试

[201902-arxiv] An efficient solution for semantic segmentation ShuffleNet V2 with atrous separable convolutions [paper]

主要是shufflenet v2和deeplab v3的组合,改变的地方是把v3的encoder改成了depthwise conv. 在coco,coarse等数据进行预训练, cityscapes能做到70.33。速度上只报告了手机上224*224的FPS,大概在16左右

[201902-arxiv]Fast-SCNN Fast Semantic Segmentation Network

设计了全新的轻量级网络来保证上百的FPS和独特的架构使得精度损失不是特别大yielding an accuracy of 68.0% mean intersection over union at 123.5 frames per second on Cityscapes

网络设计如下图,对作者的解释(learning to Down-sample)不是特别理解,按照BiSegNet的理解,上面的分支可以称之为context path,用一系列的卷积提高感受野和语义级别,得到大范围的上下文信息,底下的可以称之为spatial path,保留一些语义细节。知道这些工作怎么做不难,难的在于得到什么启发然后自己去设计新的东西。

论文里有一些细节和发现

1 预训练

In our experiments we show that small networks do not get significant benefit from pre-training. Instead,

aggressive data augmentation and more number of epochs provide similar results.

2 bottleneck

用的是mobilenet V2,Inverted bottleneck residual blocks. ResNet的bottleneck一般在residual这块一般是降C,inverted的意思是升C。

3 大量采用depth wise conv,这个没什么说的,轻量级网络通用的做法

4 在learning to Down-samplle的 DWconv中,we omit the nonlinearity between depthwise and pointwise convolutions, 不太理解,是希望符合降采样的线性关系吗?

[2019-AAAI]Dual Attention Network for Scene Segmentation[paper][code]

这个一看框架图核心的东西基本就能懂了,还是有点意思的,cityscapes只用Fine的数据集多尺度可以做到81.5,单尺度79.94

[201811-arxiv]CCNet: Criss-Cross Attention for Semantic Segmentation[code]

nonlocal里面一个点跟所有点都会做相似性分析,而本文是一个点只跟它所在的行和列上的点(十字形)做相似性计算,另外为了得到dense的context信息,作者两次做了两次这种十字形attention操作。结果上memory是non-local block 1/11,计算量上是减少了80%,cityscapes能做到81.4(单尺度?)

1 Criss-Cross Attention

论文里没有一个清晰示意图能说明其与non-local模块的联系与区别,所以这里以non-loal模块出发,然后看看怎么修改才能到CC Attention.

1.1首先由于本文主要做语义分割,所以下图中的T可以不需要;这种情况下non-local首先做的是θ和φ,去掉T,那么他们输出的feature map 维度都是H*W*C'(C'和输入的C不一样,默认是降4倍,主要是减少计算量),然后θ与φ的转置相乘,也就是θφT,输出的就是一个HW*HW的相似性map,该map上某个位置(h1w1,h2w2)的值可以理解成这两个点之间特征的相似度,这个map记录了任意两点间的相似度。

1.2 本文做的第一个重要变化是相似性map不再是HW*HW,而是(HW)*((H+W-1))。它不再计算任意两点间的相似度,而做了一定的简化,只考虑与它在同一行或者同一列的点。也就是说,对于任意一点,不再求它与其他所有点的相似度,而只考虑跟它同一行或者同一列的点,这些点的个数是(H+W-1)。具体计算的过程不再是一个矩阵乘法操作,而是得为相应的点去挑选φ上对应的特征,逻辑上还算简单。

1.3 去掉了最顶上的1*1卷积,可能是为了简单,或者是通过实验发现这个卷积的性价比有限

2 Recurrent CrissCross Attention

很显然,上面的做法得到的相似性并不dense.所以作者采取的方式是叠加两个criss-corss模块.因为前一个criss-cross的输出的每一个点融合了当前行和当前列的信息,那么再次进去第二个criss-cross模块时,信息量"放大了"(W+H-1)*(W+H-1)>WH倍,已经达到了non-local的HW*HW信息量.当然实际中并不能完全这样思考,毕竟信息融合后很难分解。

[2018-arxiv]ShelfNet for Real-time Semantic Segmentation [code]

主要在U形网络基础上再加了upsampling和downsample,在stage4和stage5使用dilation conv,权重shared的具体方式没仔细。

Resnet50单尺度只使用fine数据72.4%,59个FPS 

 

[201809-arxiv]OCNet: Object Context Network for Scene Parsing [paper]

这篇文章的核心思路就是non-local那一套,初略的看了下好像没什么变化。不过有点意思的是把位置信息也给加进来了,个人之前认为完全放弃位置信息是non-local的一个显然缺点。后面就是配合了分割的两个主流模型PSP和deep lab的ASPP做了实验。cityscapes用Fine数据可以做到81.2(单尺度?)

 

[2018-ECCV]BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation

这篇文章解释的也比较清楚,做法理解起来也不难,但是本人理解的不是很透彻,因为还是不太理解为什么这样子做有效,估计过几天就忘了。For a 2048X1024 input, we achieve 68.4% Mean IOU on the Cityscapes test dataset with speed of 105 FPS on one NVIDIA Titan XP card,

为了达到实时分割,之前的工作主要是在空间细节和感受野之间做妥协。作者总结了之前一些实时分割的方案,大概可以归类成三种,第一种是减小图像输入尺寸,缺点是会丢失一些细节;第二种是用轻量级的模型,缺点是模型的表达能力降低;第三种是丢掉主流模型的最后一个stage,缺点是感受野不够。

感觉作者的方案可以归类成第二种,但是加入了context path来弥补其中的一些缺点。ARM和FPM感觉都是SENet的翻版

 

[2018-ECCV]ICNet for Real-Time Semantic Segmentation on High-Resolution Images[Code]

IC的意思是image cascade

Our ICNet achieves 5X speedup of inference time, and reduces memory consumption by 5X times. It can run at high resolution 1024X2048 in speed of 30fps while accomplishing high-quality results,69.5%

如上图第一个观察是高计算量的在高层(离输入层远的部分),所以设计了以下的架构。低分辨率的图像会通过一系列的卷积,包括高层计算量比较高的卷积层,但是由于输入的图像尺寸比较小,因此总体计算量不高。高分辨率的图像只经过浅层的卷积层,并会利用低分辨得到的feature map加强context联系

CFF的架构如下

[2018-ECCV] PSANet: Point-wise Spatial Attention Network for Scene Parsing

这个工作的做法也算是比较奇特了,理解的不是特别清楚。cityscape用valfine是81.4%,只用trainfine80.1,无速度信息。

一般的做法去做attention是靠不同位置上的特征做点积得到一个相似度的标量,然后组成一个WH*WH的矩阵。PASNet是直接通过卷积得到WH通道的feature map,然后将其展成WH*WH的的矩阵,并且作者在这基础上做了两点改变

1 卷积的通道数是(2W-1)*(2H-1)。因为每个点都要得到它跟所有点的相似度,也就是WH个值,那么怎么做呢,也就是以当前点为中心选取W*H的矩形就可以。这样做的原因理解的不是特别透彻,直接放上作者的解释

With our instantiation, the set of filters used to predict the attention maps at different positions are not the same. This enables the network to be sensitive to the relative positions by adapting weights. Another instantiation to achieve this goal is to utilize a fully-connected layer to connect the input feature map and the predicted pixel-wise attention map. But this will lead to an enormous number of parameters.

2 增加了一个Distribute通道

上面的attention主要想计算当前点跟其他点的相似度,并从其他点得到相应的信息。这里的attention主要是想把这个信息分发给不同的点。如果完美的情况下,两者应该是互补的,并没有增加这个通道的必要。

明显的缺点是通过卷积得到attention map必须依赖于感受野,虽然作者说可以把这个block放在任何地方,但是估计放在浅层效果应该不行,作者也没有提供这方面的对比实验

[2018-CVPR]Learning a Discriminative Feature Network for Semantic Segmentation [paper]

各种名字起的太高大上搞的我很难对应上,只用Fine数据79.3%(单尺度?) 

smooth network主要是利用搭网络来实现context的利用,border newwork新加了一个边缘检测任务

[2018-CVPR]Dynamic-structured semantic propagation network

优点是通用,单尺度非通用版本在cityscapes上能取得74.0%, FPS 1.45

 思路跟segment every thing或者yolo9000这种类似,利用wordnet去构造语法树,核心卖点是Dynamic structured, 这种如果不考虑硬件问题,有必要吗? 每次还得重新加载,会影响速度。

按照论文的结构来逐条看看

1 Semantic Neuron Graph,跟类似的工作相比没有什么特别有特色的地方

2 Dense Semantic enhanced Block

搭网络,利用densenet的思想,子节点从每个父节点都能获得feature

3 Dynamic structured Semantic Propagation

每个节点采用binary cross entropy loss训练,所有该sample中没有的语义节点可以不激活, 采用这个loss的原因作者的解释是which focuses more on recognizing each child concept instead of learning any competition between them. This good characteristic leads a better flexibility for adding and pruning child concepts of each parent neuron, especially for joint training multiple datasets and extending the semantic concept hierarchy.

[2018-CVPR]  On the importance of Label Quality for Semantic Segmentation

快速地扫了一眼该工作,理解地比较肤浅。由于分割的标注需要大量人力资源,因此本文探讨了怎么标注语义分割的数据,能在利用较少的资源的情况下,得到不错的性能。本文的结论就是多花资源标注一些coarse,然后花少部分的时间标注fine的label

上图显示了Fine标签的标注时间大概是误差在4px所需时间的4倍

而下图显示出大量利用Coarse数据预训练再利用少量Fine数据微调的方式能取得跟用大量Fine数据训练类似甚至更好的结果

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值