Picking Deep Filter Responses for Fine-grained Image Recognition
为细粒度图像选择过滤器
abstract
细粒度识别是在大的种类中区分细的种类,比如传统的图像识别只是识别出图像中是猫是狗,细粒度识别是在狗中区别出是那种狗,比如是田园犬,还是萨摩耶,还是秋田狗等等。作者是基于两个步骤寻找深度过滤器,建立了一个框架。第一步是找到对特定模式有显著且一致响应的过滤器,并通过在新的正样本中挖掘和部件模型再培训之间的迭代交替学习一组部件检测器。第二步是通过Fisher向量的空间加权组合来汇集深度过滤响应。
Introduction
通常细粒度的识别都需要对图像有标注,这是一个浩大的工程,因此作者提出一种用于细粒度识别的自动部件检测策略,它在培训和测试阶段都没有任何对象/部件级别的注释。这种自动部件检测策略主要有两个贡献:第一个提出了一种基于深度滤波器选择性的检测器学习初始化方法。之前的探测器很弱,而且大多数与我们的任务无关,因此提出一种深度过滤器。第二个是建议透过迭代式的每类别正样本挖掘和正则化的零件模型再训练来学习一组检测器。学习检测器倾向于发现有区别和一致的小块,这有助于基于部分的识别。
上面两张是经过特殊的过滤器过滤之后提取的特征,下面两张是没有特殊的过滤器提取的特征,可以发现用了特殊的过滤器的提取的特征更加明显,而没有用的就提取的很杂乱。
由于最近发展起来的cnn网络需要固定的输入,这样不可避免把背景输入,但事实上背景没啥东西。再就是检测与分类之间有区别由于较大的位姿变化和部分遮挡,检测可能不可靠,并失去关键的识别细节。因此作者提出第二个一种适合于细粒度表示的新特性。作者将CNN的深度滤波响应视为局部描述符,并通过空间加权Fisher向量(SWFV-CNN)对其进行编码。因此提出了一种基于局部显著性映射的条件选择描述符的选择策略,该策略指示了一个像素属于前景部分的可能性。实验表明SWFV-CNN比传统的cnn效果好。
框架:
第一步的目标是选择对特定模式有显著和一致响应的深层过滤器。我们使用一个迭代过程,在选择正样本和训练分类器之间交替进行,同时在每一步应用交叉验证来防止分类器对初始正样本过拟合。经过训练的检测器用于发现需要识别的部件。
第二步是选择CNN过滤器空间加权的Fisher向量组合,我们称之为SWFV-CNN。
related works
主要是介绍了part localization and feature representation.不想翻了
3. Learning Part Detectors
这部分主要是介绍自动识别的过滤器。作者的策略包括三个模块:正样本初始化、正则化检测器训练和检测器选择。
正样本初始化:第一个模块生成初始部分,每个初始部分由一组可能为正的图像补丁样本定义。
第二模块中,作者使用正则化迭代策略为每组正样本训练检测器。
第三个模块通过测量好的检测器在识别精度方面的预测能力来选择好的检测器。
这种训练都是弱监督的,它只需要训练示例的标签,而不需要任何对象/部件级别的注释。
3.1正样本初始化
学习部件检测器需要一组部件示例,比如k-means来初始化部件模型,但是这种返回的结果不大好。
作者提出了一种基于CNN滤波器组响应,精心选取特征鲜明且一致的拾取策略。关键是CNN的不同层对特定的模式很敏感。例如,较低的层通常响应角落和其他边缘连接,而较高的层通常对应语义上有意义的区域。
在某种意义上,这些卷积滤波器作为检测器的一部分。然而,这些检测器通常很弱,而且大多数与我们的细粒度任务无关。
为了找出哪些过滤器是独特的部分发现,进行以下操作:
首先产生对图像进行选择性搜索(selective search),并随机抽样100万个子集,叫做patch。
然后将每个patch的大小调整为107×107,经过卷积,池化之后,使第4个卷积层的激活输出为单个值,也就是输出为1*1(与检测分数相似),虽然只有一个值但是有64个通道。
然后,对所有通道的值进行排序,选出响应最高的10K的回复。这些响应被绑定到相应的通道中,根据它们对哪个通道的响应最多。最后看这10k个最大的值对应的是哪个通道。
对于第一个图超过90%的响应高的集中在前5%的通道,这些通道叫:distinctive filters
3.2正规化检测器训练
迭代更新:刚开始的正样本的结果有偏差,我们对SVM检测器进行迭代训练。就是对正样本的过滤器进行迭代。。。。看不懂了
3.3过滤器的选择
然后就是选择过滤器,作者说他们选择的过滤器少于10个
4.Bag of Parts Image Representation
就是讲SWFV-CNN,看不懂。。。。
后面就是讲测试结果
作者的这个结果比其他人的厉害,。。。。其他看不下去了
来源:CSDN
作者:YaYan233
链接:https://blog.csdn.net/YaYan233/article/details/103444321