Views
No views yet
Webcam Frame
│
├─► YOLOv8 + ByteTrack ──► Object detection & persistent tracking
├─► MediaPipe Pose ────────► 33-landmark skeleton estimation
├─► Depth Anything V2 ─────► Monocular relative depth (foreground vs background)
│
└─► Rule-based State Machine ──► Activity label
│ (WORKING / USING PHONE / THINKING / PRESENT / AWAY)
▼
SQLite + JSONL ──► Analytics Engine ──► Groq LLM Recap| Module | Role |
|---|---|
periodic_logger.py | Main loop — captures snapshots, runs vision + audio pipeline, logs events |
database.py | Dual-write storage (SQLite sixthsense.db + log.jsonl) |
analytics.py | State smoothing, session segmentation, aggregate statistics |
depth_estimator.py | Monocular depth estimation & desk-presence refinement |
vlm_recapper.py | Groq Llama 3.3 daily natural-language recap generation |
1# 1. Clone & install dependencies
2git clone https://github.com/avneetsingh7102/SixthSense.git && cd SixthSense
3pip install -r requirements.txt
4
5# 2. Download model weights (auto-downloaded on first run)
6# - yolov8n.pt (YOLOv8 nano)
7# - pose_landmarker_full.task (MediaPipe pose)
8
9# 3. Configure Groq API key
10cp .env.example .env
11# Edit .env and set GROQ_API_KEY=your_key_here1# Run the main activity logger (opens webcam)
2python periodic_logger.py
3
4# Controls:
5# 'c' → force an immediate snapshot
6# 'q' → quit
7
8# Run temporal analytics on logged data
9python analytics.py
10
11# Generate a daily LLM recap
12python vlm_recapper.py
13
14# Preview depth estimation standalone
15python depth_estimator.pysixthsense.db and snapshots/..env — never committed to version control (.gitignore).| Decision | Rationale |
|---|---|
| ByteTrack over DeepSORT | Built into Ultralytics, lower latency, sufficient for single-user desk tracking |
| Monocular depth (relative, not metric) | No stereo camera needed; relative depth is sufficient to distinguish foreground user from background passerby |
| Rule-based state machine over LSTM | Deterministic, debuggable, and honest — labeled as "state smoothing" not "deep temporal modeling" |
| Groq (Llama 3.3 70B) for recaps | Fast inference, free tier available, avoids vendor lock-in |
| SQLite + JSONL dual-write | SQLite for structured queries; JSONL for easy streaming export and portability |