Skip to content

Smart CCTV system with YOLOv8 for person detection, ArcFace embeddings for face recognition, and SQLite database logging. Real-time computer vision + deep learning pipeline for intelligent surveillance.

License

Notifications You must be signed in to change notification settings

pragyabose1011/smart-cctv-yolov8-arcface

Repository files navigation

🔒 Smart Surveillance with YOLOv8 + ArcFace + SQLite

This project implements a real-time smart CCTV system that combines YOLOv8 object detection and ArcFace embeddings for robust face recognition, with SQLite database integration for identity management and event logging.


🚀 Features

  • YOLOv8 for detecting people in video streams (webcam, IP camera, or pre-recorded video).
  • Face extraction from detected persons.
  • ArcFace embeddings (via DeepFace) to compute unique 512-D face vectors.
  • SQLite database for:
    • Enrolling new users.
    • Storing embeddings.
    • Logging recognition events with timestamps + confidence scores.
  • Outputs:
    • Annotated live video with bounding boxes + labels.
    • SQLite log records.
    • Future hooks: Telegram/Email alerts.

📐 System Architecture

Architecture


📊 Sample Output

1. Real-time Recognition

Sample Output

  • The system detects multiple people and matches them with enrolled users.
  • Example: Alice (0.91) and Bob (0.88) detected in a live stream.

2. Event Logs

Logs Preview

SQLite table logs every recognition event:

  • id, name, confidence, timestamp.

📁 Repository Structure

minimal-yolov8-arcface-repo/
 ├── app.py                     # YOLOv8 + ArcFace real-time script
 ├── minimal_yolov8_arcface.ipynb # Notebook demo with SQLite
 ├── requirements.txt           # Dependencies
 ├── README.md                  # Documentation
 ├── LICENSE                    # MIT License
 ├── assets/                    # Screenshots + diagrams
 │    ├── architecture_pro.png
 │    ├── sample_output.png
 │    └── logs_preview.png
 └── enroll/                    # Enrolled faces
      ├── Alice/
      └── Bob/

⚡ Quick Start

  1. Install dependencies:
    pip install -r requirements.txt
  2. Enroll identities (place face images inside enroll/<Name>/).
  3. Run the real-time script:
    python app.py
  4. Or explore the notebook:
    jupyter notebook minimal_yolov8_arcface.ipynb

📜 License

This project is licensed under the MIT License.

About

Smart CCTV system with YOLOv8 for person detection, ArcFace embeddings for face recognition, and SQLite database logging. Real-time computer vision + deep learning pipeline for intelligent surveillance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published