ML Fundamentals

Computer Vision

Компьютерное зрение — область ИИ, которая учит машину извлекать смысл из изображений и видео.

Что такое Computer Vision

Computer Vision (CV, компьютерное зрение) — направление искусственного интеллекта, которое учит машину понимать содержание изображений и видео: что изображено, где именно находится объект, сколько объектов в кадре, что происходит между соседними кадрами.

Для компьютера картинка — это тензор чисел: высота × ширина × 3 канала цвета. Задача CV — превратить этот массив пикселей в осмысленный ответ: метку, координаты, маску, текст.

Сложность в том, что один и тот же объект даёт совершенно разные массивы пикселей при смене света, ракурса или фона. Именно поэтому подход «сравнить с эталоном» не работает, а работают нейросети, обучающиеся на тысячах разных примеров.

Задачи компьютерного зрения

Задача Что на выходе Пример применения
Классификация Метка на всё изображение Брак / не брак
Детекция Рамки + классы объектов Подсчёт людей, YOLO
Семантическая сегментация Класс для каждого пикселя Дорога и разметка
Instance segmentation Маска отдельно для каждого объекта Подсчёт слипшихся деталей
OCR Текст с изображения Распознавание документов
Tracking Один и тот же объект между кадрами Траектории на видео
Pose estimation Ключевые точки скелета Спорт, контроль охраны труда
Оценка глубины Расстояние до каждого пикселя Робототехника

Задачи упорядочены по цене разметки. Классификация требует одной метки на картинку, сегментация — обводки каждого объекта по контуру. На реальном проекте разметка датасета обычно дороже и дольше, чем обучение модели, поэтому стоит брать самую простую формулировку, которая решает задачу: если достаточно посчитать объекты, не нужна сегментация.

Архитектуры

  • CNN (свёрточные сети) — базовая идея области. Свёртка ищет локальные узоры: слои у входа находят края и градиенты, глубокие слои — из них части объектов. ResNet до сих пор рабочая лошадка для классификации.
  • YOLO — однопроходные детекторы для реального времени.
  • ViT (Vision Transformer) — трансформер для картинок: изображение режется на патчи, и дальше они обрабатываются как последовательность токенов, механизмом attention. Требует больше данных, чем CNN, но лучше масштабируется.
  • CLIP — обучен на парах «картинка + подпись», сближая их эмбеддинги. Даёт поиск картинок текстом и классификацию без обучения под конкретные классы.
  • SAM (Segment Anything) — сегментация произвольного объекта без дообучения под предметную область.

Перелом в области случился в 2012 году: AlexNet выиграла ImageNet с большим отрывом от классических методов и показала, что признаки не нужно проектировать вручную — сеть выучит их сама.

Типичный пайплайн

Кадр (видео/камера)
    ↓
Декодирование (лучше на GPU — NVDEC)
    ↓
Препроцессинг: resize, нормализация → тензор (B, 3, H, W)
    ↓
Модель: backbone → head
    ↓
Постобработка: NMS, фильтр по порогу confidence
    ↓
Результат: классы, рамки, маски

Метрики

  • Accuracy, top-1 / top-5 — доля верных ответов для классификации
  • IoU — насколько предсказанная область совпала с настоящей
  • mAP — усреднённая точность детекции по классам и порогам IoU
  • mIoU — усреднённый IoU для сегментации

Метрику выбирают под цену ошибки. Для контроля качества на производстве важнее не пропустить брак (полнота), для автоматической блокировки — не сработать ложно (точность).

GPU для computer vision

  • Обучение. Дообучить детектор или классификатор на своих данных — задача для одной RTX 4090 или L40S: порог входа заметно ниже, чем у LLM. Обычно это не обучение с нуля, а fine-tuning готовой модели.
  • Инференс. Модели компактны, узкое место — не VRAM, а поток кадров. Помогают батчинг, FP16, экспорт в TensorRT.
  • Видео. Декодирование потоков нужно держать на GPU (NVDEC). Иначе CPU станет узким местом раньше, чем сеть, и видеокарта будет простаивать.
  • Разделение карты. Несколько лёгких CV-моделей на одной карте удобно разносить через MIG.

Практическое отличие от LLM: в CV нагрузка обычно постоянная и предсказуемая (камеры пишут круглосуточно), а не всплесками. Это меняет экономику — выгоднее ровно загруженная своя карта, чем оплата за запрос.

Связанные термины

  • YOLO — самый распространённый детектор объектов
  • ИИ — область, частью которой является CV
  • тензор — форма, в которой изображение попадает в модель
  • датасет — размеченные изображения, главный ресурс проекта
  • fine-tuning — дообучение готовой модели под свою задачу
  • GPU — железо для обучения и обработки видеопотоков

Готовы запустить GPU-задачу?

Запустить GPU-сервер