一种根据食谱生成食物图像的方法

著录项
  • CN202010846696.5
  • 20200821
  • CN112017255A
  • 20201201
  • 上海志唐健康科技有限公司
  • 戴超;盛斌;潘思源;贺加原
  • G06T11/00
  • G06T11/00 G06K9/62 G06F40/30 G06N3/04 G06N3/08

  • 上海市徐汇区乐山路33号1号楼211室
  • 上海(31)
摘要
本发明提供一种根据食谱生成食物图像的方法,包括:输入食物图像和食谱,利用本发明提出的图像文本嵌入模块ITEM从食谱中提取特征并嵌入,再计算食物图像和食谱的余弦相似度;利用本发明提出的CIGM生成低分辨率图像;结合低分辨率图像和文本特征通过CIGM生成高分辨率图像,逐步训练ITEM和CIGM,在训练CIGM时,固定ITEM的值保持权重不变,在训练CIGM时利用两种损失函数计算方式:由判别器给出的文本图像对语义一致性对抗损失函数和基于ITEM的文本语义损失函数。相比于现有根据食谱生成食物图像的方案,本发明一种根据食谱生成食物图像的方法,在视觉真实性和语义一致性方面都有更好的表现。
权利要求

1.一种根据食谱生成食物图像的方法,其特征在于,该食谱生成食物图像的方法包括以下步骤:

a)输入图像和食谱,利用本发明提出的图像文本嵌入模块(Image Text EmbeddingModule:ITEM)从输入的图像和食谱中提取特征,特征嵌入,再计算图像和食谱的余弦相似度;

b)对a)中生成的ITEM文本特征,利用本发明提出的级联图像生成模块(CascadedImage Generation Module:CIGM)获得低分辨率图像;

c)对上述步骤获得的低分辨率图像和文本特征利用CIGM生成高分辨率图像;

d)逐步训练ITEM和CIGM,在训练CIGM时,固定ITEM的值保持权重不变,在训练CIGM时利用两种损失函数计算方式:由判别器给出的文本图像语义一致性对抗损失函数和基于ITEM的文本语义损失函数。

2.根据权利要求1所述的根据食谱生成食物图像的方法,其特征在于,上述ITEM方法还包括:

根据现有的工作,本发明可以从使用说明书中提取到配料,所以,每份食谱包括配料和如何去烹饪食物的说明书,用(rs,rg,v)表示数据片,其中rs表示使用说明书,rg表示原料,v表示相关的图片,本发明用两个长短期记忆人工神经网络LSTM(Long Short-Term Memory)编码器从使用说明书和原料中提取特征,使用词向量来学习每个原料的表示,由于原材料列表是一个无序的集合,本发明选择一个双向LSTM来提取可以对原料列表中的每个单词执行逻辑回归的特征,通过原料编码器Φg,则可得:

hg=Φg(rg) (1)

其中,hg表示配料,与配料成分不同,说明书是一串工作的集合,表示说明书由ns个句子构成,在句子中有nw个单词,本发明利用了一个二阶LSTM来表示说明书的全部集合,首先,每个句子都通过第一个阶段LSTM中的Φw表示成一个向量可以得到:

第二阶段LSTM在序列向量上训练Φs并通过计算下述公式以获得完整使用说明hs的表示:

对于图像的表示,本发明使用ImageNet上预先训练好的Resnet-50,使用的输出向量来自softmax前一层以表示食物图像,最后,得到hv=Φv(v),该阶段生成三个向量(hs,hg,hv)来表示原始输入(rs,rg,v)。

3.根据权利要求1所述的根据食谱生成食物图像的方法,其特征在于,上述ITEM方法还包括:

在将配料成分,使用说明书和图像表示为(hs,hg,hv)后,连接hs,hg和hr连接来表示食谱,本发明采用由全连接层组成的嵌入模块将hr和hv映射到进入嵌入空间:

之后,整个模型端到端的使用余弦相似度损失函数Lcos对正负类进行训练:

其中,y=1表示是一个正对,y=-1则表示一个相反的负对,α=0.2的值是最好的性能,由于Recipe1M数据集提供了每幅图像和食谱所属类别信息(总共1048个类别),本发明使用它来规则化嵌入模型,通过训练模块来解决两种具有共享高水平权重的模式下的类别分类问题,如果共享高级区别权重,两种模式应同样使用它们,所以,本发明添加一个全连接的层到活化层激活函数的食谱和嵌入图像则类概率可计算为:

其中,Wc表示全连接层的学习权值,cr和cv是食谱和图片的标签,如果为正对,则cr和cv是相同的,这个正则化函数如下:

本发明中定义的目标函数Lemb为:

本发明中λ设置为0.2。

4.根据权利要求1所述的根据食谱生成食物图像的方法,其特征在于,上述CIGM方法还包括:

在ITEM训练完成后,可以从食谱编码器得到但是潜在的文本嵌入是高维空间(有1024个维度),而由于数据量有限,常常导致潜在数据流形的不连续,这对训练生成器来说是不理想的,为缓解这个问题,本发明利用调节增强技术产生的调节变量潜变量服从一个独立的高斯分布随机采样其中和为计算的均值和对角协方差矩阵的函数,通过条件增强可以生成更多的训练数据,从而提高系统对小扰动的鲁棒性,本发明同时考虑条件高斯分布和标准高斯分布之间的kullbackleibler散度(KL散度)以避免过拟合,表示如下:

实施过程中,用一个全连接层生成高斯分布中的σ1和μ1(σ1是对角矩阵∑1中的值),然后通过计算从采样分布中得到计算方式如下:

其中表示逐元素相乘,ε∈N(0,I),连接噪声向量z生成64×64维度的低分辨率图像s1,其中z是从标准高斯分布中采样得到的de随机噪声向量N(0,I),过程描述如下:

其中G1表示阶段1中的生成器,与生成器1不同,判别器1通过直接使用一个全连接层压缩食谱中嵌入到Nd的维度,然后复制成一个Md×Md×Nd张量,同时,对图像进行一系列的下采样,直到图像达到Md×Md的空间维度,在本发明中,Md和Nd分别设置为4和256,然后,沿着通道维数将图像表示与文本张量连接起来,得到的张量通过一个1×1卷积层共同学习图像和文本的特征,最后,使用仅有一个节点的全连接层来提高置信度,然而,由于文本和图像的差异很难通过单一的判别器进行识别,该模型存在语义不完整的问题,为解决这个问题,本发明利用ITEM中的图像编码器Φv表示生成的食物图像s1:

生成的嵌入图像可通过以下方式计算:

本发明通过计算可以得到和之间的余弦相似度,最后CIGM第一阶段通过最大化公式(14)中的和公式(15)中的训练生成器G1和判别器D2,

其中,λ1和λ2是两个用来平衡公式(15)的正则化参数,在本发明中λ1和λ2都设为1。

5.根据权利要求1所述的根据食谱生成食物图像的方法,其特征在于,上述CIGM方法还包括:

在CIGM第一阶段生成的低分辨率的图像往往会丢失局部的细节,得到的图像不够逼真和生动,因此在第二阶段本发明根据第一阶段输出的低分辨率图像生成高分辨率图像,与阶段1类似,服从高斯分布其中表示嵌入向量给定的食谱,阶段1中生成的低分辨率图像是用来取代随机噪声向量z,本发明使用一系列下采样块Φs编码s1使其和具有相同的维度,这样可以沿着通道的维度生成256×256维度的高分辨率图像s2,使用公式描述这个过程如下:

其中z·表示CIGM第一阶段的伪输出,来表示第一阶段真实输出的图像的不够逼真和生动,G2表示阶段2的生成器,第2阶段的判别器结构与第1阶段相似,除了由于输入图像更大,阶段2中的下采样层更多。

6.根据权利要求1所述的根据食谱生成食物图像的方法,其特征在于,上述方法还包括:

在训练ITEM和CIGM中,本发明还使用ITEM阶段的图像编码器编码生成的图像这样可以添加余弦相似度损失项来正则化生成器:由于ITEM阶段训练的图像编码器项目的图像分辨率是64×64维度的,所以本发明添加一个池化层来对做下采样,在CIGM的第二阶段通过最大化公式(17)中的LD2和公式(18)中的LG2训练生成器G2和判别器D2,

本发明中,CIGM第二阶段的λ1和λ2都设为1,在该阶段的训练过程还固定了ITEM阶段的权重和阶段1中的生成器。

说明书
技术领域

本发明涉及计算机视觉及自然语言处理领域,尤其涉及一种根据食谱生成食物图像的方法。

人们往往会花很多时间在食谱上,因为烹饪与我们的生活息息相关。对食物的解构和理解已经做了大量的工作,包括食物分类,食谱图像的嵌入,根据图像生成图谱。此外,预先实现菜品外观可视化对新菜谱的设计有很大的帮助,对于根据已知菜谱生成图像具有明显的意义。

目前根据已知菜谱生成图像还没有一个比较成熟的技术方案,根据菜谱生成食物图像属于文本到图像(text-to-image T2I)领域,T2I的目标是生成与参考文本具有相同语义意义的图像。T2I可以在不同的语境、不同的方面得到广泛的应用,表现出了很强的能力。因此,引起了计算机视觉和自然语言处理领域研究人员的关注。这些现有的模型在使用简单文本生成图像方面表现良好,如CUB bird数据集和MS COCO数据集。之前有工作通过两个独立阶段生成图像,利用一个判别器将生成的图像与带有相应文本的原始图像进行区分,但是,该模型存在语义不完全的问题,因为文本和图像的领域一致性是单个判别器难以学习的,其认知重点是图像的逼真性。为解决这个问题,镜像对抗生成网络被提出用来重新生成文本,并将其与给定的文本对齐,以便进行正则化,但这种方法不适用于配料的再生。不同于对幼鸟数据集和MS COCO数据集的描述,参考文本总是简单的,例如,“这只鸟有黑的翅膀和黄的头部。”一个包括配料和使用说明书的食谱平均可能包含250个单词,因此根据生成的图像重建食谱并不容易。由于内容较长,很难生成与配料语义相同的图像。

针对现有技术中存在的上述缺陷,本发明提供了一种根据食谱生成食物图像的方法,可以生成更具有视觉真实性和语义一致性的图像。

依据本发明的一个方面,提供了一种根据食谱生成食物图像的方法,包括以下步骤:

a)输入图像和食谱,利用本发明提出的图像文本嵌入模块ITEM从输入的图像和食谱中提取特征,特征嵌入,再计算图像和食谱的余弦相似度;

b)对ITEM文本特征,利用CIGM获得低分辨率图像;

c)对上述步骤获得的低分辨率图像和文本特征利用CIGM生成高分辨率图像;

d)逐步训练ITEM和CIGM,在训练CIGM时,固定ITEM的值保持权重不变,在训练CIGM时利用两种损失函数计算方式:由判别器给出的文本图像对语义一致性对抗损失函数和基于ITEM的文本语义损失函数。

根据现有的工作,本发明可以从使用说明书中提取到配料,所以,每份食谱包括配料和如何去烹饪食物的说明书,用(rs,rg,v)表示数据片,其中rs表示使用说明书,rg表示原料,v表示相关的图片,本发明用两个长短期记忆人工神经网络LSTM(Long Short-TermMemory)编码器从使用说明书和原料中提取特征,使用词向量来学习每个原料的表示,由于原材料列表是一个无序的集合,本发明选择一个双向LSTM来提取可以对原料列表中的每个单词执行逻辑回归的特征,通过原料编码器Φg,则可得:

hg=Φg(rg) (1)

其中,hg表示配料,与配料不同,说明书是系列表达公式的集合,表示说明书由ns个句子构成,在句子中有nw个单词,本发明利用了一个二阶LSTM来表示说明书的全部集合,首先,每个句子都通过第一个阶段LSTM中的Φw表示成一个向量可以得到:

第二阶段LSTM在序列向量上训练Φs并通过计算下述公式以获得完整使用说明hs的表示:

对于图像的表示,本发明使用ImageNet上预先训练好的Resnet-50,使用的输出向量来自softmax前一层以表示食物图像,最后,得到hv=Φv(v),该阶段生成三个向量(hs,hg,hv)来表示原始输入(rs,rg,v)。

在将配料成分、使用说明书和图像表示为(hs,hg,hv)后,连接hs,hg和hr连接来表示食谱,本发明采用由全连接层组成的嵌入模块将hr和hv映射到进入嵌入空间:

之后,整个模型端到端的使用余弦相似度损失函数Lcos对正负类进行训练:

其中,y=1表示是一个正对,否则,相反,α=0.2的值是最好的性能,由于Recipe1M数据集提供了每幅图像和食谱所属类别信息(总共1048个类别),本发明使用它来规则化我们的嵌入模型,通过训练模块来解决两种具有共享高水平权重的模式下的类别分类问题,关键的想法是,如果共享高级区别权重,两种模式应同样使用它们,为实现这一点,本发明添加一个全连接的层到softmax激活函数的食谱和嵌入图像则类概率可计算为:

其中,Wc表示全连接层的学习权值,cr和cv是食谱和图片的标签,如果为正对,则cr和cv是相同的,这个正则化函数如下:

本发明中定义的目标函数Lemb为:

本发明中λ设置为0.2。

在ITEM训练完成后,可以从食谱编码器得到但是潜在的文本嵌入是高维空间(有1024个维度),由于数据量有限,常常导致潜在数据流形的不连续,这对训练生成器来说是不理想的,为缓解这个问题,本发明利用调节增强技术产生的调节变量潜变量服从一个独立的高斯分布随机采样其中和为计算的均值和对角协方差矩阵的函数,通过条件增强可以生成更多的训练数据,从而提高系统对小扰动的鲁棒性,同时本发明考虑条件高斯分布和标准高斯分布之间的kullbackleibler散度(KL散度)以避免过拟合,表示如下:

实施过程中,用一个全连接层生成高斯分布中的σ1和μ1(σ1是对角矩阵∑1中的值),然后通过计算从采样分布中得到计算方式如下:

其中表示逐元素相乘,ε∈N(0,I),连接噪声向量z生成64×64维度的低分辨率图像s1,其中z是从标准高斯分布中采样得到的de随机噪声向量N(0,I),过程描述如下:

其中G1表示阶段1中的生成器,与生成器1不同,判别器1通过直接使用一个全连接层压缩食谱中嵌入到Nd的维度,然后复制成一个Md×Md×Nd张量,同时,对图像进行一系列的下采样,直到图像达到Md×Md的空间维度,在本发明中,Md和Nd分别设置为4和256,然后,沿通道维数将图像表示与文本张量连接,得到的张量通过一个1×1卷积层共同学习图像和文本的特征,最后,使用仅有一个节点的全连接层来提高置信度,然而,由于文本和图像的差异很难通过单一的判别器进行识别,因此该模型存在语义不完整的问题,为解决这个问题,本发明利用ITEM的图像编码器Φv表示生成的食物图像s1:

生成的嵌入图像可通过以下方式计算:

然后通过计算可以得到和之间的余弦相似度,最后CIGM第一阶段通过最大化公式(14)中的和公式(15)中的训练生成器G1和判别器D2,

其中,λ1和λ2是两个用来平衡公式(15)的正则化参数,在本发明中λ1和λ2都设为1。

在CIGM第一阶段生成的低分辨率的图像往往会丢失局部的细节,得到的图像不够逼真和生动,因此在第二阶段本发明根据第一阶段输出的低分辨率图像生成高分辨率图像,与阶段1类似,服从高斯分布其中表示嵌入向量给定的食谱,阶段1中生成的低分辨率图像是用来取代随机噪声向量z,本发明使用一系列下采样块Φs编码s1使其和具有相同的维度,这样可以沿着通道的维度生成256×256维度的高分辨率图像s2,使用公式描述这个过程如下:

其中z·表示CIGM第一阶段的伪输出,来表示第一阶段真实输出的图像的不够逼真和生动,G2表示阶段2的生成器,第2阶段的判别器结构与第1阶段相似,除了由于输入图像更大,阶段2中的下采样层更多。

在训练ITEM和CIGM中,本发明还对ITEM阶段的图像编码器编码生成的图像添加余弦相似度损失项来正则化生成器:由于ITEM阶段训练的图像编码器项目的图像分辨率是64×64的,所以本发明添加一个池化层来对做下采样,在CIGM的第二阶段通过最大化公式(17)中的LD2和公式(18)中的LG2训练生成器G2和判别器D2,

本发明中,CIGM第二阶段的λ1和λ2都设为1,在该阶段的训练过程还固定了ITEM阶段的权重和阶段1中的生成器。

读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,

图1是本发明一种根据食谱生成食物图像的方法的架构图。

图2是本发明一种根据食谱生成食物图像的方法的示例图。

为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。

下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。

图1是本发明的架构图。其中(a)ITEM:首先训练图像文本嵌入模块ITEM,然后计算并最大化食谱与图像之间的余弦相似度。(b)CIGM:一种级联图像生成模块,分低分辨率和高分辨率两步生成图像。在训练CIGM时,利用ITEM中文本编码器向量来生成图像,并利用ITEM中的图像编码器来计算给定食谱与生成图像的语义一致性。

图2是本发明的示例图。其中(a)是模型的输入食谱,包括配料和使用说明书两部分。(b)中展示了模型的输出:若干由(a)生成的食物图像。(c)为ground truth。

根据现有的工作,本发明可以从使用说明书中提取到配料,所以,每份食谱包括配料和如何去烹饪食物的说明书,用(rs,rg,v)表示数据片,其中rs表示使用说明书,rg表示原料,v表示相关的图片,本发明用两个LSTM编码器从使用说明书和原料中提取特征,使用词向量来学习每个原料的表示,由于原材料列表是一个无序的集合,本发明选择一个双向LSTM来提取可以对原料列表中的每个单词执行逻辑回归的特征,通过原料编码器Φg,则可得:

hg=Φg(rg) (1)

其中,hg表示配料,与配料成分不同,说明书是一串工作的集合,表示说明书由ns个句子构成,在句子中有nw个单词,本发明利用了一个二阶LSTM来表示说明书的全部集合,首先,每个句子都通过第一个阶段LSTM中的Φw表示成一个向量可以得到:

第二阶段LSTM在序列向量上训练Φs并通过计算下述公式以获得完整使用说明hs的表示:

对于图像的表示,本发明使用ImageNet上预先训练好的Resnet-50,使用的输出向量来自softmax前一层以表示食物图像,最后,得到hv=Φv(v),该阶段生成三个向量(hs,hg,hv)来表示原始输入(rs,rg,v)。

在将配料成分,使用说明书和图像表示为(hs,hg,hv)后,连接hs,hg和hr连接来表示食谱,本发明采用由全连接层组成的嵌入模块将hr和hv映射到进入嵌入空间:

之后,整个模型端到端的使用余弦相似度损失函数Lcos对正负类进行训练:

其中,y=1表示是一个正对,y=-1则表示是相反的负对,α=0.2的值是最好的性能,由于Recipe1M数据集提供了每幅图像和食谱所属类别信息(总共1048个类别),本发明使用它来规则化嵌入模型,通过训练模块来解决两种具有共享高水平权重的模式下的类别分类问题,关键的想法是,如果共享高级区别权重,两种模式应同样使用它们,所以,本发明添加一个全连接的层到softmax激活函数的食谱和嵌入图像则类概率可计算为:

其中,Wc表示全连接层的学习权值,cr和cv是食谱和图片的标签,如果为正对,则cr和cv是相同的,这个正则化函数如下:

本发明中定义的目标函数Lemb为:

本发明中λ设置为0.2。

在ITEM训练完成后,可以从食谱编码器得到但是潜在的文本嵌入通常是高维空间(有1024个维度),由于数据量有限,常常导致潜在数据流形的不连续,这对训练生成器来说是不理想的,为缓解这个问题,本发明利用调节增强技术产生的调节变量潜变量服从一个独立的高斯分布随机采样其中和为计算的均值和对角协方差矩阵的函数,通过条件增强可以生成更多的训练数据,从而提高系统对小扰动的鲁棒性,同时本发明考虑条件高斯分布和标准高斯分布之间的kullbackleibler散度(KL散度)以避免过拟合,表示如下:

实施过程中,用一个全连接层生成高斯分布中的σ1和μ1(σ1是对角矩阵∑1中的值),然后通过计算从采样分布中得到计算方式如下:

其中表示逐元素相乘,ε∈N(0,I),连接噪声向量z生成64×64维度的低分辨率图像s1,其中z是从标准高斯分布中采样得到的de随机噪声向量N(0,I),过程描述如下:

其中G1表示阶段1中的生成器,与生成器1不同,判别器1通过直接使用一个全连接层压缩食谱中嵌入到Nd的维度,然后复制成一个Md×Md×Nd张量,同时,对图像进行一系列的下采样,直到图像达到Md×Md的空间维度,在本发明中,Md和Nd分别设置为4和256,然后,沿着通道维数将图像表示与文本张量连接起来,得到的张量通过一个1×1卷积层共同学习图像和文本的特征,最后,使用仅有一个节点的全连接层来提高置信度,然而,由于文本和图像的差异很难通过单一的判别器进行识别,因此该模型存在语义不完整的问题,为克服这个问题,本发明利用ITEM中的图像编码器Φv表示生成的食物图像s1:

生成的嵌入图像可通过以下方式计算:

然后本发明通过计算可以得到和之间余弦相似度,最后CIGM第一阶段通过最大化公式(14)中的和公式(15)中的训练生成器G1和判别器D2,

其中,λ1和λ2是两个用来平衡公式(15)的正则化参数,在本发明中λ1和λ2都设为1。

在CIGM第一阶段生成的低分辨率的图像往往会丢失局部的细节,得到的图像不够逼真和生动,因此在第二阶段本发明根据第一阶段输出的低分辨率图像生成高分辨率图像,与阶段1类似,服从高斯分布其中表示嵌入向量给定的食谱,阶段1中生成的低分辨率图像是用来取代随机噪声向量z,本发明使用一系列下采样块Φs编码s1使其和具有相同的维度,这样可以沿着通道的维度生成256×256维度的高分辨率图像s2,使用公式描述这个过程如下:

其中z·表示CIGM第一阶段的伪输出,来表示第一阶段真实输出的图像的不够逼真和生动,G2表示阶段2的生成器,第2阶段的判别器结构与第1阶段相似,除了由于输入图像更大,阶段2中的下采样层更多。

在训练ITEM和CIGM中,本发明还使用ITEM阶段的图像编码器编码生成的图像这样可以添加余弦相似度损失项来正则化生成器:由于ITEM阶段训练的图像编码器项目的图像分辨率是64×64的,所以本发明添加一个池化层来对做下采样,在CIGM的第二阶段通过最大化公式(17)中的LD2和公式(18)中的LG2训练生成器G2和判别器D2,

本发明中,CIGM第二阶段的λ1和λ2都设为1,在该阶段的训练过程还固定了ITEM阶段的权重和阶段1中的生成器。

本发明提供一种根据食谱生成食物图像的方法,包括:输入图像和食谱,利用本发明提出的ITEM从输入的图像和食谱中提取特征并嵌入,再计算图像和食谱的余弦相似度;对生成的ITEM文本特征,利用本发明提出的CIGM获得低分辨率图像;结合低分辨率图像和文本特征利用CIGM生成高分辨率图像,逐步训练ITEM和CIGM,在训练CIGM时,固定ITEM的值保持权重不变,在训练CIGM时利用两种损失函数计算方式:由判别器给出的文本图像对语义一致性对抗损失函数和基于ITEM的文本语义损失函数。相比于现有根据食谱生成食物图像的方案,本发明一种根据食谱生成食物图像的方法,在视觉真实性和语义一致性方面都有更好的表现。

上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。

本文发布于:2024-09-25 02:33:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/84696.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议