深色模式
第 09 章 计算机视觉与自动驾驶场景
学习目标
掌握图像分类、目标检测、分割、目标跟踪、IoU、AP/mAP、NMS、YOLO/Faster R-CNN 以及自动驾驶场景中的数据采集、标注、训练、部署流程。
考点地图
高频:图像分类/检测/分割区别、边界框、IoU、mAP、NMS、YOLO、数据标注格式、自动驾驶场景元素、FPS 与推理速度。
1. 计算机视觉任务
| 任务 | 输出 | 例子 |
|---|---|---|
| 图像分类 | 整张图的类别 | 判断图片是否有缺陷 |
| 目标检测 | 类别 + 边界框 | 检测行人和车辆 |
| 语义分割 | 每个像素的类别 | 道路/天空/车辆区域 |
| 实例分割 | 每个对象实例的掩码 | 区分每一个行人 |
| 关键点检测 | 点坐标 | 人体姿态、手势 |
| 目标跟踪 | 视频中持续跟踪对象 | 跟踪车辆轨迹 |
考试重点:分类只输出类别;检测输出类别和框;分割输出像素级结果。
2. 图像数据基础
- 分辨率:宽 x 高。
- 通道:RGB 图像 3 通道,灰度图 1 通道。
- 像素值:常见 0-255,模型输入常归一化到 0-1 或标准化。
- 标注格式:不同平台可能用 VOC、COCO、YOLO 等格式。
3. 图像标注方式
| 标注方式 | 用途 |
|---|---|
| 分类标签 | 图像分类 |
| 矩形框 bbox | 目标检测 |
| 多边形 polygon | 轮廓更精确的检测/分割 |
| 掩码 mask | 语义/实例分割 |
| 关键点 keypoints | 姿态估计 |
标注质量会直接影响检测效果。框太大、太小、漏标、错标都会降低模型性能。
4. 目标检测基础
目标检测输出:
- 类别 class。
- 边界框 bbox。
- 置信度 confidence。
常见框表示:
- 左上角和右下角:
x1, y1, x2, y2。 - 中心点和宽高:
cx, cy, w, h。
5. IoU
IoU = 预测框和真实框交集面积 / 并集面积。
用途:判断预测框是否命中真实目标。常见阈值如 0.5,但具体看任务要求。
理解:
- IoU 越高,框越重合。
- IoU = 0 表示不相交。
- IoU = 1 表示完全重合。
6. Precision、Recall 在检测中的含义
- Precision:检测出的目标中有多少是真的,误检少。
- Recall:真实目标中有多少被检测出来,漏检少。
自动驾驶中漏检行人很危险,所以 Recall 很重要;误检过多也会导致系统频繁误刹。
7. AP 与 mAP
AP:某个类别 Precision-Recall 曲线下的面积。
mAP:多个类别 AP 的平均值。
目标检测比赛常用 mAP 评价整体效果。
mAP 受以下因素影响:
- 分类是否正确。
- 框位置是否准确。
- 置信度排序是否合理。
- 是否漏检或误检。
8. NMS 非极大值抑制
目标检测模型可能对同一目标输出多个框。NMS 用来去重。
步骤:
- 按置信度从高到低排序。
- 保留最高分框。
- 删除与该框 IoU 大于阈值的低分框。
- 重复直到没有框。
NMS 阈值太低可能误删相邻目标;太高可能保留重复框。
9. 常见目标检测算法
9.1 两阶段检测
代表:R-CNN、Fast R-CNN、Faster R-CNN。
特点:先生成候选区域,再分类和回归。通常精度较高,但速度相对慢。
9.2 一阶段检测
代表:YOLO、SSD、RetinaNet。
特点:直接预测类别和框,速度快,适合实时场景。
YOLO 常用于实时目标检测。
10. 分割任务
语义分割:只区分类别,不区分同类不同实例。
实例分割:既区分类别,也区分每个对象实例。
例子:图中有 3 个人。
- 语义分割:都标为“人”。
- 实例分割:人1、人2、人3 分开。
11. 自动驾驶场景元素
常见元素:
- 行人。
- 车辆。
- 交通灯。
- 交通标志。
- 车道线。
- 障碍物。
- 路口。
- 斑马线。
- 限速牌。
自动驾驶场景任务通常包括:采集视频/图片 -> 标注场景元素 -> 训练检测/分类模型 -> 模型评估 -> 部署到仿真平台 -> 根据识别结果控制动作。
12. 自动驾驶数据注意事项
- 视频相邻帧高度相似,划分数据集要避免泄漏。
- 白天、夜晚、雨雪、逆光等场景都应覆盖。
- 小目标、遮挡目标、远距离目标要有标注规则。
- 类别不平衡很常见,如红灯样本多、特殊标志少。
- 推理速度 FPS 很重要,不能只看精度。
- 部署环境可能算力受限,需要模型压缩或加速。
13. 模型部署相关指标
- FPS:每秒处理帧数,越高越快。
- Latency:单次推理延迟。
- Throughput:单位时间处理量。
- Model Size:模型大小。
- mAP:检测精度。
工程中需要精度和速度平衡。
易错点
| 易错点 | 正确理解 |
|---|---|
| 图像分类会输出边界框 | 错。分类只输出整图类别 |
| IoU 越低框越准 | 错。IoU 越高越重合 |
| mAP 是回归指标 | 错。mAP 常用于目标检测 |
| NMS 用于保留所有重复框 | 错。NMS 用于去重 |
| YOLO 通常很慢不适合实时 | 错。YOLO 是一阶段实时检测代表 |
例题
例题 1
目标检测任务的输出通常包括:
A. 类别
B. 边界框
C. 置信度
D. 数据库事务隔离级别
答案:ABC。
例题 2
IoU 表示:
A. 预测框与真实框的交并比
B. 模型训练轮数
C. 代码行数
D. 网络带宽
答案:A。
例题 3
下列属于自动驾驶视觉场景元素的是:
A. 行人
B. 交通灯
C. 车道线
D. 红绿灯
答案:ABCD。
自测清单
- 能区分分类、检测、分割。
- 能解释 IoU、AP、mAP、NMS。
- 能说出 YOLO 和 Faster R-CNN 的区别。
- 能列出自动驾驶常见场景元素。
- 能解释为什么视频数据划分容易泄漏。