DiningBench:面向饮食领域感知与推理的分层多视角基准 DiningBench: A Hierarchical Multi-view Benchmark for Perception and Reasoning in the Dietary Domain
用 3021 道菜、5.27 张/菜的多视角图,系统评测 29 个视觉语言模型在精细分类、营养估计与饮食 VQA 三大任务上的真实能力。
前置知识
视觉语言模型(VLM)
视觉语言模型是把图像编码器与文本解码器融合的多模态大模型,既能看懂图也能生成自然语言。代表作如 GPT-4o、Gemini-3-Pro、Qwen2.5-VL、InternVL-3.5 等,通常以图文指令微调,在通用 VQA、OCR、文档理解等任务上表现优异,但在专业垂域的细粒度能力上仍存在显著短板。
DiningBench 评估的正是 SOTA VLM 在饮食垂域的真实能力边界,理解 VLM 的工作原理有助于解读论文中各模型表现差异的根源。
细粒度视觉分类(Fine-Grained Classification)
细粒度分类要求模型区分同一大类下视觉高度相似的子类(如同属沙拉类的烟熏三文鱼沙拉 vs 鲜三文鱼牛油果沙拉)。挑战在于类别间共享大量视觉特征,需要捕捉纹理、切工、配料比例等细微差异,远超传统粗粒度 ImageNet 风格识别。
这是 DiningBench 的核心任务之一,论文用同一商家菜单内的相似菜构造硬负样本,正是为了测试这种细粒度能力。
Chain-of-Thought (CoT) 推理
CoT 是一种让模型在给出最终答案前先显式输出中间推理步骤的提示策略,常见做法是 'Let\'s think step by step'。在数学、逻辑等需要多步推理的任务上常能提升表现,但对纯感知类任务可能引入语言化偏差、放大幻觉。
论文专门做了 CoT 对三类任务影响的消融实验,发现 CoT 在营养回归任务上常使小模型崩溃,这是评估 VLM 时不可忽视的工程现象。
MAPE / MAE / RMSE(回归评估指标)
MAE 是预测值与真值的平均绝对差,RMSE 是平方差开根号,对大误差更敏感;MAPE 是平均绝对百分比误差 $\text{MAPE}_k = \frac{1}{N}\sum_i \frac{|v_{i,k} - \hat v_{i,k}|}{v_{i,k}}$,消除了量纲差异,便于跨营养素比较。
DiningBench 营养估计任务同时报告这三种指标,MAPE 是不同模型横向比较的关键——Gemini-3-Pro-Preview 平均 MAPE 24.45% 意味着仍有 1/4 的相对误差。
LLM-as-a-Judge
在 VQA 等开放式任务中,精确字符串匹配无法捕捉语义等价,因此用更强的 LLM 担任裁判,根据事实正确性给出二元判定(对/错),再以判定为对的占比作为准确率。
DiningBench 的 VQA 任务用 LLM-as-a-Judge 评估,这是当前大模型开放式任务评估的事实标准,理解它才能看懂 90.42% 这类数字的含义。
研究动机
现有食物领域基准普遍存在四大局限,严重制约了对当代 VLM 的真实能力评估。第一,任务过于简单——Food-101 (Bossard et al., 2014)、UEC-Food (Matsuda et al., 2012) 等经典数据集几乎只做粗粒度分类,完全无法衡量营养量化、烹饪分析等高阶推理能力。第二,单视角限制——把食物识别当作单图问题,但用户实际点餐时会从多个角度拍摄以理解份量和食材。第三,缺乏细粒度区分——传统多选题的干扰项往往是随机采样,模型可以靠类别级语义先验蒙混过关,无法反映真实视觉辨别力。第四,营养标注不准确——Recipe1M+ 图片质量差,Nutrition5K (Thames et al., 2021) 和 FastFood (Qi et al., 2025) 又局限于标准化食堂或快餐场景,食物多样性差且难以泛化到真实餐饮场景。这四点叠加,意味着即便 GPT-4o、Gemini-3-Pro 这类顶级 VLM 在现有基准上得分很高,它们在真实饮食场景中的可用性仍是个未知数。
本文的目标是本文目标是构建一个分层、多视角、覆盖真实餐饮场景的饮食领域基准 DiningBench,系统评估 VLM 在三个递进认知层级上的能力:第一层识别(细粒度分类)、第二层量化(营养回归)、第三层推理(饮食 VQA)。具体目标包括:平均每道菜提供 5.27 张多视角用户照片(总共 15,928 张图覆盖 3,021 道菜/2,060 个品类);在分类任务中,干扰项必须来自同一商家菜单的同品类相似菜,迫使模型靠真正的视觉细粒度能力而非语义先验;营养估计必须有可验证的真实数据,误差用 MAPE/MAE/RMSE 综合评估;VQA 涵盖烹饪技法、饮食建议、多图对比、反事实推理等高阶任务。最终用 29 个 SOTA 模型(10 闭源 + 19 开源)对三类任务做完整评测,识别 VLM 在食物领域的能力边界。
与已有工作不同的是,本文的独特切入角度是'认知层级+多视角+菜单内硬负样本'三者的有机结合。已有工作(如 FoodieQA、IndiFoodVQ)虽然引入了文化感知推理,但都把问题当成单图识别;Nutrition5K 关注营养但只限标准化餐食;通用 VLM 评测基准(MMBench、MathVista)虽然全面却不深入食物垂域的细粒度难题。DiningBench 的差异化在于:第一,数据从美团真实 UGC 内容中筛选,涵盖 2086 道中式菜与 935 道国际菜,远超合成数据集的真实性;第二,把'同一商家菜单下的相似菜'作为硬负样本构造规则(例如区分 Smoked Salmon Salad 与 Fresh Salmon Avocado Salad),这是过去基准没有的对抗式数据构造思路;第三,通过'先识别→再量化→再推理'的三层递进结构,首次把分类准确率、营养 MAPE、VQA 准确率放在同一框架下比较,清晰揭示出 VLM 的能力塌缩点出现在营养量化层。
核心方法
DiningBench 的方法思路可以拆成'数据构造流水线'和'分层评估协议'两大部分。直觉上,作者要回答的问题是:'在真实点餐场景下,一个 VLM 到底能可靠地看菜、算热量、答饮食问题到什么程度?'。技术上,他们从美团约 2000 万张用户生成图出发,用 GPT-4 蒸馏训练两个 Qwen-2.5-VL-7B 判别器(图像质量评估、参考图匹配)做粗筛,把数据从 20M 压到 685k 张图、9 万道菜,再压到 4.1 万道高质量商家参考菜,经过去重平衡得到 6,057 道菜的 Base Data。在此基础上,基于 Gemini-3-Pro-Preview 设计三条并行任务生成管线:用菜单内品类相似性挖硬负样本生成 2,884 道分类题(每题 8 选 1);用商家营养元数据 + LLM 估计算子生成 1,650 道营养回归题(预测 calories/protein/carbs/fat);用思维链提示生成 804 道 VQA 题,涵盖烹饪技法(532)、饮食建议(219)、多图分析(35)、反事实推理(18)四类。最终所有题目都经过两轮 AI 过滤 + 人工校验,并由 3 位外部 PhD 做独立审计(210 样本 100% 通过)。评估时,分类用 Accuracy、营养用 MAPE/MAE/RMSE、VQA 用 LLM-as-a-Judge,系统比较 29 个模型的表现。
DiningBench 的核心创新是把'对抗式硬负样本 + 多视角一致性 + 认知分层'整合到同一基准设计里,这与已有方法有本质区别。区别一:传统多选题(MMBench、Food-101)的干扰项是随机抽样或语义近邻,模型靠类别级先验就能蒙混;DiningBench 的负样本严格限定在'同一商家菜单的同品类菜',例如要区分 Roasted Pumpkin Chicken Salad 与 Papaya Chicken Salad,必须看到具体的烤制南瓜片与木瓜的视觉差异才能答对,真正考验细粒度视觉辨别力。区别二:已有营养数据集要么是单图(Nutrition5K)、要么是低质量网络图(Recipe1M+),DiningBench 第一次把'商家专业参考图 + 平均 5.27 张多角度用户图'对齐,既保证标注质量又提供视角多样性,可以直接研究多视角融合对营养回归的影响。区别三:已有基准把识别、量化、推理当成独立任务,DiningBench 用统一框架把它们编排为从易到难的认知层级,跨任务对比就能定位 VLM 的能力塌缩点(本文发现塌缩点出现在营养量化层)。
方法步骤详情
完整方法包含 6 个工程步骤。第一步是 Base Data 获取:从美团抓取约 2000 万张用户图与商家元数据,用 GPT-4 蒸馏训练两个 Qwen-2.5-VL-7B 模型——图像质量评估器筛除模糊/无关图,参考匹配器验证用户图与商家参考图的一致性,经过滤后保留 685k 张高质量图;再按菜品聚合、剔除少于 3 张用户图的菜(剩 9 万道),校验参考图质量后保留 4.1 万道;最后挑选含详细配料表的 1.5 万道、跨菜系平衡后人工抽检剩 6,057 道菜的 Base Data。第二步是细粒度分类集构建:对每道目标菜,用 Gemini-3-Pro-Preview 在同一商家菜单的同品类中选 7 道视觉/语义最相似的菜作为干扰项,经 Gemini-2.5-Pro 二轮过滤 + 人工校验,最终保留 2,884 道菜的 8 选 1 题目。第三步是营养估计集构建:对有商家标注的菜直接抽取热量/蛋白质/碳水/脂肪四项,无标注但有详细配料的菜用 Gemini-3-Pro-Preview 结合图片与配料推算,所有结果与 USDA FoodData Central 交叉验证并人工复核,得到 1,650 道菜的回归题。第四步是 VQA 集构建:分两批用 Gemini-3-Pro-Preview 生成,多图推理题要求至少 2 张图,单图题覆盖烹饪技法、饮食建议、反事实推理,经过去重 + 两轮 LLM 过滤 + 人工校验,保留 804 题。第五步是质量保证:三位外部 PhD 跨学科独立审计 210 个样本(每任务 70 个),所有评估者 100% 通过。第六步是评估协议:分类用 Accuracy、营养用 MAPE/MAE/RMSE(其中 $\text{MAPE}_k = \frac{1}{N}\sum_i \frac{|v_{i,k} - \hat v_{i,k}|}{v_{i,k}}$,再对四类营养素取均值)、VQA 用 LLM-as-a-Judge 的二元判定准确率。
技术新颖性
技术新颖性体现在三方面。第一,'菜单内硬负样本挖掘'是一种新的对抗式数据构造范式:利用同一商家菜单的天然相似性 + Gemini-3-Pro-Preview 的语义匹配,在 8 选 1 设置下保证干扰项与目标项共享大量视觉特征,迫使模型必须做细粒度判别。第二,'多视角对齐的菜品数据库'是首个把商家专业参考图与多角度 UGC 图在菜级别对齐的数据结构,平均 5.27 图/菜使'多视角融合'研究从理论可能变为可直接实验的设定,论文也确实通过 1→4 张图的消融发现大模型在 1→2 张图时性能跳变最显著,小模型则在 N≥3 时性能下降。第三,'AI 辅助 + 数学逻辑审计'的质量保证流程有独到设计:营养数据用 Atwater 公式 $E \approx 4P + 4C + 9F$ 校验标注与图片的一致性(误差>10% 直接 reject),VQA 用 'Atomic Query + Visual-Agnostic Phrasing' 的硬约束防止题目泄露元数据,这套 QA 流程在公开基准中尚属首次系统化呈现。
实验结果
对 29 个 SOTA VLM 的系统评测揭示出三个清晰的能力梯度。发现一:细粒度分类暴露感知局限。Gemini-3-Flash-Preview 以 81.83% 准确率领先,Gemini-3-Pro-Preview 紧随 81.55%,但其他顶级模型表现糟糕:GPT-4o 仅 65.26%、GPT-5 70.18%、Claude-Sonnet-4.5 仅 54.40%,开源模型中 Qwen-3-VL-30B-A3B-Instruct 65.43% 已是最佳,InternVL-3.5-4B 跌至 43.76%。这种断崖式差距说明顶级 VLM 在区分同菜单相似菜时仍严重依赖语义先验而非真正的视觉细粒度能力。发现二:营养估计是真正的开放难题。即使最强的 Gemini-3-Pro-Preview 平均 MAPE 仍达 24.45%,Gemini-3-Flash-Preview 25.21%,而 GPT-4o 高达 42.43%、GPT-4o-mini 44.08%;具体到各营养素,蛋白质 MAPE 较低(强模型 19.99%–33.40%),而脂肪 MAPE 普遍超过 50%(Gemini-3-Pro 26.53% 已是最好),说明模型对脂肪含量的视觉判断最弱,这与人类评估份量的难点一致。发现三:VQA 普遍高分但远未饱和。Gemini-3-Pro-Preview 达 90.42%、Gemini-3-Pro 89.93%,但 GPT-4o 80.60%、开源 InternVL-3.5-14B 仅 67.79%,差距依然显著。多视角消融(图 4)显示 1→2 张图时性能提升最明显,2 张后边际收益递减,且小模型在 N≥3 时 MAPE 反而波动或恶化,说明多视角融合对当前架构仍是开放挑战。CoT 消融(图 5、9、10)显示 CoT 在分类任务上几乎普遍下降(因小模型出现'性能塌缩'),在 VQA 上效果不一,印证了 'CoT 不是银弹' 的判断。最后,系统错误分析归纳出五大失败模式:细粒度辨别力不足(把 Tomato Beef Pot 与 Spicy Beef Pot 混淆)、参数知识偏见与幻觉(把 Scallion Oil Chicken 错认为更熟悉的 Roasted Chicken)、空间与体积推理缺陷(无法做 2D→3D 推断)、多视角聚合无效(信息过载)、推理模型的不稳定(小模型陷入'无限思考循环')。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 细粒度分类(Fine-Grained Classification) | Accuracy(8 选 1) | Gemini-3-Flash-Preview 0.8183 / Gemini-3-Pro-Preview 0.8155(最优,本文评测) | GPT-4o 0.6526 / Claude-Sonnet-4.5 0.5440 / InternVL-3.5-4B 0.4376(对比基线) | Gemini-3-Flash 相比 GPT-4o 提升 +16.57 个百分点(81.83% vs 65.26%),领先开源最强 Qwen-3-VL-30B-A3B-Instruct(0.6543) 约 16.4 个百分点。 |
| 营养估计(Nutrition Estimation) - 平均 MAPE | Avg MAPE(4 类营养素平均百分比误差,越低越好) | Gemini-3-Pro-Preview 24.45% / Gemini-3-Flash-Preview 25.21%(最优) | GPT-4o 42.43% / GPT-4o-mini 44.08% / Qwen-3-VL-4B-Thinking 56.88% | Gemini-3-Pro 比 GPT-4o 降低 17.98 个百分点相对误差(24.45% vs 42.43%),但即便是最优模型仍有近 1/4 的平均相对误差。 |
| 营养估计 - 蛋白质 MAPE | Protein MAPE | Gemini-3-Pro-Preview 23.88%(最优) | Qwen-3-VL-4B-Thinking 49.96% / GPT-4o 36.03% | 最优模型比 GPT-4o 低 12.15 个百分点。 |
| 营养估计 - 脂肪 MAPE | Fat MAPE | Gemini-3-Pro-Preview 26.53%(最优) | Qwen-3-VL-4B-Thinking 62.26% / GPT-4o 51.82% | 最优模型比 GPT-4o 低 25.29 个百分点,但所有模型脂肪 MAPE 普遍是四类营养素中最高的。 |
| VQA | Accuracy(LLM-as-a-Judge 二元判定) | Gemini-3-Pro-Preview 0.9042 / Gemini-3-Pro 0.8993(最优) | GPT-4o 0.8060 / Qwen-2.5-VL-3B-Instruct 0.4764(最差) | 最优 Gemini-3-Pro 比 GPT-4o 提升 +9.82 个百分点,远未饱和。 |
| 多视角消融(分类,1→2 张图) | Accuracy 提升幅度 | GPT-4o 在 1→2 张图时分类准确率显著提升(论文图 4) | 单图设定下的基线性能 | 1→2 张图是性能跳变最大的拐点,后续 N>2 边际收益递减,小模型甚至下降。 |
局限与改进
作者明确承认了三方面局限。第一,文化偏差显著:由于数据源自美团,中式菜占 2086 道(约 69%),虽包含 Western(286)、Worldwide(252)、Asian(187)、Japanese(118)、Latin-American(48)、Indian(44)等国际菜系,但整体仍偏中式,可能影响模型在欠代表性全球菜系上的泛化能力。第二,LLM 辅助标注的固有偏差:虽然营养估计和干扰项挖掘都用了 Gemini-3-Pro-Preview + 人工校验,但作为 ground truth 的营养数据本身就有 LLM 估计成分,可能继承模型的隐性偏差或细微不准确;同样,英文翻译版数据集的实验也显示 Qwen-3-VL-8B-Instruct 分类从 64.15% 降到 58.56%,说明翻译过程中也存在语义损失。第三,作者还提到 VQA 任务的 Cooking Technique 占 532/804,类别分布不均,Counterfactual Reasoning 仅 18 题,使得对该子任务的统计推断置信度有限。我自己的额外观察是:其一,营养任务只有 1,650 题且 LLM-as-a-Judge 的判定标准会随评测模型迭代而漂移,长期可复现性存疑;其二,8 选 1 分类任务的随机基线是 12.5%,而最强模型也只有 81.83%,这意味着即使 SOTA 也无法可靠部署到真实菜单识别场景;其三,作者没有给出模型在极端长尾(例如只出现过 1–2 次的稀有地方菜)上的细分表现。
独立分析的弱点
独立分析可识别的弱点有四个。弱点一:Hard 负样本的对抗性可能过强,导致模型在某些题目上即使人眼也难判别,例如 'Roasted Pumpkin Chicken Salad' 与 'Roasted Potato Chicken Salad' 在用户图视角下的差异可能取决于一片薄薄的南瓜或土豆,基准有可能在测'图像分辨率/光线'而非'模型能力'。改进方向:对每道题提供难度等级(易/中/难)标签并分开报告,或提供专家人类准确率作为参考上限。弱点二:营养估计的 ground truth 高度依赖 LLM(Gemini-3-Pro-Preview)+ 商家元数据,而商家数据本身存在系统性低报热量/脂肪、高报蛋白质的营销倾向(论文提示词也专门提到这点),即使是 Atwater 公式审计也难以完全消除这种偏差。改进方向:与官方实验室化学分析结果对接建立小规模高可信子集,用于校准 LLM 估计。弱点三:多视角评估中,8B 以下模型在 N≥3 时性能下降,论文没有分析这究竟是'视觉 token 超载'还是'图片顺序/采样策略'问题,改进方向应做受控实验(固定图片 vs 随机图片、不同图片顺序)区分真正瓶颈。弱点四:VQA 评估用 LLM-as-a-Judge,但没有报告不同裁判 LLM(GPT-4o vs Gemini-3-Pro)判定的一致性,若裁判偏差大,90.42% 这种数字的稳健性存疑,改进方向应至少用 2 个不同裁判 LLM 做一致性报告。
未来方向
作者明确点出的未来方向有两块。其一,基准本身可作为 3D 重建与新视角合成的训练资源——平均 5.27 图/菜的多视角结构提供真实世界的复杂遮挡和可变光照,比合成数据集更贴近实际,可推动饮食领域的神经渲染研究。其二,商家参考图与用户生成内容的对齐为跨域检索和条件图像生成提供了新场景,可研究如何根据菜名和参考图生成符合'真实用户拍摄风格'的图像。基于论文成果可延伸的方向还包括:第一,把基准扩展到时间维度(菜品的制作过程视频),测试 VLM 在'过程理解'上的能力,这对烹饪教学和自动化厨房助理至关重要;第二,构建多语言版本,论文已尝试英文翻译(表 4)发现分类普遍下降而营养估计反而上升,这种'语义鸿沟 vs 推理通路'的现象值得深入研究;第三,开发专用'饮食 VLM'——在 29 个通用模型表现最差的营养估计层(平均 MAPE 24%–57%)专门优化,可考虑引入物理先验(如餐具参照、份量密度)或显式的 3D 体积推理头;第四,把 DiningBench 接入智能健康/慢病管理流程,作为'AI 营养师'的回归测试集,推动真实医疗场景落地。
复现评估
可复现性整体良好但有门槛。开源情况:数据集已在 Hugging Face 公开(https://huggingface.co/datasets/meituan/DiningBench),采用 CC BY-NC-ND 4.0 协议,需注意仅限非商用;但论文未明确给出评测代码仓库地址,这对完全复现 29 个模型的评测结果是必要补充。数据规模与质量:3,021 道菜、15,928 张图,经外部 3 位 PhD 独立审计 210 样本 100% 通过,质量保证充分。算力门槛:开源自建模型用 vLLM 部署,8B 以下单卡 A100、30B–38B 双卡 A100、72B 四卡 A100,完整复现所有实验需要约 8–10 张 A100;闭源模型用官方 API 即可,但需要 0.5k–1k 美金量级的 API 预算。复现难度:中——数据可直接下载,评测指标定义明确(MAPE 公式与 LLM-as-a-Judge 协议在论文中给出),主要门槛在于 LLM 裁判的版本一致性(若评测时裁判模型已升级,数字可能漂移)。额外建议:作者在附录给出了 11 个核心 prompt(分类、营养、VQA、QA 审计),这极大降低了复现难度,但研究者若想精调或改写 prompt,需要严格保留 'Atomic Query + Visual-Agnostic Phrasing' 等硬约束,否则会破坏题目难度。
论文图表
总览图,把 DiningBench 描绘为三层认知复杂度的递进结构:第一层 Identification(细粒度分类,带硬负样本)、第二层 Quantification(营养估计)、第三层 Reasoning(VQA)。框架外圈标出多视角图像流,表明三个任务都基于同一多视角图像数据。
这是论文最核心的概念图,读者通过它可以一目了然地理解 DiningBench 的整体设计哲学——为什么是'分层'而不是平铺三个任务。
雷达图,把多个模型在营养估计上的 MAPE(有 CoT vs 无 CoT)做对比,显示多个小模型在 CoT 启用后 MAPE 显著上升,出现'性能塌缩'。
这张图直观证明了论文的关键论断——'CoT 不是银弹',对回归类任务可能反而有害,是复现实验中必看的图。
细粒度分类样例,展示 prompt(You are a food recognition expert...从 8 个相似沙拉名中选一个)与正确答案(F. Roasted Pumpkin Chicken Salad),干扰项包括 Sweet Potato Chicken Salad、Pomelo Shrimp Salad 等高度相似的同菜单菜。
让读者直观看到'硬负样本'长什么样——题目要求模型在 8 个仅一字之差的菜名间做区分,远超通用 VLM 日常评测的难度。
营养估计样例,展示 prompt(以 JSON 格式输出 calories/protein/carbs/fat)与期望回答(580/24/80/18),展示回归任务的输出结构。
理解营养任务的输入输出格式与单位规范(g/kcal per serving),对复现评测至关重要。