mocap-desktop-gui 2.0.0__py3-none-any.whl → 2.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. mocap_desktop_gui/__init__.py +4 -4
  2. mocap_desktop_gui/axengine_1747918246_187673042.py +246 -0
  3. mocap_desktop_gui/gen/__init__.py +4 -4
  4. mocap_desktop_gui/gen/rc_icons.py +4 -4
  5. mocap_desktop_gui/gen/rc_qml.py +4 -4
  6. mocap_desktop_gui/gen/rc_style.py +4 -4
  7. mocap_desktop_gui/main.py +4 -4
  8. mocap_desktop_gui/mc/__init__.py +4 -4
  9. mocap_desktop_gui/mc/bld_fbx_2_glb.py +4 -4
  10. mocap_desktop_gui/mc/bld_utils.py +4 -4
  11. mocap_desktop_gui/mc/camera_models.py +4 -4
  12. mocap_desktop_gui/mc/gpu_info.py +4 -4
  13. mocap_desktop_gui/mc/mc_actor_profile.py +4 -4
  14. mocap_desktop_gui/mc/mc_actor_profile_model.py +4 -4
  15. mocap_desktop_gui/mc/mc_app_manager.py +4 -4
  16. mocap_desktop_gui/mc/mc_auth_core.py +4 -4
  17. mocap_desktop_gui/mc/mc_calib.py +4 -4
  18. mocap_desktop_gui/mc/mc_camera_views_model.py +4 -4
  19. mocap_desktop_gui/mc/mc_cloud_service.py +4 -4
  20. mocap_desktop_gui/mc/mc_common_paths.py +4 -4
  21. mocap_desktop_gui/mc/mc_context.py +4 -4
  22. mocap_desktop_gui/mc/mc_diagnosis.py +4 -4
  23. mocap_desktop_gui/mc/mc_error_codes.py +4 -4
  24. mocap_desktop_gui/mc/mc_file_util.py +4 -4
  25. mocap_desktop_gui/mc/mc_import_folder.py +4 -4
  26. mocap_desktop_gui/mc/mc_mocap_models.py +18 -0
  27. mocap_desktop_gui/mc/mc_project.py +4 -4
  28. mocap_desktop_gui/mc/mc_project_manager.py +4 -4
  29. mocap_desktop_gui/mc/mc_qml_defines.py +4 -4
  30. mocap_desktop_gui/mc/mc_rig.py +4 -4
  31. mocap_desktop_gui/mc/mc_scene_3d_service.py +4 -4
  32. mocap_desktop_gui/mc/mc_sync_media_player.py +4 -4
  33. mocap_desktop_gui/mc/mc_sync_video_decoder_service.py +4 -4
  34. mocap_desktop_gui/mc/mc_sync_video_paint_item.py +4 -4
  35. mocap_desktop_gui/mc/mc_take.py +4 -4
  36. mocap_desktop_gui/mc/mc_take_cloud_job.py +4 -4
  37. mocap_desktop_gui/mc/mc_take_cloud_job_action.py +4 -4
  38. mocap_desktop_gui/mc/mc_take_cloud_job_calib.py +4 -4
  39. mocap_desktop_gui/mc/mc_take_list_model.py +4 -4
  40. mocap_desktop_gui/mc/mc_take_local_job.py +4 -4
  41. mocap_desktop_gui/mc/mc_take_local_job_action.py +4 -4
  42. mocap_desktop_gui/mc/mc_take_local_job_calib.py +4 -4
  43. mocap_desktop_gui/mc/mc_take_local_job_service.py +4 -4
  44. mocap_desktop_gui/mc/mc_take_run.py +4 -4
  45. mocap_desktop_gui/mc/mc_take_run_common.py +4 -4
  46. mocap_desktop_gui/mc/mc_take_run_data_prep.py +4 -4
  47. mocap_desktop_gui/mc/mc_take_run_settings.py +4 -4
  48. mocap_desktop_gui/mc/mc_take_runs_cloud_manager.py +4 -4
  49. mocap_desktop_gui/mc/mc_take_runs_local_manager.py +4 -4
  50. mocap_desktop_gui/mc/mc_take_runs_manager.py +4 -4
  51. mocap_desktop_gui/mc/mc_take_settings.py +4 -4
  52. mocap_desktop_gui/mc/mc_take_settings_action.py +4 -4
  53. mocap_desktop_gui/mc/mc_take_video_model.py +4 -4
  54. mocap_desktop_gui/mc/mc_task_trt_engine_gen.py +4 -4
  55. mocap_desktop_gui/mc/mc_video.py +4 -4
  56. mocap_desktop_gui/mc/mc_video_file_parser.py +4 -4
  57. mocap_desktop_gui/mc/mc_video_manager.py +4 -4
  58. mocap_desktop_gui/mc/mc_video_uploader.py +4 -4
  59. mocap_desktop_gui/mc/mc_videos_uploader.py +4 -4
  60. mocap_desktop_gui/mc/mc_worker.py +4 -4
  61. mocap_desktop_gui/mc/qml_engine.py +4 -4
  62. mocap_desktop_gui/mc/rig/default/move_mo/Move_Mo.blend +0 -0
  63. mocap_desktop_gui/mc/rig/default/move_mo/mapping_body.csv +0 -0
  64. mocap_desktop_gui/mc/rig/default/move_mo/mapping_fingers.csv +0 -0
  65. mocap_desktop_gui/mc/rig/default/move_ve/{move_ve.blend → Move_Ve.blend} +0 -0
  66. mocap_desktop_gui/mc/rig/default/move_ve/mapping_body.csv +0 -0
  67. mocap_desktop_gui/mc/rig/default/move_ve/mapping_fingers.csv +0 -0
  68. mocap_desktop_gui/mc/rig/rig_path.py +4 -4
  69. mocap_desktop_gui/mc/settings/camera_models.yaml +49 -32
  70. mocap_desktop_gui/mc/settings/settings_action.yaml +11 -9
  71. mocap_desktop_gui/mc/settings/settings_action_m2.yaml +381 -0
  72. mocap_desktop_gui/mc/settings/settings_path.py +4 -4
  73. mocap_desktop_gui/mc/util.py +4 -4
  74. mocap_desktop_gui/sample.py +4 -4
  75. {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/METADATA +1 -1
  76. {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/RECORD +74 -73
  77. mocap_desktop_gui/axengine_1744367049_1138001897.py +0 -246
  78. mocap_desktop_gui/mc/rig/default/move_mo/desktop.ini +0 -3
  79. mocap_desktop_gui/mc/rig/default/move_mo/move_mo.blend +0 -0
  80. {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/WHEEL +0 -0
  81. {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/entry_points.txt +0 -0
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1744367049_1138001897.py')):
5
+ 'axengine_1747918246_187673042.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1744367049_1138001897 as _axengine
12
+ import axengine_1747918246_187673042 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1744367049_1138001897 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(977, globals())
17
+ from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(713, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1744367049_1138001897.py')):
5
+ 'axengine_1747918246_187673042.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1744367049_1138001897 as _axengine
12
+ import axengine_1747918246_187673042 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1744367049_1138001897 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(762, globals())
17
+ from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(1185, globals())
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1744367049_1138001897.py')):
5
+ 'axengine_1747918246_187673042.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1744367049_1138001897 as _axengine
12
+ import axengine_1747918246_187673042 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1744367049_1138001897 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(373, globals())
17
+ from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(290, globals())
File without changes
File without changes
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1744367049_1138001897.py')):
5
+ 'axengine_1747918246_187673042.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1744367049_1138001897 as _axengine
12
+ import axengine_1747918246_187673042 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1744367049_1138001897 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(506, globals())
17
+ from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(35, globals())
@@ -54,13 +54,6 @@ GoProHero9_4K:
54
54
  isLocal: true
55
55
  isCloud: true
56
56
 
57
- GoProGeneric_FHD:
58
- K: [ [ 923.76251909, 0.0, 961.89882368 ], [ 0.0, 925.86015022, 558.33009176 ], [ 0.0, 0.0, 1 ] ]
59
- name: "goprogeneric-fhd"
60
- displayName: "GoPro Generic FHD"
61
- resolution: [1920, 1080]
62
- isLocal: true
63
- isCloud: true
64
57
 
65
58
  GoProHero10_FHD:
66
59
  K: [ [ 923.76251909, 0.0, 961.89882368 ], [ 0.0, 925.86015022, 558.33009176 ], [ 0.0, 0.0, 1 ] ]
@@ -86,22 +79,6 @@ GoProHero10_4K:
86
79
  isLocal: true
87
80
  isCloud: true
88
81
 
89
- GoProGeneric_4K:
90
- K: [ [ 1.84593283e03, 0.0, 1.92970185e03 ], [ 0.0, 1.84939341e03, 1.11025830e03 ], [ 0.0, 0.0, 1 ] ]
91
- name: "goprogeneric-4k"
92
- displayName: "GoPro Generic 4K"
93
- resolution: [3840, 2160]
94
- isLocal: true
95
- isCloud: true
96
-
97
- GoProHero10_4K_Portrait:
98
- K: [ [ 1.83288226e03, 0.0, 1.07586540e03 ], [ 0.0, 1.83375021e03, 1.92896515e03 ], [ 0.0, 0.0, 1 ] ]
99
- name: "goprohero10-4k-portrait"
100
- displayName: "GoPro Hero 10 4K Portrait"
101
- resolution: [2160, 3840]
102
- isLocal: true
103
- isCloud: true
104
-
105
82
  GoProHero11_FHD:
106
83
  K: [ [ 917.49674317, 0.00000000e00, 961.21364456 ], [ 0.00000000e00, 916.75533075, 533.88829747 ], [ 0.00000000e00, 0.00000000e00, 1.00000000e00 ] ]
107
84
  name: "goprohero11-fhd"
@@ -150,10 +127,50 @@ GoProHero12_4K:
150
127
  isLocal: true
151
128
  isCloud: true
152
129
 
130
+ GoProHero13_FHD:
131
+ K: [ [ 9.14577506e+02, 0.00000000e00, 9.60805440e+02 ], [ 0.00000000e00, 9.14340962e+02, 5.33042086e+02 ], [ 0.00000000e00, 0.00000000e00, 1.00000000e00 ] ]
132
+ name: "goprohero13-FHD"
133
+ displayName: "GoPro Hero 13 FHD"
134
+ resolution: [1920, 1080]
135
+ isLocal: true
136
+ isCloud: false
137
+
138
+ #GoProHero13_2_7K:
139
+ # K: [ [ 1.28712206e+03, 0.00000000e00, 1.35139006e+03 ], [ 0.00000000e00, 1.2869703e+03, 7.55777390e+02 ], [ 0.00000000e00, 0.00000000e00, 1.00000000e00 ] ]
140
+ # name: "goprohero13-2-7K"
141
+ # displayName: "GoPro Hero 13 2.7K"
142
+ # resolution: [2704, 1520]
143
+ # isLocal: true
144
+ # isCloud: false
145
+
146
+ GoProHero13_4K:
147
+ K: [ [ 1.83356647e+03, 0.00000000e00, 1.92209281e+03 ], [ 0.00000000e00, 1.83357990e+03, 1.06661506e+03 ], [ 0.00000000e00, 0.00000000e00, 1.00000000e00 ] ]
148
+ name: "goprohero13-4k"
149
+ displayName: "GoPro Hero 13 4K"
150
+ resolution: [3840, 2160]
151
+ isLocal: true
152
+ isCloud: false
153
+
154
+ GoProGeneric_FHD:
155
+ K: [ [ 923.76251909, 0.0, 961.89882368 ], [ 0.0, 925.86015022, 558.33009176 ], [ 0.0, 0.0, 1 ] ]
156
+ name: "goprogeneric-fhd"
157
+ displayName: "GoPro Generic FHD"
158
+ resolution: [1920, 1080]
159
+ isLocal: true
160
+ isCloud: true
161
+
162
+ GoProGeneric_4K:
163
+ K: [ [ 1.84593283e03, 0.0, 1.92970185e03 ], [ 0.0, 1.84939341e03, 1.11025830e03 ], [ 0.0, 0.0, 1 ] ]
164
+ name: "goprogeneric-4k"
165
+ displayName: "GoPro Generic 4K"
166
+ resolution: [3840, 2160]
167
+ isLocal: true
168
+ isCloud: true
169
+
153
170
  Sony_RX0_I_HD:
154
171
  K: [ [ 863.80827164, 0.0, 632.7234739 ], [ 0.0, 863.80827164, 363.95934155 ], [ 0.00000000e00, 0.00000000e00, 1.00000000e00 ] ]
155
172
  name: "sony-rx0i-hd"
156
- displayName: "Sony RX0-I [HD]"
173
+ displayName: "Sony RX0-I HD"
157
174
  resolution: [1280, 720]
158
175
  isLocal: true
159
176
  isCloud: true
@@ -161,7 +178,7 @@ Sony_RX0_I_HD:
161
178
  Sony_RX0_II_FHD:
162
179
  K: [[1.29357165e03, 0.00000000e00, 9.55895638e02], [0.00000000e00, 1.28891128e03, 5.41381367e02], [0.00000000e00, 0.00000000e00, 1.00000000e00]]
163
180
  name: "sony-rx0ii-fhd"
164
- displayName: "Sony RX0-II [FHD]"
181
+ displayName: "Sony RX0-II FHD"
165
182
  resolution: [1920, 1080]
166
183
  isLocal: true
167
184
  isCloud: true
@@ -169,7 +186,7 @@ Sony_RX0_II_FHD:
169
186
  OptiTrack_Prime41:
170
187
  K: [ [ 2.16063e03, 0.00000e00, 1.04008e03 ], [ 0.00000e00, 2.16124e03, 1.05735e03 ], [ 0.00000e00, 0.00000e00, 1.00000e00 ] ]
171
188
  name: "optitrack-prime41"
172
- displayName: "OptiTrack Prime 41"
189
+ displayName: "OptiTrack Prime 41 FHD"
173
190
  resolution: [1920, 1080]
174
191
  isLocal: true
175
192
  isCloud: false
@@ -191,17 +208,17 @@ OptiTrack_Prime_Color_12mm_FHD:
191
208
  isCloud: false
192
209
 
193
210
  Experimental_Mode_FHD:
194
- K: [ [ 923.76251909, 0.0, 961.89882368 ], [ 0.0, 925.86015022, 558.33009176 ], [ 0.0, 0.0, 1 ] ]
195
- name: "experimental-mode-fhd"
211
+ K: [ [ 913.31952603, 0, 966.48029123 ],[ 0, 928.06063871, 536.91995022 ],[ 0.0, 0.0, 1.0 ] ]
212
+ name: "moveai-experimental"
196
213
  displayName: "Experimental Mode FHD"
197
214
  resolution: [1920, 1080]
198
215
  isLocal: true
199
- isCloud: false
216
+ isCloud: true
200
217
 
201
218
  Experimental_Mode_4K:
202
- K: [ [ 1.84593283e03, 0.0, 1.92970185e03 ], [ 0.0, 1.84939341e03, 1.11025830e03 ], [ 0.0, 0.0, 1 ] ]
203
- name: "experimental-mode-4k"
219
+ K: [ [ 1.83729901e03, 0.0, 1.93477133e03 ], [ 0.0, 1.83729901e03, 1.08160072e03 ], [ 0.0, 0.0, 1.0 ] ]
220
+ name: "moveai-experimental-4k"
204
221
  displayName: "Experimental Mode 4K"
205
222
  resolution: [3840, 2160]
206
223
  isLocal: true
207
- isCloud: false
224
+ isCloud: true
@@ -254,9 +254,9 @@ ops_cfg:
254
254
  use_2d_pose_obs: true
255
255
  use_spine_observations: false
256
256
  run_second_kalman_pass: true
257
- run_locomotion_model: true
257
+ run_locomotion_model: false
258
258
  use_foot_contact: true
259
- use_dynamics: false
259
+ use_dynamics: true
260
260
  sync_mobs_observations: true
261
261
  planar_floor_cfg:
262
262
  assume_planar_floor: false
@@ -311,13 +311,15 @@ ops_cfg:
311
311
 
312
312
  OpsMarkersToBlend:
313
313
  export_fbx: true
314
+ export_gltf: true
314
315
  inputs:
315
- video_dir: '~/MOX_projects/videos_processed'
316
- props_assets_dir: 'addon_bld/kalman/props' # relative to root_code_dir
317
- marker_kalman_dir: '~/MOX_projects/markers_kalman'
316
+ video_dir: ~/MOX_projects/videos_processed
317
+ marker_kalman_dir: ~/MOX_projects/markers_kalman
318
+ marker_track_path: ~/MOX_projects/markers_kalman
318
319
  outputs:
319
- log_dir: '~/MOX_projects/log'
320
- props_dir: '~/MOX_projects/props_anims'
320
+ log_dir: ~/MOX_projects/log
321
+ props_dir: ~/MOX_projects/props_anims
322
+ export_dir: ~/MOX_projects/blender
321
323
 
322
324
 
323
325
  OpsBlenderFBXExport:
@@ -355,8 +357,8 @@ ops_cfg:
355
357
  kalman_dir: ~/MOX_projects/kalman
356
358
  video_dir: ~/MOX_projects/videos_processed
357
359
  rig_dir: ~/MOX_projects/rig
358
- fingers_dir: null
359
- props_dir: null
360
+ fingers_dir: ~/MOX_projects/hands
361
+ props_dir: ~/MOX_projects/props_anims
360
362
  actor_dir: ~/MOX_projects/actor_profile
361
363
  jersey_nums_mapping_path: null
362
364
  state_paths: {}
@@ -0,0 +1,381 @@
1
+ general_cfg:
2
+ endpoint: arn:aws:sns:eu-west-1:103680339861:Imagebuilder
3
+ processing_job_guid: ''
4
+ payload:
5
+ foo: bar
6
+ ops:
7
+ OpsInputVideosAudios: false #
8
+ OpsSyncMultiviewVideos: true
9
+ OpsCorrectCalib: false
10
+ OpsMocap: true
11
+ # ball tracking
12
+ OpsDetectObjects: false
13
+ OpsDetectMarkerObjects: false
14
+ OpsMarkerKalmanFilter: false
15
+ OpsMarkersToBlend: false
16
+
17
+ OpsHandsGen2: false
18
+ OpsPrepKalmanV2: true
19
+ OpsKalmanV2: true
20
+ OpsBlendFilesCreation: true
21
+ OpsAnimationFilesExports: true
22
+ OpsRender: true
23
+ OpsZipData: false
24
+ OpsUploadOutputs: false
25
+
26
+ failure_ops:
27
+ - OpsZipData
28
+ - OpsUploadOutputs
29
+ ops_cfg:
30
+ OpsInputVideosAudios:
31
+ is_gopro: false
32
+ inputs:
33
+ video_raw_dir: '~/MOX_projects/videos'
34
+ outputs:
35
+ log_dir: '~/MOX_projects/log'
36
+
37
+ OpsSyncMultiviewVideos:
38
+ # auto sync settings
39
+ # set action_ss and action_to if you want to crop a specific time range in input videos.
40
+ # warning: 'ss' and 'to' must be specified on the video whose lag is smallest; otherwise, it could fail
41
+ # for the case when the lag between videos are large.
42
+ # example. action_start_time: '20.15' action_end_time: '30.35' means action stats from the seconds 20.15 to 30.35
43
+ action_start_time: 0 # start time of the action in format seconds.millisecond. ffmpeg -ss
44
+ action_end_time: "" # end time of the action in the format seconds.millisecond. ffmpeg -to
45
+ search_win: [ 2.0, 6.0 ] # clap hand time range, in seconds. If no range is specified then search_win
46
+ # is calculated automatically in the code based on clapping.
47
+ delete_input_videos: false
48
+ inputs:
49
+ video_raw_dir: '~/MOX_projects/videos'
50
+ outputs:
51
+ log_dir: '~/MOX_projects/log'
52
+ video_dir: '~/MOX_projects/videos_processed'
53
+ sync_vis_dir: '~/MOX_projects/sync_vis'
54
+ # Use iphone metadata to sync
55
+ iphone_sync:
56
+ use_host_timecode: false
57
+ use_tentacle: false
58
+ # manual sync settings
59
+ manual_sync:
60
+ active: false # set it to true if you want to run manual sync given delay in timestamp
61
+ # seconds.milliseconds. relative offset. earliest camera should have ss = 0.0
62
+ cams_lag: # ffmpeg -ss
63
+ cam01: 0.0
64
+ #cam02: 0.02
65
+ #cam03: 0.04
66
+ #....
67
+ # all cameras share the same duration and starting time
68
+ base_ss: 0.0 # seconds.milliseconds
69
+ duration: 0.0 # ffmpeg -t seconds.milliseconds. 0.0 means the whole video.
70
+ win_len_samples: 1024
71
+ win_step_sec: 0.001
72
+ use_audio_files: false
73
+ timecode: false
74
+
75
+ OpsMocap:
76
+ max_actor_number: 1
77
+ enable_vis_debug: true # expensive video debugging
78
+ vis_debug_rate_ms: 1000 # one frame every second
79
+ enable_new_track_vis_debug: true # cheap debugging that output the first frame of a new cross-view match
80
+ max_cpp_running_time_minutes: 2000
81
+ use_actor_profile_if_avail: false
82
+ use_cuda_decoder: true
83
+ use_jersey_id_prediction: false
84
+ MocapCppParams:
85
+ DebugCaptureVolumeVisDir: ''
86
+ DebugLabeledBBoxVisDir: ''
87
+ CudaGraphInference: false
88
+
89
+ YoloModelMaxBs: -1
90
+ YoloModelType: yolov5m
91
+ YoloModelFp16: true
92
+
93
+ JerseyModelName: jersey_model_7
94
+ DetectJerseyNumber: false
95
+ DetectJerseyFramePeriod: 3
96
+
97
+ PoseModelFp16: true
98
+ UseVerticalPoseAlignment: false
99
+ PoseModelMaxBs: -1
100
+ Single2DPoseModelName: pose_2D_vit_large_moveai29
101
+ use_temporal_2D_pose_refinement: false
102
+ Temporal2DPoseModelName: pose_2D_refine_3
103
+ UseTemporalRefinementPostProcess: false
104
+ TemporalRefinementPostProcessQueueSize: 4
105
+
106
+ NewTrackRequireHandOverShoulder: false
107
+
108
+ NewTrackCheckInsideCaptureVolume: true
109
+ NewTrackMinCaptureVolumeEdgeDist: 0.0
110
+ NewTrackMinReprojectionError: 0.15
111
+ NewTrackMinMultiviewKeypoints: 3
112
+ NewTrackMinCameraNumbers: 3
113
+ NewTrackMinDistanceFromOthers: 0.25
114
+
115
+ ActorProfileMatchMaxTimestampDifference: 1000
116
+ ActorProfileMatchMinIoU: 0.25
117
+ ActorProfileMatchMinValidObsCount: 1
118
+
119
+ NumMaxPeople: 1
120
+ DebugNumMaxActors: -1
121
+ NumMaxBoundingBoxPerFrameFactor: 4
122
+
123
+ TrackingBBOX_LPF_Parameter: 0.1
124
+ PoseTorsoDir_LPF_Parameter: 0.1
125
+ PoseKpts_LPF_Parameter: 0.1
126
+ BBOXVerticalScalingFactor: 1.0
127
+ BBOXHorizontalScalingFactor: 1.0
128
+
129
+ ExportSpineHeatmap: false
130
+
131
+ Clamp2DBBoxSizeChange: true
132
+ MaxBBSizeChangePercentage: 0.1
133
+
134
+ TrackFilterTopKBest2DPoses: 4
135
+ FilterBadObjectAssociation: false
136
+ FilterBadObjectAssociationTemporalDstFactor: 1.5
137
+ FilterBadObjectAssociationBBoxWidthFactor: 0.4
138
+
139
+ Clamp3DJointLocationChange: true
140
+ Max3DJointLocationChange: 0.5
141
+ Max3DJointLocationMaxAcclerationFactor: 5.0
142
+ ClampJointStateChange: true
143
+ MaxJointStateChange: 0.5
144
+ MaxJointStateMaxAcclerationFactor: 5.0
145
+
146
+ UseKalmanFilter: false
147
+ KalmanLatencyUpdateFrames: 0
148
+ NumKalmanTransitionFrames: 20
149
+ NumFramesBeforeKalmanFilter: 50
150
+
151
+ NumBoneLengthOptimzationFrames: 50
152
+ UseBoneLengthFromTriangulation: true
153
+
154
+ PinoStateUpdateFactor: 0.0
155
+ MaxPoseOptimizeIteration: 10
156
+ MaxBoneOptimizeIteration: 10
157
+ PoseFunctionTolerance: 0.01
158
+ PoseParameterTolerance: 0.01
159
+ PoseSolverHeightNormalization: true
160
+ BoneLengthFunctionTolerance: 0.01
161
+ BoneLengthParameterTolerance: 0.01
162
+ NumCeresThreads: 4
163
+
164
+ CalcCircularCaptureAreaFrom2CameraPositions: true
165
+ CalcCaptureAreaFromCameraPositions: true
166
+
167
+ inputs:
168
+ video_dir:
169
+ ~/MOX_projects/videos_processed
170
+ calib_pkl_dir:
171
+ ~/MOX_projects/calib
172
+ mocap_path: /usr/local/moveai/bin/mocap-nogui
173
+ settings_path: /usr/local/moveai/settings_rt.ini
174
+ actor_profile_dir:
175
+ actor_prior_obs_dir:
176
+ outputs:
177
+ log_dir: ~/MOX_projects/log
178
+ mocap_result_dir:
179
+ ~/MOX_projects/mocap_result
180
+ mocap_new_track_debug_dir:
181
+ ~/MOX_projects/mocap_new_track_debug
182
+ mocap_viz_debug_dir:
183
+ ~/MOX_projects/mocap_viz_debug
184
+ vis_calib_area_dir:
185
+ ~/MOX_projects/vis_calib_area
186
+ prelabelled_bb_dir:
187
+ ~/MOX_projects/prelabelled_bb
188
+ pose2d_dir:
189
+ ~/MOX_projects/pose2d_track
190
+ calib_yaml_dir:
191
+ ~/MOX_projects/mocap_calib
192
+ OpsHandsGen2:
193
+ run_type: "multicam"
194
+ custom_bboxes: true
195
+ inputs:
196
+ video_dir: '~/MOX_projects/videos_processed'
197
+ pose2d_dir: '~/MOX_projects/pose2d_track'
198
+ pose3d_dir: '~/MOX_projects/pose3d_track'
199
+ calib_dir: '~/MOX_projects/calib'
200
+ outputs:
201
+ hand_dir: '~/MOX_projects/hands'
202
+ model_data_dir: '~/MOX_projects/wilor'
203
+
204
+ OpsPrepKalmanV2:
205
+ run_type: multicam
206
+ mdc_use_3d_bone_dir_obs: false
207
+ iou_threshold: 0.3
208
+ sources:
209
+ - name: vit
210
+ type: poses2d
211
+ source_dir: ~/MOX_projects/pose2d_track
212
+ location: vit
213
+ preparator_class: mocap_kalman.kalman.preparators.impl.VitPreparator
214
+ adapter_class: mocap_kalman.kalman.adapters.data_adapters.VitPoseAdapter
215
+ offsets_class: mocap_kalman.kalman.kinematics.offset_structures.ViTOffsets
216
+ measurement_class: mocap_kalman.kalman.measurement.models.PinholeModel
217
+ - name: vit_3d
218
+ type: poses3d
219
+ source_dir: ~/MOX_projects/pose3d_track
220
+ location: vit_3d
221
+ preparator_class: mocap_kalman.kalman.preparators.impl.Vit3DPreparator
222
+ adapter_class: mocap_kalman.kalman.adapters.data_adapters.VitPose3DAdapter
223
+ offsets_class: mocap_kalman.kalman.kinematics.offset_structures.ViTOffsets
224
+ measurement_class: mocap_kalman.kalman.measurement.models.SkeletalModel
225
+ - name: wilor_hands
226
+ type: hands
227
+ source_dir: ~/MOX_projects/wilor
228
+ location: wilor
229
+ preparator_class: mocap_kalman.kalman.preparators.impl.WilorPreparator
230
+ adapter_class: mocap_kalman.kalman.adapters.data_adapters.HandOrientationDataAdapter
231
+ offsets_class: mocap_kalman.kalman.kinematics.offset_structures.HandOffsets
232
+ measurement_class: mocap_kalman.kalman.measurement.models.HandOrientationModel
233
+ inputs:
234
+ calib_dir: ~/MOX_projects/calib
235
+ odometry_dir: null
236
+ outputs:
237
+ kalman_input_dir: ~/MOX_projects/kalman_inputs
238
+ calib_mono_dir: null
239
+ actor_track_mapping_dir: null
240
+
241
+ OpsKalmanV2:
242
+ bone_orient_structures: mocap_kalman.kalman.kinematics.bone_structures.MetrabsBones
243
+
244
+ stages: # observations: [POSES_2D, POSES_3D, BONE_ORIENTATIONS, SPINE, TRAJECTORY_CONTACT, PLANAR_CONTACT]
245
+ - name: first stage
246
+ transition: mocap_kalman.kalman.transition.transition.RootAdjustedStationaryTransitionModel
247
+ Q_matrix: mocap_kalman.kalman.parameters.Q_matrices.Q_Moveai_11
248
+ Q_factor: 3.5
249
+ observations: [POSES_2D, SPINE]
250
+ smooth_state: true
251
+
252
+ - name: second stage
253
+ transition: mocap_kalman.kalman.transition.transition.SimpleTransitionModel
254
+ Q_matrix: mocap_kalman.kalman.parameters.Q_matrices.Q_Moveai_11_2
255
+ Q_factor: 0.75
256
+ observations: [POSES_2D, SPINE, TRAJECTORY_CONTACT, PLANAR_CONTACT]
257
+ smooth_state: true
258
+
259
+ contact_dynamics:
260
+ use_plane_constraint: true
261
+ adjust_heel: true
262
+ stability_std_threshold: 0.02
263
+ contact_factor_threshold: 35
264
+ friction_coeff: 0.6
265
+ alpha: 0.001
266
+ lambda: 0
267
+ tanh_param_k: 1
268
+ tanh_param_n: 0.5
269
+
270
+ smoother_settings:
271
+ state_smoother_type: butterworth # ['polynomial', 'butterworth']
272
+ polynomial_window: 0.4 # in seconds
273
+ polynomial_order: 5
274
+ state_frequency_cutoff: 5 # in Hz
275
+ derivative_frequency_cutoff: 4 # in Hz
276
+ filter_order: 4
277
+
278
+ inputs:
279
+ calib_dir: ~/MOX_projects/calib
280
+ kalman_input_dir: ~/MOX_projects/kalman_inputs
281
+ input_video_dir: ~/MOX_projects/videos_processed
282
+ outputs:
283
+ kalman_dir: ~/MOX_projects/kalman
284
+ run_type: multicam
285
+
286
+ OpsBlendFilesCreation:
287
+ import_keypoints_3d: false
288
+ import_fingers: false
289
+ background_videos_import: true
290
+ background_camera_num: 0
291
+ rest_pose_on_1st_frame: false
292
+ rig_origin: feet
293
+ combine_blends: true
294
+ output_name_3d_assets: main
295
+ inputs:
296
+ calib_pkl_dir: ~/MOX_projects/calib/
297
+ kalman_dir: ~/MOX_projects/kalman/
298
+ fingers_dir: ~/MOX_projects/hands
299
+ rig_dir: ~/MOX_projects/rig/
300
+ video_dir: ~/MOX_projects/videos_processed
301
+ props_dir: ~/MOX_projects/props_anims
302
+ outputs:
303
+ blender_dir: ~/MOX_projects/blender/
304
+
305
+ OpsAnimationFilesExports:
306
+ rig_to_export: ["internal", "client"]
307
+ export_formats: ["fbx", "gltf", "usdz", "bvh", "c3d"]
308
+ use_namespaces: true
309
+ timecode_sync: false
310
+ export_fps: null
311
+ inputs:
312
+ rig_dir: ~/MOX_projects/rig/
313
+ blender_dir: ~/MOX_projects/blender/
314
+ video_dir: ~/MOX_projects/videos_processed
315
+ outputs:
316
+ output_dir: ~/MOX_projects/blender/
317
+
318
+ OpsRender:
319
+ render_resolution: [640, 360]
320
+ add_logo: true
321
+ resolution_percentage: 100
322
+ ffmpeg_container: MPEG4
323
+ render_engine: EEVEE
324
+ render_fps: 30
325
+ do_render_overlay: false
326
+ overlay_padding: 30
327
+ overlay_scale: 0.19
328
+ output_name_video: render
329
+ inputs:
330
+ video_dir: ~/MOX_projects/videos_processed
331
+ blender_dir: ~/MOX_projects/blender/
332
+ scene_3d_path: null
333
+ outputs:
334
+ output_dir: ~/MOX_projects/blender/
335
+
336
+ OpsDetectObjects:
337
+ # sort all detect bbs using area or score, then pick the first n_max_objects, if it > 0
338
+ n_max_objects: -1 # -1 for taking all object bounding boxes.
339
+ n_max_objects_selection_strategy: "area" # in ["score", "area", "score_area"]
340
+ batch_size: 8
341
+ # for YOLOV5.
342
+ conf_thres: 0.25 # NNS threshold
343
+ iou_thres: 0.45 # NNS threshold
344
+ augment: false # flipping augmentation.
345
+ yolov5_class_ids: [ 32 ]
346
+ yolov5_class_names: [ 'ball' ]
347
+ visualize: false
348
+ inputs:
349
+ video_dir: '~/MOX_projects/videos_processed'
350
+ model_path: '/usr/local/moveai/models/yolo/yolov5x_updated.pt'
351
+ outputs:
352
+ detect_dir: '~/MOX_projects/detect_obj_2d'
353
+ detect_vis_dir: '~/MOX_projects/detect_obj_2d_viz'
354
+
355
+ OpsDetectMarkerObjects:
356
+ marker_settings: [ { "object": "ball", "n_markers": 1, "n_objects": 1 } ]
357
+ inputs :
358
+ video_dir: '~/MOX_projects/videos_processed'
359
+ detect_dir: '~/MOX_projects/detect_obj_2d'
360
+ outputs:
361
+ detect_semantic_dir: '~/MOX_projects/detect_semantic_obj_2d'
362
+
363
+ OpsMarkerKalmanFilter:
364
+ marker_settings: [ { "object": "ball", "n_markers": 1, "n_objects": 1 } ]
365
+ inputs:
366
+ detect_semantic_dir: '~/MOX_projects/detect_semantic_obj_2d'
367
+ calib_pkl_dir: '~/MOX_projects/calib'
368
+ outputs:
369
+ marker_kalman_dir: '~/MOX_projects/markers_kalman'
370
+
371
+ OpsMarkersToBlend:
372
+ export_fbx: true
373
+ export_gltf: true
374
+ inputs:
375
+ video_dir: ~/MOX_projects/videos_processed
376
+ marker_kalman_dir: ~/MOX_projects/markers_kalman
377
+ marker_track_path: ~/MOX_projects/markers_kalman
378
+ outputs:
379
+ log_dir: ~/MOX_projects/log
380
+ props_dir: ~/MOX_projects/props_anims
381
+ export_dir: ~/MOX_projects/blender
@@ -2,17 +2,17 @@ import os as _os
2
2
  import sys as _sys
3
3
  _axeSearchPath = _os.path.dirname(_os.path.abspath(__file__))
4
4
  while not _os.path.exists(_os.path.join(_axeSearchPath,
5
- 'axengine_1744367049_1138001897.py')):
5
+ 'axengine_1747918246_187673042.py')):
6
6
  _newAxeSearchPath = _os.path.normpath(_os.path.join(_axeSearchPath, '..'))
7
7
  if _newAxeSearchPath == _axeSearchPath or len(_axeSearchPath) == 0:
8
8
  break
9
9
  _axeSearchPath = _newAxeSearchPath
10
10
  try:
11
11
  _sys.path.append(_axeSearchPath)
12
- import axengine_1744367049_1138001897 as _axengine
12
+ import axengine_1747918246_187673042 as _axengine
13
13
  except Exception as e:
14
14
  raise Exception('Failed to load AxEngine!') from e
15
15
  finally:
16
16
  _sys.path.pop()
17
- from axengine_1744367049_1138001897 import WupiError, WupiLicenseError, WupiErrorCode
18
- _axengine._axe_run(66, globals())
17
+ from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
18
+ _axengine._axe_run(683, globals())