AI Visual Memory & 3D Spatial Tracking System
Persistent visual memory, object detection, appearance Re-ID, FAISS indexing, and semantic natural language search.

Problem Statement
Traditional surveillance and camera systems record gigabytes of raw pixels without semantic understanding, making retrospective event search tedious and manual.
Engineering Goals
- Achieve real-time processing (30-50 ms/frame) for multi-object tracking.
- Re-identify objects across camera view occlusions using visual appearance embeddings.
- Enable natural language semantic search over tracked object memories.
- Provide a live interactive React monitoring dashboard over WebSockets.
Execution Pipeline & Mechanics
Frame Ingestion & Detection
FastAPI stream receiver feeds frames into YOLOv11 for bounding box proposal.
Trajectory Tracking
ByteTrack associates bounding boxes across frames to maintain unique object IDs.
Appearance Embedding
Cropped object thumbnails are encoded via CLIP visual encoder.
Memory Bank Indexing
Embeddings are stored in FAISS alongside timestamps, camera IDs, and spatial coordinates.
Semantic Query Retrieval
Natural language queries are embedded and matched against FAISS vectors to highlight historical locations.
Engineering Challenges & Design Decisions
Decision: ByteTrack over DeepSORT
Rationale: ByteTrack utilizes low-score detection boxes to maintain tracking during partial occlusions with significantly lower computational overhead.
Alternative Rejected: DeepSORT with heavy appearance descriptor networks.
Core Architectural Highlights
Video streams are processed frame-by-frame by OpenCV and YOLOv11. Detected bounding boxes are tracked via ByteTrack. Crop thumbnails are embedded by CLIP into a FAISS index. FastAPI coordinates WebSocket feeds to the React frontend.
Testing & Empirical Evaluation
Benchmarked across diverse synthetic and real indoor camera feeds with varied lighting.
Security & Reliability Defenses
Key Engineering Learnings
- •Filtering low-confidence detection noise before embedding generation prevents polluting the FAISS memory bank with false positives.