1. 传统图像处理核心考点传统图像处理是计算机视觉的基础掌握这些算法能让你在面试中展现出扎实的功底。我当年面试时被问得最多的就是边缘检测面试官特别喜欢让候选人对比不同算子的特点。1.1 边缘检测算法精要Canny算子绝对是面试中的高频考点它的五步流程需要烂熟于心高斯滤波去噪σ1.4的5x5核Sobel算子计算梯度建议手写Sobel的x/y方向卷积核非极大值抑制NMS细化边缘双阈值检测典型高低阈值比3:1边缘连接DFS或BFS实现# OpenCV实现示例 import cv2 img cv2.imread(test.jpg, 0) edges cv2.Canny(img, 50, 150) # 阈值设置很关键Sobel与Prewitt的区别在于卷积核权重Sobel的x方向核[[-1,0,1], [-2,0,2], [-1,0,1]]Prewitt更均匀[[-1,0,1], [-1,0,1], [-1,0,1]]Laplacian算子是二阶微分算子对噪声敏感但能检测细边缘。有个经典面试题为什么LoGLaplacian of Gaussian要先高斯模糊答案是为了抑制噪声干扰。1.2 图像滤波实战技巧中值滤波去除椒盐噪声效果最好但要注意窗口大小取奇数3x3, 5x5时间复杂度O(n²k²)大图需要优化// 手写中值滤波核心代码 uchar medianFilter(Mat src, int x, int y, int ksize) { vectoruchar pixels; for(int i-ksize/2; iksize/2; i) for(int j-ksize/2; jksize/2; j) pixels.push_back(src.atuchar(yi,xj)); sort(pixels.begin(), pixels.end()); return pixels[pixels.size()/2]; }高斯滤波的σ值决定平滑程度σ越大核越大。实际工程中常用可分性优化将二维卷积拆分为两次一维卷积计算量从O(k²)降到O(2k)。1.3 形态学操作本质膨胀和腐蚀是形态学基础面试常考开闭运算开运算先腐蚀后膨胀去小噪点闭运算先膨胀后腐蚀填小孔洞结构元素选择有讲究矩形核适合直角边缘圆形核各向同性十字形核适合细长结构2. 特征提取与描述子2.1 SIFT算法详解SIFT的四大步骤是必考题尺度空间构建高斯金字塔DoG关键点定位泰勒展开修正位置方向分配36bin梯度直方图描述子生成4x4x8128维向量面试陷阱为什么SIFT具有尺度不变性因为通过DoG极值检测找到了特征尺度。2.2 ORB特征高效实现ORBFAST关键点BRIEF描述子方向补偿FAST检测速度快但噪声敏感BRIEF用256bit二进制串汉明距离计算快用灰度质心法计算方向提升旋转鲁棒性# ORB特征匹配示例 orb cv2.ORB_create() kp1, des1 orb.detectAndCompute(img1, None) bf cv2.BFMatcher(cv2.NORM_HAMMING) matches bf.match(des1, des2)2.3 HOG特征工程细节HOG用于行人检测的经典实现图像归一化Gamma颜色归一化计算梯度[-1,0,1]核8x8细胞单元统计9bin直方图16x16块归一化L2-Hys串联所有块特征注意HOG对局部几何变化敏感但对光照变化鲁棒。3. 深度学习核心模型3.1 CNN架构演进脉络从LeNet到EfficientNet的进化路线LeNet51998首个成功CNN2卷积3全连接AlexNet2012ReLUDropout数据增强VGG2014小卷积堆叠感受野等效大卷积ResNet2015残差连接解决梯度消失MobileNet2017深度可分离卷积降参数量面试高频题为什么ResNet有效残差学习让梯度直接回传缓解了深度网络退化问题。3.2 目标检测算法对比Two-stage vs One-stage本质区别Faster R-CNNRPN生成候选框ROI PoolingYOLOv3网格预测bbox置信度类别SSD多尺度特征图预测平衡速度精度# YOLOv3输出解析示例 def process_output(output, conf_thresh): boxes output[..., :4] # xywh conf output[..., 4:5] cls_probs output[..., 5:] scores conf * cls_probs keep scores conf_thresh return boxes[keep], scores[keep]3.3 语义分割关键技术FCN开创端到端分割关键改进全卷积替换全连接反卷积上采样跳跃连接融合深浅特征U-Net的编码器-解码器结构下采样路径捕获上下文上采样路径精确定位跨层连接恢复空间信息4. 模型优化与部署4.1 过拟合解决方案实际项目中我用过的组合拳数据增强旋转/翻转/色彩抖动L2正则化λ0.001Dropoutp0.5Early Stopping验证集loss不降即停Label Smoothingε0.1注意BN层也有轻微正则化效果但不要依赖它来防止过拟合。4.2 模型量化实战TensorRT量化步骤校准用代表性数据统计激活分布量化FP32转INT8饱和量化部署加载量化后的引擎推理// TensorRT构建器配置 builder-setMaxBatchSize(1); config-setFlag(BuilderFlag::kINT8); config-setInt8Calibrator(calibrator);4.3 部署优化技巧我优化YOLOv5部署的经验使用NMS优化Merge NMS半精度推理FP16图优化层融合、常量折叠内存池复用减少分配开销在Jetson上实测经过优化后推理速度从15FPS提升到45FPS内存占用减少40%。