作者:mobiledu2502861763 | 来源:互联网 | 2023-09-05 15:28
Abstract与早期使用CNN特性的多阶段框架相比,最近采用的端到端深度精细识别方法从本质上提高了CNN的中层学习能力。以前的方法是通过引入一个辅助网络将定位信息
Abstract 与早期使用CNN特性的多阶段框架相比,最近采用的端到端深度精细识别方法从本质上提高了CNN的中层学习能力。以前的方法是通过引入一个辅助网络将定位信息注入到主分类网络中,或者通过一个复杂的特征编码方法来获取更高阶的特征统计量来实现这一点。我们证明了中层表示学习可以在CNN框架内得到增强,通过学习一组卷积滤波器来捕获特定的类别有区别的patch而不需要额外的部分或边框标注。该滤波器组具有良好的结构、适当的初始化和鉴别学习,通过一种带有卷积滤波器监督和非随机层初始化的新型非对称多流结构。实验结果表明,我们的方法在3个公开的细粒度识别数据集( (CUB-200-2011, Stanford Cars and FGVC-Aircraf )上达到了最先进的水平。
1. Introduction 细粒度目标识别涉及区分同一超类别的子类别(例如,鸟类、汽车和飞机),解决方案通常利用来自局部区域的信息来捕捉细微的差异。 深度学习在该任务中的早期应用是基于卷积神经网络(CNN)的特点构建了传统的多阶段框架; 现在基本都是基于CNN端到端的学习可以分为两种:1. 定位分类子网络;2. 端到端的特征编码
早期多阶段的框架利用了低层CNN特征寻找具有判别力的区域和语义部分,对这些构建中层表示用于分类。他们对比以前的方法有着不错的效果,这表明了CNN学习中间层表示还有很大的进步空间,基于这个发现,作者想要学习一个提高CNN学习中间层表示能力的一个网络。
定位分类子网络: 由定位网络提供的定位信息增强了分类网络的中层学习能力 ,但这需要额外的标签(bounding boxes, part locations ),而且在分类和定位之间存在着一个权衡(要同时考虑两个任务的准确率), 这可能会降低单个集成网络的分类性能 。 端到端的特征编码: 通过编码卷积特征图的高阶统计信息,增强CNN的中级学习。 与定位分类子网络相比,有效的端到端编码网络在非刚性和刚性视觉域上的可解释性和一致性更低。 本文解决了端到端两类网络所面临的问题。 主要贡献是在CNN框架中以端到端的方式学习有区别的mid-level patches,而不需要额外的部分或边框注释 。主要由一个1x1的过滤器称为patch detectors,以一个非对称多流结构利用局部信息和全局信息,同时引入滤波器监督与非随机层初始化来激活在由判别力区域的过滤器。
3 . DFL
简单来讲,patch detecors(显著区域检测器)就是一个1x1的卷积核,对于使用预训练提取出来的特征CxHxW,其中每一个Cx1x1的向量表示为原始图片中对应位置的patch。这里我们主要是为了学习一个对于显著区域有着高响应的1x1的过滤器,通过使用这个卷积层我们获取一个heatmap,对应上图中的response map,通过全局最大相应我们可以找到一个对应于原图的显著区域
这里主要由三个分支,左面(G-Stream)提取图片的全局特征;中间(P-Stream)提取图片的局部特征;右面(side branch)专注于进一步对P-Stream提取的显著区域特征分类,把具有特征的一些局部特征划分到某一类。
G-Stream 没有什么特别可说的,本文主要亮点在P-Stream 和Side Branch ;
P-Stream 将通过VGG conv4_x输出的特征图输入Conv6(1X1的卷积核),其中conv4_x的输出为[-1, 512,56,56]通过Conv后输出为[-1,KM,56,56], k为每个类别提取的显著区域个数,M为类别,再通过pool6全局最大池化输出为[-1, KM, 1, 1]表示为该张图片提取了KM的显著区域,每个类K个。pool6后面接着一个全连接层用来分类然后计算loss。
P-Stream 仅仅这样训练不能保证获得期望的局部特征, 于是提出了Side Branch 学习特定类别的判别器 ,它通过一个跨通道平均池化将pool6的输出,对每k个局部特征进行平均池化输出为[-1, M, 1,1]再接上softmax得到每一类的概率。
Non-Random Init
另一个文章中的要点就是1x1卷积核的初始化了,事实上如果对1x1的卷积核进行随机初始化,可能会导致网络陷入局部最优的情况,因此在这里引入非随机初始化。
这里让第i类的某张图片输入vgg网络得到conv_4输出的特征图(CxHxW), 对每一个Cx1x1的向量进行L2正则化得到一个HxW的能量图, 对能量图进行非最大值抑制挑选N个最大响应,对这N个最大响应取K个聚类中心进行k-means聚类,获得H * W * C特征图的K个中心,用来初始化第i类显著区域检测器。将上文提及的卷积核分为M组,每组K个。每个聚类中心是一个 Cx1x1的向量。然后用这K个向量来分别初始化每组的显著性区域检测器。
注:
The P-Stream uses the output of conv4 3 and the minimum receptive field in this feature map corresponds to a patch of size 92 × 92 with stride 8.
vgg conv4_3的输出为512x56x56,原图448x448,这里不能认为56x56的每个像素对应一个原图一个8x8的视野,要明白感受野的概念,这里给出一个vgg各层的感受野