本申请涉及图像处理技术领域,特别涉及一种图像描述的方法及装置、计算设备和计算机可读存储介质。
背景技术:
图像描述,就是根据图像自动生成一段描述性文字,类似于“看图说话”。对于人来说,图像描述是简单而自然的一件事,但对于机器来说,这项任务却充满了挑战性。原因在于机器不仅要能检测出图像中的物体,而且要理解物体之间的相互关系,最后还要用合理的语言表达出来。
现有技术中,图像描述的过程中需要机器对目标图像提取局部信息和全局信息,并将全局信息和局部信息输入至翻译模型,并根据翻译模型输出的语句作为图像对应的描述信息。目前的图像描述任务中,大多使用单一的特征提取模型对目标图像进行全局信息的提取。此种情况下,特征提取模型对全局信息的提取,依赖该特征提取模型自身的性能,有的特征提取模型会关注到图像中的一类信息,有的特征提取模型会关注到图像中的另一类信息,这样会导致在后续过程中翻译模型往往不能以图像对应的完整的全局信息作为参考,导致输出的语句有偏差。
技术实现要素:
有鉴于此,本申请实施例提供了一种图像描述的方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例提供了一种图像描述的方法,包括:
利用多个第一特征提取模型对目标图像进行特征提取,得到每个所述第一特征提取模型生成的图像特征;
对所述多个第一特征提取模型生成的图像特征进行融合处理,生成所述目标图像对应的全局图像特征;
利用第二特征提取模型对所述目标图像进行特征提取,得到所述目标图像对应的目标检测特征;
将所述目标图像对应的所述全局图像特征和所述目标检测特征输入至翻译模型,将生成的翻译语句作为所述目标图像的描述语句。
可选地,对所述多个第一特征提取模型生成的图像特征进行融合处理,生成所述目标图像对应的全局图像特征,包括:
对所述多个第一特征提取模型生成的图像特征分别通过对应的第一自注意力层进行特征提取,得到多个中间特征;
对多个所述中间特征进行拼接,生成初始全局特征;
将所述初始全局特征通过至少一个第二自注意力层进行融合处理,生成全局图像特征。
可选地,所述翻译模型包括编码器和解码器;
将所述目标图像对应的所述全局图像特征和所述目标检测特征输入至翻译模型,将生成的翻译语句作为所述目标图像的描述语句,包括:
将所述目标检测特征和所述全局图像特征输入至所述翻译模型的编码器,生成所述编码器输出的编码向量;
将所述编码向量以及所述全局图像特征输入至解码器,生成所述解码器输出的解码向量;
根据所述解码器输出的解码向量生成对应的翻译语句,并将所述翻译语句作为所述目标图像的描述语句。
可选地,编码器包括n个依次连接的编码层,其中,n为大于1的整数;
将所述目标检测特征和所述全局图像特征输入至所述翻译模型的编码器,生成所述编码器输出的编码向量,包括:
s11、将所述目标检测特征和所述全局图像特征输入至第一个编码层,得到第一个编码层的输出向量;
s12、将第i-1个编码层的输出向量和所述全局图像特征输入至第i个编码层,得到第i个编码层的输出向量,其中,2≤i≤n;
s13、判断i是否等于n,若否,将i自增1,执行步骤s12,若是,执行步骤s14;
s14、将第n个编码层的输出向量作为所述编码器输出的编码向量。
可选地,所述编码层包括:第一编码自注意力层、第二编码自注意力层和第一前馈层;
将所述目标检测特征和所述全局图像特征输入至第一个编码层,得到第一个编码层的输出向量,包括:
将所述目标检测特征输入至第一编码自注意力层,得到第一中间向量;
将所述第一中间向量和所述全局图像特征输入至所述第二编码自注意力层,得到第二中间向量;
将所述第二中间向量经过所述第一前馈层进行处理,得到第一个编码层的输出向量。
可选地,所述编码层包括:第一编码自注意力层、第二编码自注意力层和第一前馈层;
将第i-1个编码层的输出向量和所述全局图像特征输入至第i个编码层,得到第i个编码层的输出向量,包括:将所述第i-1个编码层的输出向量输入至第一编码自注意力层,得到第三中间向量;将所述第三中间向量和所述全局图像特征输入至第二编码自注意力层,得到第四中间向量;将所述第四中间向量经过第一前馈层进行处理,得到第i个编码层的输出向量。
可选地,解码器包括m个依次连接的解码层,其中,m为大于1的整数;
将所述编码向量以及所述全局图像特征输入至解码器,生成所述解码器输出的解码向量,包括:
s21、将参考解码向量、所述编码向量和所述全局图像特征输入至第一个解码层,得到第一个解码层的输出向量;
s22、将第j-1个解码层的输出向量、所述编码向量和所述全局图像特征输入至第j个解码层,得到第j个解码层的输出向量,其中,2≤j≤m;
s23、判断j是否等于m,若否,将j自增1,执行步骤s22,若是,执行步骤s24;
s24、将第m个解码层的输出向量作为所述解码器输出的解码向量。
可选地,所述解码层包括:第一解码自注意力层、第二解码自注意力层、第三解码自注意力层和第二前馈层;
将参考解码向量、所述编码向量和所述全局图像特征输入至第一个解码层,得到第一个解码层的输出向量,包括:
将所述参考解码向量经过所述第一解码自注意力层进行处理,得到第五中间向量;将所述第五中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第六中间向量;将所述第六中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第七中间向量;将第七中间向量经过第二前馈层进行处理,得到第一个解码层的输出向量。
可选地,所述解码层包括:第一解码自注意力层、第二解码自注意力层、第三解码自注意力层和第二前馈层;
将第j-1个解码层的输出向量、编码向量和全局图像特征输入至第j个解码层,得到第j个解码层的输出向量,包括:
将第j-1个解码层的输出向量经过所述第一解码自注意力层进行处理,得到第八中间向量;
将所述第八中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第九中间向量;
将所述第九中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第十中间向量;
将所述第十中间向量经过所述第二前馈层进行处理,得到第j个解码层的输出向量。
本申请实施例公开了一种图像描述的装置,包括:
特征提取模块,被配置为利用多个第一特征提取模型对目标图像进行特征提取,得到每个所述第一特征提取模型生成的图像特征;
全局图像特征提取模块,被配置为对所述多个第一特征提取模型生成的图像特征进行融合处理,生成所述目标图像对应的全局图像特征;
目标检测特征提取模块,被配置为利用第二特征提取模型对所述目标图像进行特征提取,得到所述目标图像对应的目标检测特征;
翻译模块,被配置为将所述目标图像对应的所述全局图像特征和所述目标检测特征输入至翻译模型,将生成的翻译语句作为所述目标图像的描述语句。
本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的图像描述的方法的步骤。
本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的图像描述的方法的步骤。
本申请提供的图像描述的方法及装置,通过利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征,克服了单一特征提取模型过于依赖模型自身性能的缺陷,对多个第一特征提取模型生成的图像特征融合生成目标图像对应的全局图像特征,从而在后续将目标图像对应的全局图像特征和目标检测特征输入至翻译模型生成翻译语句的过程中,有更为丰富图像信息的全局图像特征作为参考,使输出的翻译语句更加准确。
其次,本实施例通过多个第一特征提取模型对目标图像进行特征提取,并把多个第一特征提取模型提取到的图像特征进行拼接得到初始全局特征,从而可以使初始全局特征尽可能地包含目标图像的更全的特征,然后再经过多个第二自注意力层进行融合,获取需要重点关注的目标区域,而后对这一区域投入更多的注意力计算资源,获取更多与目标图像有关的细节信息,而忽视其他无关信息。通过这种机制可以利用有限的注意力计算资源从大量信息中快速筛选出高价值的信息,得到包含更为丰富的图像信息的全局图像特征。
再次,本方法将目标检测特征和全局图像特征输入至编码器,从而可以在每个编码层的编码过程中,将包含有丰富图像信息的全局图像特征作为背景信息,得到的每个编码层的编码向量可以更多地提取到图像的信息,使输出的翻译语句更加准确。
另外,本方法将全局图像特征输入至解码器的每个解码层,从而可以在每个解码层的解码过程中,将包含有丰富图像信息的全局图像特征作为背景信息,可以使解码得到的解码向量与图像信息的对应度更高,使输出的翻译语句更加准确。
附图说明
图1是本申请一实施例的计算设备的结构示意图;
图2是本申请一实施例的图像描述的方法的流程示意图;
图3是本申请一实施例的图像描述的方法的流程示意图;
图4是本申请一实施例的翻译模型的编码层的结构示意图;
图5是本申请一实施例的翻译模型的解码层的结构示意图;
图6是本申请另一实施例的图像描述的方法的示意图;
图7是本申请另一实施例的图像描述的装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
图像特征融合:指在图像特征输入阶段使用多个预训练的卷积网络提取的特征进行融合代替单一图像特征,从而给训练网络提供更丰富的特征输入。
rnn(recurrentneuralnetwork,递归神经网络)模型:是一种具有反馈结构的神经网络,其输出不但与当前输入和网络的权值有关,而且也与之前网络的输入有关。rnn模型通过添加跨越时间点的自连接隐藏层,对时间进行建模;换句话说,隐藏层的反馈不仅仅进入输出端,而且还进入了下一时间的隐藏层。
transformer:一种翻译模型,其架构包括:编码器(encoder)—解码器(decoder)。编码器实现对待翻译的源语句进行编码生成向量,解码器实现对源语句的向量进行解码生成对应的目标语句。
图像描述(imagecaption):一个融合计算机视觉、自然语言处理和机器学习的综合问题,根据图像给出能够描述图像内容的自然语言语句,通俗讲,它就是翻译一副图片为一段描述文字。
自注意力计算:例如输入一个句子进行自注意力计算,那么里面的每个词都要和该句子中的所有词进行自注意力计算,目的是学习句子内部的词依赖关系,捕获句子的内部结构。对输入的图像特征进行自注意力计算,会对每个特征与其他特征进行自注意力计算,目的是学习图像内部的特征依赖关系。
全局图像特征:为目标图像对应的全部特征。
目标检测特征:为目标图像中特定区域的特征。
在本申请中,提供了一种图像描述的方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的图像描述方法的示意性流程图,包括步骤201至步骤204。
201、利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征。
具体地,第一特征提取模型可以为多个,包括:vgg(visualgeometrygroupnetwork,视觉几何组网络)、resnet模型、densnet模型、inceptionv3模型等卷积网络模型。
需要说明的是,多个第一特征模型提取的图像特征的尺寸相同。通过设置第一特征模型的卷积层参数,可以调节图像特征的尺寸。例如对于提取的图像特征为224*224*3,其中224*224是图像特征的高度*宽度,即图像特征的尺寸;3是通道数,也即图像特征的个数。通常情况下,输入图像的高度和宽度相等,卷积层的卷积核大小可以根据实际需求而设置,常用的卷积核有1*1*1、3*3*3、5*5*5、7*7*7等。
另外还需要说明的是,对于多个第一特征模型,生成的特征大小相同,但是图像特征的个数可以彼此不同。例如第1个第一特征提取模型生成的图像特征为p*q*l1,也即图像特征为l1个,图像特征的尺寸为p*q;第2个第一特征提取模型生成的图像特征为p*q*l2,也即图像特征为l2个,图像特征的尺寸为p*q,其中,p*q是图像特征的高度*宽度,l1和l2分别为第1个第一特征模型和第2个第一特征模型生成的图像特征的个数。
202、对多个第一特征提取模型生成的图像特征进行融合处理,生成目标图像对应的全局图像特征。
具体地,步骤202包括:
s2021、对多个第一特征提取模型生成的图像特征分别通过对应的第一自注意力层进行特征提取,得到多个中间特征。
其中,第一自注意力层包括多头自注意力层和前馈层。本步骤中第一自注意力层的个数与第一特征提取模型的个数相同。
具体地,以5个第一特征提取模型为例,该5个第一特征模型均对同一图像进行处理生成对应的图像特征,然后将每个第一特征提取模型生成的图像特征通过对应的第一自注意力层进行特征提取,得到生成的中间特征。
s2022、对多个中间特征进行拼接,生成初始全局特征。
其中,拼接处理可以通过调用contact函数来实现。
具体地,仍以5个第一特征提取模型为例,将5个第一特征提取模型对应的第一自注意力层生成的中间特征进行拼接处理,生成1个初始全局特征。例如第1个第一特征提取模型对应的第一自注意力层生成a1个中间特征,中间特征的尺寸为p*q,第2个第一特征提取模型对应的第一自注意力层生成a2个中间特征,中间特征的尺寸为p*q,第3个第一特征提取模型对应的第一自注意力层生成a3个中间特征,中间特征的尺寸为p*q,第4个第一特征提取模型对应的第一自注意力层生成a4个中间特征,中间特征的尺寸为p*q,第5个第一特征提取模型对应的第一自注意力层生成a5个中间特征,中间特征的尺寸为p*q。那么拼接处理后的初始全局特征包含(a1+a2+a3+a4+a5)个特征。
需要说明的是,本步骤为将多个中间特征进行拼接,并不进行进一步地融合处理,所以,相比于中间特征,生成的初始全局特征中特征之间的关系并未改变,这也就意味着初始全局特征的特征会有部分重复,此类特征会在后续步骤中进一步地进行处理。
s2023、将初始全局特征通过至少一个第二自注意力层进行融合处理,生成全局图像特征。
其中,第二自注意力层包括多头自注意力层和前馈层。本步骤中第二自注意力层的个数可以为多个,根据实际需求而设置。
可以注意到的是,第二自注意力层的结构与第一自注意力层的结构可以为相同,其目的均是为了对输入的向量进行自注意力处理,以提取后续步骤中需要进行处理的向量。但是不同的是,在第一自注意力层和第二自注意力层均为多个的情形下,多个第一自注意力层为并行地对每个第一特征提取模型生成的图像特征进行处理,而第二自注意力层为串行地对初始全局特征进行逐层处理。
经过多个中间特征进行拼接生成的初始全局特征,经过第二自注意力层进行融合处理,会促使不同特征之间的相互融合。
例如对于初始全局特征包含c类的特征c1,以及c类的特征c2,二者之间的关联性较强。在通过第二自注意力层进行融合处理的过程中,第二自注意力层会关注到关联性强的特征c1和c2,并根据特征c1和c2融合得到特征c1’。
又例如初始全局特征包含重复的多个d类的特征d1,在通过第二自注意力层进行融合处理的过程中,第二自注意力层会关注到重复的多个特征d1,并将重复的多个特征d1生成一个d类的特征d1。
本实施例中,特征融合的方法有很多,例如泊松融合方法、加权平均法、羽化算法、拉普拉斯融合算法、自注意力算法等,本实施例优选使用自注意力算法。
例如,可以用键值对(key-value)来表示输入信息,其中,地址key代表键,value代表该键对应的值。“键”用来计算注意力分布,“值”用来计算聚合信息。那么n个输入信息就可以表示为(k,v)=[(k1,v1),(k2,v2),...,(kn,vn)]。
具体地,可以先根据下面公式(1),计算query和key的相似度:
si=f(q,ki)(1)
其中,si为注意力得分;
q为query,为查询向量;
ki对应于每个key向量。
然后,通过公式(2)用softmax函数对注意力得分进行数值转换。一方面可以进行归一化,得到所有权重系数之和为1的概率分布,另一方面可以用softmax函数的特性突出重要元素的权重:
αi=softmax(si)=
其中,αi为权重系数。
最后,通过公式(3),根据权重系数对value进行加权求和:
attention((k,v),q)=
其中,vi为value向量。
根据自注意力计算,将包含(a1+a2+a3+a4+a5)个特征的初始全局特征,经过第二自注意力层的融合处理,可以得到a’个特征的全局图像特征。一般地,a’小于等于(a1+a2+a3+a4+a5)。
203、利用第二特征提取模型对目标图像进行特征提取,得到目标图像对应的目标检测特征。
本申请中,第二特征模型可以为目标检测特征模型,以实现对目标图像的局部信息的提取。
本步骤203中,第二特征提取模型可以选取faster-rnn(fasterregionswithcnnfeatures,快速卷积特征区域)模型,可以识别出图像中的感兴趣区域,并通过设定的阈值允许多个感兴趣区域对应的兴趣框的重叠,这样可以更有效的理解图像内容。
faster-rnn提取目标检测特征的主要步骤包括:
1)特征提取:以整个目标图像为输入,得到目标图像的特征层;
2)候选区域:利用选择查找(selectivesearch)等方法从目标图像中提取感兴趣区域,并把这些感兴趣区域对应的兴趣框一一投影到最后的特征层;
3)区域归一化:针对特征层上的每个候选区域候选框进行池化操作,得到固定大小的特征表示;
4)分类:通过两个全连接层,分别用softmax多分类函数做目标识别,得到最终的目标检测特征。
204、将目标图像对应的全局图像特征和目标检测特征输入至翻译模型,将生成的翻译语句作为目标图像的描述语句。
其中,翻译模型包括编码器和解码器。翻译模型有多种,例如transformer模型、rnn模型等,本实施例优选使用transformer模型,可以进一步使输出的句子更为准确。
与rnn模型相比,transformer模型不需要循环,而是并行处理输入目标图像对应的全局图像特征和目标检测特征,同时利用自注意力机制将特征之间相结合。transformer模型的训练速度比rnn快很多,而且其翻译结果也比rnn好得多。
需要说明的是,翻译语句包括多个翻译词语,对于解码器来说,每次解码得到一个翻译词语。对于所述翻译语句的第一个翻译词语,所述参考解码向量为预设的初始解码向量;对于所述翻译语句的除去第一个翻译词语之外的其他翻译词语,其参考解码向量为上一个翻译词语对应的解码向量。
本申请提供的图像描述的方法,通过利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征,克服了单一特征提取模型过于依赖模型自身性能的缺陷,对多个第一特征提取模型生成的图像特征融合生成目标图像对应的全局图像特征,从而在后续将目标图像对应的全局图像特征和目标检测特征输入至翻译模型生成翻译语句的过程中,有更为丰富图像信息的全局图像特征作为参考,使输出的翻译语句更加准确。
本申请一实施例还公开了一种图像描述的方法,参见图3,包括:
301、利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征。
302、对多个第一特征提取模型生成的图像特征进行融合处理,生成目标图像对应的全局图像特征。
303、利用第二特征提取模型对目标图像进行特征提取,得到目标图像对应的目标检测特征。
对于步骤301~303,与前述实施例的步骤201~203相同,具体的解释可以参见前述实施例,在此便不再赘述。
304、将目标检测特征和全局图像特征输入至翻译模型的编码器,生成编码器输出的编码向量。
具体地,编码器可以包括1个编码层,也可以包括多个编码层。本实施例以编码器包括n个依次连接的编码层为例进行说明,其中,n>1。步骤304包括下述步骤s3041~s3044:
s3041、将所述目标检测特征和全局图像特征输入至第一个编码层,得到第一个编码层的输出向量。
s3042、将第i-1个编码层的输出向量和全局图像特征输入至第i个编码层,得到第i个编码层的输出向量,其中,2≤i≤n。
s3043、判断i是否等于n,若否,将i自增1,执行步骤s3042,若是,执行步骤s3044。
s3044、将第n个编码层的输出向量作为编码器输出的编码向量。
可见,在编码层侧,将全局图像特征输入至每个编码层,使目标检测特征在每个编码层的处理中均融入了全局图像特征,增强了目标检测特征的特征表示。
具体地,参见图4,编码层包括:第一编码自注意力层、第二编码自注意力层和第一前馈层;
步骤s3041包括:将所述目标检测特征输入至第一编码自注意力层,得到第一中间向量;将第一中间向量和全局图像特征输入至第二编码自注意力层,得到第二中间向量;将所述第二中间向量经过第一前馈层进行处理,得到第一个编码层的输出向量。
步骤s3042包括:将所述第i-1个编码层的输出向量输入至第一编码自注意力层,得到第三中间向量;将第三中间向量和全局图像特征输入至第二编码自注意力层,得到第四中间向量;将所述第四中间向量经过第一前馈层进行处理,得到第i个编码层的输出向量。
305、将编码向量以及全局图像特征输入至解码器,生成解码器输出的解码向量。
具体地,解码器可以包括1个解码层,也可以包括多个解码层。本实施例以解码器包括m个依次连接的解码层为例进行说明。其中,m>1。
步骤305包括下述步骤s3051~s3054:
s3051、将参考解码向量、编码向量和全局图像特征输入至第一个解码层,得到第一个解码层的输出向量。
对于所述翻译语句的第一个翻译词语,所述参考解码向量为初始解码向量;
对于所述翻译语句的其他翻译词语,所述参考解码向量为上一个翻译词语对应的解码向量。
s3052、将第j-1个解码层的输出向量、编码向量和全局图像特征输入至第j个解码层,得到第j个解码层的输出向量,其中,2≤j≤m。
s3053、判断j是否等于m,若否,将j自增1,执行步骤s3052,若是,执行步骤s3054。
s3054、将第m个解码层的输出向量作为解码器输出的解码向量。
可见,本方法将全局图像特征输入至解码器的每个解码层,从而可以在每个解码层的解码过程中,将包含有丰富图像信息的全局图像特征作为背景信息,可以使解码得到的解码向量与图像信息的对应度更高,使输出的翻译语句更加准确。
具体地,参见图5,解码层包括:第一解码自注意力层、第二解码自注意力层、第三解码自注意力层和第二前馈层。
步骤s3051包括:将参考解码向量经过所述第一解码自注意力层进行处理,得到第五中间向量;将第五中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第六中间向量;将第六中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第七中间向量;将第七中间向量经过第二前馈层进行处理,得到第一个解码层的输出向量。
步骤s3052包括:将第j-1个解码层的输出向量经过所述第一解码自注意力层进行处理,得到第八中间向量;将第八中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第九中间向量;将第九中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第十中间向量;将第十中间向量经过第二前馈层进行处理,得到第j个解码层的输出向量。
306、根据解码器输出的解码向量生成对应的翻译语句,并将翻译语句作为目标图像的描述语句。
具体地,根据所述解码器输出的解码向量生成对应的翻译词语,并根据所述翻译词语生成翻译语句。
需要说明的是,翻译语句包括多个翻译词语,对于解码器来说,每次解码得到一个翻译词语。对于所述翻译语句的第一个翻译词语,所述参考解码向量为预设的初始解码向量;对于所述翻译语句的除去第一个翻译词语之外的其他翻译词语,其参考解码向量为上一个翻译词语对应的解码向量。
本申请提供的图像描述的方法,通过利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征,克服了单一特征提取模型过于依赖模型自身性能的缺陷,对多个第一特征提取模型生成的图像特征融合生成目标图像对应的全局图像特征,从而在后续将目标图像对应的全局图像特征和目标检测特征输入至翻译模型生成翻译语句的过程中,有更为丰富图像信息的全局图像特征作为参考,使输出的翻译语句更加准确。
其次,本实施例通过多个第一特征提取模型对目标图像进行特征提取,并把多个第一特征提取模型提取到的图像特征进行拼接得到初始全局特征,从而可以使初始全局特征尽可能地包含目标图像的更全的特征,然后再经过多个第二自注意力层进行融合,获取需要重点关注的目标区域,而后对这一区域投入更多的注意力计算资源,获取更多与目标有关的细节信息,而忽视其他无关信息。通过这种机制可以利用有限的注意力计算资源从大量信息中快速筛选出高价值的信息,得到包含更为丰富的图像信息的全局图像特征。
再次,本方法将全局图像特征输入至解码器的每个解码层,从而可以在每个解码层的解码过程中,将包含有丰富图像信息的全局图像特征作为背景信息,可以使解码得到的解码向量与图像信息的对应度更高,使输出的翻译语句更加准确。
本实施例的图像描述的方法适用于编码器—解码器的机器翻译模型。为了进一步地对本申请的图像描述的方法进行说明,参见图6,以transformer翻译模型为例进行示意性的说明。图6中,包括4个第一特征提取模型、4个第一自注意力层、k个第二自注意力层、1个第二特征提取模型以及transformer翻译模型。
本实施例的图像描述的方法包括下述步骤s61~s68:
s61、利用4个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征。
s62、对4个第一特征提取模型生成的图像特征分别通过对应的第一自注意力层进行处理,得到生成的中间特征。
其中,第1个第一特征提取模型生成的图像特征通过对应的第一自注意力层进行处理,得到a1个中间特征,中间特征的尺寸为p*q;第2个第一特征提取模型生成的图像特征通过对应的第一自注意力层进行处理,得到a2个中间特征,中间特征的尺寸为p*q;第3个第一特征提取模型生成的图像特征通过对应的第一自注意力层进行处理,得到a3个中间特征,中间特征的尺寸为p*q;第4个第一特征提取模型生成的图像特征通过对应的第一自注意力层进行处理,得到a4个中间特征,中间特征的尺寸为p*q。
s63、对4个中间特征进行拼接,生成初始全局特征。
其中,对4个中间特征进行拼接,生成包含(a1+a2+a3+a4)个特征的初始全局特征。
s64、将初始全局特征通过k个第二自注意力层进行融合处理,生成全局图像特征。
本实施例中,k=3。
其中,对包含(a1+a2+a3+a4)个特征的初始全局特征进行融合处理,生成包含a’个特征的全局图像特征。一般地,a’≤(a1+a2+a3+a4)。
s65、利用第二特征提取模型对目标图像进行特征提取,得到目标图像对应的目标检测特征。
本实施例中,第二特征提取模型为fasterrnn(fasterregionswithcnnfeatures,快速卷积特征区域)模型。
s66、将目标检测特征和全局图像特征输入至transformer翻译模型的编码器,生成编码器输出的编码向量。
s67、将参考解码向量、编码向量以及全局图像特征输入至解码器,生成解码器输出的解码向量。
其中,编码器包括n个编码层,解码器包括m个解码层。
s68、根据解码器输出的解码向量生成对应的翻译语句,并将所述翻译语句作为所述目标图像的描述语句。
其中,描述语句可以根据transformer模型的性能,输出不同语言的描述语句。其中,transformer模型的性能可以通过样本集的训练而形成,例如样本集为“中语待翻译语句+法语翻译语句”的集合、“英语待翻译语句+日语翻译语句”的集合或者“图像特征+英语翻译语句”的集合。本实施例以transformer模型的性能为根据输入的图像特征翻译生成英文翻译语句为例进行说明。
具体地,根据输入的初始参考解码向量、编码向量以及全局图像特征,解码器输出解码向量,并得到第1个词语“a”。将第1个词语“a”对应的向量作为参考解码第2个词语“boy”。将第2个词语“boy”对应的向量作为参考解码向量,以使解码器根据参考解码向量、编码向量以及全局图像特征得到下一个词语“play”……依次类推,得到描述语句“aboyplayfootballonfootballfield”。
本申请一实施例还提供一种图像描述的装置,参见图7,包括:
特征提取模块701,被配置为利用多个第一特征提取模型对目标图像进行特征提取,得到每个第一特征提取模型生成的图像特征;
全局图像特征提取模块702,被配置为对所述多个第一特征提取模型生成的图像特征进行融合处理,生成所述目标图像对应的全局图像特征;
目标检测特征提取模块703,被配置为利用第二特征提取模型对目标图像进行特征提取,得到所述目标图像对应的目标检测特征;
翻译模块704,被配置为将所述目标图像对应的全局图像特征和目标检测特征输入至翻译模型,将生成的翻译语句作为所述目标图像的描述语句。
可选地,全局图像特征提取模块702具体被配置为:
对所述多个第一特征提取模型生成的图像特征分别通过对应的第一自注意力层进行特征提取,得到多个中间特征;
对多个中间特征进行拼接,生成初始全局特征;
将初始全局特征通过至少一个第二自注意力层进行融合处理,生成全局图像特征。
可选地,翻译模型包括编码器和解码器,所述翻译模块704包括:
编码模块,被配置为将所述目标检测特征和全局图像特征输入至所述翻译模型的编码器,生成所述编码器输出的编码向量;
解码模块,被配置为将所述编码向量以及所述全局图像特征输入至解码器,生成所述解码器输出的解码向量;
语句生成模块,被配置为根据所述解码器输出的解码向量生成对应的翻译语句,并将所述翻译语句作为所述目标图像的描述语句。
可选地,所述编码器包括n个依次连接的编码层,其中,n为大于1的整数;编码模块包括:
第一处理单元,被配置为将所述目标检测特征和全局图像特征输入至第一个编码层,得到第一个编码层的输出向量;
第二处理单元,被配置为将第i-1个编码层的输出向量和全局图像特征输入至第i个编码层,得到第i个编码层的输出向量,其中,2≤i≤n;
第一判断单元,被配置为判断i是否等于n,若否,将i自增1,执行第二处理单元,若是,执行编码向量生成单元;
编码向量生成单元,被配置为将第n个编码层的输出向量作为编码器输出的编码向量。
可选地,编码层包括:第一编码自注意力层、第二编码自注意力层和第一前馈层;第一处理单元具体被配置为:将所述目标检测特征输入至第一编码自注意力层,得到第一中间向量;将第一中间向量和全局图像特征输入至第二编码自注意力层,得到第二中间向量;将所述第二中间向量经过第一前馈层进行处理,得到第一个编码层的输出向量。
可选地,编码层包括:第一编码自注意力层、第二编码自注意力层和第一前馈层;第二处理单元具体被配置为:将所述第i-1个编码层的输出向量输入至第一编码自注意力层,得到第三中间向量;将第三中间向量和全局图像特征输入至第二编码自注意力层,得到第四中间向量;将所述第四中间向量经过第一前馈层进行处理,得到第i个编码层的输出向量。
可选地,解码器包括m个依次连接的解码层,其中,m为大于1的整数;
所述解码模块包括:
第三处理单元,被配置为将参考解码向量、编码向量和全局图像特征输入至第一个解码层,得到第一个解码层的输出向量;
第四处理单元,被配置为将第j-1个解码层的输出向量、编码向量和全局图像特征输入至第j个解码层,得到第j个解码层的输出向量,其中,2≤j≤m;
第二判断单元,被配置为判断j是否等于m,若否,将j自增1,执行第四处理单元,若是,执行解码向量生成单元;
解码向量生成单元,被配置为将第m个解码层的输出向量作为解码器输出的解码向量。
可选地,所述解码层包括:第一解码自注意力层、第二解码自注意力层、第三解码自注意力层和第二前馈层;第三处理单元具体被配置为:
将参考解码向量经过第一解码自注意力层进行处理,得到第五中间向量;
将第五中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第六中间向量;
将第六中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第七中间向量;
将第七中间向量经过第二前馈层进行处理,得到第一个解码层的输出向量。
可选地,解码层包括:第一解码自注意力层、第二解码自注意力层、第三解码自注意力层和第二前馈层;第四处理单元具体被配置为:
将第j-1个解码层的输出向量经过所述第一解码自注意力层进行处理,得到第八中间向量;
将第八中间向量和所述全局图像特征经过所述第二解码自注意力层进行处理,得到第九中间向量;
将第九中间向量和所述编码向量经过所述第三解码自注意力层进行处理,得到第十中间向量;
将第十中间向量经过第二前馈层进行处理,得到第j个解码层的输出向量。
上述为本实施例的一种图像描述的装置的示意性方案。需要说明的是,该图像描述的装置的技术方案与上述的图像描述的方法的技术方案属于同一构思,图像描述的装置的技术方案未详细描述的细节内容,均可以参见上述图像描述的方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述图像描述的方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的图像描述的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述图像描述的方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。