一种图像描述方法及装置与流程

文档序号:18903594发布日期:2019-10-18 22:19阅读:196来源:国知局
一种图像描述方法及装置与流程

本申请涉及图像描述和机器学习领域,尤其涉及一种图像描述方法及装置。



背景技术:

图像描述(imagecaption)是一种融合了计算机视觉技术、自然语言处理技术以及机器学习技术的综合性新兴学科。图像描述的目的是根据图片内容自动生成一段描述性文字,其重点在于不仅需要准确的识别图片中的物体,还需要理解不同物体之间的相互关系,并用合理的语言描述出来。

现有的图像描述方法主要采用了编码(encoder)-解码(decoder)模型结构,这种结构最早来源于机器翻译领域的用于解决源语言和目标语言句子长度不同的rnn模型;类似的,在图像描述领域使用的encoder-decoder模型,则是用图像代替了机器翻译中输入的单词序列。例如,使用cnn模型从输入图像(即一系列像素值)中提取出相应的视觉特征,再使用引入attention机制的lstm模型将该特征解码成输出序列。但是,这种模型受模型结构限制,不能执行并行计算,导致模型训练的时间过长,严重影响了图像描述的运算效率。

因此,需要提供一种训练时间短、图像描述更加准确的图像描述方法及装置。



技术实现要素:

有鉴于此,本说明书实施例提供了一种图像描述方法及装置,用于解决现有技术中的问题。

本说明书实施例采用下述技术方案:

本说明书实施例提供一种图像描述方法,包括将获取的全局图像信息输入至全局编码器组,并获得图像的全局特征信息;将所述全局特征信息和获取的目标检测信息输入至目标编码器组,并获得目标特征信息;将所述全局特征信息、所述目标特征信息和获取的目标向量输入至解码器组,并获得对应的图像描述;其中,所述解码器组采用了基于transformer模型的扩展结构。

在一个或多个实施例中,获取所述全局图像信息包括利用cnn网络对图像进行编码,并获取所述全局图像信息。

在一个或多个实施例中,获取所述全局图像信息进一步包括:获得cnn网络的最后一层卷积的featuremap;对所述最后一层卷积的featuremap执行位置编码,获得所述全局图像信息。

在一个或多个实施例中,获取所述目标检测信息包括:利用faster-rcnn网络对图像进行目标检测编码,并获取所述目标检测信息。

在一个或多个实施例中,获取所述目标检测信息进一步包括:获得faster-rcnn网络的第fc6层;根据所述第fc6层,获得所述目标检测信息。

在一个或多个实施例中,获取所述目标向量包括:根据当前目标词之前的所述解码器组获得的解码结果,获取所述目标向量。

在一个或多个实施例中,获取所述目标向量进一步包括:针对所述解码结果执行词语转换和位置编码,获取所述目标向量。

在一个或多个实施例中,所述全局编码器组包括依次堆叠的若干全局编码器,所述各全局编码器由下至上均依次包括自注意层和前馈层。

在一个或多个实施例中,将获取的全局图像信息输入至全局编码器组,并获得图像的全局特征信息进一步包括:将所述全局图像信息输入至最下层所述全局编码器,经自注意层和前馈层,获得最下层所述全局编码器的输出;将最下层所述全局编码器的输出作为上一层所述全局编码器的输入执行迭代运算,直到获得所述最上层全局编码器的前馈层的输出作为全局特征信息。

在一个或多个实施例中,所述全局编码器组中的自注意层和前馈层之间还包括残差连接处理和层归一化处理。

在一个或多个实施例中,所述目标编码器组包括依次堆叠的若干目标编码器,所述各目标编码器由下至上均依次包括自注意层、全局注意层和前馈层。

在一个或多个实施例中,将所述全局特征信息和获取的目标检测信息输入至目标编码器组,并获得目标特征信息进一步包括:将所述目标检测信息输入至最下层所述目标编码器的自注意层,并获得最下层所述目标编码器自注意层的输出;将最下层所述目标编码器自注意层的输出与所述全局特征信息输入至最下层所述目标编码器的全局注意层,并获得最下层所述目标编码器的输出;将最下层所述目标编码器的输出作为上一层所述目标编码器的自注意层的输入执行迭代运算,直到获得所述最上层目标编码器的全局注意层的输出作为目标特征信息。

在一个或多个实施例中,所述解码器组包括依次堆叠的若干解码器,所述各解码器由下至上均依次包括自注意层、全局注意层、编-解码层和前馈层。

在一个或多个实施例中,将所述全局特征信息、所述目标特征信息和获取的目标向量输入至解码器组,并获得对应的图像描述进一步包括:将所述目标向量输入至最下层所述解码器的自注意层,并获得最下层所述解码器自注意层的输出;将最下层所述解码器自注意层的输出与所述全局特征信息输入至最下层所述解码器的全局注意层,并获得最下层所述解码器全局注意层的输出;将最下层所述解码器全局注意层的输出与所述目标特征信息输入至最下层所述解码器的编-解码注意层,并获得最下层所述解码器编-解码注意层的输出;将最下层所述解码器编-解码注意层的输出输入至最下层所述解码器的前馈层,并获得最下层所述解码器的输出;将所述最下层所述解码器的输出作为上一层所述解码器的自注意层的输入执行迭代运算,直到获得所述最上层解码器的输出作为对应的图像描述。

在一个或多个实施例中,将所述全局特征信息、所述目标特征信息和获取的目标向量输入至解码器组,并获得对应的图像描述进一步包括:针对所述解码器组的输出执行归一化处理,获得对应的图像描述。

在一个或多个实施例中,所述全局图像信息包括与所述待检测目标相关联的至少一组图像特征信息。

在一个或多个实施例中,所述图像特征信息包括利用不同的图像特征提取方法提取的多组特征信息。

在一个或多个实施例中,所述图像特征信息包括针对包含所述待检测目标的不同图像提取的多组特征信息。

在一个或多个实施例中,所述图像特征信息包括利用resnet网络和vgg网络分别针对包含所述待检测目标图像提取的两组特征信息。

本说明书实施例还提供一种图像描述装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述的步骤。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

本说明书一个或多个实施例提供了一种图像描述方法及装置,结合了视觉注意力机制和视觉注意力转移的过程,在图像描述任务中根据当前生成的语境、语义和图像全局信息,以及得到的目标检测信息构建了基于transformer扩展结构的图像描述算法模型,该模型在解码端采用了全局解码端和目标解码端相结合,不仅关注了图像的局部信息,同时也关注了图像的全局信息,使得生成的图像描述更加准确;由于采用了基于transformer的扩展结构,使得算法模型在执行运算时能够适合并行计算,能够缩短模型训练时间,大幅度提高图像描述算法模型的运算效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本说明书一个或多个实施例的lstm结构示意图;

图2是本说明书一个或多个实施例提供的transformer模型示意图;

图3是本说明书一个或多个实施例的图像描述算法模型结构示意图;

图4是现有的transformer模型示意图。

图5是本说明书一个或多个实施例的实例一图像;

图6是本说明书一个或多个实施例的实例二图像。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

循环神经网络(recurrentneuralnetwork,rnn)是重要的深度学习算法之一,特别适用于连续序列的训练样本输入,其中,长短期记忆网络(longshort-termmemorynetworks,lstm)是常见的的循环神经网络之一,其有效避免了常规rnn中的梯度消失问题,目前常与attention机制相结合,用于图像描述任务中的解码端。

图1是本说明书一个或多个实施例提供的lstm结构示意图,如图1所示,lstm是一种时间递归神经网络,将一个信息输入至lstm网络中,可以根据规则判断该信息是否符合算法,从而保留符合规则的信息,遗忘不符合的信息。lstm网络一般包含两个隐藏状态和三种门控结构(gate),其中,两种隐藏状态分别是隐藏状态h(t)和细胞状态(cellstate)c(t),三种门控结构分别是用于以一定概率控制是否以往上一层的隐藏细胞状态的遗忘门(forgetgate),用于处理当前序列位置输入的输入门(inputgate)和用于处理当前序列位置输出的输出门(outputgate)。

一般来说,可以将attention机制描述成一个query到一系列value对的映射,具体的,给定一组向量几何values和一个向量query,可以利用attention机制根据该query计算values的加权求和。在执行attention计算时可分为三步,具体如下:

第一步,将query和每个value执行相似度计算获得权重;例如,采用点积、拼接或感知机等相似度函数;

第二步,使用softmax函数对权重进行归一化;

第三步,将权重和对应的value进行加权求和获得attention值。

现有的使用encoder-decoder模型的图像描述任务中,解码端(decoder)常采用lstm模型结合的attention机制,例如,将编码端提取的特征向量视为位置特征的集合,attention机制可以用于学习位置集合的权重,从而提高目标检测中目标之间的关系的描述效果。

发明人经研究发现,上述图像描述任务中使用的encoder-decoder模型,由于在解码端采用了lstm模型,受模型结构本身(如图1所示)的影响,无法实现并行计算,这就导致模型训练的时间过长,从而影响了计算效率。为此,发明人特别关注了近期提出的机器翻译模型transformer。

transformer模型是一种基于attention机制的深度学习算法模型,在并行化处理上具有更大的优势。图2是本说明书一个或多个实施例提供的transformer模型示意图,如图2所示,transformer模型包括编码器组和解码器组,例如,编码器组和解码器组中分别包括6个编码器(encoder)和6个解码器(decoder)。

具体的,以机器翻译领域的应用为例,编码器包括自注意层(self-attention)和前馈层(feed-forward),其中,自注意层(self-attention)可用于在文本编码中查看输入序列中的其它词语,自注意层(self-attention)的输出将会被输入至全连接的前馈神经网络,即前馈层(feed-forward),各编码器的前馈神经网络参数的数量虽然相同,但作用相互独立;与编码器类似,解码器也包括自注意层(self-attention)和前馈层(feed-forward),但在自注意层(self-attention)与前馈层(feed-forward)之间还包括了编-解码注意层(encoder-decoderattention),用于在解码阶段局部重视与输入句子中对应的词语。由此可知,transformer模型的自注意层(self-attention),其输入和输出是存在依赖关系的,但是在前馈层(feed-forward)并不存在依赖关系,因此,可以利用并行化来提升计算速度。

transformer模型在语义特征提取和长距离特征捕捉等方面已经在机器翻译领域被证明具有较强优势,发明人特别研究了transformer模型在机器领域上的优势及特点,凭借在图像描述领域积累的经验,发明人认为可以将transformer模型进行适应性改造,使其能够用于图像描述任务中,并且在图像描述时发挥其并行计算、运行效率高等特点。

为此,发明人提出了一种基于transformer扩展模型的图像描述算法模型及利用该模型进行图像描述的方法,以下结合附图,详细说明本申请各实施例提供的技术方案。

图3是本说明书一个或多个实施例的图像描述算法模型结构示意图,图4是现有的transformer模型示意图。如图3所示,该模型包括至少一个全局编码器组、至少一个目标编码器组、至少一个解码器组以及归一化处理器。其中,全局编码器组包含依次堆叠的若干全局编码器,各全局编码器由下至上均依次包括自注意层(self-attention)和前馈层(feed-forward);目标编码器组包含依次堆叠的若干目标编码器,各目标编码器由下至上均依次包括自注意层(self-attention)、全局注意层(globalfeatsattention)和前馈层(feed-forward);解码器组包含依次堆叠的若干解码器,各解码器由下至上均依次包括自注意层(self-attention)、全局注意层(globalfeatsattention)、编-解码注意层(encoder-decoderattention)和前馈层(feed-forward);相比于前述的“解码器也包括自注意层和前馈层,在自注意层与前馈层之间还包括了编-解码注意层”,这里的“解码器依次包括自注意层、全局注意层、编-解码注意层和前馈层”展现了解码器组采用了基于transformer模型的扩展结构,也即展现了基于transformer的扩展模型。

以包含一个全局编码器、一个目标编码器、一个解码器和一个归一化处理器的图像描述算法模型为例,将获得的待描述图像的全局图像信息(globalfeats,全局图像信息包括与待检测目标相关联的至少一组图像特征信息,图像特征信息包括利用不同的图像特征提取方法提取的多组特征信息,或图像特征信息包括针对包含所述待检测目标的不同图像提取的多组特征信息)输入至全局编码器,依次经过自注意层和前馈层的编码获得编码后的待描述图像的全局特征信息,并将该全局特征信息分别输入至目标编码器和解码器的全局注意层;将获得的待描述图像的目标检测信息(objectfeats)首先输入至目标编码器的自注意层,再将从该自注意层获得的输出与从全局编码器获得的全局特征信息共同输入至目标编码器的全局注意层,经过目标编码器的全局注意层和前馈层后获得目标特征信息,并将该目标特征信息输入至解码器的编-解码注意层;将获得的目标向量(targetembedding)首先输入至解码器的自注意层,再将从该自注意层获得的输出,与从全局编码器获得的全局特征信息共同输入至解码器的全局注意层,再将从该全局注意层获得的输出,与从目标编码器获得的目标特征信息共同输入至解码器的编-解码注意层,将从编-解码注意层获得的输出经过解码器的前馈层,从而获得解码器的输出,将该输出输入至归一化处理器,进行归一化处理,从而获得对应于图像的描述。

若一个全局编码器组中的全局编码器为一个以上,或一个目标编码器组中的目标编码器为一个以上,或一个解码器组中的解码器为一个以上,则将获取的全局图像信息输入至全局编码器组,并获得图像的全局特征信息进一步包括:将所述全局图像信息输入至最下层所述全局编码器,经自注意层和前馈层,获得最下层所述全局编码器的输出;将最下层所述全局编码器的输出作为上一层所述全局编码器的输入执行迭代运算,直到获得所述最上层全局编码器的前馈层的输出作为全局特征信息。

将所述全局特征信息和获取的目标检测信息输入至目标编码器组,并获得目标特征信息进一步包括:将所述目标检测信息输入至最下层所述目标编码器的自注意层,并获得最下层所述目标编码器自注意层的输出;将最下层所述目标编码器自注意层的输出与所述全局特征信息输入至最下层所述目标编码器的全局注意层,经过最下层目标编码器的全局注意层和前馈层获得最下层所述目标编码器的输出;将最下层所述目标编码器的输出作为上一层所述目标编码器的自注意层的输入执行迭代运算,直到获得所述最上层目标编码器的全局注意层的输出作为目标特征信息。

将所述全局特征信息、所述目标特征信息和获取的目标向量输入至解码器组,并获得对应的图像描述进一步包括:将所述目标向量输入至最下层所述解码器的自注意层,并获得最下层所述解码器自注意层的输出;将最下层所述解码器自注意层的输出与所述全局特征信息输入至最下层所述解码器的全局注意层,并获得最下层所述解码器全局注意层的输出;将最下层所述解码器全局注意层的输出与所述目标特征信息输入至最下层所述解码器的编-解码注意层,并获得最下层所述解码器编-解码注意层的输出;将最下层所述解码器编-解码注意层的输出输入至最下层所述解码器的前馈层,并获得最下层所述解码器的输出;将所述最下层所述解码器的输出作为上一层所述解码器的自注意层的输入执行迭代运算,直到获得所述最上层解码器的输出作为对应的图像描述。

在一个或多个实施例中,由于transformer模型的结构不使用任何递归结构或卷积结构,为了让模型能利用输入序列的顺序信息,就需要引入能表达输入序列每个部分的绝对或相对位置的信息。例如,可以利用cnn网络对图像进行编码处理,并将最后一层卷积的featuremap经过位置编码(positionalencoding)后作为全局图像信息输入至上述全局编码器,其中,位置编码是指对序列中包含的元素的位置进行编码,具体的,该featuremap可以表示为:

f=[f1,f2,...,fm],fi∈rd

其中,d是featuremap的尺寸,m是featuremap的空间位置。

在一个或多个实施例中,cnn网络的结构一般包括数据输入层(inputlayer)、卷积层(convlayer)、激励层(relulayer)、池化层(poolinglayer)以及全连接层(fclayer)。

其中,输入层用于对图像原始数据执行预处理,例如,去均值处理(即将输入数据各维度均中心化为0)、归一化处理(即将幅度归一化至相同范围,以便减少取值范围差异的干扰)或白化或降维处理等。卷积层是一种局部关联结构,其中的每个神经元可以看作是一个滤波器(filter),通过对窗口(receptivefield)进行滑动操作,滤波器可以针对局部数据进行计算,卷积层是cnn网络的重要层次之一,具有参数共享机制,即每个神经元连接数据窗的权重是固定的。激励层的作用是针对卷积层的输出结果执行非线性映射。其中,cnn网络通常采用的激励函数为修正线性单元(therectifiedlinearunit,relu),该激励函数的收敛较快且梯度计算简单。池化层一般用于压缩数据和参数的量,以便减小过拟合,在图像领域,池化层可用于压缩图像,常用的方法有maxpooling和averagepooling,其中,maxpooling更加常用,例如,基于maxpooling方法,针对每个2*2的窗口选出最大数作为输出矩阵的相应元素值。全连接层通常设置在cnn网络的尾部,由于两层之间所有神经元都有权重连接,设置全连接层的作用是最大可能的利用现在经过窗口滑动和池化后保留下的少量信息还原原本的输入信息。

在cnn网络中,根据实际需求,卷积层、激励层以及池化层可以在隐藏层中出现多次。其中,在cnn的每个卷积层,数据都是以三维形式存在的,也可以将看成许多个二维图片叠在一起,其中,每一个三维数据可以称为一个featuremap,例如,在输入层,如果是灰度图片,那么在卷积层就只有一个featuremap;如果是彩色图片(rgb),一般就是3个featuremap(红绿蓝)。

在一个或多个实施例中,上述全局编码器中的每个层之间均引入了残差连接(residualconnection)和层归一化(layernormalization)。其中,残差连接是指,假设一个输入向量x,经过一个网络结构,得到输出向量f(x),加上残差连接,相当于在输出向量中加入输入向量,即输出结构变为f(x)+x,残差连接的优势在于,对x求偏导时,加入一项常数项1,避免了梯度消失的问题;层归一化是指在每一层输出的每一个样本上进行归一化,归一化的本质是将数据转化为均值为0,方差为1的数据,从而减小数据的偏差,规避训练过程中梯度消失或爆炸的情况。

具体的,利用cnn网络获得的全局图像信息输入至包含若干全局编码器的全局编码器组后,依次经过堆叠的各全局编码器,经过第一个全局编码器的自注意层后做一次残差连接和层归一化,可以获得:

g(l)=multihead(f,f,f)

再将获得的g(1)输入至前馈层,并获得前馈层的输出h(1),再将获得的输出h(1)做一次残差连接和层归一化输入至下一个全局编码器,经过ng次的迭代后,在最后一个全局编码器,可以获得:

g(n)=multihead(f(n-1),f(n-1),f(n-1))

h.(n)=layernorm(h(n)+g(n))

其中,g(n)是自注意层的输出;h(n)是前馈层的输出;h.(n)层归一化的输出;则有,是全局编码器组输出的全局特征信息。

在一个或多个实施例中,上述全局编码器的输入可以包含多个与目标相关联的全局图像信息。

例如,上述全局图像信息可以是利用不同的图像识别方法,针对包含目标的同一张图像提取的若干全局图像信息。以vggnet模型和resnet模型针对同一张图像分别提取全局图像信息为例进行说明。图像特征信息包括利用resnet网络和vgg网络分别针对包含所述待检测目标图像提取的两组特征信息。

vggnet模型包含很多级别的网络,深度从11层到19层不等,比较常用的是vggnet-16和vggnet-19。vggnet模型把网络分成了5段,每段都把多个3*3的卷积网络串联在一起,每段卷积后面接一个最大池化层,最后是3个全连接层和一个softmax层。

vggnet模型利用了反复的堆叠3*3的小型卷积核和2*2的最大池化层,通过不断加深网络结构来提升性能。其中,网络层数的增长并不会带来参数量上的爆炸,因为参数量主要集中在最后三个全连接层中。同时,两个3*3卷积层的串联相当于1个5*5的卷积层,3个3*3的卷积层串联相当于1个7*7的卷积层,使得前者对于特征的学习能力更强。

resnet模型,即,残差网络模型,采用了跨层链接思想,假定某段神经网络的输入是x,期望输出是h(x),即,h(x)是期望的复杂潜在映射,通过“shortcutconnections(捷径连接)”的方式,可以直接把输入x传到输出作为初始结果,输出结果为:

h(x)=f(x)+x

当f(x)=0时,那么h(x)=x,即,恒等映射。

也就是说,残差网络相当于将学习目标改变为目标值h(x)和x的差值,即,残差:

f(x):=h(x)-x

因此,残差网络的训练目标就是要将残差结果逼近于0,使到随着网络加深,准确率不下降。这种残差跳跃式的结构,打破了传统的神经网络n-1层的输出只能给n层作为输入的惯例,使某一层的输出可以直接跨过几层作为后面某一层的输入,其意义在于为叠加多层网络而使得整个学习模型的错误率不降反升的难题提供了新的方向。

又例如,上述全局图像信息可以是针对包含目标的一系列图像分别提取的若干全局图像信息,其中,一系列图像可以是一段视频中的连续视频帧,或者是以目标为中心的不同角度的图像,如目标的俯视图、侧视图、底视图等。利用图像识别方法分别获得上述全局图像信息后,可将上述全局图像信息分别输入至全局编码器,并将获得的对应数量的全局特征信息共同输入至目标编码器的全局注意层和解码器的全局注意层,用于对目标检测信息的编码,和图像的解码,最终获得对应于图像的描述,例如,当一系列图像是一段视频中的连续视频帧时,可以获得目标在该段视频中的描述;当一系列图像是以目标为中心的图像时,可以获得该目标在其背景环境中更加精确的描述。

在一个或多个实施例中,为了让模型能利用输入序列的顺序信息,还可以利用faster-rcnn网络进行图像的目标检测编码处理,例如,可以获得faster-rcnn网络的第fc6层,将faster-rcnn网络的第fc6层作为目标检测信息输入至上述目标编码器。具体的,第fc6层的目标检测信息可以表示为:

v={v1,v2,...,vk}

与全局编码器类似,目标编码器中的每个层之间也引入了残差连接和层归一化,具体的,将目标检测信息v输入至包含若干目标编码器的目标编码器组后,依次经过堆叠的各目标编码器,经过no次的迭代后,在最后一个目标编码器,可以获得:

s(n)=multihead(v(n-1),v(n-1),v(n-1))

q(n)=multihead(h(nc),h(nc),s.(n))

p.(n)=layernorm(p(n)+q.(n))

其中,s(n)是自注意层的输出;q(n)是全局注意层的输出;p(n)是前馈层的输出;p.(n)层归一化的输出;则有,是目标编码器组输出的目标特征信息。

在一个或多个实施例中,faster-rcnn网络一般包括特征提取部分、rpn部分、proposallayer部分以及roipooling部分。具体的,特征提取部分是指用一串卷积和pooling从原图中提取出featuremap;rpn部分是通过网络训练的方式从featuremap中获取目标的大致位置;proposallayer部分是指利用rpn获得的大致位置进行继续训练,获得更精确的位置;roipooling部分是指利用前面获取到的精确位置,从featuremap中抠出要用于分类的目标,并pooling成固定长度的数据。

在一个或多个实施例中,上述模型中的解码器组采用了transformer的扩展结构,因此在解码时不仅要考虑当前的解码序列,还要考虑已经解码完成的序列。假设解码器预测的第t-th个词为yt,则在yt之前,解码器组的解码结果可以表示为:

其中,dv是词库的大小。

根据上述获得的在词yt之前解码器组获得的解码结果y获取目标向量,具体的,将上述获得的在词yt之前解码器组获得的解码结果y经过词语转换(wordingembedding)和位置编码(positionalencoding)后作为解码器组的输入,即目标向量,其中,词语转换是指将文本空间中的某个词语,通过一定的方法映射到另一个数值向量空间,即将文本数据转换为数值型数据;位置编码是指对序列中所包含的元素的位置进行编码。

将目标向量输入至解码器组后,可以在各解码器层获得:

a(n)=maskedmultihead(yn,yn,yn)

b(n)=multihead(h.nc,h.nc,a.(n))

c(n)=multihead(p.mc,p.mc,b.(n))

d.(n)=layernorm(d(n)+c.(n))

其中,a(n)是自注意层的输出;b(n)是全局注意层的输出;c(n)是编-解码注意层的输出;d(n)是前馈层的输出;d.(n)层归一化的输出。类似的,通过堆叠上述解码器的各层可以获得对应于图像的解码器的输出,即对应于图像的描述。

在一个或多个实施例中,图5和图6是本说明书一个或多个实施例的实例图像,利用现有的图像描述算法模型(现有的encoder-decoder模型)对上述两幅图像进行描述,分别获得:

图5:“ayoungboyholdingapairofscissorsinfrontofawooden”

图6:“abasketballplayerinawhiteuniformisjumpinguptocatchaball”

相对应的,将图5和图6分别利用本申请实施例提供的图像描述算法模型执行图像描述,可以获得对应的描述为:

图5:“ayoungboycuttingapieceofpaperwithscissors”

图6:“abasketballplayerinawhiteuniformisattemptingtoblocktheball”

由此可知,利用本申请实施例提供的图像描述算法模型获得的图像描述结果相对于一般的图像描述算法获得的描述结果,更加准确,并且更加符合语言的语法习惯。

本实施例中,通过目标检测得到的目标检测信息后,可以利用transformer扩展模型里的注意力机制对图像通过cnn得到的全局图像信息进行关注,并将得到的两种特征进行了融合,即对两种特征分别利用全局编码器和目标编码器进行自注意力过程(全局编码器和目标编码器的自注意层),使得两种特征有较好的融合;然后利用目标检测信息检索全局图像信息(全局注意层),使得全局图像信息具有更强语义信息;本实施例中,根据目标检测信息去引导全局图像信息的注意力转移,保证注意力转移的有效性;从而结合了视觉注意力机制和视觉注意力转移的过程。

本实施例结合了视觉注意力机制和视觉注意力转移的过程,在图像描述任务中根据当前生成的语境、语义和图像全局信息,以及得到的目标检测信息构建了基于transformer扩展结构的图像描述算法模型,该模型在解码端采用了全局解码端和目标解码端相结合,不仅关注了图像的局部信息,同时也关注了图像的全局信息,使得生成的图像描述更加准确;由于采用了基于transformer的扩展结构,使得算法模型在执行运算时能够适合并行计算,能够缩短模型训练时间,大幅度提高图像描述算法模型的运算效率。

本说明书实施例还提供一种图像描述装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述图像描述方法的步骤。

本说明书实施例还提供一种图像描述设备,包括:

至少一个处理器;

以及,

与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述图像描述方法的步骤。

本申请实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述的图像描述方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的进行图像描述的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述进行图像描述的方法的技术方案的描述。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1