zhan-xu / RigNet

Code for SIGGRAPH 2020 paper "RigNet: Neural Rigging for Articulated Characters"
GNU General Public License v3.0
1.36k stars 189 forks source link

Is it possible to process asymmetrical model? #69

Open wuge1880 opened 2 years ago

wuge1880 commented 2 years ago

Hi, thanks for your nice work!

I'v tested some asymmetrical obj data with your pretrained models, found that the results were not very good, as shown in the following figures:

image image

Could you give me some suggestions to optimize the results? Is it possible to fix it by adding some asymmetrical data in the training set?

Thank you in advance!

zhan-xu commented 2 years ago

Hi! Our training data has some asymmetric models, although the number is not high. The simplest way to remove symmetry constraint is by commenting out some code. Suppose you are using quick_start.py, you can: (1) remove line 130-133 where I reflect shifted pts and attention. (2) remove line 151 where I reflect predicted joints (3) line 204, use primMST instead of the heuristic primMST_symmetry. (imported from utils.mst_utils.py, and ignore the "joints" parameter)

I hope this can work... but I assume you also need to tune the hyper-parameters bandwidth and threshold.

wuge1880 commented 2 years ago

Cool, it works. Thanks for your help !!

image

wuge1880 commented 2 years ago

Hi, I'd like to preprocess your dataset from scratch, and met some problems in obtaining the rig_info_remesh. I have got the remeshed obj files within 1K and 5K vertices, but don't know how to recalculate the skinning.... Could you provide some example code or more details about it ? Thank you!

zhan-xu commented 2 years ago

Hi. For vertex on the remeshed mesh, I just copy the skinning weights from its nearest vertex on the original mesh.