|
122 | 122 |
|
123 | 123 | ## CONSTANTS |
124 | 124 | DEFAULT_CONFIG = {'project': {'video_input': ['demo.mp4'], |
125 | | - 'person_height': 1.70, |
126 | | - 'load_trc': '', |
| 125 | + 'px_to_m_from_person_id': 2, |
| 126 | + 'px_to_m_person_height': 1.65, |
| 127 | + 'visible_side': ['front', 'auto'], |
| 128 | + 'load_trc_px': '', |
127 | 129 | 'compare': False, |
128 | 130 | 'time_range': [], |
129 | 131 | 'video_dir': '', |
|
153 | 155 | }, |
154 | 156 | 'px_to_meters_conversion': { |
155 | 157 | 'to_meters': True, |
| 158 | + 'make_c3d': True, |
156 | 159 | 'calib_file': '', |
157 | | - 'calib_on_person_id': 0, |
158 | 160 | 'floor_angle': 'auto', |
159 | 161 | 'xy_origin': ['auto'], |
160 | 162 | 'save_calib': True, |
|
205 | 207 | 'loess': {'nb_values_used': 5}, |
206 | 208 | 'median': {'kernel_size': 3} |
207 | 209 | }, |
208 | | - 'inverse-kinematics':{'do_ik': False, |
209 | | - 'person_orientation': ['front', '', 'left'], |
210 | | - 'osim_setup_path': '../OpenSim_setup', |
211 | | - 'close_to_zero_speed_m': 0.2 |
| 210 | + 'kinematics':{'do_ik': False, |
| 211 | + 'use_augmentation': False, |
| 212 | + 'use_contacts_muscles': False, |
| 213 | + 'right_left_symmetry': True, |
| 214 | + 'default_height': 1.70, |
| 215 | + 'remove_individual_scaling_setup': True, |
| 216 | + 'remove_individual_ik_setup': True, |
| 217 | + 'fastest_frames_to_remove_percent': 0.1, |
| 218 | + 'close_to_zero_speed_m': 0.2, |
| 219 | + 'large_hip_knee_angles': 45, |
| 220 | + 'trimmed_extrema_percent': 0.5, |
| 221 | + 'osim_setup_path': '../OpenSim_setup' |
212 | 222 | }, |
213 | 223 | 'logging': {'use_custom_logging': False} |
214 | 224 | } |
215 | 225 |
|
216 | 226 | CONFIG_HELP = {'config': ["C", "path to a toml configuration file"], |
217 | 227 | 'video_input': ["i", "webcam, or video_path.mp4, or video1_path.avi video2_path.mp4 ... Beware that images won't be saved if paths contain non ASCII characters"], |
218 | | - 'person_height': ["H", "height of the person in meters. 1.70 if not specified"], |
219 | | - 'load_trc': ["", "load trc file to avaid running pose estimation again. false if not specified"], |
| 228 | + 'px_to_m_person_height': ["H", "height of the person in meters. 1.70 if not specified"], |
| 229 | + 'visible_side': ["", "front, back, left, right, auto, or none. 'front auto' if not specified. If 'auto', will be either left or right depending on the direction of the motion. If 'none', no IK for this person"], |
| 230 | + 'load_trc_px': ["", "load trc file to avaid running pose estimation again. false if not specified"], |
220 | 231 | 'compare': ["", "visually compare motion with trc file. false if not specified"], |
221 | 232 | 'webcam_id': ["w", "webcam ID. 0 if not specified"], |
222 | 233 | 'time_range': ["t", "start_time end_time. In seconds. Whole video if not specified. start_time1 end_time1 start_time2 end_time2 ... if multiple videos with different time ranges"], |
|
240 | 251 | 'backend': ["", "Backend for pose estimation can be 'auto', 'cpu', 'cuda', 'mps' (for MacOS), or 'rocm' (for AMD GPUs)"], |
241 | 252 | 'device': ["", "Device for pose estimatino can be 'auto', 'openvino', 'onnxruntime', 'opencv'"], |
242 | 253 | 'to_meters': ["M", "convert pixels to meters. true if not specified"], |
243 | | - 'calib_on_person_id': ["", "person ID to calibrate on. 0 if not specified"], |
| 254 | + 'make_c3d': ["", "Convert trc to c3d file. true if not specified"], |
| 255 | + 'px_to_m_from_person_id': ["", "person ID to calibrate on. 0 if not specified"], |
244 | 256 | 'floor_angle': ["", "angle of the floor. 'auto' if not specified"], |
245 | 257 | 'xy_origin': ["", "origin of the xy plane. 'auto' if not specified"], |
246 | 258 | 'calib_file': ["", "path to calibration file. '' if not specified, eg no calibration file"], |
247 | 259 | 'save_calib': ["", "save calibration file. true if not specified"], |
248 | 260 | 'do_ik': ["", "do inverse kinematics. false if not specified"], |
249 | | - 'osim_setup_path': ["", "path to OpenSim setup. '../OpenSim_setup' if not specified"], |
250 | | - 'person_orientation': ["", "front, back, left, right, auto, or none. 'front none left' if not specified. If 'auto', will be either left or right depending on the direction of the motion."], |
| 261 | + 'use_augmentation': ["", "Use LSTM marker augmentation. false if not specified"], |
| 262 | + 'use_contacts_muscles': ["", "Use model with contact spheres and muscles. false if not specified"], |
251 | 263 | 'close_to_zero_speed_m': ["","Sum for all keypoints: about 50 px/frame or 0.2 m/frame"], |
252 | 264 | 'multiperson': ["", "multiperson involves tracking: will be faster if set to false. true if not specified"], |
253 | 265 | 'tracking_mode': ["", "sports2d or rtmlib. sports2d is generally much more accurate and comparable in speed. sports2d if not specified"], |
254 | 266 | 'deepsort_params': ["", 'Deepsort tracking parameters: """{dictionary between 3 double quotes}""". \n\ |
255 | | - More information there: https://github.com/levan92/deep_sort_realtime/blob/master/deep_sort_realtime/deepsort_tracker.py#L51'], # |
| 267 | + Default: max_age:30, n_init:3, nms_max_overlap:0.8, max_cosine_distance:0.3, nn_budget:200, max_iou_distance:0.8, embedder_gpu: True\n\ |
| 268 | + More information there: https://github.com/levan92/deep_sort_realtime/blob/master/deep_sort_realtime/deepsort_tracker.py#L51'], |
256 | 269 | 'input_size': ["", "width, height. 1280, 720 if not specified. Lower resolution will be faster but less precise"], |
257 | 270 | 'keypoint_likelihood_threshold': ["", "detected keypoints are not retained if likelihood is below this threshold. 0.3 if not specified"], |
258 | 271 | 'average_likelihood_threshold': ["", "detected persons are not retained if average keypoint likelihood is below this threshold. 0.5 if not specified"], |
|
274 | 287 | 'sigma_kernel': ["", "sigma of the gaussian filter. 1 if not specified"], |
275 | 288 | 'nb_values_used': ["", "number of values used for the loess filter. 5 if not specified"], |
276 | 289 | 'kernel_size': ["", "kernel size of the median filter. 3 if not specified"], |
| 290 | + 'osim_setup_path': ["", "path to OpenSim setup. '../OpenSim_setup' if not specified"], |
| 291 | + 'right_left_symmetry': ["", "right left symmetry. true if not specified"], |
| 292 | + 'default_height': ["", "default height for scaling. 1.70 if not specified"], |
| 293 | + 'remove_individual_scaling_setup': ["", "remove individual scaling setup files generated during scaling. true if not specified"], |
| 294 | + 'remove_individual_ik_setup': ["", "remove individual IK setup files generated during IK. true if not specified"], |
| 295 | + 'fastest_frames_to_remove_percent': ["", "Frames with high speed are considered as outliers. Defaults to 0.1"], |
| 296 | + 'close_to_zero_speed_m': ["","Sum for all keypoints: about 50 px/frame or 0.2 m/frame"], |
| 297 | + 'large_hip_knee_angles': ["", "Hip and knee angles below this value are considered as imprecise and ignored. Defaults to 45"], |
| 298 | + 'trimmed_extrema_percent': ["", "Proportion of the most extreme segment values to remove before calculating their mean. Defaults to 50"], |
277 | 299 | 'use_custom_logging': ["", "use custom logging. false if not specified"] |
278 | 300 | } |
279 | 301 |
|
|
0 commit comments