WaqasSultani / AnomalyDetectionCVPR2018

503 stars 185 forks source link

Isn't there a mistake in Evaluate_Anomaly_Detector.m? #53

Open SH95 opened 5 years ago

SH95 commented 5 years ago

@WaqasSultani Hi,I have a confusion about labeling the normal videos and abnormal videos. In the TrainingAnomalyDetector_public.py, the normal videos were labeled as 1 while the abnormal videos were labeled as 0. https://github.com/WaqasSultani/AnomalyDetectionCVPR2018/blob/cadb6a1a98f8e8db41a91ca00fce5e1ab2ad8c8f/TrainingAnomalyDetector_public.py#L190 https://github.com/WaqasSultani/AnomalyDetectionCVPR2018/blob/cadb6a1a98f8e8db41a91ca00fce5e1ab2ad8c8f/TrainingAnomalyDetector_public.py#L192 However, in the Evaluate_Anomaly_Detector.m, they were given the opposite label.

if Testing_Videos1.Ann(1,1)==0.05   % For Normal Videos
    GT=zeros(1,Actual_frames);
end

So, can you tell me the reason for that? And, how should I label for normal videos and abnormal videos?

flaviocirillo commented 4 years ago

We encountered the same issue, maybe we miss something in the code that corrects the normality/abnormality labelling. It seems that the evaluation part is considering the label for abnormality as 1 and putting 0 to all the rest of videos (normal videos), while it is the opposite for the training phase. We would really appreciate if you can address our confusion.

WaqasSultani commented 4 years ago

Hi, Sorry for the confusion. I will comment on it better. These "labels" were just used to keep track of videos which are normal and which are abnormal. These are not the actual labels that were used for the training. In the training, we just enforce that the abnormal video segment should get a high score than that of the normal video segment. Please let me know if it is not clear. Thanks