大佬们,我刚开始接触图像分割,对于图像分割深度学习这块一头雾水,可以给出一个从零开始学习的路线吗?

我想自学下图片分割这方面的知识(包括语义分割和实例分割),是不是要从机器学习开始,深度学习也要学,都要学习哪方面的知识,还请各位大佬,不吝赐教,谢谢啦…
关注者
602
被浏览
320,419
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
方向相关:研究生主要做医疗影像分割,也做过自然影像语义分割、实例分割和全景分割,实习的时候还做过一些检测相关的项目。作为一个分割过来人真的有很多经验想分享给刚入门的同学,以下回答针对分割在深度学习中的理解,非深度学习领域也欢迎其他大神补充。

第零阶段:看分割看不懂

这个阶段典型表现是,对于梯度下降,交叉熵损失,激活函数等概念模棱两可,这可能是博主说的零基础入门。你可能需要对深度学习和计算机视觉的基本任务有一个较为系统的学习,这块应该转看深度学习入门等相关话题,斯坦福的李飞飞cs231n被推荐的挺多的。这块我就不多赘述了,我更多分享后面三个阶段关于分割的学习。

第一阶段:看分割是分割

这个阶段的典型表现是,有了对深度学习和计算机视觉的基础,开始痴迷于各种分割网络和loss改进,对benchmark的每一个性能的改进都有很好的follow。这个阶段应该梳理以下问题。

  • 语义/实例/全景分割的问题难点在哪里
  • benchmark数据集有哪些
  • 评价指标是什么
  • 现有的方法有哪些,关系是什么
  • 还有哪些可以改进的地方

之前很粗糙的总结过自然影像和医疗影像领域语义分割的一些主要工作和发展脉络。


当然目前的SOTA model在各个benchmark上都有更新,自然影像可能是 @立夏之光Expectation Maximization Attention Networks for Semantic Segmentation,医疗影像最新出了一篇Divided We Stand: A Novel Residual Group Attention Mechanism for Medical Image Segmentation,性能不错。

另外整理脉络建议读该领域的survey,最近 @Amusi 整理了一个不错的分割survey。


理论搞的差不多,我们开始上一些code部分。这里推荐几个优秀的分割的repo,供入门的同学学习。

语义分割

@立夏之光 的EMANet,代码风格简洁易懂。

@Zijun Deng 的分割模板,写的也非常不错。

旷视的TorchSeg,很旷视。


实例分割

FAIR的经典maskrcnn框架。

MMlab的MMDetection,用过的人都说好。


第二阶段:看分割是CV

这个阶段建立在第一个阶段的基础上,对分割问题有了较为全面的认识,各个benchmark和网络都能如数家珍。这个阶段的典型表现是开始看其他视觉领域的工作,包括但不限于Object Detection,Skeleton Detection,Face Detection,Text Detection,PersonReID, Single/Multi objectTracking,能发现分割从表示上的局限性和其他任务之间的相关性 (注意,第一阶段是分割这个domain内部工作之间的相关性)。到这里,你会发现分割可以用来做检测,回归可以用来做分割,不同CV领域的工作和设计思路对分割都可能有启发。

典型的最近Anchor-free的一系列工作(CornerNet, CenterNet, FCOS等),其实就是用FCN+Regression去做检测,本质上改变了Detection gt的表示。再比如 @谢恩泽PolarMask: Single Shot Instance Segmentation with Polar Representation,将mask表示从dense pixel-wise的gt,变成极坐标下的polygon,进而可以用回归相关的参数。

第三阶段:看分割是learning

到了这个阶段,你会发现我们之前都在一个supervised并且没有noise的框架下讨论问题。比如一些unsupervised和semi-supervised的范式,怎么能更好的提升。如何让分割网络有更好的transfer能力和抵御对抗攻击的能力。这个阶段一般开始看learning相关的文章,包括但不限于unsupervised learning,semi-supervised learning,adversarial training,generative model,transfer learning, federated Learning。


比如在Indirect Local Attacks for Context-aware Semantic Segmentation Networks中,PSPNet和PSANet等SOTA分割模型被局部攻击后,效果还不如FCN baseline,是非常有意思的发现。Google的 Self-training with Noisy Student improves ImageNet classification,已经不再是从(人工)网络设计上去提升性能,而是通过一种半监督的方式,利用更多的无监督的数据进行迭代学习去提升分类的性能。何凯明的Momentum Contrast for Unsupervised Visual Representation Learning提出了一种新的无监督范式,在7个分割/检测的benchmark上得到了提升。

# ===== 结语 ===== #

大部分研究生硕士甚至是博士读完就停留在第一阶段,少部分能进入第二阶段开始对视觉问题有更深刻的认识。至于第三阶段,都是大牛!