nicetoolbox.detectors.method_detectors.mmpose.mmpose_framework_3d.MMPose3D

class nicetoolbox.detectors.method_detectors.mmpose.mmpose_framework_3d.MMPose3D(io: SequenceIO, data: SequenceData, sequence_context: SequenceRuntimeConfig, algorithm_instance: str)[source]

Bases: BaseMMPose

MMPose3D handles native 3D pose lifters (e.g. MotionBERT). Post-inference applies optional temporal filtering and confidence masking on stored 2D/3D arrays; 3D stays in the lifter’s root-relative frame (no PnP or camera alignment).

Initialize base method detector with references.

Methods

compute_output_folders

Compute extra output folders for all components.

compute_result_folders

Compute result folders for all components.

compute_viz_folders

Compute visualization folders for all components.

get_per_component_keypoint_mapping

This method extracts the keypoint indices and descriptions for each pose estimation component.

post_inference

Post-inference processing for 3D pose estimation.

run

Execute method detector: run subprocess inference + post_inference.

visualization

Generates a visualization video for each camera from the processed image frames.

Attributes

inference_package_name

predictions_mapping

Access predictions mapping from runtime config.

runtime

os_type

conda_path

venv

env_name

script_path

visualize

requires_out_folder

out_folders

result_folders

viz_folders

config_paths

algorithm_type

data

io

sequence_context

detector_config

algorithm_instance

inference_config

components

compute_output_folders(requires_out_folder: bool) Dict[str, str]

Compute extra output folders for all components.

compute_result_folders() Dict[str, str]

Compute result folders for all components.

compute_viz_folders(visualize: bool) Dict[str, str]

Compute visualization folders for all components.

abstract get_per_component_keypoint_mapping(keypoints_indices) Tuple[Dict[str, List[int]], Dict[str, List[str]]]

This method extracts the keypoint indices and descriptions for each pose estimation component.

It has to be implemented by the derived classes associated to the available pose estimation algorithms. (See HRNetw48 and Vitpose classes below)

Available algorithms are: hrnetw48, vitpose

Parameters:

keypoints_indices (_type_) – _description_

post_inference()[source]

Post-inference processing for 3D pose estimation.

property predictions_mapping

Access predictions mapping from runtime config.

run() None

Execute method detector: run subprocess inference + post_inference.

Returns None - visualization uses external data.

visualization(data)

Generates a visualization video for each camera from the processed image frames.

This method takes the processed image frames for each camera and compiles them into a video file. It uses the frames_to_video() function from utils.video.py. The success of the video creation is tracked, and the method logs the outcome of the visualization process for each camera. :param data: An instance of a class that stores all data related

information, including the frame rate (fps) for the video and the starting frame number (video_start).

Note

  • The method assumes that the processed image frames are named in a

specific format (%09d.jpg), where each frame’s name is a zero-padded five-digit number representing its sequence in the video.