Introduce the app/services/vision/ module with ABC interfaces, ONNX Runtime backend, model registry, and per-task implementations: - OpenCLIP ViT-B/32 embedder (image + text, 512-d) - RapidOCR engine (PP-OCRv4 via ONNX, no PaddlePaddle) - YOLOv8n object detector (raw ONNX, no ultralytics runtime) - YuNet + SFace face processor (Apache 2.0, opencv_zoo, 128-d) - DBSCAN face clustering helper Add VisionSettings to config (mulita.yml + Pydantic), bootstrap_models.py for first-boot weight downloads, models_data Docker volume, and ROCm backend stub for future GPU acceleration. No Celery tasks wired yet — models load but nothing invokes them. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8 lines
257 B
Python
8 lines
257 B
Python
"""
|
|
Vision pipeline services — embedding, OCR, object detection, face recognition.
|
|
|
|
All inference is done through the ModelRegistry singleton, which lazy-loads
|
|
ONNX Runtime sessions on first use and caches them for the lifetime of the
|
|
worker process.
|
|
"""
|