本文整理了 50道高频计算机视觉面试题及答案,涵盖图像处理、特征提取、目标检测、分割、深度学习与项目部署,适用于准备校招/社招的CV方向同学。
一、基础与图像处理(1-10)
1. 什么是计算机视觉?与图像处理的区别?
计算机视觉(CV)是让计算机理解图像或视频的内容,例如识别人脸、检测物体、跟踪目标等。图像处理(Image Processing)主要关注图像增强、去噪、变换等底层处理。前者强调“理解”,后者强调“变换”。
2. RGB 和 HSV 颜色空间区别?
RGB 表示红绿蓝通道,适用于图像显示;HSV 更贴近人类感知(色相、饱和度、明度),更适合颜色分割或颜色过滤任务。
3. 什么是图像直方图?
直方图显示不同灰度值的像素数分布,可用于图像增强、阈值分割(如 Otsu)等任务。
4. 什么是边缘检测?常见算法?
边缘是灰度急剧变化的区域。常见算法有:Sobel、Canny、Laplacian、Prewitt。
5. 高通/低通滤波的作用?
-
高通:保留边缘/纹理信息(如锐化);
-
低通:去除噪声(如高斯滤波、均值滤波)。
6. 图像卷积的作用?
通过与卷积核做滑动点积实现图像特征提取,如边缘、纹理、模糊等。
7. 图像金字塔的作用?
图像金字塔是一组按分辨率从高到低的图像序列,常用于多尺度目标检测和图像拼接。
8. Sobel、Prewitt 与 Canny 有何不同?
-
Sobel 和 Prewitt 是一阶微分算子,响应边缘;
-
Canny 是多步算法(模糊 + 梯度 + NMS + 双阈值),效果更优。
9. 图像二值化方法?
-
固定阈值;
-
Otsu;
-
自适应阈值(局部区域统计)。
10. 图像去噪方法?
-
均值滤波;
-
高斯滤波;
-
中值滤波;
-
双边滤波;
-
深度去噪网络(DnCNN)。
二、特征提取与匹配(11-20)
11. 什么是特征点与描述子?
特征点:图像中显著、可重复检测的点;
描述子:用于描述特征点周围区域的向量,如SIFT、ORB。
12. SIFT、SURF 与 ORB 的区别?
-
SIFT:精度高,耗时长,专利限制;
-
SURF:更快,略简化;
-
ORB:开源,速度快,适合实时系统。
13. 尺度不变性是指?
指算法在不同缩放下能保持特征稳定。SIFT、SURF 就具备尺度不变性。
14. RANSAC 的作用?
在点对匹配中剔除外点,估算如单应矩阵/仿射变换等几何模型。
15. 什么是光流?常见算法?
光流描述像素间的移动趋势,用于视频分析、目标跟踪。常用算法:Lucas-Kanade、Farneback、RAFT。
16. 图像拼接流程?
特征提取 → 匹配 → 单应矩阵估计 → 图像变换 → 融合 → 拼接。
17. 单应性矩阵?如何估计?
描述两幅图之间的投影变换。通过至少4对对应点、使用RANSAC与最小二乘法估计。
18. 特征匹配完整流程?
检测特征 → 计算描述子 → 描述子匹配 → RANSAC去外点 → 应用几何模型。
19. HOG 特征的用途?
描述边缘方向信息,常用于行人检测(如DPM、早期SVM方法)。
20. 图像变换类型?
-
仿射变换:平移、缩放、旋转;
-
透视变换(投影变换):拍摄角度变换;
-
单应变换:保持共线性。
三、目标检测与分割(21-30)
21. 传统目标检测流程?
滑动窗口 → 特征提取(HOG)→ 分类器(SVM)→ NMS → 结果输出。
22. YOLO 基本思想及YOLOv8改进?
YOLO将检测看作回归问题,速度快。YOLOv8改用anchor-free结构,引入CSP结构,端到端训练。
23. Anchor box 的作用?
预定义一组尺寸形状的框以适配不同目标大小,用于匹配真实框和预测框。
24. Faster R-CNN结构?
Backbone → RPN生成候选框 → RoI Pooling → 分类+回归。RPN提升速度,端到端训练。
25. Mask R-CNN 与 Faster R-CNN 区别?
Mask R-CNN多了一个 分支网络 用于生成实例分割的mask(FCN结构)。
26. 语义分割 vs 实例分割?
语义分割:同类目标同mask;
实例分割:每个目标单独分割。
27. U-Net结构?
编码器提取特征,解码器恢复分辨率,skip连接保持细节,适用于医学图像等小数据集。
28. NMS作用?
在多框预测中去除重复框,仅保留分数最高的非重叠框。
29. 检测评价指标?
-
IoU:交并比;
-
Precision/Recall;
-
mAP(mean Average Precision):IoU阈值下多个类别平均AP。
30. 实时检测优化策略?
-
使用轻量模型(YOLOv5n, NanoDet);
-
TensorRT/ONNX 加速;
-
图像分辨率优化;
-
模型剪枝、量化。
四、深度学习与视觉任务(31-40)
31. CNN 基本结构?
卷积层 → 激活(ReLU)→ 池化 → 全连接层 → Softmax。
32. ResNet 残差结构?
引入恒等映射 shortcut,避免梯度消失,使网络更深(ResNet50/101等)。
33. 什么是迁移学习?
在预训练模型(如ImageNet)基础上微调用于新任务,适合小样本场景。
34. BatchNorm 原理与作用?
标准化每层输出的分布,稳定训练,提高收敛速度,防止梯度爆炸。
35. 图像分类防止过拟合方法?
数据增强、Dropout、正则化、早停、增加数据集。
36. EfficientNet 特点?
使用复合缩放(宽度、深度、分辨率),参数效率高,性能强。
37. 注意力机制作用?
增强模型对关键区域/通道的响应,例如SE模块、CBAM、Self-Attention。
38. ViT 与 CNN 的比较?
ViT基于Transformer,适合大数据。无需卷积,直接处理图像patch;但小数据效果较差。
39. 多尺度训练作用?
提高模型适应不同目标尺寸的能力。训练时随机缩放输入图像尺寸。
40. 图像数据增强方法?
翻转、旋转、裁剪、缩放、颜色变换、MixUp、CutMix、Mosaic。
五、项目与部署(41-50)
41. 摄像头人脸识别系统流程?
图像采集 → 检测人脸(MTCNN)→ 对齐 → 特征提取(FaceNet)→ 比对 → 识别。
42. YOLO部署到边缘设备考虑?
模型体积、推理速度、内存限制、输入尺寸、硬件加速支持(NPU/GPU)。
43. 图像分辨率对性能影响?
分辨率越高检测越准,但速度慢。需在精度与性能之间权衡。
44. OpenCV图像处理函数?
-
读取:
cv2.imread
-
显示:
cv2.imshow
-
缩放/旋转:
cv2.resize
/cv2.rotate
-
灰度转换:
cv2.cvtColor
45. 多线程提升性能的方法?
利用 threading
/multiprocessing
模块实现图像读取、预处理、推理并发处理。
46. 实时报警系统如何实现?
目标检测模型 → 判断是否为入侵目标 → 发出报警(语音、短信、邮件)→ 存储视频帧。
47. 什么是MOT?常用算法?
多目标跟踪(MOT)通过目标检测+关联策略跟踪多物体。常用:SORT、Deep SORT、ByteTrack。
48. 如何使用SORT/Deep SORT?
基于目标检测框 → 卡尔曼滤波估计轨迹 → 匈牙利算法匹配目标。
49. 部署视觉模型性能优化?
-
ONNX 转换 → TensorRT 加速;
-
模型量化/剪枝;
-
Batch 推理;
-
多线程/异步推理。
50. 项目经验如何描述?
说明项目背景 → 你的角色 → 使用了哪些模型/方法 → 解决了哪些问题 → 有什么成果(准确率、延迟、部署方式等)。
📎 结语:
如果你正在准备计算机视觉相关岗位,无论是研究方向还是工程落地,上述问题都值得你熟练掌握!欢迎评论区交流你遇到过的CV面试题~