热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图像分割深度学习从零开始学习路线

点击上方“小白学视觉”,选择加星标或“置顶”重磅干货,第一时间送达本文转自:深度学习这件小事第零阶段:看分割看不懂这个阶

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:深度学习这件小事


 第零阶段:看分割看不懂

这个阶段典型表现是,对于梯度下降,交叉熵损失,激活函数等概念模棱两可,这可能是博主说的零基础入门。你可能需要对深度学习和计算机视觉的基本任务有一个较为系统的学习,这块应该转看深度学习入门等相关话题,斯坦福的李飞飞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:

2019年5篇图像分割算法最佳综述

地址:https://zhuanlan.zhihu.com/p/95046357


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

语义分割

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

项目地址:https://github.com/XiaLiPKU/EMANet

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

项目地址:https://github.com/zijundeng/pytorch-semantic-segmentation

旷视的TorchSeg,很旷视。

项目地址:https://github.com/ycszen/TorchSeg

实例分割

FAIR的经典maskrcnn框架

项目地址:https://github.com/facebookresearch/maskrcnn-benchmark

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

项目地址:https://github.com/open-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上得到了提升。

 结语 

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

原文链接:

https://www.zhihu.com/question/322077321/answer/925208015

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~



推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 点击上方“新机器视觉”,选择加”星标”或“置顶”重磅干货,第一时间送达很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
author-avatar
陈宏儒64721
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有