Giter Site home page Giter Site logo

Comments (5)

luca-zanella-dvl avatar luca-zanella-dvl commented on August 15, 2024

Hi Sanggeon,

In order to ensure a fair comparison between AnomalyCLIP and other video anomaly detection (VAD) baseline methods, we adopt ShanghaiTech in the configuration of Zhong et al. [1], which adapts it to the weakly-supervised setting, as mentioned in section 4.1 of the paper. As AnomalyCLIP performs joint VAD and video anomaly recognition (VAR), we complement this configuration with class label information.

[1] Zhong, Jia-Xing, et al. "Graph convolutional label noise cleaner: Train a plug-and-play action classifier for anomaly detection." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019.

from anomalyclip.

c0510gy avatar c0510gy commented on August 15, 2024

Thank you for answering, we already checked the paper you mentioned, and we found the same problem on their split.
Specifically, for the "Fall" class, there are only four videos which are all located in the Anomaly_Test.txt file in your pre-extracted feature data (https://drive.google.com/file/d/1jbpK1jQkYgZMXF_DyIGy__0ZKYrSoUsj/view?usp=drive_link) and non in the Anomaly_Train_Abnormal.txt:

fall/03_0032
fall/03_0033
fall/04_0004
fall/07_0006

We found similar problems in the following classes: Circuit, Fall, Jumping, Monocycle, Push, Stoop where Circuit, Jumping, Push, Stoop has a different problem that exists in the videos where multiple anomalies appear. On training, since we need to use a weakly supervised learning method, in which we only use video-labeled data, I'm curious how you use the videos with the multiple anomalies appearing during training.
Thanks,

from anomalyclip.

luca-zanella-dvl avatar luca-zanella-dvl commented on August 15, 2024

Yes, we also observed that some classes in the test set do not appear in the training set or vice versa. This is probably because ShanghaiTech was not originally designed for VAR. Therefore, future research, particularly that focused on VAR, could benefit from developing a more appropriate data split for the ShanghaiTech dataset.

Regarding multiple classes of anomalies in the same video, you are right. We treated this special case by dividing videos with multiple anomalies into multiple videos with a single anomaly. Specifically, we calculate the difference in frames between the last occurrence of one type of anomaly and the first occurrence of the next, and divide the video evenly according to this number.

You can see this in both Anomaly_Train_Abnormal.txt and Anomaly_Test.txt, located in the same Google Drive folder containing the pre-extracted features, where videos that contain multiple anomalies, such as 03_0035, are divided into

chase/03_0035_0 0 165 1
jump/03_0035_1 166 384 6

from anomalyclip.

c0510gy avatar c0510gy commented on August 15, 2024

I see, thank you for your detailed answer, we will take that into account in our research.
Great work! I enjoyed reading your paper.

from anomalyclip.

luca-zanella-dvl avatar luca-zanella-dvl commented on August 15, 2024

Thank you for your interest in our work, I highly appreciate it :) Also, thanks for raising this issue, in the next few days I will either upload the script to create the ShanghaiTech annotation files or the videos already divided into categories for better reproducibility.

from anomalyclip.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.