FoodSense:构建首个多感官食品数据集,让AI从“看懂”到“理解”食物风味
2026/6/21 3:42:49 网站建设 项目流程

1. 项目缘起:为什么我们需要一个“多感官”的食品数据集?

在计算机视觉领域,我们谈论“食品识别”已经很多年了。从早期的简单分类(“这是苹果还是香蕉?”),到后来的菜品识别(“这是宫保鸡丁还是鱼香肉丝?”),再到如今结合卡路里估算、食材分割等更精细的任务,视觉技术正试图教会机器“看懂”食物。然而,作为一个经常和算法打交道的从业者,我越来越感觉到,仅仅“看懂”是远远不够的。我们人类对食物的感知,从来都不是一个纯粹的视觉过程。

回想一下你面对一碗刚出锅的红烧肉时的体验:你不仅看到了它油亮的酱色和肥瘦相间的纹理(视觉),你可能还仿佛闻到了浓郁的酱香(嗅觉),甚至能“脑补”出它入口即化、咸甜交织的口感(味觉与触觉)。这种由视觉触发,进而唤醒其他感官体验的联觉现象,是我们理解、记忆和渴望食物的核心。而现有的主流食品数据集,如Food-101、UEC-FOOD100/256,甚至更大规模的Recipe1M,几乎都只停留在“这是什么菜”的视觉分类层面。它们标注了菜名,有些还提供了边界框或食材分割图,但数据集本身是“沉默”和“无味”的——它无法回答“这道菜尝起来是甜的还是辣的?”、“口感是酥脆的还是软糯的?”、“闻起来香吗?”这些更贴近人类真实感知的问题。

这就是我们启动“FoodSense”数据集构建项目的初衷。我们想挑战一个更复杂、但也更有趣的问题:能否构建一个数据集,让机器不仅学会识别食物,还能初步“理解”食物的多感官属性?换句话说,我们希望通过视觉图像,关联并预测食物可能带来的味觉、嗅觉、口感等多维度感官体验。这不仅仅是增加几个标签那么简单,它涉及到对食品科学、认知心理学和机器学习交叉领域的深入探索。其潜在的应用场景非常广阔:可以为智能营养推荐系统提供更细腻的用户偏好画像(比如推荐“酸甜口、口感爽脆”的零食);可以赋能食品电商,让用户通过图片更直观地感受食品风味;甚至可以为机器人厨师或食品研发中的风味模拟提供数据基础。

2. 核心挑战:定义与量化“不可见”的感官属性

构建FoodSense数据集的第一步,也是最核心的一步,就是如何将人类主观、模糊的多感官体验,转化为机器可学习、可量化的客观标注。这远比画一个边界框或标一个类别名要困难得多。

2.1 感官维度的选择与定义

我们参考了食品感官评价的经典方法,并结合大数据标注的可操作性,最终确定了以下几个核心标注维度:

  1. 基础味觉:甜、咸、酸、苦、鲜。这是相对最客观的维度,有明确的化学物质对应(如糖、盐、酸、生物碱、谷氨酸钠)。我们采用强度等级评分,例如从0(无)到5(极强)。一个关键点:对于复合型食物(如糖醋排骨),需要标注多种味觉及其强度。
  2. 口感/质地:脆、软、硬、糯、滑、弹、酥、绵、干、润等。这个维度非常依赖于咀嚼的物理过程。我们将其拆分为入口初始质地(如脆)和咀嚼过程质地(如弹)。同样采用强度等级评分。
  3. 风味/香气:这是一个更综合、更主观的维度,包含了嗅觉和部分味觉的融合。我们采用开放式关键词标注预设风味标签库相结合的方式。标注者首先从我们构建的一个包含数百个常见食品风味词(如果香、奶香、焦香、辛辣、清香、醇厚等)的库中选择,也可以自行添加关键词。
  4. 整体感官愉悦度:一个从1到9分的整体喜好度评分,反映标注者个人对该食物综合感官体验的接受程度。这个数据对于推荐系统至关重要。
  5. 辣度:作为一个具有强烈刺激性的特殊维度,我们将其单独列出,使用通用的斯高维尔辣度单位(SHU)区间进行标注(如微辣:500-1000 SHU,中辣:1500-5000 SHU等),或直接使用“不辣”、“微辣”、“中辣”、“重辣”的等级。

注意:我们刻意没有引入“嗅觉”的独立标注,因为通过静态图像直接标注气味极其困难且不准确。我们通过“风味/香气”这个融合维度来间接捕捉,这更符合人类看到食物图片时产生“闻香”联觉的认知习惯。

2.2 标注者筛选与一致性校准

感官评价的主观性是最大的噪声来源。为了解决这个问题,我们设计了一套严格的标注者管理流程:

  • 筛选:我们招募的标注者必须是通过了基础味觉敏感度测试(如品尝不同浓度的糖/盐/酸溶液并能正确排序)的成年人,且自我报告无嗅觉、味觉障碍,并非极端饮食偏好者(如完全不能吃辣)。
  • 培训:所有标注者必须完成一个标准的感官评价培训模块。培训中使用“黄金标准”样本(如已知甜度的糖水、已知脆度的薯片)让标注者练习评分,使其评分尺度尽可能统一。
  • 锚定样本:在整个标注系统中,我们嵌入了约5%的“锚定样本”。这些是经过核心团队预先品尝并达成一致评分标准的食物图片(如柠檬图片对应“酸度5,甜度1”)。在标注过程中,这些样本会随机出现,用于持续监测和校准标注者的评分稳定性。如果某个标注者对锚定样本的评分持续偏离共识,其此前的部分标注可能需要重新评估或作废。

3. 数据采集与视觉基础构建

一个高质量的多感官数据集,必须建立在高质量的视觉数据基础上。我们不能在模糊、失真或背景杂乱的食物图片上去谈论细腻的口感。

3.1 图像来源与质量控制

我们采用了混合数据源策略,以确保数据的多样性和真实性:

  1. 专业拍摄(占比40%):我们与食品摄影师合作,在可控的光照条件(采用D65标准光源箱)和纯色背景下,对数百种常见食材、菜肴、零食进行多角度标准化拍摄。这构成了数据集的“干净”核心,确保了视觉信息的最高质量。
  2. 精选公开数据集(占比30%):我们从现有的高质量食品数据集(如Food-101, UEC-FOOD)中,筛选出图像清晰、主体突出、未被过度处理的图片。这些数据带来了菜品种类的长尾分布。
  3. 众包真实场景图片(占比30%):通过众包平台,征集用户在日常用餐环境中拍摄的食物照片。这部分数据最关键,它包含了复杂的背景、多样的摆盘、不同的光照条件(餐厅暖光、自然光等),是模型最终落地到真实场景必须克服的“噪声”。我们对众包图片进行了严格筛选,剔除过于模糊、主体不完整或经过重度滤镜美化的图片。

所有图像均统一处理为分辨率不低于512x512的格式,并存储了原始的EXIF信息(如有可能),以备后续光照分析之用。

3.2 基础视觉标注:为多感官提供“锚点”

在邀请标注者进行多感官评分之前,我们必须先为每张图像建立准确的视觉理解基础。这包括:

  • 细粒度类别标签:不仅仅是“披萨”,而是“玛格丽特披萨”或“夏威夷风情披萨”。我们建立了一个三级分类体系(如:主食-面食-意大利面;水果-浆果-草莓)。
  • 实例分割掩码:使用类似COCO数据集的格式,对食物主体进行精确的像素级分割。这对于后续关联食物的质地(例如,只对“炸鸡”的酥脆外皮部分标注“脆”,而不是对整块鸡肉)至关重要。
  • 食材成分标注:在分割的基础上,对复合菜品中的主要可见食材进行标注。例如,在一张“宫保鸡丁”的图片中,标注出鸡肉、花生、葱段、干辣椒等。这为理解风味来源(辣味来自辣椒,坚果香来自花生)提供了视觉依据。
  • 视觉属性标签:这是一组描述食物视觉状态的标签,如“油亮”、“多汁”、“焦黄”、“绵密”、“有颗粒感”等。这些属性是连接视觉与口感/质地预测的重要桥梁。

这部分标注我们大量借助了半自动化工具体以提高效率。例如,使用预训练的实例分割模型(如Mask R-CNN)生成初始掩码,再由人工进行精细修正;使用视觉语言大模型(如CLIP)为图像生成候选的视觉属性词,供标注者勾选确认。

4. 多感官标注平台与流程设计

有了高质量的图像和基础视觉标注,核心战役——多感官标注——才真正开始。我们自主开发了一个专用的Web标注平台,其设计核心是降低认知负荷,提高标注一致性和趣味性

4.1 平台交互设计要点

  1. 分步引导,避免信息过载:标注界面不是将所有评分项一次性铺开。而是采用向导模式:
    • 第一步:整体感受。首先快速给出“整体愉悦度”评分和“辣度”判断。
    • 第二步:味觉与口感。展示一个模拟的“味觉雷达图”,标注者通过拖动滑块来调整甜、咸、酸、苦、鲜的强度。下方是口感选择区,采用图标+文字的形式,让标注者选择最突出的1-3种质地。
    • 第三步:风味描述。系统根据图像类别和已标注的食材,推荐高频风味词。标注者可以点击选择,也可以在输入框内自由输入。平台会实时联想和提示标准化库中的近义词。
  2. 视觉辅助与记忆唤醒:在标注界面侧边栏,始终显示该食物的高清大图、食材成分列表和视觉属性标签。同时,平台会提供一些“参考锚点图片”。例如,当标注“脆度”时,旁边会显示标准“薯片(脆度5)”和“面包(脆度1)”的图片,帮助标注者校准尺度。
  3. 防疲劳与质量控制:每完成20-30个标注,平台会强制插入一个锚定样本或休息提示。标注者的每次评分、耗时、与锚定样本的偏差都会被记录,形成个人的可靠性指数。

4.2 标注流程与冗余设计

每张图像至少由5名通过筛选和培训的标注者独立完成。平台会智能分配任务,确保同一张图片的标注者在地域、年龄、性别上有一定分布,以覆盖口味的多样性。

对于数值型评分(味觉强度、愉悦度),我们取中位数作为最终值,以抵御极端评分的影响。对于风味关键词,我们采用词频统计,选取至少被2名标注者提及的词作为有效风味标签,并记录提及次数作为“置信度”。

5. 数据集结构与统计分析

经过数月的努力,FoodSense V1.0版本包含了约5万张图像,每张图像都关联了一个丰富的多模态标注文件(JSON格式)。一个典型的标注条目如下:

{ "image_id": "food_0045321.jpg", "fine_grained_category": ["甜点", "蛋糕", "芝士蛋糕"], "segmentation": { "mask_path": "masks/0045321.png", "ingredients": [ {"name": "饼干底", "mask_id": 1}, {"name": "芝士层", "mask_id": 2}, {"name": "草莓", "mask_id": 3} ] }, "visual_attributes": ["绵密", "湿润", "有光泽"], "multi_sensory_annotations": { "taste": { "sweet": 4.2, "salty": 0.5, "sour": 1.8, "bitter": 0.3, "umami": 1.2 }, "texture": { "primary": ["绵软", "细腻"], "secondary": ["湿润"] }, "flavor_keywords": ["奶香", "芝士", "微酸", "清甜"], "spiciness": "none", "overall_hedonic": 7.5 }, "annotator_metadata": { "count": 5, "agreement_score": 0.78 } }

我们对数据集进行了初步统计分析,发现了一些有趣的模式:

  • 视觉-味觉相关性:颜色饱和度、光泽度与“甜”、“油润”的感知有显著正相关;焦褐色区域与“苦”、“焦香”相关。
  • 食材-风味图谱:通过共现分析,我们能够自动构建出“番茄-酸-鲜”、“奶油-甜-奶香-绵密”、“花椒-麻”等强关联对,这与我们的常识相符,验证了数据的合理性。
  • 标注一致性:数值型评分(如甜、咸)的标注者间一致性较高(ICC > 0.7),而风味关键词的一致性相对较低,这反映了风味描述的主观性和多样性,本身也是一种有价值的数据。

6. 基线模型实验与初步洞察

为了验证FoodSense数据集的价值,我们设计了几组基线实验,探索从视觉到多感官属性的预测能力。

6.1 任务定义与模型架构

我们将问题定义为多任务学习:

  • 任务1(回归):预测5种基础味觉的强度值(0-5)。
  • 任务2(多标签分类):预测主要口感标签(如脆、软)。
  • 任务3(多标签分类):预测风味关键词。
  • 任务4(回归):预测整体愉悦度(1-9)。

我们以在ImageNet上预训练的ResNet-50或EfficientNet作为视觉编码器(Backbone)。在编码器提取的全局特征基础上,我们设计了几个不同的预测头(Head):

  • 方案A(共享底层):所有任务共享同一个Backbone,在最后一层特征后接四个独立的全连接层分支。
  • 方案B(任务特定特征):Backbone的中间层特征被分别提取,用于不同任务。例如,浅层纹理特征可能对口感和味觉预测更重要,而深层语义特征对风味关键词预测更重要。
  • 方案C(引入先验):我们尝试将基础视觉标注(如食材列表、视觉属性)作为额外的输入,与图像特征拼接后,再送入预测头。这相当于给了模型一些“提示”。

6.2 实验结果与发现

在保留的测试集上,我们得到了一些启发性的结果:

  1. 可预测性差异味觉强度(尤其是甜、咸)和整体愉悦度的预测相对最容易,回归任务的RMSE能达到可接受的水平(~0.8 on 5-point scale)。这说明视觉线索(颜色、形态、酱汁状态)与这些感官体验存在较强的跨模态关联。口感的预测次之,模型对“脆”、“软”这类对比强烈的质地判断较好,但对“糯”、“弹”等细腻差别的判断力较弱。风味关键词的预测最具挑战性,精确率(Precision)尚可,但召回率(Recall)很低,模型只能捕捉到最突出、最普遍的风味(如“奶香”、“果香”)。

  2. 视觉特征的重要性:消融实验表明,如果仅使用图像特征(方案A),模型性能一般。当引入食材成分作为先验知识(方案C)时,所有任务的性能均有显著提升,尤其是风味预测。这证实了我们的假设:知道“是什么”(食材),是推断“怎么样”(风味)的关键桥梁。

  3. “愉悦度”预测的复杂性:预测整体愉悦度的模型,其表现与味觉预测模型高度相关,但又不完全一致。我们发现,模型学会了“甜味适中、咸味适中、色泽诱人”的食物通常愉悦度更高,但对于某些特定组合(如高酸度+高甜度代表“糖醋味”,可能很受欢迎)或文化特定偏好(如某些地区对“辣”的喜爱),模型仍难以把握。这揭示了愉悦度是更高层次的、受个人和文化影响的综合评判。

6.3 遇到的挑战与思考

  • 标注噪声的鲁棒性:感官标注的固有噪声要求模型必须具有更强的鲁棒性。我们尝试了使用标注者一致性分数作为训练样本的权重,或在损失函数中引入对噪声不敏感的损失(如Huber损失),取得了一定效果。
  • 长尾分布问题:和所有真实世界数据集一样,某些风味或食材组合的样本很少。我们采用了标签平滑、对稀有类别过采样等策略,但根本解决还需要更大规模的数据收集。
  • 跨文化差异:我们第一版数据主要来自单一文化圈。一个明显的例子是,对于“豆腐脑”的甜咸之争,我们的数据无法覆盖。这是未来版本必须扩展的方向,需要建立文化敏感的标注指南。

7. 潜在应用、局限与未来展望

FoodSense数据集的构建,只是打开了“视觉-多感官”计算这个新领域的一扇门。它的直接应用包括:

  • 智能食品推荐与搜索:用户可以用“寻找酸甜开胃、口感爽脆的零食”这样的自然语言查询,系统结合视觉和多感官模型,从图片库中精准匹配。
  • 食品工业与研发:辅助新产品开发,通过分析竞品图片的感官预测结果,定位风味和口感的空白市场。
  • 饮食健康管理:更细致地理解用户的感官偏好,从而提供不仅营养均衡,也更“好吃”、更可能被长期坚持的个性化食谱。

当然,V1.0版本有明确的局限:它基于静态图片,无法捕捉温度、声音(如薯片的咔嚓声)这些重要的感官维度;它反映的是“预期感知”,而非真实的品尝体验;文化多样性不足。

在后续的工作中,我们计划从几个方向深化:

  • 动态多模态扩展:引入短视频数据,关联食物被切割、搅拌时的动态视觉和声音线索,以更好地预测口感。
  • 个性化建模:收集标注者的长期偏好数据,尝试建立个性化的感官预测模型,理解“甲之蜜糖,乙之砒霜”。
  • 与生成式AI结合:探索利用多感官描述作为条件,生成符合特定风味和口感描述的逼真食物图像,这将是食品营销和设计的强大工具。

构建FoodSense的过程,是一次将人类微妙的主观体验“翻译”成机器可读数据的艰难尝试。每一个评分滑块背后,都是我们对食物认知的一次量化。它不完美,但迈出了从“识别是什么”到“理解怎么样”的关键一步。对于任何想探索视觉与感官计算交叉点的同行来说,希望这个数据集和其中踩过的坑,能成为一个有用的起点。毕竟,让机器更好地理解我们的“口腹之欲”,或许也能让我们反过来,更科学地理解自己为何会对某种味道念念不忘。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询