Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to calculate errors in 3D coordinate #8

Open
Droliven opened this issue Feb 27, 2022 · 3 comments
Open

how to calculate errors in 3D coordinate #8

Droliven opened this issue Feb 27, 2022 · 3 comments

Comments

@Droliven
Copy link

After restoring your pretrained model and setting the random seed, I calculate the 3D coordinate error between y_t_xyz and y_p_xyz using the following L2-norm,
code

def xyz_error(gt, out):
    '''
    gt: B, 100, 66
    '''
    batch_size, seq_len, features = gt.shape
    t_3d = np.zeros(seq_len)

    gt = gt.reshape(batch_size, seq_len, -1, 3) # B, 100, 22, 3
    out = out.reshape(batch_size, seq_len, -1, 3) # B, 100, 22, 3
    for k in np.arange(0, seq_len):
        t_3d[k] = np.mean(np.linalg.norm(gt[:, k, :, :].reshape(-1, 3) - out[:, k, :, :].reshape(-1, 3), 2, axis=1))
    return t_3d

the results are larger than those in your paper, I want to know how do you calculate errors in 3D coordinate ? have you scaled the source data?

3d

eular

@Droliven
Copy link
Author

Since the 3D coordinate error of your model has a large performance gain of other baselines, i am so interested with the reason inside.

@Droliven
Copy link
Author

And why the performance gain of eular error is not that large, compared with 3D coordinate error?

@BII-wushuang
Copy link
Owner

I remember the 3D joint positions L2 metric were evaluated with the following matlab script. We didn't scale the data but we performed Procrustes alignment, i.e. the global rotation and translation were set to 0 throughout.

And why the performance gain of eular error is not that large, compared with 3D coordinate error?

The Euler metric is not linear with respect to the 3D joint positions L2 metric. In fact the Euler mean angle error is not a geometrically meaningful metric (the geodesic error would be more geometrically meaningful in angular space whereas the L2 error would be good in 3D joint coordinates space). As such, we do not expect the performance gains between the two metrics to be linearly correlated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants