高级 #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 与模型部署