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

# HumanBodyPose3DObservation

An observation that provides the 3D body points the request recognizes.

```
struct HumanBodyPose3DObservation
```

## Topics

### Creating an observation

[`init(VNHumanBodyPose3DObservation)`](/documentation/Vision/HumanBodyPose3DObservation/init(_:))

Creates a 3D human body pose observation.

### Inspecting an observation

[`enum RequestDescriptor`](/documentation/Vision/RequestDescriptor)

A type that describes the request and revision combination.

[`let bodyHeight: Measurement<UnitLength>`](/documentation/Vision/HumanBodyPose3DObservation/bodyHeight)

The estimated human body height, in meters.

[`let cameraOriginMatrix: simd_float4x4`](/documentation/Vision/HumanBodyPose3DObservation/cameraOriginMatrix)

A transform from the skeleton hip to the camera.

[`enum EstimationTechnique`](/documentation/Vision/HumanBodyPose3DObservation/EstimationTechnique)

Constants that identify body height estimation techniques.

[`let heightEstimationTechnique: HumanBodyPose3DObservation.EstimationTechnique`](/documentation/Vision/HumanBodyPose3DObservation/heightEstimationTechnique)

The technique the framework uses to estimate body height.

### Getting the joints

[`func allJoints(in: HumanBodyPose3DObservation.JointsGroupName?) -> [HumanBodyPose3DObservation.JointName : Joint3D]`](/documentation/Vision/HumanBodyPose3DObservation/allJoints(in:))

Retrieves a dictionary of all joints in a joint group.

[`var availableJointsGroupNames: [HumanBodyPose3DObservation.JointsGroupName]`](/documentation/Vision/HumanBodyPose3DObservation/availableJointsGroupNames)

The names of the available joint groupings in the observation.

[`enum JointsGroupName`](/documentation/Vision/HumanBodyPose3DObservation/JointsGroupName)

The supported joint group names for the body pose.

[`func joint(for: HumanBodyPose3DObservation.JointName) -> Joint3D?`](/documentation/Vision/HumanBodyPose3DObservation/joint(for:))

Retrieves a joint for a given joint name.

[`var availableJointNames: [HumanBodyPose3DObservation.JointName]`](/documentation/Vision/HumanBodyPose3DObservation/availableJointNames)

The names of the available joints in the observation.

[`enum JointName`](/documentation/Vision/HumanBodyPose3DObservation/JointName)

The supported joint names for the body pose.

### Getting the joint name

[`func parentJointName(for: HumanBodyPose3DObservation.JointName) -> HumanBodyPose3DObservation.JointName`](/documentation/Vision/HumanBodyPose3DObservation/parentJointName(for:))

Returns the parent joint of the joint name you specify.

### Getting the camera position

[`func cameraRelativePosition(for: HumanBodyPose3DObservation.JointName) -> simd_float4x4`](/documentation/Vision/HumanBodyPose3DObservation/cameraRelativePosition(for:))

Returns a position relative to the camera for the body joint you specify.

### Getting the joint position

[`func pointInImage(for: HumanBodyPose3DObservation.JointName) -> NormalizedPoint`](/documentation/Vision/HumanBodyPose3DObservation/pointInImage(for:))

Returns a 2D point for the joint name you specify, relative to the input image.

## Relationships

### Conforms To

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

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

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

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

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

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

[`VisionObservation`](/documentation/Vision/VisionObservation)

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

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

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

---

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)