<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/FaceObservation/Landmarks2D",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "s:6Vision15FaceObservationV11Landmarks2DV"
  },
  "title" : "FaceObservation.Landmarks2D"
}
-->

# FaceObservation.Landmarks2D

A collection of facial features that a request detects.

```
struct Landmarks2D
```

## Overview

This represents the set of all detectable 2D face landmarks and regions, exposed as properties. The coordinates of the face landmarks are normalized to the dimensions of the face observation’s [`boundingBox`](/documentation/Vision/BoundingBoxProviding/boundingBox), with the origin at the bounding box’s lower-left corner.

## Topics

### Getting the landmarks

[`faceContour`](/documentation/Vision/FaceObservation/Landmarks2D/faceContour)

[`innerLips`](/documentation/Vision/FaceObservation/Landmarks2D/innerLips)

[`leftEye`](/documentation/Vision/FaceObservation/Landmarks2D/leftEye)

[`leftEyebrow`](/documentation/Vision/FaceObservation/Landmarks2D/leftEyebrow)

[`leftPupil`](/documentation/Vision/FaceObservation/Landmarks2D/leftPupil)

[`medianLine`](/documentation/Vision/FaceObservation/Landmarks2D/medianLine)

[`nose`](/documentation/Vision/FaceObservation/Landmarks2D/nose)

[`noseCrest`](/documentation/Vision/FaceObservation/Landmarks2D/noseCrest)

[`outerLips`](/documentation/Vision/FaceObservation/Landmarks2D/outerLips)

[`rightEye`](/documentation/Vision/FaceObservation/Landmarks2D/rightEye)

[`rightEyebrow`](/documentation/Vision/FaceObservation/Landmarks2D/rightEyebrow)

[`rightPupil`](/documentation/Vision/FaceObservation/Landmarks2D/rightPupil)

### Inspecting a landmark

[`originatingRequestDescriptor`](/documentation/Vision/FaceObservation/Landmarks2D/originatingRequestDescriptor)

### Getting all landmarks

[`allPoints`](/documentation/Vision/FaceObservation/Landmarks2D/allPoints)

[`Region`](/documentation/Vision/FaceObservation/Landmarks2D/Region)

## Relationships

### Conforms To

[`Decodable`](/documentation/Swift/Decodable)

[`Sendable`](/documentation/Swift/Sendable)

[`Encodable`](/documentation/Swift/Encodable)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)