Качество и согласованность

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

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

Качество и согласованность результатов разметки можно посмотреть в задаче на вкладке Обзор, а также в выгрузке статистики и результатов разметки. Возможные значения — числа от 0 до 1.

Для каждого вопроса в задании вы можете настроить вес и алгоритм расчета.

Вес

Вес вопроса — это уровень влияния вопроса на итоговое качество или согласованность задания. Возможные значения — любые целые числа.

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

Алгоритмы расчета

Вы можете выбрать один из трех алгоритмов расчета качества и согласованности:

  • binary — алгоритм для вопросов, где требуется полное совпадение ответов. Если ответ разметчика в точности совпадает с контрольным ответом или ответом другого разметчика, то показатель 1. Если ответы хоть в чем-то различаются — 0. Подходит для всех типов заданий.

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

  • iou — алгоритм для заданий сегментации изображений, видео и аудио. При использовании этого алгоритма в других заданиях, показатель будет равен 0.

Как настроить параметры

Вы можете настроить расчет качества и согласованности в проекте на вкладке Интерфейс. Для этого добавьте в блок Specification параметр quality_config, а в него — параметр fields с вопросами, по которым нужно делать расчет. Убедитесь, что названия полей вопросов совпадают с названиями в блоке Config. Для каждого вопроса вы можете задать вес и выбрать алгоритм расчета. Например:

Пример quality_config
"quality_config": {
  "fields": {
    "type_speaker": {
      "type": "levenshtein",
      "weight": 1
    },
    "number": {
      "type": "binary",
      "weight": 2
    }
  }
}

Алгоритм levenshtein

Используется для текстов размером до 5000 символов. При превышении этого ограничения используется binary.

Пример расчета согласованности

Задание: «Напишите, что вы слышите на аудио».

Ответы разметчиков:

  • Разметчик 1: «Наполеон сеял рожь».

  • Разметчик 2: «На поле он сеял рожь».

  • Разметчик 3: «На поле он посеял рожь».

Расчет согласованности:

  • Согласованность ответов разметчиков 1 и 2: 0,89.

  • Согласованность ответов разметчиков 1 и 3: 0,78.

  • Согласованность ответов разметчика 2 и 3: 0,9.

Средняя согласованность по заданию: 0,86.

Пример расчета качества

Задание: «Напишите, что вы слышите на аудио».

Контрольный ответ: «На поле он сеял рожь».

Разметчик Ответ разметчика Качество ответа разметчика

Разметчик 1

«Наполеон сеял рожь»

0,9

Разметчик 2

«На поле он сеял рожь»

1

Разметчик 3

«На поле он посеял рожь»

0,9

Среднее качество по заданию: 0,93.

Алгоритм IOU

IOU (intersection over union) — метрика, оценивающая схожесть объектов. Рассчитывается путем деления размера пересечения объектов на их суммарный размер.

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

Если при сегментации использовалось несколько инструментов, то сначала рассчитывается IOU для каждого инструмента, а затем вычисляется среднее арифметическое значение. Все размеченные объекты считаются равноправными, независимо от уровня их группировки.

Сегментация изображений

Кисть (brush и smart_brush)

Если в классе есть несколько объектов типа «кисть», то перед началом расчета IOU они объединяются в один объект. В результате в каждом из сравниваемых ответов будет по одному объекту этого класса.

Чтобы сравнить пару объектов, мы делим количество пикселей, которые выделены в обоих объектах, на общее количество пикселей, которые выделены хотя бы в одном объекте.

Полигон (polygon)

IOU рассчитывается аналогично кисти.

Эллипс (ellipse)

IOU рассчитывается аналогично кисти.

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

Прямоугольник (bbox)

Чтобы сравнить пару объектов, мы делим площадь пересечения объектов на общую выделенную площадь.

Для расчета IOU группы объектов типа «прямоугольник»:

  1. Проверяем, совпадает ли количество объектов в двух ответах. Если не совпадает, то общий IOU задания равен 0.

  2. Каждому прямоугольнику из одного ответа ищем пару в другом ответе. Для этого проверяем соответствие центра прямоугольника в одном ответе прямоугольнику в другом ответе. Если хотя бы одна пара не сложилась, то общий IOU задания равен 0.

  3. Рассчитываем IOU для каждой пары — математически вычисляем площадь их пересечения и объединения.

  4. Итоговое IOU по этому классу — среднее арифметическое значение всех пар.

Ключевые точки (keypoint)

IOU пары точек считаем по формуле:

IOU = 1 - расстояние между точками / длина диагонали

Для расчета IOU группы объектов типа «ключевые точки»:

  1. Проверяем, совпадает ли количество объектов в двух ответах. Если не совпадает, то общий IOU задания равен 0.

  2. Рассчитываем IOU для каждой пары.

  3. Итоговое IOU по этому классу — среднее арифметическое значение всех пар.

Сегментация аудио и видео

Сегмент (segment)

Для каждого сегмента рассчитывается площадь — длина сегмента умножается на фиксированный показатель высоты.

Далее IOU рассчитывается аналогично инструменту «прямоугольник» из сегментации изображений.

Фрейм (frame)

Для каждого фрейма рассчитываются координаты — к времени фрейма (X) добавляется фиксированный показатель (Y).

Далее IOU рассчитывается аналогично инструменту «ключевые точки» из сегментации изображений.