博客专栏

EEPW首页 > 博客 > 分割算法——可以分割一切目标(各种分割总结)(1)

分割算法——可以分割一切目标(各种分割总结)(1)

发布人:CV研究院 时间:2021-09-16 来源:工程师 发布文章

很多关注的朋友一直会问“计算机视觉战队平台有基础性的内容吗?”,今天我和大家说一次,我们平台之前有推送很多基础的知识


前言

很多关注的朋友一直会问“计算机视觉研究院“有基础性的内容吗?”,今天我和大家说一次,我们平台之前有推送很多基础的知识,有兴趣的或者是刚刚接触CV&DL的你,可以去历史消息阅读,在这也感谢所有一直关注和支持我们的小伙伴!接下来就和大家说说目标分割的事吧~

1.jpg

分割其实在很多领域是非常重要的研究对象,现在也有很多研究者在该领域大展身手,比如何大神,一直在该方面的做的最优秀之一,今天就基于他CVPR 2018的一篇优秀Paper说起。


概述

大多数目标实例分割的方法都要求所有的训练样本带有segmentation masks。这种要求就使得注释新类别的开销很大,并且将实例分段模型限制为∼100注释良好的类。

本次技术目的是提出一种新的部分监督的训练模式,该模式具有一种新的权重传递函数,结合一种新的权重传递函数,可以在一大组类别上进行训练实例分割模型,所有这些类别都有框注释,但只有一小部分有mask注释。这些设计允许我们训练MASK R-CNN,使用VisualGenome数据集的框注释和COCO数据集中80个类的mask注释来检测和分割3000种视觉概念。

最终,在COCO数据集的对照研究中评估了提出的方法。这项工作是迈向对视觉世界有广泛理解的实例分割模型的第一步。

在正式细说本次分割技术之前,还是简单说下分割的事,有一个简单的引言和大家分享下,没有兴趣的您可以直接跳过,阅读关键技术部分,谢谢!

目标检测器已经变得更加精确,并获得了重要的新功能。最令人兴奋的是能够预测每个检测到的目标前景分割mask,这是一个称为instance segmentation的任务。在实践中,典型的instance segmentation系统仅限于仅包含大约100个目标类别的广阔视觉世界的一小部分。

会有很多人问:什么是语义分割?

语义分割其实就是对图片的每个像素都做分类。其中,较为重要的语义分割数据集有:VOC2012 以及 MSCOCO 。

比较流行经典的几种方法

传统机器学习方法:如像素级的决策树分类,参考TextonForest以及Random Forest based classifiers。再有就是深度学习方法。

深度学习最初流行的分割方法是,打补丁式的分类方法 (patch classification) 。逐像素地抽取周围像素对中心像素进行分类。由于当时的卷积网络末端都使用全连接层 (full connected layers) ,所以只能使用这种逐像素的分割方法。

但是到了2014年,来自伯克利的Fully Convolutional Networks(FCN)【点击蓝色,有链接直接可以阅读全卷积网络相关资料】卷积网络,去掉了末端的全连接层。随后的语义分割模型基本上都采用了这种结构。除了全连接层,语义分割另一个重要的问题是池化层。池化层能进一步提取抽象特征增加感受域,但是丢弃了像素的位置信息。但是语义分割需要类别标签和原图像对齐,因此需要从新引入像素的位置信息。有两种不同的架构可以解决此像素定位问题。

第一种是编码-译码架构。编码过程通过池化层逐渐减少位置信息、抽取抽象特征;译码过程逐渐恢复位置信息。一般译码与编码间有直接的连接。该类架构中U-net 是最流行的。

第二种是膨胀卷积 (dilated convolutions) 【这个核心技术值得去阅读学习】,抛弃了池化层。使用的卷积核如下图所示:

2.jpg

居然都说到这里,那我继续来简单说一些相关的文献吧。

按时间顺序总结,大概我能总结9篇paper,看语义分割的结构是如何演变的。分别有FCN 、SegNet 、U-Net、Dilated Convolutions 、DeepLab (v1 & v2) 、RefineNet 、PSPNet 、Large Kernel Matters 、DeepLab v3 。

参考文章:(“计算机视觉战队”微信公众平台推送)

DeepLab V3

Deeplab v2 安装及调试全过程

谷歌——DeepLab v1

1)FCN 2014年

3.jpg

主要的贡献:

为语义分割引入了 端到端 的全卷积网络,并流行开来

重新利用 ImageNet 的预训练网络用于语义分割

使用 反卷积层 进行上采样

引入跳跃连接来改善上采样粗糙的像素定位

比较重要的发现是,分类网络中的全连接层可以看作对输入的全域卷积操作,这种转换能使计算更为高效,并且能重新利用ImageNet的预训练网络。经过多层卷积及池化操作后,需要进行上采样,FCN使用反卷积(可学习)取代简单的线性插值算法进行上采样。

2)SegNet 2015年

4.jpg

编码-译码架构

主要贡献:将池化层结果应用到译码过程。引入了更多的编码信息。使用的是pooling indices而不是直接复制特征,只是将编码过程中 pool 的位置记下来,在 uppooling 是使用该信息进行 pooling 。

3)U-Net 2015 

U-Net有更规整的网络结构,通过将编码器的每层结果拼接到译码器中得到更好的结果。

5.jpg

4)Dilated Convolutions 2015年

通过膨胀卷积操作聚合多尺度的信息

6.gif

主要贡献:

使用膨胀卷积

提出 ’context module‘ ,用来聚合多尺度的信息

池化在分类网络中能够扩大感知域,同样降低了分辨率,所以提出了膨胀卷积层。

7.jpg

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: AI

相关推荐

技术专区

关闭