Video background removal looks bad when you move because motion blur mixes wall colour into the pixels along your arm, and a single AI model briefly grabs a chunk of the room and labels it 'person'. Those blurred edge pixels are half-background, so they have to be trimmed, not recoloured. The fixes: cross-check two models, tighten the edge only where the frame moves, decontaminate edge colour, and add light so the shutter gets faster.
Background removal looks fine when you sit still and falls apart the moment you gesture, because two separate things break at once. Motion blur smears background colour into the pixels along your moving arm - those pixels are genuinely half-wall, so no amount of clean-up can "recover" them. And the AI segmentation model briefly hallucinates: on a fast frame it grabs a chunk of couch or wall and calls it "person", at full confidence.
If you have ever waved at the camera and watched a grey blob follow your hand across a virtual backdrop, you have seen both failures stack.
The three symptoms, and what each one actually is
Being precise about which artifact you're seeing tells you which fix to reach for.

1. The halo (a bright rim that hugs you)
A pale outline traces your shoulders and hair, made of the room you removed. This is edge contamination. Every camera pixel along your silhouette is a blend of you and what's behind you - the sensor averaged them. When the matte says "keep this pixel", it keeps a pixel that is 60% you and 40% wall, and the wall part shows up as a rim against the new backdrop.
2. The chunk (a piece of the room that travels with your hand)
A blob of couch or curtain stays attached to a moving limb for a few frames. This is model hallucination on motion. Person-segmentation models are trained largely on reasonably sharp frames; a motion-blurred arm looks unlike anything in training, and the model's confidence goes to the wrong pixels - often at full strength, which is why simple confidence thresholds don't remove it.
3. The flicker (the edge boils frame to frame)
Your outline shimmers even when you barely move. The model is being re-run per frame with no memory, so tiny lighting and noise differences shift the boundary. Each frame is defensible; the sequence looks unstable.
Grading assumes a colour space, and almost everything published to the web is Rec. 709, the ITU standard for HD video.
Why the obvious fixes don't work
Most advice you'll find is some flavour of "adjust the threshold" or "feather the edge". Here's why those disappoint:
- Raising the alpha threshold cuts the halo and your hair tips at the same time. Hair is genuinely semi-transparent, so it lives at the same alpha values as the contaminated rim. You trade one artifact for a bald, plasticky outline.
- Feathering just makes the contaminated rim softer and wider. The wrong colour is still there - now blurred.
- Colour-key style vetoes ("delete anything that looks like the wall colour") delete real objects too. Hold up a grey phone in front of a grey wall and it disappears from your hand.
The reason these fail is that they treat a content problem - the wrong pixels were selected, and the right pixels carry the wrong colour - as an opacity problem.
What actually works
Cross-check two models instead of trusting one
Run two different vision models over each frame - say person segmentation and person-instance detection - and keep only what both accept. The key insight is that they hallucinate on different frames: when one merges a wall chunk into you, the other usually has that frame right, and vetoes it. This is the single biggest quality jump available without a temporal model.
Tighten the edge only where the frame is moving
Compare each frame to the one before it. Where the picture is static, keep the full silhouette - every hair. Where it's moving, trim a few extra pixels off the contour, because those pixels are motion-blurred and provably contaminated. Cutting them costs you nothing visible on a blurred limb (there is no detail there to lose) and removes the halo exactly where it appears.
Decontaminate the edge colour
For the thin shell of pixels around the silhouette, take the colour from the subject's interior while keeping the transparency from the matte. Your hair keeps its softness but stops carrying a rim of the room you deleted. Done narrowly - a couple of pixels - it's invisible; done widely, it smears skin tone outward, which is its own artifact.
Fix it at the camera
Software can only work with the frames you give it, and the frames are where motion blur is created.
- Shoot at 60 fps. A frame in a 60 fps recording cannot be exposed for longer than 1/60 of a second, so the shutter is capped by the frame rate itself. Switching Settings > Camera > Record Video from 1080p at 30 fps to 1080p at 60 fps physically halves the worst-case blur on a moving hand, before any software touches it.
- More light lets the camera pick an even faster shutter inside that budget. There is no manual shutter control in the stock iOS Camera app, but there is an indirect one: tap to focus, then drag the little sun slider down a notch. Exposure compensation pushes the camera toward a shorter exposure, which is a sharper edge.
- Separation helps enormously. Two or three feet between you and the wall gives the model an easier problem and softens the background naturally.
- Avoid wearing the background. A grey shirt against a grey wall is a hard problem for any matte; a bit of contrast makes it easy.
- Keep gestures inside the frame. A hand that exits and re-enters gives the model a fresh, hard problem every time.
What "good" realistically looks like in 2026
Expect a clean, stable cutout on normal talking-head motion - gesturing, leaning, turning your head - with the hardest case being an object enclosed by your body mid-motion, like the gap between two fingers waved quickly. A frame or two of background surviving inside a fast-moving finger gap is at the edge of what real-time, on-device matting does today. If a tool promises perfection there, watch their demo carefully for whether anyone actually moves.
How Zella handles it
Zella does the four things above on-device, with no green screen:
- Two-model agreement on every frame, so a hallucinated wall chunk from one model is vetoed by the other.
- A motion-adaptive edge that tightens only where the frame is actually moving, so still shots keep every strand of hair.
- Edge decontamination on export, so hair stops carrying a rim of the room.
- Every person in frame is kept - a second person is never mistaken for clutter.
It runs on the Neural Engine on iPhone and iPad and on the GPU on the Mac, so nothing is uploaded and there's no green screen to hang. Background removal is free on every tier, with a soft bokeh backdrop by default and cutout, transparent, blur or any of 40 scenes one tap away. The Mac app is on the Mac App Store now; Zella for iPhone and iPad is coming to the App Store. See how it works or the Mac version.
FAQ
Why does my background removal flicker even when I'm still? The model is re-running each frame independently and small noise changes move the boundary. Tools that carry temporal context - or that cross-check models - are far more stable. More light also reduces sensor noise, which reduces flicker.
Does a green screen fix all of this? It fixes the selection problem - a keyer knows exactly which pixels are background - but not contamination: green spill onto your shoulders and hair is the same halo in a different colour, which is why keyers ship spill suppression. A well-lit AI matte now beats a badly-lit green screen.
Is it better to remove the background while recording or afterwards? Afterwards, if you have the choice. Baking it in at capture is convenient but permanent; doing it in the editor keeps the original pixels so you can change the backdrop, or drop the effect entirely.
Does resolution help? A little - more pixels means the contaminated rim is thinner relative to the frame. Shutter speed and lighting matter far more than resolution.
Make your next video with Zella.
Record, edit and ship on Mac, iPhone and iPad - local, private, free to start.
RELATED