CVPR 2018 | UNC&Adobe提出模块化注意力模型MAttNet,解决指示表达的理解问题

选自arXiv

作者:虞立成 等

机器之心编译

参与:程耀彤、路雪

北卡教堂山分校 (UNC) 虞立成等人近日发表的 CVPR 2018 论文提出了模块化注意力模型 MAttNet,将 Referring Expression(指示表达)分解为三个模块:主语、位置和关系,并基于句子和图片的联合注意力解析,解决基于指示表达的目标定位问题。实验表明 MAttNet 在基于自然语句的目标检测和分割两种任务上都大幅优于前文的方法。该论文已被 CVPR 2018 录取,并提供了代码以及 demo。

  • 代码链接:https://github.com/lichengunc/MAttNet
  • Demo 链接:http://vision2.cs.unc.edu/refer/comprehension

任务

Referring Expression(指示表达)指描述图片中某一特定物体的一句自然语句。与 Image Captioning 任务不同的是 Referring Expression 具有唯一性和区域性,比如「穿红色毛衣的女人」或「右边的男孩」。在日常生活中,无论人与人之间的交流或是人机交互,都会涉及这种指示性的短语表达。所以理解它们并准确定位所描述的物体成为自然交互的必要条件。

指示表达理解的问题可以被定义成:从图片 I 里的各个物体〖O={o_i }〗_(i=1)^N 中选出那个「最」能被指示表达 r 贴切描述的物体 o^*。过往在此问题上的研究可以分为两类:基于 CNN-LSTM 的框架建模的 P(r|o),以及基于联合概率框架建模的 P(r, o)。本文使用后者。

模型与方法

文章对数据集进行统计后发现根据目标物体和其他物体的差异性,对它的指示表达可以涉及不同类型的信息。例如,如果目标物体为十个黑球中的一个红球,那么对它的指示表达可以很简单得说「红球」。如果相同的红球被放在其他三个红球中,那么基于位置的信息可能变得更加重要,例如「右边的红球」。或者,如果在场景中有 100 个红球,那么球与其他物体之间的关系可能是最明显的信息,例如「猫旁边的红球」。因此,将指示语句的理解模型进行模块化分析便显得非常自然直观。本文利用主语,位置和关系模块来解析输入的指示语句,然后触发不同的视觉模块进行处理。

本文提出的模块化注意力模型 (MAttNet) 如图 1 所示。模型首先将输入的指示表达分解成三个短语表征,作为三个视觉模块的输入,这些视觉模块用不同的注意力模型分别计算与其对应的短语的匹配分数。最后,三个模块的匹配分数的加权总和成为整体匹配得分。整个模型可以无缝链接 Mask R-CNN 框架,因而可以做目标定位和目标分割两个任务。

具体来分析模型的细节。首先是自然语言的分解模块,作者提出的 Language Attention Network(语言注意力模型)对输入的指示表达进行主语,位置和关系的三个模块的拆解。每个拆解后的成分会有两个输出,其一是该模块的词向量表征,其二是该模块占整句句子的权重。然后是三个视觉模块,给定某个备选物体 (candidate object),我们计算它与三个词向量表征的匹配分数。其中,主语的视觉模块抽取物体的 R-CNN 特征,并使用该模块内部的软注意力模型抽取与词向量相关的区域,计算匹配分数;位置的视觉模块抽取物体的位置特征,将其映射到高维空间后与位置词向量进行匹配;关系的视觉模块抽取其周边其他物体的特征,使用多示例学习 (Multiple Instance Learning) 选取与关系词向量最相关的周边物体,计算得分。最后,三个匹配得分会和上述的三个权重进行内积,得到最终匹配得分。

图 1:模块化注意网络 (MAttNet)

实验结果

实验中,首先为了和前文进行公平比较,使用了 VGG16 特征,在目标定位上超过前文~2%。配合上 Mask R-CNN 的特征后,优势扩展为~7%。在目标分割上,基本达到前文最佳精度的两倍。此外,模型具有很好的解释性,作者展示了三个模块各自注意到的相关单词和视觉区域。如图 2 所示。

结束语

指示表达的应用很广,人与人的对话系统和人机交互系统都经常会涉及对图片或场景里的某个目标物体进行自然语言的描述。从作者提供的 demo 来看,方向性的指示表达和对「人」这一类的指示表达,理解得都还比较准确;但对其他物体的指示理解还有进一步的提升空间。作者在提供的代码的最后写了一些 Notes,可以作为后续工作的思考方向。

图 2:MAttNet 在 RefCOCOg 上的结果:第一列为原图,第二列为输入的指示表达与其分解结果,第三列为主语模块的注意区域;第四列为主语模块的 attribute 输出;第五列为目标定位(蓝筐);第六列为目标分割。

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-03-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【算法】xgboost算法

小编邀请您,先思考: 1 XGBoost和GDBT算法有什么差异? XGBoost的全称是 eXtremeGradient Boosting,2014年2月诞生...

3449
来自专栏智能算法

亚像素边缘的直线及圆弧的基元分割

从20世纪70年代起就有不少专家提出了一些有效的亚像素边缘定位的方法,如插值法、灰度矩法和一些组合的算法等。本文在前辈的基础上描述一种图像亚像素边缘检测方法,...

2986
来自专栏Bingo的深度学习杂货店

《机器学习实战》总结篇

前些天完成了《机器学习实战》这本书的学习,也利用 Python3 实现了各个章节的代码,对传统的机器学习方法有了更进一步的了解,这里做一个总结。 代码传送门: ...

3784
来自专栏媒矿工厂

基于双流编码-解码深度网络的视频对象分割算法简介

背景介绍 视频对象分割(Video Object Segmentation),目的是将视频段中的物体连续地“抠”出来以得到视频每一帧的前景、背景分割结果。分割得...

4433
来自专栏AI科技评论

深度 | Facebook翻译错误导致一名建筑工人被抓,机器翻译到底有多脆弱?

这是最近几年非常流行的一个句子,试试看能不能读懂—— “Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, i...

3345
来自专栏大数据挖掘DT机器学习

判别模型、生成模型与朴素贝叶斯方法

1、判别模型与生成模型 回归模型其实是判别模型,也就是根据特征值来求结果的概率。形式化表示为 ? ,在参数 ? 确定的情况下,求解条件概率 ? 。通俗的解...

3656
来自专栏AI科技大本营的专栏

干货 | 深度详解ResNet及其六大变体

编译 | 图普科技 本文由图普科技工程师编译自《An Overview of ResNet and its Variants》。 从AlexNet[1]在201...

4456
来自专栏人工智能

理解卷积

原文作者:Christopher Olah

97514
来自专栏机器之心

深度 | 一文介绍3篇无需Proposal的实例分割论文

选自Medium 作者:Bar Vinograd 机器之心编译 参与:Nurhachu Null、黄小天 本文解析了实例分割领域中的三篇论文,它们不同于主流的基...

3825
来自专栏算法channel

机器学习:提升树(boosting tree)算法的思想

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来...

3738

扫码关注云+社区