没有合适的资源?快使用搜索试试~ 我知道了~
11572模态对准三重损失检索学习图像食谱交叉模态翻译一致性糖蒜瓣咸蛋酪乳发酵粉使用对抗网络学习烹饪食谱和食物图像的王浩<$,刘成浩<$,林义鹏<$Steven C. H. 会泽†新加坡管理大学SalesforceResearch Asia{hwang,doyens,chliu,eplim,chhoi}@smu.edu.sg摘要食品计算在人类日常生活中扮演着越来越重要的角色,在引导人类行为走向智能食品消费和健康生活方式方面有着巨大食物计算伞下的一个重要任务是检索,这对健康相关应用特别有帮助,在健康相关应用中,我们对检索关于食物的重要信息感兴趣(例如,成分、营养等)。本文针对烹饪食谱和食物图像之间的跨模态检索这一开放性研究课题,提出了一种新的对抗性跨模态嵌入框架(ACME),预测成分配料:糖,玉米淀粉,酪乳,发酵粉,鸡蛋,柠檬汁说明:将糖和玉米淀粉混合在一个大平底锅里;拌入大黄生成的图像跨模态检索任务在食品领域。具体来说,我们的目标是在两种模态之间学习一个共同的嵌入特征空间,其中我们的方法包括几个新颖的想法:(i)通过使用新的三重丢失方案以及有效的采样策略来学习,(ii)使用对抗学习策略来施加模态对齐,以及(iii)施加跨模态翻译一致性,使得一个模态的嵌入能够恢复另一模态 中 的 对 应 实 例 的 一 些 重 要 信 息 。 ACME 在 基 准Recipe1M数据集上实现了最先进的性能,验证了所提出的技术的有效性。1. 介绍随着社交网络、物联网(IoT)和配备有摄像头的智能手机的快速发展,共享食物图像、食谱、烹饪视频和食物日记的趋势越来越大例如,社交媒体平台“AllRecipes他们的追随者或粉丝按照烹饪说明,上传*表示平等贡献1https://www.allrecipes.com图1:展示对抗性跨模型嵌入(ACME)思想的示例,其中烹饪食谱和食物图像的嵌入是对齐的。从了解食物、营养和卡路里摄入特征的角度来看,这些嵌入对于几种健康应用是他们的照片复制相同的菜肴,并分享他们的经验,供同行评论。因此,社区可以获得丰富、多样的食物信息来源近年来,食物计算[32]由于其对人类生活、健康和福祉的深远影响而成为热门的研究课题。分析食物数据可以支持医学、生物学、美食学和农学中许多以人为中心的应用食品计算伞下的重要任务之一是食品检索,即,我们感兴趣的是检索关于特定食物的相关信息例如,给定一个食物图像,我们感兴趣的是知道它的配方、营养成分或热量信息。在本文中,我们研究了烹饪食谱和食物图像之间的跨模态检索问题,我们的目标是找到一个有效的潜在空间来映射食谱到相应的食物图像。在食物领域中的跨模态检索的思想是在公共空间中对齐匹配对,使得给定的11573食谱,可以检索适当的相关图像,或者给定食物图像,可以检索相应的食谱。最近的努力解决了烹饪食谱和食物图像之间的大规模交叉模态检索问题[40,6,9],使用CNN [18]对食物图像进行编码,使用LSTM [21]对食谱进行编码,并使用常见的检索损失(例如,成对余弦损失和三重损失)。尽管取得了令人鼓舞的业绩,但仍存在几个严重的缺点:(i)在对应于一个配方的图像中可能存在高变化,使得使用简单采样策略的三重损失难以快速收敛;(ii)它们不考虑对齐两种异构模态的特征分布:烹饪食谱和食物图像,其可能具有非常不同的分布;以及(iii)使用深度神经网络的跨模态映射可能导致嵌入过程中的信息丢失,并且对于现有方法,不清楚一种模态的嵌入是否能够在另一种模态中捕获相关的语义信息。为了解决上述限制,我们提出了一种新的端到端框架,称为AdversarialCross-ModalEmbedding(ACME)。具体来说,我们提出了一种改进的三重丢失方案,赋予硬样本挖掘,这相对于传统的三重态损耗显著地改善了性能和收敛性。我们建议使用对抗性损失来对齐来自两种模态的嵌入,试图使烹饪食谱和食物图像的特征分布难以区分。我们还通过从一个模态的特征嵌入中恢复另一个模态的相关信息来我们训练该模型以在给定食谱嵌入的情况下生成适当的图像,并在给定食物图像嵌入的情况下预测成分。图1显示了ACME框架的概述,它是端到端可训练的,并且在Recipe1M[40]数据集。我们进行了广泛的消融研究,以评估ACME各种组件的性能。最后,对所提出的方法进行了定性分析,并对检索结果进行了可视化.代码是公开的2.2. 相关工作2.1. 食品计算近年来,食品计算已经发展成为一个热门的研究课题[32,2,1]。随着物联网的快速发展和社交媒体渗透到我们的日常生活中,人们经常在网上分享食物和图片食谱。这使得将这种丰富的异质信息源用于几项重要任务,以及分析食品相关信息的巨大机会这对我们的日常生活,行为,健康[35,13]和文化[39]产生了深远的影响等2https://github.com/LARC-CMU-SMU/ACME分析可能在医学[15]、生物学[5]、美食学[33]、农学[20]等方面产生影响有很多方法可以分析食物,并且可以使用食物计算来解决一个通常研究的任务是从图像中识别食物。这个问题已经研究了很多年,收集了大量的数据集,并在这些数据集上训练预测模型。早期的方法使用基于内核的模型[25],而最近的方法利用了深度CNN [27,45,30]。另一项受到广泛关注的任务是食物推荐。这是一个比传统推荐系统更困难的任务,因为需要集成各种上下文异构信息来进行推荐。在文献中已经有几项关于食物推荐的努力,包括基于聊天机器人的[14]和糖尿病患者的饮食建议[38]。我们的重点是另一项共同任务:食物回收。我们的目标是检索相关信息的食品项目给定的查询。例如,从食物图像中估计卡路里和营养可能是一项困难的任务,但如果我们可以从图像中检索食谱和成分,那么营养和卡路里估计的任务就会变得简单得多。食品计算中有几种类型的检索:图像到图像检索[10]、食谱到食谱检索[7]以及跨模态图像到食谱和食谱到图像检索[40]。我们的工作是在烹饪食谱和食物图像之间的跨模态检索领域。2.2. 跨模态检索跨模态检索的目标是从不同的模态中检索相关实例,例如。使用文本检索图像。主要的挑战在于媒体差距[36],这意味着来自不同模态的特征是不一致的,这使得难以测量相似性。为了解决这个问题,许多努力集中在使用对来学习相似性或距离度量以关联跨模态数据[40,42,11,44]。除了度量学习方法,一些对齐思想也用于跨模态检索:如全局对齐[23,4,3]和局部对齐[26,24,34]。典型相关分析[23]利用全局对齐,以允许通过最大化跨模态(相似)对之间的相关性来映射语义相似的不同模态在[26]中,局部对齐用于将图像和句子嵌入到公共空间中。为了增强全局和局部对齐,[24]通过优化成对排序来学习多模态嵌入。另一条工作线使用对抗损失[16],其经常用于域适应[22]和跨模态检索[43]中的对齐。烹饪食谱和食物图像的大规模跨模态检索的现有工作包括JE [40],它使用成对余弦损失来学习两种模态之间的联合嵌入。该方法被扩展到11574使用AdaMine的简单三重损失[6]。另一种方法试图使用神经系统注意力来改善食谱的嵌入[9]。 与这些努力不同的是,我们的工作使用了一个更好的采样策略来改善三重丢失,实施跨模态对齐,并强制跨模态翻译一致性,以实现更有效和更强大的跨模态嵌入。3. 对抗性跨模态嵌入我们现在提出我们提出的食谱和食物图像之间的对抗性跨模态嵌入(ACME)。3.1. 概述给 定 一 组 图 像 配 方 对 ( it , rt ) , 其 中 t =1,. . . ,T,其中食物图像it∈ I和食谱rt∈ R(其中I和R分别对应于图像和食谱域),我们的目标是学习嵌入函数EV:I → Rd和ER:R → Rd,它们分别将图像和食谱编码为d维视觉向量和食谱向量。应该学习嵌入函数,以便em-食物图像及其对应的食谱的嵌入应该彼此靠近(对于it1和rt2,其中t1=t2),并且应该远离其它图像或食谱的嵌入(对于it1和rt2,其中t1/=t2)。这样的嵌入非常适合于检索任务。 注意,在我们的工作中,实例可以具有从图像到食谱的多对一关系,即,对于给定的食谱,我们可以有许多图像因此,我们希望给定配方的所有图像的嵌入接近于该配方的嵌入,并且远离其他配方的嵌入。学习这种嵌入的一种简单方法是在特征表示级别使用成对余弦损失,并使用反向传播来学习嵌入函数[40]。由于这种损失函数对于检索任务可能不理想,因此也考虑了三重损失[6]。然而,我们假设这两种方法都受到几个关键限制:(i)它们在三重态损失的优化期间对所有样本给予同等重要性,这可能显著地阻碍收敛和泛化,因为在对应于相同配方的许多图像之间可能存在高方差;(ii)由于来自异构模态,特征分布可能非常不相似,并且现有方法不试图对齐这些分布;以及(iii)嵌入函数在嵌入过程中可能丢失重要信息,结果,一个模态的嵌入可能不能有效地捕获另一模态中的语义信息。为了解决这些问题,我们提出了一种新的端到端的框架,用于烹饪食谱和食物图像之间的对抗性Cross-ModalE mbedding(ACME)为了应对第一个挑战,我们提出了一个新的检索学习组件,它利用了硬样本挖掘[19]策略改善现有的三重态损失为了解决模态分布对齐,我们使用对抗损失[16]来确保不同模态的嵌入函数的特征遵循相同的分布。最后,我们引入了一种新的跨模态翻译一致性组件,其中使用嵌入的食谱特征生成食物图像整个管道可以以端到端的方式进行训练,并具有联合优化目标。所提出的总体架构如图2所示。更正式地,在通过流水线的前馈流期间,分别使用CNN(由Ev参数化)和LSTM(由Er参数化)对食物图像i和食谱rCNN为我们提供了视觉特征Vm∈Rd,而LSTM给了我们高层次的食谱特征Rm∈Rd。然后,这些高级要素将通过完全连接的图层(参数化通过FC),其中两种模态共享相同的权重[37],目的是将每种模态的公共表示相关联,并分别为视觉特征和配方特征提供最终表示V和R然后,食谱特征R用于生成食物图像,并且视觉特征V用于预测特定实例中的配料。 该框架在三个目标上进行了优化:实现一个适合检索任务的特征表示;获得对齐两个模态的分布的特征表示,以便使它们模态不变;并且这些特征实现了跨模态翻译的一致性。拟议的ACME的总体目标如下:L=LRet+λ1LMA+λ2LTrans,(1)其中λ1和λ2是折衷参数。检索学习组件LRet(V,R)接收两个高级特征向量:对于图像V∈Rd,对于配方R∈Rd,并计算检索损失。模态对齐分量LMA(Vm,Rm)对倒数第二层特征Vm∈Rd和Rm∈Rd进行操作,并且旨在使用对抗性的模态不变性来实现模态不变性。两个分布的损失。跨模态翻译一致性分量L_T_rans被进一步划分为两个子分量:recipe2image(从R生成食物图像)和image2recipe(基于V预测成分)。recipe2image和image2recipe分别使用对抗损失和分类损失来优化。在训练过程结束时,特征表示V和R用于检索任务。3.2. 跨模态检索学习在图像和配方通过编码器函数和权重共享层之后,获得视觉表示V和配方表示R。我们的目标是使特征表示Vt1和Rt2相似,11575模态对齐输入图像美国有线电视新闻网(CNN)指令成分神经网络(RNN)……硬样本挖掘翻译一致性CCC房GD权重共享假的检索学习图2:ACME:对抗性跨模态嵌入:我们提出的框架,以实现有效的跨模态嵌入。食物图像和食谱分别使用CNN和LSTM进行编码,以提供特征嵌入。使用对抗性损失LMA来 对 齐 特 征嵌 入以实现模态对齐。然后,图像和文本嵌入都通过共享的FC层传递,以给出最终的嵌入。 这种嵌入是通过优化LRet来学习的,它使用三重丢失和硬样本挖掘。该嵌入也被优化以实现跨模态翻译一致性(LTrans),其中食谱嵌入用于生成对应的真实食物图像,并且食物图像嵌入用于预测食物项中的成分。给定对(t1=t2)和不同的t1/=t2。这是通过使用三重损失来实现的[41]。三元组包括:一个特征嵌入作为一个模态中的锚点,以及来自另一模态的正和负特征嵌入正实例对应于我们希望它与锚点相似的实例,负实例应该与锚点不相似在我们的例子中,我们有两种类型的三元组:一种是视觉特征V作为锚,另一种是配方特征R作为锚。然后给出目标为:Σ在训练过程中,远距离的正实例和最近的负实例。3.3. 模态对齐使用来自不同模态的编码特征的主要挑战是编码特征的分布更理想的解决方案是对齐编码特征的分布。我们的目标是对准倒数第二层特征Vm和Rm的分布。为此,我们使用对抗性损失,我们试图LRet=[d(Va,Rp)−d(Va,Rn)+α]+VΣ+[d(Ra,Vp)−d(Ra,Vn)+α]+,R(二)- 实现特征表示,使得HDM不能区分特征表示是从图像还是从配方获得的。我们在实验中经验性地采用了WGAN-GP [17]客观我们的目标是将此目标最小化为:LMA给出为:LMA=Ei图像[logDM(EV(i)]+(三)minEV、ER、 FCLRet埃鲁普配方 [log(1−DM(英、俄)(r))],这里d(·)是欧几里得距离,下标a、p和n分别表示锚点、正样本和负样本,α是误差幅度。为了提高学习的收敛性,我们将硬样本挖掘策略融入到三元组丢失的学习过程中。 特别是,与简单地将所有实例对于给定锚的三元组构造同等重要的传统方法不同,所提出的方法优先考虑最并通过最小-最大优化求解为:最小最大LMAEV、 ERDM3.4. 翻译一致性为了具有更好的泛化能力,我们希望一种模态的学习嵌入能够恢复另一种模态中的相应信息,从而更好地11576语义对齐这将加强跨模态翻译的一致性,确保学习的特征表示保留跨模态的信息。具体来说,我们的目标是使用食谱特征R来生成食物图像,并使用视觉特征V来预测食谱的成分目标如下:LTrans=Lr2i+Li 2r下面我们将详细介绍这些损失,这有助于实现跨模态翻译的一致性。3.4.1Recipe2Image对于recipe2image生成,我们有两个目标:所生成的图像必须是真实的,并且它们的食物类别标识被保留。以食谱编码作为输入,4. 实验4.1. 数据集和评估指标我们在Recipe1M数据集[40]上评估了我们提出的方法的有效性,Recipe1M数据集是最大的数据集之一。公共烹饪食谱数据和食物图片。它包含超过100万个烹饪食谱和80万个食物图片。作者根据配方标题为每个配方分配了一个类标签。这导致了1,047个食物类别(为跨模态翻译一致性提供了相关信息作者还确定了4,102种常见的独特成分。我们采用原始数据分割[40],使用238,999对图像配方对进行训练,51,119对用于验证,51,303对用于测试。我们使用与先前相同的指标来评估模型我们使用生成器Gr2i 来生成图像。 A discrimi工作[40,6]。具体来说,我们首先对10个不同的子样本进行1,000对(1k设置),10个不同的子集,然后使用参数Dr2i来区分生成图像是真还是假。同时,使用Food-ClassifierCr2i来预测生成的图像属于哪个食物类别。在训练过程中,CJDr2i和分类器Cr2i接收真实图像和生成的假图像作为输入。具体来说,我们借用StackGAN [46]的思想来保证生成的食物图像的质量,并且生成器Gr2i以配方特征R=FC(ER(r))。对抗性目标表述为:LGr2i=Eip图像[logDr2i(i)]+Er RP配方[log(1 −Dr2i(Gr2i(FC(ER(r)))))](四)虽然对抗性损失能够生成逼真的图像,但它不能保证翻译的一致性。因此,我们使用食物类别分类器,该分类器鼓励生成器使用食谱特征来生成相应的食物种类。目标是交叉熵损失,表示为LCr2i。结合这两个目标,我们的优化公式为:测试集中有10,000(10k设置)对然后,我们认为每个项目在一个模态作为一个查询(例如,图像),我们排名的实例在其他模态(例如食谱)根据L2之间的嵌入查询和候选之间的距离。使用L2距离进行检索,我们使用标准度量在跨模态检索任务中评估性能。对于我们之前采样的每个测试子集(1k和10k),我们计算 中 值 检 索 秩 ( MedR ) 。 我 们 还 评 估 了 顶 部 K(R@K)处的召回百分比,即,匹配项在前K个结果中排名的查询的百分比4.2. 实现细节我们的图像编码器EV初始化为在ImageNet [12]上预训练的ResNet-50 [18],并给出了1024维的特征向量。一份食谱包括一套说明和一套配料。配方编码器ER是一个分层的LSTM [21],用于编码指令(其中单词级嵌入是从预训练的跳跃思想算法[29]中获得的),以及一个双向嵌入,用于编码minmaxLr2i=LGr2i+LCr2i成分(其中成分嵌入被获得)Gr2i,Cr2i,ER,FCDr2i4.2.1Image2Recipe为了实现image2recipe翻译,我们的目标是恢复食物图像中的成分。这是通过在视觉特征V上应用多标签分类器来完成的,这将预测食物图像中的成分。多标签[31]第231话然后,两个嵌入被连接起来,并通过一个全连接层,得到一个1024维的特征向量。在图像生成期间,从 recipe2image , 我 们 的 生 成 器 Gr2i 生 成 大 小 为128×128×3的图像。我们在等式中设置λ1和λ2(1)分别为0.005和0.002该模型使用Adam进行训练[28]在我们所有的实验中,批量大小为64。初始目标表示为LGi2r (从某种意义上说,它是一种...学习率设定为0.0001,动量设定为0.999。从给定图像中提取成分)。与recipe2image的情况一样,我们还通过使用交叉熵损失LCi2r确保特征可以被分类到正确的食物类别来保持翻译的一致性。优化被公式化为:4.3. 基线我们与几个最先进的基线进行比较CCA [23]:典型相关分析是用于从不同特征空间学习公共嵌入的最广泛使用的模型CCA学习两个线性方程,minGi2r、Ci 2r、EI、FCLi2r=LGi2r+LCi2r用于将文本和图像特征映射到公共11577表1:主要结果。与基线相比,评价ACME的性能。根据MedR(越低越好)和R@K(越高越好)对模型进行评估。测试集大小图像到配方检索配方到图像检索方法medR↓R@1↑R@5↑R@10 ↑medR↓R@1↑R@5↑R@10 ↑[23]15.714.032.043.024.89.024.035.0SAN [8]16.112.531.142.3----[40]第四十话5.225.651.065.05.125.052.065.0上午[9]4.625.653.766.94.625.753.967.1AdaMine [6]1.039.869.077.41.040.268.178.7ACME(我们的)1.051.880.287.51.052.880.287.6日本语[40]41.9---39.2---10kAM [9]39.87.219.227.638.17.019.427.8AdaMine [6]13.214.935.345.212.214.834.646.1ACME(我们的)6.722.946.857.96.024.447.959.0最大化特征相关性的空间。SAN(Stacked Attention Network,SAN)只考虑食材(忽略菜谱说明),通过两层深度注意机制学习食材和图像特征之间的特征空间。JE [40]:使用成对余弦损失来找到不同模态之间他们将分类器附加到嵌 入并预测食物类别(1 ,047类)。AM [9]:除了三重损失之外,AM还对食谱使用了一种注意力机制,这种机制适用于不同的层面(标题,成分和说明)。与JE相比,AM使用来自食物标题的额外信息。AdaMine [6]:使用双三重损失,其中三重损失被应用于学习联合嵌入和将嵌入分类到适当的食物类别中。它们还集成了自适应学习模式,对重要三元组进行自适应挖掘。4.4. 定量结果4.4.1主要结果我们在表1中展示了ACME在跨模态检索方面的性能。在1k和10k测试数据集上的检索任务中,我们提出的方法ACME在所有指标上都优于所有基线。在1k测试数据集上,ACME在图像到配方和配方到图像检索任务中均实现了1.0的完美中位数排名,与当前最先进的最佳方法的性能相当我们转移到更大的10k测试数据集时,检索变得更加困难,ACME对于两个检索任务分别实现了小于6.7和6.0的中值秩,这比当前最先进的方法低约50%。Recall@K的ACME性能显著优于所有基线。总的来说,的ACME被证明是非常有前途的,击败所有国家的最先进的方法在所有的指标一致。4.4.2消融研究我们还进行了广泛的消融研究,以评估我们提出的ACME框架中的每个组件的贡献。具体来说,我们首先评估了最基本版本的模型与基本三重态损失(TL)的性能。我们逐步添加更多组件:首先,我们评估了引入硬样本挖掘(HM)的收益。在此模型的基础上,我们添加了模态对齐组件(MA)。基于生成的模型,我们然后添加跨模态翻译组件来衡量它们的有用性。特别是,我们希望看到每个跨模态翻译R2I和I2R的效果,以及它们的组合效果。我们还测量了有和没有MA的完整模型的效果,并最终将ACME框架中的所有组件组合在一起。我们评估这些组件的图像到配方检索,结果如表2所示一般来说,我们观察到,每个提出的组件通过提高性能为嵌入模型增加了积极的价值,并且所有组件都以协同的方式工作,以提供整体改进的性能。4.5. 定性结果在这里,我们可视化ACME的一些结果。我们使用经过训练的ACME模型,并在完整的50k测试数据集上执行两个检索任务(食谱到图像和图像到食谱)。请注意,这比上一节中介绍的1k数据集要困难得多,并且很难检索正确的实例(从50k个可能性中)。我们的主要目标是显示,尽管存在这种困难,但检索到的顶级项目似乎(定性)与查询匹配良好我们首先以一种模态显示查询实例,11578鸡汤糖饼干图像查询真实的食谱检索食谱S食利阶层配方查询前5个检索到的图像咖啡蛋糕酱鸡水果沙拉说明:将前6种成分混合在一个小平底锅中。用中火煮沸;煮5分钟,不断搅拌。离开热源配料:蜂蜜,水,生姜粉,莱姆皮,新鲜莱姆汁,糖,橘子皮说明:预热烤箱到350,准备一个13x9平底锅与铝箔和喷雾箔与不粘喷雾分钟。酱油会让鸡肉变配料:鸡肉、米饭、酱油、胡椒粉、香油、蒜粉说明:将糖和玉米淀粉混合在一个大平底锅里;加入大黄和草莓搅拌,预热烤箱到350华氏度(175摄氏度)配料:糖,鸡蛋,玉米淀粉,柠檬汁,泡打粉,白脱牛奶图3:在完整的50k测试数据集上分析图像检索的配方。第一列表示食物类别,第二列是查询食谱。显示了ACME检索到的前5个结果最佳匹配(即,地面实况)用红色框起来在大多数情况下,检索到的顶部图像显示与地面实况相似的概念。配料:鸡汤,香茅,椰奶,鱼露,去骨鸡胸肉,姜根做法:将椰奶,鸡汤,香茅和生姜混合在一个大锅里。用文火炖,经常搅拌,否则椰奶会凝结配料:鸡大腿,粉,椰奶,高良姜,鸡汤,糖,蘑菇做法:将椰奶倒入锅内,加入高良姜和柠檬草煮滚。加入鸡肉和辣椒再次煮沸,直到鸡肉煮熟配料:糖,香草精,黄油,面粉,泡打粉,鸡蛋,盐说明:在一个大碗里,把糖和黄油搅成奶油状。加入鸡蛋和香草精打匀。加入面粉,泡打粉和盐配料:无盐黄油,面包粉,砂糖,饼干黄油,鸡蛋,柠檬汁做法:将黄油放至室温软化。用电动打蛋器搅打奶油,然后加入糖、鸡蛋和柠檬配料:蛋黄,泡打粉,鸡蛋,香草精,糖,无盐黄油说明:预热烤箱至375度,开始将黄油和糖搅拌至蓬松,一次主要成分:起酥油,水,杏仁提取物,砂糖,香草在一个大碗中搅拌起酥油和提取物。慢慢加入糖。加入足够的水配料:梨,芹菜,洋葱,红椒,鸡汤,生姜,干白葡萄酒说明:将梨沥干,切成大块,弃去果汁(或喝掉!))并搁置。在一个带盖的配料:洋葱,大蒜,橄榄油,月桂叶,鸡汤孜然做法:用油爆香洋葱至软身。加入蒜头、西芹及甘笋炒香。把其他东西都加进去煮。关火慢炖11/2-2小时配料:糖,泡打粉,鸡蛋,糖粉,牛奶用法:将糖和起酥油混合均匀。加入鸡蛋、杏仁精华、牛奶、面粉、盐和泡打粉搅拌均匀成份:牛奶,水,鸡蛋,香草,油,梦幻鞭混合物说明:根据盒装说明在9 x 13蛋糕锅中准备蛋糕。完成后取出,用木勺的末端戳孔配料:鸡胸肉,大蒜,鸡汤,面条,胡萝卜,芹菜做法:将鸡肉切成小块,放入高汤中煮约30分钟。将鸡肉切成小块,放入高汤中煮约30分钟配料:胡萝卜,水,鸡汤,白萝卜,蒜瓣,盐说明:混合:鸡&接下来的10个成分在一个大的荷兰烤箱,并把混合物煮沸高热量。从出生地移走鸡图4:在完整的50k测试数据集上分析图像到配方检索。我们考虑两类食物:鸡汤和甜饼干我们在每个类别中显示3个不同的图像查询。在每个图像下面是真正的食谱,下面是ACME检索到的最佳食谱。我们可以观察到,我们检索到的配方与真实配方有几个共同的成分在另一模态中对应的地面实况。然后,我们在第二种模态中检索最前面的结果,这可以显示与真实实例的比较。即使我们通常无法获得地面实况,ACME也会检索与此地面实况非常相似的实例。4.5.1图像检索结果的配方我们在图3中展示了一些图像检索方法的例子。我们考虑3个食物类:咖啡蛋糕、沙司鸡肉和水果沙拉,并从每个类中然后使用ACME对图像进行在所有情况下,检索到的图像在视觉上与地面实况图像非常相似。例如,在咖啡蛋糕的情况下检索的图像都类似于蛋糕;为酱鸡检索的图像,都有某种形式的熟鸡肉,其中几个有米饭(地面事实没有米饭,但查询食谱中的成分使用熟米饭);为水果沙拉检索的图像看起来在所有图像中都有水果。11579表2:消融研究。评价ACME框架不同组成部分的效益。根据MedR(越低越好)和R@K(越高越好)对模型进行评估图6中的i2r组件。查询图像是猪排。我们可以看到查询图像的几个正确预测的成分事实上,完全合理的是,使用预测的成分,可以烹饪菜肴以获得与查询图像非常相似的图像。配方查询(巧克力片)成分:多功能面粉,糖,黄油,鸡蛋,杏仁提取物,无籽乌藨子果酱,迷你半甜巧克力片在一个大碗里,加入面粉和糖。 加入黄油,直到混合物看起来像面包屑。拌入鸡蛋,提取直到湿润,留出1 C的面包屑混合物作为浇头食谱查询(冰淇淋)配料:糖,柠檬马鞭草,白脱牛奶,白巧克力,全脂牛奶使用方法:取一杯白脱牛奶,在平底锅中慢慢加热,加入8块白巧克力。 搅拌直到巧克力完全溶解。把混合物从炉子上拿下来,搅拌剩下的这表明,我们的结构学习的公共空间在捕获两种模态的语义信息方面做得很好检索图像生成图像检索图像生成图像4.5.2图像到配方检索结果我们在图4中显示了图像到配方检索的结果。我们考虑两类食物:鸡汤和糖饼干,并在每个类别中使用3个图像作为查询图像。我们检索每个图像查询的顶级配方,并将其与对应于该图像的真实配方进行比较。在鸡汤的情况下,通常很难在食物图像中查看鸡(因为它可能淹没在汤中),然而基于ACME嵌入检索的食谱中的配料包含鸡。我们还观察了真实配方和糖饼干图像检索配方之间的几种这样的性能可以有几个有趣的食品计算应用。例如,用户可以拍摄食物图像,检索食谱,并估计该食物图像的营养素和卡路里。4.5.3跨模态翻译一致性ACME框架的一个有趣的副产品是跨模态翻译。这些翻译组件主要用于添加约束,以便为我们的主要检索任务获得更好的语义嵌入我们并不声称这些组件是鲁棒的并且产生非常好的翻译(因为食物类别是嘈杂的,生成真实图像是困难的,将食物分类为1,047个类别以及将成分多标签分类为超过4,102个类别是非常困难的)。然而,跨模态翻译有时可以获得非常有趣的结果。例 如 , 在 图 5 中 , 我 们 看 到 一 个 recipe2imagetranslation。给定一个食谱查询,我们从数据集中检索一个真实的食物图像,并将其与ACME的r2i组件生成的图像进行比较。对于冰淇淋的两个实例,我们可以看到生成的图像显示出与真实食物图像惊人的相似性。同样,我们从图像中查看成分预测,以查看图5:检索到的食物图像和生成的图像(由r2i翻译组件生成)的查询食谱的真实成分:番茄,辣椒,猪排,蒜蓉,盐回收成分:去骨猪排,黑胡椒,辣椒酱,蒜粉,盐预测成分:布朗宁酱,排骨,破裂图片查询胡椒,干欧芹片,大蒜花葶图6:查询图像猪排的检索成分和预测结果(由i2r翻译组件预测)的可视化。5. 结论在本文中,我们提出了一个端到端的框架ACME,用于学习烹饪食谱和食物图像之间的联合嵌入,其中我们是第一个使用对抗网络来指导学习过程的具体来说,我们提出了使用硬样本挖掘,使用对抗损失进行模态对齐,并引入了跨模态翻译一致性的概念,其中我们使用食谱嵌入来生成合适的食物图像,并使用食物图像嵌入来恢复食物中的不我们进行了广泛的实验和消融研究,并在Recipe1M数据集上获得了最先进的跨模态检索结果。致谢本研究得到了新加坡总理办公室国家研究基金会在新加坡国际研究中心资助计划下的支持组件MedRR@1R@5R@10TL4.125.956.470.1TL+HM2.047.576.285.1TL+HM+MA1.948.077.385.5TL+HM+MA+R2I1.450.077.885.7TL+HM+MA+I2R1.849.378.486.1TL+HM+R2I+I2R1.649.577.985.5所有1.051.880.287.511580引用[1] Palakorn Achananuparp , Ee-Peng Lim 和 Vibhanshu Ab-hishek。写日记能鼓励更健康的选择吗?:分析食品记者的健康饮食行为。在2018年数字健康国际会议的开幕式上,第35-44页。ACM,2018。[2] Palakorn Achananuparp 、 Ee-Peng Lim 、 VibhanshuAbhishek和Tianjiao Yun。饮食告诉:随机损失激励增加饮食自我跟踪依从性的随机试验。在2018年数字健康国际会议论文集,第45-54页。ACM,2018。[3] Galen Andrew,Raman Arora,Jeff Bilmes,and KarenLivescu.深度典型相关分析。在International Conferenceon Machine Learning,第1247-1255页[4] 弗朗西斯·巴赫和迈克尔·乔丹。核独立成分分析。Journal of Machine Learning Research,3(Jul):1[5] 卡尔·巴特食品病原体检测。Science,316(5831):1579[6] Micael Carvalho 、 Rémi Cadène 、 David Picard 、 LaureSoulier、Nicolas Thome和Matthieu Cord。烹饪环境中的跨模态检索:学习语义文本图像嵌入。在ACM SIGIR,2018年。[7] Minsuk Chang,Léonore V Guillain,Hyeungshik Jung,Vi-vianMHare , JuhoKim , andManeeshAgrawala.Recipescape:一个交互式的工具,用于分析烹饪说明的规模。在2018年CHI计算机系统中人类因素会议的会议记录中,第451页。ACM,2018。[8] 陈晶晶,庞磊,吴忠华。跨模态食谱检索:如何烹饪这道菜?在多媒体建模国际上,第588-600页Springer,2017.[9] Jing-Jing Chen,Chong-Wah Ngo,Fu-Li Feng,and Tat-Seng Chua.深入理解烹饪过程,用于跨模态食谱检索.在2018 年 ACM 多 媒 体 会 议 上 , 第 1020-1028 页 ACM ,2018。[10] Gianluigi Ciocca , Paolo Napoletano , and RaimondoSchettini.基于cnn的特征学习在食品图像检索中的应用 。 图 像 分 析 与 处 理 国 际 会 议 , 第 426-434 页 。Springer,2017.[11] Antonia Creswell和Anil Anthony Bharath。草图检索的对抗训练。欧洲计算机视觉会议,第798-809页。施普林格,2016年。[12] Jia Deng,Wei Dong,Richard Socher,Li-Jia Li,KaiLi,and Li Fei-Fei.Imagenet:一个大规模的分层图像数据库。2009.[13] 小井巧和柳井敬二。基于图像的食物卡路里估计,使用关 于 食 物 类 别 、 成 分 和 烹 饪 方 向 的 知 识 。 在 ACMMultimedia 2017的主题研讨会上,第367ACM,2017。[14] 艾哈迈德·法迪勒聊天机器人可以决定我的饮食吗?解决用于膳食推荐的聊天机器人应用的挑战。arXiv预印本arXiv:1802.09100,2018。[15] GiovanniMariaFarinella , DarioAllegra , MarcoMoltisanti,Filippo Stanco,and Pastiano Battiato.检索和分类-食物图像的变化生物学和医学中的计算机,77:23[16] 伊恩·古德费洛、让·普盖特-阿巴迪、迈赫迪·米尔扎、许冰、大卫·沃德-法利、谢尔吉尔·奥扎尔、阿伦·库维尔和约舒亚·本吉奥。生成性对抗网。 在神经信息处理系统的进展,第2672[17] Ishaan Gulrajani 、 Faruk Ahmed 、 Martin Arjovsky 、Vincent Dumoulin和Aaron C Courville。改进的瓦瑟斯坦甘斯训练。神经信息处理系统的进展,第5767-5777页,2017年[18] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习。在Proceedings ofthe IEEE conference on computer vision and patternrecognition,第770-778页[19] 亚历山大·赫尔曼斯、卢卡斯·拜尔和巴斯蒂安·莱布。为三胞胎的丢失辩护,进行人员重新鉴定。arXiv预印本arXiv:1703.07737,2017。[20] JoséLuisHernández-Hernández 、 MarioHernández-Hernández 、 SeverinoFeliciano-Morales 、 ValentínÁlvarez- Hilario和Israel Herrera-Miranda。寻找最佳颜色空间用于农业领域的柑橘识别。国际技术与创新会议,第296-307页。Springer,2017.[21] Sepp Hochreiter和Jürgen Schmidhuber长短期记忆。神经计算,9(8):1735[22] Judy Hoffman 、 Eric Tzeng 、 Taesung Park 、 Jun-YanZhu 、 Phillip Isola 、 Kate Saenko 、 Alexei A Efros 和Trevor Darrell。苏铁:周期一致的对抗域适应。ICML,2018。[23] 哈罗德·霍特林 两组变量之间的关系Biometrika,28(3/4):321[24] Xinyang Jiang,Fei Wu,Xi Li,Zhou Zhao,WeimingLu,Siliang Tang,and Yueting Zhuang.深度组合跨模态学习,通过局部-全局对齐进行排名第23届ACM多媒体国际会议论文集,第69-78页。ACM,2015.[25] 上藤太极和柳井敬二。多核学习的食品图像识别系统。在图像处理(ICIP),2009年第16届IEEE国际会议上,第285-288页。IEEE,2009年。[26] Andrej Karpathy,Armand Joulin,and Li F Fei-Fei.用于双向图像句子映射的深度片段嵌入。神经信息处理系统的进展,第1889-189
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功