高级 #dl#vision#detection
计算机视觉
计算机视觉让计算机"看懂"图像和视频——图像分类识别物体类别,目标检测定位物体位置,语义分割给每个像素分类。YOLO 实现实时检测,SAM 实现通用分割
👀 给计算机”装眼睛”
人看一张照片——瞬间知道”这是海滩、有一个人、一把伞、海浪”。
计算机视觉(Computer Vision, CV) 让计算机做同样的事:识别图像里的物体是什么、在哪、在做什么。
📊 CV 的三大任务
① 图像分类——“这张图里有什么?”
最简单的任务:给一张图 → 输出类别标签。
输入 输出
┌──────────┐ ┌──────┐
│ 🐱 │ → 分类模型 → │ 猫 │
│ 照片 │ │ 置信度0.98│
└──────────┘ └──────┘
经典架构:CNN → 全连接层 → softmax 分类。ImageNet(1000 类、百万级图片)是标准测试基准。
② 目标检测——“物体在哪?”
不仅要知道”有什么”,还要用边界框标出位置:
输入 输出
┌──────────┐ ┌──────────┐
│ 🐱 🐶 │ → 检测模型 → │[猫] (x,y,w,h)│
│ 照片 │ │[狗] (x,y,w,h)│
└──────────┘ └──────────┘
YOLO(You Only Look Once)——最流行的实时检测算法:
# YOLO 的核心思想:一次前向传播同时预测所有边界框
# 把图像划分成 S×S 的网格
# 每个网格预测 B 个边界框(框的位置 + 置信度 + C 个类别概率)
# → 一次性输出所有检测结果
# 效果:在 GPU 上达到 30-100+ FPS(实时!)
③ 语义分割——“每个像素属于什么?”
分割给每个像素分配一个类别标签——比边界框更精细:
输入 输出
┌──────────┐ ┌──────────┐
│ 🐱 🏠 │ → 分割模型 → │███ █████ │
│ 背景 │ │████████ │
└──────────┘ └──────────┘
每个像素标了类别
SAM(Meta 的通用分割模型):输入图片 + 一个点/框 → 自动分割出物体。零样本——不需要微调就能分割没见过的物体。
🔄 视觉 Transformer(ViT)
CNN 统治 CV 近十年。2020 年,Vision Transformer(ViT)证明纯 Transformer 在图像上也能超过 CNN——把图像切成 16×16 的”词块”,像处理句子一样用自注意力处理。
现在 CV 领域的趋势:CNN + Transformer 融合(如 ConvNeXt、Swin Transformer)。
📝 小结
| 任务 | 输入→输出 | 代表模型 |
|---|---|---|
| 图像分类 | 图片→类别 | ResNet、EfficientNet |
| 目标检测 | 图片→框+类别 | YOLO、Faster R-CNN |
| 语义分割 | 图片→像素级类别 | U-Net、SAM |
| 视觉 Transformer | 图片→词块→自注意力 | ViT、Swin |
为什么先学这个? 视觉是 AI 最重要的感知能力之一。学完各领域后,看看怎么把模型落地——MLOps 与模型部署。