第3章 计算机视觉基础知识:图像处理、特征提取、几何变换、相机模型
本章聚焦面试常考的四大基础模块:图像滤波与增强、局部特征算子(SIFT/ORB)、仿射/透视变换、针孔相机模型与畸变。掌握这些底层原理是回答高级问题(SLAM、三维重建、目标检测)的前提。
📌 面试问答卡片
🎯 面试问题:请描述图像滤波中的高斯滤波原理及作用,并说明如何选择模板大小与σ值。
| 考察点 | 是否理解高斯滤波的核心思想(加权平均、去噪)、σ与模板大小的对应关系、边界处理策略 |
| 回答框架 | 定义 → 数学公式(高斯核 G(x,y))→ 模板尺寸与σ的经验关系(通常 3σ≈半径)→ 作用(平滑/去噪/防混叠)→ 优缺点(保留边缘弱于双边滤波) |
| 示例回答 | 高斯滤波是线性平滑滤波,使用二维高斯函数生成权重模板。σ决定平滑程度,模板尺寸通常取 6σ+1。它可有效去除高斯噪声,但会模糊边缘。选σ=1.0,模板为3×3实现适中平滑。 |
| 可能追问 | Q: 如何加速大σ的高斯滤波? A: 分离性可分解为两个一维卷积,或使用递归高斯滤波。 Q: 高斯滤波与中值滤波的区别? |
| 避坑提醒 | ❌ 混淆σ与模板尺寸的关系;❌ 忽视边界处理(如 replicate / zero-padding) |
🎯 面试问题:简述SIFT特征提取的主要步骤,为什么它具有尺度不变性?
| 考察点 | SIFT的四步流程是否清楚、尺度空间如何构建、关键点方向分配机制、描述子生成 |
| 回答框架 | 尺度空间极值检测(DoG)→ 关键点定位(剔除低对比度/边缘响应)→ 方向分配(梯度直方图峰值)→ 描述子生成(16×16区域→4×4×8=128维)→ 尺度不变性来自多尺度检测与尺度归一化 |
| 示例回答 | SIFT首先构建高斯金字塔与DoG,在不同尺度上检测极值点。利用尺度归一化使特征点位置和描述子对图像缩放保持稳定。之后计算局部梯度直方图分配主方向,最终生成128维描述子,从而实现旋转与尺度不变性。 |
| 可能追问 | Q: SIFT和SURF/ORB的时间性能对比? A: SIFT最慢但最稳定,ORB最快但旋转不变性弱。 Q: 描述子匹配时如何提纯? A: 使用最近邻与次近邻距离比(Lowe's ratio test)。 |
| 避坑提醒 | ❌ 误将尺度空间理解为图像金字塔(实际是连续尺度空间);❌ 忘记关键点方向分配对旋转不变性的作用 |
🎯 面试问题:针孔相机模型的成像原理是什么?如何从世界坐标系得到像素坐标?
| 考察点 | 齐次坐标转换矩阵(P = K[R|t])、内参矩阵K的构成(fx, fy, cx, cy)、畸变模型(径向/切向) |
| 回答框架 | 小孔成像原理 → 世界→相机(外参R,t)→ 归一化平面 → 畸变校正 → 内参映射到像素(fx, fy, cx, cy)→ 完整投影矩阵公式 |
| 示例回答 | 针孔模型将3D点通过投影中心映射到成像平面。转换链为:$P_{world} \xrightarrow{[R|t]} P_{cam} \xrightarrow{K} P_{pixel}$。内参K包含焦距和主点坐标。实际还需加入径向切向畸变校正,使用Brown模型。 |
| 可能追问 | Q: 如何求解内参? A: 张正友标定法利用棋盘格角点约束,通过SVD求解单应性矩阵再分解。 Q: 畸变校正时为什么需要迭代? A: 畸变模型是非线性方程组,通常用牛顿法或直接查表。 |
| 避坑提醒 | ❌ 混淆像素坐标系与归一化图像坐标系;❌ 忽略齐次坐标表示(列向量 vs 行向量) |
📐 核心知识结构速查表
| 模块 | 核心概念 | 常见考点 | 易错点 |
|---|---|---|---|
| 图像滤波 | 均值/高斯/中值/双边滤波 | 核大小、σ选择、边界处理 | 混淆线性/非线性滤波 |
| 特征提取 | SIFT/SURF/ORB/FAST | 尺度空间、方向分配、描述子维数 | 误以为ORB有尺度不变性 |
| 几何变换 | 仿射变换/透视变换/单应性 | 自由度、变换矩阵形式、齐次坐标 | 仿射与透视混淆 |
| 相机模型 | 针孔模型/畸变模型/投影矩阵 | 内参外参、齐次变换、畸变校正 | 忽略归一化平面与像素平面区别 |
💡 复习建议:面试中80%的基础问题会从本章派生。建议手推一次外参内参矩阵乘法,并动手实现一次高斯滤波与SIFT匹配(OpenCV代码),能显著提升回答流畅度。