DeepMotionEditing / deep-motion-editing

An end-to-end library for editing and rendering motion of 3D characters with deep learning [SIGGRAPH 2020]
BSD 2-Clause "Simplified" License
1.58k stars 256 forks source link

retarget a bvh file to use it in style transfer #226

Open kotaxyz opened 1 year ago

kotaxyz commented 1 year ago

hello there, thanks alot for this awesome work, i need help on how to retarget a bvh file to an acceptable bone format to be able to use it in style transfer because i always get errors when using my bvh data , i think this is due to difference in bone number and naming thats why i want to run retarget

kotaxyz commented 1 year ago

i get this error when i try to do style transfer to any bvh file except the files in xia_test

(Deep-motion-editing) C:\Users\Genesis\github\deep-motion-editing>python style_transfer/test.py --content_src style_transfer/data/xia_test/bassball.bvh --style_src style_transfer/data/xia_test/angry_13_000.bvh --output_dir style_transfer/demo_results/demo_3d_2 C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\pretrained already exists. C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\pretrained\pth already exists. C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\pretrained\log already exists. C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\pretrained\info already exists. C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\pretrained\output already exists. C:\Users\Genesis\github\deep-motion-editing\style_transfer\probe..\data\xia_norms already exists. Resume from iteration 100000 Traceback (most recent call last): File "C:\Users\Genesis\github\deep-motion-editing\style_transfer\test.py", line 57, in main(args) File "C:\Users\Genesis\github\deep-motion-editing\style_transfer\test.py", line 39, in main co_data = process_single_bvh(args.content_src, config, to_batch=True) File "C:\Users\Genesis\github\deep-motion-editing\style_transfer\data_loader.py", line 204, in process_single_bvh anim = AnimationData.from_BVH(filename, downsample=downsample, skel=skel, trim_scale=4) File "C:\Users\Genesis\github\deep-motion-editing\style_transfer..\utils\animation_data.py", line 394, in from_BVH return cls.from_rotations_and_root_positions(rotations, root_positions, skel=skel, frametime=frametime * downsample) File "C:\Users\Genesis\github\deep-motion-editing\style_transfer..\utils\animation_data.py", line 373, in from_rotations_and_root_positions global_positions = forward_rotations(skel, rotations, root_positions, trim=True) File "C:\Users\Genesis\github\deep-motion-editing\style_transfer..\utils\animation_data.py", line 31, in forward_rotations glb[..., i, :] = np.matmul(transforms[..., pi, :, :], IndexError: index 29 is out of bounds for axis 1 with size 29