Argus
[IEEE Research paper + Project] Real Time Road Accidents Detection System based on crash estimation; a computer vision techniques that detects road accidents and reports them in real-time as well as allowing the monitoring of accidents using a client server architecture and an interactive GUI.
Install / Use
/learn @khaledsabry97/ArgusREADME
K. Sabry and M. Emad, "Road Traffic Accidents Detection Based On Crash Estimation," 2021 17th International Computer Engineering Conference (ICENCO), 2021, pp. 63-68, doi: 10.1109/ICENCO49852.2021.9698968.
<h2 id="System-Architecture">
System Architecture
</h2>
<p align="center">
<img src="https://github.com/khaledsabry97/Argus/blob/master/Images/BlockDiagram.png" width="80%">
</a>
</p>
<h2 id="Framework-Architecture">
Framework Architecture
</h2>
<p> The framework consists of 4 phases; it starts with a vehicle detection phase using YOLO architecture. The second phase is the vehicle tracking using MOSSE tracker. Then the third phase is a new approach we introduce to detect crash based on crash estimation. Finally, we can consider either what remains after the third phase is a crash or start the fourth phase, crash detection using violent flow descriptor. </p>
<p align="center">
<img src="https://github.com/khaledsabry97/Argus/blob/master/Images/framework.png" width="80%">
</a>
</p>
How to Run Argus
- Install requirements.txt
- Run Backend Services
- RunMaster.py
- RunDetect.py
- RunTracker.py
- RunCrash.py
- Run Client Services
- RunGui.py
- RunCamera.py
- Select video from videos folder
- From RunCamera.py hit Process
How to Configure used modules in Project
As the project has different settings there are hyper-parameter you need to configure to use the module you actually want. Go to file called "Constants.py" in "Argus/System/Data/Constants.py"
<details> <summary><b>In Detection Module</b></summary> <ul> <li> Work_Detect_Files : True if you want to use already saved vehicles detected in the videos provided in project instead of using YOLO architecture</li> </ul> </details> <details> <summary><b>In Tracking Module</b></summary> <ul> <li> Work_Tracker_Type_Mosse : True if you want to use Mosse Tracker instead of Dlib Tracker </li> <li> Work_Tracker_Interpolation : True if you want to use track-compensated frame interpolation (TCFI) instead of normal tracking algorithm </li> </ul> </details> <details> <summary><b>In Crash Module</b></summary> <ul> <li> Work_Crash_Estimation_Only : True if you want to use Crash Estimation Module Only, instead of following the Crash Estimation Module with ViF Descripton</li> </ul> </details>IEEE Conference Presentation Video
<p align="center" id="IEEE-Presentation"> <a href="https://www.youtube.com/watch?v=rm5pcUggZzs"> <img src="https://img.youtube.com/vi/rm5pcUggZzs/maxresdefault.jpg" width="50%"> </a> </p>Trailers
Trailer 1
The trailer gives a light on the problem so the audience can start thinking about it. The trailer captures the audience's mind and the audience will ask themselves.... What is ARGUS? How will it help to save people's lives?
<p align="center"> <a href="https://www.youtube.com/watch?v=8GmcOIeVAp4"> <img src="https://img.youtube.com/vi/8GmcOIeVAp4/maxresdefault.jpg" width="50%"> </a> </p>Trailer 2 (Main Trailer)
The trailer discusses the problem of road crashes and how argus will help to solve this problem
<p align="center"> <a href="https://www.youtube.com/watch?v=nHsk8bgKjX0"> <img src="https://img.youtube.com/vi/nHsk8bgKjX0/maxresdefault.jpg" width="50%"> </a> </p> <h2 id="Demo"> Demo </h2>Explaination
Explaining in Arabic how to test a video in Argus
<p align="center"> <a href="https://www.youtube.com/watch?v=92DqypG8TKY"> <img src="https://img.youtube.com/vi/92DqypG8TKY/maxresdefault.jpg" width="50%"> </a> </p>Output
The video shows a compilation of road crashes which is the output of the system
<p align="center"> <a href="https://www.youtube.com/watch?v=R74K5aWLSLk"> <img src="https://img.youtube.com/vi/R74K5aWLSLk/maxresdefault.jpg" width="50%"> </a> </p>Related Skills
tmux
337.3kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
terraform-provider-genesyscloud
Terraform Provider Genesyscloud
blogwatcher
337.3kMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
product
Cloud-agnostic Kubernetes infrastructure with Terraform & Helm for homelabs, edge, and production clusters.
