focus_guardian / shared /vision /__init__.py
RyeCatcher's picture
v2: ground-up rebuild — emotion-library reactions, attention detection (motion + optional VLM), break timer, persistence, React control panel on a shared library. Sound off by default.
8ce2c44 verified
Raw
History Blame Contribute Delete
808 Bytes
"""Shared vision utilities for Reachy Mini apps.
Two layers:
- **Attention** (present + engaged): `Detector` protocol + `AttentionResult`,
with `MotionPresenceDetector` (zero-dep default) and `VLMAttentionDetector`
(real engagement via a vision LLM). `build_detector(spec)` picks one.
- **Objects / pose** (optional, heavier deps): `ObjectDetector` (YOLO phones),
`HeadPoseEstimator` (MediaPipe). Import these directly when needed.
"""
from .base import AttentionResult, Detector, BaseDetector
from .motion import MotionPresenceDetector
from .vlm import VLMAttentionDetector
from .factory import build_detector
from . import frames
__all__ = [
"AttentionResult",
"Detector",
"BaseDetector",
"MotionPresenceDetector",
"VLMAttentionDetector",
"build_detector",
"frames",
]