📦 Модули
instance
Пространственные примитивы для детекций.
Классы
Point — валидированная 3D точка [0.0, 1.0]
Box — axis-aligned 3D bounding box
Polygon — vertex collection для масок сегментации
Obb — oriented (rotated) bounding box
Instance — детектированный объект с классификацией
Пример
example.py from acmenra_cv.instance import Point , Box , Instance
# Создание точки
p = Point ( X = 0.5 , Y = 0.3 , Z = 0.0 )
# Создание bounding box
box = Box ( left = 0.1 , right = 0.5 , top = 0.2 , bottom = 0.8 , front = 0.5 , back = 0.5 )
# Геометрия
center = box . center
area = box . get_area ()
# YOLO форматы
xyxyn = box . to_xyxyn ()
xywhn = box . to_xywhn ()
inference
Backend-agnostic inference и результаты.
Классы
Backend — абстрактный базовый класс для всех backends
YOLOBackend — YOLO-specific backend
Timing — метрики времени (preprocess, prediction, postprocess)
Result — универсальный контейнер результатов
Пример
example.py from acmenra_cv.inference import YOLOBackend , Result
from acmenra_cv.instance import DeviceType , TaskType
from ultralytics import YOLO
# Загрузка модели
model = YOLO ( "yolov8n.pt" )
# Создание backend
backend = YOLOBackend (
model = model ,
device = DeviceType . CPU ,
task_type = TaskType . DETECT ,
threshold = 0.5 ,
)
# Инференс
result = backend . predict ( frame )
# Обработка результатов
for instance in result :
print ( f " { instance . label . name } : { instance . conf : .2f } " )
# Сериализация
result_dict = result . to_dict ()
tracker
Multi-object tracking с persistent IDs.
Классы
Tracker — основной движок трекинга
TrackedObject — отслеживаемый объект с траекторией
TimedPointQueue — очередь точек траектории
TimedPoint — точка с timestamp
Пример
example.py from acmenra_cv.tracker import Tracker
# Создание трекера
tracker = Tracker (
id = 0 ,
backend = backend ,
max_length = 50 ,
)
# Трекинг
tracked_objects = tracker . track ( frame , enable_tracking = True )
# Доступ к траекториям
for obj in tracked_objects :
print ( f "ID: { obj . id } " )
print ( f "Trajectory: { len ( obj . trajectory ) } points" )
render
Типобезопасная визуализация.
Классы
Drawer — основной движок рендеринга
Style — конфигурация стиля
Font — настройки шрифта
Stroke — настройки обводки
Fill — настройки заливки
Пример
example.py from acmenra_cv.render import Drawer , Style , Stroke , Fill
# Настройка стиля
style = Style (
palette = [( 255 , 0 , 0 ), ( 0 , 255 , 0 ), ( 0 , 0 , 255 )],
stroke = Stroke ( thickness = 2 , alpha = 0.8 ),
fill = Fill ( alpha = 0.3 ),
show = True ,
)
# Создание drawer
drawer = Drawer ( style = style )
# Визуализация
output = drawer . draw_instances (
frame = frame ,
tracked_objects = tracked_objects ,
is_box = True ,
is_trajectory = True ,
)
utils
Вспомогательные функции.
Функции
get_frame_illumination() — оценка освещённости кадра
Пример
example.py from acmenra_cv.utils import get_frame_illumination
# Оценка освещённости
illumination = get_frame_illumination (
frame = frame ,
grid_size = 10 ,
method = "BGR" ,
)
print ( f "Illumination: { illumination : .2f } " )
# 0.0 = темнота, 1.0 = максимальная яркость
Следующие шаги
Быстрый старт