图像描述方法和装置、计算机设备、存储介质与流程

文档序号:30580821发布日期:2022-06-29 12:05阅读:62来源:国知局
图像描述方法和装置、计算机设备、存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种图像描述方法和装置、计算机设备、存储介质。


背景技术:

2.随着人工智能技术的发展,图像描述技术已经成为理解图像内容的一种解决方法。其中,图像描述技术用来使计算机理解图像的内容,并使其生成对应的描述文本。目前,一般通过对原始图像进行目标检测并生成对应的描述文本,但是,采用该方式会导致描述文本的语义不够连贯。


技术实现要素:

3.本技术公开实施例的主要目的在于提出一种图像描述方法和装置、计算机设备、存储介质,依次利用主题生成模型和词生成模型分层次地生成具有连贯语义的描述文本。
4.为实现上述目的,本技术公开实施例的第一方面提出了一种图像描述方法,所述方法包括:
5.获取原始图像;
6.对所述原始图像进行特征提取,得到图像特征;
7.根据所述图像特征对所述原始图像进行区域检测,得到目标区域图像;
8.对所述目标区域图像进行特征提取,得到区域特征向量;
9.通过主题生成模型对所述区域特征向量进行提取处理,得到主题数据;其中,所述主题数据包括主题词向量和对应所述主题词向量的时刻状态信息;
10.通过词生成模型对所述主题数据进行单词预测,得到描述单词;
11.根据所述时刻状态信息对每一所述描述单词进行拼接处理,得到目标描述文本;其中,所述目标描述文本用于描述所述原始图像。
12.在一些实施例,所述对所述目标区域图像进行特征提取,得到区域特征向量,包括:
13.对所述目标区域图像进行预处理,得到初步区域图像;
14.对所述初步区域图像进行卷积处理,得到卷积特征向量;
15.对所述卷积特征向量进行池化处理,得到所述区域特征向量。
16.在一些实施例,对所述目标区域图像进行预处理,得到初步区域图像,包括:
17.对所述目标区域图像进行特征映射,得到初步映射图像;
18.根据预设尺寸对所述初步映射图像进行尺寸变换,得到所述初步区域图像。
19.在一些实施例,所述根据预设尺寸对所述初步映射图像进行尺寸变换,得到所述初步区域图像,包括:
20.获取所述目标区域图像的第一坐标;
21.根据所述第一坐标和所述预设尺寸计算得到第二坐标;
22.根据所述第二坐标调整所述初步映射图像的尺寸,得到所述初步区域图像。
23.在一些实施例,所述通过主题生成模型对所述区域特征向量进行提取处理,得到主题数据,包括:
24.将所述区域特征向量输入至所述主题生成模型;其中,所述主题生成模型包括循环层和隐藏层;
25.通过所述循环层对所述区域特征向量进行循环迭代处理,得到所述主题词向量;
26.根据所述主题词向量从所述隐藏层中获取所述时刻状态信息。
27.在一些实施例,所述通过词生成模型对所述主题数据进行单词预测,得到描述单词,包括:
28.获取所述词生成模型的激活函数;
29.将所述主题词向量和所述时刻状态信息输入至所述词生成模型;
30.根据所述激活函数对所述主题词向量和所述时刻状态信息进行计算,得到至少一个候选单词;
31.从所述候选单词中获取所述描述单词。
32.在一些实施例,所述从所述候选单词中获取所述描述单词,包括:
33.计算每一所述候选单词在预设单词集的分布概率;
34.获取分布概率最大的所述候选单词,作为所述描述单词。
35.本技术公开实施例的第二方面提出了一种图像描述装置,所述装置包括:
36.图像获取模块:用于获取原始图像;
37.第一特征提取模块:用于对所述原始图像进行特征提取,得到图像特征;
38.区域检测模块:用于根据所述图像特征对所述原始图像进行区域检测,得到目标区域图像;
39.第二特征提取模块:用于对所述目标区域图像进行特征提取,得到区域特征向量;
40.数据提取模块:用于通过主题生成模型对所述区域特征向量进行提取处理,得到主题数据;其中,所述主题数据包括主题词向量和对应所述主题词向量的时刻状态信息;
41.单词预测模块:用于通过词生成模型对所述主题数据进行单词预测,得到描述单词;
42.单词拼接模块:用于根据所述时刻状态信息对每一所述描述单词进行拼接处理,得到目标描述文本;其中,所述目标描述文本用于描述所述原始图像。
43.本技术公开实施例的第三方面提出了一种计算机设备,所述计算机设备包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,所述处理器用于执行如本技术第一方面实施例任一项所述的图像描述方法。
44.本技术公开实施例的第四方面提出了一种存储介质,该存储介质为计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本技术第一方面实施例任一项所述的图像描述方法。
45.本技术公开实施例提出的图像描述方法和装置、计算机设备、存储介质,通过获取原始图像;对原始图像进行特征提取,得到图像特征;根据图像特征对原始图像进行区域检测,得到目标区域图像;对目标区域图像进行特征提取,得到区域特征向量;通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应
主题词向量的时刻状态信息;通过词生成模型对主题数据进行单词预测,得到描述单词;根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。本技术公开实施例通过多次特征提取,能够使生成的目标描述文本包含更多图像细节;此外,在对原始图像进行区域检测的基础上,依次利用主题生成模型和词生成模型分层次地生成目标描述文本,能够生成具有连贯语义的描述文本。
46.本技术公开实施例的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术公开实施例而了解。本技术公开实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
47.附图用来提供对本技术公开实施例技术方案的进一步理解,并且构成说明书的一部分,与本技术公开实施例的实施例一起用于解释本技术公开实施例的技术方案,并不构成对本技术公开实施例技术方案的限制。
48.图1是本技术公开实施例提供的图像描述方法的流程图;
49.图2是图1中的步骤s400的流程图;
50.图3是图2中的步骤s410的流程图;
51.图4是图3中的步骤s412的流程图;
52.图5是图1中的步骤s500的流程图;
53.图6是图1中的步骤s600的流程图;
54.图7是图6中的步骤s640的流程图;
55.图8是本技术公开实施例提供的图像描述装置的模块结构框图;
56.图9是本技术公开实施例提供的计算机设备的硬件结构示意图。
具体实施方式
57.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
58.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
59.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
60.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术公开的各方面。
61.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
62.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
63.首先,对本技术中涉及的若干名词进行解析:
64.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
65.图像描述(image caption):是一个融合计算机视觉、自然语言处理和机器学习的综合问题,它类似于翻译一副图片为一段描述文字。该任务对于人类来说非常容易,但是对于机器却非常具有挑战性,它不仅需要利用模型去理解图片的内容并且还需要用自然语言去表达它们之间的关系。
66.特征提取:在机器学习、模式识别和图像处理中,特征提取从初始的一组测量数据开始,并建立旨在提供信息和非冗余的派生值(特征),从而促进后续的学习和泛化步骤,并且在某些情况下带来更好的可解释性。特征提取与降维有关。特征的好坏对泛化能力有至关重要的影响。
67.特征图(feature map):是输入图像经过神经网络卷积产生的结果,表征的是神经空间内一种特征,其分辨率大小取决于先前卷积核的步长。
68.卷积神经网络(convolutional neural networks,cnn):是一类包含卷积计算且具有深度结构的前馈神经网络(feedforward neural networks,fnn),是深度学习(deep learning)的代表算法之一。
69.长短期记忆网络(lstm,long short-term memory)是一种时间循环神经网络,是为了解决一般的循环神经网络(recurrent neural network,rnn)存在的长期依赖问题而专门设计出来的,所有的rnn都具有一种重复神经网络模块的链式形式。在标准rnn中,这个重复的结构模块只有一个非常简单的结构。
70.池化(pooling):是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(maxpooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,cnn的卷积层之间都会周期性地插入池化层。池化层通常会分别作用于每个输入的特征并减小其大小。
71.超分辨率测试序列(visual geometry group,vgg):是cnn模型之一,即通过使用
一系列大小为3x3的小尺寸卷积核和池化层构造的深度卷积神经网络。vgg使用3
×
3的卷积层和池化层来提取特征,并在网络的最后使用三层全连接层,将最后一层全连接层的输出作为分类的预测。在vgg中每层卷积将使用relu作为激活函数,在全连接层之后添加dropout来抑制过拟合。
72.区域候选网络(region proposal network,rpn):它的主要功能是生成区域候选(region proposal),也就是说,区域候选可以看作是许多潜在的边界框(也叫anchor,它是包含4个坐标的矩形框)。
73.faster r-cnn:是一种区域卷积神经网络,可以简单地看成是区域生成网络+fast-r-cnn的模型,用区域生成网络(region proposal network,rpn)来代替fast-r-cnn中的选择性搜索方法。其步骤大致为:将整张图片输进cnn,得到卷积特征;将卷积特征输入到rpn,得到候选框的特征信息;对候选框中提取出的特征,使用分类器判别是否属于一个特定类;对于属于某一类别的候选框,用回归器进一步调整其位置。
74.特征映射:也称降维,是将高维多媒体数据的特征向量映射到一维或者低维空间的过程。
75.门控循环单元(gate recurrent unit,gru):gru是循环神经网络(rnn)中的一种门控机制,与其他门控机制相似,其旨在解决标准rnn中的梯度消失/爆炸问题并同时保留序列的长期信息。gru在许多诸如语音识别的序列任务上与lstm同样出色,不过它的参数比lstm少,仅包含一个重置门(reset gate)和一个更新门(update gate)。
76.双线性插值法(bilinear interpolation):也叫双线性内插,其核心思想是在两个方向分别进行一次线性插值。双线性插值作为数值分析中的一种插值算法,广泛应用在信号处理,数字图像和视频处理等方面。
77.激活函数(activation functions):激活函数对于人工神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网络中,在神经元中,输入的inputs通过加权,求和后,还被作用了一个函数,这个函数就是激活函数,引入激活函数是为了增加神经网络模型的非线性。
78.全连接层:是每一个结点都与上一层的所有结点相连,用来把前面提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。
79.隐藏层:在神经网路中,除输入层和输出层以外的其他各层叫做隐藏层,隐藏层不直接接受外界的信号,也不直接向外界发送信号。单个隐藏层的意义是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好地进行线性划分。多个隐藏层的意义是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据。
80.交叉熵(cross entropy):主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂度(perplexity)来衡量。交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。平滑是指对没观察到的n元组合赋予一个概率值,以保证词序列总能通过语言模型得到一个概率值。
81.交叉熵损失函数:是一个平滑函数,其本质是信息理论(information theory)中的交叉熵(cross entropy)在分类问题中的应用。交叉熵损失函数对应的分类器例子包括
logistic回归、人工神经网络和概率输出的支持向量机。
82.梯度下降(gradient descent):gradient descent是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果需要求解损失函数的最大值,这时就需要用梯度上升法来迭代。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。
83.随着人工智能技术的发展,图像描述技术已经成为理解图像内容的一种解决方法。其中,图像描述技术用来使计算机理解图像的内容,并使其生成对应的描述文本。目前,一般通过对原始图像进行目标检测,并直接基于目标检测结果生成对应的描述文本,但是这样会导致生成的描述文本较为分散,进而导致描述文本的语义不够连贯。
84.基于此,本技术公开实施例提出一种图像描述方法和装置、计算机设备、存储介质,能够通过获取原始图像;对原始图像进行特征提取,得到图像特征;根据图像特征对原始图像进行区域检测,得到目标区域图像;对目标区域图像进行特征提取,得到区域特征向量;通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息;通过词生成模型对主题数据进行单词预测,得到描述单词;根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。本技术公开实施例通过多次特征提取,能够使生成的目标描述文本包含更多图像细节;此外,在对原始图像进行区域检测的基础上,依次利用主题生成模型和词生成模型分层次地生成目标描述文本,能够生成具有连贯语义的描述文本。
85.本技术公开实施例提供图像描述方法和装置、计算机设备、存储介质,具体通过如下实施例进行说明,首先描述本技术公开实施例中的图像描述方法。
86.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
87.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
88.本技术公开实施例提供的图像描述方法,涉及人工智能领域。本技术公开实施例提供的图像描述方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现图像描述方法的应用等,但并不局
限于以上形式。
89.本技术公开实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
90.参照图1,根据本技术公开实施例第一方面实施例的图像描述方法,包括但不限于包括步骤s100至步骤s800。
91.步骤s100,获取原始图像;
92.步骤s200,对原始图像进行特征提取,得到图像特征;
93.步骤s300,根据图像特征对原始图像进行区域检测,得到目标区域图像;
94.步骤s400,对目标区域图像进行特征提取,得到区域特征向量;
95.步骤s500,通过主题生成模型对区域特征向量进行提取处理,得到主题数据;
96.步骤s600,通过词生成模型对主题数据进行单词预测,得到描述单词;
97.步骤s700,根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本。
98.在一些实施例的步骤s100中,获取原始图像,原始图像指的是需要进行文字描述的图像,本技术公开实施例的目的在于,将原始图像的内容翻译成文字,即目标描述文本。
99.在一些实施例的步骤s200中,对原始图像进行特征提取,得到图像特征。具体地,可以利用编码器,例如vgg模型中的vgg-16网络对原始图像进行特征提取。在实际应用中,将原始图像输入至vgg-16网络中进行特征提取处理就能够得到该模型输出的特征图像,即其中其中其中,w、h、c都是图像尺寸,w表示宽度,h表示高度,c表示通道数,w

为经过vgg-16网络后的宽度,h’为经过vgg-16网络后的高度。
100.具体地,本领域技术人员可根据实际需求设置vgg-16网络中具体网络层以及网络层的个数,例如可将本技术公开实施例的vgg-16模型的具体网络层以及网络层的个数设置为:13个卷积层、3个全连接层和5个池化层。
101.除此之外,在该模型中,本技术公开实施例还可以考虑移除最后1个池化层。需要说明的是,池化层的作用是减小参数矩阵的尺寸,例如可以使参数矩阵的宽度和高度都缩小为原先的一半,网络通道数不改变。在通常情况下,在神经网络中增加池化层能够在图像压缩的过程中过滤掉一些不重要的信息,但是由于本技术公开实施例需要对原始图像进行区域检测,所以可以考虑去掉1个池化层来保留更多的图像特征,以提高区域检测的准确率。
102.在一些实施例的步骤s300中,根据图像特征对原始图像进行区域检测,得到目标区域图像,具体地,需要将图像特征输入至rpn中进行区域检测,该模型将自动根据图像特征划分出至少一个目标区域,以及目标区域对应的目标区域图像。
103.在一些实施例的步骤s400中,对目标区域图像进行特征提取,得到区域特征向量,区域特征向量用于生成目标描述文本。
104.在一些实施例的步骤s500中,通过主题生成模型对区域特征向量进行提取处理,得到主题数据,通过主题生成模型生成的主题句数据,能够决定生成的图像描述中共包含多少个句子,即包含多少个主题;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息,主题词向量和时刻状态信息用于后续进行单词预测,并生成句子对应的单词。
105.在一些实施例的步骤s600中,通过词生成模型对主题数据进行单词预测,得到句子对应的多个描述单词。
106.在一些实施例的步骤s700中,根据时刻状态信息对每个句子中的每个描述单词进行拼接处理,得到生成好的主题句,将多个主题句进行拼接形成目标描述文本,其中,目标描述文本用于描述原始图像。
107.在实际应用中,设通过主题生成模型进行提取处理生成的主题数据包括4个主题词向量,例如主题向量1、主题向量2、主题向量3和主题向量4,则词生成模型会根据以上4个主题词向量进行单词预测,例如将主题向量1进行单词预测可生成的多个描述单词为“there”、“is”、“a”和“competition”,将以上描述单词进行拼接可生成主题句1,即“there is a competition”;将主题向量2进行单词预测可生成的多个描述单词为“three”、“women”、“are”、“playing”、“field”和“hockey”,将以上描述单词进行拼接可生成主题句2,即“three women are playing field hockey”;将主题向量3进行单词预测可生成的多个描述单词为“the”、“one”、“in”、“red”、“is”、“hitting”、“the”和“ball”,将以上描述单词进行拼接可生成主题句3,即“the one in red is hitting the ball”;将主题向量4进行单词预测可生成的多个描述单词为“the”、“other”、“two”、“in”、“white”、“are”和“defending”,将以上描述单词进行拼接可生成主题句4,即“the other two in white are defending”;将上述生成的主题句1、主题句2、主题句3和主题句4进行拼接以形成最终的目标描述文本。
108.本技术公开实施例通过获取原始图像;对原始图像进行特征提取,得到图像特征;根据图像特征对原始图像进行区域检测,得到目标区域图像;对目标区域图像进行特征提取,得到区域特征向量;通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息;通过词生成模型对主题数据进行单词预测,得到描述单词;根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。本技术公开实施例通过多次特征提取,能够使生成的目标描述文本包含更多图像细节;此外,在对原始图像进行区域检测的基础上,依次利用主题生成模型和词生成模型分层次地生成目标描述文本,能够生成具有连贯语义的描述文本。
109.在一些实施例中,如图2所示,步骤s400具体包括但不限于步骤s410、步骤s420和步骤s430。
110.步骤s410,对目标区域图像进行预处理,得到初步区域图像;
111.步骤s420,对初步区域图像进行卷积处理,得到卷积特征向量;
112.步骤s430,对卷积特征向量进行池化处理,得到区域特征向量。
113.在一些实施例的步骤s410中,对目标区域图像进行预处理,得到满足预设条件的
初步区域图像,其中,预设条件可以指特定的图像尺寸和图像大小等。
114.在一些实施例的步骤s420中,对初步区域图像进行卷积处理,得到卷积特征图像,具体地可以将初步区域图像的图像特征输入至一定数量的全连接层,例如两个全连接层中,由连接层将各个初步区域图像的图像特征进行卷积,并压缩成d维向量,记为需要说明的是,特征向量的维度与目标区域的个数,或者与初步区域图像的个数一致。
115.在一些实施例的步骤s430中,对卷积特征向量进行池化处理,得到区域特征向量,具体地,将d维卷积特征向量输入至池化层进行平均池化或者最大池化处理,保留个特征区域的相关信息,得到区域特征向量。
116.具体地,对卷积特征向量进行池化的过程如公式(1)所示:
[0117][0118]
其中,v
p
为经过池化得到的区域特征向量,p表示卷积特征向量的个数,也表示区域特征向量的维度。
[0119]
在一些实施例中,如图3所示,步骤s410具体包括但不限于步骤s411和步骤s412。
[0120]
步骤s411,对目标区域图像进行特征映射,得到初步映射图像;
[0121]
步骤s412,根据预设尺寸对初步映射图像进行尺寸变换,得到初步区域图像。
[0122]
在一些实施例的步骤s411中,在对原始图像进行区域检测之后,还需要对目标区域图像进行特征映射,得到初步映射图像,也就是目标区域图像对应的特征图。
[0123]
在一些实施例的步骤s412中,将初步映射图像的尺寸调整至预设尺寸,例如将初步映射图像的尺寸调整为x
×
y,其中x为预设长度,y为预设宽度,得到初步区域图像。
[0124]
在一些实施例中,如图4所示,步骤s412具体包括但不限于步骤s4121、步骤s4122和步骤s4123。
[0125]
步骤s4121,获取目标区域图像的第一坐标;
[0126]
步骤s4122,根据第一坐标和预设尺寸计算得到第二坐标;
[0127]
步骤s4123,根据第二坐标调整初步映射图像的尺寸,得到初步区域图像。
[0128]
在一些实施例的步骤s4121中,获取目标区域图像的第一坐标,具体地,设目标区域图像为i

,第一坐标指的是目标区域图像i

中任意一点的坐标(x

i,j
,y

i,j
)。
[0129]
在一些实施例的步骤s4122中,根据第一坐标和预设尺寸,计算初步映射图像到目标区域图像的反向投影坐标,即第二坐标。具体地,对于初步映射图像i

中任一点坐标(x

i,j
,y

i,j
)投影到目标区域图像i

中的坐标值为再利用双线性插值法计算i

中(x

i,j
,y

i,j
)坐标点的像素,该像素即为i

中对应点的像素i

c,i,j
,即第二坐标,计算公式(2)如下:
[0130][0131]
其中,k(d)=max(0,1-|d|),表示两点之间的距离。
[0132]
在一些实施例的步骤s4123中,根据第二坐标调整初步映射图像的尺寸,得到初步区域图像。具体地,在确定第二坐标之后,根据第二坐标对初步预设图像进行缩放,例如将
预设图像的某一点的坐标调整至第二坐标的位置,或参照第二坐标的位置调整预设图像的坐标等。
[0133]
在一些实施例中,如图5所示,步骤s500具体包括但不限于步骤s510、步骤s520和步骤s530。
[0134]
步骤s510,将区域特征向量输入至主题生成模型;其中,主题生成模型包括循环层和隐藏层;
[0135]
步骤s520,通过循环层对区域特征向量进行循环迭代处理,得到主题词向量;
[0136]
步骤s530,根据主题词向量从隐藏层中获取时刻状态信息。
[0137]
在一些实施例的步骤s510中,将区域特性向量输入至主题生成模型;其中,主题生成模型包括循环层和隐藏层,循环层用于生成主题词向量,隐藏层用于输出时刻状态信息;在实际应用中,本技术公开实施例的主题生成模块可采用单层的lstm模型。
[0138]
在一些实施例的步骤s520中,通过主题生成模型的循环层,对区域特征向量进行循环迭代处理,以生成主题词向量,即通过lstm模型生成的主题词向量决定最终的图像描述包含的句子个数,即主题个数。
[0139]
在一些实施例的步骤s530中,根据主题词向量从lstm的隐藏层中获取时刻状态信息,其中,时刻状态信息指的是生成该主题词向量所对应的时刻中,lstm模型中隐藏层的隐藏状态。设隐藏层中每时刻的隐藏状态为h为隐藏层大小。在本技术公开实施例中,对于隐藏状态有两种作用,其一是:通过对隐藏层进行分类来决定该时刻生成的这句话是否为该图像生成描述中的最后一句话,记为其二是:该时刻隐藏状态将作为词生成模型的输入,以生成对应该主题句的各个p维单词向量
[0140]
在一些实施例中,如图6所示,步骤s600具体包括但不限于步骤s610、步骤s620、步骤s630和步骤s640。
[0141]
步骤s610,获取词生成模型的激活函数;
[0142]
步骤s620,将主题词向量和时刻状态信息输入至词生成模型;
[0143]
步骤s630,根据激活函数对主题词向量和时刻状态信息进行计算,得到至少一个候选单词;
[0144]
步骤s640,从候选单词中获取描述单词。
[0145]
在一些实施例的步骤s610中,获取词生成模型的激活函数,其中词生成模型用于根据主题数据生成对应的主题句的描述单词。在实际应用中,词生成模块可采用两层的gru模型。
[0146]
在一些实施例的步骤s620中,将主题词向量和时刻状态信息作为输入,输入至词生成模型中。
[0147]
在一些实施例的步骤s630中,根据激活函数对主题词向量和时刻状态信息进行计算,得到至少一个候选单词。具体地,词生成模型的初始输入为主题生成模型在该时刻输出的主题词向量,并且将词生成模型中隐藏层在每一时刻对应的隐藏状态输入至词生成模型中。需要说明的是,计算候选单词的过程如公式(3)、公式(4)和公式(5)所示:
[0148]
[0149][0150][0151]
其中,x-1
代表句级lstm生成的p维主题词向量,将其作为gru模型的初始输入,s
t
代表gru模型生成的候选单词,s0为开始标志,为前一时刻主题生成模型中隐藏层的隐藏状态,p
t+1
代表第t+1个候选单词在整个预设单词集中的分布率。
[0152]
在一些实施例的步骤s640中,从候选单词中选取描述单词,用于生成主题句。
[0153]
在一些实施例中,如图7所示,步骤s640具体包括但不限于步骤s641和步骤s642。
[0154]
步骤s641,计算每一候选单词在预设单词集的分布概率;
[0155]
步骤s642,获取分布概率最大的候选单词,作为描述单词。
[0156]
在一些实施例的步骤s641中,计算每一候选单词在预设单词集中的分布概率,具体地,可以通过公式(6)进行计算:
[0157]
p
t+1
=p(s
t+1
|i,s0,...,s
t
)
ꢀꢀꢀ
(6)
[0158]
其中,p
t+1
代表第t+1个候选单词在整个预设单词集中的分布率,i表示预设单词集。
[0159]
在一些实施例的步骤s642中,获取分布概率最大的候选单词,作为描述单词。具体地,选取分布概率最大的候选单词,作为对应句子中第t个单词的输出,直到概率最大的候选单词的隐藏状态对应有结束标志,则该句子生成结束,迭代终止。此外,在每个gru模型生成各自主题句的描述单词后,将这些主题句根据时刻状态信息进行连接,形成总的图像描述段落。
[0160]
在实际应用中,主题生成模型和词生成模型可以形成一个总的图像描述模型,整个图像描述模型的损失函数为主题生成模型和刺生成模型的分层循环网络对应的加权和。此外,根据计算出的损失值还能够采用梯度下降算法来更新主题生成模型的模型参数,以此得到训练好的主题生成模型,进一步提高图像描述的准确率。
[0161]
本技术公开实施例提出的图像描述方法,通过获取原始图像;对原始图像进行特征提取,得到图像特征;根据图像特征对原始图像进行区域检测,得到目标区域图像;对目标区域图像进行特征提取,得到区域特征向量;通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息;通过词生成模型对主题数据进行单词预测,得到描述单词;根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。本技术公开实施例通过多次特征提取,能够使生成的目标描述文本包含更多图像细节;此外,在对原始图像进行区域检测的基础上,依次利用主题生成模型和词生成模型分层次地生成目标描述文本,能够生成具有连贯语义的描述文本。
[0162]
在一些实施例中,如图8所示,还提供一种图像描述装置800,可以实现上述图像描述方法,该图像描述装置800包括:图像获取模块810、第一特征提取模块820、区域检测模块830、第二特征提取模块840、数据提取模块850、单词预测模块860和单词拼接模块870,其中图像获取模块810用于获取原始图像;第一特征提取模块820用于对原始图像进行特征提取,得到图像特征;区域检测模块830用于根据图像特征对原始图像进行区域检测,得到目标区域图像;第二特征提取模块840用于对目标区域图像进行特征提取,得到区域特征向
量;数据提取模块850用于通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息;单词预测模块860用于通过词生成模型对主题数据进行单词预测,得到描述单词;单词拼接模块870用于根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。
[0163]
本技术公开实施例的图像描述装置800用于执行上述实施例中的图像描述方法,其具体处理过程与上述实施例中的图像描述方法相同,此处不再一一赘述。
[0164]
本技术公开实施例提出的图像描述装置800,通过获取原始图像;对原始图像进行特征提取,得到图像特征;根据图像特征对原始图像进行区域检测,得到目标区域图像;对目标区域图像进行特征提取,得到区域特征向量;通过主题生成模型对区域特征向量进行提取处理,得到主题数据;其中,主题数据包括主题词向量和对应主题词向量的时刻状态信息;通过词生成模型对主题数据进行单词预测,得到描述单词;根据时刻状态信息对每一描述单词进行拼接处理,得到目标描述文本;其中,目标描述文本用于描述原始图像。本技术公开实施例通过多次特征提取,能够使生成的目标描述文本包含更多图像细节;此外,在对原始图像进行区域检测的基础上,依次利用主题生成模型和词生成模型分层次地生成目标描述文本,能够生成具有连贯语义的描述文本。
[0165]
本技术公开实施例还提供了一种计算机设备,包括:
[0166]
至少一个处理器,以及,
[0167]
与至少一个处理器通信连接的存储器;其中,
[0168]
存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如本技术第一方面实施例中任一项的图像描述方法。
[0169]
下面结合图9对计算机设备的硬件结构进行详细说明。该计算机设备包括:处理器910、存储器920、输入/输出接口930、通信接口940和总线950。
[0170]
处理器910,可以采用通用的中央处理器(central processin unit,cpu)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术公开实施例所提供的技术方案;
[0171]
存储器920,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本技术公开实施例的图像描述方法;
[0172]
输入/输出接口930,用于实现信息输入及输出;
[0173]
通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;和
[0174]
总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
[0175]
其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。
可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0185]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0186]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0187]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0188]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序的介质。
[0189]
以上参照附图说明了本技术公开实施例的优选实施例,并非因此局限本技术公开实施例的权利范围。本领域技术人员不脱离本技术公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术公开实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1