HumanML3D icon indicating copy to clipboard operation
HumanML3D copied to clipboard

About the Mean and Std calculation.

Open ZeyuLing opened this issue 2 years ago • 2 comments

Hey, I'm curious in why you use the average number rather than the original variance when u calculate the variance of data in following code. Is there any experiment you made about it?

Std[0:1] = Std[0:1].mean() / 1.0
Std[1:3] = Std[1:3].mean() / 1.0
Std[3:4] = Std[3:4].mean() / 1.0
Std[4: 4+(joints_num - 1) * 3] = Std[4: 4+(joints_num - 1) * 3].mean() / 1.0
Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9] = Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9].mean() / 1.0
Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num*3] = Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num*3].mean() / 1.0
Std[4 + (joints_num - 1) * 9 + joints_num * 3: ] = Std[4 + (joints_num - 1) * 9 + joints_num * 3: ].mean() / 1.0

ZeyuLing avatar Jul 08 '23 11:07 ZeyuLing

Hi, the main motivation is that every group of features indicating the same type of feature (rotation, position), therefore it makes sense to average their std and mean. Actually I got this implementation from several SigGraph papers.

Q137589933 @.***> 于2023年7月8日周六 05:28写道:

Hey, I'm curious in why you use the average number rather than the original variance when u calculate the variance of data in following code. Is there any experiment you made about it?

Std[0:1] = Std[0:1].mean() / 1.0 Std[1:3] = Std[1:3].mean() / 1.0 Std[3:4] = Std[3:4].mean() / 1.0 Std[4: 4+(joints_num - 1) * 3] = Std[4: 4+(joints_num - 1) * 3].mean() / 1.0 Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9] = Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9].mean() / 1.0 Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num3] = Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num3].mean() / 1.0 Std[4 + (joints_num - 1) * 9 + joints_num * 3: ] = Std[4 + (joints_num - 1) * 9 + joints_num * 3: ].mean() / 1.0

— Reply to this email directly, view it on GitHub https://github.com/EricGuo5513/HumanML3D/issues/73, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKRYNB2BGPPBBQXCMG4W5J3XPE75LANCNFSM6AAAAAA2CZJY3M . You are receiving this because you are subscribed to this thread.Message ID: @.***>

EricGuo5513 avatar Jul 09 '23 03:07 EricGuo5513

Hi, the main motivation is that every group of features indicating the same type of feature (rotation, position), therefore it makes sense to average their std and mean. Actually I got this implementation from several SigGraph papers. Q137589933 @.> 于2023年7月8日周六 05:28写道: Hey, I'm curious in why you use the average number rather than the original variance when u calculate the variance of data in following code. Is there any experiment you made about it? Std[0:1] = Std[0:1].mean() / 1.0 Std[1:3] = Std[1:3].mean() / 1.0 Std[3:4] = Std[3:4].mean() / 1.0 Std[4: 4+(joints_num - 1) * 3] = Std[4: 4+(joints_num - 1) * 3].mean() / 1.0 Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9] = Std[4+(joints_num - 1) * 3: 4+(joints_num - 1) * 9].mean() / 1.0 Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num3] = Std[4+(joints_num - 1) * 9: 4+(joints_num - 1) * 9 + joints_num3].mean() / 1.0 Std[4 + (joints_num - 1) * 9 + joints_num * 3: ] = Std[4 + (joints_num - 1) * 9 + joints_num * 3: ].mean() / 1.0 — Reply to this email directly, view it on GitHub <#73>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKRYNB2BGPPBBQXCMG4W5J3XPE75LANCNFSM6AAAAAA2CZJY3M . You are receiving this because you are subscribed to this thread.Message ID: @.**>

Thanks for your reply, it repels my doubts!

ZeyuLing avatar Jul 14 '23 02:07 ZeyuLing