Дрейф даних — головний ворог 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.
Як оптимізувати модель для деплою?
- Профілюємо модель через NVIDIA Nsight, виявляємо вузькі місця.
- Конвертуємо в TensorRT engine з FP16 або INT8 квантизацією.
- Налаштовуємо динамічний батчинг (наприклад, batch=8).
- Деплоїмо в Triton Inference Server з грейсфул вимкненням та A/B тестом.
- Вмикаємо моніторинг дрейфу даних — якщо розподіл змінився, модель перенавчається автоматично.
Приклад експорту 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-системи під ключ — ми оцінимо ваш проєкт та запропонуємо оптимальне рішення. Отримайте консультацію інженера для детальної оцінки.







