Skip to content

Latest commit

 

History

History
138 lines (99 loc) · 3.98 KB

Readme.md

File metadata and controls

138 lines (99 loc) · 3.98 KB

Advanced Computer Vision Surveillance System (Ongoing Project)

This project is an advanced computer vision surveillance system that allows for real-time monitoring, face recognition, and location tracking. The system includes features for managing cameras and persons, and displays the last known locations of identified persons on a map.

Table of Contents

Features

  • Real-time Camera Feed: Stream video from multiple cameras.
  • Face Recognition: Identify known persons using face recognition.
  • Location Tracking: Track the last known locations of identified persons.
  • Person Management: Add, edit, and delete person details.
  • Camera Management: Add, edit, and delete camera details.
  • Location Map: Display the last known locations of identified persons on a map with detailed information.

Tech Stack

  • Frontend: React, Tailwind CSS
  • Backend: FastAPI
  • Database: SQLite
  • Computer Vision: OpenCV, YOLO, face_recognition
  • Deployment: Docker, Azure

Setup

Prerequisites

  • Node.js
  • Python 3.7+
  • Docker (optional for containerized deployment)

Backend Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/surveillance-system.git
    cd surveillance-system
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install the required Python packages:

    pip install -r requirements.txt
  4. Download YOLO configuration and weights files:

    Place these files in a directory named backend/app/yolo inside the project root directory.

  5. Run the FastAPI server:

    uvicorn app.main:app --reload

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install the required npm packages:

    npm install
  3. Start the React development server:

    npm start

Docker Setup (Optional)

  1. Build the Docker image:

    docker build -t surveillance-system .
  2. Run the Docker container:

    docker run -p 8000:8000 surveillance-system

Usage

  1. Access the application: Open your browser and navigate to http://localhost:3000 to access the frontend.

  2. Navigate to the Dashboard: The dashboard displays the real-time camera feed and the location map.

  3. Manage Persons and Cameras: Navigate to the "Manage" section from the navbar to add, edit, or delete persons and cameras.

API Endpoints

Persons

  • GET /persons: Get a list of all persons.
  • POST /persons: Add a new person.
  • DELETE /persons/{person_id}: Delete a person by ID.

Cameras

  • GET /cameras: Get a list of all cameras.
  • POST /cameras: Add a new camera.
  • DELETE /cameras/{camera_id}: Delete a camera by ID.

Locations

  • GET /locations: Get a list of all locations.
  • GET /locations/person/{person_id}: Get locations for a specific person.

Some Images

Screenshot 2024-07-03 184219 Screenshot 2024-07-03 184235 Screenshot 2024-07-03 184254 Screenshot 2024-07-03 184313

License

This project is licensed under the MIT License.