Розробка системи комп'ютерного зору (CV) під ключ

Дрейф даних — головний ворог CV-моделі в продакшені. Ми стикалися з цим у кожному другому проєкті: модель з mAP 0.95 на валідації падає до 0.6 через місяць після деплою. Причина — змінилося освітлення, кут камери або додався новий клас об'єктів. Щоб цього уникнути, потрібно будувати не просто модель

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Дрейф даних — головний ворог CV-моделі в продакшені. Ми стикалися з цим у кожному другому проєкті: модель з mAP 0.95 на валідації падає до 0.6 через місяць після деплою. Причина — змінилося освітлення, кут камери або додався новий клас об'єктів. Щоб цього уникнути, потрібно будувати не просто модель, а пайплайн комп'ютерного зору з моніторингом дрейфу та автоматичним перенавчанням. Ми робимо саме так.

Які задачі вирішує комп'ютерний зір?

На виробництві — дефектоскопія виявляє брак з точністю до 99.5%, економлячи до 70% витрат на контроль якості. У рітейлі — розпізнавання товарів прискорює каси в 5 разів. У логістиці — трекінг об'єктів (палет, ящиків) та читання штрихкодів скорочує операційні витрати на 30%. Кожна задача вимагає свого підходу до data engineering та вибору архітектури. Наприклад, для детекції в реальному часі (30 FPS) потрібна легка модель YOLOv8-nano (втричі швидша за YOLOv8-large), а для сегментації медичних знімків — важка U-Net або SAM. Середня окупність інвестицій у CV-систему становить 6–12 місяців за рахунок зниження витрат на контроль якості та скорочення простоїв.

Типовий стек CV-системи

Сучасна CV-система будується на трьох рівнях: модель, інференс-сервер, інтеграційний шар. Моделі (вибір залежить від задачі):

  • Класифікація: EfficientNet-B4/B7, ViT-B/16, ConvNeXt
  • Детекція: YOLOv8/YOLO11, RT-DETR, DINO
  • Сегментація: Segment Anything Model (SAM), Mask R-CNN, YOLOv8-seg
  • Генеративні: Stable Diffusion, DALL-E 3 (для аугментації)

Інференс-сервери:

  • NVIDIA Triton Inference Server — для GPU-деплою, батчинг, model ensemble
  • TorchServe — для PyTorch-моделей
  • ONNX Runtime — для edge/CPU деплою
  • TensorFlow Serving — для TF-моделей

Оптимізація для production:

  • TensorRT — прискорення на NVIDIA GPU: 2–5x порівняно з PyTorch
  • ONNX export -> quantization INT8 — для CPU або edge пристроїв
  • Pruning — видалення незначущих ваг при допустимому просіданні accuracy

Документація NVIDIA TensorRT підтверджує, що квантизація INT8 знижує розмір моделі на 75% і прискорює інференс на CPU до 3x.

Як оптимізувати модель для деплою?

  1. Профілюємо модель через NVIDIA Nsight, виявляємо вузькі місця.
  2. Конвертуємо в TensorRT engine з FP16 або INT8 квантизацією.
  3. Налаштовуємо динамічний батчинг (наприклад, batch=8).
  4. Деплоїмо в Triton Inference Server з грейсфул вимкненням та A/B тестом.
  5. Вмикаємо моніторинг дрейфу даних — якщо розподіл змінився, модель перенавчається автоматично.
Приклад експорту YOLOv8 в TensorRT
from ultralytics import YOLO model = YOLO('best.pt') model.export(format='engine', # TensorRT engine device=0, half=True, # FP16 dynamic=False, imgsz=640, batch=8) 

Для продакшену важлива не лише точність, а й швидкість. TensorRT з FP16 дає виграш у 2–5x без значної втрати метрик. Після деплою вмикаємо моніторинг дрейфу даних — якщо розподіл змінився, модель перенавчається автоматично.

Пайплайн розробки

Етап 1: Аналіз задачі та даних Визначення типу задачі (класифікація / детекція / сегментація / etc), вимоги до latency (real-time < 50ms або batch?), цільове залізо (GPU/CPU/Edge). Аудит наявних даних: кількість, якість, баланс класів.

Етап 2: Data Engineering Збір даних при нестачі. Розмітка: CVAT, Label Studio, Roboflow. Аугментація: albumentations (геометричні та кольорові перетворення), Mosaic для детекції. Розбивка: train/val/test стратифікована.

Етап 3: Навчання та експерименти MLflow для трекінгу експериментів. Трансфер лернінг від COCO/ImageNet pretrained. Hyperparameter search через Optuna або Ray Tune.

Етап 4: Оцінка та аналіз помилок Confusion matrix, precision/recall криві, аналіз worst cases. Для детекції: [email protected], [email protected]:0.95. Тест на OOD (out-of-distribution) даних.

Етап 5: Оптимізація та деплой TensorRT/ONNX, профілювання через NVIDIA Nsight. Docker-контейнер, Kubernetes деплой, A/B тест проти baseline.

Вимоги до даних

Задача Мінімум Рекомендується
Класифікація (2–5 класів) 200 фото/клас 1000+ фото/клас
Детекція об'єктів 500 розмічених фото 2000+
Сегментація 300 розмічених фото 1500+
Кастомний OCR 100 прикладів/символ 500+
Складність системи Термін розробки
Проста класифікація, готові дані 2–3 тижні
Детекція/сегментація, збір даних 4–8 тижнів
Комплексна система, edge деплой 8–16 тижнів

Що входить в роботу

  • Документація пайплайну (архітектура, навчання, деплой)
  • Навчання команди замовника роботі з моделлю та її перенавчанню
  • Інтеграція з MLOps-інструментами (MLflow, Kubeflow)
  • Моніторинг дрейфу даних та сповіщення
  • SLA 99.9% аптайм інференс-сервера

Чому обирають нас

Більше 10 років експертизи в Computer Vision, сертифіковані інженери (NVIDIA DLI, TensorRT). Ми реалізували понад 50 проєктів — від розпізнавання номерів на СТО до сегментації супутникових знімків. Кожен проєкт супроводжується заміром business KPIs: зниження помилок на 40%, прискорення процесів у 5 разів.

Замовте розробку CV-системи під ключ — ми оцінимо ваш проєкт та запропонуємо оптимальне рішення. Отримайте консультацію інженера для детальної оцінки.