专栏首页磐创AI技术团队的专栏食物图片变菜谱:这篇CVPR论文让人人都可以学习新料理

食物图片变菜谱:这篇CVPR论文让人人都可以学习新料理

根据 Facebook 的统计,Instgram 上的美食图片数量已经超过 3 亿张。然而,获取食物烹饪方法的途径依然有限,例如,通过烹饪网站或相关教程。怎样能够挖掘丰富食物图片背后的烹饪方法,让每个人都可以在家方便地学习新菜式呢? Facebook 研究团队最近在 CVPR 2019 发表论文,提出了一种新思路。用户可以输入食物图片,并获得对应的食材和制作方法。在用户实验上的结果说明,用这种方法烹饪食物的成功率,比传统检索方法成功率更高。

看美食图片就能知道食谱?这个 AI 比美食家还灵么?

喜欢研究吃的人经常会在看到美味食物甚至食物图片时垂涎不已,甚至千方百计想弄明白怎么才能做出这道美食。

最近,Facebook 提出了一种 AI 方法,能够根据美食图片直接生成食谱!天啊,简直满足了天下爱吃且爱做饭的人的心愿啊~

这张图片中左侧为原图;右侧显示了食物名称、原料,甚至还有操作说明。有了这个 AI,只需要有美食图,就可以准备做饭,不用再费力查找食谱啦~

目前,Facebook 已经把这个项目开源了:

GitHub 地址:https://github.com/facebookresearch/inversecooking

reddit 用户 JonathanFly 将该项目做成了一个 Colab demo,参见:

https://gist.github.com/JonathanFly/33946a08080041e90e8360b25e263a4e#file-facebook-cooking-demo-ipynb

还用非食物的图片进行了尝试,结果令人捧腹。

比如,如果你使用皮卡丘的图片,这个系统会告诉你「皮卡丘的食谱」:

「皮卡丘」竟然被认成了万圣节幽灵饼干!原来皮卡丘是烤制而成的~

从图像到食谱,如何实现?

从图片中生成食谱需要同时理解组成食材和制作的过程(如切片、和其他材料搅拌等)。传统方法将这个问题视为检索任务,基于输入图片和数据集图片的相似度计算,将食谱从一个固定的数据集中检索出来。很明显,传统方法在数据集缺少某种食物制作方法的情况下就会失败。

有一种方法可以克服这一数据局限,即将图片到菜谱的问题视为一个条件生成任务。研究人员认为,与其直接从图片中获取菜谱,不如首先预测食物的材料,然后基于图像和食材生成食物制作方法。这样可以利用图片和食材的中间过程获取一些额外信息。

模型

模型主要由两部分构成,首先研究人员预训练一个图片编码器和一个食材解码器(ingredients decoder),提取输入图像的视觉特征来预测食材。然后训练一个食材编码器(ingredient encoder)和烹饪流程解码器(instruction decoder),根据输入图片的图像特征和已经预测到的食材,生成食物的名称和烹饪流程。

模型架构如下图所示:

图 2:模型的结构。模型的输入是食物图片,输出的是烹饪方法序列,而中间一步是基于图像生成食材清单。

具体来讲,烹饪流程解码器使用了三种不同的注意力策略:

图 3:烹饪流程解码器使用的注意力策略。Transformer 模型(a)中的注意力模块被替换成了三种不同的注意力模块(b-d),用于多种条件下的烹饪说明。

效果如何?

研究人员使用 Recipe1M [45] 数据集来训练和评估模型。该数据集包括从烹饪网站上爬取的 1,029,720 个食谱。在实验中,研究者仅使用了包含图片的食谱,并移除了使用少于两种食材或两道流程的食物。最终,实验使用了 252,547 个训练样本、54,255 个验证样本和 54,506 个测试样本。

研究人员对比了传统的检索方法和该研究提出的新方法,结果如下:

表 3:基线方法和论文方法的对比。左图为 IoU 和 F1 分数,右图为食材在烹饪指南上的精确率和召回率。

研究人员还进行了用户测试。他们从测试集中随机选择了 15 张图片,让用户根据提供的图片选择 20 种食材,并写下可能图片对应的菜谱。为了减少人类任务的复杂度,研究人员提高食材使用频率的阈值,减少了食材的选择数量。

表 4:用户测试。左图为基线方法、人类和论文方法判断食材的 IoU 和 F1 分数,右图为根据人类判断,这三种方法生成食谱的成功率。

实验结果说明,使用 AI 生成的食谱比检索方法生成的食谱效果更好。

这样的研究只是造福吃货吗?

这项研究通过对食物图片的研究,可以进一步猜测其食材和加工方式。这可以进一步方便人们学习新的食物制作、协助计算食物中每种成分的卡路里、创造新的菜谱。同时,该研究采用的方法可以进一步启发「根据图片预测长文本」的研究。

更何况,再也不用看着社交媒体上的美食流口水了。扫图出菜谱,人人都可以学着做~

参考链接:https://ai.facebook.com/blog/inverse-cooking/

https://www.reddit.com/r/MachineLearning/comments/c1tb5m/p_using_ai_to_generate_recipes_from_food_images/

本文分享自微信公众号 - 磐创AI(xunixs)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • “假脸”横行!这个良心网站教你如何成为“打假”专家

    上面的那三组图片来自最近在reddit上爆火的一个网站——“哪张脸是真的(which face is real?)”,网友们非常热情地将结果在网站上进行比拼,并...

    磐创AI
  • 深度学习之视频人脸识别系列三:人脸表征

    【磐创AI导读】本文是深度学习之视频人脸识别系列的第三篇文章,介绍人脸表征相关算法和论文综述。在本系列第一篇文章里我们介绍了人脸识别领域的一些基本概念,分析了深...

    磐创AI
  • ​在Keras中可视化LSTM

    你是否想知道LSTM层学到了什么?有没有想过是否有可能看到每个单元如何对最终输出做出贡献。我很好奇,试图将其可视化。在满足我好奇的神经元的同时,我偶然发现了An...

    磐创AI
  • 食物图片变菜谱:这篇CVPR论文让人人都可以学习新料理

    喜欢研究吃的人经常会在看到美味食物甚至食物图片时垂涎不已,甚至千方百计想弄明白怎么才能做出这道美食。

    机器之心
  • Mybatis之二级缓存简析 原

        一级缓存只能在同一个SqlSession中共享,而二级缓存则可以在多个SqlSession中共享。

    克虏伯
  • 带生物识别功能的智能手机已成为主流

    据《移动身份世界》网站2016年2月12日报道,Acuity市场研究公司发布的一份研究报告显示,配备生物传感技术的智能手机如今已成为主流,目前人们正在使用的此类...

    人工智能快报
  • python笔记:字符串

    编码解码非常的复杂,unicode才能encode,其它的编码可以decode成unicode。 所以在python中,推荐使用unicode(python3...

    超级大猪
  • 为什么云计算对于企业成功至关重要

    静一
  • 图像增强:灰度变换(Python实现)

    图像增强能够有目的地强调图像地整体或是局部特征,将不清晰地图像变得更为清晰,或是强调某些感兴趣的特征,使其改善图像质量,加强图像判别和识别的效果。

    老肥码码码
  • NLP标记集资料

    title: 标记集 tags: grammar_cjkRuby: true ---

    用户1177380

扫码关注云+社区

领取腾讯云代金券