摘 要:图像指代分割作为计算机视觉与自然语言处理交叉领域的热点问题,其目的是根据自然语言描述在图像中分割出相应的目标区域。随着相关深度学习技术的成熟和大规模数据集的出现,这项任务引起了研究者的广泛关注。本文对图像指代分割算法的发展进行了梳理和分析。首先根据多模态信息的编码解码方式,将现有图像指代分割算法分成基于多模态信息融合和基于多尺度信息融合两类进行了系统阐述,重点介绍了基于 CNNLSTM 框架的方法、结构复杂的模块化方法和基于图的方法;然后,对用于图像指代分割任务的典型数据集和主流评价指标进行了总结与统计;之后,通过实验综合比较了现有的图像指代分割模型之间的性能差异并进一步验证了各种模型的优缺点。最后,对这一领域现有方法中存在的问题进行讨论分析,并对未来的发展方向进行了展望,表明了针对复杂的指代描述,需要通过多步、显式的推理步骤来解决图像指代分割问题。
关键词:指代分割;图像语义分割;深度学习;卷积神经网络
邱爽; 赵耀; 韦世奎 信号处理 2022-01-17
1 引言
图像指代分割问题是计算机视觉(Computer Vision,简称 CV)与自然语言处理(Nature Language Processing,简称 NLP)交叉领域中的一个重要问题,它要求计算机能够同时理解图像与文本两种模态的数据,根据文本在图像中进行目标区域的像素级分类。近年来,图像以其丰富的内容信息常常在信息传递中作为载体,发挥重要的作用。随着具有拍照功能的智能设备的普及以及平安城市工程的启动,每天都有大量的图像和视频数据产生。同时,随着互联网技术的发展与人们分享习惯的转变,大量的视觉数据也在网络上快速传播。另一方面,以 GPU 为代表的高性能计算工具被频繁地应用于研究与产品中,大大提升了视觉任务的处理速度。在这种背景下,计算机视觉方向取得了令人瞩目的进展和突破。与图像等视觉数据相比,文本数据具有更利于理解的特点,人们可以通过文本直观地表达需求。因此,由于图像丰富的信息和文本易于理解的特点,以图像与文本数据为研究对象的多模态任务是人工智能发展中重要的研究方向。
图像指代分割任务的目标是:给定输入图像和自然语言指代描述,通过对指代描述进行分析理解在图像中分割出相应的物体或区域。与图像描述生成[1,2]、视觉问答系统[3,4]等利用图像文本数据的问题不同,该任务中的文本特指指代描述。指代描述关注的是被描述目标在图像中具有的唯一属性,能够使该目标与其他区域区分开而不造成理解上的歧义,即当图像中包含同一类别的多个实例时,指代描述能够准确地概括出被指定目标或区域与其他区域具有的唯一特点,包括该区域的类别、外观和空间位置关系等等。指代描述广泛出现在日常生活中,比如“请把桌子上最上面的杂志递给我”。随着智能机器人、无人车和以语言为接口的软件的发展,人类对于计算机能够根据描述定位目标的需求越来越迫切。在这种需求促使下,与指代描述相关的视觉任务的得到了研究者的关注。这类视觉任务主要包含三个方面,即生成、理解和分割。生成任务与图像描述生成类似,但是要求生成的文本描述图像中指定的具体目标而不是针对整幅图像。指代描述理解主要进行对被描述区域的目标级定位,即根据指代描述在图像中定位被指定的目标位置及大小。指代分割是与理解任务相比更加细粒度的解析,不仅需要确定目标位置,还要将目标边框细化至目标轮廓,获得像素级的定位结果。图像指代分割与语义分割和实例分割任务也有一定的相似性,但是它旨在分割出描述特定的区域,而不是某一类别的全部区域。图像指代分割是一项具有挑战性的任务,首先,指代描述的长度不固定,可以是几个单词,也可以是多轮对话,随着描述长度的变化,对于文本的解析难度也会大大提升。其次,文本具有明确的语言结构和语法规则,可以通过解析获得结构化信息。而图像中包含较多的噪声并且缺乏结构性信息,难以与文本共同理解并进行匹配。因此,在指代分割任务中,多模态信息的融合与匹配是关键的难点问题。
图像指代分割问题的研究具有广泛的实际价值和长远的应用前景,是智能化生活的重要部分。在构建平安城市、智慧城市方面,图像指代分割可以在仅通过对于嫌疑人外表或穿着的描述,在大量监控视频中寻找目标,协助对目标的识别和跟踪,大大节省人力资源。在智能家居方面,图像指代分割可用于自然语言巡航系统,通过语言指令使机器人在室内不同位置完成拾取等操作。在生活娱乐方面,图像指代目标分割可以把语言作为各种应用与智能软件的交互接口,从而避免人工进行复杂的操作[5]。
2 现有图像指代分割方法介绍
图像指代分割是计算机视觉与自然语言处理交叉领域的热点问题。由于计算机视觉和自然语言处理技术的日益成熟,和指代分割具有的重要学术研究价值和广泛实际应用价值,该任务吸引了越来越多的关注。随着深度学习的快速发展和广泛应用, 尤其是一系列具有代表性的网络模型在图像分类、语义分割等任务上获得的巨大成功,在图像指代分割任务上也取得了突破性的进展。近年来涌现了大量的相关工作,本文将现有的代表性的工作进行了总结,如图 1 所示。根据对多模态信息的编码解码方式,将现有的图像指代分割工作分为多模态信息融合与多尺度信息融合两大类。其中,根据多模态信息融合方式的不同,又将多模态信息融合分为联合嵌入方法、模块化方法和基于图的方法三类。以下将对这些方法进行详细介绍。
2.1 基于多模态信息融合的指代分割方法
对于图像指代分割任务,最直观的想法是将图像和指代描述编码到相同的向量空间中进行多模态信息的融合。对于图像的表示,卷积神经网络(Convolutional Neural Networks,简称 CNN)[6-12]可获取丰富的图像特征表示,并用于各种视觉任务。对于文本表示,以长短时记忆(Long Short-Term Memory,LSTM)网络和 BERT 网络[13,14]为代表模型已广泛用于句子特征编码,并在许多顺序建模任务中表现出良好的性能。基于多模态信息融合的指代分割方法将两种模态信息融合后,采用现有的语义分割网络进行最终的分割结果预测。这类方法根据融合方式的不同,主要包括三类,即联合嵌入方法、模块方法和基于图的方法。
2.1.1 联合嵌入方法
联合嵌入方法主要包括两类方法:基于 CNN-LSTM 框架的方法和基于注意力机制的方法。
CNN-LSTM 框架是最传统最直观的融合方式,分别利用 CNN 和 LSTM 提取描述和整幅图像的特征,之后利用全卷积分割网络输出最终结果,方法框架如图 2 所示。具体来说,Hu 等人[15]提出了图像指代分割方法(Segmentation from Natural Language Expression, 简称 SNLE)。该方法将图像和文本特征与归一化的空间坐标串联,利用与 FCN-32S 类似的一系列卷积层与上采样得到预测的掩膜图,并与真实标注计算损失。虽然 SNLE 初步达到了指代分割的目的,但是其简单的结构难以取得足够精确的分割结果。Liu 等人指出,人类在进行目标指代的过程中,人眼会在阅读指代描述时,在文本与图像间来回移动后作出判断,即两种模态信息的交互存在于人的整个决策过程中而不是仅在句子结尾。根据这种思路,提出了循环多模态交互网络(Recurrent Multimodal Interaction, 简称 RMI)[16],利用多模态 convLSTM 网络,在对文本中每个单词编码时都加入图像特征进行多模态信息融合,从而获取更丰富的多模态特征。类似地,Margffoy-Tuay 等人[17]提出了动态多模态网络(Dynamic Multimodal Network,简称 DMN),同样将每个单词的特征都与图像特征进行融合,之后利用 SRU 网络将单词级的多模态特征进行整合后进行后续的分割。这类基于 CNN-LSTM 框架的指代分割方法虽然简单有效,但是忽略了指代描述中复合的语言表达和图像中的复杂结构。在采用顺序的方式进行指代描述的编码时,忽略了句子中各部分的依赖关系与不同的重要程度,导致了不重要或者不相关的单词引入混淆信息造成的理解偏差。
注意力机制在许多视觉和语言领域[18-20]发挥了重要作用。由于注意力机制能够在视觉信息和文本信息之间建立元素连接,从而在对文本中的每个单词进行编码时可以利用来自某些特定图像区域(即感兴趣区域)的信息,获得语义更丰富的多模态信息表示。因此,注意力机制也被引入图像指代描述理解的相关任务中,获得了众多成果[21]。Ye 等人[22,23]提出了跨模态自注意力网络(Cross-Modal Self-Attention Network,简称 CMSA),通过自注意力方法跨模态地进行特征融合,使得网络模型能够同时自适应地聚焦于图像中的重要区域和语言描述中的信息关键词,有效地捕捉语言和视觉特征之间的长期依赖关系,充分捕获全局交互信息,更好地进行对两种模态数据的语义理解与相关区域的分割。Hu 等人[24]提出了双向关系推理网络(Bi-directional Cross-modal Attention Module,简称 BCAM)构建跨模态信息的依赖关系。该方法同时利用两种模态信息对彼此的影响,构建了双向的注意力关系,使用视觉引导的文本注意力学习与每个视觉区域相对应的文本上下文信息。具体来说,首先构造一个视觉引导的语言注意模块学习每个视觉区域的上下文信息。其次,语言引导视觉注意模块利用学习的语言上下文指导视觉特征任意两个位置之间的空间依赖性学习。通过不同模态之间的相互学习,获得的多模态特征能够丰富目标区域的上下文表示,从而准确地表征包含语义上下文信息的视觉区域和指代描述,处理视觉区域和描述单词间更复杂和非顺序的依赖关系。然而基于注意力机制的方法仍然存在一些问题,由于指代分割数据集不提供相应的注意力标注信息,这类方法不能保证学习到正确的注意力分配,导致分割误差的出现。
2.1.2 模块化方法
模块化网络已成功应用于许多任务,如视觉问答[3,4]、视觉推理[25]、关系建模[26]和多任务强化学习[27]。在图像指代分割任务中,模块化方法不同于上述基于联合嵌入的工作只是简单地将所有特征串联起来,而是考虑到描述中提供的不同信息之间的差异,分别进行理解与匹配。具体来说,模块化方法通过将指代描述分解为几个不同的组件,之后通过模块化网络将各个组件与相应的图像区域进行匹配,实现对目标位置的推理,方法框架如图 3 所示。
Yu 等人[28]提出了模块化注意网络(Modular Attention Network,简称 MAttNet)。MAttNet 将自然语言指代描述分解为三个模块化组件,分别与目标外观、位置和与其他对象的关系有关。其中,目标外观模块处理目标的类别、颜色等属性,位置模块处理目标在图像中的绝对位置和相对位置,关系模块处理物体间的交互关系。每个模块都具有不同的结构,并在不影响其他模块的情况下单独学习参数。MAttNet 不依赖外部语言解析器,而是通过学习注意力机制自动解析指代描述。最后计算三个模块的匹配分数来衡量候选区域与指代描述之间的相关性,并采用 Mask-RCNN 网络同时预测指代分割结果。模块化方法虽然取得了指代分割任务的突破性进展,但是模块化网络过分简化了语言结构,并且文本和图像候选区域的特征是独立学习或设计的。这导致在指代描述复杂的情况下,不同模态的特征很难相互适应。
2.1.3 基于图的方法
为了更好地处理图像指代分割中复杂的文本描述和对象间的交互关系,基于图的方法被提出用来解析复杂的场景中目标间的交互关系,方法框架如图 4 所示。Huang 等人[29]提出了一种跨模态递进理解的方法(Cross-Modal Progressive Comprehension,简称 CMPC),该方法通过渐进式的方式,逐步利用文本描述中不同类型的单词,并利用图结构分割所指代的目标。具体来说,CMPC 首先使用文本中的实体词和属性词感知图像中所有被描述所提及的相关对象。之后,构造一个完全连通的空间图,其中每个顶点对应一个图像区域的多模态特征,同时通过使用指代描述中的表达关系的单词自适应地构建边。最后通过图卷积网络,突出被指代目标的特征,抑制与文本不相关的区域,实现图像与指代描述中目标间交互关系的对应,从而生成准确的分割结果。Hui 等人[30]提出了一种语言结构引导的上下文建模方法(Linguistic Structure Guided Context Modeling,简称 LSCM)。该方法通过构建一个依赖分析树的图结构(DPT-WG),经过聚集-约束传播-分布三个步骤为每个单词学习一个包含多模态上下文信息的特征表示。具体来说,首先融合视觉和描述信息,之后通过跨模态注意力机制为每个节点生成多模态特征,最后利用 DPT-WG 结构,根据描述中单词间的依赖关系选择性地抑制图结构中部分边的权重,使多模态表示更加贴合描述文本,有助于获得更准确的分割结果。
2.2 基于多尺度信息融合的指代分割方法
由于指代分割任务中存在尺度差异很大的分割目标,仅仅使用视觉特征提取网络的高维特征难以准确感知目标区域,同时在视觉特征提取时较高下采样率也导致了高维特征大量缺失物体细节和轮廓信息,造成分割结果在目标边缘区域不准确预测。针对这个问题,基于多尺度特征融合的方法被随之提出,方法框架如图 5 所示。Li 等人[31]提出了循环优化网络(Recurrent Refinement Network,简称 RRN),利用图像特征提取骨架网络中固有的多尺度金字塔特征,按照分辨率从小到大的顺序输入到 convLSTM 网络中逐步细化分割掩膜,增加特征的细节信息。具体来说,RRN 网络包含两部分,首先利用 CNN-LSTM 框架对多模态特征进行编码和融合,得到目标区域的粗略定位。之后将融合结果作为 convLSTM 网络的初始输入,并按分辨率从小到大的顺序逐步输入金字塔视觉特征,对目标区域表示进行逐步精炼,最终输出一个像素级的前景掩膜。这个步骤模仿了人类解决指代分割的方式,即首先定位感兴趣的目标,然后逐步描绘出目标的具体轮廓。在此基础上,Ye 等人[32]提出了一个双重 convLSTM 网络(Dual Convolutional LSTM Network,简称 DCLN),通过指代描述的特征分别为每个尺度的视觉特征生成一个空间注意力权重图,并与视觉特征相乘从而突出受关注的重要区域,之后与 RRN 网络相同,按分辨率顺序输入到 convLSTM 网络,经过循环细化最终获得同时包含丰富语义信息和目标细节的多尺度特征,准确地完成图像指代分割。
3 数据集与评价指标 3.1 图像指代分割任务的相关数据集
图像指代分割数据集主要包含以下几部分标注信息,即图像、与图像中某一区域对应的指代描述以及该区域对应的像素级标注。近年来,图像指代分割数据集的陆续公开,对该任务的研究发展起到重要的促进作用。本节介绍了现有的几个常用指代分割数据集,并将其详细构成总结在表 1 中。
早期的图像指代分割数据集由于标注困难主要集中在中小型的人工数据集。2014 年, Kazemzadeh 等人[33]推出了第一个大规模指代分割数据集 ReferItGame,之后,随着图像语义分割分割任务和深度学习的发展,越来越多的指代分割数据集也不断公开。下面详细介绍图像指代解析任务的数据集: ReferItGame 数据集[33]基于 Image CLEF IAPR[34]图像检索数据集构建,其中图像区域和像素标签来源于 SAIAPR TC-12 数据集[35]。该数据集的指代描述是通过一个两人游戏收集的,一个玩家根据图像中指定的目标进行描述,另一个玩家根据图像和收到的描述判断图像中所描述对象的位置。如果找到的位置正确,两个玩家都获得游戏分数,并交换位置进行下一张图像。如果错误,将保持当前角色进行后续游戏。该数据集指代描述的特点是,当图像中目标类别只包含一个对象时,描述者相比于描述周围区域更倾向于用简短的类别描述该对象。除此之外,该数据集最大的不同是除了包含前景物体,还可能包含一些背景区域,比如“天空”和“墙”等。
UNC 和 UNC+数据集[36]的图像和像素级标注来源于 MSCOCO 数据集[37],指代描述同样通过 ReferIt Game 游戏收集。这两个数据集均包含一个训练集、一个验证集和两个测试集。其中,测试集 A 中的目标类别大多为人,而测试集 B 中包含更多其他类别的对象。值得注意的是,与 UNC 数据集相比,UNC+数据集中的指代描述不包含位置词,着重在目标外观属性方面描述。 Google-Ref 数据集[38]同样基于 MSCOCO 数据集[35]构建,指代描述在非交互环境中收集。具体来说,一组人员为图像中的目标编写自然语言描述,另一组人员根据图像与描述判断对象位置。如果预测位置与正确区域重叠,则该描述作为有效数据添加到数据集中。如果不重叠则重新为该目标编写指代描述。这样的编写和验证的步骤交叉重复三次,获得最终的收据收集,与其他指代分割数据集相比,该数据集拥有更长的句子与更复杂的结构和对象依赖关系,而不是仅有简单的类别单词或短语。 GuessWhat?!数据集[39]基于 MSCOCO 数据集[37]构建,指代描述同样通过双人合作游戏收集。在游戏中,两个玩家均观察同一幅包含多个目标的图像。一个玩家被随机分配其中一个目标,另一个玩家作为提问者,通过对前一个玩家进行一系列是非提问确定目标是什么。
3.2 图像指代分割任务的性能评价指标
为了能够公平地对比不同指代分割方法的性能,需要适当的评价指标进行评测。指代分割常用的评价指标与图像语义分割任务类似,包括全局交并比和精度百分比,具体定义如下: 全局交并比(Overall Intersection over Union,简称 Overall IoU)作为语义分割评估的标准度量,同时考虑了每个类别的误检值和漏检值。考虑到在图像指代分割任务中,标签类别只包含与指代描述相关或不相关两个类别,因此,通过公式 (1)计算 Overall IoU: Overall IoU = ∑