Syntidata
Главная / Блог / Разметка данных / Как написать инструкцию для разметчиков

Как написать инструкцию для разметчиков

Разметка данных

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

Как написать инструкцию для разметчиков

Зачем нужна инструкция и почему её пишут плохо

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

Типичная плохая инструкция — страница текста вроде «обведите все автомобили на изображении». Сразу возникают вопросы. Нужно ли обводить машину, видимую на десять процентов? Что делать с автомобилем на рекламном плакате? Входит ли в рамку зеркало, выступающее за кузов? Считать ли грузовик автомобилем? Если инструкция не отвечает на эти вопросы, ответы придут от разметчиков, причём разные.

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

Структура рабочей инструкции

Мы используем структуру из семи блоков. Она подходит и для рамок, и для масок, и для ключевых точек.

1. Цель разметки в двух предложениях

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

2. Словарь классов

Для каждого класса нужны три элемента: определение, положительные примеры и отрицательные. Определение должно опираться на наблюдаемые признаки, а не на сущность. Формулировка «паллета — деревянное основание для грузов» хуже, чем «паллета — плоское основание с нижним ярусом опор, на котором стоят или могут стоять грузы; пустая паллета тоже размечается».

Для каждой пары похожих классов добавьте раздел «как отличить»: чем коробка отличается от ящика, чем каска от кепки, чем дефект от загрязнения.

3. Правила геометрии

Здесь описывается, как именно обводить объект. Для рамок это:

  • рамка прилегает к видимым границам объекта без запаса;
  • тонкие выступающие части (антенны, ручки, провода) включаются или не включаются, и это нужно сказать явно;
  • тень и отражение не входят в объект;
  • для обрезанных краем кадра объектов рамка заканчивается на границе изображения.

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

4. Граничные случаи

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

5. Критерии пропуска и сомнения

Разметчик должен знать, что делать, когда он не уверен: пропустить кадр, поставить флаг «спорное», задать вопрос куратору. Без такого правила он либо угадает, либо сделает случайно. Ввод отдельной метки «сомнение» — дешёвый способ собрать самые сложные примеры для разбора.

6. Требования к качеству и скорости

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

7. История изменений

Инструкция живая. Каждое изменение фиксируется с описанием, чтобы было понятно, какие данные размечены по старой версии, а какие по новой.

Граничные случаи: как их собирать

Нельзя придумать все спорные ситуации за столом. Их нужно найти на реальных данных. Рабочий процесс выглядит так.

  1. Возьмите 50–100 разнообразных изображений, включая намеренно сложные.
  2. Попросите двух-трёх человек независимо разметить их по черновику инструкции.
  3. Сравните результаты. Места расхождений — это и есть граничные случаи.
  4. Для каждого расхождения примите решение и добавьте его в инструкцию с иллюстрацией.
  5. Повторите цикл на новой выборке, пока доля расхождений не упадёт до приемлемого уровня.

Обычно хватает двух-трёх итераций. Для сравнения разметок используют долю пересечения рамок или масок; если вы не уверены в метриках, загляните в разбор метрик детекции, там описана метрика пересечения IoU, которой удобно пользоваться и здесь.

Хороший ориентир: если два независимых разметчика совпадают по классу и перекрытию рамок выше 0,8 минимум в девяти случаях из десяти, инструкция готова для массового запуска.

Как оформлять примеры

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

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

Хорошая инструкция для проекта средней сложности — это 6–12 страниц, в которых текста меньше половины. Если документ вырос до тридцати страниц, его никто не читает, и пора разделить его на основной и справочный разделы.

Типичные ошибки при составлении

Слишком много правил сразу

Разметчик может держать в голове ограниченное число правил. Вводите самые важные в начале, остальные выносите в справочник. Лучше короткая инструкция, которую читают, чем исчерпывающая, которую пролистывают.

Противоречия

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

Отсутствие обратной связи

Разметчики видят проблемы первыми. Заведите канал для вопросов, регулярно собирайте частые вопросы и превращайте их в правки. Ответ, данный в чате, но не записанный в инструкцию, будет забыт через неделю.

Неучтённое различие между разметкой и проверкой

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

Особенности для разных видов задач

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

Что меняется, если часть данных синтетическая

Синтетические датасеты не нуждаются в инструкции для разметчиков в привычном смысле: аннотации вычисляются из 3D-сцены, поэтому разночтений нет. Однако определения всё равно нужны, только пишутся они один раз на этапе постановки задачи: какие объекты попадают в класс, как считаются закрытые части, какие атрибуты сохраняются. Эти правила становятся частью конфигурации генерации и применяются одинаково ко всем изображениям. На практике это означает, что инструкцию стоит писать даже для проектов без ручного труда: она дисциплинирует постановку задачи. Подробнее о том, как мы размечаем синтетические кадры масками и рамками, смотрите на странице разметки данных.

Чек-лист перед запуском

  • Цель разметки сформулирована и понятна разметчику.
  • Для каждого класса есть определение и минимум три примера.
  • Описаны правила геометрии и работа с обрезанными и закрытыми объектами.
  • Собраны граничные случаи с картинками и решениями.
  • Есть правило для сомнительных кадров и канал для вопросов.
  • Проведён пилот на 50–100 кадрах, получено согласие разметчиков выше целевого порога.
  • Назначен владелец документа и ведётся история изменений.

Работа с командой разметчиков в процессе

Инструкция не заканчивается после запуска. Первую неделю полезно проводить короткие ежедневные разборы: куратор показывает три-пять типичных ошибок, объясняет правило и при необходимости дополняет документ. Разметчикам важно знать, что их вопросы приветствуются, а не воспринимаются как нежелание работать. Хорошо работает простая практика: еженедельная сводка по ошибкам с анонимными примерами и обновлениями правил. Так команда быстро выравнивает понимание, а доля возвратов на доработку заметно снижается.

Если вам нужна помощь с постановкой задачи разметки или готовый шаблон инструкции под ваш проект, напишите на [email protected]. Мы поможем оценить, какую часть работы можно перенести на автоматическую генерацию аннотаций, а какую лучше оставить людям.


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