Hair, Fur, and Glass: The Hardest Edges in Background Removal
August 2, 2026 · 5 min read
It's easy to make a background removal tool that looks good in a demo: a person in a solid shirt, standing against a plain wall, photographed straight-on. The mask is basically a silhouette, and almost any model gets it right. The real test starts at the edge.
Why hair breaks binary masks
A binary mask makes one decision per pixel: foreground or background. That works for a jacket sleeve. It falls apart on a hairline, where a single strand might cover a tenth of a pixel and let the background show through around it. Treat that as a hard edge and you get a helmet-like outline with the fine detail shaved off — technically a cutout, but not a convincing one.
Fur and semi-transparency
Pet photography has the same problem at a larger scale. Fur isn't a boundary, it's a gradient — dense at the body, thinning to individual hairs at the edge, some of them lit brightly enough by the background to be nearly transparent. A good matte has to represent that as partial opacity, not a yes/no decision, or the cutout gets a visible fringe when it's dropped onto a new background.
Glass and reflections
Glass and clear plastic invert the usual assumption entirely: the 'foreground' object is partly see-through, and it often reflects the very background the model is supposed to remove. A wine glass or a pair of glasses can end up with the scene behind the camera visible inside the object's own outline — which a naive silhouette model treats as background and cuts a hole right through the product.
- Alpha matting instead of a binary mask, so edge pixels get a real opacity value rather than a forced choice
- Models trained on hair, fur, and translucent-object examples specifically, not just clean product shots
- Edge-aware refinement passes that treat the boundary as its own problem, separate from the bulk of the mask
This is the part of background removal that's actually hard, and it's what separates a tool that works on demo images from one that works on the messy, real photos teams actually upload. It's also why Fnora runs ISNet rather than a simpler saliency model — the extra edge quality is the entire point.