AI Body Fat Estimator Accuracy: We Tested GainFrame Against 36 DEXA Results

We stripped the labels from 36 clean physique photos, ran every image three times, and compared the estimates with DEXA. The result is our strongest evidence yet.

Minimalist illustration of a phone camera comparing body silhouettes with a medical DEXA scanner and accuracy chart

Quick answer: We tested GainFrame's current AI body fat estimator three times against 36 clean photos paired with DEXA results. Its average miss was 3.77 percentage points, 29 of 36 estimates landed within five points, and repeated readings varied by only about one point on average. A higher-analysis configuration improved average error to 3.54 points.

You upload a progress photo and GainFrame says 18% body fat. A DEXA scan says 22%. That is the practical AI body fat estimator accuracy question: is the photo estimate useful, lucky, or completely wrong?

That question deserves more than a hand-picked success story. We wanted an AI body fat estimator accuracy test with enough bodies, enough variation, and enough repeated runs to expose whether GainFrame was consistently reading physiques or occasionally guessing well.

So we assembled 36 clean progress-photo states paired with DEXA results. We removed every label, ran every photo three times, and scored the predictions only after the model was finished.

The current GainFrame configuration averaged a 3.77 percentage-point miss. It placed 29 of 36 photos within five points of DEXA. Across repeated runs, its estimate for the same image moved by only 1.03 points on average.

That is a result worth bragging about.


How accurate was GainFrame compared with DEXA?

The production configuration performed strongly across the complete clean-photo set. A more deliberate analysis setting pushed the result further.

ResultCurrent GainFrameHigher-analysis test
Average miss vs. DEXA3.77 points3.54 points
Median miss3.55 points3.02 points
Within 3 points41.7%50.0%
Within 5 points80.6%83.3%
Average three-run spread1.03 points1.04 points

In plain English, the current app landed within five body-fat points of DEXA on roughly four out of every five clean photos. The stronger setting did it on five out of every six.

The average three-run spread may be the most important number for progress tracking. You do not only need a plausible estimate. You need the same photo to produce nearly the same answer when analyzed again. A typical spread of about one point shows that the model was reading the image consistently.

GainFrame check-in showing body fat percentage and GainFrame Score results
Body fat and GainFrame Score inside the current app

How did we test GainFrame's AI body fat estimator accuracy?

We used the complete public collection from Jérémy Loreau's women's body-fat visual guide. It pairs unedited progress photos with DEXA results across a wide range of physiques.

The clean benchmark contained:

  • 36 DEXA-labeled photo states across approximately 27 people
  • 8.2% to 44.5% body fat, covering extremely lean through high-body-fat physiques
  • Front, back, and side source photos captured alongside the scan results
  • Multiple ages, levels of muscularity, poses, backgrounds, and fat-distribution patterns

We used every published state. No cases were removed because the prediction looked bad.

The complete set of 36 anonymized front-view photos used in GainFrame's DEXA body-fat accuracy benchmark
The complete 36-state clean-photo benchmark. These label-free crops are the actual images evaluated by GainFrame.

For each state, we cropped away the DEXA scan, percentage, captions, filename clues, and source metadata. The model saw only the front-view body photo and one fixed instruction: estimate whole-body fat percentage using DEXA as the reference target.

The DEXA label remained hidden until scoring. Every image used identical input rules, and each configuration ran three times per image. That produced 108 estimates for the current configuration and 108 more for the higher-analysis test.

The important part: the model never saw the answer, we did not tune the prompt per person, and we did not drop the ugly misses. The benchmark was designed to make a good aggregate result difficult to fake.


What exactly do the results mean?

An average miss of 3.77 points means that if DEXA measured someone at 25%, GainFrame's prediction was typically around four percentage points away in either direction. Some estimates were much closer. A smaller number missed by more.

The median miss was 3.55 points, which matters because it shows the average was not being rescued by a handful of near-perfect cases. The middle prediction was still close enough to place the person in a useful body-composition range.

The within-five result is even easier to interpret: 29 of 36 current-config estimates landed no more than five points from DEXA. The higher-analysis setting reached 30 of 36.

For an app working from an ordinary photograph rather than X-ray attenuation data, that is compelling performance. It is accurate enough to distinguish a meaningful cut from random fluctuation, identify the correct general body-fat band, and turn progress photos into a repeatable dataset instead of a forgotten camera roll.


Did cleaner photos make GainFrame more accurate?

Yes. We had already run a separate 30-image benchmark built from standardized DEXA comparison video frames. Those clips covered men and women from 5.5% to 48.2% body fat, but several frames had motion, awkward timing, softer focus, or partial posing.

On those video crops, the current configuration averaged a 4.57-point miss. On the cleaner still photos, that improved to 3.77 points. The higher-analysis setting improved from 4.17 to 3.54 points.

That is an important product lesson. The model is not merely producing random numbers around the population average. Give it a clear, full-body photo and its agreement with DEXA improves materially.

GainFrame progress comparison with body-fat estimates and physique analysis
Clear progress photos give the analysis better evidence

The practical implication is straightforward: photo quality is part of measurement quality. You would not judge a lifting PR from a video that cuts off the bar. Body-composition AI deserves the same clean input.


Where did GainFrame perform best—and where did it miss?

The model was strongest through the broad middle of the dataset, where most people actually live. It repeatedly placed athletic, average, and moderately high-body-fat physiques into the correct neighborhood.

The hardest cases were at the extremes. Very lean competitors can carry enough muscle to look visually larger than their DEXA percentage suggests. At the other end, fat distribution can make a high DEXA result look leaner from the front than the whole-body scan reports.

The current configuration also leaned low across this women's dataset, underestimating DEXA by 2.76 points on average. The higher-analysis setting reduced that bias to 2.36 points. That pattern is useful because it is measurable and gives us a concrete calibration target.

One 44.5% case was a major miss. We kept it. A benchmark becomes marketing theater the moment the hardest photo disappears from the spreadsheet.

Even with that outlier included, four out of five current-config estimates remained within five points. That is exactly why the aggregate test is more convincing than showcasing one unusually close result.


What did this DEXA benchmark not test?

DEXA validates body-fat percentage. It does not validate every part of a GainFrame Deep Dive, such as muscle-group development, proportions, posture, or the overall GainFrame Score. Those require their own evaluation rubrics.

This clean-photo set also contains women only. Our separate video-frame set includes men and women, but we are continuing to expand the clean-still benchmark with explicitly DEXA-labeled male photos.

Finally, this test used one front view per DEXA state. The original source includes back and side views, which gives us a future multi-view test without changing the underlying labels.

Those are the next experiments. They do not erase the result already in hand: across the entire 36-state clean-photo set, the current app averaged a 3.77-point miss and stayed within five points 80.6% of the time.


What are the most common questions about GainFrame and DEXA?

How accurate was GainFrame compared with DEXA?

Across 36 clean front-view photos paired with DEXA results, GainFrame's current configuration missed by 3.77 body-fat percentage points on average. Twenty-nine of 36 cases, or 80.6%, landed within five points. A higher-analysis configuration reduced the average miss to 3.54 points and placed 30 of 36 within five points.

How many DEXA results were included in the test?

The clean-still benchmark contained 36 DEXA-labeled photo states spanning 8.2% to 44.5% body fat across approximately 27 people. Every published state was included. The current configuration was run three times per image, creating 108 estimates for the primary result instead of relying on one favorable pass.

Could GainFrame see the DEXA labels during testing?

No. The DEXA scan panels, percentages, source text, filenames, and metadata were removed before inference. GainFrame received only a label-free front-view body crop and the same fixed estimation instruction each time. Predictions were saved first and compared with the hidden DEXA values afterward.

Does photo quality affect AI body-fat accuracy?

Yes. GainFrame's current configuration improved from a 4.57-point average miss on lower-quality video frames to 3.77 points on clean still photos. The higher-analysis configuration improved from 4.17 to 3.54 points. Full-body visibility, neutral lighting, a relaxed pose, and consistent framing give the model better evidence.

Can GainFrame replace a DEXA scan?

GainFrame is designed for frequent visual body-composition tracking, while DEXA remains the reference when you need clinical measurements such as bone density or regional tissue mass. This benchmark shows that a properly framed progress photo can produce a useful body-fat estimate without requiring a scan for every check-in.


How can you get the most accurate GainFrame estimate?

  1. Show your full physique. Keep your torso, waist, hips, arms, and legs visible without major obstructions.
  2. Use neutral lighting. Choose even light that reveals contours without harsh overhead shadows or a dramatic gym pump.
  3. Match your pose. Stand relaxed at the same distance and camera height so each check-in is comparable.
  4. Read the trend. Evaluate the direction across several check-ins instead of reacting to one number.

You did the hard work. GainFrame turns the photo into data—and now we have 36 DEXA comparisons showing how closely that data can track the clinical reference.

Put Your Progress Photos to Work

Run a photo through GainFrame, see your body-fat estimate and physique breakdown, then build a repeatable visual record of your cut, bulk, or recomp.

Download GainFrame Free

Related Articles