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.
- mocap_desktop_gui/__init__.py +4 -4
- mocap_desktop_gui/axengine_1747918246_187673042.py +246 -0
- mocap_desktop_gui/gen/__init__.py +4 -4
- mocap_desktop_gui/gen/rc_icons.py +4 -4
- mocap_desktop_gui/gen/rc_qml.py +4 -4
- mocap_desktop_gui/gen/rc_style.py +4 -4
- mocap_desktop_gui/main.py +4 -4
- mocap_desktop_gui/mc/__init__.py +4 -4
- mocap_desktop_gui/mc/bld_fbx_2_glb.py +4 -4
- mocap_desktop_gui/mc/bld_utils.py +4 -4
- mocap_desktop_gui/mc/camera_models.py +4 -4
- mocap_desktop_gui/mc/gpu_info.py +4 -4
- mocap_desktop_gui/mc/mc_actor_profile.py +4 -4
- mocap_desktop_gui/mc/mc_actor_profile_model.py +4 -4
- mocap_desktop_gui/mc/mc_app_manager.py +4 -4
- mocap_desktop_gui/mc/mc_auth_core.py +4 -4
- mocap_desktop_gui/mc/mc_calib.py +4 -4
- mocap_desktop_gui/mc/mc_camera_views_model.py +4 -4
- mocap_desktop_gui/mc/mc_cloud_service.py +4 -4
- mocap_desktop_gui/mc/mc_common_paths.py +4 -4
- mocap_desktop_gui/mc/mc_context.py +4 -4
- mocap_desktop_gui/mc/mc_diagnosis.py +4 -4
- mocap_desktop_gui/mc/mc_error_codes.py +4 -4
- mocap_desktop_gui/mc/mc_file_util.py +4 -4
- mocap_desktop_gui/mc/mc_import_folder.py +4 -4
- mocap_desktop_gui/mc/mc_mocap_models.py +18 -0
- mocap_desktop_gui/mc/mc_project.py +4 -4
- mocap_desktop_gui/mc/mc_project_manager.py +4 -4
- mocap_desktop_gui/mc/mc_qml_defines.py +4 -4
- mocap_desktop_gui/mc/mc_rig.py +4 -4
- mocap_desktop_gui/mc/mc_scene_3d_service.py +4 -4
- mocap_desktop_gui/mc/mc_sync_media_player.py +4 -4
- mocap_desktop_gui/mc/mc_sync_video_decoder_service.py +4 -4
- mocap_desktop_gui/mc/mc_sync_video_paint_item.py +4 -4
- mocap_desktop_gui/mc/mc_take.py +4 -4
- mocap_desktop_gui/mc/mc_take_cloud_job.py +4 -4
- mocap_desktop_gui/mc/mc_take_cloud_job_action.py +4 -4
- mocap_desktop_gui/mc/mc_take_cloud_job_calib.py +4 -4
- mocap_desktop_gui/mc/mc_take_list_model.py +4 -4
- mocap_desktop_gui/mc/mc_take_local_job.py +4 -4
- mocap_desktop_gui/mc/mc_take_local_job_action.py +4 -4
- mocap_desktop_gui/mc/mc_take_local_job_calib.py +4 -4
- mocap_desktop_gui/mc/mc_take_local_job_service.py +4 -4
- mocap_desktop_gui/mc/mc_take_run.py +4 -4
- mocap_desktop_gui/mc/mc_take_run_common.py +4 -4
- mocap_desktop_gui/mc/mc_take_run_data_prep.py +4 -4
- mocap_desktop_gui/mc/mc_take_run_settings.py +4 -4
- mocap_desktop_gui/mc/mc_take_runs_cloud_manager.py +4 -4
- mocap_desktop_gui/mc/mc_take_runs_local_manager.py +4 -4
- mocap_desktop_gui/mc/mc_take_runs_manager.py +4 -4
- mocap_desktop_gui/mc/mc_take_settings.py +4 -4
- mocap_desktop_gui/mc/mc_take_settings_action.py +4 -4
- mocap_desktop_gui/mc/mc_take_video_model.py +4 -4
- mocap_desktop_gui/mc/mc_task_trt_engine_gen.py +4 -4
- mocap_desktop_gui/mc/mc_video.py +4 -4
- mocap_desktop_gui/mc/mc_video_file_parser.py +4 -4
- mocap_desktop_gui/mc/mc_video_manager.py +4 -4
- mocap_desktop_gui/mc/mc_video_uploader.py +4 -4
- mocap_desktop_gui/mc/mc_videos_uploader.py +4 -4
- mocap_desktop_gui/mc/mc_worker.py +4 -4
- mocap_desktop_gui/mc/qml_engine.py +4 -4
- mocap_desktop_gui/mc/rig/default/move_mo/Move_Mo.blend +0 -0
- mocap_desktop_gui/mc/rig/default/move_mo/mapping_body.csv +0 -0
- mocap_desktop_gui/mc/rig/default/move_mo/mapping_fingers.csv +0 -0
- mocap_desktop_gui/mc/rig/default/move_ve/{move_ve.blend → Move_Ve.blend} +0 -0
- mocap_desktop_gui/mc/rig/default/move_ve/mapping_body.csv +0 -0
- mocap_desktop_gui/mc/rig/default/move_ve/mapping_fingers.csv +0 -0
- mocap_desktop_gui/mc/rig/rig_path.py +4 -4
- mocap_desktop_gui/mc/settings/camera_models.yaml +49 -32
- mocap_desktop_gui/mc/settings/settings_action.yaml +11 -9
- mocap_desktop_gui/mc/settings/settings_action_m2.yaml +381 -0
- mocap_desktop_gui/mc/settings/settings_path.py +4 -4
- mocap_desktop_gui/mc/util.py +4 -4
- mocap_desktop_gui/sample.py +4 -4
- {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/METADATA +1 -1
- {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/RECORD +74 -73
- mocap_desktop_gui/axengine_1744367049_1138001897.py +0 -246
- mocap_desktop_gui/mc/rig/default/move_mo/desktop.ini +0 -3
- mocap_desktop_gui/mc/rig/default/move_mo/move_mo.blend +0 -0
- {mocap_desktop_gui-2.0.0.dist-info → mocap_desktop_gui-2.2.0.dist-info}/WHEEL +0 -0
- {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
|
-
'
|
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
|
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
|
18
|
-
_axengine._axe_run(
|
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
|
-
'
|
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
|
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
|
18
|
-
_axengine._axe_run(
|
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
|
-
'
|
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
|
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
|
18
|
-
_axengine._axe_run(
|
17
|
+
from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
|
18
|
+
_axengine._axe_run(290, globals())
|
Binary file
|
File without changes
|
File without changes
|
Binary file
|
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
|
-
'
|
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
|
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
|
18
|
-
_axengine._axe_run(
|
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
|
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
|
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: [ [
|
195
|
-
name: "experimental
|
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:
|
216
|
+
isCloud: true
|
200
217
|
|
201
218
|
Experimental_Mode_4K:
|
202
|
-
K: [ [ 1.
|
203
|
-
name: "experimental-
|
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:
|
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:
|
257
|
+
run_locomotion_model: false
|
258
258
|
use_foot_contact: true
|
259
|
-
use_dynamics:
|
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:
|
316
|
-
|
317
|
-
|
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:
|
320
|
-
props_dir:
|
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:
|
359
|
-
props_dir:
|
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
|
-
'
|
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
|
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
|
18
|
-
_axengine._axe_run(
|
17
|
+
from axengine_1747918246_187673042 import WupiError, WupiLicenseError, WupiErrorCode
|
18
|
+
_axengine._axe_run(683, globals())
|