本发明涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像处理方法、一种图像处理装置、一种计算机存储介质以及一种服务器。
背景技术:
为了方便快速了解图像的主要内容,图像内容理解服务应运而生。图像内容理解服务是将图像内容转换为采用一个自然语句来进行描述的服务,因此图像内容理解也可以理解为图像内容描述。换句话说,图像内容理解可以看成是翻译问题,即将图像内容翻译成自然语句描述。衡量图像内容理解服务的质量优劣的一个重要因素,即是用于描述图像内容的自然语句的描述准确率。
现有技术中,图像处理流程一般分为编码阶段及解码阶段。编码阶段:由编码器对原始图像的各帧图像进行图像特征的提取。解码阶段:由解码器根据编码器提取的图像特征预测出用于描述该图像内容的自然语句。通过现有技术的方案虽然实现了图像内容理解服务,但是,现有技术通过解码器和解码器仅是获得用于描述图像内容的自然语句,并未关注从多个角度描述图像,这就无法保证图像内容理解服务的质量。
技术实现要素:
本发明实施例提供一种图像处理方法、一种图像处理装置、一种计算机存储介质及一种服务器,可提高采用自然语句对图像内容进行描述的描述准确率,提高图像内容理解服务的质量,进而可提高图像内容理解服务的用户体验。
第一方面,本发明实施例提供了一种图像处理方法,该方法适用于图像处理系统,该图像处理系统中包括编码器、融合器和解码器,该方法包括:
融合器从上述编码器获取待处理图像的m组图像特征,其中m为不小于2的整数;
融合器获取上述m组图像特征中各组图像特征对应的第一图像表示信息;
融合器根据上述各组图像特征和上述各组图像特征对应的第一图像表示信息,生成m个隐含状态集合,其中,一组图像特征对应生成的一个图像表示信息集合,一个图像表示信息集合中包括至少一个第二图像表示信息;
融合器融合上述m个图像表示信息集合包括的第二图像表示信息,得到目标图像表示信息,将上述目标图像表示信息输出给解码器;
其中,上述目标图像表示信息用于解码器对上述待处理图像进行解码得到上述待处理图像的图像描述。
在一些可行的实施方式中,上述融合器从上述编码器获取待处理图像的m组图像特征包括:
融合器从上述图像处理系统中包括的m个编码器获取待处理图像的m组图像特征,其中,一个编码器对应一组编码参数,一个编码器输出一组图像特征;或者
融合器从图像处理系统的编码器的m个编码通道中获取待处理图像的m组图像特征,其中,编码器的一个编码通道对应一组编码参数,一个编码通道输出一组图像特征。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中包括待处理图像的全局图像特征;
上述融合器获取上述m组图像特征中各组图像特征对应的第一图像表示信息包括:
上述融合器根据上述m组图像特征中各组图像特征中的全局图像特征和指定线性变换矩阵生成上述各组图像特征对应的第一图像表示信息。
在一些可行的实施方式中,上述各组图像特征对应的第一图像表示信息可为各组图像特征对应的第一隐含状态;
上述融合器根据上述各组图像特征和上述各组图像特征对应的第一图像表示信息,生成m个图像表示信息集合,包括:
上述融合器基于第一长短时记忆lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a;
上述融合器基于第二lstm单元对上述任一组图像特征和上述图像表示信息a进行学习,得到上述任一组图像特征对应的图像表示信息b;
合并上述任一组图像特征对应的上述图像表示信息a和上述图像表示信息b得到上述任一组图像特征对应的图像表示信息集合i,其中,上述图像表示信息a和上述图像表示信息b为上述图像表示信息集合i中包括的第二图像表示信息;
获取各组图像特征对应的图像表示信息集合,得到上述m组图像特征对应的m个图像表示信息集合。
在一些可行的实施方式中,本发明实施例提供的图像表示信息可包括隐含状态,上述第一图像表示信息可为第一隐含状态,上述第二图像表示信息可为第二隐含状态,上述隐含状态a和隐含状态b可分别为图像表示信息a和图像表示信息b,下面不再赘述。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中还包括上述待处理图像的子区域局部图像特征;
上述融合器基于第一lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a包括:
上述融合器基于第一lstm单元中的注意力模型对上述任一组图像特征中的子区域局部图像特征和上述任一组图像特征对应的第一图像表示信息进行学习并输出上述任一组图像特征对应的上下文向量;
上述融合器基于上述第一lstm单元对上述任一组图像特征对应的上下文向量和上述各组图像特征对应的第一图像表示信息进行学习得到上述任一组图像特征对应的图像表示信息a。
在一些可行的实施方式中,上述融合器融合上述m个图像表示信息集合包括的第二图像表示信息得到目标图像表示信息包括:
上述融合器根据上述m个图像表示信息集合中各个图像表示信息集合包括的图像表示信息b确定第三图像表示信息;
针对上述各个图像表示信息集合中任一图像表示信息集合j执行如下操作得到上述图像表示信息集合j对应的上下文向量:
基于注意力模型对上述第三图像表示信息和上述图像表示信息集合j中的第二图像表示信息进行学习并输出上述图像表示信息集合j对应的上下文向量,其中,一个图像表示信息集合对应一个注意力模型;
获取上述m个图像表示信息集合对应的m个上下文向量,并根据上述m个上下文向量得到目标向量矩阵;
基于第三lstm单元对上述目标向量矩阵和上述第三图像表示信息进行处理,生成目标图像表示信息。
在一些可行的实施方式中,上述第三lstm单元至少包括lstm1和lstm2,上述基于第三lstm单元根据上述目标向量矩阵和上述第三图像表示信息生成目标图像表示信息包括:
基于上述lstm1对上述目标向量矩阵中包括的m个上下文向量和上述第三图像表示信息进行学习,得到图像表示信息c;
基于上述lstm2对上述m个图像表示信息集合包括的第二图像表示信息和上述图像表示信息c进行学习,得到图像表示信息d;
合并上述图像表示信息c和上述图像表示信息d得到目标图像表示信息集合,并将上述目标图像表示信息集合中的上述图像表示信息c和上述图像表示信息d确定为目标图像表示信息。
在一些可行的实施方式中,上述方法还包括:
上述融合器从上述解码器获取上述待处理图像的图像描述,并根据上述待处理图像的图像描述确定图像处理的判别监督损失函数;
上述融合器根据上述待处理图像的m个图像表示信息集合和上述目标图像表示信息,结合上述判断监督损失函数构建图像处理系统的损失函数;
上述融合器根据上述损失函数修正其所采用的lstm单元的网络参数。
在一些可行的实施方式中,上述损失函数还可用于修正解码器所采用的lstm单元的网络参数。
第二方面,本发明实施例提供了一种图像处理装置,上述图像处理装置应用于图像处理系统,上述图像处理系统包括编码器和解码器,上述图像处理系统中还包括融合器,上述装置可为融合器,该装置包括:
获取单元,用于从上述编码器获取待处理图像的m组图像特征,其中m为不小于2的整数;
上述获取单元,还用于获取上述m组图像特征中各组图像特征对应的第一隐含状态;
第一融合单元,用于根据上述获取单元获取的上述各组图像特征和上述各组图像特征对应的第一图像表示信息,生成m个图像表示信息集合,其中,一组图像特征对应生成的一个图像表示信息集合,一个图像表示信息集合中包括至少一个第二图像表示信息;
第二融合单元,用于融合上述第一融合单元得到的上述m个图像表示信息集合包括的第二图像表示信息进行学习得到目标图像表示信息;
输出单元,用于将上述第二融合单元得到的上述目标图像表示信息输出给上述解码器;
其中,上述目标图像表示信息用于上述解码器对上述待处理图像进行解码得到上述待处理图像的图像描述。
在一些可行的实施方式中,上述获取单元用于:
从上述图像处理系统中包括的m个上述编码器获取待处理图像的m组图像特征,其中,一个编码器对应一组编码参数,一个编码器输出一组图像特征;或者
从上述图像处理系统的编码器的m个编码通道中获取待处理图像的m组图像特征,其中,上述编码器的一个编码通道对应一组编码参数,一个编码通道输出一组图像特征。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中包括上述待处理图像的全局图像特征;
上述获取单元用于:
根据上述m组图像特征中各组图像特征中的全局图像特征和指定线性变换矩阵生成上述各组图像特征对应的第一图像表示信息。
在一些可行的实施方式中,上述第一融合单元用于:
基于第一lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a;
基于第二lstm单元对上述任一组图像特征和上述图像表示信息a进行学习,得到上述任一组图像特征对应的图像表示信息b;
合并上述任一组图像特征对应的上述图像表示信息a和上述图像表示信息b得到上述任一组图像特征对应的图像表示信息集合i,其中,上述图像表示信息a和上述图像表示信息b为上述图像表示信息集合i中包括的第二图像表示信息;
获取各组图像特征对应的图像表示信息集合,得到上述m组图像特征对应的m个图像表示信息集合。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中还包括上述待处理图像的子区域局部图像特征;
上述第一融合单元用于:
基于第一lstm单元中的注意力模型对上述任一组图像特征中的子区域局部图像特征和上述任一组图像特征对应的第一图像表示信息进行学习并输出上述任一组图像特征对应的上下文向量;
基于上述第一lstm单元对上述任一组图像特征对应的上下文向量和上述各组图像特征对应的第一图像表示信息进行学习得到上述任一组图像特征对应的图像表示信息a。
在一些可行的实施方式中,上述第二融合单元用于:
根据上述m个图像表示信息集合中各个图像表示信息集合包括的图像表示信息b确定第三图像表示信息;
针对上述各个图像表示信息集合中任一图像表示信息集合j执行如下操作得到上述图像表示信息集合j对应的上下文向量:
基于注意力模型对上述第三图像表示信息和上述图像表示信息集合j中的第二图像表示信息进行学习并输出上述图像表示信息集合j对应的上下文向量,其中,一个图像表示信息集合对应一个注意力模型;
获取上述m个图像表示信息集合对应的m个上下文向量,并根据上述m个上下文向量得到目标向量矩阵;
基于第三lstm单元对上述目标向量矩阵中的m个上下文向量和上述第三图像表示信息进行学习,得到目标图像表示信息。
在一些可行的实施方式中,上述第二融合单元所采用的第三lstm单元至少包括lstm1和lstm2,上述第二融合单元用于:
基于上述lstm1对上述目标向量矩阵中的m个上下文向量和上述第三图像表示信息进行学习,得到图像表示信息c;
基于上述lstm2对上述m个图像表示信息集合包括的第二图像表示信息和上述图像表示信息c进行学习,得到图像表示信息d;
合并上述图像表示信息c和上述图像表示信息d得到目标图像表示信息集合,并将上述目标图像表示信息集合中包括的上述图像表示信息c和上述图像表示信息d确定为目标图像表示信息。
在一些可行的实施方式中,上述图像处理装置还包括优化单元,用于:
从上述解码器获取上述待处理图像的图像描述,并根据上述待处理图像的图像描述确定图像处理的判别监督损失函数;
根据上述待处理图像的m个图像表示信息集合和上述目标图像表示信息,结合上述判断监督损失函数构建图像处理系统的损失函数;
根据上述损失函数修正其所采用的lstm单元的网络参数。
第三方面,本发明实施例提供了一种计算机存储介质,该计算机存储介质应用于图像处理系统中,该图像处理系统包括编码器、融合器以及解码器,该计算机存储介质存储有一条或一条以上指令,上述一条或一条以上指令适于由融合器加载并执行上述第一方面以及第一方面中任一种可行的实施方式所提供的方法。
第四方面,本发明实施例提供了一种服务器,该服务器包括图像处理系统,该图像处理系统包括编码器、融合器和解码器,该融合器还包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,该计算机存储介质存储有一条或一条以上指令,上述一条或一条以上指令适于由处理器加载并执行上述第一方面以及第一方面中任一种可行的实施方式所提供的方法。
本发明实施例通过融合器可将从编码器获取得到的多组图像特征以及各组图像特征对应的图像表示信息进行学习并融合得到多个图像表示信息集合,进而可将多个图像表示信息集合进一步融合得到目标图像表示信息,并将目标图像表示信息输出给解码器,通过解码器结合融合得到的待处理图像的目标图像表示信息进行待处理图像进行解码得到用于对待处理图像对应的自然语句,该自然语句用于对待处理图像进行图像描述。这样通过融合器将编码器处理得到的多组图像描述进行融合以得到更丰富数据量的图像特征,通过更大数据量的图像特征提供给解码器进行解码,有利于提升自然语句的描述准确率,优化图像内容理解服务的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的图像处理系统的一框架示意图;
图2为本发明实施例提供的图像处理系统的另一框架示意图;
图3是本发明实施例提供的图像处理的应用场景示意图;
图4为本发明实施例提供的图像特征融合示意图;
图5为本发明实施例提供的图像处理方法的一流程图示意图;
图6为本发明实施例提供的图像处理方法的另一流程图示意图;
图7为本发明实施例提供的图像处理装置的结构示意图;
图8为本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了方便快速了解图像的主要内容,图像内容理解服务应运而生。所谓图像内容理解服务是指通过对图像进行包括提取图像的特征、理解图像内容等一系列的编解码处理,最后生成用于描述图像内容的自然语句。换句话说,图像内容理解服务是将图像内容转换为采用一个自然语句来进行描述的服务。图像内容理解服务可以应用于多种互联网场景中,例如:图像内容理解服务可以应用于图像类网站的图像分类场景中,基于图像的自然语句描述来对图像进行分类;再如:图像内容理解服务还可以应用于图像类网站的图像检索场景中,基于图像的自然语句描述来对图像进行检索;还可与语音检索系统相结合,通过将图像的自然语句转换为语音输出以用于辅助视觉障碍者进行图像检索;图像内容理解服务还可以应用于从监控视频中找到目标人物等对象的目标检测场景中;等等,具体可根据实际应用场景确定,在此不做限制。
衡量图像内容理解服务的质量优劣的一个重要因素,即是用于描述图像内容的自然语句的描述准确率。如果自然语句的描述准确率越高,表明自然语句所描述的内容与图像内容的匹配度越高,那么图像内容理解服务质量越优质,用户使用体验越佳。反之,自然语句的描述准确率越低,表明自然语句所描述的内容与图像内容的匹配度越低,那么图像内容理解服务质量越劣质,用户使用体验越差。
参见图1,图1是本发明实施例提供的图像处理系统的一框架示意图。参见图1,该图像处理系统的框架主要由编码器和解码器组成。对应的,采用该图像处理系统进行图像处理的流程分为两个阶段,包括编码阶段及解码阶段。编码阶段:由编码器对原始图像的各帧进行图像特征提取。解码阶段:通过诸如平均特征机制、注意力机制等方式对编码阶段所提取的帧特征进行变换,再由解码器依据变换后的图像特征预测出用于描述该图像内容的自然语句。本发明实施例将以注意力机制为例仅是说明,下面不再赘述。从图1所示的图像处理系统对应的图像处理方案可以看出,解码器是利用编码器输出的图像特征来进行自然语句的生成,编码器输出的图像特征的丰富与否,将直接影响到解码器由编码器输出的图像特征处理得到的自然语句用于描述图像内容的准确率。在图1所示的图像处理方案中,编码器输出的向量直接用于解码器的解码而并未做任何处理,单个编码器输出的向量的图像信息量少,解码器仅是能够根据编码器输出的向量解码获得用于描述图像内容的自然语句,无法保障自然语句对图像内容的描述准确率,无法保证图像内容理解服务的质量,适用性差。
基于此,本发明实施例提出这样一种图像处理方法,在图像处理系统中添加融合器,使得图像处理系统既包括编码器和解码器,也包括融合器。通过融合器将多个编码器所提取的多组图像特征及其对应的图像表示信息等图像数据进行融合,或者将编码器的多个编码通道输出的多组图像特征及其对应的图像表示信息等图像数据进行融合,并将融合后的图像特征输出给解码器。解码器利用融合器融合得到的更丰富的图像数据对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。
基于此原理,本发明实施例提出的图像处理系统在图1所示的系统架构的基础上引入用于融合编码器输出的图像特征的融合器,请一并参见图2,图2是本发明实施例提供的图像处理系统的另一框架示意图。本发明实施例的图像处理系统包括编码器、融合器和解码器。基于图2所示的图像处理系统,本发明实施例的图像处理流程主要分为三个阶段,包括编码器端的编码阶段、融合器端的融合阶段及解码器端的解码阶段。下面将对上述三个阶段中各阶段的实现方式进行说明,具体如下:
一、编码阶段:
将原始图像(即待处理图像,为方便描述,下面将以待处理图像为例进行说明)输入至编码器中,由编码器对待处理图像的每一帧进行特征提取,得到帧特征序列。一般地,编码器可以基于卷积神经网络(convolutionalneuralnetwork,cnn)来进行特征提取。编码器可通过cnn对待处理图像进行图像编码,并可通过cnn的最后一个全连接层输出用于表示图像的全局信息的全局图像特征,通过cnn的最后一个卷积层(conv层)输出用于表示图像的局部信息的局部图像特征集合。其中,上述用于表示图像的全局信息的全局图像特征可通过一个向量表示,上述用于表示局部信息的局部图像特征集合可通过一个向量集合表示。在该向量集合中的一个向量表示图像的一个区域的图像特征。
二、融合阶段
在本发明实施例中,在编码器和解码器之间添加融合器,通过融合器可将编码器输出的对待处理图像的多种图像表示合并为对待处理图像的最终图像表示,进而可将合并得到的对待处理图像的最终图像表示输入解码器,通过解码器输出对待处理图像进行图像描述的自然语句。例如,参见图3,图3是本发明实施例提供的图像处理的应用场景示意图。如图3所示,在本发明实施例提供的图像处理方法中,可首先将待处理图像输入编码器端,通过编码器端的多个cnn输出待处理图像的多组图像特征(可作为待处理图像的多种图像表示)。融合器端可从编码器端获取多组图像特征,并对多组图像特征进行融合得到待处理图像的最终图像表示,并输出至解码器端。解码器端可对融合器端输出的最终图像表示进行解码得到待处理图像的图像描述,例如,输出待处理图像为“行人”图像的自然语句。
在一些可行的实施方式中,图像处理系统可通过多个编码器对待处理图像进行图像编码以输出待处理图像的多组图像特征。其中,一个编码器可对应采用一个cnn,并且每个cnn所采用的网络参数不同,即上述多个编码器中各编码器所采用的编码参数不同。其中,上述多个编码器输出的多组图像特征中每一组图像特征中均包括一个全局图像特征和一组局部图像特征。
可选的,在一些可行的实施方式中,一个编码器中也可包括多个cnn,并且一个cnn为一个编码通道,即编码器中可包括多个编码通道用于对待处理图像进行图像编码以输出待处理图像的多组图像特征。其中,上述多个cnn中每个cnn所采用的网络参数不同,即上述编码器的多个编码通道中一个编码通道对应一组编码参数,进而通过多个cnn对应的多个编码通道对待处理图像进行编码处理可输出多组不同的图像特征。其中,上述多组不同的图像特征可为待处理图像的多组图像表示。同理,上述多组图像特征中每组图像特征均包括全局图像特征和一组局部图像特征。
在一些可行的实施方式中,假设编码器的数量为m个,其中一个编码器对应一个cnn,或者一个编码器中的编码通道的数量为m个,其中,一个编码通道对应一个cnn。其中,不同的cnn所采用的网络参数不同,因此,上述m个编码器所对应的m个cnn,或者一个编码器的m个编码通道所对应的m个cnn可为m种不同的cnn。为方便描述,下面以m个cnn对待处理图像进行图像特征提取为例进行说明。假设上述m个cnn中的第m个cnn对待处理图像进行特征提取得到的全局图像特征表示为
在一些可行的实施方式中,融合器可从编码器获取m个cnn对待处理图像进行图像特征提取得到的m组图像特征,进而可将上述m组图像特征进行融合得到待处理图像的最终图像表示并输出给解码器。其中,融合器对从编码器获取的m组图像特征进行融合可包括融合阶段1和融合阶段2,每个阶段都可包含一个或者多个图像特征处理步骤。在本发明实施例中,上述融合阶段1和融合阶段2中各个图像特征处理步骤发生在不同的时间,因此为方便描述,图像特征处理步骤也可以时间步骤为例进行说明。请一并参见图4,图4是本发明实施例提供的图像特征融合示意图。
在解码阶段,一般地,解码器可以递归神经网络(recurrentneuralnetwork,rnn)来进行自然语句的预测,而rnn可采用长短时记忆(longshort-termmemory,lstm)单元来实现,因此本发明实施例以基于lstm单元的循环神经网络为例,同时以通过时间注意力机制对待处理图像的图像进行处理为例进行说明。在融合阶段,融合器也可采用lstm单元对从编码器获取的图像特征进行处理从而可保障处理之后输出给解码阶段的解码器的图像表示可满足解码器的需求,进而可保障对待处理图像进行解码之后输出的图像描述的准确率,提高图像处理的处理质量。对应的,在本发明实施例中,在融合器端和解码器端进行图像特征数据处理的过程中,待处理图像的图像表示信息也包括待处理图像的图像特征对应的隐含状态。为方便理解,下面将对lstm单元进行简单介绍:
在一些可行的实施方式中,本发明实施例中融合器所使用的lstm单元可为带注意力模型的lstm,其本质上是一个带状态的函数,可抽象表示为ht=lstm(ht,fatt(a,ht-1))。其中,
ct=ft⊙ct-1+it⊙gt(2)
ht=ot⊙tanh(ct)(3)
其中it、ft、ct和ot分别称为lstm单元的输入门、遗忘门、记忆门和输出门,tanh(·)是双曲正切函数,σ是神经网络常见的激活函数,例如sigmoid函数等。
注意力模型(attentionmodel),又可称作注意力机制(attentionmechanism)被广泛应用于自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,并且对深度学习任务具有极大的提升作用。为方便描述,下面将以注意力模型为例进行说明。
注意力模型fatt(·,·)可以用来确定前一个时间步骤注意的是图像的哪一个区域,也就是为标注向量集合a中的每一个向量计算一个权重值,权重高的向量对应的图像区域表示被注意的区域。注意力模型计算标注向量集合中的任一向量ai对应的权重值可利用一个多层感知器(multilayerperceptron,mlp)来计算。通过mlp可计算ai和ht-1的相似度ei,然后计算ai对应的权重值wi。其中,上述wi满足:
使用标注向量集合a中各个向量对应的权重值可生成时间步骤t输入的标识向量集合对应的上下文向量zt,其中,zt满足:
zt=∑wiai(5)
其中,上述zt可在时间步骤t用到lstm单元的图像特征处理过程中。
在一些可行的实施方式中,如图4,假设在融合阶段1包括的图像特征处理步骤的数量为t1,融合阶段2包括的图像特征处理步骤的数量为t2。为方便描述,将以m=3,t1=2(包括t=1和t=2),t2=3(包括t=t1+1、t=t1+2、t=t1+3)为例,对融合阶段1和融合阶段2中各个步骤的图像特征处理过程进行说明。
融合阶段1:
在一些可行的实施方式中,假设在时间步骤t,如图4所示,第m个cnn输出的图像表示被输入到融合阶段1的第m行。其中,上述第m个cnn输出的图像表示可包括全局图像特征表示为以及局部图像特征表示为
假设在融合阶段1中,在时间步骤t,记第m行的lstm单元的隐含状态和记忆单元分别为
其中,
在一些可行的实施方式中,在融合阶段1中,在时间步骤t,融合器对从编码器获取得到的m组图像特征进行融合时,在融合阶段1中lstm单元的隐含状态
其中,ht满足:
其中,
同理,可通过第m行之外的其他m-1行的注意力模型,根据第m组图像特征之外的其他m-1组图像特征以及各组图像特征对应的第一隐含状态输出各组图像特征对应的上下文向量。
上述式(8)中的
上述式(8)中ht是把时间步骤t的前一个时间步骤(即时间步骤t-1)中各组图像特征对应的隐含状态(例如各组图像特征对应的第一隐含状态)叠成(或称合并)得到的一个向量。例如,针对时间步骤t,假设时间步骤t为1,则h1满足:
同理,针对时间步骤t+1,则有ht+1(例如h2)满足:
在本发明实施例中,如果两个时间步骤不同,例如时间步骤t1和时间步骤t2,并且t1≠t2,或者不同的cnn提取的图像特征输入不相同的两行,例如m1和m2,并且m1≠m2,那么
在一些可行的实施方式中,融合器从编码器端不同的cnn获取的不同组图像特征将输入不相同行的lstm单元中。在融合阶段1中,每一行的不同时间步骤的lstm单元对待处理图像的图像特征进行处理之后输出的隐含状态可融合为一个隐含状态集合,对应的,一个隐含状态集合也可表示为待处理图像对应的一个图像表示信息集合。因此,在融合阶段1中,融合器的m行lstm单元可对应输出m个不同的隐含状态集合。其中,第m行的lstm单元对应输出的隐含状态集合满足:
其中,上述
在一些可行的实施方式中,上述m个隐含状态集合中各个隐含状态集合可用在融合阶段2,也可用在融合器的优化阶段。
融合阶段2:
在一些可行的实施方式中,在融合阶段2中,t2=3表示在融合阶段2中包括3个时间步骤,为方便描述可假设为t1(如t1=t1+1)、t2(如t1=t1+2)和t3(如t1=t1+t2)。如图4所示,在融合阶段2中,不同的时间步骤上可包括不同的lstm单元,每个lstm单元可用于将融合阶段1中处理得到的m个隐含状态集合进行再度融合得到最终一个隐含状态。
如图4所示,在融合阶段2的初始时间步骤(假设为时间步骤t0),可根据融合阶段1中处理得到的各个隐含状态集合中包括的融合阶段1中最后一个时间步骤(例如融合阶段1中的t2=t1)的隐含状态(例如隐含状态b)确定融合阶段2的初始隐含状态(为方便描述可以第三隐含状态为例进行说明,其中,第三隐含状态可为待处理图像对应的另一个图像表示信息,也可称为第三图像表示信息)。其中,上述第三隐含状态(以
如上述式(13)所示,在融合阶段2中,隐含状态(以
在一些可行的实施方式中,在融合阶段2中,针对融合阶段1中任一行的lstm单元输出的隐含状态集合中包括的各隐含状态可执行如下操作得到各隐含状态集合对应的上下文向量:
针对各个时间步骤(以时间步骤t为例进行说明),在该时间步骤t上的lstm单元的隐含状态ht和记忆单元ct满足:
其中,上述式(15)中,lstmt(·,·)是时间步骤t的lstm单元,后面不再赘述。
其中,上述式(16)中
上述式(17)所示的目标隐含状态集合中的目标隐含状态会被用于解码器的注意力模型中,其中,各目标隐含状态用于解码器对待处理图像进行解码得到待处理图像的图像描述。
三、解码阶段:
解码器基于带注意力模型的lstm单元对融合器输出的最终图像表示(即目标图像表示信息,例如目标隐含状态)进行解码,输出各个时刻编码器输出的图像特征经过融合器处理得到的图像表示所对应的词汇,进而可得到用于对待处理图像进行图像描述的自然语句。其中,上述融合器输出的最终图像表示可包括上述式(17)对应的隐含状态集合以及上述融合阶段2中最后一个lstm单元输出的记忆单元ct1+t2,其中,上述ct1+t2满足:
在解码阶段,任一时间步骤t上,解码器的解码可表示为:
[ht,ct]=lstmdec(ht,fatt-dec(c,ht-1))(19)
其中,lstmdec(·,·)表示解码器用的lstm单元。在解码器的解码阶段中,各个时间步骤的解码所使用的lstm单元的网络参数相同。
其中,上述式(19)中的ht满足:
上述,fatt-dec(·,·)表示解码阶段采用的注意力模型,c为融合器输出的隐含状态集合,即上述式(17)得到的隐含状态集合。
一般地,设解码器生成用于描述待处理图像的图像内容的自然语句表示为s,该自然语句s的长度为n(n为正整数),该n的取值可以根据实际需要进行设定。例如:设定n=30,表示自然语句s的长度为30个单词长度;再如:设定n=25,表示自然语句s的长度为25个单词长度。由于自然语句s的长度为n,表示解码器在解码阶段总共进行n次解码处理,即解码器需要进行n个时间步骤的解码处理,每次解码处理需要预测一个单词。即解码器在解码阶段的时间步骤(或称解码时刻)t1预测得到单词s1,在解码时刻t2预测得到单词s2,以此类推,在解码时刻tn预测得到单词sn。也就是说,解码阶段中,解码器在任意解码时刻tk(k为正整数,且1≤k≤n)预测得到单词sk,那么,解码器预测得到的自然语句s={s1,s2,...sk,..,sn}。
可选的,本发明实施例的图像处理流程还可包括优化阶段,下面将对优化阶段的实现方式进行说明,具体如下:
四、优化阶段:
在一些可行的实施方式中,通过图像处理系统中的编码器、融合器和解码器对待处理图像进行编解码处理以得到用于对待处理图像进行图像描述的自然语句之后,融合器可从解码器获取待处理图像的图像描述,并根据待处理图像的图像描述确定图像处理的判别监督损失函数。融合器可根据融合阶段1处理得到的待处理图像的m个隐含状态集合和融合阶段2处理得到的待处理图像的目标隐含状态,结合上述判断监督损失函数确定图像处理的损失函数,并根据上述损失函数修正融合器中所采用的lstm单元的网络参数以优化融合器处理并输出任一图像的隐含状态集合和目标隐含状态的能力。
可选的,上述损失函数也可用于解码器中lstm单元的网络参数以优化解码器处理并输出任一图像对应的自然语句以对任一图像进行图像描述。
在一些可行的实施方式中,融合器可使用判别监督(discriminantsupervision,ds)的图像处理机制来进一步提高自身的图像处理性能。例如,融合器可在任一时间步骤从编码器获取待处理图像对应的m组图像特征,任一组图像特征中包括待处理图像的全局图像特征和局部图像特征。以编码器输出的各组图像特征中的全局图像特征和局部图像特征可构建一个列两项的矩阵,为方便描述可将该矩阵标记为v。根据上述矩阵v和线性变换矩阵w确定该时间步骤获取图像特征对应图像描述中的自然语句集合s,其中,s满足:
s=row_max_pool(wv)(21)
其中,w是一个线性变换的矩阵,row_max_pool(·)是沿着矩阵行向量方向的max_pooling操作,也就是取矩阵行向量中的最大值。把s的第i个元素记为si,就有了判别监督损失函数
其中,
根据上述式(21)所示的判别监督损失函数
其中,λ是经验参数,用于平衡融合器的损失对整个图像处理系统的影响,且λ的值可根据实际经验设定可。yt是单词p(yt+1|yt)由解码器在解码阶段的第t个解码时刻输出的第t个隐含状态做线性变换加softmax操作来计算得到。融合器可通过上述损失函数来修正其所采用的lstm单元的网络参数,进而可提高融合器输出的待处理图像的最终图像表示更加准确,从而使得图像处理系统的图像处理准确率更高。
本发明实施例通过融合器将编码器端多个cnn中各个cnn输出的图像特征及其对应的隐含状态在不同的时间步骤上进行融合得到多个隐含状态集合,再将多个隐含状态集合中包含的更丰富的隐含状态等图像特征进行融合得到待处理图像对应的最终隐含状态。最终隐含状态的获取可融合待处理图像的更多隐含状态等图像特征,进而可获取得到具备更加丰富内容的图像特征,由具备更加丰富内容的图像特征处理得到待处理图像的最终隐含状态,并将待处理图像的最终隐含状态输出给解码器。解码器利用融合器融合得到的最终隐含状态对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。
请一并参见图5,图5是本发明实施例提供的图像处理方法的一流程示意图。本发明实施例提供的图像处理方法可包括步骤s101-s104:
s101,融合器从编码器获取待处理图像的m组图像特征,并获取m组图像特征中各组图像特征对应的第一图像表示信息。
在一些可行的实施方式中,编码器可通过cnn对待处理图像进行图像编码,可通过cnn的最后一个全连接层输出用于表示图像的全局信息的全局图像特征,通过cnn的最后一个卷积层(conv层)输出用于表示图像的局部信息的局部图像特征集合。其中,上述用于表示图像的全局信息的全局图像特征可通过一个向量表示,上述用于表示局部信息的局部图像特征集合可通过一个向量集合表示。在该向量集合中的一个向量表示图像的一个区域的图像特征。编码器端的一个cnn输出的全局图像特征和局部图像特征可组合得到待处理图像的一组图像特征,编码器端的m个cnn可对应输出待处理图像的m组图像特征。
假设上述m个cnn中的第m个cnn对待处理图像进行特征提取得到的全局图像特征表示为
在一些可行的实施方式中,融合器可采用lstm单元对从编码器获取的图像特征进行处理,其中,融合器所采用的lstm单元可为带注意力模型的lstm,其本质上是一个带状态的函数,可抽象表示为ht=lstm(ht,fatt(a,ht-1))。其中,
在一些可行的实施方式中,在融合阶段1中,假设在时间步骤t,记第m行的lstm单元的隐含状态和记忆单元为
s102,融合器根据各组图像特征和各组图像特征对应的第一图像表示信息生成m个图像表示信息集合。
在一些可行的实施方式中,上述m个cnn输出的m组图像特征中,一组图像特征对应一个隐含状态集合(即图像表示信息集合),并且一个隐含状态集合中包括至少一个隐含状态,为方便描述可以第二隐含状态(即第二图像表示信息)进行说明。在时间步骤t,融合器对从编码器获取得到的m组图像特征进行融合时,在融合阶段1中,第m行的lstm单元的隐含状态
上述式(8)中的
上述式(8)中ht是把时间步骤t的前一个时间步骤(即时间步骤t-1)中各组图像特征对应的隐含状态(例如各组图像特征对应的第一隐含状态)叠成得到的一个向量。例如,针对时间步骤t,假设时间步骤t为1,则h1满足上述式(10)所提供的实现方式,在此不再赘述。
在一些可行的实施方式中,融合器从编码器端不同的cnn获取的不同组图像特征将输入不相同行的lstm单元中。在融合阶段1中,每一行的不同时间步骤的lstm单元对待处理图像的图像特征进行处理之后输出的隐含状态可融合为一个隐含状态集合。因此,在融合阶段1中,融合器的m行lstm单元可对应输出m个不同的隐含状态集合。其中,第m行的lstm单元对应输出的隐含状态集合满足上述式(12),在此不再赘述。
为方便描述,在融合阶段1中,在时间步骤t1上,各行的lstm单元输出的隐含状态可用隐含状态a表示。在时间步骤t1之后的时间步骤t2上,各行的lstm单元输出的隐含状态可用隐含状态b表示。在本发明实施例中,隐含状态a和隐含状态b可分别用于表示融合阶段1中不同的时间步骤产生的隐含状态(即图像表示信息),具体可根据实际应用场景需求采用其他更多的形式表示,在此不做限制。
s103,融合器融合上述m个图像表示信息集合包括的第二图像表示信息得到目标图像表示信息。
在一些可行的实施方式中,如图4所示,在融合阶段2中,不同的时间步骤上可包括不同的lstm单元,每个lstm单元可用于将融合阶段1中处理得到的m个隐含状态集合(即m个图像表示信息集合)进行再度融合得到最终隐含状态,为方便描述可以目标隐含状态为例进行说明。这里,目标隐含状态可用于表示待处理图像的最终图像表示信息。可选的,待处理图像的最终图像表示信息也可通过隐含状态之外的其他表现形式的信息表示,具体可根据实际应用场景确定,在此不做限制。
如图4所示,在融合阶段2的初始时间步骤(假设为时间步骤t0),可根据融合阶段1中处理得到的各个隐含状态集合中包括的融合阶段1中最后一个时间步骤(例如融合阶段1中的t=t1=2)的隐含状态(例如隐含状态b)确定融合阶段2的初始隐含状态(为方便描述可以第三隐含状态为例进行说明)。其中,上述第三隐含状态(以
在一些可行的实施方式中,在融合阶段2中,针对融合阶段1中任一行的lstm单元输出的隐含状态集合中包括的各隐含状态可执行如下操作得到各隐含状态集合对应的上下文向量。针对各个时间步骤(以时间步骤t为例进行说明),在该时间步骤t上的lstm单元的隐含状态ht和记忆单元ct满足上述式(15)和式(16),在此不再赘述。图4所示,在融合阶段2有m个注意力模型,有t2个lstm单元。融合阶段1中得到的一个隐含状态集合对应由融合阶段2中的一个注意力模型进行图像特征处理。基于m个注意力模型中的一个注意力模型可输出融合阶段1中一行lstm单元输出的一个隐含状态集合对应的上下文向量。例如,通过融合阶段2中的第m个注意力模型可输出融合阶段1中第m行的lstm单元输出的隐含状态集合m对应的上下文向量。在任一时间步骤t上,基于m个注意力模型处理得到的m个上下文向量可与时间步骤t-1输出的隐含状态基于lstm单元学习得到一个目标隐含状态。因此,在融合阶段2中,t2个时间步骤处理得到t2个目标隐含状态。融合阶段2的输出为一个集合,并且该集合中的元素为隐含状态,为方便描述可以目标隐含状态集合为例进行说明。该目标隐含状态集合满足上述式(17),在此不再赘述。上述式(17)所示的隐含状态集合会被用于解码器的注意力模型中,其中,目标隐含状态集合中的各目标隐含状态用于解码器对待处理图像进行解码得到待处理图像的图像描述。
s104,将目标图像表示信息输出给解码器。
在一些可行的实施方式中,融合器处理得到待处理图像对应的目标隐含状态(即目标图像表示信息)之后,则可将目标隐含状态输出给解码器。在解码器的解码阶段中,各个时间步骤的解码所使用的lstm单元的网络参数相同。解码器基于带注意力模型的lstm单元对融合器输出的最终图像表示进行解码,输出各个时刻编码器输出的图像特征经过融合器处理得到的图像表示所对应的词汇,进而可得到用于对待处理图像进行图像描述的自然语句。其中,上述融合器输出的最终图像表示可包括上述式(17)对应的隐含状态集合以及上述融合阶段2中最后一个lstm单元输出的记忆单元ct1+t2,其中,上述ct1+t2满足上述式(18),在此不再赘述。在解码阶段,任一时间步骤t上,解码器的解码可表示为上述式(19)所提供的表现形式,在此不再赘述。
一般地,设解码器生成用于描述待处理图像的图像内容的自然语句表示为s,该自然语句s的长度为n(n为正整数),该n的取值可以根据实际需要进行设定。例如:设定n=30,表示自然语句s的长度为30个单词长度;再如:设定n=25,表示自然语句s的长度为25个单词长度。由于自然语句s的长度为n,表示解码器在解码阶段总共进行n次解码处理,即解码器需要进行n个时间步骤的解码处理,每次解码处理需要预测一个单词。即解码器在解码阶段的时间步骤(或称解码时刻)t1预测得到单词s1,在解码时刻t2预测得到单词s2,以此类推,在解码时刻tn预测得到单词sn。也就是说,解码阶段中,解码器在任意解码时刻tk(k为正整数,且1≤k≤n)预测得到单词sk,那么,解码器预测得到的自然语句s={s1,s2,...sk,..,sn}。
本发明实施例通过融合器将编码器端多个cnn中各个cnn输出的图像特征及其对应的隐含状态在不同的时间步骤上进行融合得到多个隐含状态集合,再将多个隐含状态集合中包含的更丰富的隐含状态等图像特征进行融合得到待处理图像对应的最终隐含状态。最终隐含状态的获取可融合待处理图像的更多隐含状态等图像特征,进而可获取得到具备更加丰富内容的图像特征,由具备更加丰富内容的图像特征处理得到待处理图像的最终隐含状态,并将待处理图像的最终隐含状态输出给解码器。解码器利用融合器融合得到的最终隐含状态对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。
请一并参见图5,图5是本发明实施例提供的图像处理方法的另一流程示意图。本发明实施例提供的图像处理方法可包括步骤s201-s204:
s201,编码器输出待处理图像的m组图像特征至融合器。
在一些可行的实施方式中,将原始图像(即待处理图像)输入至编码器中,由编码器对待处理图像的每一帧进行特征提取,得到帧特征序列。编码器可通过cnn对待处理图像进行图像编码,并可通过cnn的最后一个全连接层输出用于表示图像的全局信息的全局图像特征,通过cnn的最后一个卷积层(conv层)输出用于表示图像的局部信息的局部图像特征集合。其中,上述用于表示图像的全局信息的全局图像特征可通过一个向量表示,上述用于表示局部信息的局部图像特征集合可通过一个向量集合表示。在该向量集合中的一个向量表示图像的一个区域的图像特征。编码器端的一个cnn输出的全局图像特征和局部图像特征可组合得到待处理图像的一组图像特征。假设编码器端所采用的cnn的数量为m个,其中一个编码器对应一个cnn,或者一个编码器中的编码通道的数量为m个,其中,一个编码通道对应一个cnn。其中,不同的cnn所采用的网络参数不同,因此,上述m个编码器所对应的m个cnn,或者一个编码器的m个编码通道所对应的m个cnn可为m种不同的cnn。编码器端的m个cnn可对应输出待处理图像的m组图像特征。假设上述m个cnn中的第m个cnn对待处理图像进行特征提取得到的全局图像特征表示为
s202,融合器根据从编码器获取的m组图像特征中各组图像特征中的全局图像特征和指定线性变换矩阵生成各组图像特征对应的第一图像表示信息。
在一些可行的实施方式中,融合器所使用的lstm单元可为带注意力模型的lstm,其本质上是一个带状态的函数,可抽象表示为ht=lstm(ht,fatt(a,ht-1))。其中,
s203,融合器基于第一lstm单元对任一组图像特征以及各组图像特征对应的第一图像表示信息进行学习,得到任一组图像特征对应的图像表示信息a。
s204,融合器基于第二lstm单元对任一组图像特征和图像表示信息a进行学习,得到任一组图像特征对应的图像表示信息b。
在一些可行的实施方式中,编码器端输出的m组图像特征中任一组图像特征中既包括待处理图像的全局图像特征,也包括待处理图像的子区域局部图像特征。融合器基于融合阶段1中的lstm单元(为方便描述可以第一lstm为例进行说明)中的注意力模型对编码器端输出的m组图像特征中的任一组图像特征中的子区域局部图像特征和任一组图像特征对应的第一隐含状态(即第一图像表示信息)进行学习并输出任一组图像特征对应的上下文向量。融合器可基于上述第一lstm对任一组图像特征对应的上下文向量和第一隐含状态进行学习得到任一组图像特征对应的隐含状态a。
在一些可行的实施方式中,上述m个cnn输出的m组图像特征中,一组图像特征对应一个隐含状态集合,并且一个隐含状态集合中包括至少一个隐含状态,为方便描述可以第二隐含状态进行说明。在时间步骤t,融合器对从编码器获取得到的m组图像特征进行融合时,在融合阶段1中lstm单元的隐含状态
其中,ht满足:
其中,
上述式(8)中的
上述式(8)中ht是把时间步骤t的前一个时间步骤(即时间步骤t-1)中各组图像特征对应的隐含状态(例如各组图像特征对应的第一隐含状态)叠成得到的一个向量,例如,上述式(10)和(11)提供的实现方式,在此不再赘述。
在一些可行的实施方式中,融合器从编码器端不同的cnn获取的不同组图像特征将输入不相同行的lstm单元中。在融合阶段1中,每一行的不同时间步骤的lstm单元对待处理图像的图像特征进行处理之后输出的隐含状态可融合为一个隐含状态集合。因此,在融合阶段1中,融合器的m行lstm单元可对应输出m个不同的隐含状态集合。其中,第m行的lstm单元对应输出的隐含状态集合满足上述是(12),在此不再赘述。
为方便描述,在融合阶段1中,在时间步骤t1(例如t=1)上,各行的lstm单元输出的隐含状态可用隐含状态a表示。在时间步骤t1之后的时间步骤t2(例如t=t1=2)上,各行的lstm单元输出的隐含状态可用隐含状态b表示。在本发明实施例中,隐含状态a和隐含状态b可分别用于表示融合阶段1中不同的时间步骤产生的隐含状态,具体可根据实际应用场景需求采用其他更多的形式表示,在此不做限制。
在一些可行的实施方式中,在融合阶段1中,融合器可将任一组图像特征对应的隐含状态a和隐含状态b合并得到该组图像特征对应的隐含状态集合。为方便描述,可以隐含状态集合i表示任一组图像特征对应的隐含状态集合,其中上述隐含状态a和隐含状态b为隐含状态集合i中包括的第二隐含状态。在融合阶段1中,融合器可通过各行的lstm单元获取各组图像特征对应的隐含状态集合,进而可得到上述m组图像特征对应的m个隐含状态集合。上述m个隐含状态集合中各个隐含状态集合可用在融合阶段2,以进一步融合得到待处理图像的目标隐含状态。
s205,融合器根据各个图像表示信息集合中包括的图像表示信息b确定第三图像表示信息。
在一些可行的实施方式中,如图4所示,在融合阶段2中,不同的时间步骤上可包括不同的lstm单元,每个lstm单元可用于将融合阶段1中处理得到的m个隐含状态集合进行再度融合得到待处理图像的最终隐含状态。如图4所示,在融合阶段2的初始时间步骤(假设为时间步骤t0),可根据融合阶段1中处理得到的各个隐含状态集合中包括的融合阶段1中最后一个时间步骤(例如融合阶段1中的t2=t1)的隐含状态(例如隐含状态b)确定融合阶段2的初始隐含状态(为方便描述可以第三隐含状态为例进行说明)。其中,上述第三隐含状态(以
s206,基于注意力模型对上述第三图像表示信息和各图像表示信息集合中的第二图像表示信息进行学习并输出各图像表示信息集合对应的上下文向量。
s207,基于第三lstm单元根据上述m个上下文向量组成的目标向量矩阵和第三图像表示信息生成目标图像表示信息。
在一些可行的实施方式中,上述融合阶段1输出的m个隐含状态集合在融合阶段2的处理过程中,一个隐含状态集合对应一个注意力模型,基于携带注意力模型的m个lstm单元可获取得到m个隐含状态集合对应的m个上下文向量。具体实现中,在融合阶段2中,针对融合阶段1中任一行的lstm单元输出的隐含状态集合中包括的各隐含状态可执行如下操作得到各隐含状态集合对应的上下文向量:
针对各个时间步骤(以时间步骤t为例进行说明),在该时间步骤t上的lstm单元的隐含状态ht和记忆单元ct满足:
其中,上述式(15)中,lstmt(·,·)是时间步骤t的lstm单元,后面不再赘述。
其中,上述式(16)中
在一些可行的实施方式中,在融合阶段2的时间步骤t1中,融合器可基于该时间步骤t1对应的lstm单元(为方便描述可以lstm1为例进行说明)对上述m个上下文向量组成的目标向量矩阵
例如,图4所示,在融合阶段2有m个注意力模型,有t2个lstm单元。融合阶段1中得到的一个隐含状态集合对应由融合阶段2中的一个注意力模型进行图像特征处理。基于m个注意力模型中的一个注意力模型可输出融合阶段1中一行lstm单元输出的一个隐含状态集合对应的上下文向量。例如,通过融合阶段2中的第m个注意力模型可输出融合阶段1中第m行的lstm单元输出的隐含状态集合m对应的上下文向量。在时间步骤t上,基于m个注意力模型处理得到的m个上下文向量可与时间步骤t-1输出的隐含状态基于lstm单元学习得到一个目标隐含状态。因此,在融合阶段2中,t2个时间步骤处理得到t2个目标隐含状态。融合阶段2的输出为一个集合,并且该集合中的元素为隐含状态,为方便描述可以目标隐含状态集合为例进行说明。该目标隐含状态集合满足上述式(17),在此不再赘述。上述式(17)所示的隐含状态集合会被用于解码器的注意力模型中,其中,各目标隐含状态用于解码器对待处理图像进行解码得到待处理图像的图像描述。
具体实现中,融合器对从编码器获取的m组图像特征进行融合可包括融合阶段1和融合阶段2,每个阶段都可包含若干个图像特征处理步骤,具体可参见上述融合阶段1和融合阶段2提供的更多的实现方式,在此不再赘述。
s208,将目标图像表示信息输出给解码器。
在一些可行的实施方式中,融合器处理得到待处理图像对应的目标隐含状态(即目标图像表示信息)之后,则可将目标隐含状态输出给解码器。在解码器的解码阶段中,各个时间步骤的解码所使用的lstm单元的网络参数相同。解码器基于带注意力模型的lstm单元对融合器输出的最终图像表示进行解码,输出各个时刻编码器输出的图像特征经过融合器处理得到的图像表示所对应的词汇,进而可得到用于对待处理图像进行图像描述的自然语句。其中,上述融合器输出的最终图像表示可包括上述式(17)对应的隐含状态集合以及上述融合阶段2中最后一个lstm单元输出的记忆单元ct1+t2,其中,上述ct1+t2满足上述式(18),在此不再赘述。在解码阶段,任一时间步骤t上,解码器的解码可表示为上述式(19)所提供的表现形式,在此不再赘述。
一般地,设解码器生成用于描述待处理图像的图像内容的自然语句表示为s,该自然语句s的长度为n(n为正整数),该n的取值可以根据实际需要进行设定。例如:设定n=30,表示自然语句s的长度为30个单词长度;再如:设定n=25,表示自然语句s的长度为25个单词长度。由于自然语句s的长度为n,表示解码器在解码阶段总共进行n次解码处理,即解码器需要进行n个时间步骤的解码处理,每次解码处理需要预测一个单词。即解码器在解码阶段的时间步骤(或称解码时刻)t1预测得到单词s1,在解码时刻t2预测得到单词s2,以此类推,在解码时刻tn预测得到单词sn。也就是说,解码阶段中,解码器在任意解码时刻tk(k为正整数,且1≤k≤n)预测得到单词sk,那么,解码器预测得到的自然语句s={s1,s2,...sk,..,sn}。
s209,融合器从解码器获取待处理图像的图像描述,并根据待处理图像的图像描述确定图像处理的判别监督损失函数。
s210,融合器根据待处理图像的m个图像表示信息集合和目标图像表示信息,结合上述判断监督损失函数构建图像处理系统的损失函数。
s211,融合器根据上述损失函数修正其所采用的lstm单元的网络参数,优化图像处理系统的图像处理性能。
在一些可行的实施方式中,通过图像处理系统中的编码器、融合器和解码器对待处理图像进行编解码处理以得到用于对待处理图像进行图像描述的自然语句之后,融合器可从解码器获取待处理图像的图像描述,并根据待处理图像的图像描述确定图像处理系统的判别监督损失函数。融合器可根据融合阶段1处理得到的待处理图像的m个隐含状态集合和融合阶段2处理得到的待处理图像的目标隐含状态,结合上述判断监督损失函数确定图像处理的损失函数,并根据上述损失函数修正融合器中所采用的lstm单元的网络参数以优化融合器处理并输出任一图像的隐含状态集合和目标隐含状态的能力。
可选的,上述损失函数也可用于解码器中lstm单元的网络参数以优化解码器处理并输出任一图像对应的自然语句以对任一图像进行图像描述。
在一些可行的实施方式中,融合器可使用判别监督的图像处理机制来进一步提高自身的图像处理性能。例如,融合器可在任一时间步骤从编码器获取待处理图像对应的m组图像特征,任一组图像特征中包括待处理图像的全局图像特征和局部图像特征。以编码器输出的各组图像特征中的全局图像特征和局部图像特征可构建一个列两项的矩阵,为方便描述可将该矩阵标记为v。根据上述矩阵v和线性变换矩阵w确定该时间步骤获取图像特征对应图像描述中的自然语句集合s,其中,s满足上述式(21),在此不再赘述。
在一些可行的实施方式中,把s的第i个元素记为si,就有了判别监督损失函数
其中,
根据上述式(21)所示的判别监督损失函数
其中,λ是经验参数,用于平衡融合器的损失对整个图像处理系统的影响,且λ的值可根据实际经验设定。yt是单词p(yt+1|yt)由解码器在解码阶段的第t个解码时刻输出的第t个隐含状态做线性变换加softmax操作来计算得到。融合器可通过上述损失函数来修正其所采用的lstm单元的网络参数,进而可提高融合器输出的待处理图像的最终图像表示更加准确,从而使得图像处理系统的图像处理准确率更高。
本发明实施例通过融合器将编码器端多个cnn中各个cnn输出的图像特征及其对应的隐含状态在不同的时间步骤上进行融合得到多个隐含状态集合,再将多个隐含状态集合中包含的更丰富的隐含状态等图像特征进行融合得到待处理图像对应的最终隐含状态。最终隐含状态的获取可融合待处理图像的更多隐含状态等图像特征,进而可获取得到具备更加丰富内容的图像特征,由具备更加丰富内容的图像特征处理得到待处理图像的最终隐含状态,并将待处理图像的最终隐含状态输出给解码器。解码器利用融合器融合得到的最终隐含状态对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。此外,本发明实施例提供的图像处理方法还可通过融合器和解码器的输出数据构建损失函数,进而可通过损失函数修正融合器和/或解码器中的lstm单元的网络参数,优化融合器和处理器的性能,进而可提高图像处理系统的图像处理性能,增强图像处理系统的用户粘性。
基于上述图像处理系统及图像处理方法实施例的描述,本发明实施例还公开了一种图像处理装置,该图像处理装置可以是运行于服务器中的一个计算机程序(包括程序代码),该图像处理装置可以被应用于图5-图6所示实施例的图像处理方法中,以用于执行图像处理方法中的步骤。请参见图7,该图像处理装置运行如下单元:
获取单元61,用于从上述编码器获取待处理图像的m组图像特征,其中m为不小于2的整数。
上述获取单元61,还用于获取上述m组图像特征中各组图像特征对应的第一隐含状态。
第一融合单元62,用于根据上述获取单元61获取的上述各组图像特征和上述各组图像特征对应的第一图像表示信息,生成m个图像表示信息集合。
其中,一组图像特征对应生成的一个图像表示信息集合,一个图像表示信息集合中包括至少一个第二图像表示信息。
第二融合单元63,用于对上述第一融合单元62得到的上述m个图像表示信息集合包括的第二图像表示信息进行学习得到目标图像表示信息;
输出单元64,用于将上述第二融合单元63得到的上述目标图像表示信息输出给上述解码器;
其中,上述目标图像表示信息用于上述解码器对上述待处理图像进行解码得到上述待处理图像的图像描述。
在一些可行的实施方式中,上述获取单元61用于:
从上述图像处理系统中包括的m个上述编码器获取待处理图像的m组图像特征,其中,一个编码器对应一组编码参数,一个编码器输出一组图像特征;或者
从上述图像处理系统的编码器的m个编码通道中获取待处理图像的m组图像特征,其中,上述编码器的一个编码通道对应一组编码参数,一个编码通道输出一组图像特征。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中包括上述待处理图像的全局图像特征;
上述获取单元61用于:
根据上述m组图像特征中各组图像特征中的全局图像特征和指定线性变换矩阵生成上述各组图像特征对应的第一图像表示信息。
在一些可行的实施方式中,上述第一融合单元62用于:
基于第一lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a;
基于第二lstm单元对上述任一组图像特征和上述图像表示信息a进行学习,得到上述任一组图像特征对应的图像表示信息b;
合并上述任一组图像特征对应的上述图像表示信息a和上述图像表示信息b得到上述任一组图像特征对应的图像表示信息集合i,其中,上述图像表示信息a和上述图像表示信息b为上述图像表示信息集合i中包括的第二图像表示信息;
获取各组图像特征对应的图像表示信息集合,得到上述m组图像特征对应的m个图像表示信息集合。
在一些可行的实施方式中,上述m组图像特征中各组图像特征中还包括上述待处理图像的子区域局部图像特征;
上述第一融合单元62用于:
基于第一lstm单元中的注意力模型对上述任一组图像特征中的子区域局部图像特征和上述任一组图像特征对应的第一图像表示信息进行学习并输出上述任一组图像特征对应的上下文向量;
基于上述第一lstm单元对上述任一组图像特征对应的上下文向量和上述各组图像特征对应的第一图像表示信息进行学习得到上述任一组图像特征对应的图像表示信息a。
在一些可行的实施方式中,上述第二融合单元63用于:
根据上述m个图像表示信息集合中各个图像表示信息集合包括的图像表示信息b确定第三图像表示信息;
针对上述各个图像表示信息集合中任一图像表示信息集合j执行如下操作得到上述图像表示信息集合j对应的上下文向量:
基于注意力模型对上述第三图像表示信息和上述图像表示信息集合j中的第二图像表示信息进行学习并输出上述图像表示信息集合j对应的上下文向量,其中,一个图像表示信息集合对应一个注意力模型;
获取上述m个图像表示信息集合对应的m个上下文向量,并根据上述m个上下文向量得到目标向量矩阵;
基于第三lstm单元根据上述目标向量矩阵中的m个上下文向量和上述第三图像表示信息进行学习得到目标图像表示信息。
在一些可行的实施方式中,上述第二融合单元63所采用的第三lstm单元至少包括lstm1和lstm2,上述第二融合单元63用于:
基于上述lstm1对上述目标向量矩阵中的m个上下文向量和上述第三图像表示信息进行学习,得到图像表示信息c;
基于上述lstm2对上述m个图像表示信息集合包括的第二图像表示信息和上述图像表示信息c进行学习,得到图像表示信息d;
合并上述图像表示信息c和上述图像表示信息d得到目标图像表示信息集合,并将上述目标图像表示信息集合中包括的上述图像表示信息c和上述图像表示信息d确定为目标图像表示信息。
在一些可行的实施方式中,上述图像处理装置还包括优化单元65,用于:
从上述解码器获取上述待处理图像的图像描述,并根据上述待处理图像的图像描述确定图像处理的判别监督损失函数;
根据上述待处理图像的m个图像表示信息集合和上述目标图像表示信息,结合上述判断监督损失函数构建图像处理系统的损失函数;
上述融合器根据上述损失函数修正其所采用的lstm单元的网络参数。
根据本发明的一个实施例,图5所示的图像处理方法涉及的步骤s101-s104可以是由图7所示的图像处理装置中的各个单元来执行的。例如,图5中所示的步骤s101、s102、s103、s104可以分别由图7中所示的获取单元61、第一融合单元62、第二融合单元63和输出单元64来执行。
根据本发明的一个实施例,图6所示的图像处理方法涉及的步骤s201-s211可以是由图7所示的图像处理装置中的各个单元来执行的,具体可参见上述图6对应的实施例中各步骤所提供的实现方式,在此不再赘述。
根据本发明的另一个实施例,图7所示的图像处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,图像处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
本发明实施例通过融合器将编码器端多个cnn中各个cnn输出的图像特征及其对应的隐含状态在不同的时间步骤上进行融合得到多个隐含状态集合,再将多个隐含状态集合中包含的更丰富的隐含状态等图像特征进行融合得到待处理图像对应的最终隐含状态。最终隐含状态的获取可融合待处理图像的更多隐含状态等图像特征,进而可获取得到具备更加丰富内容的图像特征,由具备更加丰富内容的图像特征处理得到待处理图像的最终隐含状态,并将待处理图像的最终隐含状态输出给解码器。解码器利用融合器融合得到的最终隐含状态对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。此外,本发明实施例提供的图像处理方法还可通过融合器和解码器的输出数据构建损失函数,进而可通过损失函数修正融合器和/或解码器中的lstm单元的网络参数,优化融合器和处理器的性能,进而可提高图像处理系统的图像处理性能,增强图像处理系统的用户粘性。
基于上述实施例所示图像处理系统及图像处理方法,本发明实施例还提供了一种服务器。请参见图8,该服务器的内部结构至少包括图2所示的图像处理系统,即包括编码器、融合器及解码器,进一步,该服务器的内部还包括处理器、通信接口及计算机存储介质。其中,服务器内的处理器、通信接口及计算机存储介质可通过总线或其他方式连接,在本发明实施例所示图8中以通信总线连接为例。
通信接口是实现服务器与外部设备(如终端设备)之间进行交互和信息交换的媒介。处理器(或称中央处理器(centralprocessingunit,cpu))是服务器的计算核心以及控制核心,可以理解,这里的处理器也可以是集成在融合器中的处理器,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能。计算机存储介质(memory)是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括服务器的内置存储介质,当然也可以包括服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了服务器的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在本发明实施例中,处理器加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述图5至图6所示方法流程中的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
从编码器获取待处理图像的m组图像特征,其中m为不小于2的整数;
获取上述m组图像特征中各组图像特征对应的第一图像表示信息;
根据上述各组图像特征和上述各组图像特征对应的第一图像表示信息生成m个图像表示信息集合,其中,一组图像特征对应生成的一个图像表示信息集合,一个图像表示信息集合中包括至少一个第二图像表示信息;
融合上述m个图像表示信息集合包括的第二图像表示信息进行学习得到目标图像表示信息,将上述目标图像表示信息输出给所述解码器;
其中,上述目标图像表示信息用于上述解码器对上述待处理图像进行解码得到上述待处理图像的图像描述。
一种实施方式中,上述处理器加载计算机存储介质中的一条或一条以上指令执行从上述编码器获取待处理图像的m组图像特征的步骤的过程中,具体执行如下步骤:
从上述图像处理系统中包括的m个编码器获取待处理图像的m组图像特征,其中,一个编码器对应一组编码参数,一个编码器输出一组图像特征;或者
从上述图像处理系统的编码器的m个编码通道中获取待处理图像的m组图像特征,其中,编码器的一个编码通道对应一组编码参数,一个编码通道输出一组图像特征。
另一种实施方式中,上述m组图像特征中各组图像特征中包括所述待处理图像的全局图像特征;上述处理器加载计算机存储介质中的一条或一条以上指令执行获取上述m组图像特征中各组图像特征对应的第一图像表示信息的步骤的过程中,具体执行如下步骤:
根据上述m组图像特征中各组图像特征中的全局图像特征和指定线性变换矩阵生成上述各组图像特征对应的第一图像表示信息。
再一种实施方式中,上述处理器加载计算机存储介质中的一条或一条以上指令执行对上述各组图像特征和上述各组图像特征对应的第一图像表示信息生成m个图像表示信息集合的步骤的过程中,具体执行如下步骤:
基于第一lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a;
基于第二lstm单元对上述任一组图像特征和上述图像表示信息a进行学习,得到上述任一组图像特征对应的图像表示信息b;
合并上述任一组图像特征对应的上述图像表示信息a和上述图像表示信息b得到所述任一组图像特征对应的图像表示信息集合i,其中,上述图像表示信息a和上述图像表示信息b为上述图像表示信息集合i中包括的第二图像表示信息;
获取各组图像特征对应的图像表示信息集合,得到上述m组图像特征对应的m个图像表示信息集合。
再一种实施方式中,上述m组图像特征中各组图像特征中还包括所述待处理图像的子区域局部图像特征,上述处理器加载计算机存储介质中的一条或一条以上指令执行基于第一lstm单元对任一组图像特征,以及上述各组图像特征对应的第一图像表示信息进行学习,得到上述任一组图像特征对应的图像表示信息a的步骤的过程中,具体执行如下步骤:
基于第一lstm单元中的注意力模型对上述任一组图像特征中的子区域局部图像特征和上述任一组图像特征对应的第一图像表示信息进行学习并输出上述任一组图像特征对应的上下文向量;
基于所述第一lstm单元对上述任一组图像特征对应的上下文向量和上述各组图像特征对应的第一图像表示信息进行学习得到上述任一组图像特征对应的图像表示信息a。
再一种实施方式中,上述处理器加载计算机存储介质中的一条或一条以上指令执行融合上述m个图像表示信息集合包括的第二图像表示信息得到目标图像表示信息的步骤的过程中,具体执行如下步骤:
根据上述m个图像表示信息集合中各个图像表示信息集合包括的图像表示信息b确定第三图像表示信息;
针对上述各个图像表示信息集合中任一图像表示信息集合j执行如下操作得到上述图像表示信息集合j对应的上下文向量:
基于注意力模型对上述第三图像表示信息和上述图像表示信息集合j中的第二图像表示信息进行学习并输出上述图像表示信息集合j对应的上下文向量,其中,一个图像表示信息集合对应一个注意力模型;
获取上述m个图像表示信息集合对应的m个上下文向量,并根据上述m个上下文向量得到目标向量矩阵;
基于第三lstm单元根据上述目标向量矩阵和上述第三图像表示信息生成目标图像表示信息。
再一种实施方式中,上述第三lstm至少包括lstm1和lstm2,上述处理器加载计算机存储介质中的一条或一条以上指令执行基于第三lstm单元根据上述目标向量矩阵和上述第三图像表示信息生成目标图像表示信息的步骤的过程中,具体执行如下步骤:
基于上述lstm1对上述目标向量矩阵中包括的m个上下文向量和上述第三图像表示信息进行学习,得到图像表示信息c;
基于上述lstm2对上述m个图像表示信息集合包括的第二图像表示信息和上述图像表示信息c进行学习,得到图像表示信息d;
合并上述图像表示信息c和上述图像表示信息d得到目标图像表示信息集合,并将上述目标图像表示信息集合中的上述图像表示信息c和上述图像表示信息d确定为目标图像表示信息。
再一种实施方式中,上述处理器加载计算机存储介质中的一条或一条以上指令执行如下步骤:
从上述解码器获取上述待处理图像的图像描述,并根据上述待处理图像的图像描述确定图像处理的判别监督损失函数;
根据上述待处理图像的m个图像表示信息集合和上述目标图像表示信息,结合上述判断监督损失函数构建图像处理系统的损失函数;
根据上述损失函数修正其所采用的lstm单元的网络参数。
本发明实施例通过将编码器端多个cnn中各个cnn输出的图像特征及其对应的隐含状态在不同的时间步骤上进行融合得到多个隐含状态集合,再将多个隐含状态集合中包含的更丰富的隐含状态等图像特征进行融合得到待处理图像对应的最终隐含状态。最终隐含状态的获取可融合待处理图像的更多隐含状态等图像特征,进而可获取得到具备更加丰富内容的图像特征,由具备更加丰富内容的图像特征处理得到待处理图像的最终隐含状态,并将待处理图像的最终隐含状态输出给解码器。解码器利用融合得到的最终隐含状态对待处理图像进行解码得到用于描述待处理图像的自然语句等图像描述,提高了待处理图像的图像描述准确率,提高待处理图像的图像内容理解的服务质量,进而可增强待处理图像的图像内容理解服务的用户体验。此外,本发明实施例提供的图像处理方法还可通过融合器和解码器的输出数据构建损失函数,进而可通过损失函数修正融合器和/或解码器中的lstm单元的网络参数,优化融合器和处理器的性能,进而可提高图像处理系统的图像处理性能,增强图像处理系统的用户粘性。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。