CS231n-2017 第11讲 目标检测与图像分割

一、语义分割

将一张图片中的像素按类别区分。示例如下:

图 1. 语义分割示例

语义分割不区分同类事物的不同实例。
语义分割的思路:

    1. 使用滑动窗方法,每次取图像的一部分,使用神经网络判断此部分的中心像素属于哪一类。缺点:低效,未能复用重叠窗口之间的共有特征。
    1. 使用全卷积(Fully Convolutional)网络:使用补零方法保证卷积的输出结果的尺寸与源图像尺寸一致,不使用任何降采用方法(如池化)。缺点:计算量巨大。
    1. 使用全卷积网络,同时使用降采样与升采样技术。
    • 降采样:如池化、跨立间隔大于1的卷积操作。
    • 升采样:逆池化,转置卷积。
1. 逆池化

平均池化层对应的逆池化操作为:将池化结果扩展到池化接触域。图示如下:

CS231n-2017 第11讲 目标检测与图像分割_第1张图片
图 2. 平均池化对应的逆池化操作

最大池化对应的逆池化操作为:将池化结果按照其原始位置放置,其余位置填充为0。图示如下:

CS231n-2017 第11讲 目标检测与图像分割_第2张图片
图 3. 最大池化对应的逆池化操作
2. 转置卷积

卷积总可以表示成矩阵相乘的形式。而转置卷积,顾名思义,就是将其系数矩阵进行转置。其之所以可以进行升采样,说明如下。

考虑一维情形。使用一个长度为3的卷积核对一个长度为4的数据,进行跨立为2的卷积操作,最终可得长度为2的卷积结果,如下图所示:

CS231n-2017 第11讲 目标检测与图像分割_第3张图片
图 4. 一维卷积图示

而若将卷积矩阵转置,作用在长度为2的向量上,最终可得一个较长的向量,图示如下:

CS231n-2017 第11讲 目标检测与图像分割_第4张图片
图 5. 一维转置卷积图示
实际上,系数矩阵由宽矩阵(意味着输出向量的维度要小于输入向量的维度)变成了长矩阵(意味着输出向量的维度要大于输入向量的维度)。从某种意义上来说,这样就实现了升采样的效果。

相比于逆池化的升采样方法,转置卷积引入了可通过训练数据进行学习修正的参数,使模型具有了更强的灵活性。

3. 语义分割+目标定位

图像中的目标位置由一个包围该目标的方框标识,该方框由其起始坐标 ( x , y ) (x, y) (x,y),和尺寸 ( w , h ) (w,h) (w,h)限定。在语义分割的同时,确定目标位置,这属于一个多目标学习问题。一种方法是将多个目标的损失函数,加权求和,作为整个问题的优化目标,然后进行训练求解。

二、目标检测

目标检测问题,是在依附图片中判定多类目标的不同个体。图示如下:

CS231n-2017 第11讲 目标检测与图像分割_第5张图片
图 6. 目标检测图示
1. 使用Region Proposal技术的解决方案

使用深度神经网络实现目标检测的思路:

  • R-CNN:使用Region Proposal Network获取目标可能存在的区域,然后使用卷积神经网络判断这些区域是否包含目标,同时对区域的位置尺寸进行修正,使得对目标的定位更加精确。
  • Fast R-CNNR-CNN的一大缺陷是其计算量大,一个解决思路是在图像的卷积特征空间获取目标可能存在的位置。这样做的好处是消除了R-CNN算法中重叠区域的卷积特征的重复计算。
  • Faster R-CNN:将Region Proposal任务容纳到CNN网络中。
2. 不使用Region Proposal的方法

YOLO(You Only Look Once)和SSD(Single Shot Detection),其思想是将目标检测问题转换成一个回归问题:将图像划分为若干基本网格,然后使用深度神经网络预测这些基本网格如下参数:其相对于目标方框的偏离,以及隶属于各个分类的得分。

3、实例分割

实例分割出要求输出图片中各类别目标的各个实体的区域。图示如下:

CS231n-2017 第11讲 目标检测与图像分割_第6张图片
图 7. 实例分割图示

实现方案—mask R-CNN:在目标检测的同时,输出各个Region的语义分割结果。

你可能感兴趣的:(深度学习,计算机视觉,CS231n,人工智能,CS231n)