基于卷积神经网络的细粒度图像识别算法研究文献综述

 2023-08-14 09:08

文献综述(或调研报告):

细粒度图像识别是计算机视觉领域中一个颇具挑战性的任务,它的目标是在一个大类中的数百数千个子类中正确识别目标。对细粒度图像识别,可以按照其使用的监督信息的强弱,分为“基于强监督信息的细粒度识别模型”和“基于弱监督信息的细粒度识别模型”两大类。

所谓“强监督细粒度图像识别模型”是指:在模型训练时,为了获得更好的识别精度,除了图像的类别标签外,还使用了目标边界框(Object Bounding Box)和部位标注点(Part Annotation)等额外的人工标注信息。强监督信息细粒度识别有几种经典模型:Part-based R-CNN,Pose Normalized CNN,Mask-CNN。

Part-based R-CNN[1]就是一种强监督模型,利用R-CNN算法对细粒度图像进行物体级别(例如鸟类)与其局部区域(头、身体等部位)的检测。在检测中,利用细粒度图像中的目标边界框和部位标注点可以训练出三个检测模型:一个对应细粒度物体级别检测;一个对应物体头部检测;另一个则对应躯干部位检测。这样的特征表示既包含全部特征(即物体级别特征),又包含具有更强判别性的局部特征(即部位特征:头部特征/躯干特征),因此识别精度较理想。但在Part-based R-CNN中,不仅在训练时需要借助目标边界框和部位标注点,为了取得满意的识别精度,在测试时甚至还要求测试图像提供目标边界框。这便限制了Part-based R-CNN在实际场景中的应用。

Pose Normalized CNN[2]是S. Branson等人提出在用DPM算法得到部位标注点的预测点后同样可以获得物体级别和部位级别的检测框。与之前工作不同的是,Pose Normalized CNN对部位级别图像块做了姿态对齐操作。此外,由于CNN不同层的特征具有不同的表示特性(如浅层特征表示边缘等信息,深层特征更具高层语义),该工作还提出应针对细粒度图像不同级别的图像块,提取不同层的卷积特征。最终,还是将不同级别特征级联作为整张图像的表示。如此的姿态对齐操作和不同层特征融合方式,使得Pose Normalized CNN在使用同样多标记信息时取得了相比Part-based R-CNN高2%的识别精度。

Mask-CNN[3]模型亦分为两个模块,第一是局部定位;第二是全局和局部图像块的特征学习。需要指出的是,与上文两个模型的不同在于,在Mask-CNN中,我们提出借助全卷积网络学习一个部位分割模型(Part-Based Segmentation Model)。其真实标记是通过部位标注点得到的头部和躯干部位的最小矩形框。在全卷积网络中,这一问题就转化为一个三分类图像分割问题,其中,一类为头部、一类为躯干、最后一类则是背景。全卷积网络训练完毕后,可以对测试集中的细粒度图像进行较精确地局部定位。基于全卷积网络的局部定位方式可以对大多数细粒度图像进行较好的关键区域定位。同时,即使全卷积网络的真实标记是粗糙的矩形框,但其预测结果中针对局部稍精细些的轮廓也能较好地得到。预测得到的局部分割结果为Part Mask。不过,对于一些复杂背景图像局部定位结果还有待提高。

虽然强监督信息的识别模型能够取得了较满意的识别精度,但由于标注信息的获取代价十分昂贵,在一定程度上也局限了这类算法的实际应用。因此,目前细粒度图像识别的一个明显趋势是,希望在模型训练时仅使用图像级别标注信息,而不再使用额外的Part Annotation信息时,也能取得与强监督识别模型可比的识别精度。这便是“基于弱监督信息的细粒度识别模型”。弱监督信息细粒度识别有几种经典模型:Two Level Attention Model,Bilinear CNN等。

Two Level Attention Model[4]模型主要关注两个不同层次的特征,分别是物体级别和部件级别信息。该模型并不需要数据集提供这些标注信息,完全依赖于本身的算法来完成物体和局部区域的检测。该模型主要分为三个阶段。1. 预处理模型:从输入图像中产生大量的候选区域,对这些区域进行过滤,保留包含前景物体的候选区域;2. 物体级模型:训练一个网络实现对对象级图像进行识别;在此需要重点介绍的是,3. 局部级模型。由于预处理模型选择出来的这些候选区域大小不一,有些可能包含了头部,有些可能只有脚。为了选出这些局部区域,首先利用物体级模型训练的网络来对每一个候选区域提取特征。接下来,对这些特征进行谱聚类,得到K个不同的聚类簇。如此,则每个簇可视为代表一类局部信息,如头部、脚等。这样,每个簇都可以被看做一个区域检测器,从而达到对测试样本局部区域检测的目的。

Bilinear CNN[5]模型,也就是本次毕业设计选用的模型,是一种端到端的网络模型,在CUB200-2011数据集上取得了弱监督细粒度识别模型的最好识别准确度。一种对Bilinear CNN模型的解释是,他的两个网络中一个网络的作用是对物体/部件进行定位,即完成物体与局部区域检测工作,而另一个网络则是用来对检测到的物体位置进行特征提取。两个网络相互协调作用,完成了细粒度图像识别过程中两个最重要的任务:物体、局部区域的检测与特征提取。值得一提的是,Bilinear模型由于其优异的泛化性能,不仅在细粒度图像识别上取得了优异效果,还被用于其他图像识别任务,如行人重检测(Person Re-ID)。

Improved B-CNN[6]在Bilinear CNN模型的基础上做出了数学上的优化与改进。该模型研究了统计信息的各种归一化处理方法来提高它们的特征表达能力。和矩阵逐元素开方和L2归一化相结合时,矩阵均方根归一化比其他替代方法,例如矩阵对数归一化,改进更加显著。这些方法在一系列细粒度识别数据集上准确率提升2-3%,达到目前最优性能。同时,模型也研究了矩阵函数计算精度对网络训练和评估的影响。特别地,比较了通过求解Lyapunov方程来估计矩阵平方根梯度的方法,该方法比通过奇异值分解(Singular Value Decomposition, SVD)来计算梯度更精确。当SVD梯度在数值上不精确时,只要仔细处理边界情况,这种不精确对最终精度的总体影响是可以忽略的。由此提出了一种计算梯度的替代方案,该方案速度更快,而且对于基础模型提供了改进。最后,证明使用多次牛顿迭代近似计算的矩阵平方根对于识别任务同样准确,但与SVD分解相比,GPU的实现速度能快一个数量级。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。