!! VIDEO !!
To simulate coordinated patrolling in a high-risk area, a multi-agent system was implemented using Unity for graphical visualization. The penitentiary is monitored by static security cameras, a drone, and security personnel. The cameras and the drone use computer vision to detect suspicious activities. The drone is alerted when a camera detectes suspicious activity, and if the drone also identifies this anomaly, the security personnel takes over to verify the situation.
- Install the following libraries
pip install ultralytics opencv-python numpy
- From a code editor, find the project's folder. Enter the server directory:
cd Assets/unity-server
- Run the server
python server.py
- Ensure that SocketIO unity is installed. In case it's not present in the project's Package Manager, add the following link:
https://github.com/itisnajim/SocketIOUnity.git
- From a code editor, find the projet's folder. Enter the Script directory:
cd Assets/Script
- Install the following libraries to run the web socket and agentpy, using pip install
- Flask
- flask_socketio
- Run the web socket in another terminal, different than the CV server
python app.py
- Run SampleScene in unity
Para simular el patrullaje coordinado en una zona de riesgo, se implementó un sistema multiagente, utilizando Unity para la visualización gráfica. El centro penitenciario es vigilado por cámaras de seguridad estáticas, un dron, y personal de seguridad. Para evitar la fuga de los internos, tanto las cámaras como el dron utilizan visión computacional, que informan si detecta una sospecha. Cuando una cámara detecta una anomalía, envía una alerta al dron. Si el dron también identifica una sospecha, el personal de seguridad se coordina con el dron para verificar la situación.
- Instala las siguientes librerías
pip install ultralytics opencv-python numpy
- Desde un editor de código, entrar a la carpeta del proyecto. Entrar al servidor:
cd Assets/unity-server
- Corre el servidor
python server.py
- Es importante asegurarse que SocketIO unity esté instalado. Aunque debería de estar en Package Manager, en caso de no estar, agregar el siguiente paquete:
https://github.com/itisnajim/SocketIOUnity.git
- Desde un editor de código, entrar a la carpeta del proyecto. Entrar a Script:
cd Assets/Script
- Instalar las librerías necesarias para correr el web socket y agentpy con pip install
- Flask
- flask_socketio
- Correr el web socket en otra terminal que no sea la del servidor de la visión computacional
python app.py
- Correr SampleScene en Unity