如何用一张照片计算卡路里

用照片算卡路里,就是给你的餐拍一张照,让 AI 模型认出每样食物、估算份量,再对照营养数据,几秒内给出卡路里和三大营养素。这是估算,不是测量:研究显示平均误差从不到 1% 到约 38% 不等,取决于这盘食物有多复杂。
这个范围听起来很宽,事实也是如此。但大多数人真正在用的替代方法,并不是实验室级的食物秤,而是在数据库里打字乱猜,或者干脆不记。这篇指南会讲清楚拍照算卡路里怎么运作、哪里靠得住、哪里靠不住,以及怎样在你每天真正吃的食物上拿到最诚实的数字,从一包椰浆饭(nasi lemak bungkus)到一盘鸡饭都适用。
为什么很多人手动记卡路里会半途而废?
手动记录有个「坚持不下去」的问题。每一餐你都得做好三件事:正确说出食物名称、选对数据库条目、估准份量。错一样,数字就不对。一天几餐、连续几个星期都要这样做,累积下来的工夫会让你最终放弃。
吃东南亚食物就更麻烦了。在一般的数据库里打「经济饭(nasi campur)」,会跳出几十个条目,跟你的那盘饭几乎没关系,因为经济饭就是你当天从二十个菜盘里随手夹的那几样。这种麻烦不是自律问题,而是设计问题。
拍照记录把这三个步骤压缩成一个你本来就不假思索会做的动作:把手机对准盘子。最好的记录方法不是最精确的那种,而是一个月后你还在用的那种。
AI 食物识别是怎么运作的?
拍照卡路里计算器同时做两件事:认出食物是什么,以及估算有多少。
- 识别。 照片会送进一个用大量已标注食物照片训练出来的电脑视觉模型。它学会了各种菜的视觉特征,比如炒粿条油亮的深色面条,或椰浆饭里饭、参巴和蛋分开的几小堆,然后为盘里的每样食物给出最可能的判断。
- 份量估算。 从一张平面的 2D 照片,app 要靠盘子大小、食物堆的高度和画面里熟悉的物件来推断体积。这是比较难的一步,大部分误差都出在这里。
- 营养对照。 每样认出来的食物会对应到营养数据,再乘以估算份量,得出卡路里、蛋白质、碳水化合物和脂肪。
较新的 app 还多了第四步:你可以补一句说明(「多参巴」「去皮」「饭减半」),估算就会更新。这个小小的修正,往往比照片本身更重要。
拍照算卡路里有多准?
老实说:有用,但不精确。《Annals of Medicine》上的一项 2023 年系统性综述 汇总了 52 项 AI 图像饮食评估研究。各研究的平均卡路里误差从 0.10% 到 38.3% 不等,作者发现照片里是单一、简单的食物时,误差较低。咖喱这类混合菜,以及食物互相叠在一起的盘子,被认错的风险较高。整体来说,AI 的表现落在受过训练的人工估算者的范围内。
实际上,这代表:
- 一根香蕉、一粒水煮蛋或一片面包,通常都估得不错。
- 一盘饭配两样分得清楚的菜,是个公平的考验,结果通常接近到足以拿来规划饮食。
- 一碗咖喱面或淋满汁的扁担饭(nasi kandar) 是最难的情况,因为汁把蛋白质和油都盖住了。
正确的心态是:把它当成一个懂行的朋友瞄一眼你的盘子,给你一个快速又合理的估计。几天几星期下来,随机的高估和低估会部分抵消,真正决定成效的是趋势。但固定的误差,比如每次都漏掉煮菜的油,是不会抵消的。所以下面的技巧就是针对这些。
拍照算卡路里在哪些情况下会出错?
大部分估错的情况,都来自这四种:
- 看不见的油脂。 煮进菜里的油、椰浆、牛油和酥油(ghee)都看不见。根据 USDA FoodData Central,一汤匙棕榈油约 120 千卡,而一道小贩大火快炒的菜,用油随时超过一汤匙。
- 看不见的糖。 拉茶里的炼奶、甜品里的椰糖(gula melaka),照片里都看不出来。
- 叠高或很深的食物。 高高的汉堡或一大碗深的面,会把底下的东西藏起来,体积很难判断。
- 没有比例参照。 食物塞满整个画面、看不到盘边或餐具,模型就没有东西可以用来衡量份量。
常见马来西亚食物有多少卡路里?
心里有个大概的参考值,就能一眼看出哪个估算明显不对。以下数字来自已发表的资料,只适用于表中列出的份量。你光顾的档口份量可能更大或更小。
| 食物 | 分析份量 | 约多少卡路里 | 来源 |
|---|---|---|---|
| 椰浆饭(含配料) | 395 克一盘 | 约 740 千卡 | Yeo et al., Foods 2021 |
| 白斩鸡饭 | 412 克一盘 | 约 780 千卡 | Yeo et al. 2021 |
| 炒粿条 | 380 克一盘 | 670 千卡 | Malaysian Dietary Guidelines 2020 |
| 炒面(mee goreng) | 300 克一盘 | 519 千卡 | Malaysian Dietary Guidelines 2020 |
| 印度煎饼(roti canai) | 1 片(84 克) | 266 千卡 | Malaysian Dietary Guidelines 2020 |
| 拉茶(teh tarik) | 1 杯(250 毫升) | 140 千卡 | Malaysian Dietary Guidelines 2020 |
根据马来西亚食物成分数据库(MyFCD),单是椰浆饭的椰浆饭底,每 100 克就约 169 千卡,所以饭只是其中一部分,炸鸡、参巴和花生才是其余的大头。想看逐样拆解,可以读我们的椰浆饭卡路里和嘛嘛档食物卡路里指南。
如果你的 app 说一整盘炒粿条只有 350 千卡,那就是该检查份量或把油加进去的信号。
怎样拍才能让卡路里估算最准?
以下习惯不花额外时间,却能修正上面大部分的误差:
- 用 45 度角拍。 斜斜的角度能同时拍到面积和高度,有助于估算份量。从正上方往下拍,会把一堆饭拍扁。
- 画面里放个大小参照。 汤匙、叉子、标准盘子或你的手,都能让模型有个比例可对照。
- 光线要均匀。 日光胜过档口昏暗的黄灯;浓重的阴影和偏色会干扰识别。
- 吃第一口之前就拍。 拍下完整的份量,而不是吃了一半的残局。
- 补一句说明。 「炸的,不是蒸的」「少甜(kurang manis)」「加饭」或「两块鸡」,能补上镜头看不到的部分。
- 把杂饭拆开记。 吃经济饭时,确认每样菜都分开列出,让炸鱼、咖喱和青菜各自估算。如果你常吃经济饭,我们的小贩经济饭减肥指南会告诉你哪些菜卡路里累积得最快。
拍照、手动输入、扫条码,哪个最好?
没有哪一种在所有场合都最好,它们各自适合不同情况。
| 方法 | 最适合 | 速度 | 费力程度 | 准确度说明 |
|---|---|---|---|---|
| 拍照(AI) | 小贩、餐馆、家常菜和混合菜 | 几秒 | 很低 | 看得见的食物估得不错;除非你补充说明,否则会漏掉看不见的油和糖 |
| 手动输入 | 简单食物和常重复的食谱 | 慢 | 高 | 准不准全看你选的数据库条目和份量猜测 |
| 扫条码 | 有包装、有标签的产品 | 快 | 低 | 对标签上的份量很精确;没标签的食物完全用不上 |
| 食物秤 | 备赛、临床饮食 | 最慢 | 最高 | 对生食材最精确;外食时不实际 |
在马来西亚和新加坡,大多数人一个星期外食好几次,而且常在没有营养标签的档口吃。这种时候,拍照,或简单用文字、语音描述一下,往往是唯一可行的办法。包装零食则是营养标签或条码比较占优势的地方。
怎样开始用照片记录每一餐?
你不需要建立新习惯,只要做一个小小的替换。下一餐时:
- 开吃前,斜角拍一张清楚的照片,让汤匙或盘边入镜。
- 让 app 认出食物,看看估算结果。
- 改正明显不对的地方,再补一句烹调方式或额外加的东西。
- 存起来,继续吃饭。整个流程比在数据库里搜索还快。
之后看的是每周平均,而不是单一餐。如果你还没算出每日卡路里目标,可以用 TDEE 计算器,再读我们的减肥一天要吃多少卡路里指南。等记卡路里变得轻松后,记录三大营养素就是自然的下一步。
如果你想用自己的三餐试试看,Berry Best 让你用拍照、文字或语音把食物记录给它的 AI 教练 Berry,然后显示卡路里和三大营养素,你可以直接在同一个对话里修改。
资料来源
以下文献保留英文原标题。
- Shonkoff E. et al. (2023). AI-based digital image dietary assessment methods compared to humans and ground truth: a systematic review. Annals of Medicine.
- Yeo P.L.Q. et al. (2021). Energy content and nutrient profiles of frequently consumed meals in Singapore. Foods.
- Ministry of Health Malaysia. Malaysian Dietary Guidelines 2020, Table 2.4.
- Malaysian Food Composition Database. Rice, coconut milk (nasi lemak).
- USDA FoodData Central. Oil, palm.
延伸阅读
- 减肥一天要吃多少卡路里?:先定好目标,拍照记录才有比较的基准。
- 7 个让减脂停滞的算卡错误:照片容易漏掉的隐藏油脂和饮料。
- 椰浆饭有多少卡路里:一盘里每样配料各贡献多少。
- 吃小贩经济饭也能减肥:怎样夹出一盘比较轻的杂饭。
- Berry Best 对比 MyFitnessPal:拍照优先的记录方式,和以数据库为主的记录 app 比较。
- 热门卡路里记录 app 比较:一份诚实的盘点,Berry Best 也在其中。
常见问题
- 拍照真的可以算卡路里吗?
- 可以。拍照卡路里计算器会用图像识别认出盘里的每样食物,再根据盘子大小、食物堆的高度等视觉线索估算份量,然后对照营养数据算出卡路里和三大营养素。结果是估算值,所以拍完要看一眼,把认错的菜或估太多的份量改过来。
- AI 卡路里计算 app 准不准?
- 要看是什么餐。《Annals of Medicine》2023 年的一项系统性综述发现,不同研究的平均卡路里误差从不到 1% 到约 38% 都有,单一、简单的食物远比咖喱这类混合菜准。整体来说,AI 的表现和受过训练的人工估算差不多:足够指导日常饮食选择,但不够精确到临床用途。
- AI 认得出椰浆饭这类马来西亚食物吗?
- 大多数现代食物识别模型都认得椰浆饭、印度煎饼(roti canai)、鸡饭这些常见本地菜,但本地菜比较考验 AI,因为参巴、咖喱汁和油会盖住底下的东西。菜名认对的机会通常比份量估对高。顺手补一句「多参巴、炸鸡腿」,估算就准很多。
- 拍照记录比用秤称食物好吗?
- 论精确度不如,但论坚持通常更胜一筹。厨房秤是最精确的方法,备赛或医疗饮食值得用。日常减肥的话,拍照记录几秒就搞定,在小贩中心也能用,那里根本不可能拿出秤来。一份每天都坚持的合理记录,胜过一份你中途放弃的完美记录。
- 为什么拍照算出来的卡路里好像偏低?
- 最常见的原因是看不见的油脂。食用油、椰浆(santan)、牛油和糖都融进食物里,照片上看不出来,所以估算只算到镜头看得见的部分。油炸、汁多和快炒的菜影响最大。告诉 app 这道菜是怎么煮的,或把油当成一个单独项目加进去,就能补上这个差距。