Разметка датасетов Computer Vision с прелейблингом и контролем качества

Разметка данных для компьютерного зрения тормозит проект, когда проверка съедает больше времени, чем сама аннотация. Мы настраиваем разметку под ключ: прелейблинг, регламенты качества и контроль на потоке. Доля переделок падает, а поток выходит на стабильный темп.
Часто задаваемые вопросы

Разметка данных для компьютерного зрения: узкие места

Модель показывает на валидации mAP под 0.9 и уверенный recall по редким классам, а в работе пропускает дефекты на новом освещении и путает похожие категории. Причина обычно не в архитектуре: выборки собраны одним подрядчиком по одной инструкции, а в продакшене приходят кадры с другой камеры, другого сезона и другой смены. Качество разметки на валидации держится ровно потому, что в ней нет тех пограничных случаев, где разметчик ошибался.

Чаще всего виновато расхождение валидации и продакшена: обучающий датасет собран с одной партии оборудования и в одном сценарии, а тестовая часть просто повторяет его распределение. Дополнительно накапливаются ошибки разметки — обрезанные или сдвинутые боксы, потерянные мелкие объекты, метки на фоне, разные определения класса у разных исполнителей при IoU 0.3–0.5. Ни loss, ни метрики такие дефекты не ловят: модель выучивает шум как закономерность.

Отраслевые оценки сходятся: до трёх четвертей времени в проектах компьютерного зрения уходит не на обучение, а на подготовку, прелейблинг и перепроверку данных — по данным AI Index. Пропущенная ошибка разметки стоит дороже на этапе внедрения, чем на этапе сбора: разбираем, как это закрывается дисциплиной процесса, а не расширением выборки.

Что даёт прелейблинг и контроль качества на потоке

Прелейблинг — это предварительная разметка кадра моделью до того, как его увидит оператор: детектор ставит рамки и классы, трекер протягивает объекты между соседними кадрами. Оператор не рисует с нуля, а подтверждает или правит. Разметку ведём в CVAT с собственными расширениями под прелейблинг и проверку — поэтому оба эффекта ниже измеряются на каждом проекте, а не остаются обещанием.

Прелейблинг: во сколько раз падает объём ручной работы

На видео трекинг снимает с оператора рутинную протяжку объектов между кадрами — остаётся правка границ на смене сцены и контроль появления новых объектов. На статичных кадрах детектор предзаполняет рамки с классами, и оператор работает в режиме подтверждения, а не разметки с чистого листа. У прелейбла есть порог уверенности: ниже него объект уходит как «неуверенный», выше — попадает в выборочную проверку.

Это сокращает ручную работу не «в среднем», а предсказуемо: доля кадров, уходящих на полную правку, падает в разы, а разброс качества между исполнителями сужается, потому что правила интерпретации задаёт модель, а не каждый разметчик по-своему.

Сквозной контроль качества и разбор спорных кадров

Кадр проходит не одну вычитку, а цепочку: автопроверка геометрии и классов → выборочная перекрёстная проверка → разбор спорных случаев отдельным составом. Спорные кадры не «замазываются» большинством голосов, а уходят в очередь с эталонным решением — оно становится правилом для похожих ситуаций и фиксируется в инструкции. Контроль качества разметки даёт измеримый результат: доля правок после вычитки падает от итерации к итерации, а метрика модели на отложенной выборке перестаёт прыгать между переобучениями.

Сравнение режимов разметки данных: штат, подрядчик, гибрид

Выбор исполнителя разметки решает не вопрос цены, а вопрос класса объектов и объёма потока. Свой штат разметчиков держит спорные классы и правки инструкции под контролем, но плохо переносит пики: найм и обучение занимают недели, а между проектами люди простаивают.

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

Вариант Когда подходит Ограничения
Свой штат разметчиков Узкие классы с высокой ценой ошибки, закрытые данные, частые правки инструкции Медленно масштабируется, дорого держать простой между проектами
Внешняя команда Массовый поток однотипных кадров, стабильная инструкция на месяцы Зависит от качества инструкции и ротации исполнителей
Гибридная схема с прелейблингом Пик по объёму вместе со спорными классами, нужен быстрый старт Требует своего ядра для проверки и приёмки

Ограничения по типам объектов

Рамки и точки размечаются быстрее и почти без потерь уходят внешней команде. Полигоны, маски и скелеты требуют единых правил на границах и перекрытиях: здесь подрядчика подключают через прелейблинг модели, а спорные случаи разбирает своё ядро.

Что меняется при росте объёма кадров

На потоке в разы растёт доля пропущенных объектов и двойных рамок — узким местом становится контроль качества, а не сама разметка. Гибрид переживает этот перелом легче: прелейблинг снимает рутину, выборочная проверка ловит расхождения, а согласие между разметчиками показывает, когда инструкцию пора переписать.

Как устроен процесс: аудит, схема, пилот, передача

Процесс строим так, чтобы разметка не превращалась в чёрный ящик: на каждом этапе остаётся проверяемый артефакт и метрика качества. Так видно, на каком шаге какой результат появляется.

  1. Аудит исходного набора. Состав кадров, условия съёмки, дубликаты, доля кадров без целевых объектов, битые выгрузки.
  2. Схема классов и атрибутов. Список классов, версия схемы, правила для пограничных случаев: перекрытия, частично видимые объекты, блики.
  3. Предварительная разметка моделью. Черновик от сети разметчик правит вручную — проход ускоряется в разы, но контроль остаётся.
  4. Контроль качества. Перекрёстная проверка спорных кадров, метрика согласия между исполнителями, разбор расхождений с обновлением инструкции.
  5. Пилотная партия. Небольшой срез проходим целиком и считаем долю ошибок — по ней правим инструкцию до старта основного объёма.
  6. Приёмка и передача. Выгрузка в формате, который принимает ваша модель, реестр версий, инструкции, обучение вашей команды.

Что показывает аудит исходного набора

Чаще всего он вскрывает неочевидное: часть кадров дублируется, у многих нет объектов нужного класса, а разметка разных исполнителей противоречит сама себе. Не увидев этого на входе, ошибку масштабируют на весь набор.

Как устроена приёмка и обучение команды заказчика

На приёмке выборочно проверяем партию по тем же правилам, что и исполнители, и показываем расхождения. Затем передаём документацию по схеме классов и разбираем с вашей командой, как принимать следующие партии самостоятельно.

Комплект поставки: схемы, регламенты, документация

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

Инструкция разметчика и правила разрешения спорных случаев

Инструкция разметчика — рабочий документ под конкретную схему, а не общий гайд: для каждого класса прописан порядок действий, граничные примеры и типовые ошибки с визуальными эталонами. Спорные случаи не решаются на месте — разметчик ставит флаг на объект, арбитр фиксирует решение в журнале, и оно входит в следующую ревизию инструкции.

  • Схема разметки и атрибутов — иерархия классов, типы геометрии, обязательные и опциональные признаки, правила перекрытий и минимальный размер объекта.
  • Инструкция разметчика — алгоритм по каждому классу, визуальные эталоны, разбор типичных ошибок.
  • Регламент контроля качества — доля повторной проверки, порог согласия между разметчиками, правило отправки задачи на переразметку.
  • Правила разрешения спорных случаев — уровни эскалации, роль арбитра, журнал принятых решений.
  • Документация по разметке — форматы выгрузки, словарь классов, история версий схемы.
  • Проверочный набор для приёмки новых исполнителей и отчёт о качестве: какие классы дают основную долю ошибок и как показатель меняется от итерации к итерации.

Кейс: как пилот снизил долю переделок на проверке

Клиент приносил поток записей с камер: ночные сцены, перекрытия, объекты на границе кадра. Разметку вели в CVAT силами распределённой команды — инструкция на двадцать страниц, приёмка последним уровнем. Стабильно 16–18% кадров возвращались на переделку, среднее время на кадр держалось около 40 секунд, и датасет рос медленнее, чем требовал график обучения.

Что именно поменяли в процессе и почему это сработало

Убрали ручную отрисовку «с нуля»: модель предразметки, обученная на уже принятых кадрах, отдаёт аннотатору готовые рамки, а он их правит. Самый долгий этап — поиск границ объекта — исчез, и время на кадр упало до 12–15 секунд.

Контроль качества перенесли с партии на кадр. Спорные случаи — перекрытия, размытие, объект на границе — уходят в отдельную очередь с явно описанным критерием решения, поэтому повторно проверяется не весь датасет, а 6–8% выборки. Инструкцию заменили коротким чек-листом с эталонными примерами: расхождения между аннотаторами сократились.

Итог по метрикам: доля переделок — с 17% до 4%, время на кадр — с 40 до 14 секунд, объём повторных проверок меньше втрое. Метрики качества разметки — согласованность проверяющих и доля кадров, принятых с первого раза — снимаем на каждой поставке, поэтому рост объёма не размывает качество.

Чем прелейблинг отличается от аннотации с нуля?

Прелейблинг и ручная аннотация приводят к одному результату — корректные боксы, маски или ключевые точки на кадре, — но идут к нему по-разному. При автоматической предразметке модель ставит черновые рамки, а аннотатор их подтверждает, сдвигает или удаляет; при разметке с нуля оператор рисует каждый объект сам. Разница проявляется в трудозатратах на кадр и в том, как ведёт себя качество на плотных сценах.

Критерий Прелейблинг Ручная аннотация с нуля
Кто рисует объект модель, человек правит человек целиком
Время на кадр в разы меньше на однородных классах растёт линейно с числом объектов
Границы объектов зависят от модели, нужна доводка стабильнее на нестандартных формах
Плотные сцены слияния и пропуски, нужен контроль управляемо, но медленно
Когда подходит поток данных, крупные однородные классы редкие классы, тонкие границы, спорные случаи

На практике подходы комбинируют: предразметка закрывает основной объём, ручная проверка — классы с высокой ценой ошибки. Граница определяется замером на выборке: если аннотатор правит меньше трети рамок, автоматическая предразметка окупается, если больше — модель протаскивает свои ошибки в датасет, и на этом классе дешевле вернуться к разметке с нуля.

Когда нужна ручная проверка? Там, где объект перекрывается фоном или соседними объектами, где класс визуально неотличим от близкого и где ошибка стоит дорого: медицина, дефектоскопия, учёт транспорта. Здесь контроль сплошной, плюс замер согласованности между аннотаторами — одинаковые случаи должны получать одинаковую метку, иначе модель выучит противоречие.

Технические сомнения: качество, сроки, доступы

Перед стартом техническая сторона вызывает больше вопросов, чем цена. Ниже — пять сомнений, которые чаще всего всплывают на согласовании, и ответы без общих слов: они опираются на регламент приёмки и на то, как устроена проверка разметки.

По каким метрикам вы принимаете разметку?

Согласованность аннотаторов на контрольной подвыборке, доля пересечения масок с эталоном (IoU) и полнота по редким классам. Пороги фиксируем в регламенте заранее: партия не уходит в работу, пока не проходит по всем трём.

Сколько времени займёт разметка?

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

Как передать изображения?

Рабочих схем три: выгрузка в наше хранилище, разметка на вашей инфраструктуре, доступ через защищённый канал с ролевой моделью. Персональные данные обезличиваем на входе, права отзываем после сдачи.

У нас уже есть частично размеченный набор

Проводим инвентаризацию: сверяем схему классов, ищем конфликты и дубли, достраиваем недостающие кадры и приводим всё к одному формату — COCO, YOLO или Pascal VOC.

Можно ли переиспользовать разметку?

Да. Таксономия классов и правила остаются активом: следующий проект стартует не с нуля — схема готова, часть кадров приходит с предварительной разметкой, проверка идёт только по спорным зонам.

Обсудим задачу: с чего начать и что понадобится

Чтобы вернуться с оценкой проекта разметки, а не с общими формулировками, нам нужен минимум стартовых материалов. Оценка держится на трёх величинах: сколько данных, по каким правилам их размечать и как проверять результат. Чем полнее вход, тем точнее объём разметки и сроки — и тем меньше переделок на этапе сдачи.

  • Пример сырых данных — 200–500 файлов из реального потока, а не отобранные «удачные» кадры: на них видно шум, дубликаты, битые файлы и редкие классы.
  • Список классов объектов и правила аннотации: что считаем отдельным объектом, как размечаем перекрытия, обрезанные объекты и спорные случаи, какой минимальный размер объекта учитываем.
  • Ожидаемый объём разметки: число кадров и объектов, доля кадров под сплошную проверку, нужна ли разметка с нуля или достаточно предразметки модели с доразметкой оператором.
  • Требования к выгрузке: структура каталогов, формат аннотаций, разбиение на выборки и то, как результат попадёт в обучение модели.
  • Критерии приёмки и метрики качества: допустимая доля ошибок на выборке, согласие между разметчиками, порядок переразметки спорных примеров и обработки замечаний заказчика.
  • Материалы прошлых итераций, если они есть: старые аннотации, журнал правок, известные проблемные классы — это снимает отдельный цикл калибровки.

Опишите задачу и приложите то, что уже есть, — вернёмся с оценкой и планом работ: этапы, сроки, состав команды и точки контроля качества на каждом шаге.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139