FCN图像分割

一. 图像语义分割

传统的图像分割方法主要包括以下几种:

1)基于边缘检测

2)基于阈值分割

比如直方图,颜色,灰度等

3)水平集方法

这里我们要说的是语义分割,什么是语义分割呢?先来看张图:

将目标按照其分类进行像素级的区分,比如区分上图的 摩托车 和 骑手,这就是语义分割,语义分割赋予了场景理解更进一步的手段。

我们直接跳过传统的语义分割方法,比如 N-Cut,图割法等,直接进入深度学习。

二. FCN 的引入

CNN 在图像分割中应用,起源于2015年的这篇影响深远的文章:

Fully Convolutional Networks for Semantic Segmentation 【点击下载

这里提到的就是全卷积网络,那么这个全卷积是如何理解 和 Work 的呢?来看一个对比:

上图红色部分 对应CNN分类网络的最后三层,也就是 FC 全连接,通过 Softmax 得到一个1000维的向量(基于Imagenet的图像分类),表示1000个不同的分类对应的概率,“tabby cat” 作为概率最高的结果。

下图蓝色部分将 分类网络对应的最后三层全连接 替换成了 卷积。整个网络全部通过卷积连接,so called 全卷积。这么做的目的是什么呢?

● 通过像素分类来定义语义分割

全卷积网络的输出是一张分割图,如何输出这张分割图呢? 通过卷积,图像的分辨率逐渐降低,这里需要 引入一个概念,就是上采样,即将低分辨率的图像放大到和原始图像同分辨率上,这是一个关键点。比如经过5次卷积(pooling)后,图像的分辨率依次缩小了2,4,8,16,32倍。对于最后一层的输出图像,需要进行32倍的上采样,得到原图大小一样的图像。

这个上采样是通过 反卷积(DeConvolution)实现的。来直观看一下反卷积的过程:

加上反卷积过程,整个的网络可以描述成:

由于前面采样部分过大,有时候会导致后面进行反卷积得到的结果分辨率比较低,导致一些细节丢失,解决的一个办法是 将 第 3|4|5 层反卷积结果叠加,结果我们就不贴了,肯定是上采样倍数越小,结果越好,来看叠加示意图(这种方式应该不陌生):

三. FCN 的改进

虽然 FCN引领了CNN基于语义分割的方向,但仍有很多地方需要改进,比如上采样导致的像素分割不精细,效率也不够快等等,我们相信一定有办法让其 更高效、更精细。这里提到的一个 方法就是结合 CRF。

CRF 全称是 Conditional Random Field,中文叫 “条件随机场”,首先来理解什么是随机场,一堆随机的样本就可以理解为是随机场,假设这些样本之间有关联关系,就成立条件随机场,CRF 最早在深度学习的 NLP 领域有比较多的应用,可以理解为语境的上下文关系,可以参考下面这篇文章:

Introduction to Conditional Random Fields

第一个改进 来自于 UCLA 的 Liang-Chieh Chen,在像素分类后叠加了一个 Fully Connected Conditional Random Fields(全连接的条件随机场)。

论文地址:Semantic image segmentation with deep convolutional nets and fully connected crfs

通过上图示意可以看到,Fully Connected CRF 在前面 FCN 输出的基础上,以全连接的形式,实现了后处理过程,使得像素分割更加细致,具体请参考论文。

接下来的改进有 通过 RNN + CRF 的idea:

参考论文:Conditional random fields as recurrent neural networks

根据实验对比效果来看,相当不错(注:DeepLab 就是上面的 Full connected CRF方法):

针对FCN的改进会在近两年一直持续,作者最关注的还是,Mask-RCNN,将目标检测与分割一起work的方法,接下来在下一篇文章介绍!

“桃李不言,下自成蹊”,FCN 当真是属于这个级别的贡献,引领了在这条道路上的每一次Follow。

四. 实例分割(Instance Segment)

实例分割 与 语义分割的区别是要区分出每个目标(不仅仅是像素),相当于 检测+分割,通过一张图来直观理解一下:

关于 实例分割 的一篇典型论文 MaskRCNN,可以参考【Mask RCNN】,代码实现可以参考【浅入浅出TensorFlow 8 - 行人分割

相关论文:

Instace-sensitive Fully Convolutional Networks.ECCV 2016【2016.3月上传到arxiv

R-FCN:Object Detection via Region-based Fully Convolutional Networks.NIPS 2016【2016.7月上传到arxiv】

Fully Convolutional Instance-aware Semantic Segmentation.xxxx 2017【2016年11月上传到arxiv,MSCOCO2016的第一名】

时间: 2024-10-21 06:11:58

FCN图像分割的相关文章

无人驾驶——定位

1.定位方法: 1.1 基于电子信号的定位:GPS 1.2 航迹推算:IMU(加速度计+陀螺仪),轮速计 1.3 环境特征匹配:传感器感知+融合 2.地图: 2.1 3D voxel地图 2.2 点云地图 2.3 2D概率地图 3.技术 2.1 RTK:容易受电磁环境干扰’ 2.2 GPS: 1.缺点:多径效应 2.3 激光点云定位技术:反射值+高度值,自适应匹配 1.缺点:场景变化太大,废掉 2.相关技术和工具:PostgreSQL,PostGIS, pgpointcloud:   https

全卷积网络 FCN 详解

背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional Networks for Semantic Segmentation>在图像语义分割挖了一个坑,于是无穷无尽的人往坑里面跳. 全卷积网络 Fully Convolutional Networks CNN 与 FCN 通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature m

语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里,先介绍几个概念,也是图像处理当中的最常见任务. 语义分割(semantic segmentation) 目标检测(object detection) 目标识别(object recognition) 实例分割(instance segmentation) 语义分割 首先需要了解一下什么是语义分割(s

深度学习方法下图像分割的记录和理解

分割分类 普通分割 将不同类别物体的像素区域分开. 如前景与后景分割开,狗的区域与猫的区域.背景分割开. 语义分割 在普通分割的基础上,分类出每一块区域的语义(即这块区域是什么物体). 如把画面中的所有物体都指出它们各自的类别. 实例分割 在语义分割的基础上,给每个物体编号. 如这个是该画面中的狗A,那个是画面中的狗B. 当下现状 最初,图像块分类是最常用的方法,就是根据图像像素点周围的图像块确定每个像素的类别CNN极大的提高了图像分割的精度.FCN的出现改变了这个现状,也把分割任务提升到新的阶

语义分割--全卷积网络FCN详解

语义分割--全卷积网络FCN详解 1.FCN概述 CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别). 传统的基于CNN的语义分割方法是:将像素周围一个小区域(如25*25)作为CNN输入,做训练和预测.这样做有3个问题: - 像素区域的大小如何确定 - 存储及计算量非常大 - 像素区域的大小限制了感受野的大小,从而只能提取一些局部特征 为什么需要FCN? 我们分类使用的网络通常会在最后连接几层全连接层,它会将原来二

扫盲记-第三篇--图像分割

学习内容来源于网络 图像分割 图像分割是什么?如果下学术定义,就是把图像分割成想要的语义上相同的若干子区域,看上面的自动驾驶的分割任务,路是路,车是车,树是树.这些子区域,组成图像的完备子集,相互之间不重叠.图像分割可以被看作是一个逐像素的图像分类问题. 传统办法: 边缘与阈值法 简单的边缘检测曾被用于图像分割,但需要做复杂后处理.阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较.最广泛使用也最具有代表性质就是OTSU方法,它是用于灰度图像分割

全卷积网络FCN

全卷积网络FCN fcn是深度学习用于图像分割的鼻祖.后续的很多网络结构都是在此基础上演进而来. 图像分割即像素级别的分类. 语义分割的基本框架: 前端fcn(以及在此基础上的segnet,deconvnet,deeplab等) + 后端crf/mrf FCN是分割网络的鼻祖,后面的很多网络都是在此基础上提出的. 论文地址 和传统的分类网络相比,就是将传统分类网络的全连接层用反卷积层替代.得到一个和图像大小一致的feature map.本篇文章用的网络是VGG. 主要关注两点 全连接层替换成卷积

图像分割:Semantic/Instance/Panoramic Segmentation

一. 背景介绍 语义分割(Semantic Segmentation):对一张图片上的所有像素点进行分类,同一物体的不同实例不需要单独分割出来. 实例分割(Instance Segmentation):目标检测(比b-box更精确到边缘)和语义分割(标出同类不同个体)的结合. 全景分割(Panoramic Segmentation):语义分割和实例分割的结合,背景也要检测和分割. 图像分割是图像理解的重要基石,在自动驾驶.无人机.工业质检等应用中都有着举足轻重的地位.缺陷检测论文现在好多都是借助

医学图像分割-简介

医学图像分割:令R代表整个图像区域,对R的分割可看做将R分成若干个满足以下条件的非空子集(子区域){R1,R2,R3…Rn}.该集合满足以下特性: 所谓医学图像分割,就是根据医学图像的某种相似性特征(如亮度.颜色.纹理.面积.形状.位置.局部统计特征或频谱特征等)将医学图像划分为若干个互不相交的“连通”的区域的过程,相关特征在同一区域表现出一致性或相似性,而在不同区域表现出明显的不同,也就是说在区域边界上像素存在某种不连续特性. 区域作为图像分割中像素的连通集合和基本分割单位,可以按照不同的连通