论文笔记之:End-to-End Localization and Ranking for Relative Attributes
End-to-End Localization and Ranking for Relative Attributes
arXiv Paper
摘要:本文提出一种 end-to-end 的属性识别方法,能够同时定位和相对属性的排序(simultaneously localize and rank relative visual attributes)。给定训练图像对,并且对于预测该属性的强度进行排行,我们的目标是训练一个深度神经网络,能够学习一个函数,同时发现图像中每一个属性出现的位置,以及根据对属性预测的强度进行 rank。更要的一点是,仅用的监督信息是 the pairwise image comparisons。
方法框架:
1. 输入:对于训练来说,网络的输入是图像对 (I1, I2)以及对应的标签 L,表明该图相对是否属于集合 E 或者 Q。
(I1, I2)属于 E 表明 I1 and I2 的 ground-truth attribute strength 是相似的;
(I1, I2)属于 Q 表明 I1 的属性强度比 I2 大;
(I2, I1)属于 Q 表明 I2 的属性强度比 I1 大。
对于测试来讲,我们的输入是一张图像 $I_{test}$,我们利用学到的函数(网络权重)来预测属性的强度 $v = f(I_{test})$。
2. 结构:
从上图可以看出,该网络的输入是:两幅图像 image 1 and 2 以及其对应的 label,然后将其输入到孪生网络(Siamese Network)中,该网络包括两个子网络:Spatial Transformer Network 和 Ranker Network。经过这两个网络之后,分别输出其预测 label 的可信度,然后链接一个损失函数,通过此进行网络的更新和回传。
Spatial Transformer Network(STN):直观上来看,为了发现每一个图相对和属性相关的区域,我们可以采用一个 ranking function 不同区域对,选择和 gt 对 匹配的最好的 pair。NIPs 的文章 STNs 给我们提供了一个很好的思路,就借鉴了该网络结构,因其有两个优势:
1. 全差分,可以用 BP 算法来训练;
2. 可以学习进行 translate,crop,rotate,scale,or warp 一张图像,而不需要任何 explicit 的监督来做变换。--> 此处可以考虑借鉴此网络进行多模态图像的配准工作。
本文借鉴该网络结构主要是想用于 ROI region 的获取。STN 的输出可以输入到 ensuing Ranker network中,easing its task。
STN 的网络结构参考下图:
在本文中,我们有三个转换参数,分别是 isotropic scaling (各向同性尺寸变换)s,水平和竖直转移 tx, ty。转移是通过一个 inverse warp 来产生输出image:
训练该网络就是为了得到转换的这 6 个参数。其前5层和 Alexnet 相同,加了一层卷积用于降维,然后是两层 fc,输出6个参数。
下图是随着训练的进行,所得到的图像 patch 的位置变化情况:
可以看出这个过程,其实和 Attention Model 的过程非常相似,也就是说,不断的调整参数,使得bbox 得到的图像 patch就是所需要的 attention region。这个就是进行定位,并且产生图像 patch 的过程。
Ranker Network(RN): RN 将 STN 的输出 以及 原始图像作为输入,也就是 local 和 global information 的组合。将两个图像的feature 组合在一次,经过一个线性层(linear layer),得到一个 score,反应了预测属性的可信度。
3. 定位和排行的损失函数:
我们将输出 v1 and v2 通过一个逻辑函数 P 映射为一个概率 P,优化标准的交叉熵损失函数(the standard cross-entropy loss):
$Rank_{loss}(I_1, I_2) = -L*log(P) - (1-L)*log(1-P)$
其中,如果 (I1,I2)属于Q,则 L = 1,否则 如果(I1, I2)属于 E,则 L = 0.5.
在作者初始的实验当中发现,大规模的转移参数会导致输出的 patch 超出图像的边界,从而导致黑色部分,因为其值全为 0. 为了处理这种情况,本文提出了新的损失函数:
实验效果: