Инструменты: OpenCV и PyTorch/torchvision
Теорию мы разобрали руками. В реальных проектах за неё отвечают зрелые библиотеки — познакомимся с главными.
OpenCV — библиотека классической обработки изображений и компьютерного зрения. PyTorch + torchvision — фреймворк для глубокого обучения и готовые модели/датасеты CV.
OpenCV: классический CV из коробки
Всё, что мы делали руками во 2–3 разделах (свёртки, размытие, границы, морфология, цветовые пространства), OpenCV делает одной строкой и очень быстро. Это рабочий инструмент для предобработки, работы с видео и камерами, классических алгоритмов.
import cv2
img = cv2.imread("photo.jpg") # загрузить
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # в серый
blur = cv2.GaussianBlur(gray, (5, 5), 0) # гауссово размытие
edges = cv2.Canny(blur, 100, 200) # границы Canny
cv2.imwrite("edges.jpg", edges) # сохранить
За каждой строкой — то, что мы реализовывали вручную: cvtColor — перевод в серый по формуле luma, GaussianBlur — свёртка гауссовым ядром, Canny — детектор границ поверх градиента. Теперь понятно, что у них «под капотом».
PyTorch и torchvision: нейросети
Для глубокого обучения в CV стандарт — PyTorch. Дополнение torchvision даёт три вещи: готовые архитектуры (ResNet, ViT и др.), предобученные веса (для transfer learning) и популярные датасеты с преобразованиями (включая аугментацию).
import torchvision.models as models
import torchvision.transforms as T
# готовая сеть с предобученными весами (ImageNet)
model = models.resnet50(weights="IMAGENET1K_V2")
model.eval()
# конвейер предобработки и аугментации
transform = T.Compose([
T.Resize(256),
T.CenterCrop(224),
T.RandomHorizontalFlip(), # аугментация
T.ToTensor(),
])
Здесь сходятся темы курса: resnet50 — архитектура из раздела 4, weights=... — transfer learning из 6.1, RandomHorizontalFlip — аугментация из 5.5, ToTensor — превращение картинки в тот самый тензор (каналы, высота, ширина).
Экосистема вокруг
| Инструмент | Для чего |
| OpenCV | классическая обработка, видео, камеры |
| PyTorch / TensorFlow | обучение нейросетей |
| torchvision | готовые модели, веса, датасеты CV |
| Pillow (PIL) | простая работа с изображениями |
| timm, Ultralytics (YOLO) | SOTA-модели и детекторы «из коробки» |
Эти библиотеки сторонние и в браузерной песочнице не запускаются — код выше дан для чтения. Но теперь, разобрав механику руками, вы понимаете, что именно эти строки делают внутри.
Итог
- OpenCV — классическая обработка (то, что мы делали руками) быстро и из коробки.
- PyTorch + torchvision — обучение нейросетей, готовые архитектуры, веса и датасеты.
- torchvision связывает темы курса: архитектуры, transfer learning, аугментация, тензоры.
- Эти библиотеки — стандарт индустрии; ручная реализация нужна для понимания.