feat: initial BantayCam scaffold

- FastAPI backend with async SQLAlchemy
- Camera RTSP management (add, start, stop)
- Vehicle detection (YOLO + fast-alpr)
  - Type: car, motorcycle, truck, jeepney
  - Color detection (HSV)
  - License plate OCR
  - Motorcycle person count
- Face detection + InsightFace ArcFace embedding
- pgvector identity grouping (auto-cluster same face)
- Vehicle + person movement trail APIs
- Docker Compose with pgvector/pg16
- Models: Camera, VehicleIdentity, VehicleEvent, PersonIdentity, FaceEvent
This commit is contained in:
Nemo
2026-03-12 12:11:02 +08:00
commit 7c43e4580d
24 changed files with 1650 additions and 0 deletions

23
.env.example Normal file
View File

@@ -0,0 +1,23 @@
# BantayCam Environment Variables
# Copy to .env and fill in your values
# Database
DATABASE_URL=postgresql+asyncpg://bantaycam:bantaycam@localhost:5432/bantaycam
# Storage
STORAGE_TYPE=local
STORAGE_PATH=./snapshots
# AI Models
YOLO_MODEL=yolov8n.pt
FACE_MODEL=buffalo_l
GPU_DEVICE=0 # Set to -1 for CPU-only
# Processing tuning
PROCESS_EVERY_N_FRAMES=5
FACE_SIMILARITY_THRESHOLD=0.5
PLATE_CONFIDENCE_THRESHOLD=0.6
# Alerts (optional)
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=