在传统的图像检索系统中,用户只能利用单纯的图像或文本作为检索条件。但是在很多情况下,用户很难只利用图像或文本来准确地表述他们的检索意图。而基于多模态组合查询的图像检索则允许用户同时使用一句自然语言描述文本和一副图像(参考图像)来进行目标图像检索。图1列举了几个基于多模态组合查询的图像检索示例。如图所示,文本描述是对参考图像的修改描述。该任务的关键在于如何有效地进行多模态查询的组合,进而检索到目标图像。目前已经有一些针对该任务的初步研究工作。根据它们进行多模态查询组合的方法,可以大致分为两大类:局部组合方法和全局组合方法。其中,局部组合方法侧重于在组合多模态查询信息的时候,利用参考图像的局部特征,如特征图或者目标检测网络提取的局部物体特征;而全局组合方法则利用的是参考图像的全局特征。现有的方法大多从局部或全局单一的角度进行多模态组合的建模。而我们认为,这样是无法充分解决基于多模态组合查询的图像检索任务的。因为修改文本中所蕴涵的修改意图十分多样,可以是具体的属性修改(如图1(a)所示,“修改袖长”),抽象的视觉特性修改(如图1(b)所示,“更加优雅”),还可以是如图1(c)所示的两者兼有的情况。直观来说,具体的属性修改更加适合利用局部组合方法进行多模态组合,而抽象的视觉特性修改则更适合全局组合方法,即在参考图像的全局特征上进行操作。因此,本文作者认为应该同时从局部和全局的角度出发进行多模态查询的组合建模。基于此,作者提出了一种从局部和全局进行综合性多模态组合的网络(Comprehensive Linguistic-Visual Composition Network),简称为CLVC-Net,模型图如图2所示。它主要包括四个组件:(a)图像与文本的编码模块、(b)细粒度局部组合模块(FLC)、(c)细粒度全局组合模块(FGC)、(d)互学习增强模块。组件(a)旨在提取图像和文本的中间特征表示;组件(b)和(c)分别致力于从局部和全局的角度进行多模态查询的组合;组件(d)旨在使两个本质上存在一致性的组合模块之间可以相互传递知识,进一步提高模型效果。图 2:模型框架(CLVC-Net),主要包括四个组件:(a) 图像/文本编码模块、(b) 细粒度局部组合模块(FLC) 、(c) 细粒度全局组合模块(FGC) 、(d)互学习增强模块。
在细粒度局部组合模块中,目标是从局部角度进行多模态组合。这里作者使用的是参考图像的特征图。最核心的操作是基于修改文本,对参考图像进行仿射变换以达到修改图像的目的,公式为: 同时,考虑到特征图中不同的局部特征可能对应着修改文本中的不同部分,作者使用了注意力机制进行细粒度的图像与文本对齐,之后基于此推导出仿射变换的相关参数( 、 )。具体公式如下:最后,利用基于批的分类损失,约束修改之后的参考图像特征与目标图像特征接近。此外,还引入感知损失,进一步从特征图层面进行约束。具体公式分别为:细粒度全局组合模块与细粒度局部组合模块的流程大致相同,其中仿射变换和基于批的分类损失采用相似的形式,只不过利用的是参考图像的全局表示。具体公式分别为:在获得参考图像的全局表示时,作者认为修改文本中可能蕴涵多个修改方面。而不同的修改方面可能对应着参考图像不同的全局表示。所以,在这里使用另外一种图像与文本的注意力机制,从全局的角度进行细粒度的图像与文本对齐。最后基于此推导出仿射变换的参数( 、 )。具体的计算公式为:考虑到这两个组合模块旨在检索到一个目标图像,因此他们之间存在一定的内在一致性。如图3所示,为了充分挖掘两个组合模块之间的内在一致性,作者采用互学习的方法,使得两个模块从相似度分布层面以及特征层面互相学习知识,从而进行一致性约束。以局部组合模块向全局组合模块学习为例,对于相似度分布层面的一致性约束,采用局部组合模块和全局组合模块中组合特征与目标特征之间相似度分布的KL距离(Kullback-Leibler Divergence)来约束,公式为:对于特征层面的一致性约束,利用L2 损失来正则两个模块输出的特征,公式为:全局组合模块向局部组合模块学习的具体做法可通过类似的方法导出。在训练时,两个组合模块之间采用交替训练的策略进行参数的更新,其中局部组合网络的优化目标为:当模型收敛后,两个模块的输出通过经过进一步的融合以检索目标图像。本文选择了三个数据集进行实验,包括FashionIQ,Shoes,和Fashion200k。其中,Fashion200k数据集中的修改文本是根据服装属性构造的,而FashionIQ和Shoes数据集里的修改文本是人为书写的自然语言,因此更加符合实际应用需求。实验证明,本文的CLVC-Net在基于多模态组合查询的图像检索任务上具有一定的优越性,具体结果如表1所示:表 1:在FashionIQ,Shoes,和Fashion200k上的模型结果对比此外,文章中还对模型的各个组件进行了充分的消融实验,实验结果进一步证明了模型中各个模块的作用以及所设计的互学习方法的有效性,结果如表2所示:表 2:在FashionIQ和Shoes数据集上的消融实验结果为了验证文章的动机是否合理,作者还进一步针对局部组合方法,全局组合方法,以及文中提出的CLVC-Net进行了词云可视化实验,以直观地反映出不同模型更加擅长处理哪些类型的修改。如图4所示,局部组合方法更加擅长处理修改文本中带有“blue”,“sleeves”,以及“closures”等具体属性的修改情况。而全局组合方法更适合解决抽象的视觉特性修改,如“American”,“style”等都是抽象的风格特性。对于CLVC-Net,则表现为对具体的属性修改(如“peach”, “closures”)以及抽象的视觉特性修改(如“deeper”, “style”等)都有优异的效果。这表明同时从局部和全局的角度出发进行多模态组合的建模对该任务是十分必要的。图 4:不同模型在(a) FashionIQ和(b) Shoes数据集上的词云结果对比针对基于多模态组合查询的图像检索任务,作者通过同时从局部和全局的角度进行多模态组合,并利用互学习策略使得二者之间相互学习知识,在该任务的多个数据集上取得了最优的结果。文章非常值得学习,且相关代码也已开源: