Skip to content

Architecture Technique

Vue d'Ensemble

CCTV Smart est construit selon une architecture 3 couches distribuées avec IPC via Redis et alertes multi-canaux.

Architecture 3 couches

Couche 1 : L'Œil (Acquisition & Détection)

Acquisition vidéo et détection de mouvements en temps réel.

  • RTSP — Flux vidéo entrant depuis caméras IP (Hikvision, Dahua, Uniview, Reolink)
  • OpenCV — 1 FPS pour détection mouvement (économe)
  • MOG2 — Soustraction de fond adaptatif
  • YOLO — Détection d'objets (iGPU/CUDA/CPU selon tier)
  • Moteur Règles — 7 filtres (zone, vélocité, taille, classe, confiance, durée, fréquence)

Couche 2 : Les Modules (Analyse Spécialisée)

8 modules chargés à la demande via Redis.

ModuleUtilitéLancement
ByteTrackSuivi multi-objetDétection humain + animé
LPRPlaques d'immatriculationParking, entrée
OCRTextes lusAffichages, panneaux
PPEÉquipement protectionChantier, labo
Fire/SmokeFeu/fuméeTout site
PosePosture humaineChute, violence
HandGestesPoint de vente
GestureReconnaissance gesteRetail, banque

Couche 3 : Le Cerveau (Analyse IA)

Gemma 4 E4B via Ollama — génération contexte et recommandations.

  • Ollama — Serveur LLM local (zéro données au cloud)
  • Gemma 4 E4B — 4B paramètres, 5-7s par requête (CPU)
  • Prompt par Profil — Retail, Banque, Hôtel, Entrepôt, École, Résidentiel
  • Entrée — Photo + contexte + historique récent → Réponse IA

IPC : Redis Lists

Communication entre couches via Redis Lists.

QueueMaxProducteurConsommateurTTL
cctv:queue:gemma50Moteur RèglesOllama60s
cctv:queue:modules20Moteur RèglesModules30s

Alertes

Canaux d'alerte multi-modes.

Numériques

  • Telegram — Alerte + photo instantanée
  • Email — Rapport récapitulatif
  • Webhook — Intégration externe (Slack, etc.)

Physiques (8 Types)

  • Sirène (120 dB)
  • Lumière stroboscopique
  • Vibreur
  • Buzzer
  • Afficheur LED/LCD
  • Porte magnétique
  • Commande relais électrique
  • Appel SIP/Asterisk

Entreprise de Sécurité

  • Appel automatique — Centre de surveillance
  • GPS en direct — Localisation agent
  • Dossier événement — Historique complet

Base de Données

SQLite 5 tables.

TableColonnesClé
eventsuuid, camera_id, timestamp, detection_type, photo, ai_responseuuid
camerasid, name, rtsp_url, enabled, zone_configid
system_logid, timestamp, level, message, componentid
alert_feedbackid, event_uuid, feedback_type, timestampid
module_resultsid, event_uuid, module_name, result_jsonid

API

FastAPI 16 endpoints.

  • Health — GET /health
  • Cameras — GET/POST /cameras, GET /cameras/{id}
  • Events — GET /events, GET /events/{uuid}
  • Modules — POST /modules/{name}/trigger
  • System — GET /system/stats, GET /system/config
  • Alertes — POST /alert/test
  • Webhooks — POST /webhook/telegram (callback)

CCTV Smart — Videosurveillance Intelligente pour le Benin