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

Question about the zero velocity baseline #44

Open
LittleFlyFish opened this issue Oct 24, 2018 · 4 comments
Open

Question about the zero velocity baseline #44

LittleFlyFish opened this issue Oct 24, 2018 · 4 comments
Labels

Comments

@LittleFlyFish
Copy link

I Have read your paper, but I don't really understand the zero velocity baseline. It has few descriptions in the paper. I am not sure the mean "predict the first frame by velocity zero", it that means set the first frame of predicted motion clip the exactly same as the last frame in Input motion clip?

@una-dinosauria
Copy link
Owner

Hi @LittleFlyFish,

set the first frame of predicted motion clip the exactly same as the last frame in Input motion clip?

Correct. You can see the code to do that under https://github.com/una-dinosauria/human-motion-prediction/blob/master/src/baselines.py

Cheers,

@LittleFlyFish
Copy link
Author

Hi @LittleFlyFish,

set the first frame of predicted motion clip the exactly same as the last frame in Input motion clip?

Correct. You can see the code to do that under https://github.com/una-dinosauria/human-motion-prediction/blob/master/src/baselines.py

Cheers,

Ah, I understand now. Thank you very much !

@Ammola
Copy link

Ammola commented Mar 5, 2019

@una-dinosauria
I need some clarification about the implementation.
I have read the code line by line and would like to understand the logic behind it.
As I understood from your code, each batch of data consists of 150 frames and these frames are divided as the following:
encoder inputs (frames 0 to 48)
decoder inputs (frames 49 to 148)
decoder outputs (frames 50 to 149)
There are 8 batches in total.
In running_average function, I don't understand why do you calculate the error by taking what is so-called (the last frame or avg)- which is the zeroth frame in decoder inputs - then subtracting it from all frames in decoder outputs.

ee = np.power( dec_out[i][:,idx_to_use] - avg[idx_to_use], 2 )

Usually, the error should be calculated between the ground truth and the prediction, but here there is no prediction we are taking the same test data that's already present.

@una-dinosauria
Copy link
Owner

Usually, the error should be calculated between the ground truth and the prediction, but here there is no prediction we are taking the same test data that's already present.

Yes, that's the point of the zero-velocity baselines -- they are learning-free. We simply take the motion seed and do simple manipulations to take them as predictions. This is the same information that, at test time, learning-based baselines need.

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

No branches or pull requests

3 participants