PoinT GOResearch
how to·how to

Markerless Motion Capture: Fixing Occlusion Dropouts in Fast Rotational Movements

Fast rotational sports movements make markerless motion capture hallucinate or drop joints. Here's how to spot occlusion dropout and fix your camera rig.

PoinT GO Research Team··9 min read
Markerless Motion Capture: Fixing Occlusion Dropouts in Fast Rotational Movements

The clip is eight frames long, maybe seventy milliseconds, right at the top of a golf downswing. On frame 214 the trail hip reads eighteen degrees of internal rotation. On frame 215 it reads negative fifty-one. By frame 218 it has settled back onto a number that fits the rest of the swing. Nobody's pelvis reverses direction and snaps back in under a tenth of a second, but the joint-angle graph says otherwise, and the peak pelvis rotational velocity pulled from that rep now reads north of five thousand degrees per second - a number no human hip has ever produced. The lead arm swept in front of the trail hip for exactly those frames, the pose model lost a point it never physically had to begin with, and it filled the gap with a guess now sitting in a training log next to real data, indistinguishable to anyone who only checks the summary number.

What Occlusion Dropout Actually Looks Like in Markerless Data

Markerless motion capture has no physical marker to lose - it estimates joint centers frame by frame from video, running a 2D pose-estimation model on each synchronized camera view, then triangulating those estimates into a 3D position wherever enough views agree. Occlusion happens when a body segment, a piece of equipment, or another person blocks a joint from enough views that triangulation can no longer resolve a reliable position.

What happens next depends on the vendor, and none of it announces itself as a problem. Some pipelines drop the keypoint outright, leaving a gap that only shows up if you go looking. Some hold the last known position, reading as a brief freeze rather than a spike. And some - the dangerous case - keep producing a confident-looking estimate anyway, because the underlying network was trained on thousands of typical human poses and will guess where a hip or shoulder should sit even when the actual pixels are occluded. That guess can be wildly wrong while carrying a deceptively high confidence value, because the model reports how plausible its guess looks against its training, not how occluded the joint truly is.

The tell that separates dropout from ordinary noise is the shape of the error. Noise is small, continuous jitter around a true value. Dropout is a step - in-trend, then a frame or two wildly off, then back as if nothing happened. Differentiate that step into an angular velocity, exactly what most software does for peak rotational speed, and the artifact gets worse: a position jump divided by one frame's duration produces a velocity an order of magnitude past anything biomechanically plausible.

Why Fast Rotational Movements Are Where Occlusion Hits Hardest

Two effects stack in a fast rotational movement, each raising the odds of a dropout on its own.

The first is self-occlusion: as the body rotates through a large range in a short window, limbs cross in front of the torso and each other from the camera's view, even with nothing else in the room blocking the shot. A trail arm sweeping across the chest in a golf downswing, a stride leg crossing the trail hip during a pitching delivery, a throwing arm swinging behind the torso mid-spin in discus or hammer - each puts a joint behind another segment for part of every rep, from whichever camera angles do not happen to sit in exactly the right place at exactly the right instant. Colyer et al. (2018, Sports Medicine - Open), reviewing vision-based motion analysis toward markerless systems, name self-occlusion during fast, multi-planar movement as one of the central unresolved limitations still separating markerless systems from marker-based labs, worse for throwing and rotational sports than for movements confined to one plane, like walking or a controlled squat.

The second effect is motion blur: at high angular velocity a limb moves several pixels within a single exposure, softening the edges a pose model relies on to locate a joint, which lowers confidence even without literal occlusion. Both effects compound at exactly the moment that matters most - the acceleration phase into impact or release.

Kanko et al. (2021, Journal of Biomechanics) compared a markerless, multi-camera deep-learning system against a marker-based reference during overground gait and found agreement was not uniform across planes - transverse, rotational joint angles disagreed meaningfully more than sagittal flexion-extension angles, consistent with rotation being harder to resolve even without heavy occlusion. The caveat: walking is a slow, low-occlusion task filmed inside a full-coverage lab volume, so this is a floor for rotational-plane error under near-ideal conditions, not a ceiling - a field rig filming a throw or swing with fewer cameras should do worse.

How a Few Bad Frames Corrupt Angle, Velocity, and Timing

Needham et al. (2021, Scientific Reports) evaluated several 2D pose-estimation-based triangulation methods against a marker-based reference for 3D joint-center accuracy and found error was not evenly distributed - it clustered around segments where a joint was partially occluded or moving quickly, running well above the error seen in clean, unobstructed frames of the same trial. Their setup used a fixed multi-camera lab volume and a defined set of test movements, so absolute figures will not transfer to a two-camera field rig filming a live pitch or swing, but the pattern - error concentrating where occlusion and speed overlap - is the same mechanism at work here.

The damage shows up in three places. Joint rotation angle takes the direct hit, reading a physically impossible value for the dropout's duration. Peak angular velocity takes a worse hit, because differentiating a position series amplifies single-frame error - a hip that never exceeds 500 deg/s can show a computed peak of 5,000 or more from one bad frame, and that inflated number is what lands in a training report, not the trace it came from. And event timing - the frame marking peak pelvis rotation velocity, used for kinematic sequencing or X-factor stretch - can shift onto the artifact frame instead of the true peak, corrupting downstream timing metrics even when the raw angle trace looks fine at a glance.

Camera Coverage That Actually Reduces Occlusion by Movement Type

More cameras help, but the gain depends on where they sit relative to the specific rotation a movement produces, not just how many there are. A two-camera sagittal-plane rig, fine for a squat or treadmill gait trial, leaves a joint edge-on to both cameras at once for a real portion of any movement that rotates the trunk ninety degrees or more - exactly the geometry a golf swing or discus throw produces. The table below is a starting allocation, not a hard rule; a taller athlete or tighter filming space can still need more coverage than the minimums listed.

Movement TypeOcclusion RiskMinimum CamerasPlacementMinimum Frame Rate
Overground gait / walkingLow2 (field) / 6-8 (lab)Bilateral sagittal, or full radial ring in a lab volume60 fps
Golf swing (full turn)High4-6Front-quarter pair (about 45 degrees) plus rear-quarter pair (about 135 degrees) around the swing plane120-240 fps
Baseball / softball pitchingHigh4-6Catcher-side and first/third-base-side pairs, plus one elevated oblique angle180-240 fps
Discus, hammer, rotational shotVery high6-8Even radial spacing every 45-60 degrees around the throwing circle120-180 fps
Racquet-sport strokesModerate-high4Baseline-side pair plus net-side pair at roughly 45 degrees120 fps
Combat sports striking / grapplingVery high, unpredictable orientation8+Dense radial array with no fixed front-facing assumption120 fps

The target underneath all of these numbers is the same: keep every joint visible, unobstructed, in at least three cameras throughout the movement, so triangulation has a spare if one loses the joint. Frame rate matters separately from camera count - raising it shortens each dropout window, but it does not fix a genuine geometric occlusion the way an added camera angle does.

The Dropout-Check Protocol

Run this on any rep from a fast rotational movement before trusting its peak angular velocity, and repeat it whenever camera count, placement, or the movement changes.

  1. Pull per-frame keypoint confidence alongside the 3D angle output, not just the final smoothed trace.
  2. Flag any frame where confidence drops below roughly 0.4-0.5 on the vendor's 0-1 scale, adjusted to that model's typical clean-frame confidence.
  3. Independently flag any frame-to-frame angle change implying an angular velocity above what the joint can plausibly produce - roughly 1,500-2,000 deg/s for hip and shoulder rotation, since even elite rotational sports rarely exceed a few hundred to just over a thousand deg/s at these joints.
  4. Treat a frame as a genuine dropout only when both flags line up - either alone can be a real, if uncertain, estimate.
  5. Re-scrub the footage at the flagged timestamp and confirm visually that an occluding limb, object, or another athlete is actually in frame.
  6. Repair only the confirmed window with a cubic-spline interpolation, not a hold-last-value fix, and avoid bridging more than 4-5 frames at 120 fps (roughly 35-40 ms) without flagging the result as an estimate.
  7. Recompute peak angular velocity after the fix; a change over 15-20% confirms the original number was dropout noise, not performance.

Worked Example: A Golf Downswing Pelvis-Rotation Dropout

A collegiate golfer's downswing, filmed on a four-camera markerless rig at 120 fps, showed exactly this pattern at the top of the transition, right as the lead arm crossed the trail hip. Raw pelvis rotation, per-frame confidence, and implied angular velocity appear below alongside the corrected values.

Frame (t, ms)Raw Pelvis RotationConfidenceRaw Angular VelocityCorrected RotationCorrected Angular Velocity
F1 (0.0)-42.0 deg0.91--42.0 deg-
F2 (8.3)-38.0 deg0.89482 deg/s-38.0 deg482 deg/s
F3 (16.7)-33.5 deg0.86542 deg/s-33.5 deg542 deg/s
F4 (25.0)12.0 deg0.245,482 deg/s-29.0 deg (interpolated)542 deg/s
F5 (33.3)-61.0 deg0.19-8,795 deg/s-24.5 deg (interpolated)542 deg/s
F6 (41.7)-6.0 deg0.336,627 deg/s-20.0 deg (interpolated)542 deg/s
F7 (50.0)-15.5 deg0.82-1,145 deg/s-15.5 deg542 deg/s
F8 (58.3)-11.0 deg0.90542 deg/s-11.0 deg542 deg/s

Frames F4 through F6 carry confidence values between 0.19 and 0.33, well under the 0.4-0.5 trigger, and the angle swings from 12 degrees to negative 61 to negative 6 in three frames - physically incoherent, not a fast but genuine rotation. Re-scrubbing confirmed the lead forearm crossing directly in front of the trail hip marker on the camera closest to square, leaving only one partial view - not enough for confident triangulation. Raw velocity spikes as high as 8,795 deg/s, an order of magnitude past anything a human pelvis produces. After cubic-spline interpolation across the flagged frames, the corrected trace resumes a smooth trend near 542 deg/s into F7 - and F7's own raw value, captured once occlusion cleared, lands almost exactly where the interpolation predicted, confirming the repair reconstructed the true trajectory rather than just papering over the gap.

FAQ

Frequently asked questions

01The confidence score on the flagged frame looks fine, around 0.6, but the angle still looks wrong. Can dropout happen without a confidence flag?
+
Yes, and it is the harder case to catch. Some pose-estimation models were trained on thousands of typical human poses, so during partial occlusion they can output a plausible-looking guess rather than an honestly low confidence value - the network is reporting how normal its answer looks, not how occluded the actual pixels were. When that happens, confidence alone will not flag the problem. Cross-checking the implied frame-to-frame angular velocity against a physiological ceiling, or against an independent wearable sensor if one is running, catches cases a confidence threshold misses on its own.
02Doesn't adding more cameras just solve occlusion completely?
+
It reduces the problem substantially but does not eliminate it. For a movement that rotates the trunk through most of a circle, any fixed number of cameras still gets temporarily edge-on to a fast-moving limb, and adding cameras past a practical point runs into diminishing returns while synchronization and calibration complexity climb. Colyer et al. (2018, Sports Medicine - Open) describe this same pattern in their review of markerless systems: coverage helps up to a point, then the marginal gain from one more camera shrinks while cost and setup burden keep rising.
03What confidence threshold should I actually use to flag a frame?
+
There is no universal number, since it depends on the specific model and vendor, but a workable starting rule in the field is treating anything below roughly 0.4-0.5 on the vendor's own 0-1 scale as suspect, then confirming with a second, independent check - a frame-to-frame angle change that implies an angular velocity above 1,500-2,000 degrees per second for a hip or shoulder joint. Flag a frame as a real dropout only when both conditions line up, since either one alone produces false positives on its own.
04If I don't have a synchronized IMU to cross-check a suspected dropout, what's the next best option?
+
Two options that don't require extra hardware. First, re-scrub the source footage frame by frame at the flagged timestamp and confirm visually that an occluding limb or object is actually present. Second, check the pipeline's own 3D reprojection error if it reports one - most triangulation-based markerless systems calculate how well the multiple 2D estimates agree when projected back onto each camera view, and a sudden spike in that reprojection error at the same frame as the angle spike is strong independent confirmation of a bad triangulation, with no wearable sensor required.
05Can occlusion make a joint angle look completely normal even though it's wrong?
+
Yes, and it's the hardest failure mode to catch after the fact. If occlusion affects only one of several cameras, triangulation can often still resolve a geometrically valid position from the remaining views, producing a smooth, plausible-looking angle that is nonetheless subtly biased - with no spike and no confidence drop to flag it. This case doesn't respond to amplitude-based detection at all. The real fix is upstream: keep every joint visible in at least three unobstructed camera views throughout the movement, rather than trying to catch a subtle bias after the data is already collected.
Keep reading

Related Articles

how to

Measuring Discus Rotational Velocity: Where Release Speed Actually Leaks

Turn two clocks faster than turn one on your wrist IMU, but release velocity hasn't budged in weeks. Here's the turn-by-turn breakdown that finds why.

how to

Bluetooth Dropout Losing VBT Reps Mid-Set: How to Diagnose and Fix It

A set logs 4 of 6 reps and the velocity chart has a gap. Split the cause into interference, distance and buffering, then recover the missing data.

how to

Fixing Inconsistent Baseball Spin-Rate Tracking

Spin rate swinging pitch to pitch usually isn't the arm. Lighting, ball wear, and missed release capture skew readings - here's the fix protocol.

how to

How to Track Bar Path with Video Analysis

Track bar path on video for the squat, bench press, and deadlift: camera angle, free software options, and how to cross-check results against VBT data.

how to

Ankle Sprain Return-to-Play: Hop Test and Balance Cutoffs Before Cutting Resumes

Pain-free jogging isn't clearance to cut. A hop-and-balance protocol with the LSI and reach cutoffs research actually supports before cutting resumes.

how to

Bands and Chains Wreck Your VBT Velocity Readings: How to Fix It

Add bands or chains and your velocity zones lie. See why accommodating resistance skews VBT readings, and how to test and prescribe around it.

how to

Fixing Barometric Altimeter Drift That Skews Jump Height Readings Indoors

Indoor HVAC and door-driven pressure swings quietly drift a barometric altimeter's baseline, inflating jump height over a session. Here is the re-zero fix.

how to

Beach Volleyball Jump-Serve Contact Velocity Test: Measuring Toss-to-Contact Timing on Sand

Radar clocks the ball, not why the reading swings 15 km/h between serves. Get the toss-to-contact timing protocol, sand setup, and 2 cited studies.

Measure performance with lab-grade accuracy

Get PoinT GO