wangxiang1230 / SSTAP

Code for our CVPR 2021 Paper "Self-Supervised Learning for Semi-Supervised Temporal Action Proposal".
70 stars 8 forks source link

Difference between train_semi_full and train_semi #3

Open sauradip opened 2 years ago

sauradip commented 2 years ago

Hi Author ! Congratulations on this exciting work getting accepted !

While going through the code I observed

  1. https://github.com/wangxiang1230/SSTAP/blob/b8a55c98151ecb6a0e25a3160dfdee855ab60b42/main.py#L145
  2. https://github.com/wangxiang1230/SSTAP/blob/b8a55c98151ecb6a0e25a3160dfdee855ab60b42/main.py#L359

I am guessing what is the difference between this ? i observed that when unlabel percent is 0 you use train_semi_full , but how will it become semi-supervised if unlabel percent is 0% ? Is it experiment for ablation tables to show with 100% labels ?

wangxiang1230 commented 2 years ago

Thanks you for your attention to SSTAP. When the number of labels is 10%~90% (i.e. less than 100%), we use train_BMN_Semi. When the label is 100%, we use train_BMN_Semi_Full (that is, there is no unlabeled data). In our experiment, the number of labels can range from very few (e.g., 10%) to all (i.e. 100%).

sauradip commented 2 years ago

Thank you for clearing my doubt !

I have one additional doubt : https://github.com/wangxiang1230/SSTAP/blob/b8a55c98151ecb6a0e25a3160dfdee855ab60b42/main.py#L261

What is this thing doing ? I did not get the threshold choice of 0.6 and what this mask is actually doing ? Can you explain in brief ?

wangxiang1230 commented 2 years ago

Thank you for clearing my doubt !

I have one additional doubt :

https://github.com/wangxiang1230/SSTAP/blob/b8a55c98151ecb6a0e25a3160dfdee855ab60b42/main.py#L261

What is this thing doing ? I did not get the threshold choice of 0.6 and what this mask is actually doing ? Can you explain in brief ?

We noticed that there must be the start and end time of action in each video (if the confidence is greater than 0.6, we think it exists), so we only chose those videos that meet the conditions to participate in the training, and excluded those that do not (can reduce noise interference). That way the training process will be more stable.

sauradip commented 2 years ago

Hi ! Thank you for clarification ! Last question I have is in the inference you have shown the inference_BMN() , inference_BMN_ema() , so for generating the results in table 2 SSTAP@60% is using inference_BMN_ema() ? Am I correct ?