Skip to content

Sub-area divisions

When a metric has spatial output, its measurement_locations[] array contains one entry per face sub-region. The CV uses five different division schemes depending on what each metric actually measures — there’s no single canonical face split. Knowing which split a metric uses tells you which description strings to expect and how granular the regional breakdown is.

The default sub-area scheme for metrics that benefit from finely separated face regions:

chin forehead
left side around mouth right side around mouth
nose left under-the-eye region
right under-the-eye region left side around the eye
right side around the eye left cheek
right cheek

Used by: texture, redness, uneven_skin_tone, smoothness.

Coarser regions, used by metrics where finer-grained splits don’t add diagnostic value:

left cheek right cheek
forehead nose
left lower face right lower face

Used by: acne, melasma, freckles, dark_spots, hyperpigmentation.

Splits organised around the T-zone (forehead, nose) vs. U-zone (cheeks, jaw) distinction. Two granularities exist:

9-region — used by pore_dilation:

left cheek right cheek
forehead left forehead center forehead right
nose chin
left lower face right lower face

2-zone — used by shine, skin_type: just the aggregate zones, t-zone and u-zone. (shine additionally includes a Global entry, which holds whole-face visualization data rather than a score — see below.)

Each measurement location also carries a ut_zone field — "u-zone", "t-zone", "none", or "mixed" — useful for routine personalization (oily T-zone vs. dry U-zone).

Some metrics define their own sub-region vocabulary that fits their specific measurement.

  • eyes — left eye, right eye.
  • wrinkles — wrinkle-specific sub-region descriptions like forehead worry lines, between-brows frown lines, left side nasolabial line, right side marionette line, left side eye crow's feet, etc. See Wrinkles for the full list.
  • makeup — nine cosmetic-application areas: Lips, Liplines, Eyelines, Eyeshadow, Eyebrows, Nose, Left cheek, Right cheek, Skin. These are unusual in that they carry no score — value is null on every one. They exist purely to hold mask_shapes, so they’re only useful when you also request the masks component. See Makeup.

Whole-face metrics — measurement_locations[] is empty.

Used by: hair (its hair-outline shapes hang off the finding’s own mask_shapes instead), skin_age, and the derived score-only metrics such as dull_skin, radiance, skin_firmness, redness_absolute, dark_spots_adjusted and hyperpigmentation_adjusted.

Three concrete partner-side use cases:

  1. Region-aware UI copy. “More redness around your cheeks than your forehead” comes from looking at the per-location value and picking the highest. The set of region names you can expect depends on the scheme — don’t hard-code “forehead” if the metric uses the Alternative split.
  2. Routine personalization. ut_zone on each measurement location is the cheapest way to drive “oily T-zone, dry U-zone” routines. It’s present on every measurement location, and meaningfully populated on the Primary, Alternative and UT-zone schemes alike — the Alternative split maps cheeks and lower face to u-zone, forehead and nose to t-zone. Regions that belong to neither report "none" (the eye-area regions of the Primary split, for instance).
  3. Cross-metric comparison. When you want to overlay redness and texture on the same face region, both use the Primary split — same region names, line up directly. Comparing redness regions to acne regions requires mapping (Alternative → Primary).

A Global entry in measurement_locations[] is not the whole-face score, despite the name. Its value is always null; it exists as a container for whole-face visualization_data. It appears on two metrics only — shine and skin_sagging.

The whole-face score is always the finding’s top-level value, on every metric including those two. Filter Global out when you iterate regions for a score breakdown.

  • Visualization data — the three-tier model spatial data is layered on top of these sub-area divisions.
  • Wrinkles — full custom sub-region list for the wrinkles metric.