Good at what, bad at how much#
An AI photo calorie counter is far better at naming your lunch than at sizing it. In the most direct peer-reviewed test to date, researchers fed ChatGPT 114 meal photographs drawn from Irish national dietary survey data and checked its output against known values. It identified the foods on the plate with 93.0 percent precision and 84.6 percent recall — genuinely good. Then it missed the nutrient content by a mean absolute difference of 26.9 percent, got only 4 of 16 nutrients within ±10 percent, and underestimated the meal's weight in 76.3 percent of cases1.
That split — accurate identification, unreliable quantity — is not a bug in one model. It is the shape of the problem. Recognizing that a plate holds salmon, rice, and broccoli is a classification task that computer vision genuinely solved. Working out that it holds 180 grams of salmon rather than 120, cooked in a tablespoon of oil you cannot see, requires recovering three-dimensional volume and hidden ingredients from a flat array of pixels. This article walks through exactly where the error enters, and why surfacing a range instead of one confident number is the only defensible way to report the result.
What a single photograph physically cannot contain#
Calories are a function of mass and composition. A photo records neither. It records reflected light from surfaces — which means every calorie estimate from an image is a chain of inferences, and each link adds error.
| What determines calories | What the photo actually shows | Why it's hard |
|---|---|---|
| Mass of each food | A 2D projection of the top surface | Depth must be inferred; a mound and a smear look alike from above |
| Density | Colour and texture | Fluffy and packed rice are visually near-identical |
| Added fat | A slight sheen, sometimes | Oil absorbed into food is invisible |
| Hidden layers | Only what isn't occluded | Sauce under rice, the bottom half of a stew |
| Portion scale | Relative pixel sizes | Needs a reference object of known size |
Google's research team framed this honestly a decade ago. Their Im2Calories system worked well in restaurants, where the menu constrains what a dish can be — but for meals outside that setting, the authors wrote, the task "requires solving segmentation and depth / volume estimation from a single image," and reported only "promising preliminary results" on that half of the problem2.
Ten years on, volume estimation remains the bottleneck. A dedicated single-view volume system achieved mean relative volumetric errors of 11.6 percent on an easy dataset and 20.1 percent on a harder one shot by users at their own angles — and it got there only by assuming one food per plate and using the plate itself as a known-size scale reference3. Real dinners are not one food on a plate of known diameter.
A photo of a meal is a picture of its top surface. Everything that determines its calories — mass, density, the oil it was cooked in — is either underneath or dissolved into it.
Segmentation: a plate is a pile, not a diagram#
Before a model can size anything, it has to draw boundaries around each ingredient. This sounds like the easy part. It isn't. The reference benchmark for the task, FoodSeg103, contains 9,490 images labeled with 154 ingredient classes and an average of six ingredient labels per image, and its authors name the two reasons food resists segmentation: ingredients overlap one another in the same image, and the identical ingredient looks completely different from one dish to another4.
Both problems are specific to food and both are structural. A car in a street scene occludes another car but stays car-shaped; an onion is diced, caramelized, sliced raw, or blended into a sauce, and in the last case it has no boundary at all. Plating makes it worse — the moment a dish is stirred, layered, or served in a bowl, a meaningful fraction of the food is behind the food you can see, contributing calories while contributing zero pixels.
So how wrong is it, in practice?#
The O'Hara evaluation is the most useful benchmark available because it tested by portion size rather than reporting one blended average. The pattern that emerged is the one that matters for daily logging: agreement with the true weight was good for small meals, and poor for both medium and large meals1. The model was not randomly wrong. It was systematically conservative, and it got worse exactly as portions grew — which is precisely when a tracker most needs the number.
The comparison against human experts is more sobering than any of it. On 38 medium-portion meals, ChatGPT's energy estimates versus those of seven registered dietitians produced an intraclass correlation of just 0.56 — poor to moderate — with carbohydrate at 0.311. Read that carefully in both directions: the AI disagrees with the dietitians, and the dietitians are not a perfect yardstick either. Eyeballing a plate is a hard task for everyone with eyes.
The photograph isn't the weak link — the estimate is#
Here is the finding that reframes the whole debate, and it is easy to miss. When photo capture is tested purely as a record — photograph the meal, then have the contents worked out against a parallel weighed record — it performs superbly. Across 212 real meals logged by 66 adults, the photo-based record correlated with the weighed record at r = 0.991 for energy, with a mean difference of about 5 calories per meal5.
So a photo carries enough information to reconstruct a meal almost exactly. What it does not carry is enough information to do so automatically and unaided. The camera is not the bottleneck; the unassisted inference on top of it is. That distinction is practical, not academic: it means the highest-leverage thing you can do is spend three seconds adding what the lens can't see — "large portion," "fried in butter," "about 200 grams" — because you are supplying exactly the missing variables rather than asking the model to hallucinate them. Notably, the same study found photo records drifted systematically low as intake rose5 — the identical big-portion blind spot the AI showed. A few photo portion estimation tips go further than a better model does, and knowing how much fat a dish absorbed matters more than the model's confidence — the calories in olive oil are the classic invisible variable.
Compared to what, exactly?#
"AI photo calorie counting is inaccurate" is a true sentence that means very little on its own, because the alternatives are also inaccurate. When self-reported intake is measured against doubly labeled water — the gold standard — written food records underestimate true energy by 11 to 41 percent, and 24-hour recalls, the best of the manual methods, by 8 to 30 percent6.
These are not the same metric — one is per-meal absolute error, the other systematic daily underreporting — so this is an order-of-magnitude comparison, not a head-to-head. But the order of magnitude is the whole point. AI photo estimation lands in the same broad band as the human methods it is often unfavorably compared to, and it does so while taking two seconds instead of two minutes. Against the realistic alternative — which for most people is not a weighed record but not logging at all — a fast estimate that reports its own error beats a perfect record that never gets written. The wider audit of how accurate calorie counting is puts every method on the same scale, and none of them come out clean.
Why the output should be a band, not a digit#
Given all of the above, a photo app that answers "612 calories" is making a claim its inputs cannot support. It has inferred depth it could not see, assumed a density it could not measure, and guessed at oil it had no evidence of — then reported the result to three significant figures. The confidence is manufactured at the last step.
A range does something a point estimate cannot: it tells you when to intervene. And on a photograph that instruction takes an unusual shape, because the error is not evenly spread — it grows with the portion, with agreement good for small meals and poor for medium and large ones1. So the correction that pays is targeted rather than constant: leave the small plates alone and spend the effort on the big ones, which is exactly where the model is measurably worst and a confident-looking digit is most misleading. The reasoning behind why calorie counts are ranges applies with double force to a photo, and it is the same logic that governs how accurate calorie-tracking apps can ever be.
FAQ#
Can an AI app tell how much oil my food was cooked in?#
Not from the image alone. Absorbed fat leaves little or no visual signature — a sautéed vegetable and a dry-roasted one can look nearly identical while differing by 100 calories or more. The model can infer typical preparation from the dish type, which is a guess about the average version of that dish, not a measurement of yours. Telling it "fried in oil" is the fix.
Are AI photo calorie counters accurate enough to lose weight with?#
Probably, for most people, because weight management runs on consistency rather than trueness. A method that is reliably 20 percent low still rises and falls exactly when your real intake does. The failure mode to watch is not the average error but the systematic one: estimates drift low as portions grow1, so big meals are where you should add a correction.
Does adding a reference object to the photo help?#
It helps with scale, which is one of several error sources. Volume systems typically need a known-size object — a plate of standard diameter, a coin — to convert pixels into centimeters3. It does nothing for density, hidden layers, or absorbed fat. Shoot at an angle rather than straight down and the image at least carries some depth information.
Sources#
- O'Hara C, et al. An evaluation of ChatGPT for nutrient content estimation from meal photographs. Nutrients. 2025.
- Myers A, et al. Im2Calories: towards an automated mobile vision food diary. Proc IEEE Int Conf Comput Vis (ICCV). 2015.
- Yang Z, et al. Human-mimetic estimation of food volume from a single-view RGB image using an AI system. Electronics. 2021.
- Wu X, et al. A large-scale benchmark for food image segmentation (FoodSeg103). 2021.
- Prinz N, et al. Feasibility and relative validity of a digital photo-based dietary assessment: results from the Nutris-Phone study. Public Health Nutr. 2019.
- Burrows TL, et al. Validity of dietary assessment methods when compared to the method of doubly labeled water: a systematic review in adults. Front Endocrinol. 2019.



