Bounding Box
Ограничивающая рамка — это прямоугольник, обозначающий положение объекта на изображении. Форматы xyxy, xywh и YOLO, разметка, а также повёрнутые и 3D-рамки.
Ограничивающая рамка — это наименьший прямоугольник, стороны которого параллельны осям и который охватывает объект на изображении или видеокадре; он задаётся четырьмя числами. Это единица результата в задаче обнаружения объектов: детектор возвращает рамку для каждого объекта вместе с меткой класса и оценкой уверенности, а аннотаторы рисуют такие же рамки на обучающих данных, чтобы обучить модель. Рамка указывает расположение объекта и приблизительный размер, не обводя его контур, поэтому рамки быстро размечать и недорого предсказывать.
Форматы координат#
Координаты изображения начинаются в левом верхнем углу: x увеличивается вправо, а y — вниз. Каждый формат рамки хранит четыре числа, но наборы данных и библиотеки используют разные четвёрки чисел; если перепутать форматы, все рамки незаметно сместятся или растянутся.
- Углы (xyxy): верхний левый угол (x1, y1) и нижний правый угол (x2, y2), в пикселях. В таком формате хранятся аннотации PASCAL VOC; его также используют большинство функций рисования и вычисления IoU.
- Формат COCO: координаты верхнего левого угла, за которыми следуют ширина и высота, [x, y, width, height], в пикселях.
- Формат YOLO: координаты центра рамки, за которыми следуют ширина и высота; каждое значение делится на ширину или высоту изображения, поэтому находится в диапазоне от 0 до 1. Модели Ultralytics YOLO, например YOLO26, обучаются по одному текстовому файлу на изображение, где для каждого объекта отведена отдельная строка: индекс класса, затем x_center, y_center, width и height.
Нормализованные координаты сохраняются при изменении размера: изображение можно масштабировать до любого разрешения для обучения, не переписывая метки, поскольку рамки хранятся как доли размера изображения.
from ultralytics import YOLO
# Загружаем предварительно обученный детектор YOLO26 nano
model = YOLO("yolo26n.pt")
# Обнаруживаем объекты и берём рамки с первого изображения
results = model("https://ultralytics.com/images/bus.jpg")
boxes = results[0].boxes
# Одна и та же первая рамка в четырёх форматах
print(boxes.xyxy[0]) # углы в пикселях
print(boxes.xywh[0]) # центр, ширина и высота в пикселях
print(boxes.xyxyn[0]) # углы, разделённые на ширину и высоту изображения
print(boxes.xywhn[0]) # центр и размер, разделённые на размер изображения, как в метках YOLOВсе четыре строки описывают один прямоугольник. В нормализованных вариантах значения в пикселях делятся на размер изображения 810 × 1080, а xywh отсчитывается от центра рамки, поэтому отличается от xywh формата COCO с координатами верхнего левого угла.
Как детекторы предсказывают рамки#
Детектор предсказывает рамки как регрессионные выходы во множестве точек изображения. В ранних архитектурах предсказывались смещения относительно заранее заданных якорных рамок фиксированных размеров и соотношений сторон, а безъякорные детекторы напрямую предсказывают расстояния от точки сетки до четырёх сторон рамки. При обучении предсказанные рамки сравниваются с размеченными с помощью функций потерь на основе пересечения над объединением (IoU). Поскольку соседние точки предсказывают перекрывающиеся рамки для одного объекта, подавление немаксимумов (NMS) удаляет дубликаты во время инференса.
Разметка ограничивающих рамок#
Детектор учится рисовать рамки так, как они нарисованы в разметке, поэтому правила аннотирования данных определяют качество рамок. Хорошие правила разметки требуют, чтобы рамки касались видимых границ каждого объекта, а также чтобы были размечены все экземпляры всех классов: неразмеченный объект учит модель считать его фоном. Кроме того, правила должны однозначно определять обработку перекрытых и обрезанных объектов, например требовать обводить только видимую часть. При оценке применяются те же правила, поскольку предсказание оценивается по IoU с размеченной рамкой.
Ограничивающие рамки и другие типы областей#
- Поворачиваемые ограничивающие рамки (OBB): пятое значение — угол поворота — позволяет поворачивать рамку, чтобы точнее охватить наклонённые объекты, например корабли или автомобили на аэрофотоснимках, и включить в неё меньше фона.
- Сегментация экземпляров: маска по пикселям, которая очерчивает точную форму каждого объекта.
- Ключевые точки: отдельные ориентирные точки, например суставы тела для оценки позы.
- Трёхмерные ограничивающие рамки: параллелепипеды в реальном пространстве, обычно описываемые семью числами: координатами центра (x, y, z), длиной, шириной и высотой в метрах, а также углом направления.










