Написать в Telegram

Форматы разметки: COCO, YOLO и Pascal VOC — в чём разница

Одна и та же рамка вокруг объекта может быть записана тремя разными способами. Разбираем, чем отличаются основные форматы и какой выбрать под вашу модель.

30 октября 2026 г., 3 мин чтения

Коротко

ФорматФайлыКоординаты рамкиЧто ещё умеетКогда выбирать
COCOОдин JSON на весь датасетx, y левого верхнего угла, ширина, высота — в пикселяхПолигоны и маски сегментации, ключевые точкиДетекция и сегментация, большинство современных фреймворков
YOLOTXT-файл на каждое изображениеЦентр, ширина и высота, нормированные от 0 до 1Сегментация полигонами в новых версияхОбучение моделей семейства YOLO
Pascal VOCXML-файл на каждое изображениеx_min, y_min, x_max, y_max — в пикселяхФлаги «обрезан» и «сложный»Старые пайплайны и совместимость

COCO

Формат датасета Microsoft COCO. Всё хранится в одном JSON: список изображений, список категорий и список аннотаций, где каждая аннотация ссылается на изображение и категорию. Рамка записывается как [x, y, width, height] от левого верхнего угла. Для сегментации есть полигоны и маски в сжатом виде (RLE), для поз — ключевые точки.

Плюс — один файл и богатые возможности. Минус — большой JSON неудобно править вручную и сложнее дописывать частями.

YOLO

На каждое изображение — текстовый файл с тем же именем. Каждая строка — один объект: номер класса и четыре числа x_center y_center width height, нормированные на размеры изображения. Список классов хранится отдельно.

Формат простой и компактный, его легко генерировать и проверять. Из-за нормирования рамки не зависят от разрешения, но при конвертации важно не перепутать центр и угол.

Pascal VOC

XML-файл на изображение с размерами картинки и списком объектов, у каждого — класс и углы рамки xmin, ymin, xmax, ymax. Есть поля для обрезанных и сложных объектов. Формат подробный и читаемый, но избыточный, и сегментация в нём хранится отдельными картинками-масками.

Частые ошибки при конвертации

  • Перепутанная система координат: центр вместо угла или пиксели вместо долей.
  • Сдвиг на один пиксель из-за разной индексации — с нуля или с единицы.
  • Потерянные классы: номера классов в YOLO должны совпадать со списком, на котором учится модель.
  • Повёрнутые фото: EXIF-ориентация у изображения и у разметки может не совпадать.

Перед обучением полезно отрисовать несколько десятков случайных примеров с рамками и посмотреть глазами — это ловит большинство ошибок.

Что выбрать

Если вы не знаете, какая модель будет обучаться, — просите COCO: из него проще всего конвертировать в остальные. Если обучаете YOLO — сразу YOLO. Мы сдаём разметку в любом из этих форматов, а также в JSON, CSV или формате вашей платформы. Подробнее — на странице разметки данных.

Читайте также

Расскажите о задаче

Опишите данные и желаемый результат — ответим в течение дня и предложим тестовую разметку бесплатно.

Георгий Каспарьянц, основатель LabelMe