大规模食品图像识别:TPAMI2023论文解读

视觉智能部与中科院计算所于2020-2021年度展开了《细粒度菜品图像识别和检索》科研课题合作,本文系双方联合在IEEET-PAMI2023发布论文《LargeScaleVisualFoodRecognition》(WeiqingMin,ZhilingWang,YuxinLiu,MengjiangLuo,LipingKang,XiaomingWei,XiaolinWei,ShuqiangJiang*)的解读。IEEET-PAMI全称为IEEETransactionsonPatternAnalysisandMachineIntelligence,是模式识别、计算机视觉及机器学习领域的国际顶级期刊,2022年公布的影响因子为24.314。

现有的工作主要是利用中小规模的图像数据集进行食品图像识别,如ETHFood-101[5]、VireoFood-172[6]和ISIAFood-500[7],但是它们的数据规模不足以支撑更复杂更先进的食品计算模型的建立。考虑到大规模数据集已成为许多常规图像分类和理解任务发展的关键推动因素,食品计算领域也迫切需要一个大规模的食品图像数据集来进一步支撑各种食品计算任务,如跨模态食谱检索和生成[8,9]。因此我们构建了一个新的大规模基准数据集Food2K。该数据集包含1,036,564张食品图像和2,000类食品,涉及12个超类(如蔬菜、肉类、烧烤和油炸食品等)和26个子类别。与现有的数据集相比,Food2K在类别和图像数量均超过其一个数量级。除了规模之外,我们还进行了严格的数据清理、迭代标注和多项专业检查,以保证其数据的质量。

Food2K同时包含西方菜和东方菜,在食品专家的帮助下,我们结合现有的食品分类方法建立了一个食品拓扑体系。Food2K包括12个超类(如“面包”和“肉”),每个超类都有一些子类别(如“肉”中的“牛肉”和“猪肉”),每种食品类别包含许多菜肴(如“牛肉”中的“咖喱牛肉”和“小牛排”),如下图2所示:

下图3展示了每个食品类别的图像数量,Food2K中每个类别的图像数量分布在[153,1999]之间不等,呈现出明显的长尾分布现象,与类别不平衡性。

下图4展示了Food2K与现有食品图像识别数据集的图像数量对比,可以看到Food2K在类别和图像数量上都远超过它们。

除此之外,Food2K还具有以下特征:

1)Food2K涵盖了更多样化的视觉外观和模式。不同食材组合、不同配饰、不同排列等都会导致同一类别的视觉差异。举例来说,新鲜水果沙拉因其不同的水果成分混合而呈现出不同的视觉外观。这些食品的独特特征导致了更高的类内差异,使大规模的食品图像识别变得更加困难。

2)Food2K包含更细粒度的类别标注。以“Pizza”为例,一些经典的食品数据集,如Food-101,只有较粗粒度的披萨类。而Food2K中的披萨类则进一步分为更多的类别。不同披萨图像之间的细微视觉差异主要是由独特的食材或同一食材的粒度不同引起的,这也导致了识别的困难。所有这些因素使Food2K成为一个新的更具挑战性的大规模食品图像识别基准,可以视为食品计算领域的“ImageNet”。

食品图像识别需要挖掘食品图像的本身特点,并同时考虑不同粒度的图像特征进行识别。通过观察我们发现,食品图像有着明显的全局特征和局部特征。

首先,食品图像明显有着全局的外观、形状和其他结构方面的特征,且该特征存在较大的类内差异。如下图5的“奶油核桃饼”明显有着变化不一的形状,炒面有着丰富多样的纹理。虽然当前已经有很多方法来解决这一问题,但大多数方法主要集中在提取某种类型的特征,而忽略了其他类型的特征。

其次,食品图像中有细微差别的细节信息,部分细节信息是其关键的局部特征。在许多情况下,现有的神经网络无法很好地挖掘那些具有判别性的细节特征。如图5中第3栏所示,仅仅依靠全局特征是不足以区分“玉米羹”和“鸡蛋羹”,必须进一步挖掘其食材信息的不同(图中黄色框内)。因此,如何更好地挖掘食品图像的全局特征和局部特征,对于提升食品图像特征表达能力来说尤为重要。

第三,如下图6所示,不同的食材在不同的食品类别中所占的权重也是不一样的。“香菜”在“香菜”拌牛肉中是一个关键性食材,必不可少,但是在“老醋海蜇”这道菜中仅仅是一个配料,并不总是出现在该类别的所有图像中。因此需要挖掘局部特征之间的关系,突出重点局部特征。进而提高食品识别的准确率。

针对上述这些特点,本文设计了深度渐进式区域特征增强网络,它可以共同学习多样化且互补的局部和全局特征。该网络结构如下图7所示,该网络主要由三部分组成:全局特征学习模块、渐进式局部特征学习模块和区域特征增强模块。

此外,在模型训练时,本文逐步渐进式地训练网络的不同阶段,最后将训练整个网络,并在此过程中引入$KL$散度以增加各个阶段之间的差异性,以捕获更丰富多样化的局部信息。在推理阶段,考虑到每个阶段的输出特征和融合后的特征之间的互补性,我们将它们的预测结果结合起来得到最终分类得分。接下来,本文将详细介绍各个模块的计算原理。

食品识别可以看作是一个层次化的任务,在不同超类下的食品图像有着明显可分的视觉差异,因此可以基于他们的全局特征进行识别。

但是在同一超类下,不同子类的食品图像之间的差异却非常小。因此食品识别需要同时学习食品图像的全局特征和局部特征。因此,我们提取并融合了这两个特征,此过程可以使用两个子网络分别提取食品图像的全局和局部特征。这两个子网络可以是两个独立的网络,但是这部分工作为了提高效率并减小模型参数,本文中两个子网络共享基础网络的大部分层。

局部特征子网络旨在学习食品的区分性细粒度特征。由于食材和烹饪风格的多样性,食品图像的关键判别部分是多尺度和不规则的。作为本方法第一个创新点,我们提出了渐进式训练策略来解决这个问题。在这种策略中,我们首先训练具有较小感受野的网络较低阶段(可以理解为模型中较低的层),然后逐步扩大该局部区域范围,并引入新的层加入训练。

因此,该策略可以首先在网络较浅的层中学习更稳定的细粒度信息,然后随着训练的进行逐渐将注意力转移到在较深的层中学习粗粒度信息。具体来说,当具有不同粒度的特征被送入网络时,它可以提取出有判别性的局部细粒度特征,例如食材成分信息。然而,简单地使用渐进式训练策略不会得到多样化的细粒度特征,因为通过渐进式训练学习到的多尺度特征信息可能集中在食品图像中相似的区域。

不同于一般的细粒度任务中的识别对象,食品图像没有固定的语义信息。现有的大部分食品识别方法直接挖掘这些判别性局部特征,忽略了局部特征之间的关系。因此,我们采用自注意力机制来学习不同局部特征之间的关系。该策略旨在捕获特征图中同时出现的食品特征。

在网络优化过程中,我们迭代更新网络的参数。首先,我们利用各$U$个阶段的交叉熵损失,来反向传播以更新相应网络的参数。在此过程中,当前阶段的所有网络参数都将被优化,即使它们在之前的阶段已经被更新过。然后在特征融合阶段,我们利用另一个交叉熵损失函数来更新整个网络的参数。

此外,我们的网络以端到端的方式进行训练。在渐进式训练过程中,对于每个阶段的输出,我们采用以下交叉熵损失:

首先,我们在Food2K上对现有的食品识别方法和我们提出的方法进行了比较。然后,我们研究Food2K在食品识别、食品图像检索、跨模态菜谱-食品图像检索、食品检测和食品分割五个食品计算任务上的泛化能力。

本文使用在ImageNet上预训练的ResNet[10]作为基础网络。对于实验性能评估,使用Top-1准确率(Top-1)和Top-5准确率(Top-5)对食品类别识别进行评估。

表1展示了在Food2K上现有的食品识别方法和所提方法的性能比较。从表中可以看出,我们的方法在Top-1和Top-5准确率上分别高出主干网络(ResNet)2.24%和1.4%,以ResNet101为主干的网络超过了现有的食品识别方法,取得了较好的识别性能。同时,这也证实了结合渐进式训练策略和自注意力来增强局部特征表示的优势。

本文在消融实验中主要探讨了以下几个问题:

(1)网络不同组件的有效性:从下图8(a)中可以看出,渐进式策略(PL)的引入能够带来识别性能增益,且与区域特征增强(RE)相结合后进一步提高了性能。这说明我们提出的PL+RE的学习策略能够有效地学到更具判别性的局部特征。

(3)不同学习阶段的效果:为了更好地验证每个学习阶段和最终的连接阶段的贡献,我们还通过分别使用每个阶段的预测分数来进行评估。从下图8?中可以看出,相比于使用单一阶段进行预测,联合每个阶段的得分进行预测能够带来性能提升。此外,我们的方法将每个阶段的预测分数和联合特征的预测分数进行组合,能够实现最佳的识别性能。

(4)平衡参数$α$和$β$:我们还研究了公式$L=αLcon+βL_{KL}$中平衡参数对性能的影响。我们发现,当$α=0,β=1$时,即总损失仅包括$KL$散度时,此时模型无法收敛。当$α=1,β=0$时,即仅使用交叉熵损失进行优化,模型的性能明显下降。当$α=0.8,β=0.2$时,模型取得了最佳的识别性能,这说明联合渐进式训练和KL散度的策略能够提高多样化局部细节特征的学习能力。

食品图像识别

我们评估了在Food2K上预训练过的模型在ETHFood-101、VireoFood-172和ISIAFood-500上的泛化能力。从表2中我们可以看出,使用Food2K进行预训练后所有方法都取得了一定程度的性能提升,这说明我们的数据集在食品图像识别任务上具有良好的泛化能力。

食品检测

我们评估了Food2K数据集对食品检测任务的泛化能力,评估任务为检测食品托盘中的食品。为了进行比较,我们还对在ETHFood-101上进行预训练的模型进行了评估。从表3中可以看出,使用Food-101和Food2K能够提升所有方法的mAP和AP75指标,且Food2K所带来的性能增益要超过Food-101。这说明我们的方法在食品检测任务上表现出良好的泛化性能。

食品分割

我们还评估了Food2K在食品分割任务上的性能。从表4中可以看出,对于所有使用Food2K进行预训练的模型均能带来性能的提升。这也证明了我们的数据集在分割任务上具有良好的泛化表现。

食品图像检索

我们进一步在食品图像检索任务上验证Food-2K的泛化能力。具体来说,我们在ETHFood-101、VireoFood-172和ISIAFood-500数据集上实验,并使用与前文相同的数据集划分方式。测试集的每张图片依次作为查询项,其余的图片作为检索库。我们分别使用交叉熵损失函数和以Contrastiveloss和Tripletloss为代表的度量学习损失函数来微调ResNet101网络,并使用mAP和Recall@1指标评估方法的性能。

表5的结果展示了在Food-2K数据集上预训练后微调的网络取得了不同程度的性能增益。具体来说,在VireoFood-172数据集上取得了最优性能,并在三个数据集上分别取得了4.04%,5.28%和4.16%的性能增益。值得注意的是,当使用额外的ETHFood-101数据集预训练,以及在度量学习损失函数方法上微调的方法并没有取得性能增益,但使用Food2K数据集预训练仍然取得了性能增益,这是因为食品图像检索任务对目标数据集之间的差异较为敏感(ETHFood-101和VireoFood-172),并间接表明来自Food2K的图像类别和尺度的多样性提升了食品图像检索任务的泛化性。

跨模态菜谱-食品图像检索

我们还在跨模态菜谱-食品图像检索任务上进一步验证Food2K的泛化能力。具体来说,我们在Recipe1M[11]数据集上验证方法的性能,并使用与之相同的数据集划分方法。与此同时,我们使用MedR和Recall@K指标来评估。表6展示了我们使用不同的网络主干,并分别通过ImageNet、ETHFood-101和Food2K数据集预训练的结果。结果发现使用ETHFood-101和Food2K数据集预训练后在目标数据集上微调都取得了性能的增益,使用我们的Food-2K数据集取得了更大的性能增益。

本文全面的实验证明了Food2K对于各种视觉和多模态任务具有较好的泛化能力。基于Food2K的一些潜在研究问题和方向如下。

(1)大规模鲁棒的食品图像识别:尽管一些细粒度识别方法(如PMG[12,22])在常规细粒度识别数据集中获得了最佳性能,但它们在Food2K上表现欠佳。虽然也有一些食品图像识别方法(如PAR-Net[13])在中小规模食品数据集上取得了较好的性能,但它们在Food2K大规模食品图像识别数据集上也并不能获得更好的性能。

我们推测,随着食品数据的多样性和规模的增加,不同食材、配饰和排列等因素产生了更复杂的视觉模式,以前的方法不再适用。因此,基于Food2K有更多的方法值得进一步探究。例如Transformers[14,23]在细粒度图像识别方面产生了巨大的影响,其在大规模数据集上的性能高于CNNs。Food2K可以提供足够的训练数据来开发基于Transformers的食品图像识别方法来提高性能。

(2)食品图像识别的人类视觉评价:与人类视觉对一般物体识别的研究相比,对食品图像识别进行评价可能更加困难。例如,食品具有较强的地域和文化特征,因此来自不同地区的人对食品图像识别会有不同的偏见。最近的一项研究[15]给出了人类视觉系统和CNN在食品图像识别任务中的比较。为了避免信息负担过重,需要学习的菜肴数量被限制在16种不同类型的食物中。更有趣的问题,值得进一步的探索。

(3)跨模态迁移学习的食品图像识别:我们已经验证了Food2K在各种视觉和多模态任务中的推广。未来我们可以从更多的方面来研究迁移学习。例如,食物有独特的地理和文化属性,可以进行跨菜系的迁移学习。这意味着我们可以使用来自东方菜系的训练模型对西方菜系进行性能分析,反之亦然。经过更细粒度的场景标注,如区域级甚至餐厅级标注,我们可以进行跨场景迁移学习来进行食品图像识别。此外,我们还可以研究跨超类别迁移学习的食品图像识别。例如,我们可以使用来自海鲜超类的训练模型来对肉类超类进行性能分析。这些有趣的问题也都值得深入探索。

(4)大规模小样本食品图像识别:最近,有一些基于中小型食品类别的小样本食品图像识别方法[16,17]研究。LS-FSFR[18]是一项更现实的任务,它旨在识别数百种新的类别而不忘记以前的类别,且这些数百种新的食品类别的样本数很少。Food2K提供了大规模的食品数据集测试基准来支持这项任务。

(5)更多基于Food2K的应用:本文验证了Food2K在食品图像识别、食品图像检索、跨模态菜谱-食品图像检索、食品检测和分割等各种任务中具有更好的泛化能力。Food2K还可以支持更多新颖的应用。食品图像生成是一种新颖而有趣的应用,它可以通过生成对抗网络(GANs)[19]合成与现实场景相似的新的食品图像。例如,Zhu等人[20]可以从给定的食材和指令中生成高度真实和语义一致的图像。不同的GANs,如轻量级的GAN[21],也可以用于生成基于Food2K的食物图像。

(6)面向更多任务的Food2K扩展:基于训练的Food2K模型可以应用于更多与食物计算任务中。另外,考虑到一些工作[6]已经表明食材可以提高识别性能,我们计划扩展Food2K来提供更丰富的属性标注以支持不同语义级别的食品图像识别。我们还可以在Food2K上进行区域级和像素级标注使其应用范围更广。我们还可以开展一些新的任务,如通过在Food2K上标注美学属性信息,对食品图像进行美学评估。

在本文中,我们提出了具有更多数据量、更大类别覆盖率和更高多样性的Food2K,它可以作为一个新的大规模食品图像识别基准。Food2K适用于各种视觉和多模态任务,包括食品图像识别、食品图像检索、检测、分割和跨模态菜谱-食品图像检索。

在此基础上,我们进一步提出了一个面向食品图像识别的深度渐进式区域增强网络。该网络主要由渐进式局部特征学习模块和区域特征增强模块组成。渐进式局部特征学习模块通过改进的渐进式训练方法学习多样互补的局部细粒度判别性特征,区域特征增强模块利用自注意力机制将多尺度的丰富上下文信息融入到局部特征中以进一步增强特征表示。在Food2K上进行的大量实验证明了该方法的有效性。

在技术沉淀层面,我们围绕此食品计算技术不断推陈出新,目前申请专利20项,发表CCF-A类会议或期刊论文4篇(如AAAI、TIP、ACMMM等);我们还参加了2019年和2022年CVPRFGVC细粒度识别比赛,并取得了一冠一亚的成绩;同时在ICCV2021上也成功举办了以LargeFineFoodAI为主题的视觉研讨会,为推动食品计算领域的发展贡献了一份绵薄之力。

致岭、丽萍、君实、晓明等,均来自美团基础研发平台/视觉智能部。

THE END
1.m.wujiekeji.cn/16421.htm在经历了种种奇遇之后,主人公终于揭开了法典的真相。他发现,这个法典并不是简单的魔法和奇迹,而是一种可以改变人们命运的力量。他开始更加珍惜这个世界和自己的生活,也更加努力地追求自己的梦想。在这个奇幻世界的惊艳之旅中,主人公逐渐成长为一个更加成熟和坚强的人。他明白了自己的使命和责任,也明白了自己的未来和http://m.wujiekeji.cn/16421.htm
2.经典咖喱饭咖喱经典咖喱饭 里脊肉300g一小块看个人口味 洋葱半个 去皮土豆300g一个左右也可以多些 胡萝卜半个 大豆油适量花生油也可 线椒三个也可不加个人口味定 咖喱块6块或者3块个人口味咖喱饭的美味大家都喜欢。让我们来自己做一道咖喱饭吧。 步骤 第1步 把里脊肉切小丁丁。很小块。https://www.coffee.cn/caipu/post/72963.html
3.无辣不欢莎莎者,Salsa也,是用新鲜番茄制作的墨西哥酱料的统称,一般是辣的,现在餐馆里面也会做一些不辣的口味(Mild) 以适应不同需求。这里介绍的Salsa是一个经典款,但我的这个组合是墨西哥菜和意大利菜的混搭。 原料: 3-6个新鲜Serrano辣椒,如果买不到,就在你常去的菜市场挑一种最辣的青椒 https://www.jianshu.com/p/2c745258b357
4.块状咖喱的做法大全块状咖喱怎么做好吃家常做法推荐【下厨房】块状咖喱栏目为您推荐块状咖喱的做法大全,块状咖喱怎么做好吃,块状咖喱家常做法和块状咖喱怎么用,更多块状咖喱菜谱做法就来下厨房https://hanwuji.xiachufang.com/category/3787/
5.今天开始!跟着日剧学料理!《昨日的美食》篇(更新至第2季ing)***已有豆友指出字幕组翻译有误,菜谱中的胡萝卜应是大蒜! 外层的面包糠混合了香料与奶酪,又酥脆又香!里面的鸡肉却很嫩!有点像炸鸡,但却比炸鸡健康很多!做起来也非常简单!是不错的料理方法!非常值得推荐! 剧中所示的面包糠混合物的用量绝对是多了的!(我用了约75g的芝士和150g面包糠,比例大概是1:2) https://www.douban.com/note/715290146/
6.经典咖喱饭怎么做经典咖喱饭的做法经典咖喱饭 咖喱,常见于印度、泰国和日本等东南亚地区,是一种以姜黄为主料,另加多种香辛料配制而成的复合调味料。其味辛辣带甜,具有一种特别的香气,能促进唾液和胃液的分泌,增进食欲。功效:1.增进食欲 咖喱的主要成分是姜黄粉、川花椒、八角、胡椒、桂皮、丁香和芫荽籽等含有辣味的香料,能促进唾液和胃液的分泌,https://www.douguo.com/cookbook/2486829.html
7.求翻译菜谱英文英语6. Steamed rice with its original taste鹧鹘饭 ¥18 Steamed rice with wild pigeon 营养食谱翻译,菜谱翻译,菜单翻译,酒水翻译,饮料翻译,酒店饭店饮食翻译,英语日语韩语各个语种都能翻译,精确经典翻译,行业翻译标杆!质优价低,有著作 << 汉英英汉营养学大辞典 >>,电话180-82320843;181-12019834;请加翻译QQ:https://m.360docs.net/doc/c68505791.html
8.我的休闲时光菜谱配方大全我的休闲时光菜谱配方汇总我的休闲时光中一共有4种等级的菜谱,等级越高的食物需要的食材和时间就越多,玩家可以根据菜谱在家园中制作出美味的食物,有很多小伙伴对此还不太清楚,接下来就让小编为大家详细地介绍一下,快来一起看看吧。 我的休闲时光菜谱配方大全 一、一级菜谱 1、咖喱土豆牛腩饭:土豆+牛腩 https://app.ali213.net/gl/1366347.html
9.妙多经典咖喱块—日式风味咖喱块,甄选原料配方,口感醇正妙多经典咖喱块50g、玉米淀粉3g、料酒3g、油30g 操作流程: 1 鸡腿去骨切块放入淀粉和料酒腌制 2 洋葱切块炒香备用 3 把鸡肉煎至6成熟备用 4 土豆和胡萝卜炒香后加入清水,沸腾后转慢火焖煮8至10分钟即可,用竹签插进去大概八成熟即可 5 放入咖喱块,慢火搅拌至溶化后加入鸡肉,继续搅拌,出锅前加入洋葱即可。https://www.midasfd.com/detail/298.html?channel=28
10.我的休闲时光菜谱配方有哪些全菜谱配方一览我的休闲时光这款休闲小游戏中,有很多的美食配方,玩家可以根据不同的菜谱制作对应的菜品,下面就一起来看看我的休闲时光全菜谱配方一览。 我的休闲时光菜谱配方有哪些 一级菜谱: 1.咖喱土豆牛腩饭:土豆+牛腩 2.黄金薯条:土豆 3.番茄牛腩番:番茄+牛腩https://www.shoujiwan.com/gonglue/139084.htm
11.咖喱饭的做法咖喱饭怎么做菜谱“想要个有情调的晚餐,却又不想烟熏火燎?!咖喱饭,就是你的选择了~” 1 食材准备,日式咖喱(苹果蜂蜜口味),胡萝卜,经典是土豆(新鲜小土豆),鸡肉块适量(也可不放)。 2 食材洗净(看到我的小土豆了吧),去皮,切成小块(切好的土豆放入冷水中可防止土豆变色)。 https://home.meishichina.com/recipe-23103.html
12.咖喱饭菜谱大全导读:为帮助您更深入了解咖喱饭菜谱大全,小编撰写了咖喱饭菜谱大全,咖喱饭菜谱大全,咖喱饭名字大全,咖喱饭菜谱,大S咖喱饭,咖喱饭大全等6个相关主题的内容,以期从不同的视角,不同的观点深入阐释咖喱饭菜谱大全,希望能对您提供帮助。 本文目录一览 1、咖喱饭菜谱大全 http://www.019992.com/article/863427.html
13.食堂大锅菜经典菜谱今天给各位分享大锅菜买什么菜好的知识,其中也会对食堂大锅菜经典菜谱(食堂大锅菜经典菜谱图)进行解释,https://iask.sina.com.cn/jxwd/dhP4pt9snaPB.html
14.美味咖喱饭的做法菜谱6.加入适量番茄酱,还有葱段,继续翻炒。 7.撒下黑胡椒粉,继续翻炒。 8.炒至菜上色,倒入清水,水要没过菜哦! 9.小火熬煮。 10.煮沸了。 11.改小火,加入咖喱块。 12.把咖喱块搅拌均匀,继续小火煮约5分钟,至咖喱成粘稠状。 13.已成粘稠状。 https://www.xiangha.com/caipu/95189387.html
15.我的休闲时光好味食堂菜谱我的休闲时光游戏好味食堂菜谱 1、一级菜谱 黄金薯条:土豆 番茄蛋花汤:番茄+鸡蛋 番茄牛腩饭:番茄+牛腩 咖喱土豆牛腩饭:土豆+牛腩 2、二级菜谱 当红辣子鸡:小米椒+鸡腿肉 糖醋排骨:排骨 萝卜煨排骨:胡萝卜+排骨 什锦土豆饼:土豆+胡萝卜+鸡蛋 照烧鸡腿饭:鸡腿肉 https://m.f71.com/article/53886.html
16.咖喱什么牌子的好?10大咖喱品牌排行榜十大排行6 S&B 爱思必(日本) S&B的创始者山崎峰次郎1923年首先配制出了日式咖喱,被视为日式咖喱的元祖。S&B的芥末和咖喱产品最为出名,其青芥辣还通过了美国FDA(食品管理局)的严格审查,顺利打进了美国市场。现在,S&B在中国、欧美以及东南亚市场十分畅销,具有高知名度,市场销售量全球第一。在日式咖喱爱好者心中,S&B是经典和https://www.zhizhizhi.com/g/19435