Define the reference before running predictions

For home meals, weigh edible ingredients, identify the nutrient references, record added fats and measure the cooked yield. A reference calculated from a database is still a reference estimate, not a direct measurement of an individual's absorbed energy. Label that distinction.

Use the same reference for all products in a comparison. If one app is allowed extra ingredient notes or scale measurements, record that as a separate input condition. Otherwise the result mixes model differences with differences in available information.

Report errors that readers can interpret

For each meal, calculate predicted minus reference energy. Report the mean signed error to show direction and the mean absolute error to show typical error magnitude. Include the distribution or range of errors, especially for meals that performed poorly.

Illustrative mealReferencePredictionSigned errorAbsolute error
A500 kcal400 kcal−100 kcal100 kcal
B500 kcal600 kcal+100 kcal100 kcal

The average signed error is zero, while mean absolute error is 100 kcal. “Correct on average” would hide both mistakes. Percentage errors also need a defined denominator and can behave badly for very small reference values.

Read research metrics precisely

Nutrition5k's 2021 controlled study reported calorie errors for different input and modeling conditions. Its table includes 26.1% for direct 2D prediction and 16.5% for a volume-assisted approach; these are mean absolute errors normalized by a dataset mean, not per-meal accuracy guarantees. Those research results do not measure CaloriMate or current commercial apps.

A benchmark with known component weights, selected meals and defined cameras answers a particular question. Treating its score as performance on every cuisine, phone and lighting condition skips the external-validity question.

Choose meals and conditions deliberately

Include plain foods, mixed recipes, sauces, layered dishes, drinks and varying portions. Record cuisine and preparation, not just dish names. Test different lighting and views without changing the food, then distinguish variation from the same meal from variation across meals.

Keep related images or repeated versions of a recipe together when separating development and test data. Otherwise a model or evaluation procedure may benefit from familiarity that would not exist for a genuinely new meal. Report how meals were selected so readers can judge coverage.

Count failures and correction effort

A scan that fails to return a result should remain in the report. So should a wrong dish, unusable portion or unsupported input. Reporting only successful scans can make a system look better while concealing the moments when a user receives no useful answer.

Evaluate initial predictions and corrected saved entries separately. Measure what extra information was required, how long correction took and whether the resulting record stayed understandable. We publish this method without claiming to have completed such a comparison. A credible future result should expose its meals, references and limitations alongside the headline.

Common questions

Does zero average error mean every meal is right?

No. Overestimates and underestimates can cancel. Report absolute errors and the distribution, not only the signed average.

Has CaloriMate completed the benchmark described here?

This page describes a test method. It does not claim completed app testing, independent validation or measured superiority.

Sources & methods

  1. Nutrition5k: original CVPR research paperControlled benchmark separates portion information from nutritional composition; its results do not measure CaloriMate.
  2. USDA FoodData Central data documentationDifferent food data types have different provenance, preparation detail and completeness.
  3. NCI: dietary assessment principlesRandom error, systematic bias and changes in eating behavior caused by recording.

Keep exploring

CaloriMate

Put the understanding into practice.

Describe a meal or add a photo in CaloriMate, review the estimate, and keep track of your day.

Free download. Optional in-app purchases. Local prices and limits are shown in your store.