[Lecture 11 ] Detection and Segmentation(检测和分割)- cs231n 2017

这篇博客介绍了深度学习在计算机视觉中的应用,特别是语义分割、目标检测和实例分割。语义分割通过全卷积网络实现像素级别的分类,而目标检测则涉及到滑动窗口、基于候选区域的检测方法如R-CNN系列。Fast R-CNN和Faster R-CNN通过改进提高了检测效率。此外,还提到了实例分割,如Mask R-CNN,它不仅完成分类和框定位,还能进行像素级的实例分割。
摘要由CSDN通过智能技术生成

0. 引入

除了图像分类的视觉任务:图像分割(语义分割,实例分割)、目标检测(单目标检测,多目标检测):
在这里插入图片描述

1. 语义分割(Semantic Segmentation)

在这里插入图片描述
只区分图像中不同像素的分类,但是不区分同类物体的不同实例。

1.1 实现方法

1.1.1 滑动窗口:

使用一个滑动窗口,在图像上进行滑动,生成很多切块,然后对每一个切块进行分类:
在这里插入图片描述
这样的话,还有一个问题是你发现有很多像素都被重复计算了,因为他们可能被分在不同的切块上。(一个替代方法是,先将整幅图输入到CNN中,然后在中间层上使用滑动窗口策略。)

1.1.2 全卷积神经网络

简易版的FCN
在这里插入图片描述
使用卷积提取图像的层次特征,然后使用pad策略保持feature map尺寸不变,最后在scores map的每一个位置进行分类(每一个位置都是一个多分类损失,最后对位置取一个平均或平均,之后再在一个批量中取总和或者平均)。(如果尺度下降了,还可以使用上采样或者反卷积操作来增大尺寸)。

这个简易版有一个不好的地方是,始终维持了整个图像的大小,这可能对像素级的分类是有效的,但是计算代价是高昂的。因为在一般的CNN中,通道数是逐层递增的。

对称采样结构
FCN中使用的是下采样+上采样的结构:
在这里插入图片描述

  • 下采样: 带步长的卷积,池化操作(pooling)
  • 上采样: 插值,转置卷积,去池化操作(unpooling)

例如,下图所示的最近邻插值和去池化操作
在这里插入图片描述
当然,在CNN中我么可以把下采样过程中 maxpooling 的采样位置记下来,然后在上采样中进行恢复:
在这里插入图片描述
转置卷积操作:可学习的上采样方式

  • Normal Conv:
    在这里插入图片描述
  • Stride Conv:
    在这里插入图片描述
  • Transpose Conv(转置卷积):

在这里插入图片描述
如上图所示,转置卷积就是每个输入位置的元素乘以卷积核然后作为对应位置的输出(这里是把输入的一个元素复制成卷积核大小,然后再进行相乘,使用的是矩阵的element-wise乘,而不是内乘,即输出的是一个matrix,而不是一个scalar。最后该位置的输出就是一系列卷积核的加权,权重就是输入的元素)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值