计算机视觉实战路线

计算机视觉(Computer Vision, CV)研究如何让机器从图像和视频中提取信息。学习时应先掌握图像数据与评估方法,再进入分类、检测、分割、跟踪和视觉语言模型。

1. 任务地图

任务输入输出典型应用
图像分类单张图像类别/概率缺陷分类、场景识别
目标检测图像类别、边界框车辆/行人检测
语义分割图像像素类别图道路、天空、可行驶区域
实例分割图像每个实例的掩码人群、零件计数
姿态估计图像/视频关键点人体动作、机械臂
多目标跟踪视频帧跨帧目标 ID交通流分析
OCR图像文本及位置仪表读数、票据识别
图文理解图像+文本对齐、描述、问答图像检索、视觉助手

2. 核心知识

  • 图像表示:像素、通道、分辨率、色彩空间、归一化。
  • 卷积:局部感受野、权重共享、步长、填充、感受野。
  • CNN:LeNet、AlexNet、VGG、ResNet、EfficientNet。
  • 检测:Anchor-based、Anchor-free、Faster R-CNN、YOLO、DETR。
  • 分割:FCN、U-Net、DeepLab、Mask R-CNN、SAM。
  • Transformer:ViT、Swin Transformer、视觉语言对齐。
  • 数据增强:裁剪、翻转、颜色扰动、MixUp、CutMix;增强必须符合任务语义。

卷积层输出尺寸(单维)常用公式:

其中 H 为输入尺寸,K 为卷积核,P 为 padding,S 为 stride,D 为 dilation。

3. 评估指标

  • 分类:Accuracy、Precision、Recall、F1、混淆矩阵、Top-1/Top-5。
  • 检测:IoU、Precision/Recall、AP、mAP;报告使用的 IoU 阈值与类别平均方式。
  • 分割:mIoU、Dice、Pixel Accuracy;注意类别不平衡。
  • 跟踪:MOTA、IDF1、HOTA;同时检查 ID Switch 和遮挡场景。
  • 部署:端到端延迟、FPS、显存/内存、模型大小、功耗。

边界框 IoU:

高 mAP 不代表在关键场景一定可靠;应按光照、天气、遮挡、小目标、长尾类别分层评估。

4. 数据集入口

  • MNIST:入门分类。
  • CIFAR-10/100:小图像分类。
  • ImageNet:大规模分类预训练与评估,需遵循访问和许可要求。
  • COCO:检测、分割、关键点和图像描述。
  • Pascal VOC:经典检测/分割。
  • Open Images:大规模图像及标注。
  • BDD100K:驾驶场景图像与视频任务。
  • KITTI:自动驾驶视觉、深度和 3D 任务。

下载前确认数据集版本、许可、标注格式、训练/验证/测试划分和是否允许商业使用。

5. 开源项目与工具

6. 项目阶梯

  1. 分类基线:用 CIFAR-10 训练 ResNet,比较随机初始化与迁移学习。
  2. 目标检测:用 COCO 子集或自定义数据训练检测模型,检查标注质量和 mAP。
  3. 分割:用道路/工业缺陷图像训练 U-Net,分析小目标和类别不平衡。
  4. 视频跟踪:检测器结合跟踪器,统计 ID Switch 和遮挡恢复。
  5. 边缘部署:导出 ONNX,比较 FP32、FP16、INT8 的精度、延迟和资源占用。

每个项目都要保留数据说明、训练配置、指标、失败样本、模型许可证和可复现步骤。

7. 经典论文阅读顺序

  • AlexNet:深度 CNN 在大规模图像分类中的突破。
  • VGG:小卷积核堆叠。
  • ResNet:残差连接。
  • Faster R-CNN:区域提议与检测。
  • U-Net:编码器-解码器分割结构。
  • Vision Transformer:将 Transformer 用于图像识别。
  • DETR:端到端目标检测。

相关