Hello! Thank you for releasing the code for this amazing work. I'm currently working on reproducing the action anticipation results on the EPIC-Kitchens-100 dataset, and while tracing the evaluation pipeline I came across something that I wanted to ask about.
In the eval.py file, the variable val_anticipation_point defaults to [0.0, 0.0]:
|
val_anticipation_point = args_data.get("val_anticipation_point", [0.0, 0.0]) |
As val_anticipation_point does not appear to be overridden in any of the released action anticipation configs, it seems that [0.0, 0.0] is the value used during evaluation.
However, in the epickitchens.py file, the input clip is generated as
|
ap = random.uniform(*self.anticipation_point) |
|
af = int(sf * ap + (1 - ap) * ef - aframes) |
|
|
|
indices = np.arange(af - nframes, af, fstp).astype(np.int64) |
where sf and ef are the action start and end frames, respectively, and aframes corresponds to the anticipation time.
With val_anticipation_point = [0.0, 0.0], we always have ap = 0, which gives
af = ef - aframes
As a result, the sampled clip ends 1 second before the action end, rather than 1 second before the action start, which seems different from the standard EPIC-Kitchens action anticipation protocol described in the paper.
From my understanding, it seems that val_anticipation_point would instead need to be [1.0, 1.0] so that the observation clip ends 1 second before the action start.
Could you please let me know whether my understanding is correct, or if I'm overlooking something in the evaluation pipeline?
Thank you very much!
Hello! Thank you for releasing the code for this amazing work. I'm currently working on reproducing the action anticipation results on the EPIC-Kitchens-100 dataset, and while tracing the evaluation pipeline I came across something that I wanted to ask about.
In the eval.py file, the variable
val_anticipation_pointdefaults to[0.0, 0.0]:vjepa2/evals/action_anticipation_frozen/eval.py
Line 96 in 204698b
As
val_anticipation_pointdoes not appear to be overridden in any of the released action anticipation configs, it seems that[0.0, 0.0]is the value used during evaluation.However, in the epickitchens.py file, the input clip is generated as
vjepa2/evals/action_anticipation_frozen/epickitchens.py
Lines 131 to 134 in 204698b
where
sfandefare the action start and end frames, respectively, andaframescorresponds to the anticipation time.With
val_anticipation_point = [0.0, 0.0], we always haveap = 0, which givesaf = ef - aframesAs a result, the sampled clip ends 1 second before the action end, rather than 1 second before the action start, which seems different from the standard EPIC-Kitchens action anticipation protocol described in the paper.
From my understanding, it seems that
val_anticipation_pointwould instead need to be[1.0, 1.0]so that the observation clip ends 1 second before the action start.Could you please let me know whether my understanding is correct, or if I'm overlooking something in the evaluation pipeline?
Thank you very much!