79 lines
3.0 KiB
TOML
79 lines
3.0 KiB
TOML
###############################################################################
|
|
## POSE2SIM PROJECT PARAMETERS ##
|
|
###############################################################################
|
|
|
|
# Configure your project parameters here
|
|
|
|
[project]
|
|
project_dir = '' # BETWEEN SINGLE QUOTES! # If empty, project dir is current dir
|
|
frame_range = [0,10] #For example [10,300], or [] for all frames
|
|
frame_rate = 60 #Hz
|
|
|
|
rawImg_folder_name = 'raw-2d'
|
|
calib_folder_name = 'calibration'
|
|
pose_folder_name = 'pose'
|
|
pose_json_folder_extension = 'json'
|
|
pose_img_folder_extension = 'img'
|
|
poseTracked_folder_name = 'pose-2d-tracked'
|
|
pose3d_folder_name = 'triangulation'
|
|
opensim_folder_name = 'opensim'
|
|
|
|
[pose]
|
|
pose_model = 'BODY_25B' #CUSTOM, BODY_25B, BODY_25, BODY_135, BLAZEPOSE,
|
|
# HALPE_26, HALPE_68, HALPE_136, COCO_133, COCO, MPII are available,
|
|
# from DeepLabCut, OpenPose, MediaPipe BlazePose, and AlphaPose
|
|
# See Pose2Sim\skeleton.py for their skeleton hierarchy
|
|
|
|
[calibration]
|
|
type = 'qca' # 'qca', 'checkerboard', 'arucoboard', or 'charucoboard'
|
|
[calibration.qca]
|
|
binning_factor = 1 # Usually 1, except when filming in 540p where it usually is 2
|
|
|
|
[calibration.checkerboard]
|
|
corners_nb = [7,12] # [H,W] rather than [w,h]
|
|
square_size = 80 # mm # [h,w] if square is actually a rectangle
|
|
frame_for_origin = -1 # starting from zero. -1 if board is at origin on last frame
|
|
# /!\ Beware that corners must be detected on all view at frame_for_origin, or else
|
|
# extrinsic parameters will be wrong. Set show_corner_detection to true to check it.
|
|
show_corner_detection = false # true or false (lowercase)
|
|
from_vid_or_img = 'img' # 'vid' or 'img'
|
|
vid_snapshot_every_N_frames = 20
|
|
vid_extension = 'mp4'
|
|
img_extension = 'jpg' # 'png', 'jpg', etc
|
|
|
|
[2d-tracking]
|
|
tracked_keypoint = 'Neck' # If the neck is not detected by the pose_model, check skeleton.py
|
|
# and choose a stable point for tracking the person of interest (e.g., 'right_shoulder' with BLAZEPOSE)
|
|
error_threshold_tracking = 20 # px
|
|
|
|
[3d-triangulation]
|
|
error_threshold_triangulation = 15 # px
|
|
likelihood_threshold = 0.3
|
|
min_cameras_for_triangulation = 2
|
|
interpolation = 'cubic' #linear, slinear, quadratic, cubic, or none
|
|
# 'none' if you don't want to interpolate missing points
|
|
interp_if_gap_smaller_than = 10 # do not interpolate bigger gaps
|
|
show_interp_indices = true # true or false (lowercase). For each keypoint, return the frames that need to be interpolated
|
|
|
|
[3d-filtering]
|
|
type = 'butterworth' # butterworth, butterworth_on_speed, gaussian, LOESS, median
|
|
display_figures = false # true or false (lowercase)
|
|
|
|
[3d-filtering.butterworth]
|
|
type = 'low'
|
|
order = 4
|
|
cut_off_frequency = 6 # Hz
|
|
[3d-filtering.butterworth_on_speed]
|
|
type = 'low'
|
|
order = 4
|
|
cut_off_frequency = 10 # Hz
|
|
[3d-filtering.gaussian]
|
|
sigma_kernel = 2 #px
|
|
[3d-filtering.LOESS]
|
|
nb_values_used = 5 # = fraction of data used * nb frames
|
|
[3d-filtering.median]
|
|
kernel_size = 9
|
|
|
|
[opensim]
|
|
|