Estimate Yaw (Advanced):
The SDPoseEstimateYawAdvanced node is designed to calculate the yaw angle of a person, providing a comprehensive set of parameters for precise control and customization. This advanced node uses the vertical height of the torso as a reference for body scale, allowing for a linear mapping that distinguishes between front and back orientations. It is particularly beneficial for applications requiring detailed pose estimation, as it offers enhanced accuracy and flexibility through its extensive parameter set. The node outputs the yaw angle in multiple formats, making it versatile for various use cases in AI art and animation.
Estimate Yaw (Advanced) Input Parameters:
pose_keypoints_segment
This parameter represents the keypoints of the pose segment that you want to analyze. It is crucial for determining the yaw angle as it provides the spatial data needed for the calculation.
conf_threshold
The confidence threshold is a float value that determines the minimum confidence level for keypoints to be considered in the calculation. It ranges from 0.0 to 1.0, with a default value of 0.3. A higher threshold reduces noise but may exclude valid data.
unwrap_angle
This boolean parameter, defaulting to False, specifies whether to unwrap the angle. When enabled, it allows for continuous angle representation beyond the typical -180° to 180° range.
shoulder_weight
A float parameter with a default value of 0.7, ranging from 0.0 to 1.0. It adjusts the influence of shoulder keypoints in the yaw calculation, affecting the sensitivity to shoulder movements.
enable_smoothing
This boolean parameter, defaulting to True, enables temporal smoothing using a 5-frame sliding window. It helps in reducing jitter and providing a more stable yaw output.
front_back_separate
A boolean parameter with a default value of True. It sets the baseline for distinguishing between front and back orientations, with back angles closer to 180°.
enable_front_weight_attenuation
This boolean parameter, defaulting to True, enables attenuation of the weight for front-facing keypoints, helping to refine the yaw calculation when the subject is facing forward.
front_atten_threshold
A float value with a default of 75.0, it sets the threshold for front-facing attenuation. It determines how much the front-facing keypoints' influence is reduced.
ear_min_angle
This float parameter, with a default value of 5.0, sets the minimum angle for ear keypoints to be considered in the yaw calculation, ensuring that minor deviations are accounted for.
nose_min_angle
Similar to ear_min_angle, this float parameter also defaults to 5.0 and sets the minimum angle for nose keypoints, ensuring accurate yaw estimation even with slight head movements.
pose_keypoints_full
An optional parameter that provides the full set of pose keypoints. It can be used to enhance the accuracy of the yaw calculation by providing additional spatial data.
Estimate Yaw (Advanced) Output Parameters:
yaw_array
This output is a float array representing the calculated yaw angles for each frame. It provides a detailed view of the yaw changes over time, useful for animation and analysis.
yaw_table
A string output that summarizes the yaw data in a tabular format. It offers a quick overview of the yaw angles, making it easier to interpret the results.
yaw_json
This output is a JSON string that encodes the yaw angles, allowing for easy integration with other systems and tools that require JSON input.
Estimate Yaw (Advanced) Usage Tips:
- Adjust the
conf_thresholdto balance between noise reduction and data retention. A higher threshold can help in noisy environments but may exclude some valid keypoints. - Enable
enable_smoothingfor smoother yaw transitions, especially in scenarios with rapid movements or jittery input data. - Use
front_back_separateto better distinguish between front and back orientations, which can be crucial for applications requiring precise directional awareness.
Estimate Yaw (Advanced) Common Errors and Solutions:
"Invalid keypoints data"
- Explanation: This error occurs when the input keypoints data is not in the expected format or is incomplete.
- Solution: Ensure that the
pose_keypoints_segmentparameter is correctly populated with valid keypoints data.
"Confidence threshold too high"
- Explanation: The
conf_thresholdis set too high, resulting in the exclusion of most keypoints. - Solution: Lower the
conf_thresholdto include more keypoints in the calculation, balancing noise and data retention.
"Yaw calculation failed"
- Explanation: This error might occur if there is an issue with the internal calculation logic or input data.
- Solution: Verify all input parameters for correctness and ensure that the input data is complete and properly formatted.
