zhenzhiwang / intercontrol

MIT License
63 stars 4 forks source link

Question on the Demo #2

Closed XingliangJin closed 7 months ago

XingliangJin commented 7 months ago

Hi, I've been exploring your demo and got two motions of skeletons as shown below. Could you explain what the individual motions of the skeletons signify? Are the movements of one skeleton meant to control the other? I hope you can provide a detailed explanation of the demo results.

https://github.com/zhenzhiwang/intercontrol/assets/101706132/8e24b77d-ea38-41e6-a581-3579fc4333fd

zhenzhiwang commented 7 months ago

Hi, Thanks for your interest of our work!

Sorry for the misleading visualization codes. For all scenarios, yellow one is the generated motion, while purple one is the condition.

For single-person motion generation, purple one is gt motion (i.e, condition without mask, and key joint2 means purple one https://github.com/zhenzhiwang/intercontrol/blob/c4224c2f072c294b15526884bd7786bc29a8b35b/sample/global_joint_control.py#L178 There will be cyan dots at some frames which is the actual condition with masks (dim = batch, joint, temporal). I removed it because it will report errors in sample.more_people_global_joint_control, yet it could work in single-person and two-people scenarios. Uncomment this line to get them https://github.com/zhenzhiwang/intercontrol/blob/c4224c2f072c294b15526884bd7786bc29a8b35b/data_loaders/humanml/utils/plot_script.py#L215

For two-people interaction generation, I use item 2i and item 2i+1 in a batch as the interacted people, and therefore the purple one is the other person (key joint2 means purple one, code in https://github.com/zhenzhiwang/intercontrol/blob/c4224c2f072c294b15526884bd7786bc29a8b35b/sample/interactive_global_joint_control.py#L154 That also means sample 2i and sample 2i+1 is the same pair of generated interaction, with only color switch.

Please feel free to ask further questions!