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.
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 27-second visual combines four things:
- The original rear-camera video
- Two-dimensional whole-body tracking over the source frames
- Rep timing and movement annotations
- 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:
- The number of detected upward-motion events
- The spacing between repetitions
- Change in ascent speed across the set
- Broad vertical range consistency
- Whether large swinging is visible from the rear view
It does not support every tempting conclusion:
- Chin clearance is hidden by the camera angle
- Depth is inferred by the model, not measured by a depth sensor
- Joint locations are estimates and can drift or attach to the wrong object
- One set cannot establish a training trend
- A movement visualisation is not coaching or medical advice
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:
- Did this come directly from the source video?
- Was it calculated from source evidence?
- 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.