1.本公开涉及计算机技术领域,尤其涉及人工智能和计算机视觉技术。
背景技术:
2.视觉问题回答(visual question answering,vqa)任务是指:通过给定的图片信息来回答针对图片内容的一系列自然语言形式的问题。
技术实现要素:
3.本公开提供了一种用于提高答案准确性的视觉问题回答的实现方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种视觉问题回答的实现方法,包括:
5.获取指定的目标图片及针对该目标图片的目标问题;
6.将所述目标问题转换为问题特征;
7.对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征;
8.将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征;
9.基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。。
10.根据本公开的另一方面,提供了一种视觉问题回答的实现装置,包括:
11.图片问题获取单元,用于获取指定的目标图片及针对该目标图片的目标问题;
12.问题转换单元,用于将所述目标问题转换为问题特征;
13.特征提取单元,用于对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征;
14.特征融合单元,用于将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征;
15.答案预测单元,用于基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。
16.根据本公开的另一方面,提供了一种电子设备,包括:
17.至少一个处理器;以及
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一所述的视觉问题回答的实现方法。
20.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述任一所述的视觉问题回答的实现方法。
21.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一所述的视觉问题回答的实现方法。
22.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.附图用于更好地理解本方案,不构成对本公开的限定。其中:
24.图1是根据本公开提供的视觉问题回答的实现方法的第一实施例的示意图;
25.图2是本公开中使用的lstm网络的一种结构示意图;
26.图3是根据本公开提供的视觉问题回答的实现方法的第二实施例的示意图;
27.图4是本公开中使用的ggnn双塔编码器的第一实施例的示意图;
28.图5是本公开中使用的ggnn双塔编码器的第二实施例的示意图;
29.图6是本公开使用的gru网络的一种结构示意图;
30.图7是根据本公开提供的视觉问题回答的实现方法的第三实施例的示意图;
31.图8是本公开中获取视觉问题答案的一种示意图;
32.图9是根据本公开提供的视觉问题回答的实现方法的一种具体实例的示意图;
33.图10是根据本公开提供的视觉问题回答的实现装置的第一实施例的示意图;
34.图11是用来实现本公开实施例的视觉问题回答的实现方法的电子设备的框图。
具体实施方式
35.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
36.为了提高视觉问题回答的答案准确性,本公开提供了一种视觉问题回答的实现方法、装置、电子设备及存储介质。下面首先对本公开提供的一种视觉问题的实现方法进行说明。
37.参见图1,图1是根据本公开提供的视觉问题回答的实现方法的第一实施例的示意图,本公开实施例中,上述方法可以包括以下步骤:
38.步骤s110,获取指定的目标图片及针对该目标图片的目标问题。
39.本公开实施例中,上述目标图片及针对目标图片的目标问题,均可由用户任意指定,本公开中对此不作具体限定。
40.步骤s120,将所述目标问题转换为问题特征。
41.在本公开的一种实施例中,可以使用预设的问题编码模型来将目标问题转换为问题特征。作为一种具体实施方式,可以是将目标问题输入预设的问题编码模型中,由预设的问题编码模型将目标问题的文本转换为向量作为问题特征。这样,可以提高目标问题的问题特征的获取效率。
42.在本公开的一种实施例中,上述问题编码模型可以包含词嵌入层以及lstm网络层等。作为一种具体实施方式,可以使用glove(global vectors for word representation,
全局词向量)预训练词向量数据集,该词向量数据集中可以包含文字与向量的对应关系。将上述目标问题输入至词嵌入层后,该词嵌入层可以基于上述词向量数据集,将目标问题的文本转化为词向量。之后可以向得到的词向量中加入位置编码矩阵得到待提取的目标词向量序列,上述位置编码矩阵可以表征目标问题中的各文字对应的词向量在整个目标词向量序列中的位置。在获取上述待提取的目标词向量序列后,可以将其输入至lstm网络中,并由lstm网络提取相应的问题特征。如上所述,上述问题特征可以是以向量形式表达,例如q=r
dim
,其中,dim可以表示问题向量的输出维度。
43.如图2所示,图2是本公开实施例中使用的lstm网络的一种结构示意图。
44.lstm网络(long short-term memory,长短期记忆网络)是一种长短期记忆rnn网络(recurrent neural network,循环神经网络),其通过记忆门、遗忘门结构有效保留文字序列中的长效信息和短效信息,将问题词向量序列抽象为句向量。
45.图2中,
⊙
是hadamard product,也就是将矩阵中对应的元素相乘,因此要求两个相乘矩阵是同型的。+则代表进行矩阵加法。zf,zi,zo是由拼接向量乘以权重矩阵之后,再通过一个sigmoid激活函数转换成0到1之间的数值,来作为一种门控状态。而z则是将结果通过一个tanh激活函数将转换成-1到1之间的值。
46.lstm内部主要有三个阶段:
47.1.忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会“忘记不重要的,记住重要的”。
48.具体来说是通过计算得到的zf(f表示forget)来作为忘记门控,来控制上一个状态的c
t-1
哪些需要留哪些需要忘。
49.2.选择记忆阶段。这个阶段将这个阶段的输入有选择性地进行“记忆”。主要是会对输入x
t
(待提取的目标词向量序列)进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。当前的输入内容由前面计算得到的z表示。而选择的门控信号则是由zi(i代表information)来进行控制。
50.将上面两步得到的结果相加,即可得到传输给下一个状态的c
t
。也就是图2中的公式1。
51.3.输出阶段。这个阶段将决定哪些将会被当成当前状态的输出。主要是通过zo来进行控制的。并且还对上一阶段得到的co进行了放缩(通过一个tanh激活函数进行变化,图2中的公式2)。
52.与普通rnn类似,输出y
t
(问题特征)往往最终也是通过h
t
变化得到(图2中的公式3)。
53.如图1所示,步骤s130,对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征。
54.本公开实施例中,也可以用预设的模型对目标图片分别进行物体特征提取和关系特征提取。
55.步骤s140,将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征。
56.本公开实施例中,在获取上述目标物体的属性特征时,可以是获取各个目标物体预设的目标属性文字,并将各个目标属性文字分别转换为信息词向量,作为各个目标物体
的属性特征。
57.本公开实施例中,上述预设的目标属性文字可以包括物体各属性对应的文字,上述物体属性可以包括材质、颜色、形状等等。材质属性对应的文字可是表示材质的金属、塑料、布等等;颜色属性对应的文字则可以是表示颜色的红、紫、蓝等等;形状对应的预设文字则可以是标识形状的正方形、圆形、菱形等等。
58.本公开实施例中,可以采用预训练的目标识别模型对目标图片中各物体的各属性(如颜色、形状)进行识别,从而得到各物体的目标属性,进而得到目标属性文字。
59.本公开实施例中,也可以是基于上述glove预训练得到的词向量数据集,对上述目标属性文字进行词嵌入,得到各个目标物体的各个属性特征。
60.通过提取目标图片中各物体的属性特征,并进行融合,可以更加全面的得到目标图片的特征,使得视觉问题回答的答案更加准确,并且可以支持更多种的问题种类。
61.为了便于说明,本公开中,可以定义l为所有属性的类别(比如材质、颜色、形状等)。对于每一个物体ni,可以定义一组l+1个属性变量其中可以表示物体的本身名称的词向量,而可以表示物体第l个属性对应的信息词向量。
62.步骤s150,基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。
63.本公开实施例中,也可以使用相应的模型来基于问题特征和目标图片的综合特征进行答案预测。
64.本公开实施例提供的视觉问题回答的实现方法,获取指定的目标图片以及针对该目标图片的目标问题后,对于目标问题,提取其问题特征;对于目标图片,分别提取其物体特征、关系特征,将物体特征、关系特征与目标物体的属性特征进行融合,得到目标图片的综合特征,并基于问题特征和目标图片的综合特征进行答案预测,得到目标问题的答案。应用本公开实施例,针对物体信息和物间关系信息分别提取,平衡了对物体信息和物间关系信息的关注度,并通过结合物体属性信息,使得获取的融合信息更加完整全面,从而使得基于融合信息得到的视觉问题答案更加准确。
65.在本公开的一种实施例中,在对目标图片进行物体特征提取和关系特征提取时,可以先对目标图片进行特征识别,基于识别结果,生成包含目标物体以及目标关联关系的有向图,作为场景图,并基于所述场景图,分别提取出物体特征和关系特征。
66.场景图是一种可解释的、结构化的场景表示,它总结了场景中的实体以及它们之间的合理关系。本公开实施例中,在生成场景图时,可以使用rpn网络对目标图片进行识别,得到目标图片中各个物体的建议框,并使用rnn网络进行推理,基于上述建议框对目标图片进行场景图构建。当然,本公开中也可以采用其他场景图构建方法获取场景图。
67.由于场景图中包含了物体以及物体之间的关系,因此,可以针对该场景图进行特征提取,来分别得到目标图片中的物体特征以及关系特征。
68.而基于场景图分别进行物体特征提取和关系特征提取,可以降低目标图片中背景图像对提取结果的影响,使得提取结果更加准确。
69.作为一种具体实施方式,如图3所示,图1中的步骤s130具体可以包括以下步骤:
70.步骤s131,将场景图转换为物体图和关系图;其中,物体图为:以各个目标物体为
节点、各个目标关联关系为边的有向图;关系图为:以各个目标关联关系为节点、各个目标物体为边的有向图。
71.如上所述,场景图中包含了目标图片中的物体以及各物体之间的关系,因此可以将上述场景图转换为物体图和关系图,并针对物体图和关系图分别进行物体特征和关系特征的提取。
72.本公开实施例中,物体图中的每一个节点可以表示一个在目标图片中真实存在的物体,而每一条边则可以表示两物体之间关系。本公开实施例中,可以将物体图(object-significant graph)表示为g
obj
,同时可以定义n为节点集合,定义e作为边集合。对于ni,nj∈n,ek∈e,《n
i-e
k-nj》表示一个关系对,其中关系边ek是物体ni,nj之间的关系。本公开实施例中,物体图中边为有向边,且不具有对称性。即如果《n
i-e
k-nj》是一个有效关系对,但《n
j-e
k-ni》不一定存在。同时,ni,nj之间可存在多条关系边。
73.本公开实施例中,关系图中的每个节点可以表示目标图片中物体与物体之间的关系,而每条边表示两种关系之间共享的物体。本公开实施例中,可以将关系图(relation-significant graph)定义为g
rel
,关系图结构与物体图完全相反,其中,对于ei,ej∈e,nk∈n,《e
i-n
k-ej》表示关系ei与ej之间具有共享物体nk。本公开实施例中,关系图具有对称性。
74.步骤s132,基于所述物体图提取物体特征,以及基于所述关系图提取关系特征。
75.本公开实施例中,通过针对物体图和关系图分别进行物体特征和关系特征的提取,使得两种特征的提取更加准确,且有效平衡物体信息和物间关系信息的关注度,进一步提高视觉问题回答的准确度。
76.相应的,如图3所示,图1中的步骤s140就可以细化为以下步骤:
77.步骤s141,将所述物体特征与各个目标物体的属性特征进行融合,得到物体融合特征;以及将所述关系特征与各个关系的原始特征进行融合,得到关系融合特征。
78.本公开实施例中,上述关系的原始特征可以是基于上述glove预训练词向量数据集,对关系的文字(如穿戴、吃、左边、上边等等)进行词嵌入,得到的关系词向量。上述关系的文字可以在场景图转换时得到。
79.步骤s142,将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。
80.本公开实施例中,通过将物体特征、关系特征以及物体属性特征、关系原始特征进行融合,可以使得融合特征更加准确。
81.如上所述,本公开中,在提取上述物体特征和关系特征时,可以使用模型进行提取。作为本公开实施例的一种具体实施方式,可以使用预设的双塔ggnn编码器来基于上述场景图,分别提取出物体特征和关系特征。
82.如图4所示,上述双塔ggnn编码器可以包括场景图转换模块410、第一ggnn网络420和第二ggnn网络430、第一融合模块440、第二融合模块450和第三融合模块460。
83.具体的,作为本公开实施例的一种具体实施方式,上述基于所述场景图,分别提取出物体特征和关系特征的步骤就可以包括:
84.将所述场景图输入预设的双塔ggnn编码器;
85.由所述场景图转换模块410,将输入的场景图转换为物体图和关系图,分别输入至所述第一ggnn网络420和第二ggnn网络430。
86.由所述第一ggnn网络420对物体图进行特征提取,得到物体特征,输出至第一融合
模块440;由所述第二ggnn网络430对关系图进行特征提取,得到关系特征,输出至第二融合模块450。
87.本公开实施例中,上述第一ggnn网络用于提取物体特征,因此第一ggnn网络也可以称作物体编码器,而上述第二ggnn网络是对关系图提取关系特征,因此,第二ggnn网络也可以称作关系编码器。
88.所述将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征的步骤,可以包括:
89.由所述第一融合模块440,将第一ggnn网络420输出的物体特征与各个目标物体的属性特征进行融合,得到物体融合特征输出至第三融合模块460;由所述第二融合模块450,将第二ggnn网络430输出的关系特征与各个关系的原始特征进行融合,得到关系融合特征输出至第三融合模块460;
90.由第三融合模块460,将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。
91.本公开实施例中,通过分别使用物体编码器和关系编码器提取物体特征和关系特征,可以较好的平衡物体信息及物间关系信息的关注度,使得得到的综合特征包含更加全面具体的信息。
92.本公开实施例中,上述双塔ggnn是一种门控图神经网络(gated graph neural networks)。gnn网络是一种直接作用于图结构(如上述物体图、关系图)上的神经网络结构,其目的可以理解为是利用已标记的节点来预测未标记的节点的标签。gnn网络在针对一个节点进行计算时,可以是向节点周围的节点以及边进行学习,得到该节点周围的节点以及边对该节点的影响,并基于该影响来更新该节点的隐藏状态。节点的隐藏状态可以表征节点在某一时刻的状态,不同时间节点的隐藏状态可以不同。
93.如图5所示,在本公开的一种实施例中,图4中的第一ggnn网络420,可以包含:第一数据转换模块421、第一信息传递模块422和第一隐藏状态图生成模块423;
94.所述第一数据转换模块421,用于将输入的物体图转换为第一数据组合;所述第一数据组合中,可以包含:物体图中所有物体节点的本身特征向量、物体图中所有边的本身特征向量、物体图中入射边的邻接矩阵和出射边的邻接矩阵。
95.作为一种具体实施方式,上述第一数据转换模块421可以将输入的场景图转换成一组数据组合(a
in
,a
out
,n,e),其中,n表示每个节点本身特征向量的集合,e表示指代物体关系的有向关系边的特征向量的集合,a
in
表示入射边的邻接矩阵,a
out
表示出射边的邻接矩阵。
96.本公开实施例中,可以使用标记在ggnn编码器第t个时间步下ni节点的隐藏状态(hidden state)。当t=0时,可以使用ni的glove词嵌入生成的词向量与0补齐作为的初始值:
[0097][0098]
入射边信息和出射边信息可以在a
in
,a
out
中被检索。
[0099]
所述第一信息传递模块422,用于在任一时间步中,针对物体图中的待更新物体节点,基于所述物体图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新物体节点的第
一入射边信息增益和第一出射边信息增益;基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述参考特征及该待更新物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态。
[0100]
本公开实施例中,上述第一信息传递模块422在针对待更新物体节点进行计算时,可以学习该物体节点的周围节点及边的表征,从而更新该节点的隐藏状态,在计算过程中增强了节点与周围节点及边的联系,可以获取节点更加完整的信息,也使得获取到的物体特征包含更完整的信息。
[0101]
作为本公开实施例的一种具体实施方式,上述第一信息传递模块422可以包括第一gru网络和第二gru网络。
[0102]
gru是rnn网络的一个变种,其是一种双向网络,效果与lstm相似,且更容易进行训练,该gru网络可以对节点的隐藏状态进行更新。如图6所示,图6是本公开实施例中使用的gru网络的一种结构示意图。
[0103]
gru使用门控r进行重置,只使用一个门控z来同时进行遗忘和选择记忆,而lstm需要多个,这减小了训练计算成本,其具体公式如下:
[0104]
选择性遗忘门:(1-z)
⊙h(t-1)
[0105]
选择性记忆门:z
⊙
h'
[0106]
更新后的隐藏层:h
t
=(1-z)
⊙h(t-1)
+z
⊙
h'
[0107]
上述公式中,z是预先计算得到的、取值范围为0~1之间的值,可以作为门控。h
(t-1)
则是节点上一时间步的隐藏状态,h
t
则是节点更新后的隐藏状态,h'则是节点的原始特征,图6中的为计算过程中的中间量,可以是对h
(t-1)
进行重置后与输入数据拼接得到。
[0108]
本公开实施例中,所述针对物体图中的待更新物体节点,基于所述物体图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新物体节点的第一入射边信息增益和第一出射边信息增益,包括:
[0109]
将所述待更新物体节点上一时间步的隐藏状态、所述物体图中入射边的邻接矩阵和出射边的邻接矩阵输入所述第一gru网络,获得所述待更新物体节点的第一入射边信息增益和第一出射边信息增益。
[0110]
第一gru网络在针对一个待更新节点进行计算时,可以计算出待更新节点周围的节点以及边对待更新节点的影响。
[0111]
以上述关系对《n
i-e
k-nj》为例,节点ni的周围节点就包括节点nj,相连的边则是ek,边的词向量状态ek和邻接节点nj的隐藏状态hj可以被当做长度为2的序列共同输入到上述第一gru网络中。
[0112]
同时,待更新节点ni的隐藏状态hi也会被输入第一gru网络作为其网络的初始隐藏状态。第一gru网络的输出既是这一组关系在待更新节点的隐藏状态hi上的信息更新,同时也是ek,nj中和ni相关的关键信息精炼。而针对待更新物体节点的所有邻接节点和关联边,第一gru网络的输出总和为ni节点在所有的邻接节点和关联边的全部信息收益。具体的第一gru网络的公式如下:
[0113][0114][0115]
其中efi(a
in
)为ni节点的入射边信息增益,而efi(a
out
)为ni节点的出射边的信息增益。
[0116]
本公开实施例中,上述第一gru网络可以计算待更新节点的邻接结点与关联边对其的影响(信息增益),即将其他节点及边的信息流向待更新节点,因此,上述第一gru网络也可以被称为能流模块(ef)。
[0117]
相应的,所述基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述参考特征及该待更新物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态,可以包括:
[0118]
将所述待更新物体节点上一时间步的隐藏状态、第一入射边信息增益和第一出射边信息增益输入至所述第二gru网络,以使所述第二gru网络基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述参考特征及该待更新物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态。
[0119]
与上述第一gru网络类似,第二gru网络也是一种门控结构。
[0120]
如上所述,能流模块可以分别计算出待更新节点的入射边增益以及出射边增益,因此,将两种增益拼接,就可以得到待更新节点的所有邻接节点以及相连边对待更新节点的影响(增益),如下式:
[0121][0122]
其中表示节点ni从他所有的入射边、出射边以及邻接节点中学到的表征。而ef()则是通过能流模块学习到的信息收益。
[0123]
之后则可以采用上述第二gru网络来组合从周边节点和边学到的信息以及上一个时间步的本身信息,组合结果用于更新节点的隐藏信息:
[0124][0125][0126][0127]
其中uz,ur,w表示可训练的权重矩阵,而b为偏置项。表示时间步t时的更新门(update gate)与重置门(reset gate)。
[0128]
[0129][0130]
其中,u1,u2是线性层的可训练参数,操作符
⊙
表示矩阵按位乘法。是节点ni的更新的隐藏状态。
[0131]
由上可见,上述第一gru网络可以从周边节点和边学到相关信息,而上述第二gru网络,可以组合从周边节点和边学到的信息以及上一个时间步的本身信息,并基于此更新待更新节点的隐藏状态,相当于将周围节点及边的信息传递到了待更新节点,因此第一gru网络和第二gru网络合起来可以被称作传递模块,该传递模块可以包含上述能流模块。
[0132]
可见,使用本公开实施例提供的ggnn网络结构,可以较好地从待更新节点周边节点及边获取信息。
[0133]
所述第一隐藏状态图生成模块423,用于在预设个时间步的迭代之后,针对物体图中的每个物体节点,基于第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,生成物体图对应的第一隐藏状态图,作为物体特征。
[0134]
上述预设时间步的数量可以人为设定。
[0135]
作为一种具体实施方式,所述第一隐藏状态图生成模块423,可以包括:第一mlp网络以及第一全连接网络。
[0136]
所述在预设个时间步的迭代之后,针对物体图中的每个物体节点,基于所述第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,生成物体图对应的第一隐藏状态图,包括:
[0137]
针对物体图中的每个物体节点,将所述第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,输入至所述第一mlp网络,以使所述第一mlp网络生成物体图对应的第一隐藏状态图输入至所述第一全连接网络,以使所述第一全连接网络输出所述第一隐藏状态图。
[0138]
本公开实施例中,可以通过以下公式为节点ni计算gi∈g:
[0139][0140]
其中f为多层感知机网络(multi layer perception,mlp),它接收ni两向量的拼接向量并生成ni的最后表征,即物体从周围物体及关系中学到的表征。这样,进一步增强从物体节点的周围节点及边获取相关信息的能力。
[0141]
由于本公开实施例中,上述ggnn编码器是针对单个节点进行状态更新、计算,因此,可以使用一个全连接层直接将上述待更新物体节点的最后表征输出。
[0142]
针对关系图的关系特征提取与上述物体特征提取过程完全相同,一下只做简单说明,不再赘述。
[0143]
如图5所示,图4中的第二ggnn网络430,包含:第二数据转换模块431、第二信息传递模块432和第二隐藏状态图生成模块433;
[0144]
所述第二数据转换模块431,可以用于将输入的关系图转换为第二数据组合;所述第二数据组合中,可以包含:关系图中所有关系节点的本身特征向量、关系图中所有边的本身特征向量、关系图中入射边的邻接矩阵和出射边的邻接矩阵;
[0145]
所述第二信息传递模块432,用于在任一时间步中,针对关系图中的待更新关系节
点,基于所述关系图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新关系节点的第二入射边信息增益和第二出射边信息增益;基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态;
[0146]
所述第二信息传递模块432,可以包含第三gru网络和第四gru网络;
[0147]
所述针对关系图中的待更新关系节点,基于所述关系图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新关系节点的第二入射边信息增益和第二出射边信息增益,包括:
[0148]
将所述待更新关系节点上一时间步的隐藏状态、所述关系图中入射边的邻接矩阵和出射边的邻接矩阵输入所述第三gru网络,获得所述待更新关系节点的第二入射边信息增益和第二出射边信息增益;
[0149]
所述基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态,包括:
[0150]
将所述待更新关系节点上一时间步的隐藏状态、第二入射边信息增益和第二出射边信息增益输入至所述第四gru网络,以使所述第四gru网络基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态。
[0151]
所述第二隐藏状态图生成模块433,用于在预设个时间步的迭代之后,针对关系图中的每个关系节点,基于第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,生成关系图对应的第二隐藏状态图,作为关系特征。
[0152]
所述第二隐藏状态图生成模块433,可以包括:第二mlp网络以及第二全连接网络;
[0153]
所述在预设个时间步的迭代之后,针对关系图中的每个关系节点,基于第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,生成关系图对应的第二隐藏状态图,包括:
[0154]
针对关系图中的每个关系节点,将所述第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,输入至所述第二mlp网络,以使所述第二mlp网络生成关系图对应的第二隐藏状态图输入至所述第二全连接网络,以使所述第二全连接网络输出所述第二隐藏状态图。
[0155]
上述第二隐藏状态图可以是各关系节点从周围物体和关系学习到的表征,可以记为ge。
[0156]
如上所述,获取上述物体特征以及关系特征后,由所述第一融合模块,将第一ggnn网络输出的物体特征与各个目标物体的属性特征进行融合,得到物体融合特征输出至第三融合模块;由所述第二融合模块,将第二ggnn网络输出的关系特征与各个关系的原始特征进行融合,得到关系融合特征输出至第三融合模块。
[0157]
本公开实施例中,在从双塔ggnn编码器中接收节点与边的表征向量后,可以首先将物体的属性信息融合进场景图的特征矩阵中。对于物体节点的物体特征矩阵gn,以及关
系的关系特征矩阵ge,经过属性融合后的融合特征矩阵fn(物体融合特征),fe(关系融合特征)可以通过以下公式生成:
[0158][0159]
f=[fn,fe]
[0160]
其中为物体节点ni的融合特征。为物体节点ni从ggnn编码器中得到的表征。为物体节点ni的物体属性的词向量。为关系边ej的融合特征。为关系边ej从ggnn编码器中得到的表征。ej是关系边j的原始词向量表征。最终的整体特征矩阵f为fn与fe的拼接,即第三融合模块将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。
[0161]
参见图7,图1中的步骤s150具体可以包括以下步骤:
[0162]
步骤s151,基于所述问题特征和综合特征,计算获得注意力特征;
[0163]
本公开实施例中,在得到综合特征矩阵f后,可以将通过lstm生成的问题特征q与综合特征矩阵f输入到多头注意力层(multi-head attention layer)中。这个神经网络层可以计算出每个特征的打分情况。对所有特征进行加权求和后,就可以得到了从场景图和问题里推理产生的注意力特征r。
[0164]
r=attention(f,q)
[0165]
由于f是将物体融合特征和关系融合特征进行拼接得到的,因此,各上述注意力特征可以包含各物体的注意力特征和各边的注意力特征。
[0166]
步骤s152,将所述注意力特征和问题特征进行融合,得到待预测特征;
[0167]
本步骤中,可以将上述注意力特征r与问题特征进行拼接,得到待预测特征。
[0168]
步骤s153,将所述待预测特征输入预设的预测模型中,得到预测模型从所述目标图片预设的多个候选答案中选择的目标答案,作为目标问题的答案。
[0169]
本公开实施例中,在上述预测模型中,可以采用两层mlp网络作为分类器,为了便于说明,可以将这个网络定义为f(*),*代表的可以是该网络的输入。mlp网络的输入为q和各注意力特征ri的拼接,即上述待预测特征。
[0170][0171]
该公式中,表示最终的推理答案,softmax即对上述两层mlp网络输出的各答案概率进行归一化,而argmax则表示从各答案中选择概率最大的作为最终的目标答案。上述各答案可以包含目标图片中的物体、关系以及物体属性等。
[0172]
这样,通过基于注意力特征和问题特征进行视觉问题回答,进一步提高视觉问题回答准确率,也可支持多种类型视觉问题的回答。
[0173]
如图8所示,在获取目标图片的特征图(物体融合特征和关系融合特征)和问题特征后,可以将目标图片的特征图和问题特征输入至上述第三融合模块,第三融合模块可以对上述特征图与问题特征进行注意力计算,得到注意力特征,并将注意力特征与问题特征
输入至两层mlp网络中,由该mlp网络针对各个注意力特征与问题特征计算各答案概率,并从各答案组成答案列表中,选择概率最大的答案作为最终的答案。
[0174]
如图9所示,图9是使用本公开提供的视觉问题回答的实现方法进行视觉回答的过程示意图。具体可以包括以下步骤:
[0175]
1)、将目标图片输入至场景图生成模块,场景图生成模块可以生成包含目标图片中的各物体和物间关系的场景图。图9所示的场景图中,物体可以包括小孩、三明治以及墨镜,而三者之间的关系则可以是:小孩吃三明治、小孩戴太阳镜、太阳镜在三明治上边。
[0176]
2)、将问题“什么在小孩头上”输入至问题编码器,得到问题特征,并将问题特征输入融合模块以及答案预测模块。
[0177]
3)、将场景图输入双塔ggnn编码器。由物体编码器中的能流模块针对物体图,计算各物体节点的入射边信息增益以及出射边信息增益(物体节点从其他节点及边学到的表征),从而得到各物体特征,并将各物体特征与各物体属性特征进行融合,得到物体融合特征。由关系编码器中的能流模块针对关系图计算各关系节点的入射边信息增益以及出射边信息增益(关系节点从其他节点及边学到的表征),从而得到关系特征,并将关系特征与关系原始特征进行融合,得到关系融合特征。将关系融合特征与物体融合特征进行融合,得到目标图片的综合特征。
[0178]
4)、将目标图片的综合特征输入至融合模块,由融合模块对目标图片的综合特征以及步骤2)中输入的问题特征进行注意力计算,得到注意力特征。
[0179]
5)、将注意力特征输入至答案预测模块,由答案预测模块基于该注意力特征与步骤2)中输入的问题特征进行答案预测,从而得到上述“什么在小孩头上”的答案“墨镜”。
[0180]
本公开实施例中,上述双塔ggnn模型具体的训练过程可以是采用端到端训练,使用的数据集可以是visual genome数据集以及gqa数据集,这两个数据集包含丰富的场景图标注与高质量问答对。上述双塔ggnn模型可以采用50维glove词向量编码,损失函数则可以采用adam函数。
[0181]
由前述可以看出,与现有技术中使用状态机迁移机制进行视觉问题回答造成的应用场景有限、无法有效将物体、物体属性、物间关系三个表征进行有效融合、更倾向物体特征,相对忽视物间关系特征的问题;和使用图神经网络的推理模型造成的无法有效利用物体属性这一表征以及存在更倾向物体特征,相对忽视物间关系特征的问题相比,本公开提供的视觉问题回答的实现方法,采用物体编码器与关系编码器进行物体特征与关系特征的提取,有效平衡了物间关系信息和物体本身信息的关注度,同时,通过使用能流模块,增强节点从周边信息获取相关信息的能力,同时通过显式的属性拼接,有效结合物体本身信息、物间关系信息、物体属性信息这三者信息得到联合表征。
[0182]
本公开提供的视觉问题回答的实现方法可以用于ai助理系统,多模态客服对话,计算机问答系统等等。
[0183]
根据本公开的实施例,本公开还提供了一种视觉问题回答的实现装置,如图10所示,该装置可以包括:
[0184]
图片问题获取单元1010,用于获取指定的目标图片及针对该目标图片的目标问题;
[0185]
问题转换单元1020,用于将所述目标问题转换为问题特征;
[0186]
特征提取单元1030,用于对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征;
[0187]
特征融合单元1040,用于将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征;
[0188]
答案预测单元1050,用于基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。
[0189]
本公开实施例提供的视觉问题回答的实现装置,获取指定的目标图片以及针对该目标图片的目标问题后,对于目标问题,提取其问题特征;对于目标图片,分别提取其物体特征、关系特征,将物体特征、关系特征与目标物体的属性特征进行融合,得到目标图片的综合特征,并基于问题特征和目标图片的综合特征进行答案预测,得到目标问题的答案。应用本公开实施例,针对物体信息和物间关系信息分别提取,平衡了对物体信息和物间关系信息的关注度,并通过结合物体属性信息,使得获取的融合信息更加完整全面,从而使得基于融合信息得到的视觉问题答案更加准确。
[0190]
在本公开一种实施例中,所述特征提取单元1030,还可以用于对目标图片进行特征识别,基于识别结果,生成包含目标物体以及目标关联关系的有向图,作为场景图;
[0191]
基于所述场景图,分别提取出物体特征和关系特征。
[0192]
在本公开一种实施例中,所述特征提取单元1030,具体可以用于将场景图转换为物体图和关系图;其中,物体图为:以各个目标物体为节点、各个目标关联关系为边的有向图;关系图为:以各个目标关联关系为节点、各个目标物体为边的有向图;
[0193]
基于所述物体图提取物体特征,以及基于所述关系图提取关系特征。
[0194]
在本公开一种实施例中,所述特征融合单元1040,可以用于将所述物体特征与各个目标物体的属性特征进行融合,得到物体融合特征;以及将所述关系特征与各个关系的原始特征进行融合,得到关系融合特征;
[0195]
将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。
[0196]
在本公开的一种实施例中,所述特征提取单元1030用于:
[0197]
将所述场景图输入预设的双塔ggnn编码器;所述双塔ggnn编码器包括:场景图转换模块、第一ggnn网络和第二ggnn网络、第一融合模块、第二融合模块和第三融合模块;
[0198]
由所述场景图转换模块,将输入的场景图转换为物体图和关系图,分别输入至所述第一ggnn网络和第二ggnn网络;
[0199]
由所述第一ggnn网络对物体图进行特征提取,得到物体特征,输出至第一融合模块;由所述第二ggnn网络对关系图进行特征提取,得到关系特征,输出至第二融合模块;
[0200]
所述特征融合单元1040,用于:
[0201]
由所述第一融合模块,将第一ggnn网络输出的物体特征与各个目标物体的属性特征进行融合,得到物体融合特征输出至第三融合模块;由所述第二融合模块,将第二ggnn网络输出的关系特征与各个关系的原始特征进行融合,得到关系融合特征输出至第三融合模块;
[0202]
由第三融合模块,将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。
[0203]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提
供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0204]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0205]
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0206]
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0207]
设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0208]
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如视觉问题回答的实现方法。例如,在一些实施例中,视觉问题回答的实现方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的视觉问题回答的实现方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视觉问题回答的实现方法。
[0209]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0210]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0211]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0212]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0213]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0214]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0215]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0216]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种视觉问题回答的实现方法,包括:获取指定的目标图片及针对该目标图片的目标问题;将所述目标问题转换为问题特征;对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征;将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征;基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。2.根据权利要求1所述的方法,其中,所述对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征的步骤,包括:对目标图片进行特征识别,基于识别结果,生成包含目标物体以及目标关联关系的有向图,作为场景图;基于所述场景图,分别提取出物体特征和关系特征。3.根据权利要求2所述的方法,其中,所述基于所述场景图,分别提取出物体特征和关系特征的步骤,包括:将场景图转换为物体图和关系图;其中,物体图为:以各个目标物体为节点、各个目标关联关系为边的有向图;关系图为:以各个目标关联关系为节点、各个目标物体为边的有向图;基于所述物体图提取物体特征,以及基于所述关系图提取关系特征。4.根据权利要求2所述的方法,其中,所述将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征的步骤,包括:将所述物体特征与各个目标物体的属性特征进行融合,得到物体融合特征;以及将所述关系特征与各个关系的原始特征进行融合,得到关系融合特征;将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。5.根据权利要求2所述的方法,其中,所述基于所述场景图,分别提取出物体特征和关系特征的步骤,包括:将所述场景图输入预设的双塔ggnn编码器;所述双塔ggnn编码器包括:场景图转换模块、第一ggnn网络和第二ggnn网络、第一融合模块、第二融合模块和第三融合模块;由所述场景图转换模块,将输入的场景图转换为物体图和关系图,分别输入至所述第一ggnn网络和第二ggnn网络;由所述第一ggnn网络对物体图进行特征提取,得到物体特征,输出至第一融合模块;由所述第二ggnn网络对关系图进行特征提取,得到关系特征,输出至第二融合模块;所述将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征的步骤,包括:由所述第一融合模块,将第一ggnn网络输出的物体特征与各个目标物体的属性特征进行融合,得到物体融合特征输出至第三融合模块;由所述第二融合模块,将第二ggnn网络输出的关系特征与各个关系的原始特征进行融合,得到关系融合特征输出至第三融合模块;由第三融合模块,将物体融合特征与关系融合特征进行融合,得到目标图片的综合特
征。6.根据权利要求5所述的方法,其中,所述第一ggnn网络,包含:第一数据转换模块、第一信息传递模块和第一隐藏状态图生成模块;所述第一数据转换模块,用于将输入的物体图转换为第一数据组合;所述第一数据组合中,包含:物体图中所有物体节点的本身特征向量、物体图中所有边的本身特征向量、物体图中入射边的邻接矩阵和出射边的邻接矩阵;所述第一信息传递模块,用于在任一时间步中,针对物体图中的待更新物体节点,基于所述物体图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新物体节点的第一入射边信息增益和第一出射边信息增益;基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述参考特征及该待更新物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态;所述第一隐藏状态图生成模块,用于在预设个时间步的迭代之后,针对物体图中的每个物体节点,基于第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,生成物体图对应的第一隐藏状态图,作为物体特征;所述第二ggnn网络,包含:第二数据转换模块、第二信息传递模块和第二隐藏状态图生成模块;所述第二数据转换模块,用于将输入的关系图转换为第二数据组合;所述第二数据组合中,包含:关系图中所有关系节点的本身特征向量、关系图中所有边的本身特征向量、关系图中入射边的邻接矩阵和出射边的邻接矩阵;所述第二信息传递模块,用于在任一时间步中,针对关系图中的待更新关系节点,基于所述关系图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新关系节点的第二入射边信息增益和第二出射边信息增益;基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态;所述第二隐藏状态图生成模块,用于在预设个时间步的迭代之后,针对关系图中的每个关系节点,基于第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,生成关系图对应的第二隐藏状态图,作为关系特征。7.根据权利要求6所述的方法,其中,所述第一信息传递模块,包含第一gru网络和第二gru网络;所述针对物体图中的待更新物体节点,基于所述物体图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新物体节点的第一入射边信息增益和第一出射边信息增益,包括:将所述待更新物体节点上一时间步的隐藏状态、所述物体图中入射边的邻接矩阵和出射边的邻接矩阵输入所述第一gru网络,获得所述待更新物体节点的第一入射边信息增益和第一出射边信息增益;所述基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述参考特征及该待更新
物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态,包括:将所述待更新物体节点上一时间步的隐藏状态、第一入射边信息增益和第一出射边信息增益输入至所述第二gru网络,以使所述第二gru网络基于第一入射边信息增益和第一出射边信息增益,获得该待更新物体节点从其所有的入射边、出射边以及邻接节点中学到的第一参考特征;基于所述第一参考特征及该待更新物体节点在上一个时间步的隐藏状态,获得待更新物体节点更新后的隐藏状态;所述第二信息传递模块,包含第三gru网络和第四gru网络;所述针对关系图中的待更新关系节点,基于所述关系图中入射边的邻接矩阵和出射边的邻接矩阵,计算待更新关系节点的第二入射边信息增益和第二出射边信息增益,包括:将所述待更新关系节点上一时间步的隐藏状态、所述关系图中入射边的邻接矩阵和出射边的邻接矩阵输入所述第三gru网络,获得所述待更新关系节点的第二入射边信息增益和第二出射边信息增益;所述基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态,包括:将所述待更新关系节点上一时间步的隐藏状态、第二入射边信息增益和第二出射边信息增益输入至所述第四gru网络,以使所述第四gru网络基于第二入射边信息增益和第二出射边信息增益,获得该待更新关系节点从其所有的入射边、出射边以及邻接节点中学到的第二参考特征;基于所述第二参考特征及该待更新关系节点在上一个时间步的隐藏状态,获得待更新关系节点更新后的隐藏状态。8.根据权利要求6所述的方法,其中,所述第一隐藏状态图生成模块,包括:第一mlp网络以及第一全连接网络;所述在预设个时间步的迭代之后,针对物体图中的每个物体节点,基于所述第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,生成物体图对应的第一隐藏状态图,包括:针对物体图中的每个物体节点,将所述第一信息传递模块输出的该物体节点最终的隐藏状态及该物体节点的本身特征向量,输入至所述第一mlp网络,以使所述第一mlp网络生成物体图对应的第一隐藏状态图输入至所述第一全连接网络,以使所述第一全连接网络输出所述第一隐藏状态图;所述第二隐藏状态图生成模块,包括:第二mlp网络以及第二全连接网络;所述在预设个时间步的迭代之后,针对关系图中的每个关系节点,基于第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,生成关系图对应的第二隐藏状态图,包括:针对关系图中的每个关系节点,将所述第二信息传递模块输出的该关系节点最终的隐藏状态及该关系节点的本身特征向量,输入至所述第二mlp网络,以使所述第二mlp网络生成关系图对应的第二隐藏状态图输入至所述第二全连接网络,以使所述第二全连接网络输出所述第二隐藏状态图。9.根据权利要求1所述的方法,其中,所述将所述目标问题转换为问题特征的步骤,包括:
将目标问题输入预设的问题编码模型,将目标问题的文本转换为向量,作为问题特征。10.根据权利要求1所述的方法,其中,所述各个目标物体的属性特征,通过如下步骤获得:获取各个目标物体预设的目标属性文字;将各个目标属性文字分别转换为信息词向量,作为各个目标物体的属性特征。11.根据权利要求1所述的方法,其中,所述基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案的步骤,包括:基于所述问题特征和综合特征,计算获得注意力特征;将所述注意力特征和问题特征进行融合,得到待预测特征;将所述待预测特征输入预设的预测模型中,得到预测模型从所述目标图片预设的多个候选答案中选择的目标答案,作为目标问题的答案。12.一种视觉问题回答的实现装置,包括:图片问题获取单元,用于获取指定的目标图片及针对该目标图片的目标问题;问题转换单元,用于将所述目标问题转换为问题特征;特征提取单元,用于对目标图片进行物体特征提取和关系特征提取,分别得到物体特征和关系特征;特征融合单元,用于将所述物体特征、关系特征以及各个目标物体的属性特征进行融合,得到目标图片的综合特征;答案预测单元,用于基于所述问题特征和所述目标图片的综合特征进行答案预测,得到目标问题的答案。13.根据权利要求12所述的装置,其中,所述特征提取单元,用于对目标图片进行特征识别,基于识别结果,生成包含目标物体以及目标关联关系的有向图,作为场景图;基于所述场景图,分别提取出物体特征和关系特征。14.根据权利要求13所述的装置,其中,所述特征提取单元,用于将场景图转换为物体图和关系图;其中,物体图为:以各个目标物体为节点、各个目标关联关系为边的有向图;关系图为:以各个目标关联关系为节点、各个目标物体为边的有向图;基于所述物体图提取物体特征,以及基于所述关系图提取关系特征。15.根据权利要求13所述的装置,其中,所述特征融合单元,用于将所述物体特征与各个目标物体的属性特征进行融合,得到物体融合特征;以及将所述关系特征与各个关系的原始特征进行融合,得到关系融合特征;将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。16.根据权利要求13所述的装置,其中,所述特征提取单元用于:将所述场景图输入预设的双塔ggnn编码器;所述双塔ggnn编码器包括:场景图转换模块、第一ggnn网络和第二ggnn网络、第一融合模块、第二融合模块和第三融合模块;由所述场景图转换模块,将输入的场景图转换为物体图和关系图,分别输入至所述第一ggnn网络和第二ggnn网络;
由所述第一ggnn网络对物体图进行特征提取,得到物体特征,输出至第一融合模块;由所述第二ggnn网络对关系图进行特征提取,得到关系特征,输出至第二融合模块;所述特征融合单元,用于:由所述第一融合模块,将第一ggnn网络输出的物体特征与各个目标物体的属性特征进行融合,得到物体融合特征输出至第三融合模块;由所述第二融合模块,将第二ggnn网络输出的关系特征与各个关系的原始特征进行融合,得到关系融合特征输出至第三融合模块;由第三融合模块,将物体融合特征与关系融合特征进行融合,得到目标图片的综合特征。17.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的方法。19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-11中任一项所述的方法。
技术总结
本公开提供了一种视觉问题回答的实现方法、装置、设备及存储介质,涉及计算机技术领域,尤其涉及人工智能和计算机视觉技术领域。具体实现方案为:获取指定目标图片以及针对该目标图片的目标问题后,对于目标问题,提取其问题特征;对于目标图片,分别提取其物体特征、关系特征,将物体特征、关系特征与目标物体的属性特征进行融合,得到目标图片的综合特征,并基于问题特征和目标图片的综合特征进行答案预测,得到目标问题的答案。应用本公开实施例,针对物体特征和物间关系特征分别提取,平衡了对物体信息和物间关系信息的关注度,并通过结合物体属性信息,使得获取的融合信息更加完整全面,从而使得基于融合信息得到的视觉问题答案更加准确。题答案更加准确。题答案更加准确。
技术研发人员:李旭 李昊 孙明明 李平
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2021.11.24
技术公布日:2022/3/7