李建辛,司冠南,田鹏新,安兆亮,周风余
1.山东交通学院 信息科学与电气工程学院,济南 250357
2.山东大学 控制科学与工程学院,济南 250000
伴随着场景图(scene graphs,SG)[1]的流行,以知识图的快速增长为特征的知识工程再度兴起。知识图(knowledge graph,KG)本质上是一个大规模的语义网络数据库,它包含实体以及实体之间的各种语义关系。知识图在包括文本理解、推荐系统和自然语言问答在内的现实世界中有着广泛的应用价值。场景图构建可以捕捉场景的语义[1-2],其核心形式为一种有向图,其中节点表示场景中的实体(例如,桌子、沙发、电视机等),边表示节点之间的关系(例如:相邻、包含等)。这种结构化的表示方法相对于向量表示会更加容易被人理解,同时场景图的构建过程也可以被看作是一个小型的知识图谱。
场景图构建知识图谱主要是以各个场景实体及其关系来构建,知识图谱的质量主要由实体的粒度切分和实体之间关系(关联关系、空间关系等)的细节程度决定。场景知识图谱构建之后,可以加深同场景下不同实体的(家具、装修风格、电子器械等)构建关联,进而通过实体特征和场景图,建立实体与场景的关联。通过知识图谱,可以更加精准描述不同场景下实体分布情况,更加准确关联不同场景,从而实现对场景的精确分析。有时需要处理场景中的语义信息,以提高各种计算机视觉算法所提供结果的质量。将图像作为输入的算法通常倾向于关注图像中存在的对象的绝对属性(颜色、形状、大小等),即概念信息,而不是这些对象之间的关系,即上下文信息(例如,人与狗玩耍)。在场景识别任务中,尽管跨类型实体识别模型可以在一定程度上表达出当前场景的大部分实体,但是要单纯使用跨类型实体识别模型识别所有场景的所有实体和知识很难做到。
为了更好地理解场景识别任务中单一结构处理多任务的方法,提出基于知识的3D 场景图与知识图谱构建综述。本文综述结构分为三层。第一层为场景知识存储,第二层为场景知识表示,第三层为场景种类划分。本文为当前场景识别技术发展做出以下贡献:
(1)多模态知识图谱作为特征存储数据库对场景先验知识进行存储的技术总结与讨论。通过基于编码-解码器结构的节点嵌入、知识图谱节点匹配方式、知识图谱补全等技术的综述和论证,对知识图谱与场景图知识互补领域进行了技术论证和未来发展方向的讨论。
(2)对2D-3D 数据融合进而增强3D 数据对场景环境表达能力技术的总结和论证,即场景知识表示层的全面综述。通过对点云和图像两种数据不同融合方式的技术讨论、多种经典和最新的神经网络模型的比较和总结,对当前多模态识别模型发展进行总结和展望。
(3)对场景划分任务做出总结,并提出未来发展方向。
由于感知应用的发展,计算机视觉发展重点已转向需要对场景进行认知的下游任务。基于文本信息和视觉信息的结合,极大提高了计算机视觉领域中检索、视觉问答等任务的性能,结合GCN(graph convolutional networks)网络的快速发展,场景图已经成为结构知识处理关键任务的流行方法。场景图的思想有几个优点,比如它能够包含比对象实体更多的信息(例如ImageNet[3]),而且场景图包含比自然语言标题[4-5]更多的结构和不变性。现有思想基本是用基础3D信息扩充了基本的场景图结构,如Visual Genome中的场景图结构[6],并生成了3D场景图。场景图的构建过程也可以被看作是一个小型的知识图谱,虽然知识图谱与场景图都作为一种图结构而存在,但两者还是有差别。首先:(1)场景图目标是让计算机自动生成一种语义化的图结构作为图像的表示。图像或视频中的实体对应nodes,实体间的关系对应edges(实体对象的各种属性)。即场景图中的每个节点都与一个图像区域相关联,这些节点成对出现,即主体和对象;而知识图中的每个节点都是其语义标签的一般概念。(2)在场景图中,有向边表示对象之间的关系;而知识图谱的边表示实体对的概念关系。总体结构如图1所示:右侧实体及位置关系识别流程见第3章,图1场景分类流程见第4章。存放在知识图谱内的知识、场景内实体结合神经网络模型进行特征处理后的知识会进行聚类操作,对不同相似或相近实体进行聚类到不同场景,再对不同场景进行分类,就可达到场景内实体识别和不同场景识别的效果。
图1 综述结构示意图Fig.1 Schematic diagram of overview structure
认知科学的最新发现表明,认知过程可以大致分解为“表示”和“沟通”。知识表示(knowledge representation,KR)的结构对稳定记忆起着关键作用,这表明大脑与图形结构有着潜在的联系。知识操作(knowledge manipulation,KOS)中包含的自适应更新和检索促进了知识的有效利用。场景识别的目的就是根据多种模态数据的环境内容、实体对象及其实体的位置关系布局,将场景分类为预训练定义场景类别中的一个,其识别效率高、应用前景广。目前,场景分类任务远不如图像分类任务所能够达到的高准确率,因为现有的方法大多忽略了实体特征之间的复杂关系、场景内实体知识表达的重复利用性、场景知识的存储再表达等关键技术。
为了使3D 场景能快速实时构建,当前最流行的方法是使用多模态知识图谱[7]作为对象特征的存储数据库。为了构建3D场景图,需要识别它的特征、属性和依存关系。但是,在给定识别场景模型和传感器数量的限制下,用对象标签和足够多参数的深度网络模型是构建3D场景图的工作瓶颈。因此本文综述焦点是通过外置特征数据库特征匹配方式快速构建3D场景图技术。知识图谱—场景图存储的作用是通过识别对象的特征知识[8]与多模态知识图谱节点快速匹配。Tian 等人[9]利用外部知识库中无偏置的常识性知识规范场景图的语义空间,缓解数据集中关系数据分布不平衡的问题,以提高场景图生成的泛化能力;利用残差置乱方式对视觉特征和提取的常识性知识进行融合,规范场景图生成网络。使用基于外部信息引导和残差置乱相结合的场景图生成方法,缓解数据集偏置对场景图生成的负面影响。
同时,为了应对KG与SG知识交流中的挑战,研究者们提出很多知识自适应框架结构,该框架可以不断地积累知识图谱知识信息,以便在任何新场景都具有更好的泛化质量。Wickramarachchi 等人[10]把场景的实体关系预测形式化为基于知识的实体预测。旨在通过利用驾驶场景的异构、高级语义知识预测潜在的未识别实体来提高场景理解。基于融入知识的学习,提出了一种创新的模型神经符号解决方案,解决引入数据集不可知论本体来描述驾驶场景,提出一种有效的、使用知识图嵌入将知识的实体预测问题非标准映射到链路预测问题。
知识操作(KOS)中[11]包含的自适应更新和检索促进了知识的有效利用。如此复杂的KR 和KOS 使人们大脑能够很好地完成知识再利用学习。知识表示与存储结构如图2 所示。为了将场景的结构化表示形式化(见图2),人们定义了场景图概念。场景图将对象(例如桌子、沙发、电脑、电话)编码为节点中心,成对关系(例如位置关系、顺序关系)连接的节点作为边缘,将场景(例如办公楼、公寓)作为相关实体对应节点关系的集合。然而,现有的场景图模型忽略了98%以上的关系类别,这些类别没有足够的标记实例,而是将重点放在建模。虽然使用建模提取特征可以很好地描述某些场景视觉关系,但它们可能无法捕获具有高方差、高离散的复杂关系。
图2 知识存储示意图Fig.2 Schematic diagram of knowledge storage
场景图实体特征嵌入算法可以将场景图数据映射为低维向量,能够很好地解决场景图数据难以高效输入机器学习算法的问题,在复杂网络中,研究者们提出了许多融合网络嵌入算法的改进算法[12]。其中,在编码器-解码器框架中,图表示学习问题视为涉及两个关键操作的方法。首先,编码器模型将点云、图像的每个节点映射到低维向量或嵌入其中。其次,解码器模型采用低维节点嵌入,并使用它们重建原始数据中每个节点的邻域信息。而节点嵌入的目的是对图的节点进行编码,使得节点在嵌入空间的相似度近似节点在图中的相似度,即场景图实体关系平行迁移到存储结构上。如图3所示,编码器将节点映射为嵌入向量;定义节点的相似度函数F,度量节点在左边图结构的相似度;解码器将嵌入向量映射为相似度得分;最优的编码器参数,使得节点在右边嵌入空间的相似度接近节点在左边图结构网络中的相似度。
图3 节点嵌入结构示意图Fig.3 Schematic diagram of node embedding structure
在场景图与知识图谱之间找到可靠的对应关系是计算机视觉未来发展的一项重要任务。由于描述符的限制,原始匹配常常被大多数离群值所污染,算法给出的匹配结果可能会在具有相似特征的图像中进行交叉交换。节点嵌入和相似度匹配预测结构如图4所示,链接预测的目标是根据已知(a)的节点和边,得到新(b)的边(的权值/特征),其过程可以用一个有向图表示。知识图谱的完整性和准确性是影响其可用性的主要因素,(a)已有的知识图谱存在A、B、C数据的连接关系不完整问题,链接预测技术能够依据其余完整数据,自动知识图谱进行补全,提高(b)知识图谱的质量,输出为该图谱的预测值A1、B1、C1。当今研究模型建立了一个基于对象的场景表示,并将句子翻译成可执行的符号程序。为了将这两个模块的学习连接起来,研究者们使用了一个神经符号推理模块,该模块在潜在场景表示上执行这些程序。与人类的概念学习类似,感知模块根据被引用对象的语言描述来学习视觉概念。同时,学习到的视觉概念有助于学习新单词和解析新句子。通常会用课程学习来指导对图像和语言构成空间的探索。
图4 链接预测的示例Fig.4 Example of link prediction
知识图谱已经被广泛采用,很大程度上是因为其无模式的特性,它具有丰富的自然语义,可以包含各种更完整的信息。其具有无缝增长的特性,可以根据需要创建新的节点和关系。知识图谱将每一项实体和用户表示为节点,通过边将相互作用的节点连接并存储起来,然而,知识图谱总是不完整的[13]。因此,自适应构造一个更完整的KG是一项具有挑战性的任务,通常将其表述为链接预测问题[14],可使用知识的补充增强技术解决这一问题。Shen 等人[15]探讨了考虑拓扑关系的空间场景知识图构建,积极探索了空间场景知识图式的定义、拓扑关系知识的获取和存储以及空间场景知识图形的可视化问题。该图在空间查询、空间分析和空间数据建模中发挥重要作用。
正如前文所述,预训练模型可在非结构化数据中获取到知识;知识图谱可以看作在视觉中抽取实体与实体关系的数据集合,两者结合可获得巨大的研究空间。
作为图结构的知识图谱想融合预训练模型就要进行三段式改造,即输入前融合改造,模型结构融合方式改造和模型输出融合方式改造。K-ADAPTER[16]加入了额外的预训练模型中间层,使得模型参数固定,增强了旧知识稳定性的同时可以不断融入新知识。但是并未解决多知识和多种知识图谱的融合问题。KT-NET[17]在Fine-tuning阶段使用知识图谱融入,通过注意力机制将BERT Vector[18]与KB Embedding[19]做融合;并且通过双层的注意力机制进一步融合BERT和KB的表示,解决了多种知识图谱的融合问题。但是直接通过KB Embedding和Bert vector的映射关系结合Attention机制融合,舍弃考虑了映射之间的差异性,导致结果差强人意。针对不同下游任务,KnowBERT[20]在pre-training+fine-tuning 阶段使用architecture injection+output injection 的融合方式,在输入中显式建模实体跨度(entity spans),并使用实体链接器(entity linker)从KB 中检测Mention、检索相关的实体嵌入(entity embeddings),以形成知识增强的实体跨度表示形式,对映射之间的差异性做出较好解释。
2.2.1 距离变化和语义匹配
知识图谱KG是三元组的集合,节点代表对象实体,边代表对象间关系。众多知识图谱,如YAGO[21]、Freebase[22]、DBpedia[23]和NELL[24]成功应用于一些现实应用程序中。学者们针对知识图谱补全,进行了大量的研究工作,即预测缺失三元组是否正确,并将正确三元组添加到知识图谱进行补全。目前,许多嵌入模型用来学习实体和关系的矢量表示,如早期的TransE[25]、TransH[26]、TransR[27]等模型[28],这些模型可以有效预测缺失三元组。目前较流行的五种知识图谱补全函数如表1所示。
表1 五种算法函数公式和参数规模比较Table 1 Comparison of five algorithm function formulas and parameter scales
在语义匹配能量模型(SME)模型中,在输入层将三元组(h,r,t)分别映射为嵌入向量h,r,t。在隐含层,将关系向量r与头向量h组合,得到得分向量;同理得到尾实体对应的得分向量;并最终将两个向量进行组合算出匹配分数。SME 是目前使用较多的语义匹配模型,同为语义匹配模型的还有RESCAL 模型、HoIE 模型、DistMult模型、RESCAL模型等。
知识图补全(knowledge graph completion,KGC)或链接预测(link prediction,LP)已成为一个活跃的研究领域[33],目的是推断缺失的头实体、尾实体或三元组中的关系。其主要思想是对具有不同性质的关系进行建模,可以解决图结构中的对称和非对称关系。TransE[25]就是将知识图谱中的实体和关系看成两个Matrix。训练后模型的理想状态得到的结果近似于实体矩阵中的另一个实体的向量,从而达到通过词向量表示知识图谱中已存在的三元组,但它只能处理1-1关系,具体结构见图5。为了解决这个问题,TransH[26]提出通过将头部和尾部实体投影到关系特定的超平面中来处理1-N关系,让一个实体在不同的关系下拥有不同的表示。TransR[34]直接构建独立的关系和实体空间,将实体从实体空间投影到关系特定空间,以计算实体之间的距离。TransR在两个不同的空间,即实体空间和多个关系空间(关系特定的实体空间)中建模实体和关系,并在对应的关系空间中进行转换。TransE 模型需要将实体和关系表示在同一空间中[35-36],但是不能表示一对多、多对一、多对多关系。在实际场景识别的任务中局限性很大,所以人们基于TransE 提出了TransH 模型,通过一个实体在不同的关系下拥有不同的表示[37],将头实体向量h和尾实体向量t投影到关系r对应的超平面上,再利用TransE模型进行训练和学习。但是实体和关系处于相同的语义空间中,一定程度限制了模型的表达能力[38]。于是研究人员让头实体与尾实体共享投影矩阵,投影过程与关系和实体都相关但此处只用关系,进而研究出TransR模型。
图5 三种常态化使用结构对比Fig.5 Comparison of three normalized use structures
即使可以对知识图谱进行补全操作,但是绝大多数的KG 通常是不完整的,很难包含人类拥有[39]的所有概念。而现实世界的数据往往是动态的和不断演变的,这导致难以构建正确和完整的KGS[40]。为了解决模型扩展和存储平衡工作能力的问题,TuckER[41]为张量分解提供了一个分解结构,通过输出核心张量和实体和关系的嵌入向量来学习嵌入,解决稀疏张量的填补问题。基于CNN(convolutional neural network)的模型也被证明可以通过捕获实体和关系之间的复杂交互以提高表达能力。同时,CNN 的参数效率可以防止模型随着知识图规模的扩大而变得难以运行。Convu[42]将头部实体和关系嵌入到二维矩阵中,并应用二维卷积和全连接层以获得特征向量。该特征向量和尾部实体嵌入向量被抛出到内积层进行最终预测。类似胶囊网络在图像处理领域中的应用,CapsE[43]通过在卷积层之后应用胶囊网络来捕获三元组中复杂的高级特征。也可以通过三个关键思想[44]:特征置换、一种新的特征重塑和循环卷积,增加了关系和实体嵌入之间的相互作用[45]。
2.2.2 神经网络办法
由于涉及神经网络的模型具有很强的鲁棒性和容错性,信息分布贮于网络内的神经元中,在场景识别等领域被人所接受。它的自学习、自组织、自适应性,使得网络可以处理不确定或不知道的系统,可以充分逼近任意复杂的非线性关系,具有很强的信息综合能力。例如:神经张量网络模型(neural tensor network,NTN)、ConvE[42]模型等。NTN 模型的关系r对应一个张量与两个常规矩阵,分别用来匹配双线性与线性关系。NTN是最具表达力的模型之一,几乎涵盖了所有的匹配关系,但是在参数数量上远大于ConvE 模型,不能叠加多层增强表达能力,所以在复杂度和表达能力间不能找到很好的平衡,以至于NTN 模型相较于ConvE 模型很难以被训练,所以在大型知识图谱中使用较少。
(1)关系图卷积网络
关系图卷积网络[46(]relational graph convolutional network,R-GCN)这种类型的网络旨在泛化GCN 来处理知识库中实体之间的不同关系。它的特点在于:对于一个节点,它把周围所有与之相连的关系r都表示为一个关系矩阵并加入节点更新公式中,并且通过自循环来保持自身信息。在同一类型边下分为进边和出边,还有假设指向自己的边类型。模型结构没有太大的改变,真正改变的是邻接矩阵的类型和个数。R-GCN能够处理异构图数据,对于场景的实体识别特征匹配和补全任务有着很好的速度和补全质量。其流程结构如图6所示。
图6 关系图卷积网络示意图Fig.6 Schematic diagram of relational graph convolutional network
(2)CompGCN
CompGCN[47]利用知识图谱中的composition operations同时学习节点、关系的表示向量,并利用参数分解方法使得模型具备多关系的可扩展性。在传统的图结构中,即使是异构图中,边节点上也并不存储任何信息,而在知识图谱等领域中这样“边上的信息”较为普遍。由于场景是一个在现实中存在的复杂实体和关系类型,传统的GCN 算法广泛应用于同质图,而同质图算法远不能满足知识图谱解决场景识别和构建的需求,CompGCN便是针对于Multi-relational Graphs 提出的异质图表征算法,CompGCN 能够同时对node 和relation 进行表征学习。在节点分类、链接预测和图分类任务上都取得Sota效果。其结构如图7所示。CompGCN较为倾向于知识图谱邻域,边的Embedding聚合在常用的异质图网络中并不常见,图7 中有多种节点,如London 和United Kingdom;也有多种有向关系,如Born-in 和Citizen-of,Born-in 和Bord-in_inv 是同一关系的两个方向。图7 清晰展示出有向边和反向边的聚合过程。
图7 CompGCN流程示意图Fig.7 Schematic diagram of CompGCN process
随着3D采集技术的快速发展,3D传感器的可用性不断提升,各类3D传感器的价格也不断飙升。这些3D传感器采集的3D 数据可以提供丰富的三维立体信息如:几何、形状和比例[48]。在自动驾驶、机器人技术、等技术领域,3D 技术起到了无可替代的作用[49]。点云作为一种常用的三维数据格式,在三维空间中保留了原始的几何信息,无需任何离散化。因此,它是许多场景理解相关应用(如自动驾驶和机器人)的首选表示。并且通过2D图像的补充,3D数据为更好地了解周围的环境提供了机会[50]。然而,对三维点云的深入学习仍然面临着几个重大挑战[51],如数据集规模小、三维点云的高维性和非结构化性质等。在此基础上,本章重点分析了用于处理三维点云和视频的深度学习方法构建场景图实体特征与实体关系。
3.1.1 实体识别网络
研究者们将三维图像投射到n个视图中提取特征,对特征进行紧耦合[52]从而实现精确的分类任务。MVCNN组合[53]来自多个视图的特征聚合表示,这些表示生成一个三维形状的单一紧凑描述符,且所有参数都经过区分性学习的CNN架构来组合来自多个视图的信息,从而为3D形状生成一个紧凑的描述符,但是其仅使用最大池化操作[54]会导致部分知识的丢失。此外,研究者们还提出了几种其他方法来提高识别精度[55-56]。
而在现实生活更多的是图结构数据,图的结构是十分不规则的,可以认为是无限维度的一种数据,所以它没有平移不变性。当前研究有多种技术处理这类数据,例如GNN[57]、DeepWalk[58]、node2vec[59]等。而GCN(图卷积神经网络),作为一个特征提取器,设计了一种从图数据中提取特征的方法,从而可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以得到图的嵌入表示(graph embedding)。Wei 等人[60]通过将多个视图视为Grpah节点,在视图GCN中使用一种由局部图卷积、非局部消息传递和选择性视图采样组成的核心层应用于构造的图,所有级别上最大池节点特征的串联最终用于形成全局形状描述符。同时为了解决GCN网络卷积操作的图结构固定大小的限制问题,利用非局部信息的传递,通过全图长距离关联性来更新节点特征。
3.1.2 位置识别网络
对于场景对象的定位,常用的方法是利用双目立体视觉计算图像视差图获取整个场景图像中每个像素的位置信息,这可能存在计算精度低、速度慢等缺陷。近些年来场景对象识别研究学者,提供了一些新的研究方向[61]。目前位置识别领域应用最广泛的技术是视觉同步定位与建图(visual simultaneous localization and mapping,VSLAM)技术,VSLAM也是移动机器人技术的重要研究领域。VSLAM主要功能是实现运动设备在未知场景中的自身位置判断与环境实体建模。从最早的军事用途到现在,视觉SLAM 已经逐步走入了大众的视野。由于现实环境的场景复杂性高、变化性大,众多学者都在提高复杂光照条件下SLAM 的识别鲁棒性上努力。Zeller等人[62]在2018年第一个使用光场相机子图像进行追踪建图的算法设计,使用单传感器设备从一张光场图像获取深度等技术,使得利用单个光场相机具有尺度恢复的能力。对鲁棒追踪进行了改进,使相机能够在复杂多变的场景中准确定位,追踪过程直接在微透镜图像以及虚拟孔径图像上进行,并且使用了coarse-to-fine的方式优化位姿。尺度优化算法能够连续地估计关键帧的尺度,通过对多帧估计联合优化得到全局一致的尺度。但后续研究停止,该技术仅停留在实验室的试验研究阶段,并不能在社会、工业上进行有效推广与应用。
3.2.1 数据融合Pixel Level
像素级图像融合[63]目的是同场景下互补信息收集多个输入图像生成合成图像。从不同的成像设备[64]或单一类型的传感器捕获称为源图像的输入图像,被称为融合。合成图像应该比任何单独输入更适合人类或机器感知。像素级图像融合被认为在遥感、卫星地图、医学影像、自动驾驶等多个领域具有重要意义。传统方法大多采用机器学习算法,通过各种技术进行像素图像分割,如阈值分割[65]、区域增长[66]、边缘检测[67]、聚类[68-69]等。同时,深度学习(DL)技术在像素级图像处理问题上取得了巨大的成功。也有一些研究集中于某些特定应用领域的融合问题,如医学成像[70]、遥感和[71]监控。而在场景识别中的应用——视频对象联合分割中,基于面片匹配的方法被广泛用于提取视频帧之间的相似度。但是,由于这些方法降低了像素定位的精度,容易导致像素误分类。
在边缘检测技术对图像进行处理方面,像素级边缘检测器无法准确检测平滑轮廓,所有阈值操作必须以像素级精度执行。有些应用程序甚至需要比像素网格更高的精度。例如HCNet[72]能有效地捕获全局上下文信息,以实现更精确的语义分割,并且提出了一种PCM方法来学习由预先分割产生的每个均匀区域内的像素级依赖关系。对不同区域之间的区域级上下文进行建模,聚合细粒度像素上下文特征和粗粒度区域上下文特征。Xu等人[73]提出一种基于深度学习语义分割的像素级变化检测和对象级变化检测相结合的方法。针对像素级和目标级变化检测方法中存在的大量“椒盐”现象和虚假检测问题,结合高分辨率遥感图像的多维特征,使用随机森林分类器进行分类,得到像素级变化检测结果。解决了图像分割过程中繁琐的问题。
3.2.2 中间融合Feature Level
通过文献[74]构建复杂的集合,将多个低级图像特征与来自对象检测器和场景分类器的高级上下文相结合,但是其性能很容易停滞不前。例如:HyperDense-Net[75]提出一种三维全卷积神经网络,使用MRI(magnetic resonance imaging)核磁共振T1加权成像图(T1-weighted image)和T2 加权成像图结合去改进分割效果,创新使用了densenet 的密集连接用于多模态图像融合。与早期/晚期融合相比,这显著提高了学习表示能力。
使用深度学习模型处理点云数据的一种常见方法是:首先将原始点云数据转换为体积表示,即三维网格[76-77]。然而,这种方法通常会引入量化伪影和过多的内存使用,从而难以捕获高分辨率或细粒度特征。一类几何深度学习方法试图通过将形状嵌入具有平移不变结构的域来撤回卷积运算。几何生成模型试图将自动编码器、变分自动编码器(variational autoencoder,VAE)[78]和生成对抗网络(generative adversarial network,GAN)[79]等模型推广到Non-Euclidean环境。这两种设置之间的根本区别之一是输入和输出顶点之间缺乏规范顺序,因此需要解决输入-输出对应问题。对于点云数据提出了多种生成架构,此类方法都是对抽象的特征进行融合,也是使用最多的方法。
3.2.3 决策融合Decision Level
实际场景中会出现光照的变化、实体对象的遮挡[80]、实体对象与场景背景颜色相似等问题,会造成摄像头的视频分析出现大量的实体对象计算错误和误分类问题。所以单纯凭借视频或照片的处理模型无法做到对场景的增强现实(augmented reality)[81]。同时针对检测物理对象(包括表面和特定场景空间内的单个物体),单纯凭借图片或视频处理技术也是难以做到的。
而多元感知数据融合[82]应用效果方面:利用计算机图像处理技术可以对不清晰的图像进行去噪、锐化等处理[83];利用点云表示可以保留三维空间中原始的几何信息,不进行离散化,同时也可以表示空间分辨率、点位精度、表面法向量等信息;物体的空间轮廓和具体位置,物体距离摄像机的距离也是可知的。然而,由于二维和三维数据生活在不同的空间,因此融合具有挑战性[84]。虽然有PointNet[85-86],这种端到端的深度神经网络,可以直接从点云学习到逐点特征以进行分割和分类任务,也已被证明对从激光雷达获得的密集点云非常有效。但它们对稀疏雷达点云的效果却不如BEV 或文献[87]。同时聚合在不同时间戳中获得的多个雷达读数有助于在点云中提供更多的点,但这些点并不能很好地表示对象的形状和大小。相机难以捕捉细粒度的3D 信息,而激光雷达在远距离提供非常稀疏的观测[88]。本小节对当前比较流行和经典的模型识别和融合流程进行了汇总,如图8所示。
图8 比较流行和经典的模型识别和融合流程进行了汇总示意图Fig.8 Summary of popular and classic model identification and fusion processes
在实际场景识别中,一般使用分割模型对场景图进行分“块”处理进而识别场景内不同实体。然而现有的语义/实例/全景分割模型往往都要考虑类别信息,这导致在此类图像编辑场景中出现了一些不可避免的问题,如图9 所示[89]:类别的歧义性导致模型对同一个“块”有两种解读,例如桌子和椅子,沙发和床。同时,会使得网络无法预测出训练阶段标注的类别,缺少一定的泛化能力,例如卷发梳、笔和电话。由于实体是一个很客观的概念,所以一般模型需要做大量的数据人工分析来判断对实体“块”的定义是合理的。
图9 场景种类层概念示意图Fig.9 Schematic diagram of concept of scene category layer
根据当前技术发展,场景划分主要分为聚类和分类两种方法,其中:聚类方法是为了剔除共性实体、分类方法是为了提取特性实体,进而对相似场景、差异场景、陌生场景等进行识别和划分。一般通过深度学习算法,包括卷积网络、残差网络、残差收缩网络[90]等,可以有效地对实体进行分类和聚合,从而分类场景的不同权重,进而分类出不同场景。李飞飞团队[91]的最新研究——PSGNet(physical scene graphs,PSG)网络架构,首先进行特征提取,采用ConvRNN[92]从输入中提取特征进而构建图形,负责优化现有物理场景图(PSG)级别,最后用于端到端训练的图形渲染。其中,利用向量化,在每个池化核相关联的图像区域及其边界上聚合节点统计产生新节点的属性向量,这样便可以直观地表示出真实场景中的物体属性,解决了CNN 在识别物体具体属性方面的缺点。细微到物体表面的纹理都可以利用PSGNet进行识别。Kong 等人[93]为了实现人的感知效果,为三维点云场景提出了一种新的语义图表示法,它捕捉语义信息并建立了语义对象之间的拓扑关系。同时提出了一个有效的网络来估计点云场景之间的图形匹配相似度,该网络可用于循环闭合检测,为场景识别提供研究方向。同时可以利用基于全局描述符的方法,如:SeqLPD[94]和LPD-Net[95]在特征空间和笛卡尔空间中提取特征,融合每个点的邻域特征,并使用NetVLAD 生成全局描述符。上述方法处理了大量的原始点,并且在点云场景旋转时取得了理想的性能。从场景内实体聚类和场景整体分类两方面总结场景种类划分的方法。
聚类(clustering)是按照某个特定标准(如距离、单一特征相似度等)把一个数据集分割成不同的类或簇,使得同一个簇内的对象相似性尽可能大,不在同一个簇中的对象的差异性尽可能大;聚类后同一类的对象尽可能聚集到一起,不同类对象尽量分离。原始知识从多个维度视图进行语义聚类,例如位置等知识视图是第一级别区分生成的,表示“集群类型”。总之,形状和内容是聚类的区分视图,通过收集每个视图中的聚类信息,形成语义表示。
聚类的判定方法分为很多种,例如one-hot 编码聚类方法。在不考虑特征语义的情况下,把所有区分类别的特征进行one-hot 编码,然后进行聚类降维。这种方法的缺点是:如果特征的类别取值太多,one-hot编码后的特征维度会过高,降维之后也会丢失大量的信息。针对此缺点,Xiao 等人[96]提出多视图聚类框架,该框架提供一种新的无监督方法,利用聚类的隶属粘合度(即概率分布)来识别实体和关系。
对于实体检索任务,可以将知识元素(即实体/关系)和文本描述联合嵌入到同一语义空间中。给定一个作为单词序列的查询,可以通过语义匹配来预测相应的实体。解决了主要的知识嵌入方法采用几何翻译来设计评分函数问题;解决了部分对于自然语言处理领域来说弱语义的问题。但是对于细粒度的异质性信息而言,对用户交互意图进行编码的过程中几乎没有被利用。本章节列举了三种聚类相似度评估分类和10 种算法,如表2所示。
表2 聚类相似度度量方法对比表Table 2 Comparison of clustering similarity measurement methods
深度学习可以在图像中提取高级特征,它的模型在处理图像、视频、遥感等任务中取得了惊人的进展。在此之后,研究人员提出了一些基于深度学习的场景分类算法,如基于CNN 的方法和基于GAN 的方法。随着k均值聚类算法、主成分分析和稀疏编码技术的成熟,计算机可以自动从未标记图像中学习特征,由此出现了大量基于无监督学习的场景分类方法,并在场景分类方面取得了实质性进展。然而,这些无监督学习方法不能充分利用数据类信息[97]。深度学习理论的进步以及多模态数据和并行计算资源的增加,有效地解决了此问题的部分难点。
从细粒度图像分类的角度思考场景间相似性和场景内差异性,针对图像细粒度分类的技术在场景分类上有效果的提升,如Bilinear CNN。场景分类和图像分类既有同一性又有差异,例如:细粒度实体分类和细粒度场景分类任务有相当多的相似性,因此可以比较的实际是物体分类、场景分类等概念,而细粒度则不在讨论维度上。在场景分类中,场景由实体,实体布局,背景(墙壁、装饰等)和实体之间的关系等综合而成,是十分抽象的概念。另外场景的场景间相似性和场景内差异性也不等同于细粒度中的情形,其中可能涉及到空间布局,尺度和物体的种类等因素。
除了实体、关系和事件等元素的定位之外,场景分类应用需要对更加复杂的符号知识定位,这些知识由多个事件组成,相互之间具有密切关系。
这些多重关系事件很难用单一或复杂神经网络实现精准识别和表达,需依靠外部知识库的强化补充或融合,使用多模态知识图谱作为外部知识库表达不同场景,用其中一个或多个子图表达由多实体及其关系组成个单一或多个事件,可以增强场景细粒度表达和场景知识复杂性表达。多模态知识图谱基于传统知识图谱构建了多种模态(例如视觉模态)下的实体、实体关系、场景事件。场景与多模态知识图谱融合做场景分类可以使得网络预测出训练阶段标注的类别,增强一定的泛化能力。
4.2.1 基于场景静态元素抽取的分类
场景元素抽取就是场景知识的获取,是将场景信息转化为计算机理解的知识,比较普遍的任务是VAQ[98]、NLVR[99]等。其中,事件关系抽取是信息抽取中较难的任务,MMKG 可以通过提供视觉特征使得MNER(multimodal entity recognition)附带图像信息用于实体识别。但是现实情况下大部分实体存在多种不同名称,并且一种名称可能对应多种实体,多模式实体链接(multimodal entity linking,MEL)可以解决此类问题的部分难点[100]。其使用传统文本和场景视觉数据,将简单文本中不确定提及信息、场景实体特征转换后的信息连接到多模态知识图谱中的实体(节点),成为研究热门。且越来越多的工作更倾向使用多模态知识图谱作为场景或链接的知识库。但是MNER 对于文本与图片无关的情况可能没有办法处理,没法将表面不相关或关联性复杂的链接数据达到相互回归的状态,这样很难做到多模态知识图谱的实体节点与场景事件的高切合度融合,难以做到多场景的高区分度分类任务。
通过利用相关文章中的背景知识来描述与图像相关的命名实体、实体关系和事件是解决文本实体和其对应视觉对象embedding 尽量靠近的办法,通过此方法,可以侧面描述场景非实体的事件发生情况,将场景知识有效连接到多模态知识图谱,将一个事件分类为不同的场景类别,即MMKG 中不同粒度的概念。场景分类也可以看成是一种特殊的链接预测任务,预测实体、实体关系和场景事件对应的概念。在多模态知识图谱层将场景进行分类有诸多方法,例如Zhao 等人[101]构建了一个多模态知识图谱,将视觉对象与命名实体相关联,从网络收集的外部知识中同时建立实体之间的关系,将得到的文本实体和视觉目标的嵌入映射到同一个表示空间中,并且进行训练保证文本实体和其对应的视觉对象的嵌入尽量靠近。利用此方法,可以有效地对低区分度实体的多场景进行分类。如图10所示。不同场景存在相同或相似实体集合,通过“工作装、多人工作”等多模态综合的事件信息,可以进行有效的场景区分。
图10 场景识别融合多模态知识图谱示意图Fig.10 Schematic diagram of scene recognition fusion multimodal knowledge graph
图片的实体抽取和自然语言的语义抽取是基于时间点的任务,任务涉及对象通常定格在某个瞬间,具有实体不动性、实体关系复杂程度低、与场景关联性高等特性。而事件的抽取基于时间段,其具有实体活动范围大、流动性高、实体与实体间的关系随时间变化而变化等诸多增加场景分析和抽取难度的特性。视觉常识生成任务比看图说话要更难,因为需要常识推理来预测给定图像之前或之后的事件。但对于场景分类等业务模型,常识一旦生成,可增强场景区分度,并极大增加场景细粒度分类准确率,是一种针对场景分类任务的有效区分数据类型。Xing等人[102]提出了一个知识增强的多模态BART(KM-BART)模型,这是一种基于Transformer的seq2seq 模型,能够从图像和文本的多模态输入中推理常识。特别是基于知识的常识生成(sense generation of knowledge,KCG)的预训练任务通过利用在外部预训练大型语言模型中的常识知识,提高了VCG(visual common sense generation)任务的模型性能,利用外部常识数据增强场景差异和单场景细粒度,改善了场景分类领域技术。
4.2.2 基于场景时序性元素分类
多模态知识图谱的节点是偏静态描述的实体,而场景的事件偏动态。与实体相比,场景事件能够更加清晰、精确表示发生的各种事实信息,从而让精准化对时间进行分类。若机器能够接近于人脑知识结构体系的方式来处理知识和进行场景分类,需要机器更好地理解复杂场景下的具体问题,相较于改变抽取任务和识别任务进而很好地分析场景事件,改变知识图谱的存储结构更为稳妥,用多模态知识去表示时间段的事件问题,是值得研究的。
基于时间段的事件抽取涉及三个关键对象:实体、触发器、触发参数。如图10 所示,比如,场景描述:“我坐在椅子上,旁边有人来送文件”。我、桌子、凳子等物品就是此时间段内出现的实体,办公室就是此事件发生时候的场景所在地,动词“坐”就是此时间段内实体触发的触发器,触发参数即为“送、拿着”等,是状态词。通过视觉的实体识别,实体位置识别、实体关系识别等进而推理出事件,对事件进行分类即是对场景进行分类。但动态运动过程难以表达,在场景事件记录融合中,Long等人[103]利用隐式特征空间中的交互式消息传播动态集成视觉和运动学信息。所考虑的多模态输入数据包含了视频和运动学序列,并且在提取embedding后建立成一个包含三种关系的知识图谱,然后用KG embedding中GNN 的方法RGCN 来编码图结构信息,之后通过全连接网络实现手势分类任务。
另外一种有效方法就是结合外部知识图谱,即融合常识推理,也就是基于对世界的一般理解来关联相似实体和推断相似关系的能力。Kan 等人[104]提出了融合常识知识的SGG 框架,用于零样本关系预测。整个模型中的核心部分就是一个新的图挖掘模块来模拟外部常识知识图谱中实体周围的邻域和路径信息,并将它们集成到最先进的SGG 框架中。解决了由于缺乏常识推理,即关联相似实体并根据对世界的一般理解推断相似关系的能力不足问题,其将多模态知识图谱和外部常识的高匹配度融合,有效地模仿了人类大脑区分不同场景的思维流程。当场景知识、事件充分分析后,MMKG构建需要将普通KG中的符号知识(包括实体、概念、关系等)与图像关联起来。MMKG的构建主要有两种方式:即在图像上标注KG 中的符号:在图像上标注KG 中的对应符号。但此类方法工作量大,知识存储在多模态知识图谱不能进行有效的泛化。为解决此类问题,Hong等人[105]提出了一种新颖的语言和视觉实体关系图,用于对文本和视觉之间的模态间关系以及视觉实体之间的模态内关系进行建模,利用目标和方向链接这两个知识图谱,进行模型构建。提出了一种消息传递算法,用于在图中的语言元素和视觉实体之间传播信息,然后将其结合起来确定下一步要采取的行动。在真实场景中,优化了正确感知环境能力,增强了智能体感知场景、理解场景并分类进而解释复杂指令的能力。
在处理或构建预测场景事件类型中的多模态知识图谱时,可通过图像处理模型将实体转化为节点参数,将触发器解释为节点的连线即关系,而节点参数可以解释为实体的属性或者状态。一个实体可以有多个状态和多个连接其他实体的关系,一个状态可以有与不同实体相连的多关系。但是,在场景实体不变的情况下,实体的状态所连接的关系网络不再是趋于分类,而是趋于回归状态。这就是通过预测事件类型进而分类场景。
本文引入了3D实时场景图作为可操作场景空间感知的统一表示,深刻综述综合场景知识表达场景思想概念。本综述展现了基于多模态知识图谱的3D场景识别与表达方法的思想技术流程和技术可行性分析,并讨论了它的几个应用,包括规划任务、人机交互、多场景识别、预测等。首先,第1章深刻阐述了特征知识的存储、迁移和匹配的研究问题。为了使3D场景能快速实时构建,使用多模态知识图谱作为对象特征的存储数据库。对实体特征之间的复杂关系、场景内实体知识表达的重复利用性、场景知识的存储再表达等关键技术进行了技术综述和可行性分析。其次,第2章分析了用于处理三维点云和视频的深度学习方法构建场景图实体特征与实体关系。对当前处理多模态数据网络、实体识别、位置分析等先进模型进行可行性分析与技术对比;对三种数据融合方式进行了详细的思想阐述,对当前优秀模型进行了技术分析和对比。最后,通过实体聚类、场景分类两大步骤为实际场景识别工作的分类难点做出先进技术综述和分析。通过小实体聚类和大场景分类两个工作,表述了剔除共性实体、提取特性实体的工作性质。进而详细展示了对相似场景、差异场景、陌生场景等进行识别和划分的工作特点和技术难点。
当前场景识别领域还有几个问题值得研究:
首先,特大量特征知识的存储、迁移和匹配问题,值得进一步研究。当前场景识别的技术发展需要更多的研究来扩大场景识别的覆盖范围,进而引申出特大量特征处理技术。例如,通过开发可以从数据推断其他节点属性的算法(例如,对象的材质类型和启示),或者为不同的环境(例如,室外)创建新的节点类型。同时,知识的表示与符号机器学习的优劣也是促进场景识别技术发展的关键。在KR中,知识是指以某种结构化的方式表示的概念、事件和过程。在KR中限定了范围和结构,而不是人们日常生活中感官所感受和体现的。只有经过计算机编码的知识才能成为KR中的知识。但是,这种黑盒处理方式并不能有效地处理知识的迁移和异设备公用问题。将知识收集、处理、展示等过程可视化,是当前场景识别领域亟待解决的问题。仅停留在黑盒模型处理结构化数据是不能做到知识的云端存储、边端应用、终端显示等先进技术要求和应用的。
第二,在场景识别中,在没有良好先验知识的情况下,无法很好地预测。仅停留在公开数据集是无法做到模型随着知识更新而更新的,因为公开数据集无法做到随着时间的更新而进行更新。目前,知识图谱技术和公开数据集并不能覆盖现实世界的所有知识,所以推理和补全就成为其核心任务。对于其推理关系涉及实体的位置,可以将其分为转导推理和归纳推理,在场景识别任务中,需要两者相互结合对场景的构建和识别做出基于知识基础的推理作用。即认知作用。将知识图谱上升到认知图谱是解决无良好先验知识、无高时序性知识的优秀方法。认知图谱从多种心理学、人类历史等方面汲取经验,结合多模态知识图谱、强化学习、持续学习等关键技术,建立稳定推理和表达的有效机制,让知识能够被计算机理解和运用,实现从感知到认知的突破。解决推理、规划、联想、创作等复杂的认知智能化任务。同时,在场景图与知识图谱之间找到可靠的对应关系是计算机视觉未来发展的一项重要任务。由于描述符的限制,原始匹配常常被大多数离群值所污染,算法给出的匹配结果可能会在具有相似特征的图像中进行交叉交换。当今学术界也在寻找一种可解释的人工智能技术来解决此类问题,例如可解释机器学习、符号学习、知识学习等。
第三,能否设计分布式机器人共享云端知识来应对不同场景。现实生活更多的图结构数据给与了研究者们对于可解释机器学习任务的部分灵感,图的结构是十分不规则的,可以认为是无限维度的一种数据,所以它没有平移不变性。节点的周围结构具有独特性质。使用这类图数据可以高效且准确地表示知识,GNN、GCN等基于图结构的神经网络模型诞生于此。这些网络可以抽取图结构化数据的基础知识并对此充分理解,可用于更准确地表示复杂概念。这可能包括第三维度很重要的分子或网络,适用于场景理解和构建任务。同时,由于图结构的高纬度性、节点高关联性、复杂关系表达等优点,可以作为异构机器人共享云端数据的知识载体。结合云端海量先验知识和终端机器人的少量识别即可做到场景识别的高准确率识别、低延时效果。