第3章 · 计算机视觉基础:图像处理、特征提取、分类器经典面试题

本章聚焦面试中最高频的三大基础知识域:图像预处理、特征工程、分类器选型。面试通常从基本原理切入,再追问实际调优和工程落地。掌握一套「概念→对比→参数→案例」的应答框架,能帮你把零散知识点组织成清晰的能力展示。

理解问题 明确考察点 核心概念 定义+原理 方法对比 优缺点+场景 参数调优 关键参数+经验 案例落地 实际应用+效果 ✅ 加分提醒 • 回答时主动带出<tspan font-weight="bold" fill="#e74c3c">『数据规模』</tspan>和<tspan font-weight="bold" fill="#e74c3c">『运行效率』</tspan>,体现工程思维。 • 能说出<tspan font-weight="bold" fill="#e74c3c">『常见参数经验值』</tspan>(如 HOG block=16×16、SVM C=1.0)会显著加分。 • 每类知识至少关联一个<tspan font-weight="bold" fill="#e74c3c">『实际项目案例』</tspan>,证明你不仅懂理论,还会用。

📌 面试问答卡片(3道高频题)

面试问题:请解释SIFT特征提取的原理和步骤。

🎯 面试官考察点:① 是否理解尺度空间理论;② 能否清晰说出四步流程;③ 是否了解旋转/尺度不变性的来源。

📘 回答框架:定义(局部特征 + 尺度不变)→ 四步法(检测极值点→精确定位→方向分配→生成描述子)→ 核心参数(octaves、contrastThreshold)→ 适用场景(拼接、匹配)。

💬 简短示例回答(80字):
SIFT通过构建高斯差分金字塔检测尺度空间极值点,再剔除低对比度点和边缘点。然后为每个关键点分配主方向(旋转不变),最后在16×16邻域内统计梯度直方图生成128维描述子(光照不变)。常用于图像拼接和目标识别。

🔁 可能追问:① SIFT和SURF的区别?② 为什么SIFT有专利限制?③ 如何加速SIFT计算?

⚠ 避坑提醒:不要只说“提取特征点就完了”,必须讲清楚“如何做到不变性”。易错点:把“高斯差分”说成“高斯滤波”,把“主方向”和“梯度直方图”混为一谈。
面试问题:图像预处理中,为什么要进行直方图均衡化?其原理是什么?

🎯 面试官考察点:① 是否理解直方图分布与对比度关系;② 能否推导映射函数;③ 是否知道局限性(噪声放大、细节丢失)。

📘 回答框架:目的(增强对比度)→ 数学原理(累积分布函数CDF做映射,使输出像素近似均匀分布)→ 公式(\( h(v) = \lfloor (L-1)\sum_{i=0}^{v} p_i \rfloor \))→ 缺点(可能放大噪声,适合背景单一图像)。

💬 简短示例回答(70字):
直方图均衡化通过CDF将原图灰度映射到近似均匀分布,使动态范围最大。例如低照度图像对比度显著提升。但会放大背景噪声,且对过曝图像效果差。我会先做高斯模糊再均衡,或改用CLAHE限制对比度增益。

🔁 可能追问:① 均衡化后直方图为什么不是均匀?② CLAHE与全局均衡化的区别?③ 在深度学习训练中是否还需要做?

💡 加分提示:主动提到CLAHE(限制对比度自适应直方图均衡化)可以避免噪声放大,体现工程经验。
面试问题:请比较SVM和随机森林在图像分类中的优缺点。

🎯 面试官考察点:① 对两种算法原理的理解深度;② 是否知道适合的图像特征类型;③ 能否根据数据规模给出选型建议。

📘 回答框架:SVM(间隔最大化 + 核技巧 → 小样本、高维特征好)↔ RF(Bagging + 决策树 → 大样本、容忍缺失值)→ 对比维度:鲁棒性、训练速度、可解释性、调参复杂度。

💬 简短示例回答(90字):
SVM通过核函数将特征映射到高维寻找最优超平面,在HOG行人检测等应用中效果好,但需要精细调C和gamma,大数据量下训练慢。随机森林通过多棵树投票,对缺失值鲁棒、不易过拟合,但高维稀疏特征下不如SVM。我会根据数据大小选择:<100K用SVM,否则用RF。

🔁 可能追问:① SVM的核函数有哪些?如何选择?② 随机森林如何处理特征重要性?③ 能否用深度学习替代这两种方法?

⚠ 避坑提醒:不要只说“SVM更好”,要强调“因场景而异”。避免把“随机森林的随机性”说成“每次结果不同”,准确说法是“特征和样本双重随机采样”。

📂 项目案例:基于HOG+SVM的行人检测系统

项目名称行人检测子系统(智能安防平台)
业务背景园区监控需要实时检测行人,误报率<2%,帧率>25fps,部署在边缘设备(NVIDIA Jetson TX2)。
规模指标训练集 15K 正样本(行人剪裁)、45K 负样本;测试集 5000 张监控截帧;最终 mAP 0.89,召回率 93%,单帧耗时 32ms。
技术栈OpenCV 4.5(HOG提取)、libSVM(SVM训练)、Python + C++混合开发、TensorRT加速推理。
核心难点① 多尺度行人尺寸差异大;② 光照、遮挡导致特征漂移;③ 边缘设备算力有限,需模型量化。
面试高频追问① 为什么选HOG+SVM而不是YOLO?答:边缘设备功耗限制,HOG+SVM模型小(<5MB),且TensorRT优化后速度达标。
② 负样本如何采集?答:用难例挖掘(Hard Negative Mining),从无行人区域随机裁取并迭代训练。
③ 滑动窗口步长怎么定?答:stride=4×4,与HOG cell大小对齐,兼顾速度和漏检。
可迁移回答话术“当项目对实时性敏感且算力有限时,我会优先考虑传统方法+轻量加速,而不是直接上深度学习。这套HOG+SVM的优化思路在后续车牌检测、工业缺陷检测中也复用成功。”

📊 知识结构速查表

领域核心概念高频面试点常见参数/经验值典型应用
图像处理 直方图均衡、高斯滤波、形态学操作 原理推导、对比度增强、去噪 高斯核大小 5×5(σ=1.2) 预处理、OCR、医学影像增强
特征提取 SIFT、SURF、HOG、ORB 不变性来源、维度、计算复杂度 HOG cell=8×8, block=16×16 图像匹配、行人检测、手势识别
分类器 SVM、随机森林、Adaboost 原理对比、核函数选择、样本不平衡 SVM C=1.0 (RBF核 γ=0.01) 二分类、物体检测、人脸识别
🎯 本章要点总结:
  • 回答时始终围绕「概念→对比→参数→案例」框架展开,体现工程落地能力。
  • 对于传统的图像处理和特征提取,面试官更关心你对“为何有效、何时失效”的理解。
  • 项目案例是检验你是否真正用过这些技术的试金石,务必准备1-2个可迁移的实战经历。