语义分割

定义:输入图像,并对图像中的每个像素做分类。


以第一幅图像为例,图像中是一只可爱的猫在草地上散步。输出结果应该是,对于每个像素,确定它属于猫、草地或者天空,或者背景亦或其他分类。语义分割并不区分同类目标。也就是说,不会区分第二幅图的这两头牛,这是语义分割的缺点。



语义分割的方法:

滑动窗口:从图像中提取各个图像块,并且分类。缺点:计算繁琐,效率低。

全卷积神经网络:


将完整图像输入卷积神经网络,来得到分割结果。比如一个张量,尺寸是C*H*W,其中C是类别的数量。这个张量会为每个像素进行预测,给出评分。可以用堆叠的卷积层,一次性完成所有运算。这样的话,训练这个网络,就是对每个像素分配损失,并且平均化损失。用反向传播,来进行训练。

数据集:在语义分割所使用的数据集中,需要给每个像素标记。


损失函数:使用交叉熵损失函数对每个像素进行分析,会有一个真值表来匹配输出的像素,计算输出的每个像素与真值像素之间的交叉熵损失。之后对每一个小批次做总和或平均计算。


通常来说,为了计算效率,一般不是基于整个图像的原有大小做全部卷积,而是仅仅对一部分卷积层做原清晰度处理。之后再在图像上做下采样,得到特征层,用的方法包括最大池化或者卷积。之后再对特征做上采样。不使用全连接层。

上采样:

方法1:unpooling。



(1)重复元素

(2)钉床函数(bed of nails)去池化:将原来元素置于左上角,其余元素置为0。

(3)最大去池化(Max
Unpooling):在网络前半部分,在下采样进行最大池化的时候,我们会记住区域中的哪个元素在最大池化过程中被使用。在网络后半部分,我们会执行类似钉床函数的操作,但不总是把原来的元素置于左上角,而是把原来的元素放在原来对应的池化过程的位置。最大去池化可以帮助我们找回丢失的空间信息。

方法2:Transpose convolution(转置卷积),又称deconvolution。




对于前面提到的各种去池化方法:如钉床函数、近邻法、最大去池化法,所有的这些都是使用固定方程,并不是真的在学习如何上采样。转置卷积不做内乘,而是取特征层的输入值,以左上方的输入值为例,会用这个值乘以卷积核,以3*3的区域的方式复制这些值,作为输出。所以这里不做输入和卷积核的内乘,而是用输入做权重处理卷积核,输出是带有权重的卷积核的叠加。



 

分类与定位

定义:

分类:图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来。

定位:对图片中与目标检测不同的是,对于定位,你会提前知道在图像中要寻找的物体的数量。



假设输入图像和分类类标,以及图像分类的真值对应。

* softmax损失,计算分类损失;
* L2损失,来衡量预测坐标和实际值的不同。
Q:这些损失有不同的单位吗?他们会控制梯度吗?

A:Multi-task
Loss。要同时最小化这两个损失函数,可以在这两种损失上加上表示权重的超参数,对这两个损失做加权求和。这个加权超参数,需要自己来设定。这个加权超参数会改变损失函数的值。

Q:如何选择加权超参数?

A:用关心的性能指标组成的矩阵来代替原有的损失函数,那么实际相当于用性能指标矩阵来做交叉验证,而不是仅仅用损失值来选择参数。

Q:为什么不分别进行两个任务?

A:因为使用迁移学习时,有可能会出现特征的误匹配。通常同时进行两个任务,联合调试网络,会得到更好的结果。

分类与回归的区别:

输出是间断的还是连续的。

如果希望输出一个间断的实例,如固定的几个类别,使用的损失函数如交叉熵损失,交叉熵损失或者向量机的边界损失。

如果希望输出的是连续值,如点的位置,使用的损失函数如L2,L1等等。

 

目标检测


定义:输入一张图片,每当在图像中出现其中一类对象时,围绕对象划定一个框并预测该对象从属的类别。这与分类与定位不同,因为每张图像中的对象的数量不是固定的。你无法预估,每张输入图像含有多少个对象。

如何获得候选框?

* 滑动窗口法。
* Region proposals
对于给定的输入图像,候选区域网络会在对象周围给出上千个框。这样我们就可以进行定位。

 

首先采取候选区域网络,找出物体可能存在的备选区域,再运用卷积神经网络对这些备选区域进行分类。

R-CNN:用固定的模型进行选择,并不学习参数。

Fast-RCNN:对于输入,现在不再按照兴趣区域处理,而是输入整幅图像,得到整幅图像的feature map。将通过proposal
method得到的roi映射到feature map上,然后从feature
map中提取属于备选区域的卷积块。通过对整幅图像进行处理,可以重用很多卷积计算。如果在卷积网络的下游有很多全连接层,那么这些全连接层的输入,应该是固定尺寸的。

Faster R-CNN:用固定函数计算备选区域成为瓶颈,我们让网络自身去做这个预测。类似Fast-RCNN,将整张图片送入卷积网络。

 

YOLO/SSD:


此类模型的思想不是对这些候选框分别进行处理,而是尝试将其作为回归问题处理。借助于大型卷积网络,所有预测一次完成。给出输入图像,可以将输入图像分成网格。例如将输入图像分成7*7的网格,在每个网格里面,可以想象一系列的基本边界框。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信