This week’s editionA weekly paper on machine learning and what we wear

The weekly paper of clothing, fit and machine learning

Models

Pose estimation and the draped body

Pose systems describe a body as a skeleton of joints. Clothing is the part of the picture that skeleton was built to ignore.

A skeleton of estimated joint points drawn inside the dashed outline of a loose garment.
A skeleton of estimated joint points drawn inside the dashed outline of a loose garment.

Pose estimation is the workhorse of body understanding in images. Given a photograph, it returns a set of points, typically shoulders, elbows, wrists, hips, knees and ankles, with a confidence value attached to each. It is fast, it is robust to a great deal of variation, and it is the first thing most clothing pipelines reach for. It is also, in its origins and its training, a system designed to describe what a body is doing rather than what shape it is.

A skeleton is a summary, and a lossy one

The abstraction is deliberate. For the tasks pose estimation was built to serve, recognising an action, tracking a movement, animating a figure, the useful signal is the arrangement of limbs. Girth, posture at rest, the way weight sits, the slope of a shoulder: these are exactly the variation the model is encouraged to be invariant to, because a system that confuses two different actions when performed by two differently built people is a worse action recogniser.

Clothing work then arrives and asks the same model for the information it was trained to discard. A joint position tells you where the elbow is. It does not tell you the circumference of the upper arm, which is the number a sleeve is drafted around. Two people with identical skeletons need different sleeves, and the pose system, working exactly as designed, reports them as the same.

The garment is in the way

There is a second difficulty that runs in the opposite direction. Pose models are estimating the body, and in most photographs of clothing the body is covered. A loose coat hides the waist entirely. A wide sleeve moves independently of the arm inside it. A long skirt removes the knee from view. The model still returns a knee point, with a confidence value, because that is what it does. That value is an inference from context and from the shape of the drape, and it is not a measurement.

The model still returns a knee point, because that is what it does. That is an inference, not a measurement.

The failure is quiet, which makes it dangerous. There is no error message when a keypoint is guessed rather than seen. Confidence values help a little, but they express the model's certainty about its own output distribution, not the physical availability of the landmark, and a model can be confidently wrong about a hip hidden under a heavy coat.

Shape models and their trade

The usual response is to move from a skeleton to a parametric body model: a mesh whose shape is controlled by a small number of parameters, fitted to the image so that its silhouette matches. This is a real improvement, because the output is a surface rather than a set of points, and surfaces have circumferences.

It carries its own trade. The parameters are learned from a population of scanned bodies, and the model can only express shapes that population contained. Fitting is regularised towards the average, so unusual builds are pulled towards typical ones. And when the silhouette being fitted is a garment rather than a body, the fit is to the drape. A puffy jacket produces a fitted body wider than the body inside it, unless the pipeline explicitly models the layer between them.

Using it honestly

None of this makes pose estimation the wrong tool. It makes it a tool with a scope. Pose is excellent for what it was built for: establishing orientation, deciding whether a photograph is usable, aligning two images of the same garment, checking that a subject is standing square to the camera. Those are real and valuable jobs in a clothing pipeline.

The mistake is the quiet upgrade from position to dimension. A pipeline that says it measures a body from a photograph, when what it does is fit an average-shaped mesh to a clothed silhouette and read numbers off it, has not lied about any single step. It has just described the chain by its most confident link.

Also on the Models beat

Elsewhere in this issue

Return to the Models beat · Issue archive