169 lines
5.4 KiB
YAML
169 lines
5.4 KiB
YAML
|
module: myeasymocap.stages.basestage.MultiStage
|
||
|
args:
|
||
|
output: output/detect_triangulate_fitSMPL
|
||
|
at_step:
|
||
|
detect:
|
||
|
module: myeasymocap.backbone.yolo.yolo.BaseYOLOv5
|
||
|
key_from_data: [images, imgnames]
|
||
|
args:
|
||
|
model: yolov5m
|
||
|
name: person
|
||
|
keypoints2d:
|
||
|
module: myeasymocap.backbone.hrnet.myhrnet.MyHRNet
|
||
|
key_from_data: [images, imgnames]
|
||
|
key_from_previous: [bbox]
|
||
|
key_keep: []
|
||
|
args:
|
||
|
ckpt: data/models/pose_hrnet_w48_384x288.pth
|
||
|
vis2d:
|
||
|
module: myeasymocap.io.vis.Vis2D
|
||
|
skip: False
|
||
|
key_from_data: [images]
|
||
|
key_from_previous: [keypoints, bbox]
|
||
|
args:
|
||
|
name: vis_keypoints2d
|
||
|
scale: 0.5
|
||
|
triangulate:
|
||
|
module: myeasymocap.operations.triangulate.SimpleTriangulate
|
||
|
key_from_data: [cameras]
|
||
|
key_from_previous: [keypoints]
|
||
|
key_keep: [cameras, imgnames] # 用于最后的一起优化
|
||
|
args:
|
||
|
mode: iterative # [naive, iterative]
|
||
|
visualize:
|
||
|
module: myeasymocap.io.vis.Vis3D
|
||
|
skip: False
|
||
|
key_from_data: [images, cameras]
|
||
|
key_from_previous: [keypoints3d] # 用于最后的一起优化
|
||
|
args:
|
||
|
scale: 0.5
|
||
|
mode: center
|
||
|
at_final:
|
||
|
load_body_model:
|
||
|
module: myeasymocap.io.model.SMPLLoader
|
||
|
args:
|
||
|
model_path: models/pare/data/body_models/smpl/SMPL_NEUTRAL.pkl #
|
||
|
regressor_path: models/J_regressor_body25.npy
|
||
|
init_params:
|
||
|
module: myeasymocap.operations.init.InitParams
|
||
|
key_from_data: [keypoints3d]
|
||
|
args:
|
||
|
num_poses: 69
|
||
|
num_shapes: 10
|
||
|
fitShape:
|
||
|
module: myeasymocap.operations.optimizer.Optimizer
|
||
|
key_from_data: [keypoints3d]
|
||
|
key_from_previous: [model, params]
|
||
|
args:
|
||
|
optimizer_args: {optim_type: lbfgs}
|
||
|
optimize_keys: [shapes]
|
||
|
loss:
|
||
|
k3d:
|
||
|
weight: 100.
|
||
|
module: myeasymocap.operations.loss.LimbLength
|
||
|
key_from_output: [keypoints]
|
||
|
key_from_infos: [keypoints3d]
|
||
|
args:
|
||
|
kintree: [[8, 1], [2, 5], [2, 3], [5, 6], [3, 4], [6, 7], [2, 3], [5, 6], [3, 4], [6, 7], [2, 3], [5, 6], [3, 4], [6, 7], [1, 0], [9, 12], [9, 10], [10, 11], [12, 13],[13, 14]]
|
||
|
regshape:
|
||
|
weight: 0.1
|
||
|
module: myeasymocap.operations.loss.RegLoss
|
||
|
key_from_output: [shapes]
|
||
|
key_from_infos: []
|
||
|
args:
|
||
|
key: shapes
|
||
|
norm: l2
|
||
|
init_RT:
|
||
|
module: myeasymocap.operations.optimizer.Optimizer
|
||
|
key_from_data: [keypoints, keypoints3d]
|
||
|
key_from_previous: [model, params]
|
||
|
args:
|
||
|
optimizer_args: {optim_type: lbfgs}
|
||
|
optimize_keys: [Th, Rh]
|
||
|
loss:
|
||
|
k3d:
|
||
|
weight: 100.
|
||
|
module: myeasymocap.operations.loss.Keypoints3D
|
||
|
key_from_output: [keypoints]
|
||
|
key_from_infos: [keypoints3d]
|
||
|
args:
|
||
|
norm: l2
|
||
|
index_est: [2, 5, 9, 12]
|
||
|
index_gt: [2, 5, 9, 12]
|
||
|
smooth:
|
||
|
weight: 1.
|
||
|
module: myeasymocap.operations.loss.Smooth
|
||
|
key_from_output: [Th, keypoints]
|
||
|
key_from_infos: [] # TODO: 根据2D的置信度来计算smooth权重
|
||
|
args:
|
||
|
keys: [keypoints, Th]
|
||
|
smooth_type: [Linear, Linear] # 这个depth似乎需要相机参数进行转换
|
||
|
norm: [l2, l2]
|
||
|
order: [2, 2]
|
||
|
weights: [10., 100.]
|
||
|
window_weight: [0.5, 0.3, 0.1, 0.1]
|
||
|
refine_poses:
|
||
|
repeat: 2
|
||
|
module: myeasymocap.operations.optimizer.Optimizer
|
||
|
key_from_data: [keypoints, keypoints3d]
|
||
|
key_from_previous: [model, params]
|
||
|
args:
|
||
|
optimizer_args: {optim_type: lbfgs}
|
||
|
optimize_keys: [poses, Rh, Th]
|
||
|
loss:
|
||
|
k3d:
|
||
|
weight: 1000.
|
||
|
module: myeasymocap.operations.loss.Keypoints3D
|
||
|
key_from_output: [keypoints]
|
||
|
key_from_infos: [keypoints3d]
|
||
|
args:
|
||
|
norm: l2
|
||
|
norm_info: 0.02
|
||
|
smooth:
|
||
|
weight: 1.
|
||
|
module: myeasymocap.operations.loss.Smooth
|
||
|
key_from_output: [poses, Th, keypoints]
|
||
|
key_from_infos: []
|
||
|
args:
|
||
|
keys: [Th, poses, keypoints]
|
||
|
smooth_type: [Linear, Linear, Linear]
|
||
|
norm: [l2, l2, l2]
|
||
|
order: [2, 2, 2]
|
||
|
weights: [100., 10., 10.,]
|
||
|
window_weight: [0.5, 0.3, 0.1, 0.1]
|
||
|
prior:
|
||
|
weight: 0.1
|
||
|
module: easymocap.multistage.gmm.GMMPrior
|
||
|
key_from_output: [poses]
|
||
|
key_from_infos: []
|
||
|
args:
|
||
|
start: 0
|
||
|
end: 69
|
||
|
write:
|
||
|
module: myeasymocap.io.write.WriteSMPL
|
||
|
key_from_data: [meta]
|
||
|
key_from_previous: [params, model]
|
||
|
args:
|
||
|
name: smpl
|
||
|
# render:
|
||
|
# module: myeasymocap.io.vis3d.Render_multiview
|
||
|
# key_from_data: [cameras, imgnames]
|
||
|
# key_from_previous: [params, body_model]
|
||
|
# args:
|
||
|
# backend: pyrender
|
||
|
# view_list: [0]
|
||
|
render_ground:
|
||
|
module: myeasymocap.io.vis3d.Render_multiview
|
||
|
key_from_data: [cameras, imgnames]
|
||
|
key_from_previous: [params, body_model]
|
||
|
args:
|
||
|
backend: pyrender
|
||
|
view_list: [3]
|
||
|
mode: ground
|
||
|
scale: 1.
|
||
|
shape: [1024, 1024]
|
||
|
make_video:
|
||
|
module: myeasymocap.io.video.MakeVideo
|
||
|
args:
|
||
|
fps: 50
|
||
|
keep_image: False
|