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

在近期的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 的情况,跨域菜谱检索模型的性能仍然有所下降。或许可以尝试借助大规模预训练模型等新方法学习到更加通用的跨模态特征,提升跨域菜谱检索的性能。

结语

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

【食品图像识别】跨模态菜谱检索相关推荐

  1. 厨艺速成「秘籍」—— 跨模态菜谱检索 | 复旦大学陈静静

    导语:看到一道菜的成色,就能得知食材原料和烹饪方法? 在近期的AI TIME 青年科学家--AI 2000 学者专场论坛系列报告中,来自复旦大学计算机科学学院的助理教授陈静静博士带来了题为「跨模态菜谱 ...

  2. 文献翻译和笔记--CHEF:CHEF: Cross-Modal Hierarchical Embeddings for Food Domain Retrieval(用于食物域检索的跨模态分层嵌入)

     文献下载地址:CHEF: Cross-modal Hierarchical Embeddings for Food Domain Retrieval| Proceedings of the AAAI ...

  3. 文献阅读-用于图文检索的跨模态信息交互推理网络

    DOI:10.3778/j.issn.1002-8331.2205-0056 引用格式: 魏钰琦,李宁.用于图文检索的跨模态信息交互推理网络[J/OL].计算机工程 与应用. https://kns. ...

  4. 顶刊TPAMI 2023!Food2K:大规模食品图像识别

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[计算机视觉]微信技术交流群 来源:美团技术团队 美团基础研发平台视觉智能部与中科院计算所 ...

  5. 【食品图像识别】Large Scale Visual Food Recognition

    1 引言 视觉智能部与中科院计算所于2020-2021年度展开了<细粒度菜品图像识别和检索>科研课题合作,本文系双方联合在IEEE T-PAMI2023发布论文<Large Scal ...

  6. 跨模态哈希综述(更新中)

    基于哈希变换跨模态方法综述 概要 有关本文 本方向在做什么事情 方法的提出与完善 局部敏感哈希LSH(1998) 谱哈希SH(NIPS '08) 多视图哈希CVH(IJCAI '11) 迭代量化哈希I ...

  7. Cross-modal Retrieval(跨模态检索)

    前一篇文章整理了多模态融合Multimodal Fusion,最近看到一篇很好的跨模态检索的文章,这篇博客就来整理几篇博主认为idea还不错的跨模态检索.另,如果有其他idea很好的跨模态论文,希望你 ...

  8. 人工智能Java SDK:图像文本的跨模态相似性比对检索【支持40种语言】

    图像&文本的跨模态相似性比对检索 SDK[支持40种语言] 背景介绍 OpenAI 发布了两个新的神经网络:CLIP 和 DALL·E.它们将 NLP(自然语言识别)与 图像识别结合在一起, ...

  9. 破局传统算法痛点,腾讯安全首提基于跨模态检索的二进制代码-源代码匹配

    整理 | 高卫华 出品 | AI科技大本营 头图 | CSDN付费下载自视觉中国 近日,在NeurIPS 2020正式发布的论文入选名单中,腾讯安全科恩实验室聚焦解决二进制安全问题的<CodeC ...

最新文章

  1. 【C++】new和malloc的区别
  2. c# xml html标签,在asp.net(C#)中采用自定义标签和XML、XSL显示数据
  3. ubuntu 14.04-LTS 系统下安装搜狗输入法
  4. HTML DOM 方法
  5. PHP递归复制文件夹的类
  6. zip4j实现多线程压缩
  7. 亚马逊计划明年推出云游戏服务,紧追微软谷歌;华为GaussDB数据库推出双分布式架构;腾讯擎天5G智慧灯杆助智慧城市服务升级……...
  8. (转载)Python函数参数传递机制(超级详细)
  9. 微软“作死”Windows
  10. 十一项全球最具权威的大数据资质认证
  11. log4j 不同功能,同INFO级别,输出到不同log文件
  12. mysql绿盟扫描的2771_WEB 应用漏洞修复(绿盟科技扫描)与 Http 转 Https 解决方案...
  13. java过滤空号了停机号_手机号码空号检测
  14. mysql数据库基础语句讲解
  15. Excel 表格图片压缩方法
  16. dpdk pmd驱动分析
  17. 我的世界1.12.2 神奇宝贝(精灵宝可梦) 开服教程
  18. 模糊系统—模糊数学简单概念
  19. Linux 清空文件(6种方式)
  20. ReSharper:著名的VS代码生成工具

热门文章

  1. RocketMq学习- 安装
  2. python模块安装方式和自定义模块安装
  3. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→DAC
  4. Linux启动命令代码
  5. 两个tplink路由器有线桥接_TP-Link路由器有线桥接
  6. 把憨豆和蒙娜丽莎P成蒙娜豆沙,网络神经能办到!
  7. php 输出个人信息,PHP实现即时输出信息 | 学步园
  8. 关于Onehot编码的总结
  9. IP、域名、端口有什么关系
  10. Android开发-五大布局