ego

ego / Guides / Photo calorie accuracy test

How Accurate Is AI Calorie Counting From a Photo? We Tested 506 Weighed Dishes

By Robert Gadeev, founder of ego · Published

Short answer: ego's calorie estimate was off by a median of 23% per dish. We tested it on 506 dishes whose ingredients had been weighed, from Google's public Nutrition5k dataset, sending the app a photo of each dish plus a note listing its ingredients, without amounts. The errors partly cancel out: for a day of four dishes, the median error on the total was 14%, and the total for all 506 dishes came out 4.2% below the weighed total.

Key findings

  1. ego's calorie estimate was within 30% of the weighed value for 63% of dishes and within 20% for 43%.
  2. The average error was 72 kcal on dishes that averaged 256 kcal (28.1% of the mean). The median error was 44 kcal.
  3. Only 14% of dishes were off by more than half.
  4. Errors partly cancel over a day: for four random dishes (about 1,000 kcal together), the median error on the total was 14%, and two days in three were within 20%.
  5. Across all 506 dishes, ego's total was 4.2% below the weighed total.
  6. Plate size mattered. ego overestimated small dishes by 23 kcal on average (dishes averaging 51 kcal) and underestimated large dishes by 73 kcal (dishes averaging 497 kcal).
  7. The biggest misses were calorie-dense foods. Salads with cheese, cream or oil and plates of nuts came out low: one 902 kcal salad was estimated at 351 kcal, and 688 kcal of almonds at 261 kcal. Plates with pizza came out high.
  8. Macros were close on average: protein was off by 6.0 g, fat by 5.3 g and carbs by 6.0 g per dish.
  9. For context, the dataset's authors report an average error of 70.6 kcal (26.1%) for a model they trained on Nutrition5k images alone. ego was not trained on this data and had the ingredient names; it scored 72.0 kcal.

Results

506 dishes, photo plus ingredient note. Percent figures use the 424 dishes with at least 50 kcal.

MeasureResult
Average calorie error72.0 kcal (28.1% of the mean dish)
Median calorie error44 kcal
Median percent error23.0%
Within 10% / 20% / 30%23% / 43% / 63% of dishes
Off by more than 50%14% of dishes
Total of all dishes vs weighed−4.2%
Day of 4 dishes: median error14.0%
Day of 4 dishes: within 10% / 20%36% / 67% of days
Dish weight, average error50 g
Protein / fat / carbs, average error6.0 / 5.3 / 6.0 g

By plate size

DishesWeighed caloriesAverage errorDirection
Smallest third (168)1–110 kcal, average 5132 kcal23 kcal too high
Middle third (168)112–317 kcal, average 21758 kcal18 kcal too high
Largest third (170)317–1,051 kcal, average 497125 kcal73 kcal too low

Large plates ran low. If you eat big portions, check the portion size before you save.

What this means if you log food by photo

For the full workflow, see how to take a picture of food and get calories and our guide to how accurate AI calorie counters are across published studies.

How we tested

Limitations

Download the data

ego-nutrition5k-results.csv (507 rows, 75 KB). One row per dish: the Nutrition5k dish ID, the weighed calories, weight, protein, fat and carbs, the note text, and ego's estimates and dish name. The dish IDs match the Nutrition5k files, so you can look up each photo.

The data is free to reuse under CC BY 4.0. Please credit Nutrition5k as well.

How to cite: Gadeev, R. (2026). How accurate is AI calorie counting from a photo? A 506-dish test of ego on Nutrition5k. egoapp.fit. https://egoapp.fit/research/photo-calorie-accuracy/

Questions about the method: robert@egoapp.fit.

Frequently asked questions

How accurate are AI photo calorie counters?
In our test of ego on 506 weighed dishes, with a photo of each dish and a note listing its ingredients, the estimate was off by a median of 23% per dish and by 72 kcal on average. 63% of dishes were within 30% of the weighed value. Errors partly cancel over a day: for four dishes the median error on the total was 14%.
How was ego's photo calorie counter tested?
We used the public Nutrition5k dataset from Google Research, where every ingredient of each cafeteria dish was weighed. For the 507 dishes in its overhead test split, we sent ego the overhead photo plus a note with the ingredient names, without amounts, through the same analysis the app uses, and compared the estimates with the weighed values.
Do AI calorie counters overestimate or underestimate?
Both, depending on the size of the plate. ego overestimated small dishes by 23 kcal on average and underestimated large dishes by 73 kcal, which is typical for estimates that pull toward an average portion. Across all 506 dishes the total came out 4.2% below the weighed total.

Log by photo, correct what the camera can't see

ego is an AI fitness coach for iPhone. It estimates calories and macros from a photo, takes a note for the oil or the portion you know, and pairs your food log with a strength plan built around your goal. Free to download on the App Store.

Download on the App Store