【食品图像识别】跨模态菜谱检索

导语:看到一道菜的成色,就能得知食材原料和烹饪方法?

在近期的AI TIME 青年科学家——AI 2000 学者专场论坛系列报告中,来自复旦大学计算机科学学院的助理教授陈静静博士带来了题为「跨模态菜谱检索」的演讲,从「基于识别的菜谱检索」、「基于跨模态学习的菜谱检索」、「跨域食物迁移」等方面介绍了跨模态菜谱检索任务几年来的前沿研究工作,讨论了该领域未来的研究方向。(回放:https://event.baai.ac.cn/activities/346)

在这里插入图片描述

定义与挑战

在这里插入图片描述
在「跨模态菜谱检索」任务中,给定一张菜品的图像作为模型的输入查询,模型需要检索出制作该菜品相应的菜谱,我们可以将该过程建模为「视觉-文本」的翻译。这项技术可以帮助我们进一步完成实物识别、营养成分估计、菜谱推荐等下游任务。

从技术角度来说,「跨模态菜谱检索」任务要求我们首先识别菜品,再将输入图像与菜谱文本关联起来,并且针对结构化的菜谱文本学习高质量表征。因此,该任务涉及到图像识别与理解、跨模态学习、菜谱文本建模等研究领域。

挑战——食物图像理解

在这里插入图片描述
与普通的自然图像相比,实物图像的理解面临着一些独特的挑战。颜色、光照、食材成分、切菜方法等因素都会导致菜品外观存在差异,影响模型对食物的识别效果。

在这里插入图片描述
具体到食材成分识别环节,切菜(切片、切丝、切丁等)的方式会导致同一种食材的形状存在较大差异。值得一提的是,图片中的某些食材可能会被遮挡,因而难以识别。此外,拍照的光线、视角等因素也会影响食材成分识别。

挑战——菜谱建模

在这里插入图片描述
一份菜谱往往由三个部分组成:

(1)标题:主要的食材、主要的烹饪/切菜方法(2)成分:可以被视为传统视觉标注问题中的关键词(3)制作过程:有一系列食材准备和烹饪过程的细节语句组成。如何合理地整合、利用上述信息,学习到食谱的高质量表征是一个具有挑战性的问题。

挑战——关联性学习

在这里插入图片描述
学习图片、食材关键词、烹饪步骤文本之间的相关性也是一个具有挑战性的问题。以上图中的牛排为例,成品的图片中并未显式地体现出柠檬、蒜粉等食材,将可见的物体和食材关键词关联起来是十分困难的。此外,菜品的制作过程包含诸多步骤,如何在跨模态关联学习过程中为视觉无关的描述文本赋予合适的权重也是重要的有待研究的课题。

基于食材原料识别的检索

在这里插入图片描述
早期的跨模态菜谱检索工作大多以识别食材原料为基础。我们首先识别出查询图像中的食材原料和菜谱中的切菜/烹饪方法;进而将食材原料和烹饪方法的属性进行匹配,从而检索到相应的菜谱。然而,为了训练具有较强识别能力的模型,我们需要耗费大量的标注成本。

在这里插入图片描述
值得一提的是,由于相同的食材可以被做成不同的菜品,基于识别的菜谱检索模型可以被应用于零样本菜谱检索任务中,根据食材原料和外部知识检索出原始数据集中不包含的菜谱。

基于丰富食品属性识别的菜谱检索

然而,从另一个角度来说,对于同样的食材而言,使用不同的烹饪方式可以制成不同的菜品。因此,基于原料识别的菜谱检索方法较为容易得到错误的检索结果,我们还需要在检索过程中考虑菜品的切菜和烹饪的方法。为此,我们进一步提出了基于丰富食品属性识别的菜谱检索工作。

在这里插入图片描述
给定输入的菜品图片,我们针对特征图中的各个区域,识别其中的食材原料、切菜方法、烹饪方式的信息,再通过多尺度池化操作得到图片级别的属性,进而将菜谱中抽取出的对应属性与图片属性进行匹配,从而得到更加精准的菜品检索结果。然而,识别原料和属性十分困难,导致最终的检索性能仍然不够理想。

基于跨模态学习的检索

基于识别的跨模态检索依赖于大量的属性信息标注工作,需要耗费巨大的人力成本,在真实应用场景下的可行性较低。为此,研究者们提出基于跨模态学习技术进行菜谱检索。

在这里插入图片描述
此类方法的关键之处在于学习查询图像和菜谱文本的联合子空间,我们可以在该空间中计算菜谱和图像的相似度,并基于得到的相似度对候选菜谱进行排序,进而得到最后的菜谱检索结果。一些研究者进一步使用注意力机制赋予背景区域较低权重,让模型重点关注与食材相关的区域,从而提高菜谱与图像相似度计算的准确率。同时,对于菜谱文本,我们赋予与视觉无关的句子较低的权重,理解食谱的因果效应。最后,我们利用经过上述处理的视觉和文本数据学习联合子空间。

在这里插入图片描述
2017 年,来自 MIT 的研究人员在论文「Learning Cross-Modal Embeddings for Cooking Recipes and Food Images」中,首次利用食材原料、烹饪步骤与图像的联合子空间进行食谱检索。

在这里插入图片描述
此后,一些研究者向跨模态食谱检索模型中引入了注意力机制模块。如上图所示,针对提取出图像中各区域的特征和食谱中的原料关键词,我们首先计算二者之间的相关性,重点突出于有较大概率包含原料关键词列表的视觉区域。接着,我们利用注意力图和文本嵌入特征学习多模态嵌入特征。通过计算该多模态嵌入特征与菜谱特征之间的相似度,我们就可以实现跨模态的菜谱检索。

在这里插入图片描述
就损失函数而言,跨模态检索任务通常使用排序损失来优化模型。在构建输入三元组时,我们将查询图像作为 anchor,对菜谱采样得到正样本和负样本,通过优化使得查询图像与正样本之间的相似度大于查询图像与负样本之间的相似度。实验结果表明,通过引入注意力机制可以大幅度提升检索模型的准确率。

菜谱因果效应建模

在这里插入图片描述
在菜谱建模方面,我们赋予「不重要的原料」、「人眼不可见的原料」、「图片上未显示出来的原料」以及对食物外形没有影响的句子较低的权重,赋予图像中可见的原料较高的权重,理解烹饪过程中的因果序列。

在这里插入图片描述
具体而言,该工作采用了层次化注意力机制,针对文本信息分别从词语、句子两个粒度学习标题、食材成分、烹饪说明的注意力,将各层级的特征向量拼接起来,通过全连接层进行融合后再计算其与图像特征的余弦相似度。在得到了联合子空间后,进而完成菜谱检索任务。

在这里插入图片描述
实验结果如上图所示,在引入了层次化注意力机制后,检索的性能会有 2% 左右的提升。使用全部信息对食谱建模的模型性能要优于分别使用标题、食材成分、烹饪说明建模时的模型性能。此外, 我们通过可视化实验证明,当我们能够找出关键词、关键句子时,检索的准确率较高。

基于生成对抗网络(GAN)的跨模态食谱检索

在这里插入图片描述
在 CVPR 2019 上,我们在论文「Cross-modal Recipe Retrieval with Generative Adversarial Network」中,通过使用 GAN 学习到更相容的跨模态特征,也可以通过展示根据食谱生成的图像来解释食谱检索的结果。

在这里插入图片描述
我们首先分别通过 CNN、LSTM、层次化 LSTM 提取图像、食谱标题和食材成分、烹饪说明的特征,通过语义损失函数分别优化食谱嵌入和图像嵌入。在 GAN 学习模块中,我们通过对抗损失来优化 GAN,使判别器无法区分来自于菜谱和来自图像的特征,同时通过重建损失使生成的图像与真实图像尽可能接近,最后我们使用两级排序损失使给定的食物图像和检索的菜谱尽可能相似。

在这里插入图片描述
实验结果如上图所示,利用联合子空间嵌入重建的图像与给定的查询图像相似度较高。本文提出的基于 GAN 的菜谱检索模型的性能在当时获得了最优的性能。

在这里插入图片描述
我们在 ACM MM 2020 发表的论文「Cross-domain cross modal food transfer」中讨论了跨模态菜谱检索任务下的跨域食物迁移问题。例如,将在川菜数据集上训练的模型迁移到粤菜检索任务上。

在这里插入图片描述
为了实现跨域食物迁移,我们采用了对抗迁移机制,引入了域判别器来判断学习到的嵌入究竟来自图像还是菜谱文本的域,从而让模型学习到与数据域无关的食物原始特征,弱化与数据域相关的特征。

在这里插入图片描述
实验结果表明,相较于不存在 domain gap 的情况,跨域菜谱检索模型的性能仍然有所下降。或许可以尝试借助大规模预训练模型等新方法学习到更加通用的跨模态特征,提升跨域菜谱检索的性能。

结语

在这里插入图片描述

本文介绍了基于识别的菜谱检索、基于跨模态学习的菜谱检索、跨域食物迁移等方面的相关工作。早期的基于识别的菜谱检索要求我们显式的标注食材,需要耗费大量的人力标注成本,难以处理无法在图片中观察到的食材原料和被遮挡的食材原料。基于跨模态学习的菜谱检索方法能够更好地扩展到大规模集上,需要的标注工作更少,可以得到更好的检索性能。未来,针对跨模态菜谱检索任务,我们期望进一步研究零样本的菜谱检索,使模型学习到泛化性更强的鲁棒特征,在无需在目标域上进行训练的情况下,直接将在源域上训练的模型应用于目标域。此外,我们还将尝试在菜谱数据上进行有针对性的大规模跨模态预训练。在食物计算领域中,如何有创造性地生成新的菜谱、如何根据输入菜谱生成相应的图像、如何估计食物的卡路里都是十分具有前景的研究方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值