Розробка системи детекції об'єктів на зображеннях (Object Detection)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка системи детекції об'єктів на зображеннях (Object Detection)
Середній
від 1 тижня до 3 місяців
Часті запитання

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

Етапи розробки AI-рішення

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

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

Розробка системи детекції об'єктів на зображеннях

Детекція об'єктів — завдання одночасної локалізації (bounding box) і класифікації об'єктів на зображенні. Одна модель за один прохід видає: координати рамки, клас об'єкту, оцінку впевненості. Застосування включають лічильник продуктів на полиці, детекцію дефектів на конвеєрі, розпізнавання автомобілів, пошук людей на відеозаписі.

Вибір детектора

YOLOv8/YOLO11 — оптимальний вибір для більшості завдань. Реалізація Ultralytics з хорошою документацією, активною підтримкою та вбудованим експортом у TensorRT/ONNX.

RT-DETR (Real-Time Detection Transformer) — трансформер-базований детектор, краща якість при порівнянній швидкості з YOLOv8.

Grounding DINO — детекція з відкритим словником: знаходить об'єкти за текстовим описом без перенавчання. Корисна для прототипування та завдань з рідкісними категоріями.

Модель [email protected] COCO FPS (T4) Параметри
YOLOv8n 52.9 320 3.2M
YOLOv8l 64.9 87 43.7M
YOLO11m 64.0 183 20.1M
RT-DETR-L 65.6 74 32M

Fine-tuning для користувацьких класів

from ultralytics import YOLO

# Завантажуємо попередньо навчену модель
model = YOLO('yolov8l.pt')

# Навчаємо на користувацькому датасеті
results = model.train(
    data='dataset.yaml',      # шлях до конфігу датасету
    epochs=100,
    imgsz=640,
    batch=16,
    optimizer='AdamW',
    lr0=0.001,
    lrf=0.01,                 # final LR = lr0 * lrf
    weight_decay=0.0005,
    augment=True,
    degrees=10.0,             # rotation augmentation
    mosaic=1.0,               # mosaic augmentation
    device=0
)

Структура dataset.yaml:

path: /data/myproject
train: images/train
val: images/val
test: images/test

nc: 5  # кількість класів
names: ['cat', 'dog', 'car', 'person', 'bicycle']

Аугментація для детекції

Детекція вимагає специфічної аугментації — трансформації мають коректно застосовуватися до bounding boxes:

  • Mosaic — склеювання 4 зображень в одне, збільшує різноманітність контекстів
  • MixUp — змішування двох зображень з вагами
  • Copy-Paste — вирізання об'єктів і вставлення в новий контекст
  • Random crop з збереженням об'єктів у кадрі
  • Albumentations: HorizontalFlip, RandomBrightnessContrast, GaussNoise

Метрики детекції

  • [email protected] — середня Average Precision при IoU пороговому 0.5
  • [email protected]:0.95 — суворіша: середнє mAP при IoU від 0.5 до 0.95 з кроком 0.05
  • Precision / Recall при конкретному порозі впевненості
  • FPS / latency — для систем реального часу

Вибір порога впевненості: ROC-подібна крива precision-recall, вибір порога залежить від допустимого балансу precision/recall для конкретного застосування.

NMS та постобробка

Non-Maximum Suppression видаляє дублюючі детекції. Параметри: Ioріг IoU (0.45–0.7), поріг впевненості (0.25–0.5). Для щільно розташованих об'єктів — Soft-NMS або Class-Agnostic NMS.

Розгортання

TensorRT engine для NVIDIA GPU: експорт з Ultralytics однією командою. ONNX для CPU розгортання. Для Raspberry Pi / Jetson: YOLO11n у TFLite / ONNX.

Завдання Хронологія
Детекція 1–5 класів, достатньо даних 1–3 тижні
Детекція 20+ класів, збір даних 4–7 тижнів
Детекція в складних умовах (ніч, туман) 6–10 тижнів