Cal AI的食物分量估算有多可靠?测量重量与AI估算的对比审计

我们在厨房秤上称量了20种食物,通过Cal AI拍摄照片,并将应用程序的分量估算与实际测量的重量进行比较。以下是Cal AI的分量估算的准确性和一致性。

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Cal AI是一款基于照片的卡路里追踪应用,利用计算机视觉技术从照片中估算食物的分量和卡路里。 该应用的核心承诺是您可以完全跳过称量和测量食物的步骤——只需拍摄您的盘子,AI会处理剩下的。这一提议非常吸引人,因为它去除了卡路里追踪中最繁琐的部分。但它依赖于解决一个基本的计算机视觉问题:从二维图像中估算物体的三维大小和重量。

分量估算的可靠性意味着AI估算的重量或体积与实际测量的数量密切匹配。这也意味着一致性——多次拍摄同一种食物应该每次都能产生相同的估算结果。我们通过在经过校准的厨房秤上称量20种食物,使用Cal AI拍摄照片,并比较结果来测试这两个维度。

基本问题:从二维图像中进行三维估算

在检查测试结果之前,了解这个问题为何本质上是困难的值得关注。一张照片将三维信息压缩为二维。深度、高度和体积信息部分丢失。如果相机角度压缩了差异,那么一堆3厘米高的米饭在照片中看起来与2厘米高的米饭完全相同。

AI必须根据上下文线索推断缺失的维度:盘子的大小、食物投下的阴影、框架中已知物体的相对比例,以及与训练数据的模式匹配。每一步推断都可能引入误差。2021年发表在《国际食品科学与营养学杂志》上的一项研究发现,即使是经过培训的营养师在从照片中估算分量时也只能达到50-70%的准确率,这表明无论是人类还是AI进行视觉分量估算,本质上都是不精确的。

这并不是对Cal AI的具体批评。这是任何基于照片的分量估算系统所面临的基本挑战。问题在于这种基本限制在实践中产生了多少误差,以及这种误差是否足够小,以使卡路里数据具有实用性。

测试方法:称重与Cal AI估算的对比

我们选择了20种食物,涵盖六个类别:均匀物品(形状和大小可预测)、不规则固体(形状变化)、堆叠或成堆的食物、液体、容器中的食物,以及多成分的盘装餐。每种食物在准确到1克的经过校准的厨房秤上称重。

每种食物随后被放置在一个标准的26厘米白色餐盘上(除非另有说明),并从约30厘米的距离以45度角通过Cal AI拍摄。我们记录了Cal AI的估算分量和卡路里,然后计算与实际测量值的偏差。

分量估算准确性:Cal AI估算与实际重量对比

完整可靠性测试结果

食物 实际重量 Cal AI估算 重量偏差 偏差% 实际卡路里 Cal AI卡路里 卡路里影响
面包片 38 g 40 g +2 g +5.3% 95 100 +5
大鸡蛋,煮熟 50 g 50 g 0 g 0.0% 78 78 0
蛋白质棒(未包装) 60 g 55 g -5 g -8.3% 210 193 -17
烤鸡胸肉 174 g 140 g -34 g -19.5% 287 231 -56
烤牛排 225 g 175 g -50 g -22.2% 573 446 -127
烤三文鱼片 168 g 145 g -23 g -13.7% 349 302 -47
煮熟的白米 210 g 180 g -30 g -14.3% 232 199 -33
煮意大利面 240 g 195 g -45 g -18.8% 374 304 -70
土豆泥 200 g 160 g -40 g -20.0% 224 179 -45
混合绿色沙拉 120 g 95 g -25 g -20.8% 19 15 -4
橙汁(杯装) 250 ml 200 ml -50 ml -20.0% 112 90 -22
牛奶咖啡(杯装) 350 ml 250 ml -100 ml -28.6% 58 41 -17
汤(碗装) 400 ml 300 ml -100 ml -25.0% 160 120 -40
杏仁(小碗装) 35 g 28 g -7 g -20.0% 204 163 -41
混合坚果(碗装) 55 g 42 g -13 g -23.6% 264 201 -63
酸奶(容器装) 170 g 150 g -20 g -11.8% 100 88 -12
苹果(整只) 182 g 170 g -12 g -6.6% 95 89 -6
半个鳄梨 68 g 75 g +7 g +10.3% 109 120 +11
吐司上的花生酱 18 g(仅花生酱) 12 g -6 g -33.3% 105 70 -35
鸡肉+米饭+西兰花盘 440 g 总计 365 g 总计 -75 g -17.0% 542 450 -92

统计摘要:

  • 平均绝对偏差:16.9%
  • 中位数偏差:19.2%
  • 低估偏差:20种食物中有18种被低估
  • 平均卡路里影响:每种食物37卡路里
  • 准确在10%以内的食物:20种中的5种(25%)
  • 偏差超过20%的食物:20种中的8种(40%)

结果显示出明显且一致的模式。Cal AI在20种测试食物中低估了18种的分量。平均偏差为16.9%,但这个平均数掩盖了特定类别的严重性。不规则肉类(鸡胸肉、牛排)显示出19-22%的低估。堆叠食物(米饭、意大利面、土豆泥)显示出14-20%的低估。液体的低估则在20-29%之间。

分量估算可靠的地方

Cal AI的估算在形状均匀、可预测的食物上最为准确。

均匀物品

面包片、煮鸡蛋和苹果的实际重量与估算值的偏差均在5-10%以内。这些食物的形状一致,AI训练数据能够很好地捕捉到。无论品牌如何,面包片的厚度和尺寸大致相同。大鸡蛋就是大鸡蛋。AI的训练数据包括了成千上万张这些物品的图片,其可预测的几何形状使得深度估算变得不那么重要。

标准化包装物品

尽管未包装的蛋白质棒的估算值与实际重量的偏差为8.3%。其矩形形状和标准化尺寸使其在视觉上可预测。在我们的测试中,具有规则几何形状的食物的表现始终优于不规则食物。

共同的因素是这些食物的形状变化小。当您看到一片面包时,您实际上已经看到了所有的面包。AI可以依赖记忆中的典型尺寸,而不是通过上下文线索推断尺寸。

分量估算不可靠的地方

不规则形状:牛排和鸡肉的问题

烤牛排的低估幅度为22.2%,导致单个食物的卡路里误差为127卡路里。鸡胸肉的低估幅度为19.5%,误差为56卡路里。这些是追踪蛋白质摄入的用户最常记录的食物。

不规则形状的问题在于食物的厚度各不相同。鸡胸肉从厚的中心逐渐变薄。通过俯视或角度拍摄,AI捕捉到的是表面积,但低估了中心的厚度。结果是对卡路里密集型蛋白质的系统性低估——这些正是宏量营养素追踪中最需要准确性的食物。

堆叠和成堆的食物:米饭、意大利面和土豆

煮熟的米饭、意大利面和土豆泥的低估幅度为14-20%。这些食物堆积的高度显著,而二维照片则将其压缩。盘子上的一份米饭在最高处可能达到4厘米,但在45度拍摄的照片中,这看起来像是一层更薄的米饭。

美国农业部食品数据中心数据库将煮熟的白米列为每杯130卡路里(186克)。210克的份量低估14.3%意味着缺失33卡路里——而大多数人将米饭作为更大餐的一部分。每种堆叠食物的误差在盘子上都会累积。

液体:看不见的体积问题

液体是估算最不可靠的类别,偏差为20-29%。一杯橙汁的低估幅度为20%。杯装牛奶咖啡的低估幅度为28.6%。碗装汤的低估幅度为25%。

问题很简单:AI可以看到液体的表面,但无法确定容器的深度。一个宽而浅的碗和一个狭而深的碗在照片中可能呈现相同的表面,但其容积却大相径庭。在不知道容器尺寸的情况下,AI的体积估算本质上只是一个猜测。

角度问题:同一种食物,不同的估算

除了对每种食物的准确性测试外,我们还调查了Cal AI在不同角度拍摄同一种食物时是否能产生一致的估算。

角度一致性测试:烤鸡胸肉(实际174克)

拍摄角度 Cal AI估算 与实际的偏差
45度(标准) 140 g -19.5%
正上方(90度) 155 g -10.9%
低角度(20度) 125 g -28.2%
侧角(10度) 110 g -36.8%

同一块174克的鸡胸肉在不同拍摄角度下的估算范围从110克到155克不等——偏差达45克。正上方的角度产生了最准确的结果,因为它捕捉了完整的表面积,但即便如此也偏差近11%。低角度和侧角则显著低估了分量,因为食物的高度和深度被进一步压缩。

这意味着用户获得的卡路里计数部分取决于他们如何持手机,而不仅仅是他们吃什么。习惯于从低角度拍摄食物的用户将始终低估卡路里,而习惯于从上方拍摄的用户则不会。

盘子大小错觉:相同分量,不同盘子

我们测试了盘子大小是否会影响Cal AI的分量估算,将200克煮意大利面放在三个不同的盘子上。

盘子大小测试:200克煮意大利面

盘子直径 Cal AI估算 偏差
20厘米(小盘) 225 g +12.5%
26厘米(标准盘) 195 g -2.5%
32厘米(大盘) 155 g -22.5%

同样的200克意大利面在小盘上被估算为225克,而在大盘上则为155克——仅因盘子大小就产生了70克的差异。这是Delboeuf错觉,一种已被充分记录的感知偏差,物体在小框架中看起来更大,而在大框架中则看起来更小。AI从其训练数据中学习到了这种偏差,食物照片中盘子大小与感知分量大小相关。

对于使用大餐厅盘子或盛菜碗的用户来说,这意味着Cal AI将系统性地低估他们的分量。而使用小甜点盘的用户,应用程序则会高估。两组用户都无法准确计算他们实际摄入的食物。

一致性测试:同一种食物,五次拍摄

我们对一份烤鸡胸肉配米饭和西兰花(实际542卡路里)进行了五次连续拍摄,仅稍微调整手机角度。

五次照片一致性测试

照片编号 Cal AI总卡路里 与实际的偏差
1 450 -17.0%
2 478 -11.8%
3 435 -19.7%
4 462 -14.8%
5 448 -17.3%

对同一餐的五张照片产生了五个不同的卡路里估算,范围从435到478——偏差达到43卡路里。平均值为455卡路里,低估了实际542卡路里16.1%。没有一张照片的结果在实际卡路里内容的10%以内。

这一测试同时展示了准确性和一致性的问题。估算始终偏低(准确性失败),而且在拍摄相同食物的照片中存在差异(一致性失败)。记录这餐的用户将根据他们拍摄的五张照片获得不同的数字。

每日误差如何累积

我们测试中每种食物的个别误差平均为37卡路里。这听起来不算太多,但考虑到典型的一天涉及记录10到15种食物,跨越三餐和零食,这个数字就显得重要了。

每日累积场景

记录的食物 实际卡路里 Cal AI总计 累积误差
早餐(燕麦、香蕉、花生酱) 3项 445 385 -60
午餐(鸡肉、米饭、蔬菜) 3项 542 450 -92
零食(杏仁、酸奶) 2项 304 251 -53
晚餐(牛排、土豆泥、沙拉) 3项 816 640 -176
每日总计 11项 2,107 1,726 -381

每日低估381卡路里。这占总摄入量的18.1%——一个并不存在的赤字。计划每日500卡路里赤字以减肥的用户,实际上在考虑到Cal AI的低估偏差后,只有119卡路里的赤字。以这种速度,计划每周减重1磅的目标变成了每周0.24磅。一个月的严格追踪只产生了一周的预期结果,而用户无法确定原因。

《美国临床营养学杂志》上发表的研究一致表明,饮食评估中最常见的误差方向是低报食物摄入,基于人类标注数据训练的AI系统继承了这种偏差。

Nutrola如何不同地处理分量估算

Nutrola对分量估算问题的处理方式是将照片AI视为起点,而非最终答案。该应用的照片识别功能识别食物,并将其映射到一个经过营养师验证的超过180万条目数据库中,建立准确的每克卡路里值。但Nutrola并不单纯依赖AI来猜测分量大小,而是提供了语音校正层。

在拍摄完您的餐点后,您可以说“实际上那是大约200克鸡肉”或“米饭大约是一杯”。条目会根据经过验证的每克营养数据即时更新。这只需几秒钟——比手动搜索还快,并解决了没有AI能够准确从二维图像估算三维体积的基本限制。

经过验证的数据库是关键的差异化因素。即使分量估算完美,卡路里计数的可靠性也仅取决于它所参考的营养数据。Nutrola的数据库包含每种食物的一个经过验证的条目,来源于营养师验证的数据,没有众包重复或冲突条目。照片识别、语音校正分量和经过验证的数据相结合,产生的卡路里记录反映了您实际吃了什么,而不是AI从照片中猜测的内容。

Nutrola还包括对包装食品的条形码扫描和对家常菜谱的导入,确保每种记录方法的数据质量一致。Nutrola在iOS和Android上提供,每月仅需2.50欧元,所有计划均无广告,旨在围绕速度和准确性并不相互排斥的原则设计。

常见问题解答

Cal AI在计算卡路里方面有多准确?

在我们对20种食物的测试中,Cal AI的分量估算与实际测量重量的偏差平均为16.9%。这转化为每种食物的平均卡路里误差为37卡路里。仅有25%的食物(20种中的5种)估算在10%准确范围内。该应用显示出强烈的低估偏差,在测试的20种食物中,有18种被低估。在我们的测试场景中,整天的饮食中,这些单项误差累积为381卡路里的低估。

为什么Cal AI对同一餐的卡路里估算不同?

Cal AI的估算会根据拍摄角度、光线和构图的不同而变化,因为它是从二维图像推断三维分量大小。在我们的稳定性测试中,同一餐的五张照片产生的卡路里估算范围从435到478——偏差达到43卡路里。相机角度的影响最大:我们的角度测试显示,从侧面拍摄的鸡胸肉估算为110克,而从正上方拍摄则为155克。

Cal AI对某些食物的准确性是否高于其他食物?

是的。Cal AI对形状均匀、可预测的食物最为准确:切片面包(5.3%偏差)、煮鸡蛋(0%偏差)和整只水果(6.6%偏差)。对于不规则形状的肉类(19-22%偏差)、堆叠的食物如米饭和意大利面(14-20%偏差)以及液体(20-29%偏差),其准确性最低。如果您的饮食主要由简单、均匀的食物组成,该应用将更可靠,而如果您吃复杂的多成分餐,则准确性会降低。

盘子大小会影响Cal AI的卡路里估算吗?

会的。在我们的盘子大小测试中,200克意大利面在20厘米的小盘上估算为225克,而在32厘米的大盘上则为155克——同一分量的70克差异。这是由于Delboeuf错觉,周围的环境改变了物体的感知大小。使用大盘子或餐厅菜肴的用户将持续看到低估的分量。

我可以使用Cal AI来减肥吗?

Cal AI可以提供粗略的卡路里意识,但其系统性的低估偏差使其在基于精确赤字的减肥中存在问题。在我们的每日场景中,计划的500卡路里赤字在考虑Cal AI的低估后减少到有效的119卡路里赤字——这意味着计划的赤字减少了76%。为了获得更可靠的结果,建议将基于照片的记录与实际食物称重结合使用,或使用像Nutrola这样的应用,它将照片AI与语音校正分量和经过验证的营养数据库结合起来。

准备好改变您的营养追踪方式了吗?

加入成千上万已通过 Nutrola 改变健康之旅的用户!