Skip to content
This repository was archived by the owner on May 13, 2025. It is now read-only.

diligent-man/Video_Anomaly_Detection

Repository files navigation

| | |

Anomalous Human Activity Detection By Weakly Supervised Learning

What is project for

  • Implement training, testing and inference workflow for VAD problem.
  • Apply four (4, 5, 6, 7) out of nine MLOps principles (FIGURE 2).

Repository organization

For the ease of source code management, this repo encompasses all implemented code and relatable configurations, and they are placed in AI, MLops and Web directories. AI includes source code for building DL-based VAD algorithm. Web comprises both backend and frontend for simple demo web app. MLOps respectively consists of Docker configurations for lakeFS, minIO, MLflow, postgress services.

👨 Team members:

  • Nguyễn Đức Trọng - SE160931
    • GitHub: click here
    • Role: Team leader
    • Tasks:
      • Set up and manage MLOps-related services here.
      • Propose solution and implement core modules in AI.
      • Plan project management document.
      • Review code.
  • Cao Khánh Vy - SE162136
    • GitHub: here
    • Role: Team member
    • Tasks:
      • Seek and make dataset.
      • Version dataset with LakeFS service.
  • Nguyễn Thế Hoàng - SE170420
    • GitHub: here
    • Role: Team member
    • Tasks:
      • Support in making dataset.
      • Implement prototype web.
  • Nguyễn Ngọc Chiến - SE173133
    • GitHub: here
    • Role: Team member
    • Tasks:
      • Support in implementing some modules in AI.
      • Support in finding and creating dataset.

🔎 Panoptic view of system

🚩 Project Expected Output

Normal case

normal_case.mp4

Anomalous case

anomalous_case.mp4

✨ Key Features That Might Render You Enthralling Or Not:

  • Easy-to-configure model Trainer and Tester: Quickly training and testing DL-based VAD model with json and yaml-supported configuration.
  • Dotted dictionary (DotDict): Simple yet effective dotted dictionary with recursive approach for managing configuration in AI.
  • Multiple backbones handling (MultiBackboneForwarder): Synthesize and perform forward pass upon multiple backbones in online manner (check ).
  • Scalable training and testing code (forward_strategy): Easy to insert new running loop for training or testing.
  • Callback support (check): Currently, we just support fundamental callbacks for trainer, tester and mlflow.
  • Backbone-Neck-Head perspective (BaseModel): Dissect and view model architecture in YOLO-like fashion.
  • 🖥️ Intuitive demo web: User friendly demo web interface.

🚀 Get Started:

1/ AI Installation

please check at here

2/ MLOps Installation

please check at here

3/ Web Installation

please check at here

😌 Acknowledgements:

We want to send our gratitude to following repos due to their inspiration for our implementation in AI:

📃 License:

This project is released under MIT license .

⚠️ Disclaimer:

Our implemented code was not fully tested owing to the time and resource limitations, thus it should be used with your own risk !!!