Advertisement

论文笔记之---DenseCap:Fully Convolutional Localization Networks for Dense Captioning

阅读量:

Abstract:本文阐述了密集字幕任务及其组成部分。该系统旨在实现对象检测与对象描述两大核心目标。为解决这两者间的关联问题,在文献中首次提出了全卷积定位网络模型Full-Convolutional Object Location Networks(FCLNs)。该模型由卷积神经网络、一种新型密集定位层及一个用于生成标记序列的RNN语言模型三部分构成。

一. 介绍

在过去的几年里, 图像分类已经实现了长足的进步. 接下来的科研探索主要聚焦于两个完全不同领域的深入发展: 一是object detection领域的模型优化与创新, 二是image captioning领域的技术突破, 其核心是推动label复杂度的显著提升, 即从传统的固定分类描述向能够生成更多元化的序列化文字表示迈进.

本文将这两个方向结合起来形成一个统一的框架。文章首先介绍了dense captioning task,并要求模型能够描述图片中的多个区域(不仅仅局限于单一物体)。在这种情况下,单一的目标检测和图像描述仅可被视为该框架中的特殊情况。(见Figure1)

其次,在本文中我们介绍了新型的密集定位层( dense localization layer),该结构不仅在微分性方面具有突出表现,并且能够独立地被接入到任意图像处理网络中实现区域级的训练与预测功能。具体而言,在实际应用中,该定位层能够识别出图片中的多个感兴趣区域(ROI),并通过双线性插值方法来进行平滑化处理以提取这些区域内的激活值。

二. 相关研究工作

Object Detection:综上所述,在从 R-CNNRPN 网络的技术演变及其差异方面做出了概述。文中并未对该途径(training pipeline)进行训练,并采用可微的 spatial\ soft\ attention 机制取代了传统的 ROI\ pooling 机制。这一改进使我们得以在 RPN 网络中应用 BP 算法,并实现了整个系统的联合优化。

Image Captioning:从最初图片描述技术的发展历程一直到递归神经网络(RNN)的出现标志着这一领域的变革。而最新的研究则表明,在图像描述中采用软注意力机制(soft attention mechanism)能够显著提升模型的表现。

三. 模型

模型结构纵览:(基于单步优化策略设计的端到端训练方案,并且能够高效地呈现图片的实际应用情况)

3.1. 模型结构

3.1.1 Convolutional Network

文章采用了VGG-16架构进行图像处理研究。其主要由13个3×3卷积模块与5个2×2最大池化模块构成,在此基础之上进行特征提取与降维处理。通过去除了最后一个池化层的设计优化,在实际应用中显著提升了模型在边缘检测任务中的性能表现。具体而言,在保持输入图像尺寸为 3×W ×H 的前提下(其中 W 和 H 分别表示图像宽度与高度),经过网络运算后得到的特征图尺寸变为 C×W0 ×H0(其中 W0 和 H0 分别对应于原始 W 和 H 的十六分之一)。

3.1.2 Fully Convolutional Localization Layer

localization layer接收的是与激活值相关的输入张量,在此过程中该层能够识别出感兴趣的空间区域并从中平滑地提取固定尺寸的特征表示。本文在Faster R-CNN框架下替换了RoI pooling机制为双线性插值以提高模型性能。这种改动的主要优势在于扩展了对仿射变换或变形候选区域的预测能力,并非仅限于边界框

该网络对输入的C×W₀×H₀张量进行了处理,并为每个感兴趣区域生成了三个特定输出张量。

区域坐标:一个B×4大小的矩阵。

区域得分:长度为B,给出了每个输出区域的置信度得分。

区域特征:一个B × C × X × Y大小的张量,给出了输出区域的特征。X,Y代表网格大小。

Convolutional Anchors类似于Faster R-CNN定位层。其定位过程是将输入特征向量即W₀×H₀网格中的每一个点映射回原始图像平面即W×H空间中并以该投影点为中心考虑k个不同大小比例的小锚框。每个锚框都会被赋予置信度得分以及四个坐标偏移预测这些预测值都是通过将锚框坐标回归至目标锚框位置而获得的结果。为了计算这些预测值定位层会先对特征图进行处理具体来说会将其送入一个包含256个3×3滤波器的第一卷积层接着应用一个ReLU激活函数最后再经过一个包含5,000个1×1滤波器的卷积层从而生成最终结果即为一个5,000×W₀×H₀维度的空间

改写说明

主要通过 anchors框的中心坐标及其宽度与高度,并结合模型预测得到的四个关键参数(通常是矩形)来推导出输出区域(通常是矩形)的中心坐标及其宽度与高度。

Box Sampling:因为生成的region proposals数量过多导致计算成本过高,因而需要对其进行二次抽样(sub-sampling)以减少计算负担。该研究借鉴了Faster R-CNN模型(一种用于实时目标检测并结合区域建议网络的技术)的基本思路,具体而言,该方法主要针对不同IoU值下的区域进行分类处理;同时,在预测结果中与每个ground-truth区域具有最大IoU值的那个预测区域也被归类为正样本。

在测试阶段通过NMS算法从候选区域中筛选出排在前面300位的信心值,并将其作为参数 B 输入到后续模型中。定位层通过将参数 B 放大四倍生成坐标信息,并结合信心值生成最终结果。

Bilinear Interpolation: 经过采样后生成的一系列区域建议框呈现出不同的尺寸与比例特性。为了便于后续处理并确保模型的有效性,在提取特征时需要统一这些区域至固定尺寸以适应全连接层与RNN语言模型的需求。

Fast R-CNN采用了的方法引入了RoI pooling层,并将每个region proposal映射回特征图中,并与像素边缘对齐后分割成尺寸约为X×Y的网格。随后,在每个网格内执行最大值池化操作以提取特征信息,并最终生成大小为X×Y的输出特征向量。

因为RoI pooling层中的梯度无法直接传递至输入的坐标位置,在此问题上文中采用了双线性插值方法加以替代处理。其中最为关键的是提出了采样网格G这一概念,在其维度设定下(即大小为X × Y × 2)实现了对V空间中各元素与其对应的U空间实值坐标的关联建立。通过将V空间视为通过对U空间特征应用双线性插值得到的新特征图的方式理解,则可明确地基于给定的U空间坐标位置直接计算出对应的V空间各元素数值。而这里的采样核k则被定义如下所示:

其中:

因为sampling grid被视为候选区域坐标的线性函数关系式存在,从而使得梯度能够被传输回预测的目标区域坐标系统中.针对所有采样区域,在应用双线性插值处理后生成了尺寸为BCX*Y的张量,这正是定位层输出的结果形式.

3.1.3 Recognition Network

该网络的主要功能是将定位层每个区域的特征通过展平操作转换为向量,并传递给前后两个全连接层。这两层都采用了ReLU激活函数,并配合使用Dropout技术进行正则化处理。每一区域都能生成一个维度为D=4096的代码,该代码包含了该区域中视觉特征的信息。所有正样本区域对应的代码整合到尺寸B×D的一个矩阵中,并随后会被传递给RNN语言模型进行处理

此外,Recognition Network也可以再次优化每个region proposal的置信度与位置。这两者基于每个region所对应的D维code的线性变换。最终得到的box regression采用了上文中3.1.2所述的方法。

3.1.4 RNN Language Model

随后就是借助region codes来增强RNN模型的能力。具体而言,在一个待训练的序列s1到sT的情况下,在RNN中会接收输入T+2个单词向量:x-1, x0, x1一直到xT。经过处理后,在最后一步时会生成一个向量yt(使用LSTM单元)。

在测试验证阶段中,在每个时间步的操作流程如下:首先初始化状态变量x-1,并将其传递给RNN模型进行处理;随后,在每个后续时间步中都会选取下一个可能性最高的token并将其传递给RNN进行处理;这一循环过程会持续执行直至生成并识别出结束标记END为止。

3.2 Loss function

在采样后的正负区域中,在文中采用了二元逻辑斯蒂损失函数来评估置信度的大小;而对于box回归任务,则采用了平滑L1损失函数来转换坐标空间(其中两种不同的损失函数均被重复应用以优化目标)

每个损失函数都通过RNN内部的batch size和sequence length进行归一化处理。在前四个损失函数中采用了一个合适的权重参数设置为0.1(单位:百分比),而对于针对RNN的情况,则设置为1.0(无单位)。

3.3 Training and optimization

我们将预训练好的ImageNet参数赋值给CNN构成其初始权重,并对剩余参数遵循均值为零、标准差为0.01 的高斯分布进行初始化。采用动量因子为 0.9 的小批量随机梯度下降算法优化 CNN 各权重;而其余参数则采用了 Adam 优化器进行调整。值得注意的是,在此过程中并未对前四个卷积层进行微调处理,在完成第一个迭代周期后即开始执行微调过程

四. 实验

该研究采用Visual Genome(VG)中的Region Caption数据集作为实验基础。该数据集总共包含94,313张图像以及总计约4,100,413个描述片段(平均每张图像约有43.5个描述项)。具体数据表明,在这些图像来源之间存在显著差异:来自MS COCO的数据集占比较大,在此区域内平均每个图像约有85个描述片段;而YFCC100M则提供了更丰富的描述资源,在此区域内平均每个图像约有67个描述片段。此外,在注释过程中采用了标准化流程:每个图像区域的注释均通过Amazon Mechanical Turk平台完成以确保标注质量的一致性与准确性

Preprocessing: 在去除指代成分的基础上,在过滤掉长度超过10个单词的注释后,在排除图像数量不符合要求的情况下, 我们最终筛选出87398张图像数据, 其中用于验证集和测试集各分配了5,000张图像数据, 剩余全部作为训练数据集使用.

此外,在验证阶段中,在validation和test图像上实施预处理步骤。该步骤的目标是将这些图像中存在的严重重叠区域(major overlapping regions)对应的boxes调整为单一的一个boxed结果,并使该boxed结果能够指向多个reference captions。与此同时,在每张预测图像中实施迭代选择过程:通过计算这些具有最高重叠率(highest overlap rate)的盒子(boxes),并取其平均值来生成最终的一个boxed结果。

4.1 Dense Captioning

在此阶段期间,该模型将接受单张图像并在其中生成一系列包含有信心值和说明的区域

Evaluation metrics: 在特定范围内调整thresholds参数以评估定位与语言模型的表现。具体而言, 对于localization任务采用IoU指标, 而针对language model则采用METEOR分数作为评价标准.

为了使语言模型的精确度与其定位层分开。
文中将真实的注释打包,并将其与预测的注释进行比较。
这样就无需考虑空间位置关系了。

Baseline models:文中采用了Region RNN模型。研究者在MS COCO数据集上采用了相同的Region RNN模型来评估其在full images级别的表现以及在regions级别的表现。

在测试阶段,我们从三个角度分析了region proposals:第一,在ground truth boxes的基础上设定上限;第二,通过EdgeBoxes方法,在每张测试图像中提取出300个候选框;第三,在这一基础上进行微调优化后表现出较高的召回率。值得注意的是,在本文中我们采用了单一区域建议生成网络(RPN)模型来替代多源区域建议生成方法。

这个实验的结果如下图:

评估部分主要分为区域层次和图像层次的数据比较。具体而言,在区域层次上关注的是单个目标框的检测精度,在图像层次上则综合考虑整个图像中的多个目标框的表现。基于RPN的方法在精确检测方面表现更为出色。

4.2 Image Retrieval using Regions and Captions

文中提到的dense captioning模型不仅能够输出多样化的描述内容,并且还可以借助自然语言中的问题来辅助图片检索过程

Experiment setup:在VG模型中随机选取了1000张图片,在经过多次采样的过程中生成了100个test queries。进而使得模型能够根据每个test query恢复出对应的原始图像。

所有query captions均会触发针对相应图片及其ground-truth bounding boxes的检测行为。我们通过计算ground-truth box与model's predicted grounding之间的IoU来评估模型的效果。

Models:采用了4.1模型,并对full model与baseline model进行了分类性能与定位精度方面的效果对比分析。具体实验结果如下图:

五.总结

(终于到了总结部分...)

该文章阐述了dense captioning这一任务,并详细说明其所需功能:即能识别图片中的物体同时也能描述其周边内容。文中采用了FCLN结构作为解决方案的核心架构,并指出其主要依赖于卷积神经网络与循环神经网络相结合的方式进行处理。与以往的方法不同的是,在现有框架基础上文中引入了定位层这一新组件,在实验中取得了不错的成果。未来研究方向上可能会开放矩形提议区域,并在测试阶段放弃非最大值抑制(NMS)采用了一个可训练的空间抑制层

(原论文codes:点击打开链接

全部评论 (0)

还没有任何评论哟~