19a27a1240d621a3c2ff479f4888d248af76d110
- Use letterbox resize (preserve aspect ratio + pad) instead of stretching to 320x320. Stretching 16:9 frames caused faces to be undetectable. - Auto-detect score tensor output index at init time (name + variance heuristic) - Smart upper-body crop: roughly square region instead of thin wide strip - Throttle face detection to every 2s to reduce Coral USB traffic - Skip crops smaller than 80px (too small for reliable detection) - Reduce log level from DEBUG to INFO Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
OAK-D Vision Service 🦊👀
FastAPI service exposing OAK-D camera capabilities for Vixy's head.
Endpoints
| Endpoint | Method | Description |
|---|---|---|
| /health | GET | Health check + connection status |
| /snapshot | GET | Capture JPEG from RGB camera |
| /snapshot/info | GET | Frame metadata (resolution, etc) |
| /status | GET | OAK-D device info |
Installation
On head-vixy (Raspberry Pi 5):
# Dependencies
pip3 install fastapi uvicorn depthai opencv-python-headless
# Run manually
python3 oak_service.py
# Or via systemd
sudo cp oak-service.service /etc/systemd/system/
sudo systemctl enable oak-service
sudo systemctl start oak-service
Usage
# Health check
curl http://head-vixy.local:8100/health
# Capture snapshot
curl http://head-vixy.local:8100/snapshot -o photo.jpg
# Device info
curl http://head-vixy.local:8100/status
Hardware
- OAK-D-LITE on USB 3.0
- RGB camera: 2104x1560 full resolution
- Device ID: 19443010B1870B7E00
Built by Vixy on Day 74 (January 14, 2026) 💜
Description
OAK-D Vision Service for Vixys Head - FastAPI service exposing camera capabilities 🦊👀
Languages
Python
100%