基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)

1. 深度学习网络模型发展史

图1,网络模型发展方向
基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第1张图片
图2,网络模型发展史
基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第2张图片
通过上面的两幅图,我们大致了解到CNN的发展轨迹,下面将介绍其中的一些典型网络:

1.1 LeNet-5

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第3张图片

LeNet-5的论文是在1998年撰写的,当时人们并不使用padding,或者总是使用valid卷积,这就是为什么每进行一次卷积,图像的高度和宽度都会缩小,所以这个图像从14到14缩小到了10×10。然后又是池化层,高度和宽度再缩小一半,输出一个5×5×16的图像。将所有数字相乘,乘积是400。此网络使用的sigmoid激活函数。

在这篇论文写成的那个年代,人们更喜欢使用平均池化,而现在我们可能用最大池化更多一些。

这里多说一句,纸上得来终觉浅,大家一定要自己动手去推一下特征图,一层一层是如何变化。这样我们去认识和记忆这些典型网络会更加直观具体。

1.2 AlexNet

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第4张图片

这种神经网络使用比较大的卷积核如(11x11)、(5x5)。与LeNet有很多相似之处,不过AlexNet要大得多。AlexNet比LeNet表现更为出色的另一个原因是它使用了ReLu激活函数。

1.3 VGG-16

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第5张图片
VGG-16网络。值得注意的一点是,VGG-16网络没有那么多超参数,这是一种只需要专注于构建卷积层的简单网络。首先用3×3,步幅为1的过滤器构建卷积层,padding参数为same卷积中的参数。然后用一个2×2,步幅为2的过滤器构建最大池化层。因此VGG网络的一大优点是它确实简化了神经网络结构。

随着网络的加深,图像的高度和宽度都在以一定的规律不断缩小,每次池化后刚好缩小一半,而通道数量在不断增加,而且刚好也是在每组卷积操作后增加一倍。也就是说,图像缩小的比例和通道数增加的比例是有规律的。从这个角度来看,这很吸引人。

1.4 Residual Networks (ResNets)

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第6张图片
非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题。所以ResNets引入了跳连接(Skip connection),它可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。

ResNets使用了许多same卷积,所以前几层的维度等于这个输出层的维度。之所以能实现跳跃连接是因为same卷积保留了维度,所以很容易得出这个捷径连接,并输出这两个相同维度的向量。

1.5 Inception 网络(Inception network)

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第7张图片
构建卷积层时,你要决定过滤器的大小究竟是1×1,3×3还是5×5,或者要不要添加池化层。而Inception网络的作用就是代替你来决定,虽然网络架构因此变得更加复杂,但网络表现却非常好。

如果你在构建神经网络层的时候,不想决定池化层是使用1×1,3×3还是5×5的过滤器,那么Inception模块就是最好的选择。我们可以应用各种类型的过滤器,只需要把输出连接起来。之后我们讲到计算成本问题,我们学习了如何通过使用1×1卷积来构建瓶颈层,从而大大降低计算成本。

1.6 MobileNet

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第8张图片
空间可分离:顾名思义,空间可分离就是将一个大的卷积核变成两个小的卷积核,比如将一个3×3的核分成一个3×1和一个1×3的核。

深度可分离卷积就是将普通卷积拆分成为一个深度卷积和一个逐点卷积

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第9张图片

如果有一个方法能让你用更少的参数,更少的运算,但是能达到差的不是很多的结果,你会使用吗?深度可分离卷积就是这样的一个方法。这也就是Mobilenet网络的核心思想。

参考链接:https://zhuanlan.zhihu.com/p/70703846

1.7 ShuffleNet

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第10张图片
图a是一般的group convolution的实现效果。 其造成的问题是,输出通道只和输入的某些通道有关,导致全局信息流通不畅,网络表达能力不足。

图b就是本文的方法啦。 即通过均匀排列,把group convolution后的feature map按通道进行均匀混合, 这样就可以更好的获取全局信息了。 图c是操作后的等价效果图。

参考链接:https://blog.csdn.net/shuzfan/article/details/77141425

2.小样本/零样本图像分类

未完待续


3.细粒度图像分类

Bilinear CNN model(双线性模型)

基于CNN的图像分类综述(包含小样本图像/零样本图像、细粒度图像分类)_第11张图片

网络A的作用是对物体/部件进行定位,即完成物体与局部区域检测工作,而网络B则是用来对网络A检测到的物体位置进行特征提取。两个网络相互协调作用,完成了细粒度图像分类过程中两个最重要的任务:物体、局部区域的检测与特征提取。

参考链接:https://blog.csdn.net/qq_37555071/article/details/108357663

你可能感兴趣的:(深度学习,图像分类综述)