目标检测中的上下文信息

Attentive Contexts for Object Detection

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

研究动机
现代目标检测器通常只利用建议目标区域内部的特征进行分类。
考虑以下两个问题:
如何识别有用的全局上下文信息来检测某个目标?
如何利用目标周围区域的信息更好地推断其内容?
直观地说,图像背景的全局视图可以提供有用的上下文信息。例如,如果要在图像中检测特定的汽车,通常与目标共存的对象(如人、道路或其他汽车)可能会为目标检测提供有用的线索。然而,并非所有的背景信息对提高目标检测性能都是有用的,加入无意义的背景噪声甚至可能损害检测性能。因此,识别有用的上下文信息是必要的。除了这样的“全局”环境外,还可以看到目标周围区域为推断目标的内容提供一些有用的提示。例如,周围环境(例如道路)和物体的部位(例如车轮)有助于检测目标(例如汽车)。

图1. 结合局部和全局上下文信息指导目标检测的说明。对于局部上下文,在特定建议目标框之外,使用内部和外部上下文信息来增强特征表示。对于全局上下文,使用基于注意的循环模型从全局视图获取上下文信息(高亮显示的区域)。

作者主要贡献
a. 提出Attention to Context CNN (AC-CNN),帮忙检测器同时获取全局和局部上下文特征。
b. 基于注意力的循环模型和局部上下文提取网络。
c. 在公开数据PASCAL VOC 2007和VOC 2012分别由2.0%和2.2%的性能提升。

下面开始分别介绍:
a. Attention to Context CNN (AC-CNN)


图2. AC-CNN包括两个主要的子网络,即基于注意力的全局上下文子网络和多尺度局部上下文子网络。图像首先被送入卷积网络以产生特征立方体。然后通过多尺度上下文子网络对特征进行局部上下文信息提取。每个建议区域的边界框用三个预定义的因子进行缩放,边界框中的特征表示由ROIPooling层提取。每个特征表示,经过L2归一化、连接、缩放、尺寸缩小,然后被送入两个全连接的层。在基于注意的上下文子网络中,特征立方体首先被集合成一个具有固定比例的立方体。然后,采用三个LSTM层的循环注意力模型,从全局角度对有用区域进行循环检测。最后,基于计算出的注意图,将全局上下文特征集合起来,并将其输入到两个全连接的层中。AC-CNN使用多尺度上下文子网络的输出特征进行目标边界框回归。两个子网络输出的连接特征用于目标分类。

b. 具体介绍下循环注意力模型吧,局部上下文网络图2已经说的很明白了。
将特征立方体中的特征切片表示为X=[x_i,...,x_{K^2}],其中x_i(i=1,...,K^2)具有D维特征。将X输入3层Long Short-Term Memory (LSTM)单元。LSTM的实现可以参考[26]

\begin{pmatrix} i_t \\ f_t \\ o_t \\ g_t \end{pmatrix}= \begin{pmatrix} \sigma \\ \sigma \\ \sigma \\ tanh \end{pmatrix}M \begin{pmatrix} h_{t-1} \\ x_t \end{pmatrix}
c_t=f_t \odot c_{t-1}+i_t \odot g_t
h_t=o_t \odot tanh(c_t)

图3. LSTM结构

其中i_t,f_t,c_t,o_th_t分别为输入门,遗忘门,细胞状态,输出门和隐藏状态。x_tt时刻的输入。M \in R^{a \times b}是一个仿射变换矩阵,其中a=d+D, b=4ddi_t,f_t,c_t,o_th_t的维度。\sigma代表sigmoid激活函数,\odot表示逐元素相乘。
t时刻,注意力模型预测得到权重图l_{t+1},然后在K \times K位置上经过激活函数softmax。这是从全局角度对输入图像中相应区域是否有利于对象分类的概率估计。t时刻处的一个位置上的softmax计算如下
l_{t,i}=p(L_t=i|h_{t-1})=\frac{exp(W_i^\top h_{t-1})}{\sum_{j=1}^{K\times K}exp(W_j^\top h_t-1)}, i\in \{1...K^2\}
其中W_i是第i^{th}位置的元素的映射权重,L_t是值为1-K^2中的随机变量。利用这些概率,可以根据软注意机制,通过对不同区域特征切片的期望值来计算有用特征[27]。得到的这一时刻的特征作为LSTM的输入继续计算下一时刻的特征:
x_t=\sum_{i=1}^{K^2}l_{t,i}X_{t,i}
其中,X_{t,i}t时刻特征立方体的i切片。

细胞状态c_t和隐藏状态h_t用[22]中的策略进行初始化以加速网络收敛
c_0=f_{init,c}(\frac{1}{K^2}\sum_{i=1}^{K^2}X_{t,i})
h_0=f_{init,h}(\frac{1}{K^2}\sum_{i=1}^{K^2}X_{t,i})
其中f_{init,c}f_{init,h}是2个多层感知机。这些用来计算决定初始输入x_1的第一个位置softmaxl_1

图4说明了生成全局注意力特征的过程。可以观察到,根据注意力位置图,将所有位置的特征结合起来,可以得到一个基于注意力的全局三维特征。最后,该特征通过两个全连接的层,生成具有全局上下文信息的p的特征表示,可以表示为F_G

图4. 演示如何生成全局注意力特征。利用基于注意力的上下文子网络,计算出一个KxK注意力空间特征图,将所有位置的特征选择性地组合成一个1x1xD维的全局注意特征。

实验在VOC2007和2012上的mAP分别是72.0和70.6。最后贴一个局部和全局子网络的贡献对比。


图5. 局部和全局子网络有效性对比。

[22] Xu, K., Ba, J., Kiros, R., Courville, A., Salakhutdinov, R., Zemel, R., Bengio, Y.: Show, attend and tell: Neural image caption generation with visual attention. arXiv preprint arXiv:1502.03044 (2015)
[26] Sharma, S., Kiros, R., Salakhutdinov, R.: Action recognition using visual attention. arXiv preprint arXiv:1511.04119 (2015)
[27] Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473 (2014)

Object detection via a multi-region & semantic segmentation-aware CNN model

论文地址:https://arxiv.org/pdf/1505.01749.pdf
代码:https://github.com/gidariss/mrcnn-object-detection
论文提出一种基于多区域卷积神经网络的目标检测器,且能够编码基于分割的语义信息。其还包含,一个迭代定位机制,交替地为目标建议窗口打分,以及精确位置的回归。

研究动机
目标表征是目标检测中的核心。目标表征分为2个层级。
(1)在第一个层次上,我们希望我们的对象表示能够捕获对象的几个不同方面,比如它的纯粹外观特征、不同区域(目标的子区域)的明显外观、上下文外观、对象边界两侧的联合外观和语义。如图1所示。

图1. 左图:在这个场景中,如果不参考背景、山岳景观,就很难发现绵羊。中间:相反,图中的上下文只能混淆对船只的检测。在这种情况下,识别模型应该关注纯粹的目标特性。右图:该车实例右侧被遮挡,识别模型应集中在左侧,以增加检测置信度。

(2)在第二个层次上,受分割与检测之间并没关联的启发,我们希望能在提升检测的表征,从而也能捕获语义分割信息。

除了目标表征外,论文工作还受到以下观察结果的激励:由于最近的CNN模型具有巨大的分类能力,因此良好的检测性能的瓶颈现在是准确的目标定位。

所以论文的核心研究内容是,如何更好地抽取好的特征,并更加精确的定位目标。
作者的贡献主要有3个:
a. 提出一个多区域CNN来增强特征
b. 提出一个语义分割启发式CNN再进一步增强特征
c. 提出一个基于CNN的定位回归方法,另外还提出2个tricks来优化定位。
下面来一个一个的说。

a. 多区域CNN


图2. 多区域CNN结构。为了清楚起见,我们只介绍了其中的四个区域。“adaptive max pooling”为自适应区域池化ROIPool[13](只含有一级金字塔)

图2详细描述了多区域CNN的结构。从输入图像中通过多层卷积计算特征图,得到激活的特征图(activation maps of input image)。
然后在特征图上对目标进行多区域提取(ROIPool)。

作者一共提出了4种共10个区域:
(1)原始区域,就是目标建议区域的原始位置,对应图3的中a
(2)截半,对应图3的b-e
(3)中心区域,对应图3中g和h
(4)边界区域,对应图3中i和j


图3. 多区域特征提取中的区域。

作者认为这样多区域的好处有两个
(1)不同的区域是关注目标的不同子区域,所以他们应该是互补的,能够增强特征的多样性。
(2)认为这个方法能够有效应对object proposal时候定位不准确的问题,并在6.2和6.3通过实验验证。

b. 语义分割启发式CNN

图4.

这里的动机是通过分割的特征来辅助检测。然后这里训练分割用的是很出名的FCN[23]的流程了,不过这里需要用分割的标注,而是用bbox就好了,简单粗暴地把bbox里面认为是前景,外面认为是背景即可

虽然表面看似这样的标注很粗暴,很多像素都会错标,但是CNN的纠错能力是很强的,就是将那些标错的像素都看成是噪声,CNN依然能够根据更多的标对的像素来学习出来一个还不错的模型(如图5的右列)。


图5. 使用FCN[23]作为语义分段感知CNN特征的激活图模块的弱监督训练的说明。左图:带有真实标注边界框的图像。从上到下依次描述的类别是马、人和狗。中图:FCN训练使用的分割目标值。它们是由左栏上的人工标注的目标边界框生成的。我们用蓝色作为背景,用红色作为前景。右图:根据我们训练的FCN模型估计的前景概率。这些都清楚地证明,尽管训练的监督性很弱,提取的特征仍然带有重要的语义分割信息。

用上述的方法训练出来一个还不错的分割CNN后,摘到最后一层,也加到上面的多区域CNN上,进一步增强特征。如图4所示。

c. 目标定位
这一步,对应的是RCNN或者SPP-Net的最后一步,也就是得到结果之后,对位置重新进行一次回归,不过这里做了几点的改进:
(1)使用CNN来训练回归器(在RCNN中是使用简单的函数来训练回归器的),具体来说跟Fast RCNN比较像啦,输出是4xC个值,其中C是类别个数,不过这里直接用L2 loss拟合。
(2)迭代优化,跟DeepFace比较像,也就是,利用分类器打一个分,然后筛掉低分的,对于剩下的高分的proposal重新回归位置,之后根据这个重新回归的位置再利用分类器打个分,然后再回归一次位置。
(3)投票机制,上述两步会在每个object附近都产生不少bbox,这里利用上附近的bbox进行投票打分,具体来说,取一个最高分的bbox,然后还有它附近跟他overlap超过0.5的bbox,最后的bbox位置是他们的加权平均(权值为overlap)。

[13] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. arXiv preprint arXiv:1406.4729, 2014. 3, 8, 9
[23] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. arXiv preprint arXiv:1411.4038, 2014. 6, 8

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270