计算机视觉基础(10)——深度学习与图像分类

前言

传统视觉算法采用手工设计特征与浅层模型,而手工设计特征依赖于专业知识,且泛化能力差。深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案。在之前的课程中,我们已经学习了图像分类的传统知识。在本节课中,我们将学习到图像分类融合深度学习的方法

一、视觉算法设计流程的演化

下面是传统视觉算法和深度学习算法的区别:

传统视觉算法采用手工设计特征与浅层模型

手工设计特征依赖专业知识(Domain knowledge),且泛化性能差

深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案

计算机视觉基础(10)——深度学习与图像分类_第1张图片

接下来,我们以人脸识别任务为例,对传统方法和深度学习方法进行一个比较:

传统方法的思路如下:

计算机视觉基础(10)——深度学习与图像分类_第2张图片

深度学习方法的思路如下:

计算机视觉基础(10)——深度学习与图像分类_第3张图片

下面是深度学习方法的一些优点:

  • 深度模型更适合处理大数据,随着训练数据规模增大,性能不断提升。
  • 而浅层模型随训练数据的增加,性能提升不明显。

如下图所示:

计算机视觉基础(10)——深度学习与图像分类_第4张图片

并且,通过数据驱动的方式学出的深度特征,具有更强的泛化性能

计算机视觉基础(10)——深度学习与图像分类_第5张图片

二、分层级深度特征

在了解了深度学习视觉算法的设计流程之后,我们还需要学习一下分层级的深度特征。

不同层级的卷积层所学习到的图像特征具有分层的特性

浅层: 学习到图像的低级(Low-level)特征,如颜色、边缘、纹理

深层: 学到图像的高级(High-level)特征,如物体位置、语义类别

计算机视觉基础(10)——深度学习与图像分类_第6张图片

我们以AlexNet为例,对每一层卷积层进行说明:

1)AlexNet中第一层卷积的滤波器96x[11x11x3] 学到edge, color, blob 等底层特征,与手工设计滤波器组相似。

计算机视觉基础(10)——深度学习与图像分类_第7张图片

2)第二层对继续对角点和其他的边缘/颜色信息进行相应

计算机视觉基础(10)——深度学习与图像分类_第8张图片

3)第三层具有更复杂的不变性,捕获相似的纹理

计算机视觉基础(10)——深度学习与图像分类_第9张图片

4)第四层显示了显著的变化,并且更加类别具体化。而第五层显示了具有显著姿态变化的整个对象。
计算机视觉基础(10)——深度学习与图像分类_第10张图片

三、常见的深度神经网络类型

我们将依次介绍如下4种常见的深度神经网络类型,这在之前的深度学习课程上面也学习过,在此仅作为复习使用:

全连接网络 (Fully Connected Net)

卷积网络 (Convolution Net)

递归网络 (Recurrent Net)

Transformer

3.1  全连接网络

计算机视觉基础(10)——深度学习与图像分类_第11张图片

计算机视觉基础(10)——深度学习与图像分类_第12张图片

计算机视觉基础(10)——深度学习与图像分类_第13张图片

计算机视觉基础(10)——深度学习与图像分类_第14张图片

3.2  卷积网络

对于卷积神经网络,我们需要知道参数量的计算、卷积层的3个主要特点、卷积的过程和空洞卷积的概念和意义、上采样的概念和计算,批量归一化的定义和优缺点

3.2.1  卷积层参数量的计算

计算机视觉基础(10)——深度学习与图像分类_第15张图片

3.2.2  卷积层的特点(重要)

计算机视觉基础(10)——深度学习与图像分类_第16张图片

3.2.3  卷积的过程

计算机视觉基础(10)——深度学习与图像分类_第17张图片

3.2.4  卷积步幅

下图中的步幅 stride = 2

计算机视觉基础(10)——深度学习与图像分类_第18张图片

3.2.5  空洞卷积

计算机视觉基础(10)——深度学习与图像分类_第19张图片

3.2.6  池化层

池化的意义和作用如下:

使用某一位置相邻区域的总体统计特性来代替网络在该位置的输出

在尽量保留有用信息的同时,实现特征图降采样,提升感受野

1)最大值池化

计算机视觉基础(10)——深度学习与图像分类_第20张图片

2)平均值池化

计算机视觉基础(10)——深度学习与图像分类_第21张图片

3.2.7  上采样(反卷积)

计算机视觉基础(10)——深度学习与图像分类_第22张图片

计算机视觉基础(10)——深度学习与图像分类_第23张图片

计算机视觉基础(10)——深度学习与图像分类_第24张图片

3.2.8  批量归一化(重点)

计算机视觉基础(10)——深度学习与图像分类_第25张图片

参考文献:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, ICML 2015

BN的优缺点如下:

计算机视觉基础(10)——深度学习与图像分类_第26张图片

需要掌握Batch Norm、Layer Norm、Instance Norm和Group Norm这四个对应的表示形式:

计算机视觉基础(10)——深度学习与图像分类_第27张图片

3.3  递归网络

不是考查的重点,请感兴趣的读者移步参考下方链接:

【神经网络】递归神经网络 - 知乎 (zhihu.com)

3.4  Transformer

Transformer最早针对NLP任务设计,随后推广至视觉领域 (分类、检测、分割、跟踪)

Transformer最核心的模块是自注意力机制模块,该模块通过将输入特征间的相关性作为权重,对输入特征进行加权,实现管局关系建模

计算机视觉基础(10)——深度学习与图像分类_第28张图片

3.4.1  自注意力机制

计算机视觉基础(10)——深度学习与图像分类_第29张图片

计算机视觉基础(10)——深度学习与图像分类_第30张图片

计算机视觉基础(10)——深度学习与图像分类_第31张图片

计算机视觉基础(10)——深度学习与图像分类_第32张图片

计算机视觉基础(10)——深度学习与图像分类_第33张图片

参考链接:https://jalammar.github.io/illustrated-transformer/

3.4.2  多头注意力模块

计算机视觉基础(10)——深度学习与图像分类_第34张图片

计算机视觉基础(10)——深度学习与图像分类_第35张图片

计算机视觉基础(10)——深度学习与图像分类_第36张图片

3.4.3  常见的损失函数与优化器

计算机视觉基础(10)——深度学习与图像分类_第37张图片

四、图像分类

接下来我们将介绍最经典的一些图像分类模型:

4.1  ImageNet数据集

计算机视觉基础(10)——深度学习与图像分类_第38张图片

细粒度(Fine-Grained)图像分类是对图像种类进行更精细的划分:

计算机视觉基础(10)——深度学习与图像分类_第39张图片

随着旧模型的不断改进,新模型的不断提出,图像分类模型推陈出新,ImageNet精度逐年提升:

计算机视觉基础(10)——深度学习与图像分类_第40张图片

4.2  AlexNet

计算机视觉基础(10)——深度学习与图像分类_第41张图片

4.3  VGG

计算机视觉基础(10)——深度学习与图像分类_第42张图片

计算机视觉基础(10)——深度学习与图像分类_第43张图片

4.4  GoogleNet

计算机视觉基础(10)——深度学习与图像分类_第44张图片

计算机视觉基础(10)——深度学习与图像分类_第45张图片

4.5  ResNet

计算机视觉基础(10)——深度学习与图像分类_第46张图片

计算机视觉基础(10)——深度学习与图像分类_第47张图片

计算机视觉基础(10)——深度学习与图像分类_第48张图片

4.6  DenseNet

计算机视觉基础(10)——深度学习与图像分类_第49张图片

4.7  Vision Transformer

计算机视觉基础(10)——深度学习与图像分类_第50张图片

4.8  Swing Transformer

计算机视觉基础(10)——深度学习与图像分类_第51张图片

Swing Transformer 提出Window based Self-Attention:将输入图像分成互不重叠的Window,自注意机制在每一个Window中独立计算

计算机视觉基础(10)——深度学习与图像分类_第52张图片

计算机视觉基础(10)——深度学习与图像分类_第53张图片

总结

本文从视觉算法设计流程的演变入手,对比传统视觉算法和深度学习算法的优劣,引出深度学习算法,并依次介绍了深度特征、深度神经网络类型和图像分类的经典模型

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