Real-time video inference system for geriatric patient monitoring
"OriΓ³n Ve, No Interpreta" (Orion Sees, Doesn't Interpret)
Orion is an edge-first AI sensor that captures video streams and produces structured inference outputs for the Care Scene ecosystem.
Orion is NOT:
- β A competitor to Frigate NVR (end-user product)
- β A competitor to DeepStream/DL Streamer (monolithic frameworks)
- β An interpretation or decision engine
Orion IS:
- β A configurable "smart sensor" for distributed architectures
- β Best-in-class for event-driven AI sensor deployments
- β A building block for larger monitoring systems (Care Scene)
- β Hardware-agnostic (ONNX enables GPU acceleration)
- Go 1.x: Orchestration, streaming pipeline, control plane
- Python 3.x: ONNX inference workers (YOLO11 person detection)
- GStreamer: Video capture from RTSP streams
- MQTT: Event-driven control and data distribution
- ONNX Runtime: Multi-model ML inference
- MsgPack: High-performance binary serialization (5x faster than JSON+base64)
- Complexity by Design, Not by Accident - Attack complexity through architecture
- Pragmatic Performance - Real-time responsiveness > completeness
- Non-blocking Channels - Drop frames to maintain <2s latency
- Hybrid Go-Python - Go for orchestration, Python for ML
- MQTT-centric Control - Hot-reload without service restart
- KISS Auto-Recovery - One restart attempt only
- Go 1.21+
- Python 3.10+
- GStreamer 1.20+
- MQTT broker (Mosquitto)
# Build binary
make build
# Run with default config
make run
# Run with debug logging
./bin/oriond --debug
# Run with custom config
./bin/oriond --config path/to/orion.yamlPrimary config: config/orion.yaml
instance_id: orion-hab-302
room_id: hab_302
camera:
rtsp_url: rtsp://camera-ip/stream
stream:
resolution: 720p
fps: 30
models:
person_detector:
model_path: models/yolo11n.onnx
max_inference_rate_hz: 1.0
mqtt:
broker: tcp://localhost:1883# Get status
mosquitto_pub -t care/control/orion-hab-302 -m '{"command":"get_status"}'
# Pause/Resume inference
mosquitto_pub -t care/control/orion-hab-302 -m '{"command":"pause"}'
mosquitto_pub -t care/control/orion-hab-302 -m '{"command":"resume"}'
# Change inference rate
mosquitto_pub -t care/control/orion-hab-302 -m '{"command":"set_inference_rate","rate_hz":2.0}'
# Hot-reload model size
mosquitto_pub -t care/control/orion-hab-302 -m '{"command":"set_model_size","size":"m"}'See docs/DESIGN/ORION_2.0_PLAN_EVOLUTIVO.md for detailed roadmap.
- β Fase 1 (v1.0 β v1.5): Foundation - Bounded contexts, single-stream, hot-reload
- π Fase 2 (v1.5 β v2.0): Scale - Multi-stream (4-8 rooms), resource management
- π Fase 3 (v2.0 β v3.0): Intelligence - Cell orchestration, motion pooling
- C4 Model - Complete architectural views
- Big Picture - Orion 1.0 overview
- Evolution Plan - 3-phase roadmap
- CLAUDE.md - AI-assisted development guide
- Design Manifesto - Design philosophy
"Las buenas prΓ‘cticas son vocabulario de diseΓ±o - las practicas para tenerlas disponibles cuando improvises, no porque la partitura lo diga."
- β DDD for bounded contexts clarity
- β SOLID where it matters
- β Pragmatism for utilities
- β NO Hexagonal "because best practice"
- β NO DI everywhere "because SOLID"
Read the scales, improvise with context.
This is a B2B consultative product. Contact Visiona for collaboration.
- Read
CLAUDE.md+Big Picture.mdbefore coding - Attack complexity through architecture, not code tricks
- Validate compilation as primary test
- Document architectural decisions (ADR style)
- Co-authored by:
Gaby de Visiona <noreply@visiona.app> - Focus on "why" rather than "what"
Proprietary - Visiona Β© 2024-2025
Part of the Care Scene ecosystem:
- Orion - Smart sensor (this repo)
- Scene Experts Mesh - Event interpretation
- Room Orchestrator - Resource coordination
- Temporal Supervisor - Continuous learning
Built with pragmatism, designed for scale. π