Разработка системы детекции объектов на изображениях (Object Detection)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка системы детекции объектов на изображениях (Object Detection)
Средняя
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Разработка системы детекции объектов на изображениях (Object Detection)

Детекция объектов — задача одновременной локализации (bounding box) и классификации объектов на изображении. Одна модель за один проход выдаёт: координаты рамки, класс объекта, confidence score. Применения: счётчик продуктов на полке, детекция дефектов на конвейере, распознавание автомобилей, поиск людей на видеозаписи.

Выбор детектора

YOLOv8/YOLO11 — оптимальный выбор для большинства задач. Ultralytics-имплементация с хорошей документацией, активной поддержкой, встроенным экспортом в TensorRT/ONNX.

RT-DETR (Real-Time Detection Transformer) — transformer-based детектор, лучшее качество при сопоставимой скорости с YOLOv8.

Grounding DINO — open-vocabulary детекция: находит объекты по текстовому описанию без дообучения. Полезен для прототипирования и задач с редкими категориями.

Модель [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  # number of classes
names: ['cat', 'dog', 'car', 'person', 'bicycle']

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

Детекция требует специфичной аугментации — трансформации должны корректно применяться к bounding boxes:

  • Mosaic — склейка 4 изображений в одно, увеличивает разнообразие контекстов
  • MixUp — смешивание двух изображений с весами
  • Copy-Paste — вырезание объектов и вставка в новый контекст
  • Random crop с сохранением объектов в кадре
  • Albumentations: HorizontalFlip, RandomBrightnessContrast, GaussNoise

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

  • [email protected] — mean Average Precision при IoU threshold 0.5
  • [email protected]:0.95 — более строгий: среднее mAP при IoU от 0.5 до 0.95 с шагом 0.05
  • Precision / Recall при конкретном confidence threshold
  • FPS / latency — для real-time систем

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

NMS и post-processing

Non-Maximum Suppression удаляет дублирующие детекции. Параметры: IoU threshold (0.45–0.7), confidence threshold (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 недель