📚 Модули ядра (acmenra-cv)¶
instance¶
Пространственные примитивы для детекций, работающие в нормализованном пространстве [0.0, 1.0].
Классы¶
- Point — валидированная 3D точка.
- Box — axis-aligned 3D bounding box.
- Polygon — vertex collection для масок сегментации.
- Obb — oriented (rotated) bounding box.
- Instance — детектированный объект. Важно: использует свойство
label(Enum member, напримерCocoClass.PERSON), в то время какBackendиспользуетcategory(Enum class).
Пример¶
| example.py | |
|---|---|
inference¶
Backend-agnostic контракты и универсальные контейнеры результатов.
Классы¶
- Backend — абстрактный базовый класс, определяющий контракт (
predict,track) для всех движков. - Timing — метрики времени выполнения (preprocess, prediction, postprocess).
- Result — универсальный контейнер результатов с collection-like API (
len(), итерация, индексация).
Где YOLOBackend?
Конкретные реализации, такие как YOLOBackend, вынесены в отдельные пакеты-плагины (например, acmenra-yolo), чтобы не перегружать ядро тяжелыми зависимостями.
tracker¶
Multi-object tracking с persistent IDs и управлением траекториями.
Классы¶
- Tracker — основной движок трекинга, принимающий любой
Backend. - TrackedObject — отслеживаемый объект, связывающий
Instanceи историю перемещений. - TimedPointQueue — FIFO-очередь точек траектории с O(1) расчетом центроида.
- TimedPoint — точка (
Point), расширенная временной меткой (timestamp).
render¶
Типобезопасная визуализация, оптимизированная для embedded-систем.
Классы¶
- Drawer — основной движок рендеринга с декоратором
@validate_frame. - Style — централизованная конфигурация (palette, stroke, fill, font, alpha, show).
- Stroke / Fill / Font — гранулярные настройки стилей.
- LabelPosition — Enum для позиционирования бейджей (
TOP,BOTTOM,CENTER,OFFи др.).
utils¶
Высокопроизводительные вспомогательные функции.
Функции¶
- get_frame_illumination() — оценка освещённости кадра с использованием grid-sampling (в 10-50 раз быстрее полной обработки кадра на Raspberry Pi). Поддерживает методы
BGR,GRAY,LAB.