← notes
sprout

What changed across eight pull-ups?

One rear-camera clip, one movement question, and a deliberately narrow analysis that shows both what pose estimation can reveal and what it cannot support.

· #computer-vision#pose-estimation#motion-analysis#building
A frame from the pull-up motion study showing a rear-camera video with tracked joints and the fifth of eight detected repetitions.

I wanted to try something for fun over the weekend.

I took one rear-camera video of a pull-up set and asked a simple question: what changed from the first repetition to the last?

That question became a useful constraint. The goal was not to turn one phone video into a fitness assessment. It was to see how far a small motion study could go while staying honest about the evidence.

One clip. One question. Only what the video could support.

The result

Eight upward-motion events were detected across the clip.

The early repetitions were spaced an average of 3.65 seconds apart. The later repetitions averaged 4.49 seconds. The later reps therefore took roughly 0.8 seconds longer, and ascent velocity decreased toward the end of the set.

The initial repetitions showed a consistent vertical range. The movement remained controlled without excessive swinging.

The rear camera could not verify whether my chin cleared the bar.

That last point is as important as the measurements. A model can generate more output than the camera can justify. The useful analysis stops at the evidence boundary.

The motion study

The original clip, tracked joints, annotations, and synchronized projections of one estimated 3D pose.

The 27-second visual combines four things:

  1. The original rear-camera video
  2. Two-dimensional whole-body tracking over the source frames
  3. Rep timing and movement annotations
  4. Multiple projected views of the same estimated three-dimensional pose

Synchronising them makes the movement easier to inspect. It also creates a risk: multiple views can look like multiple measurements. They are not.

The three skeleton views are one estimate

The source remains one monocular video.

A person detector first identifies the body crop. A whole-body pose model estimates 133 points in two dimensions. A separate monocular 3D pose model estimates x, y, and relative depth coordinates from the same RGB crop. Both outputs are mapped to a shared joint layout, and the 3D series is normalised around the hip and smoothed over time.

The renderer then takes that one estimated 3D pose at a given timestamp, rotates it to three viewing angles, and projects each rotation onto a flat panel.

Those panels help us inspect the model’s inferred depth. They do not create new evidence. They are not three cameras, and they do not turn a monocular estimate into measured 3D geometry.

That distinction matters because a polished visual can make an inference feel more certain than it is.

What the video can support

The clip supports observations tied to visible timing and tracked movement:

It does not support every tempting conclusion:

The analysis became more useful when these limits were treated as part of the result rather than an apology at the end.

Visual quality can exceed evidence quality

Pose visualisations are persuasive. A skeleton tracks the body, graphs move, numbers appear, and several angles play together. The output looks scientific before anyone has asked what was actually measured.

That creates a responsibility for the builder. Every visual element should answer three questions:

  1. Did this come directly from the source video?
  2. Was it calculated from source evidence?
  3. Was it inferred by a model?

The categories should not blur together.

Rep timestamps derived from a vertical motion signal are calculated observations. A camera-relative depth coordinate is a model inference. A rotated skeleton is a visual projection of that inference. Chin clearance from an obstructed rear view is unknown.

The interface should make those differences easier to understand, not hide them behind polish.

What I would change next

A side or front camera angle would answer questions the rear view cannot. A second synchronized camera would provide genuinely additional evidence instead of another projection. Repeating the same setup across sessions could turn a single-set observation into a trend.

But the narrow version was valuable precisely because it did less.

It showed me that one ordinary clip can become a useful visual explanation when the question is specific, the transformations are visible, and the claims stop where the evidence stops.

That is the format I want to reuse:

One clip. One question. Only what the video can support.