Розмітка даних Computer Vision: прелейблинг та контроль якості

Якісна розмітка CV-датасетів з прелейблингом

Напрямки 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

Якісна розмітка CV-датасетів з прелейблингом

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

Проблеми, які ми вирішуємо

Узгодженість аннотаторів — ключовий фактор. IoU 0.65 між двома розмітниками на дрібних об'єктах — не рідкість. Якщо два bbox одного об'єкта розходяться на 20%, модель отримує суперечливий сигнал. Інша проблема — edge cases: часткова occlusion, низька роздільна здатність, нестандартні ракурси. Ми розробляємо онтологію класів і детальні інструкції, щоб мінімізувати variance. Для контролю якості використовуємо Inter-rater reliability — стандарт у медичній та промисловій розмітці.

Пропуск дефекту через неякісну розмітку може призвести до збитків у 200 000 гривень на донавчанні моделі. Тому ми впроваджуємо багаторівневий QA.

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

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

CVAT обробляє великі датасети в 3 рази швидше за Label Studio завдяки вбудованій черзі завдань. А авторозмітка YOLO працює в 5 разів швидше за ручну розмітку. 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 місяці роботи двох спеціалістів, впровадивши наш пайплайн авторозмітки, що в грошовому еквіваленті склало 180 000 гривень. Загалом економія на проєкті може сягати 80 000 гривень.

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. Ми гарантуємо узгодженість анотацій та дотримання термінів. Ми виконуємо розмітку під ключ: оцінимо ваш проєкт за 24 години. Напишіть нам для консультації — до 10 000 зображень за 2 тижні. Оцінимо проєкт безкоштовно.