计算机视觉中的深度学习

教材选用《动手学深度学习》,李沐等著;


图像增⼴

图像增⼴(image augmentation)技术通过对训练图像做⼀系列随机改变,来产⽣相似但⼜不同的训练样本,从而扩⼤训练数据集的规模。图像增⼴的另⼀种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提⾼模型的泛化能⼒。
为了在预测时得到确定的结果,我们通常只将图像增⼴应⽤在训练样本上,而不在预测时使⽤含随机操作的图像增⼴。

微调

计算机视觉中的深度学习_第1张图片
微调

迁移学习将从源数据集学到的知识迁移到⽬标数据集上。 微调是迁移学习的⼀种常⽤技术。⽬标模型复制了源模型上除了输出层外的所有模型设计及其参数,并基于⽬标数据集微调这些参数。而⽬标模型的输出层需要从头训练。

⽬标检测

在很多时候,图像⾥有多个我们感兴趣的⽬标,我们不仅想知道它们的类别,还想得到它们在图像中的具体位置。在计算机视觉⾥,我们将这类任务称为⽬标检测(Object detection)。
在⽬标检测⾥,为了判断区域中是否包含我们感兴趣的⽬标,要调整区域边缘从而更准确预测⽬标的真实边界框(ground-truth bounding box)。

锚框

不同的模型所使⽤的区域采样⽅法可能不同,其中锚框(anchor box)是以每个像素为中⼼⽣成多个⼤小和宽⾼⽐(aspect ratio)不同的⽅形边界框。
衡量锚框和真实边界框之间的相似度通常使用交并比(Intersection over Union,简称 IoU),即两个边界框相交⾯积与相并⾯积之⽐。
在训练集中,我们将每个锚框视为⼀个训练样本。为了训练⽬标检测模型,我们需要为每个锚框标注两类标签:⼀是锚框所含⽬标的类别,简称类别;⼆是真实边界框相对锚框的偏移量,简称偏移量(offset)。
预测时,我们可以使⽤⾮极⼤值抑制来移除相似的预测边界框,从而令结果简洁。

多尺度目标检测

在不同尺度下⽣成不同数量和不同⼤小的锚框,从而基于卷积神经⽹络在多尺度下检测不同⼤小的⽬标:
特征图的形状能确定任⼀图像上均匀采样的锚框中⼼。
⽤输⼊图像在某个感受野区域内的信息来预测输⼊图像上与该区域相近的锚框的类别和偏移量。

单发多框检测(SSD)

基于边界框、锚框、多尺度⽬标检测来构造⼀个⽬标检测模型:单发多框检测(single shot multibox detection,简称 SSD)。

计算机视觉中的深度学习_第2张图片
SSD模型图

上图描述了SSD 模型的设计,它主要由⼀个基础⽹络块和若⼲个多尺度特征块串联而成。
其中 基础⽹络块⽤来从原始图像抽取特征,⼀般会选择常⽤的深度卷积神经⽹络(VGG或ResNet)。
多尺度特征块将上⼀层提供的特征图的⾼和宽缩小(例如减半),并使特征图中每个单元在输⼊图像上的感受野变得更⼴阔,因此更适合检测尺⼨较⼤的⽬标。
由于 SSD 基于基础⽹络块和各个多尺度特征块⽣成不同数量和不同⼤小的锚框,并通过预测锚框的类别和偏移量(即预测边界框)检测不同⼤小的⽬标,因此 SSD 是⼀个多尺度的⽬标检测模型。SSD的原始论文在 这里。

区域卷积神经⽹络(R-CNN)系列

区域卷积神经⽹络(region-based CNN 或 regions with CNN features,简称 R-CNN)是将深度模型应⽤于⽬标检测的开创性⼯作之⼀。R-CNN 和它的⼀系列改进⽅法有:快速的 R-CNN(Fast R-CNN)、更快的 R-CNN(Faster R-CNN)以及掩码 R-CNN(MaskR-CNN)。
R-CNN 对图像选取若⼲提议区域,然后⽤卷积神经⽹络对每个提议区域做前向计算抽取特征,再⽤这些特征预测提议区域的类别和边界框。
Fast R-CNN 对 R-CNN 的⼀个主要改进在于只对整个图像做卷积神经⽹络的前向计算。它引⼊了兴趣区域池化层,从而令兴趣区域能够抽取出形状相同的特征。
Faster R-CNN 将 Fast R-CNN 中的选择性搜索替换成区域提议⽹络,从而减少提议区域的⽣成数量,并保证⽬标检测的精度。
Mask R-CNN 在 Faster R-CNN 基础上引⼊⼀个全卷积⽹络,从而借助⽬标的像素级位置进⼀步提升⽬标检测的精度。

语义分割

语义分割(semantic segmentation)关注如何将图像分割成属于不同语义类别的区域。

计算机视觉中的深度学习_第3张图片
语义分割

语义分割的⼀个重要数据集叫做 Pascal VOC2012,下载地址在 这里。

全卷积⽹络(FCN)

全卷积⽹络(fully convolutional network,简称 FCN)采⽤卷积神经⽹络实现了从图像像素到像素类别的变换,从而令给定空间维上的位置、通道维的输出即该位置对应像素的类别预测。

计算机视觉中的深度学习_第4张图片
全卷积网络

全卷积⽹络先使⽤卷积神经⽹络抽取图像特征,然后通过 1 × 1 卷积层将通道数变换为类别个数,最后通过 转置卷积(transposed convolution)层将特征图的⾼和宽变换为输⼊图像的尺⼨。 转置卷积层得名于矩阵的转置操作,卷积运算还可以通过矩阵乘法来实现。

你可能感兴趣的:(计算机视觉中的深度学习)