计算机视觉(Computer Vision)¶
计算机视觉是人工智能的重要分支,致力于让计算机"看懂"图像和视频,从中提取空间几何信息与语义信息,实现对场景的理解与决策。
什么是计算机视觉?¶
计算机视觉的目标是让机器像人类一样理解视觉世界——不仅仅是"看到"像素,而是理解图像中有什么物体、在哪里、是什么形状、彼此之间有什么关系。
核心问题
给定一张图像(像素矩阵),如何从中恢复出场景的几何结构(3D 形状、深度、位姿)和语义信息(类别、属性、关系)?
graph LR
A[原始图像] --> B[图像预处理]
B --> C[特征提取]
C --> D[几何信息]
C --> E[语义信息]
D --> D1[深度估计]
D --> D2[相机标定]
D --> D3[三维重建]
E --> E1[图像分类]
E --> E2[目标检测]
E --> E3[图像分割]
E2 --> F[场景理解]
E3 --> F
D3 --> F
核心概念梳理¶
1. 图像的本质¶
一张数字图像本质上就是一个多维数组:
- 灰度图:\(I \in \mathbb{R}^{H \times W}\),每个像素是一个 0~255 的亮度值
- 彩色图(RGB):\(I \in \mathbb{R}^{H \times W \times 3}\),每个像素由红、绿、蓝三个通道组成
计算机视觉的所有算法,本质上都是在这个数值矩阵上做数学运算。
2. 特征:从像素到语义的桥梁¶
直接用原始像素做识别效果很差,需要提取更有意义的特征(Feature):
| 层级 | 特征类型 | 描述 | 示例 |
|---|---|---|---|
| 底层 | 边缘、纹理、颜色 | 局部像素变化模式 | Sobel 算子、LBP、颜色直方图 |
| 中层 | 形状、部件 | 物体的组成部分 | HOG 特征、SIFT 关键点 |
| 高层 | 语义、类别 | 物体是什么、在做什么 | CNN 高层特征、语义标签 |
从手工特征到深度学习
传统方法需要人工设计特征提取器(如 SIFT、HOG),费时费力且泛化能力有限。深度学习(特别是 CNN)的革命性在于:让网络自动从数据中学习最优特征表示,端到端地完成从像素到语义的映射。
3. 两大核心任务维度¶
计算机视觉任务可以从两个维度来理解:
回答"是什么"的问题:
- 图像分类:整张图属于什么类别?(猫 / 狗 / 车)
- 目标检测:图中有哪些物体?各在什么位置?(用边界框标出)
- 图像分割:每个像素属于什么类别?(像素级精细理解)
- 实例分割:不仅区分类别,还区分同类的不同个体
回答"在哪里 / 什么形状"的问题:
- 深度估计:每个像素距离相机多远?
- 相机标定:相机的内外参数是什么?
- 立体视觉:如何从多个视角恢复 3D 结构?
- 三维重建:如何从图像构建 3D 模型?
4. 从传统方法到深度学习的演进¶
timeline
title 计算机视觉方法演进
2000 之前 : 基于规则的方法
: 模板匹配
: 边缘检测
2000-2012 : 手工特征 + 机器学习
: SIFT / SURF / HOG
: SVM / 随机森林
2012-2015 : CNN 革命
: AlexNet / VGGNet
: 图像分类突破
2015-2020 : 目标检测与分割
: Faster R-CNN / YOLO
: U-Net / Mask R-CNN
2020 至今 : Transformer + 多模态
: ViT / DETR / SAM
: 视觉-语言大模型
本章内容导航¶
本章笔记系统梳理了计算机视觉的核心知识,内容组织如下:
| 章节 | 内容概要 |
|---|---|
| 图像基础与特征提取 | 图像表示、滤波、边缘检测、经典特征描述子(SIFT、HOG 等) |
| 目标检测算法 | 从 R-CNN 到 YOLO,理解如何定位和识别图像中的物体 |
| 图像分割算法 | 语义分割、实例分割、全景分割,像素级场景理解 |
| 空间几何与三维视觉 | 相机模型、立体视觉、深度估计、三维重建 |
graph TB
A[计算机视觉] --> B[图像基础与特征提取]
A --> C[目标检测]
A --> D[图像分割]
A --> E[空间几何与三维视觉]
B --> |特征输入| C
B --> |特征输入| D
C --> |检测框| F[实例分割]
D --> F
E --> |深度信息| G[3D 场景理解]
F --> G