Giter Club home page Giter Club logo

iambarge / nc4mas-security-drones-project Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 2.0 5.16 MB

Multi-Camera surveillance systems are being increasingly used to enhance safety and security and the possibility to mount cameras on Unmanned Aerial Vehicles (UAVs) extends their capabilities to a whole new level. The aim of this project is to find a possible solution to the Interactive Surveillance problem using multiple UAV mounted cameras.

License: MIT License

MATLAB 100.00%
ai autonomous-vehicles autonomous-quadcoptor autonomous-systems autonomous-navigation autonomous-agents multiagent-systems distributed-systems optimization

nc4mas-security-drones-project's Introduction

A Distributed Approach to Interactive Surveillance Using a UAV Mounted Camera Network

Multi-Camera surveillance systems have become a modern trend in many fields both for research and for the industry. These systems are being increasingly used to enhance safety and security in public places such as parks, airports, and banks, as well as in restricted areas like government and military facilities. Furthermore, the possibility to mount cameras on Unmanned Aerial Vehicles (UAVs) extends the capabilities of these surveillance systems to a whole new level. Indeed, the employment of flying cameras allow for a substantial reconfigurability of the network and enable for new perspectives on the environment and wider coverage.

Project Abstract

The aim of this project is to find a possible solution to the Interactive Surveillance problem using multiple UAV mounted cameras, from a top down perspective, in known environments. The coordinated patrolling problem is approached in a distributed fashion using a Bayesian-based Greedy algorithm with State Exchange. The results of this strategy are compared in restricted environments with the optimal paths obtained through linear programming. Furthermore, the overall performance is evaluated on large scale environments, where the optimal problem becomes infeasible. Kalman’s theory is employed to implement a smart target tracking algorithm with camera zoom control optimized for target containment and information loss minimization. Several simulations are performed tracking a target with different trajectory models and varying the sampling frequency of the filter and the accuracy of the detection. Finally, the robustness of such an algorithm to measurement errors and camera failures is put to the test.

For the technical results complete dissertation and the detailed description of the adopted strategies you can refer to the Project Report πŸ“.

Working Simulation

The results achieved with this project can be clearly appreciated in the following simulation. Indeed, the Interactive Sourveillance task performed by our UAV mounted camera system can be divided in 4 steps:

  1. All the agents (:full_moon:) of the camera network patroll the environment sharing information to autonomously select the most suitable direction to follow
  2. An intruder (:red_circle:) enters the environment and it is soon detected from one of our UAV cameras (:full_moon: -> :large_blue_circle:)
  3. The camera begins the tracking task adjusting the zoom (:black_square_button: size) managing the tradeoff between tracking robustness and information gathering
  4. On target loss the tracking camera returns to the tracking task (:large_blue_circle: -> :full_moon:), asking for the support of other UAVs in order to maximize the probability of tracking recovery

Project Organization

.
β”œβ”€β”€ Data/                                       : Contains precompiled environments
β”œβ”€β”€ src/                                        : Contains media resources
β”œβ”€β”€ Camera.m                                    : Class defining a UAV camera object
β”œβ”€β”€ Environment.m                               : Class defining the environment
β”œβ”€β”€ BLP.m                                       : Routine to test the Binary Linear Programming solution to the patrolling problem
β”œβ”€β”€ Optimal_zoom.m                              : Routine to test the smart zoom feature
β”œβ”€β”€ SEBS.m                                      : Routine to test the distributed approach to the patrolling problem
β”œβ”€β”€ Simulation.m                                : Routine to test the complete system on large scale environments
β”œβ”€β”€ Simulation_preprocessing.m                  : Defines the Simulation parameters
β”œβ”€β”€ Tracking_Control.m                          : Routine to test the UAV movement system during the tracking task
β”œβ”€β”€ Tracking_indices.m                          : Routine to the tracking robustness
β”œβ”€β”€ control.slx                                 : Simulink scheme for the UAV movement control system
β”œβ”€β”€ envCell.m                                   : Function for environment cellularization
β”œβ”€β”€ envEdges.m                                  : Function defining the allowed movement in the cellularized environment
β”œβ”€β”€ getAllCycles.m                              : Function returning all possible simple cycles given a set of edges from a connected graph
β”œβ”€β”€ getPID.p                                    : Private function returning the PID gains according to the Bode's method
β”œβ”€β”€ getPID.m                                    : Header of getPID.p
β”œβ”€β”€ kalman.m                                    : Function implementing the one step ahead Kalman filter
β”œβ”€β”€ remapEdges.m                                : Function returning the set of edges associated to the connected components of a graph
β”œβ”€β”€ splitCycles.m                               : Function splitting a cycle in all its sub-paths
β”œβ”€β”€ bargellesi_et_al_2020.pdf                   : Project Report
└── README.md                                   : Project Summary 

A work in collaboration with Luca Facin and Lorenzo Marchini.

nc4mas-security-drones-project's People

Contributors

iambarge avatar lucafacin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

lucafacin lhang2k

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.