TMM2017. Attentive Contexts for Object Detection

【TMM 2017】Attentive Contexts for Object Detection

北京理工大学、北京交通大学、中山大学、新加坡国立大学

论文地址:https://arxiv.org/pdf/1603.07415.pdf

作者简介:Shuicheng Yan(颜水成),北京大学博士学位,微软亚洲研究院实习,香港中文大学汤晓鸥教授的多媒体实验室任博士后,美国伊利诺伊大学香槟分校师从黄煦涛(Tomas Huang),后加入新加坡国立大学创立机器学习与计算机视觉实验室,拥有终身教职。目前与昆仑万维创始人周亚辉一起出任天工智能联席CEO,并兼任昆仑万维2050全球研究院院长。

本文首次使用基于注意力机制的全局和局部上下文信息来进行目标检测,并通过LSTM递归地生成注意力图,最终融合全局和局部上下文信息提高检测性能!

文章贡献/创新点

  • 文章提出了最新的注意力到上下文CNN(AC-CNN)目标检测模型,能够有效地上下文化主流基于候选框的CNN检测器。
  • 基于注意力机制的全局上下文子网能够递归地生成注意力位置图来帮助利用最具判别性的特征以指导局部目标检测。
  • 每个候选框内外的局部上下文信息可由提出的局部上下文子网捕获,来增强特征表示。
  • 大量实验表明所提的AC-CNN能够有效增强主流的基于区域的CNN检测模型。

注意力到上下文卷积神经网络

网络的输入为图片和对应的物体候选框,图片首先通过一些卷积层和最大池化层来生成卷积特征图。然后基于注意力的全局上下文子网和多尺度局部上下文子网用于利用有用的全局和局部上下文信息来进行最终物体的分类和回归。

AC-CNN网络结构

基于注意力的全局上下文子网

全局上下文子网利用有用的全局上下文信息,首先将特征图池化为K×K×DK\times K\times D固定尺寸,实验中将其固定为20×20×51220\times 20\times 512。将特征矩阵中的特征切片表示为X=[xi,,xK2]X=[\boldsymbol x_i,\cdots,\boldsymbol x_{K^2}],其中xi(i=1,,K2)\boldsymbol x_i(i=1,\cdots,K^2)DD维,再送入堆叠的三层LSTM单元中。

(itftotgt)=(σσσtanh)M(ht1xt)ct=ftct1+itgtht=ottanh(ct)\left(\begin{matrix} \boldsymbol i_t\\\boldsymbol f_t\\\boldsymbol o_t\\\boldsymbol g_t \end{matrix}\right)=\left(\begin{matrix} \sigma\\\sigma\\\sigma\\\tanh \end{matrix}\right)M\left(\begin{matrix} \boldsymbol h_{t-1}\\x_t \end{matrix}\right)\\ \boldsymbol c_t=\boldsymbol f_t\odot\boldsymbol c_{t-1}+\boldsymbol i_t\odot\boldsymbol g_t\\ \boldsymbol h_t=\boldsymbol o_t\odot \mathbf{tanh}(\boldsymbol c_t)

其中it\boldsymbol i_tft\boldsymbol f_tct\boldsymbol c_tot\boldsymbol o_tht\boldsymbol h_t分别表示输入门、输出门、单元状态、输出们和隐藏状态。每个时间步tt,注意力模型都会预测在K×KK\times K个位置的softmax,作为权重图It+1\boldsymbol I_{t+1},,代表是否对应区域的估计值从全局来看适合用于目标分类。位置softmax为:

lt,i=p(Lt=iht1)=exp(Wiht1)j=1K×Kexp(Wjht1),i{1,,K2}l_{t,i}=p(L_t=i|\boldsymbol h_{t-1})\\ =\frac{\exp(W_i^\top\boldsymbol h_{t-1})}{\sum_{j=1}^{K\times K}\exp(W_j^\top\boldsymbol h_{t-1})},i\in\{1,\cdots,K^2\}

总结下来就是每个时间步htRd×1\boldsymbol h_t\in\mathbb R^{d\times 1}WRK2×d\mathbf W\in\mathbb R^{K^2\times d},相乘之后为RK2×1\mathbb R^{K^2\times 1},然后执行softmax作为权重图。

LSTM下一个时间步的输入特征为:

xt=i=1K2lt,iXt,i\boldsymbol x_t=\sum_{i=1}^{K^2}l_{t,i}X_{t,i}

其中XtX_t为特征矩阵,Xt,iX_{t,i}为第ii个切片。用图片表示为:

AC-CNN产生基于注意力的全局上下文图

初始化方式:

c0=finit,c(1K2i=1K2Xt,i)h0=finit,h(1K2i=1K2Xt,i)\boldsymbol c_0=f_\text{init,c}\left(\frac1{K^2}\sum_{i=1}^{K^2}X_{t,i}\right)\\ \boldsymbol h_0=f_\text{init,h}\left(\frac1{K^2}\sum_{i=1}^{K^2}X_{t,i}\right)

其中finit,cf_\text{init,c}finit,hf_\text{init,h}是两层感知机,这些值被用来计算第一个位置的softmaxl1l_1,其决定了初始的输入x1\boldsymbol x_1。最后一步输出的xt+1\boldsymbol x_{t+1}作为DD维的特征进行输出,表示为FG\mathbf F_G

多尺度局部上下文网络

多尺度局部上下文网络用来探索物体候选框内外近邻部分的局部视野。将物体候选框表示为p=(px,py,pw,ph)\boldsymbol p=(p_x,p_y,p_w,p_h),其中中心位置为px,pyp_x,p_y宽高为pw,php_w,p_h。文章采用三个尺度的RoI池化λ1=0.8\lambda_1=0.8λ2=1.2\lambda_2=1.2λ3=1.8\lambda_3=1.8,在log\log尺度中为线性比例。得到三个尺度的特征图{vpii=1,2,3}\{\boldsymbol v_p^i|i=1,2,3\},然后拼接到一起后经过1×11\times 1卷积降维,将维度从7×7×(3×512)7\times 7\times (3\times 512)变换到7×7×5127\times 7\times 512,最后输入两层全连接,生成局部上下文信息的特征表示,表示为FL\mathbf F_L

多任务损失函数

损失函数包含分类和回归两部分,其中回归部分仅对局部上下文子网进行反向传播,且不包括背景锚框。

J=Jcls([FL,FG])+[g1]Jreg(FL)J=J_\text{cls}([\mathbf F_L,\mathbf F_G])+[g\geqslant 1]J_\text{reg}(\mathbf F_L)

仿真实验

这是早期做目标检测的论文,仿真实验采用的数据集主要还是PASCAL VOC而不是MS COCO,性能提升并不大。

AC-CNN-Fast-RCNN-VOC2007-test性能对比

AC-CNN-Fast-RCNN-VOC2010-test性能对比

AC-CNN-Fast-RCNN-VOC2012-test性能对比

AC-CNN-Faster-RCNN-VOC2007-test性能对比

AC-CNN-Faster-RCNN-VOC2012-test性能对比

AC-CNN局部上下文子网不同尺度性能对比

AC-CNN全局情景子网视觉可视化

AC-CNN局部情景-全局情景消融实验

AC-CNN-False-Positive分析