- obiect-to-object关系的建模很困难,因为对象的位置,尺度,类别,数量可能会随着不同的图像变化而变化。
- 深层的卷积神经网络通过大的接受域隐式地合并了上下文信息。
本项工作的贡献:
- 提出了一种relation module,在检测的过程中通过利用图像中object之前的相互关系或者图像内容(context)来优化检测效果,同时它不改变特征的维度,能很好的嵌入目前的各种的检测框架,进而提高检测的性能。
- 将attention机制引入了NMS操作当中,即提出了一种特别的代替NMS的去重模块,可以避免NMS需要手动设置参数的问题。进而实现了真正意义上的end-to-end 训练。
产生了第一个真正意义上的end-to-end detector。
1、Background
我们首先假设一个问题,给出一个显示器,我们如何去进行判断它是电脑显示器还是电视显示器呢?用我们的检测的方法好像很难去进行判断,但是我们如果能够结合周围的一些信息,可能就会很容易的进行区分,比如说,放在客厅里的显示器就是电视,在检测到显示器的同时,检测到了鼠标和键盘,那么它就是笔记本的显示器。总之,周边其他物体的信息很可能对某个物体的分类定位有着帮助作用,这个作用在目前的使用RoI的网络中是体现不出来的,因为在第二阶段往往就把感兴趣的区域取出来单独进行分类定位了。这篇文章作者就考虑改良这个情况,来引入关联性信息。让我们带着问题一起来看看吧。
我们先来看一个实际的例子,蓝色的框代表检测到的物体,黄色的框代表对该次检测有帮助的联合信息。
2、Object Relation Module
首先说明的是,这篇文章的主要是基于Faster RCNN系列算法的(Faster RCNN,FPN等)引入Object Relation Module。
接下来我们看一下这个module,这篇文章是借鉴了Google 2017发表的《Attention Is All You Need》,没有详细的了解过NLP中的这种思想,只是简单的看了一下相关的解读,以及论文中提到的一些东西。
个人认为这个模块的特点就是联合所有的Object的信息来提升每一个object recognition的准确性。模块的示意图如下:
详细的介绍一下上图(左侧),先说明几个符号的含义。
1、 f A n f_A^n fAn代表第n个物体的apperance特征,就是物体的大小、形状、颜色等这些外观特征。
2、 f G n f_G^n fGn对应的是第n个物体的geometry特征,代表物体的位置和大小(bounding box)。
3、这个的relation模块(数量 N r N_r Nr),我们可以类比成神经网络中每一层都有很多的通道,以便于学习不同种类的特征。
每一个relation模块都用所有object的两个特征做输入。得到不同的relation特征后再concat,并且和原来的特征信息融合,作为物体最终的特征。
对于上图右边的部分,我们首先看公式:
右图符号含义:
4、 f R ( n ) f_R(n) fR(n) 是第n个relation模块的输出,它是由各个所有物体的apperance特征经过 W v W_v Wv的维数变化后,又赋予不同的权重叠加得到的.
5、 W v W_v Wv是一个线性变换操作, W G W_G WG代表object的位置特征权重,
f R ( n ) f_R(n) fR(n)是由各个所有物体的apperance特征经过 W v W_v Wv的维数变化后,又赋予不同的权重叠加得到的……位置特征是体现在权重里的(这也就是为什么在上式中输入仅仅只有 f A m f_A^m fAm一个的原因),第m个物体对于当前第n个物体的权重 ω m n \omega^{mn} ωmn的求法如下:
上式的分母是个归一化的项,重点来看一下分子的含义,它是由两部分决定的,第一个是第m个物体对于当前第n个物体在geometry上的权重 ω G m n \omega_G^{mn} ω