细粒度分类 | 细粒度识别中的深度定位与对齐

1.细粒度图像分析任务(又叫子类别图像分类)

        分类:强监督(物体标准框、局部标注点)、弱监督(无人工标注信息或者只包含物体标注框);

 

细粒度分类 | 细粒度识别中的深度定位与对齐_第1张图片

图 1 细粒度图像识别与粗类识别的区别

 

数据集描述:Caltech-UCSD Birds-200-2011

                                                 细粒度分类 | 细粒度识别中的深度定位与对齐_第2张图片

                                                       图 2 数据集的描述展示                                         

2.细粒度图像分割的相关任务

2.1 两级注意力模型

           细粒度分类 | 细粒度识别中的深度定位与对齐_第3张图片

                                                                                                                                 图 3 细粒度识别的框架

 

         两级注意力模型(关注的是两个不同层次级的特征,其中物体级(强监督模型中的物体标注框)和局部级(强监督模型中局部标注点)的特征)

Selective Search产生大量的局部区域,对于对象级的分类有很多成熟的模型(比如alenet和VGGnet),对于局部级的分类首先对其进行谱聚类,然后进行特征提取,最后将这两类特征进行级联,得到较高的分类精度(77.9%)。

2.2 星座模型

                                                            细粒度分类 | 细粒度识别中的深度定位与对齐_第4张图片

                                                                                                                                    图 4 星座模型的图示

 

         此时使用卷积特征产生的关键点作为局部区域,因为此时通过实验对卷积特征的可视化发现,卷积特征享有比较高的区域往往是原图中潜在的局部区域,因此将卷积特征可以作为一种检测分数(这个分数的大小可以用于判断是否可以将该卷积特征作为局部的标注点区域);而对于前景图像,还是使用Selective Search方法进行提取,最后使用将这两类特征通过VGGnet进行级联进行分类。弱监督模型的工作主要在于检测到局部区域和前景图像;

2.3 第一个强监督模型

                                 细粒度分类 | 细粒度识别中的深度定位与对齐_第5张图片

                                                                                                                 图 5 基于R-CNN细粒度图像检测识别的框架

 

        具体思路为:先用Selective Search产生2000多个局部区域,分别对这2000个局部区域进行特征提取,然后使用SVM产生一个分数,根据分数可以产生标注框,根据以上方法可以产生三个标注框(物体、物体的头部、物体的身体);其实工作的本质是通过物体的标注信息训练出三个检测网络(一个全局物体标注框、两个局部头部和物体的身体),然后使用三个的检测网络将特征进行级联进行分类(有点简单粗暴,细节方面仍需优化)。实验表明,不同的网络的卷积特征会代表不同的语义信息,具体浅层代表边缘信息,深层的往往代表语义信息,而且在类内的干扰因素姿态有一个重要的影响,因此许多研究工作主要从姿态的对齐和特征的提取两个方面进行着手研究。

 

 

3.LAC模型

                               细粒度分类 | 细粒度识别中的深度定位与对齐_第6张图片

                                                                                                                          图 6 LAC模型的框图

        主要目标是将定位、对齐、分类集成到一起;根据图6所示,具体流程包括首先定位到局部区域、然后将局部区域根据已有的模板进行放缩、旋转等进行对齐、然后将对齐以后的图像送入分类子网进行分类。

         LAC是一个整体的模型,它的难点主要在于如何将分类子网中的误差反向传播到定位子网,因为分类子网络中没有定位子网的相关约束,也没有相关定位子网络的参数,因此在反向传播求导的值为0(无参数肯定是0),因此需要对对齐子网进行精心地设计(文中通过设计VLF模型将定位和分类整合到一起)。

 

3.1 VLF模型的实现

                              细粒度分类 | 细粒度识别中的深度定位与对齐_第7张图片

                                                                                                                                图 7 VLF的模型框架

3.1.1 定位子网

         这里的定位子网和分类子网都是选用的axlenet网络,对于定位子网,它的输出是一个边框坐标;图8给出了定位子网的目标函数设计:

                                                      细粒度分类 | 细粒度识别中的深度定位与对齐_第8张图片

                                                                                                                            图 8 定位子网的目标函数

 

         从以上公式可以看出,L经过fl的输出就是预测的目标标注框,定位的目标函数就是使得预测的标注框尽可能的和真实标注框一致。定位子网的输出是4维的坐标信息,由于数据库中有200多个类别,所以分类子网输出的二维的分类信息;

 

3.1.2 分类子网

 

 

                                                        细粒度分类 | 细粒度识别中的深度定位与对齐_第9张图片

                                                                                                            图 9 分类子网的目标函数设计

 

3.1.3 对齐子网

 

                                                                        细粒度分类 | 细粒度识别中的深度定位与对齐_第10张图片

                                                                                                            图 10 对齐子网的目标函数设计

 

        网络的对其部分要实现对齐就要有参照的模板,图11公式就是介绍如何度量两个图像之间的相似度;

                                                                          细粒度分类 | 细粒度识别中的深度定位与对齐_第11张图片

                                                                                                             图 11 公式化介绍如何度量两个图片间的相似性

 

                                                          细粒度分类 | 细粒度识别中的深度定位与对齐_第12张图片

                                                                                                                   图 12  如何度量两个图像的相似度方法介绍

 

                                                                   细粒度分类 | 细粒度识别中的深度定位与对齐_第13张图片

                                                                                                                  图 13  具体对齐依据公式实现

 

        根据公式11,我们可以计算数据库中两两图像间的相似度矩阵,然后根据相似度为边组成一个带权的无向图,然后利用谱聚类的方法将无向图分割为K个簇,然后离每个族中心最近的图像以及它的镜面翻转就组成的模板集合;谱聚类的思想就是将带权无向图划分为两个或两个以上的最优子图,它的目的就是使类间尽量远离,类内尽量相似; (就是一个聚类的过程),此时有了模板集合,就可以进行最后的对齐工作,目标函数Ea中的S就表示让经过平移、旋转、缩放后的局部区域和模板图像尽可能的一致,第二项表示对平移进行约束,然平移竟可能的小,使式子尽可能的大。

                                                            细粒度分类 | 细粒度识别中的深度定位与对齐_第14张图片

                                                                                                                图 14 具体对齐的示意图

 

         如上图14所示,左边是已提取的模板,右边经过定位裁剪后的图像分别与模板中的图像进行目标函数的计算,找到使得目标函数最大的模板,然后得到此时的各项系数,然后执行此时的平移、旋转、缩放等,对定位的局部区域进行处理。这样就可以将待对齐的图像和模板图像进行分类对齐;

 

4 VLF模型的分析

                                                       细粒度分类 | 细粒度识别中的深度定位与对齐_第15张图片       

                                                                                                                     图 15 VLF的设计

 

          VLF其实是一个函数; 这里Ea是对齐子网的目标函数,分子指反向传播时的边框,后者分母Lf指定位子网络输出的边框;

                                                             细粒度分类 | 细粒度识别中的深度定位与对齐_第16张图片

                                                                                                               图 16 反向更新如何求导

 

        将对齐子网的输出VLF作为分类子网的输入,现在将分类子网的输入改变,如红色下划线所示的那样;此时将定位子网的参数很自然的传递到分类子网,从而在使用链式法则就可以对定位子网的参数进行求导,从而实现定位子网参数的更新;

                                                                       细粒度分类 | 细粒度识别中的深度定位与对齐_第17张图片

                                                      细粒度分类 | 细粒度识别中的深度定位与对齐_第18张图片                                                                            细粒度分类 | 细粒度识别中的深度定位与对齐_第19张图片                                           

                                                                                                                                     图 17 对齐子网的求导

        图 17 通过对代价函数的求导分析,从而实现了将分类子网中的误差通过构造VLF对齐子网模型传递到定位子网中,从而能够实现端对端的训练,这是一种集大成的思想啊!!!

 

4.1 网络效果分析

                                                            细粒度分类 | 细粒度识别中的深度定位与对齐_第20张图片

                                                                                                  图 18 对该鸟类数据集进行细粒度实验的结果展示

           试验分析:这种将定位、对齐、分类三网络集成在一起的设计架构对最后结果有一定的提升效果,然而这种方式更重要的目的是给我们提供一种设计思路(集成的思想);

5  总结和展望

        LAC模型是包含定位和分类的,它是一个多任务的模型。它的缺点就是使用了强监督的标签信息;强监督模型使用很大的代价,包括全局的标签信息和局部的标签信息,而弱监督模型只包含全局的标签信息,所以在作细粒度图像分类时,如何采用弱监督的模型进行,如何准确地检测局部区域;前面讲到的星座模型提取局部区域也是比较好的方法;如何利用CNN提取特征方面,不同的卷积特征代表不同的语义信息,如采用对变形的卷积核进行处理;LAC启发我们如何将不同的模块进行组合统一合理地设计总的目标函数,可能对最后的结果产生帮助;

参考:https://blog.csdn.net/qq_29184757/article/details/77981198

你可能感兴趣的:(fine-grained)