Advertisement

(R-CNN)Rich feature hierarchies for accurate object detection and semantic segmentation论文阅读笔记2014

阅读量:

文章目录

  • (R-CNN)Rich feature hierarchies for accurate object detection and semantic segmentation论文阅读笔记
  • 2014
  • 【摘要

第三部分涉及可视化分析、消融分析以及错误模式分析。

复制代码
* 4.Semantic segmentation
* 5.Conclusion

(R-CNN)基于丰富特征层次结构的精确目标检测与语义分割论文阅读笔记 2014

Abstract

基于PASCAL VOC数据集评估的目标检测任务的表现,在近来表现平缓的状态下仍可维持一定水平的增长。目前最有效的技术多为复杂的集成系统:整合为多个基础图像特征与高级背景知识的有效融合。在本研究中我们开发了一个简单的方法框架,并在此基础上实现了比VOC2012基准性能提升约30%的具体结果(达到53.3%)。我们的方法融合了两大核心策略:

  • 我们可以通过将具有大容量(high-capacity)的CNN应用于基于自顶向下的区域划分来实现定位与分割。
  • 在标签数据不足的情况下,我们可以对伴随任务进行监督式预训练,并在此基础上针对专业领域进行微调以显著提升性能。

因为为了整合区域建议与CNN技术我们创造了一种新型的方法命名为RCNN它由以下两部分组成:第一部分基于CNN提取图像级别的表示第二部分则聚焦于具体物体级别的特征提取。通过实验验证了网络学习的能力结果显示出高度有效的特征提取机制

1.Introduction

Feature的重要性不言而喻。过去十年视觉识别任务的发展主要得益于SIFT和HOG的应用。然而,在2012至2014年间,从另一个角度来看,几乎没有取得实质性的进展,主要依赖于整合各种不同系统的优势,并综合运用多种技术手段进行优化.

SIFT和HOG都属于基于块划分的方向直方图(blockwise) ,它们大致对应于V1中复杂细胞(位于灵长类动物视网膜中的第一个皮质层)的空间位置关系描述。然而我们发现特征识别通常涉及多个后续步骤 这表明为了获得更有效的特征,在计算过程中可能需要采用层次化和多阶段的方法

被称为neocognitron的模型被视为首个具有此类特征的尝试。然而该模型未采用监督学习方法。LeCun采用了随机梯度下降法(SGD),通过反向传播机制实现了对模式识别任务的性能提升。

在1990年代期间广泛应用于多个领域然而逐渐退出了主流视野尤其是由于计算机视觉(CV)领域的技术发展这一现象与其兴起的技术——支持向量机(SVM)的出现不无关系到了2012年期间在深度学习的发展下神经网络架构再次焕发出新的活力并在此时实现了超越性的突破

在ILCV 2012研讨会期间围绕ImageNet上CNN分类结果的重要性展开了热烈的讨论,并未有定论。争论焦点归结为以下几点:

我们通过构建分类与目标检测任务之间的连接来解决问题。本文首次提出基于CNN能够在PASCAL VOC上显著提升目标检测性能的研究论文。为了实现这一目标需要解决两个关键问题:依赖于深度网络定位目标并利用少量标记数据训练出的强大网络。

与传统的图像分类不同,在目标检测中不仅需要识别物体类型还需要确定其具体位置。其中一种方法将定位过程视为回归问题。然而Szegedy及其团队的研究发现该策略的实际效果可能不如预期。另一种思路是设计一种基于滑窗的检测器,在此方案下,卷积神经网络(CNN)被广泛应用于人脸或行人等特定场景的检测任务。然而这类传统架构通常只包含两到三层卷积层。我们曾尝试过这种方法。为了提高定位精度,在本研究中我们采用了五层卷积结构,并配置了一个较大的感受野(195×195像素)和较大的步长(32×32)。尽管如此,在滑窗机制下实现精确定位仍然面临较大挑战。

因此,在解决基于卷积神经网络(CNN)的目标定位问题方面,“基于区域的目标识别”是一种有效的解决方案。在测试阶段的具体实施过程中:首先通过改进算法生成大量类无关区域建议(约2000个),然后利用CNN从每个区域中提取固定的特征向量;接着基于类别特定性采用线性支持向量机(SVM)进行精确分类;最后通过仿射图像变形的基本方法将各区域建议转化为适合CNN输入的固定尺寸格式。此外,在流程图展示中可以看到这一完整过程被命名为R-CNN算法

检测领域的第二个挑战在于标注数据较为匮乏现有的数据样本数量不足以支持大型卷积神经网络(CNN)的有效训练传统的做法通常是先进行无监督预训练后再利用有监督的方法进行微调本文的主要贡献在于提出了一种新的方法即在大规模辅助数据集ILSVRC的基础上进行有监督预训练并在小规模标注数据集PASCAL上运用领域知识进行针对性优化这种方法特别适用于面临数据不足情况下的高性能目标检测器开发通过引入领域知识我们实现了模型性能较现有同类算法提升8个百分点具体而言我们系统的平均精度率(mAP)达到了54%相较于基于HOG的人工变形模型仅达到33%

该系统具有显著的效率优势。仅限于class-specific场景下的计算任务包括一个规模较小的矩阵向量乘积运算以及一种基于贪婪策略的非极大值抑制算法。该计算能够利用特征信息,在各类别中实现统一表示,并且所处理的特征维度相较于传统方法减少了两个数量级。

HOG类特征的一个显著特点在于其简洁性:直观易懂地揭示了其所包含的信息。是否可以从CNN中提取出具有启发性的特征呢?在某些情况下,深度连接且拥有超过54 million参数的部分显得尤为重要.然而并不是.当我们‘叶状化’后的CNN进行测试时,发现其仅减少了约6% (即保留了约94%) 的参数量,而检测精度仅降低了大约1%.此外,卷积神经网络中的每个unit都展示了丰富的特性(见图3).

认识我们的方法在识别过程中的失败模式对于改进该系统而言至关重要。基于此, 我们采用了Hoiem检测与分析工具进行了详细研究。基于这一分析结果, 我们验证表明一种更为简洁的边界框回归技术能够显著降低定位误差, 但目前发现的主要误差源仍需进一步优化。

在介绍技术细节之前, 我们意识到, 考虑到R-CNN在其运行区域内的特性, 很自然地将其扩展至语义分割系统是一个合理的选择. 经过适度的修改优化, 我们不仅实现了该系统在PASCAL VOC分割任务上的良好性能, 更在VOC2011测试集中实现了分割精度达到47.9%这一最佳水平.

2.Object detection with R-CNN

该系统由三大功能单元构成。第一个功能单元生成不相关的区域建议,并将这些区域建议形成了该监测器需处理的目标候选框集合;第二功能单元由一个大型卷积神经网络构成,并用于从每个目标区域提取固定长度的特征向量;第三功能单元则由一系列基于类别特化的线性支持向量机构成。

我们对系统进行了全面的模块设计阐述,并深入探讨了各模块的设计思路及其实践应用领域。通过系统评估其在PASCAL VOC 2010至2012年的性能表现,验证了该系统的有效性。

2.1Module design

Region proposals 最近以来发表了一系列论文提出多种与非相关区域相关的建议方法。在我们的实验中,在采用选择性搜索的情况下对比分析了现有方法。

**Feature extraction。**我们使用AlexNet部署在Caffe上,**对每个候选区域提取一个4096维的特征向量。**AlexNet输入为227 * 227RGB,经过五层卷积层和两层FC层计算得到特征向量。因为AlexNet的输入尺寸是固定的,我们首先需要将候选区域进行转换。我们直接使用最简单的方法,不管区域的尺寸以及长宽比,直接将区域所有像素resize到227 * 227。在变形之前,我们对区域进行膨胀,p=16,使得原始网络周围有16个像素包围。图2展示了一些变形之后的区域图像。

2.2 Test-time detection

在测试过程中,在测试图像上执行选择性搜索算法,并生成约2000个候选区域;随后对每个候选区域进行优化处理以获取其特征向量;接着针对每一个类别利用该类支持向量机(SVM)计算得分;最后运用贪婪非极大值抑制策略(按类别独立操作),当两个候选区域的交并比(IoU)超过设定阈值时,则剔除得分较低的那个候选区域。

**Run-time analysis。**两方面使得我们的检测很有效率。一是所有的CNN参数对于不同的类都是共享的;第二,CNN计算出的特征向量维度相比其他方法,非常小。这样共享的结果就是,花在计算区域建议和特征提取上面的时间(GPU每张图13s、CPU每张图53s)分摊到了所有的类别上。**唯一的class-specific计算时特征和SVM的点积计算以及NMS计算上。**实际上,所有的点积计算都被合成了一个的矩阵与矩阵的乘积。特征矩阵大约是2000 * 4096,SVM的参数矩阵是4096 * N,N是类别数量。

通过分析可知R-CNN具备扩展至数千个目标类别的能力。

我们不仅对比了基于R-CNN的传统检测模型与基于深度池化机制和哈希表的可扩展检测框架。这些传统方法在每处理一张图像需耗时长达5分钟,在10k分类任务上的平均精度仅为16%。相比之下,我们的系统则能在相同条件下仅用 CPU 处理完成同一任务仅需一分钟,并实现了平均精度高达 59% 的显著提升。

2.3 Training

Supervision pre-trainingCNN经过ILSVRC2012数据集的监督预训练。该数据集仅包含图像级别的标注信息而无边界框(bbox)标注。我们的实验结果表明已接近AlexNet在该领域的研究水平,并因训练过程的一些简化措施而略逊一筹

基于领域特定的微调方法中

**Object category classifiers。**我们首先考虑一个分类问题来检测汽车。显而易见,紧密包围汽车的区域应该是正样本,同样,一个不包含一点与汽车有关的区域应该是背景,负样本。**但是对于一个有一部分汽车的区域该如何标记,不是很清楚。我们设置一个IoU的阈值来解决这个问题。低于这个阈值的区域定义为负样本,我们在验证集上进行比较,最后阈值设为0.3。**设为0.5,mAP会损失5%,设为0,mAP会损失4%。简单地认为正样本就是每类的ground-truth bbox,用来训练SVM。

特征提取了,label也标记之后,我们就用这些来优化每类的线性SVM。

由于训练数据量过大难以加载到内存中,在实际应用中我们采用了一种名为"标准hard negative mining method"的技术(具体而言,在各类别中存在过多负样本的情况下),通过筛选出表现最差的负样本用于训练以提高模型性能)。该方法具有较快的收敛特性,在几轮图像遍历时迅速达到收敛状态

2.4 Results on PASCAL VOC 2010-12

基于PASCAL VOC的最佳尝试,在VOC 2007数据集上评估了各种设计策略及超参数设置。为了最终在VOC 2012测试中的效果,在其训练阶段使用了CNN模型,并在其训练阶段和验证阶段分别进行了优化以提升性能表现。最终提交的两种主要变体中一种采用了边界框回归机制而另一种则未采用该技术

表1详细呈现了VOC2010数据集上的全面效果。
我们对现有四种主要方法进行了系统比较。
SegDPM(通过整合DPM检测器与语义分割系统输出的方法,在分类时引入了额外的inter-detector context以及image-classifier rescoring);最相关的对比是与UVA系统进行对比,因为我们采用了相同的区域建议算法,在分类过程中构建了一个四层的空间金字塔模型,并采用密集采样SIFT、Extended OpponentSIFT和RGB-SIFT特征进行描述符填充,在量化过程中每个特征都采用了4000字码本策略;随后通过直方图intersection核的支持向量机完成了分类任务
与基于多特征、非线性SVM的传统方法相比,在VOC2011/12测试集上我们的方法表现更为高效且效果相近。

3.Visualization, ablation, and modes of error

3.1 Visualizing learned features

第一层很容易被可视化,并且易于理解;这些特征主要反映了物体的边缘及其色调。随后层次所提取出的特征具有较高的复杂性;为此,我们引入了一个简单易懂的非参数化方案。

主要的想法是在网格中识别一个独特的元素/组件,并将其视为检测器处理。具体而言,在每一步骤中我们评估该单元素在多个区域建议中的响应强度,并根据响应强度对提议进行排序。随后执行非极大值抑制(NMS),并筛选出表现最突出的区域。我们的方法使所选中的单元素能够代表自身关注的重点,并通过分析其关注的输入类型来体现这一点。

我们对网络第pool5层的units进行了可视化研究。这是网络最后 undergone max pooling后的输出结果。其特征图尺寸计算为6×6×256=9216维,在忽略边界效应的情况下,默认每个unit对应着原始图像(大小为227\times 227)中的一个194\times 194的感受野区域。在第pool5层中观察到的是几乎拥有全局视野的角度;而稍微偏离中心位置的一些unit则会呈现出较小视野范围。

在图3中每一行展示了单个池化层5单元top16激活值的情况。这些units反映了网络所学到的各种样本特征,在接下来的一行中可以看到这个单元主要关注狗狗和点阵这两个元素;而下一行中的单元则聚焦于红色这一颜色。整个网络似乎正在试图形成一种表征机制,在这种机制下,少量类调整特征与形状、纹理、颜色和材料属性等被融合成一种综合性的表征模式。紧接着,在全连接层fc6中能够有效地整合和利用这些多样的特征信息。

3.2 Ablation studies

The performance of the model was evaluated on a layer-by-layer basis, avoiding any fine-tuning procedures. To investigate which layers were most critical for detection performance, we analyzed the results of the final three layers of a CNN on the VOC2007 dataset. The pool5 layer was described in detail in Section 3.1, while the remaining two layers were summarized subsequently.

该层通过与池化层pool5之间的参数矩阵(大小为9216 × 4096)实现对特征的提取。full connection layer的输出被展平成一个9216维向量,并在此基础上加入偏置向量。其输出经ReLU激活函数处理。

生成网络的最终输出由layer fc7生成。其中与上一层的参数矩阵为4096 × 4096,并引入了偏置项和ReLU激活函数。

我们首先考察未经微调优化后的CNN模型及其参数来源。其中所有使用的CNN参数均源自ILSVRC2012训练数据集。从表中的数据可以看出(fc7的表现优于fc6),表明约有29% (共计16.8 million) 的网络权重能够被移除而不影响平均精度(mAP)指标的表现。值得注意的是,在同时移除这两个层级时(即fc7和fc6),尽管仅依赖于池化层5(Pool5)约6% 的网络权重即可实现较好的检测效果(准确率提升约8.3%)

After finetuning the CNN architecture, we analyze the outcomes of our optimized model. The results demonstrate a significant improvement in performance, particularly in the fc6 and fc5 layers compared to the pool5 layer (see Table 2, rows 4-6). Notably, the fc6 and fc5 layers exhibit greater performance gains, which can be attributed to the specialized non-linear classifiers tailored for domain-specific tasks. This indicates that while pool5 layers inherit features from ImageNet training, most of the enhancement stems from domain-specific learning within these classifiers.

Relative to recent feature learning methods. We selected two approaches with fewer features for comparison, all built upon the DPM framework; to ensure a comprehensive evaluation, we also included the results from the standard HOG-based DMP method as a reference.

最初采用"sketch token"直方图对HOG特征进行增强的方法被认为是第一个DPM特征学习方案。从视觉效果上来看,"sketch token"是指位于图像块中心且紧密分布的轮廓线,其概率值是基于随机森林在每个像素位置计算得出的,经过训练后,该随机森林能够将35×35像素大小的图像块划分为150种'草图token'类型或背景类别。

第二种方法为DPM-HSC方案,并采用稀疏编码(简称HSC)的空间直方图替代传统的HOG特征。为了获得HSC特征图中的激活值,在每个像素处应用预先训练的学习字典(包含100个7×7大小的不同梯度方向的小块)。这些激活值经过以下处理:空间池化、L2单位归一化以及幂变换。最后将这些经过处理后的激活值代入公式(x<-sign(x)|x|^\alpha)进行进一步运算。

我们的R-CNN的各种形式的表现都超越了这三种DPM方法(上面两个+标准)。

3.3 Detection error analysis

采用先进的监测与分析工具(Hoiem),旨在识别该方法中出现的错误模式,并了解通过微调这些模式的方法;此外还将其结果与DPM所犯错的情况进行比较,请参考图4和图5中的相关内容。

图4中展示了假阳性FP的演变分布情况。其中Loc指的是正确分类但IoU值在0.1至0.5区间(可能是重复框);Sim指的是与相似类别混淆;Oth指的是与不相似类别混淆;BG则关注背景中的FP情况。与DPM方法相比,在分类识别方面具有显著优势的是我们模型在Loc区域的表现(而非Sim或Oth区域)。这表明CNN特征在分类识别能力上较HOG特征更为卓越。进一步分析发现,在Loc区域出现较多误报的原因可能是由于我们采用了自下而上的区域建议机制,并结合了CNN对整体图像进行位置不变性预训练的学习过程)。第三类实验则清晰展示了我们的bbox回归机制如何有效修复了定位偏差的问题。

3.4 Bounding box regression

在深入分析的基础上,我们采用了更为简洁的方法以降低定位错误。基于DPM研究中的 bbox regression 成果,在本研究中我们开发了一个线性回归模型以推导 proposal 在 pool5 输出特征并推导出新的检测窗口位置。实验结果表明,在表1和表2中分别展示了该方法纠正了大量定位误差,并且与图4所示的数据对比可以看出,在验证集上AUC分数提升了3-4%。

4.Semantic segmentation

对于语义分割而言,在划分图像区域方面已经形成了一种成熟的技术。为此我们将R-CNN直接应用于PASCAL VOC分割问题上。为了与目前最先进的系统(O2P:second-order pooling)进行全面评估我们采用了其开源框架来进行实验工作。该方法的优势在于能够通过CPMC生成区域的质量以及通过second-order pooling综合多种特征(如SIFT和LBP)来实现最佳性能。

采用[2,4]作为基础,并进一步扩展了PASCAL分割训练集以包含Hariharan等人的补充注释。在交叉验证过程中,在VOC 2011验证集中考虑了设计决策和超参数。最终的测试结果仅进行了一次评估。

基于CNN的技术用于图像分割。

第一个策略(full)忽略了区域的具体形状,并直接在变形窗口上提取CNN特征

第二种策略(fg)仅在前景mask上提取CNN特征

基于VOC2011的数据集测试结果表明,在表3中展示了我们在VOC2011验证集上与O2P方法的对比结果。对于所有采用的特征提取策略,在fc6层的表示总能优于fc7层的表现,在下面的所有讨论中都将关注于fc6层所提取的特征特性。其中fg方法的表现略高于full方法,在一定程度上表明掩盖区域形状所携带的信息更为丰富有力,并与我们的预期结论相吻合。然而,在full+fg组合的整体评估中发现其平均准确率达到47.9%,这一结果进一步证实了仅依赖full特征所带来的重要性

在表4中进行系统性展示的是VOC2011测试集上的实验结果,在对比分析了不同模型性能的基础上将我们所提出的最佳模型fc6(full+fg)与另外两个主流方案进行了全面比较。通过具体数据可以看出,在21个类别中有11个类别实现了分割准确率的新高,并且在整体精度方面达到了47.9%的卓越水平。值得注意的是,在当前的基础上进一步优化后有望实现更高水平的性能提升

5.Conclusion

过去几年中,目标检测技术的进步速度较为平缓。现有的最优性能体系多由多种检测模块集成构成。本文提出了一种简洁的目标检测方案,在准确度方面较现有方法实现了30%以上的提升。

我们有两个核心观点需要阐述:第一,在本研究中我们采用了具有强大识别能力的卷积神经网络(CNN)来实现目标识别或分类任务;第二,在缺乏高质量标注数据的情况下,我们提出了一种基于深度学习的方法来训练有效的目标检测模型。通过在辅助大型分类数据集上实施监督预训练,并结合微调技术优化目标检测网络,在测试集上的性能表现令人满意。该方法适用于解决视觉任务中数据不足的问题,并且能够显著提高模型的泛化能力。

综上所述,在结合计算机视觉分类工具与深度学习技术后,我们得出了上述结果。这两者堪称良好协同伙伴。

全部评论 (0)

还没有任何评论哟~