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-сервер