Как вы оцениваете качество аннотированных данных?
Оценка качества аннотированных (размеченных) данных — критически важный этап в построении эффективных систем компьютерного зрения (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, включать автоматизацию, поддержку ручных аудитов и постоянную обратную связь от модели, пользователей и команды. Это помогает не только обнаруживать ошибки, но и системно улучшать датасет.