graph LR
Multi_Animal_Tracking["Multi-Animal Tracking"]
Refinement["Refinement"]
Post_processing["Post-processing"]
Pose_Estimation_3D["Pose Estimation 3D"]
Multi_Animal_Tracking -- "provides to" --> Refinement
Refinement -- "provides to" --> Post_processing
Refinement -- "provides to" --> Pose_Estimation_3D
Pose_Estimation_3D -- "uses" --> Post_processing
click Post_processing href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/DeepLabCut/Post_processing.md" "Details"
The Advanced Analysis & Post-processing subsystem is crucial for transforming raw pose estimation outputs into refined, accurate, and insightful behavioral data. It encompasses several key stages, including multi-animal identity management, data cleaning, 3D reconstruction, and general data enhancement. This modular design aligns with the project's emphasis on a pipeline-driven and data-centric architecture, ensuring that each step of data refinement is handled by specialized, decoupled components.
This component is responsible for maintaining individual identities across frames in multi-animal scenarios. It includes functionalities for training and inference of re-identification models (e.g., DLCTrans), creating tracking datasets, and preprocessing tracking data. Its purpose is to enable the analysis of complex social behaviors by ensuring consistent individual identification.
Related Classes/Methods:
deeplabcut/pose_tracking_pytorch/apis.pydeeplabcut/pose_tracking_pytorch/create_dataset.pydeeplabcut/pose_tracking_pytorch/tracking_utils/preprocessing.pydeeplabcut/pose_tracking_pytorch/train_dlctransreid.pydeeplabcut/pose_tracking_pytorch/inference.py
This component focuses on improving the quality and continuity of pose estimation and tracking data. It identifies and corrects outlier frames (e.g., using statistical models like SARIMAX) and stitches fragmented tracklets to ensure smooth and accurate trajectories for each individual. This is vital for downstream analysis accuracy.
Related Classes/Methods:
deeplabcut/refine_training_dataset/outlier_frames.pydeeplabcut/refine_training_dataset/tracklets.pydeeplabcut/refine_training_dataset/stitch.py
Post-processing [Expand]
This component provides general post-processing functionalities for the pose estimation results. This includes applying various filters to smooth trajectories, correcting minor errors, and analyzing the skeleton (e.g., calculating bone lengths or angles) to derive higher-level behavioral metrics. It serves as a versatile tool for data enhancement.
Related Classes/Methods:
This component specializes in reconstructing 3D poses from 2D estimations, which is essential for depth perception and more accurate spatial analysis. It handles multi-view camera calibration, triangulating 2D keypoints into 3D coordinates, and visualizing the reconstructed 3D poses.
Related Classes/Methods: