Attributes as Operators

Tushar Nagarajan and Kristen Grauman
The University of Texas at Austin 

{tushar,grauman}@cs.utexas.edu


1.Introduction

属性携带了物体的语义级别的信息,例如质地,颜色,风格,功能等。属性被证明在许多方面都是有效的表示,例如人脸和人、景色、物品等等。属性有着自然语言的表达形式,使得人与机器在关于视觉上的沟通更为轻松。


属性和物体在本质上是两种东西:物体是物理上存在的,而属性是这些物品的特质。然而现有的属性识别方式很大程度上和物体识别的方法相同。也就是用有着根据属性分类的标签的图像来训练有分辨能力的model。例如使用CNN的方法。

上述这种做法在数据的效率和泛化能力上都是有问题的。这种方法默认了在训练过程中,属性已经与所有潜在的对象相结合(不符合实际)以及属性的影响在所有对象中都有着相同的表现。Attributes as Operators

作者用上图说明了属性与对象之间的差异,对于切片这个属性,没有很好的视觉原型来定义,而对于车子这样的对象则不同。由此作者提出将属性视作一种操作,学习属性如何对对象进行转换。一旦学习完成,属性对对象的影响可以泛化到未见过的对象上。

比起将属性视为高维空间中可分类的点,作者将属性视作一种操作,可以将视觉数据从一种外观转换为另一种。

2.Approach

2.1 Unseen pair recognition as embedding learning
本文的模型是学习一个从给出的图像X到属性-对象 对P=A×O的映射,作者将A-O对分类两个部分,Ps是训练过程中用到的,Pu是用于测试的集合。这里用label p表示A-O对。
在训练过程中,对给定的X-p,学习两个映射函数f(x)和g(p),f(X)是预训练的resnet-18,g(p)是A-O模型,两个映射分别将X和p映射到相同的语义空间。学习的目标是f(x)和正确的A-O对生成的g(p)之间的欧式距离最小,和错误的g(p)之间的距离最大。
在推理过程,我们储存所有的潜在的g(P)向量,然后对于一张新图片X计算f(X),找出欧式距离最近的A-O对。

注意到P包含了未在训练集中出现的A-O对,如果仅仅将推理过程定义为分类问题,是无法完成对未出现的A-O对识别的。

2.2 Attribute-operator model for composition
在一方面,对于无属性的对象生成一个隐式的表达是有意义的,例如狗和斑点狗,但在另一方面,为无对象的属性生成一个表达则是有问题的,将‘蓬松的’作为概念映射到语义空间有什么意义?
他的视觉原型是什么样的?
因此,作者将每一个对象表达为D维的向量,使用GloVe 词汇映射.每一个属性a都对应于一个函数Ga
Attributes as Operators
其中Ma是D*D的矩阵.

2.3 Learning objective for attributes as operators

作者采用Triplet loss,给出图像x和label pair p=(a,o)
Attributes as Operators
其中m是固定值,实验中设为0.5,即图像的特征向量与其对应label中属性矩阵作用在对象生成的向量的欧式距离小于与负样本之间的距离减去m.

下面是一些正则化项

Attributes as Operators

L-aux:要求g(p)=MaO得到的向量能够分别正确预测出对应的A/O,防止训练过程中丢失A/O信息。

Attributes as Operators




Attributes as Operators

Linv:利用属性的可逆性质,隐式的合成新的对象来进行正则化.

首先左乘Mα_inv相当于从原始图像中移除了属性α,然后乘以Mα'以增加一个新的随机属性,生成的伪实例f(x')拥有一个新的O-A对,例如,对于sliced banana,移除slice并增加ripe属性后,将slice banan作为负样本,ripe banana作为正样本。

Attributes as Operators




Attributes as Operators

Lcomm:要求属性操作之间的可交换性,例如sliced banana进行ripe操作之后效果等同于ripe banana进行slice操作

Attributes as Operators




Attributes as Operators

Lant:要求反义的属性操作可以相互抵消。例如'钝'属性抵消'锋利'属性,'ancient'属性抵消'modern'属性

Attributes as Operators

2.4 Training and inference

训练过程的Loss由以上5个loss组合而成,进行端到端的训练,更新的参数包括对图片x的映射f(x),属性操作对应的矩阵Mα,Object向量o,以及对Mα*o进行分类的两个全连接层以及Laux用到的Softmax分类器。

在训练过程,给出输入的图像以及对应的O-A对,得到相应的f(x)以及*o,然后进行训练。

在推理过程,计算所有O-A对,计算f(x),根据f(x)与O-A对之间的欧式距离排序决定预测出的结果。

总结:本文将属性视为对对象的一种操作,其中属性映射为一个矩阵,对象为一个列向量, O-A对就是两者的乘积。类似于数学上对向量进行旋转/平移等操作。并且将图像与O-A对映射到同一个空间。有种在模板上加上各种Mask的感觉。

对于时尚衣物来说,这种属性的定义也许可以迁移。比如对象可以是各种基本款的裙子 T恤 衬衫,袖子的长短/男士女士/风格/颜色等都可以视为在基本款进行各种属性操作。