1. 计算机视觉的本质与边界
计算机视觉(Computer Vision)这个术语在工程实践中经常被滥用,很多人把它简单理解为"让计算机看懂图像的技术"。实际上,它的内涵要深刻得多。我在2013年第一次接触OpenCV时也犯过这个错误,直到参与了一个工业质检项目后才真正理解其中的差异。
视觉系统可以分为三个层次:
- 感知层:处理原始像素数据(OpenCV中的Mat对象)
- 认知层:理解图像语义(如YOLO的目标检测)
- 决策层:基于理解做出反应(如自动驾驶的路径规划)
1.1 视觉感知 vs 机器视觉
在汽车制造厂的钢板缺陷检测项目中,我深刻体会到两者的区别。我们尝试过两种方案:
-
传统机器视觉方案:
- 使用红色激光结构光
- 固定工业相机位置
- 预先标定的检测算法
- 检测精度0.02mm
-
计算机视觉方案:
- 普通RGB摄像头
- 可变视角和距离
- 基于深度学习的分类模型
- 识别20类缺陷
前者需要严格控制环境(这就是为什么产线要遮光),后者则能适应更复杂场景。下表对比了关键差异:
| 特性 | 机器视觉 | 计算机视觉 |
|---|---|---|
| 环境要求 | 受控环境 | 开放环境 |
| 输入设备 | 专用工业相机 | 普通摄像头 |
| 算法核心 | 几何变换 | 语义理解 |
| 典型应用 | 尺寸测量 | 目标识别 |
经验之谈:在工业场景中,能用机器视觉解决的问题就不要上深度学习,后者需要10倍以上的算力资源。
1.2 与相关学科的关系
计算机视觉处在几个领域的交叉点:
- 人工智能:提供认知能力(如CNN、Transformer)
- 图形学:逆向过程(CV是3D→2D,CG是2D→3D)
- 光学工程:成像质量基础
- 神经科学:视觉机理启发
2016年我在医疗影像项目中发现,优秀的计算机视觉工程师需要了解:
- DICOM标准(医学影像格式)
- 放射物理学(X射线成像原理)
- 解剖学(器官结构知识)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术演进史
2.1 传统特征工程时代(1990-2012)
这个时期的核心方
