Accuracy
How accurate are AI calorie counters?
A plain account of what we measured, why photos are hard to read, and what you can do to get closer.
Short version: on a public benchmark of lab-weighed meals, our photo model's median calorie error was roughly 27 to 33 percent, and it tended to overestimate. Photo estimates are useful for trends, not for exact numbers at a single meal.
What we measured
We benchmarked SnapMacro's photo model on 200 meals from the public Nutrition5k dataset. Nutrition5k is a Google Research dataset of real cafeteria dishes in which every ingredient was weighed as it was added to the plate, so the calorie and macro values are measured rather than guessed.1 That makes it a fair yardstick: the answer key does not depend on anyone's eyesight.
| Test | Result |
|---|---|
| Photo model, 200 Nutrition5k meals, calories | Median error roughly 27 to 33 percent across runs |
| Direction of error | A tendency to overestimate, about 21 percent on average |
| Depth study, same dataset: volume estimated from depth data, referenced to the plate | About 26 percent median error |
| Depth study, same subset: photo model | About 35 percent median error |
Two caveats. The test meals are cafeteria plates photographed under controlled conditions, which are not the same as a dinner at home, a restaurant or a packed lunch. And the depth comparison was a study on one subset of one dataset, not a feature of the app; SnapMacro uses an ordinary photo. We share it because it shows where the difficulty lies.
Why photos are hard
Hidden oil and sauce
A tablespoon of oil adds roughly 120 calories and is nearly invisible once it is absorbed into rice, vegetables or meat. Dressings, butter and sauces behave the same way. A camera sees the surface of the food, not what it was cooked in.
Portion depth
A photograph is flat. A shallow plate of pasta and a heaped one can look alike from above, yet differ by hundreds of calories. In the Nutrition5k paper the authors point to depth information as a way to improve predictions, and our own depth comparison above points the same way: estimating volume is the hardest part of the job.
Hidden ingredients
Layers, fillings and mixed dishes conceal what is inside. A burrito, a casserole and a smoothie are all mostly unseen.
What SnapMacro does about it
- Editable items. Every item, portion and the dish name can be changed after a scan.
- Swap suggestions. If the model picked the wrong food, you can swap it for a close alternative instead of starting over.
- Add oil or sauce. You can add the cooking fat or sauce the camera could not see.
- A confidence note. When portions or ingredients are partly a guess, the result says so and asks you to check it.
- Barcode for packaged food. When food has a label, scanning the barcode is more reliable than any photo.
The aim is not a perfect number at every meal. It is a record that is close enough, over enough days, for your weight trend to tell the truth.
How to get a better estimate
- Shoot from about 45 degrees. An angle shows the height of the food as well as its spread, which a straight-down photo hides.
- Include the whole plate. The plate or bowl gives the model a size reference. Do not crop it.
- Mention oil and sauce. If you cooked with oil or added dressing, say so in the note or add it after the scan.
- Separate the components when you can. A plate where foods do not overlap is easier to read than a pile.
- Use the barcode for anything with a label.
- Look at the weekly average. Errors in both directions tend to partly cancel across many meals, which is why a seven-day view is more trustworthy than any single log.
If you need to know a number precisely, for example for a medical reason, weigh the food on a scale and ask your clinician or dietitian. SnapMacro is not a medical device.
Related
Your starting targets come from standard formulas you can try yourself: the TDEE calculator and the protein calculator. See also how we compare with other trackers: SnapMacro vs Cal AI and SnapMacro vs MacroFactor.
Source
- Thames Q, Karpur A, Norris W, Xia F, Panait L, Weyand T, Sim J. Nutrition5k: Towards Automatic Nutritional Understanding of Generic Food. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021. openaccess.thecvf.com
SnapMacro
Skip the counting
Snap a photo of a meal and SnapMacro estimates the calories and macros. Every item is editable, and your targets adapt to your real weight trend.
Download on the App Store