Giter Site home page Giter Site logo

mandroide / aicity2020-anomaly-detection Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paddlepaddle/research

0.0 0.0 0.0 97.36 MB

novel deep learning research works with PaddlePaddle

License: Apache License 2.0

Python 98.79% Shell 1.21%

aicity2020-anomaly-detection's Introduction

Multi-Granularity Tracking with Modularized Components for Unsupervised Vehicles Anomaly Detection (CVPRW 2020)

This repository contains source codes of team113 for NVIDIA AICity Challenge 2020 Track 4, and the technical details please refer to the paper "Multi-Granularity Tracking with Modularized Components for Unsupervised Vehicles Anomaly Detection"

Our method obtains the F1-score metric at 0.9855 and the RMSE metric at 4.8737, which ranked first in the Track4 test set of the NVIDIA AI CITY 2020 CHALLENGE.

Multi-granularity tracking with modularized components framework Figure 1. The illustration of multi-granularity tracking with modularized components framework. This framework involves fusion from box-level tracking branch and pixel-level tracking branch. The backtracking optimization is performed to further improve the predictions.

Requirements

  • Paddle1.7-gpu-post97

  • cuda9

  • cudnn7.5

Annotations

The training annotations for detection models are in here. Extract one frame every 2 seconds, then choose half of them to annotate. The corresponding is (annotation_number - 1)*2*30 = frame_number

Step1: Detection Model

Train the detection model

cd det_code/PaddleDetection
sh train.sh

Inference Procedure

cd det_code/PaddleDetection
sh infer.sh

Step2: Background Modeling

Extract background

python bg_code/ex_bg_mog.py

Step3: Extraction of Hypothetical Abnormal Mask

Obtain motion-based mask

python mask_code/mask_frame_diff.py

Obtain trajectory-based mask

python mask_code/mask_track.py

Mask Fusion

python mask_code/mask_fuse.py

Step4: Box-level Tracking

Tube construction

python box_track/tube_construction.py

Box_level Tracking

python box_track/box_level_tracking.py

Step5: Pixel-level Tracking

Coarse anomaly result for Pixel-level Tracking

python pixel_track/coarse_ddet/pixel-level_tracking.py

Similarity filtering for the preliminary abnormal candidate results

python pixel_track/post_process/similar.py

Backtrack the start time

python pixel_track/post_process/time_back.py

Merge in the temporal dimension

python pixel_track/post_process/id.py

Step6: Fusion and Backtracking Optimization

Fusion of box_level tracking and pixel-level tracking, and backtracking

python fusion_code/fusion_backtracking.py

If you have any questions or issues in using this code, please feel free to

contact us ([email protected] or [email protected])

aicity2020-anomaly-detection's People

Contributors

andyeliu avatar anpark avatar aozhang avatar apphpp avatar bitianchi avatar chenjun082 avatar dyning avatar godfanmiao avatar hairongliu avatar hongyuli2018 avatar kahitomi avatar kgresearch avatar lielinjiang avatar littlepan0413 avatar liuzhijie03 avatar liyingying0113 avatar mandroide avatar olenet avatar parap1uie-s avatar sserdoubleh avatar steffy-zxf avatar wutianyirosun avatar wwqydy avatar xiaoguanghu01 avatar xyzhou-puck avatar yuanpengcheng avatar zhhezhhe avatar

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.