Как вы оцениваете качество аннотированных данных?

Оценка качества аннотированных (размеченных) данных — критически важный этап в построении эффективных систем компьютерного зрения (CV). Плохая или неточная разметка может привести к недообучению, переобучению или искажению целевой функции модели. Поэтому необходимо применять системный подход, сочетающий автоматические проверки, визуальные аудиты, статистический и экспертный анализ.

1. Метрики качества аннотации

A. Accuracy разметки (при наличии эталона)

Если есть проверочные данные (golden set) или размечено несколькими аннотаторами:

  • Pixel Accuracy — в сегментации: доля пикселей с правильной меткой.

  • IoU (Intersection over Union) — степень пересечения разметки с эталоном.

  • Bounding Box IoU — метрика для object detection.

  • Precision / Recall по аннотациям — насколько аннотации полностью охватывают объекты и не содержат ложных.

B. Inter-Annotator Agreement (межразметочное согласие)

Когда данные размечаются несколькими людьми:

  • Cohen's Kappa — согласованность двух аннотаторов с учётом случайности.

  • Fleiss' Kappa — обобщение для более чем двух аннотаторов.

  • Krippendorff's Alpha — устойчив к пропущенным данным.

Высокие значения этих метрик (близкие к 1) указывают на согласие между аннотаторами.

2. Автоматическая проверка качества аннотаций

A. Валидация структуры и форматов

  • Проверка координат bbox:

    • не выходит за границы изображения

    • x_min < x_max, y_min < y_max

  • Маски:

    • корректные бинарные маски

    • площадь не равна нулю

  • Классы:

    • находятся в разрешенном списке (class_id in allowed_labels)
  • Обязательные поля: image_id, bbox, category_id, segmentation, iscrowd, area

B. Проверка статистик аннотаций

  • Распределение классов:

    • не должно быть перекосов (class imbalance)

    • подозрительная частота редких классов

  • Размеры bbox:

    • слишком маленькие/большие могут быть ошибочны
  • Число объектов на изображение:

    • выбросы указывают на проблемы

Пример: изображения с >100 объектов могут быть размечены некорректно или автоматически (и некачественно).

3. Визуальный аудит

  • Визуализация аннотаций:

    • наложение bbox, масок, ключевых точек

    • цветовое кодирование классов

  • Случайный аудит (sampling):

    • выборка 1–5% изображений для ручной проверки
  • Групповой аудит:

    • одна команда проверяет разметку другой
  • Аудит по метаданным:

    • фильтрация по времени разметки (слишком быстро — подозрительно)

    • по аннотаторам (у одних выше ошибка)

Инструменты:

  • Label Studio

  • CVAT

  • Supervisely

  • Roboflow Annotator

  • custom dashboard с overlay

4. Оценка через модель

Использование обученной модели для обнаружения разметочных ошибок:

A. Disagreement Sampling

  • Модель даёт высокую уверенность в классе A, а аннотация — класс B

  • Выбираются примеры с наибольшим расхождением между предсказанием и разметкой

B. Confidence-based audit

  • Модель не обнаруживает объект, размеченный вручную (или наоборот)

  • Сигналы:

    • высокое IoU с отсутствием предсказания

    • высокая уверенность без соответствующей аннотации

C. Explainability карты

  • Grad-CAM показывает, куда смотрит модель

  • Если модель игнорирует размеченный bbox — возможна проблема

5. Поиск дублей и конфликтов

A. Дубли изображений

  • Использование image hashing (Perceptual hash, dHash, aHash)

Сравнение эмбеддингов (CLIP, ResNet50):

python cosine_sim = cosine_similarity(embed1, embed2)

B. Дубли аннотаций

  • Пересекающиеся bbox одного класса

  • Повторяющиеся маски

  • Множественные идентичные keypoints

C. Конфликты в классах

  • Один и тот же объект размечен разными классами (в разных изображениях или аннотаторами)

  • Наличие нерелевантных классов (например, в сегментации «тень» размечена как «человек»)

6. Контроль за аннотаторами

  • Метрики:

    • среднее время аннотации

    • количество ошибок (по аудитам или жалобам)

    • доля неполных аннотаций

  • Автоматическая отправка на проверку изображений с высокой скоростью разметки

  • Gamification и контроль качества в интерфейсах:

    • встроенные golden images

    • feedback от модели

    • проверка 1 из 10 аннотаций аудитором

7. Active Learning для проверки разметки

  • Использование модели для выбора спорных или неуверенных изображений

  • Подача их на повторную разметку или аудит

  • Выбор изображений с:

    • высокой энтропией

    • низким margin (разница между топ-классами)

    • конфликтом с предыдущей аннотацией

8. Метрики покрытия и полноты разметки

  • Coverage:

    • процент изображения, покрытый разметкой

    • для instance segmentation: суммарная площадь mask / площадь изображения

  • Object completeness:

    • все ли видимые объекты размечены?

    • сравнение с моделью: если модель находит объект, а разметки нет — возможно, аннотация неполная

  • Missing annotation rate:

    • количество случаев, когда модель обнаружила что-то, чего нет в разметке

9. Автоматическое восстановление и коррекция

  • Использование модели для генерации "предсказаний" и сравнение с разметкой

  • Полуавтоматическое исправление bbox:

    • обрезание bbox по реальному объекту
  • Заполнение отсутствующих масок через pretrained сегментатор (например, SAM)

10. Статистическая проверка датасета

  • PCA / t-SNE / UMAP на эмбеддингах изображений → поиск кластеров с отсутствием аннотаций

  • Кластеризация (KMeans / HDBSCAN) + выборка по кластерам

  • Аномалии:

    • пустые изображения

    • изображения с одной аннотацией одного и того же объекта 100 раз

    • изображения без аннотаций

11. Аудит данных по времени

  • Проверка смены домена:

    • появление новых объектов

    • изменения условий (зима/лето, день/ночь)

  • Сравнение статистик аннотаций по временным срезам

  • Проверка drift-а в метриках разметки:

    • увеличивается доля маленьких bbox

    • сокращается число масок на изображение

12. Инструменты и библиотеки

Назначение Инструменты
Валидация аннотаций pycocotools, fiftyone, label-studio
--- ---
Визуальный аудит Supervisely, CVAT, Roboflow, VGG VIA
--- ---
Дубли и эмбеддинги imagededup, faiss, CLIP
--- ---
Active Learning modAL, small-text, scikit-learn
--- ---
Explainability captum, torchcam, grad-cam
--- ---

13. Организация пайплайна аудита разметки (пример)

1. Проверка структуры и форматов (CI)

2. Расчет распределений bbox, классов, масок

3. Поиск дубликатов и ошибок в классах

4. Визуальный аудит выборки (1-5%)

5. Обратная проверка через модель (uncertainty sampling)

6. Повторная разметка проблемных кейсов

7. Логирование и обновление golden set

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