【CS231n 课程笔记】第十一讲-----图像分割、目标检测与定位

目录

1.语义分割

转置卷积

2.目标检测

3.物体分割


1.语义分割

图像语义分割指输入图像并对图像中每个像素做分类,比如

语义分割并不区分同类目标,比如下图,两头牛并不被区分出来,这是语义分割里的不足之处。

因为语义分割是用类别来做切分,所以语义分割仅能通过分类实现,可以用滑动窗口找到物体。

方案一:将分类图像打碎为许多小的局部图像块,然后可以用这些小块做分类,对当前的每一个小块,判断它的中心属于哪一类它就是哪一类,我们用这种方法区分整个图片,达到语义分割的效果。但是这种方法只在一定情况下有用,并不是完美的解决方案,而且这个方案计算复杂度很高,因为我们要标记图像中的每一个像素点,我们需要为每个像素准确对应的小块。

改进:我们可以共享小块之间的计算,当我们打算区分两块彼此相邻甚至重叠的图像时,这些小块的卷积特征最终通过同样的卷积层。实际上,我们可以共享很多计算过程

方案二:全连接卷积神经网络,我们输入完整一张图片,把很多的卷积层堆叠在一起组成一个网络,每次卷积层都保持图像大小不变, 然后对每个像素做分类,用网络层一次性完成所有运算。这样的话这个网络就是对每个像素分配损失,并且平均化损失,然后用反向传播训练网络。所以这样处理数据集要对每个像素作标记,所以训练集很贵,网上有这种工具,可以对图像画线,然后填充区域,不同区域的像素标记为不同类别。但这样做计算量很大。实际上是这样:

我们仅仅对一部分卷积层使其卷积后保持原图像大小不变,其他地方可以用池化层,之后再上采样恢复图像大小。这种方法计算量小一些,而且可以将网络设计得更深。每层清晰度降低,但增加了层数。对于上采样即是我们将像素展开,展开方法有很多,比如如图所示这两种:

因为我们希望基于像素的预测结果尽可能好,我们想要找到边界,将这些细节体现在预测中,如果我们做最大池化,不均匀性会凸显出来,由于最大池化,所以我们在低清晰度中会丢失一些空间信息,所以我们将图像去池化(上采样),它帮助我们更好地处理细节,帮助我们找回在最大池化时丢失的一些信息。

转置卷积

我们可以通过跨卷积(即步长大于1)来实现图像的下采样:

转置卷积则相反,是为了去采样,比如我们输入是2*2的图像,输出可以是4*4的图像,转置卷积不做内积,而是取特征图的某个输入值,然后这个值乘以卷积核,以三乘三区域的方式复制这些值作为输出,用输入作权重,输出是带有权重的卷积核的叠加

有时候输出的感受野会重叠,比如上图的红色框和蓝色框有重叠部分,这时候我们直接在输出中对结果取和即可,这个过程可以不断重复学习,最后可以得到一个可学习的去采样网络,我们学习到卷积核数字,然后去采用图像,增加空间尺寸。这个过程有很多不同的名字,我们这里叫转置卷积。

下面这个图举一个3*1的卷积核的例子,

输入是两个数字,卷积是三个数字,所以输出的结果就是用卷积核对输入做加权,最后对输出中的感受野重叠部分进行叠加,得到6个数字。

转置卷积名字来源:对普通卷积,我们可以把卷积写成矩阵相乘形式,下图X是卷积核,a是输入,结果是输出的维度减小了,下面两幅图片分别对应步长为1和2的情形:

而对于将卷积核做转置后再做卷积:

可以看到输出维度比输入维度增大了

 

2.目标检测

对输入的图像,我们想要知道物体在哪里,想画一个边界包裹这个物体

目标定位的情况是我们提前知道会有物体是我们想找的,而且预先知道我们要对这个图像做分类决策。

 

网络会产生两个不同的输入,一个是类的分数,一个是边框坐标。训练网络时我们有两组损失,上面是常见的softmax,下面是用来衡量我们预测坐标与实际值的不同,可以采用最简单的L2损失或者L1损失。 

后面主要讲了R-CNN,Fast R-cnn,Faster R-cnn,Yolo,SSD等,这几个目标检测框架的知识我推荐这个博客:

https://blog.csdn.net/v_JULY_v/article/details/80170182#commentBox

 

3.物体分割

跟目标检测类似,但是不是只预测出每个目标的边框,而且还要预测出整个分割区域对于每个物体的预测,输入图像的哪些像素对应着预测物体,这就像是语义分割和目标检测的混合方法。

效果好的方法由Mask R-CNN等,

将整张输入图像送入卷积层,然后生成候选框,然后把候选框映射到卷积特征图上,然后对每个框预测出一个分割区域。

Mask R-cnn也能做姿态估计,比如通过预测人的每一个关节的的坐标,只需要在候选框后添加一个用来预测物体关节点坐标的分支,增加了一个多任务loss的附加项。

它可能同时做目标检测,物体分割和姿态估计。GPU上每次预测只需要200ms。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值