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

Почему качество разметки данных для Computer Vision так важно?

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

Часто задаваемые вопросы

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Почему качество разметки данных для Computer Vision так важно?

Плохая разметка — главная причина низкой точности моделей Computer Vision. Один клиент потерял 12% mAP из-за разницы в IoU между аннотаторами в 0.15. Это обошлось в $810–1.2k и две недели дообучения. Мы занимаемся разметкой CV-данных более 5 лет и выполнили 50+ проектов — от 100 до 100 000 изображений. Наши заказчики экономят в среднем 60–75% времени по сравнению с разметкой с нуля, что в денежном выражении составляет около $90–130 на проект.

Проблемы, которые мы решаем

Согласованность аннотаторов — ключевой фактор. IoU 0.65 между двумя разметчиками на мелких объектах — не редкость. Если два bbox одного объекта расходятся на 20%, модель получает противоречивый сигнал. Другая проблема — edge cases: частичная occlusion, низкое разрешение, нестандартные ракурсы. Мы разрабатываем онтологию классов и подробные инструкции, чтобы минимизировать variance. Для контроля качества используем Inter-rater reliability — стандарт в медицинской и промышленной разметке.

Пропуск дефекта из-за некачественной разметки может привести к убыткам в $1.8k–2.6k на дообучении модели. Поэтому мы внедряем многоуровневый QA.

Сравнение инструментов разметки — разметка cv датасетов

Инструмент Ключевая особенность Когда выбрать
CVAT Self-hosted, REST API, командная работа Крупные проекты с развёрнутым QA-пайплайном
Label Studio Мультимодальная разметка, conditional logic Сложные онтологии, смешанные данные
Roboflow Версионирование, встроенная аугментация Быстрый старт, прототипирование

CVAT обрабатывает большие датасеты в 3 раза быстрее Label Studio благодаря встроенной очереди задач. Label Studio выигрывает в гибкости разметки разнородных сущностей.

Пошаговый процесс разметки

  1. Анализ задачи – формализация онтологии классов, определение сложности.
  2. Подготовка инструмента – настройка CVAT или Label Studio, загрузка изображений, при необходимости развёртывание GPU-сервера для авторазметки.
  3. Пилотная разметка – 50–100 изображений для калибровки инструкций.
  4. Основная разметка – параллельная работа аннотаторов с непрерывным QA.
  5. Экспорт и верификация – выгрузка в нужном формате, финальный отчёт по качеству.

Как мы контролируем согласованность аннотаторов?

Мы используем inter-annotator agreement с целевым mean IoU > 0.80. При отклонении возвращаем на доразметку. Senior-специалист проверяет каждый десятый объект. Для крупных проектов внедряем continuous QA.

import numpy as np from itertools import combinations def calculate_iou(box1: list, box2: list) -> float: inter_x1 = max(box1[0], box2[0]) inter_y1 = max(box1[1], box2[1]) inter_x2 = min(box1[2], box2[2]) inter_y2 = min(box1[3], box2[3]) if inter_x2 < inter_x1 or inter_y2 < inter_y1: return 0.0 inter_area = (inter_x2 - inter_x1) * (inter_y2 - inter_y1) area1 = (box1[2]-box1[0]) * (box1[3]-box1[1]) area2 = (box2[2]-box2[0]) * (box2[3]-box2[1]) return inter_area / (area1 + area2 - inter_area) def inter_annotator_iou(annotations_by_annotator: dict) -> dict: annotators = list(annotations_by_annotator.keys()) results = {} for a1, a2 in combinations(annotators, 2): boxes1 = annotations_by_annotator[a1] boxes2 = annotations_by_annotator[a2] ious = [] for b1 in boxes1: best_iou = max( (calculate_iou(b1, b2) for b2 in boxes2), default=0.0 ) if best_iou > 0.1: ious.append(best_iou) results[f'{a1}_vs_{a2}'] = { 'mean_iou': np.mean(ious) if ious else 0.0, 'n_matched': len(ious) } return results 

Auto-labeling для ускорения разметки

Предварительная авторазметка моделью + ручная корректура — стандарт для больших объёмов. Экономия времени 60–75% при правильном выборе модели. Один клиент сэкономил 3 месяца работы двух специалистов, внедрив наш пайплайн авторазметки, что в денежном эквиваленте составило $1.6k–2.3k.

from ultralytics import YOLO import json def auto_label_batch( image_paths: list[str], model_path: str = 'yolov8l-world.pt', conf_threshold: float = 0.5, output_format: str = 'yolo' ) -> dict: model = YOLO(model_path) results = {} for img_path in image_paths: preds = model.predict( img_path, conf=conf_threshold, verbose=False )[0] confident_boxes = [] needs_review_boxes = [] for box in preds.boxes: conf = float(box.conf) entry = { 'bbox': box.xyxy[0].tolist(), 'class_id': int(box.cls), 'confidence': conf } if conf > 0.7: confident_boxes.append(entry) else: needs_review_boxes.append(entry) results[img_path] = { 'auto_labeled': confident_boxes, 'needs_review': needs_review_boxes, 'review_required': len(needs_review_boxes) > 0 } return results 

Форматы экспорта

Формат Применение Инструмент
YOLO TXT YOLOv5/v8/v11 обучение Ultralytics
COCO JSON Detectron2, MMDetection torchvision
Pascal VOC XML TensorFlow Object Detection API TF OD API
LabelMe JSON Сегментация, polygons LabelMe
CVAT XML Импорт/экспорт CVAT cvat-sdk

Сроки и объёмы

Тип разметки Скорость (человек/час) Относительная стоимость
Bbox 200–400 объектов 1x
Polygon 40–80 объектов 4–6x
Semantic segmentation 2–5 изображений 15–20x
Keypoints 50–100 персон 3x
Объём датасета Срок с QA
1000 изображений, bbox 1–2 недели
5000 изображений, bbox 3–4 недели
2000 изображений, polygon 3–5 недель

Почему качество разметки так важно для Computer Vision?

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

Что входит в работу

  • Анализ задачи и разработка онтологии классов
  • Выбор инструмента и настройка проекта
  • Пилотная разметка для калибровки
  • Основная разметка с параллельным QA
  • Экспорт в нужных форматах + отчёт по качеству
  • Поддержка на этапе обучения модели

Опыт нашей команды — 5+ лет, 50+ проектов разметки для Computer Vision. Мы гарантируем согласованность аннотаций и соблюдение сроков. Закажите разметку — мы подготовим датасет с гарантией качества. Свяжитесь, чтобы обсудить ваш проект и получить оценку объёма и стоимости.