核心要点

  • 列举 resize、crop、normalize、色彩空间转换

  • 说明与训练/推理一致性

  • 区分分类、检测、分割的不同预处理

  • 提及去噪、直方图均衡等可选步骤

简要回答

CV 流水线常见预处理:读取解码 → 尺寸调整(resize/crop)→ 颜色空间转换 → 去噪/增强 → 归一化(mean/std)→ 转 Tensor。训练与推理必须用同一套参数,否则分布偏移导致精度骤降。

标准回答

一、通用步骤

  1. 读取与解码:JPEG/PNG → ndarray(OpenCV、PIL)
  2. 几何变换:resize 到固定输入(224×224)、center/random crop、letterbox(检测保持比例)
  3. 色彩:BGR↔RGB;可选 HSV/LAB
  4. 去噪:高斯滤波、bilateral(保边去噪)
  5. 归一化:像素缩放到 [0,1] 或 ImageNet mean/std = $(x-mu)/sigma$
  6. 数据增强(训练):翻转、旋转、ColorJitter(PyTorch transforms)
  7. 格式:HWC → CHW float32 tensor,必要时 batch 维

二、任务差异

  • 分类:固定 resize + center crop
  • 检测:多尺度、mosaic、保持长宽比 pad
  • 分割:同步变换图像与 mask(最近邻插值 mask)

三、工程要点

  • 训练/推理 同一 normalization
  • 注意 EXIF 方向、色彩配置文件
  • 移动端量化前校准预处理
    详见 CV 工程实践

面试里可以补一个视觉任务例子:计算机视觉流水线中有哪些常见图像预处理步骤 在分类、检测、分割或多模态理解里分别会影响数据增强、模型结构、指标选择和误检漏检分析。这样回答会比单独讲概念更像真实项目经验。

回答思路

  • 【定义】用一句话说清「计算机视觉流水线中有哪些常见图像预处理步骤」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

延伸阅读:计算机视觉入门。工具:OpenCVPyTorch torchvision.transforms。

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:训练用 random crop、推理用另一套尺寸;mask 用双线性插值(应 nearest);忘记 BGR/RGB 通道顺序。

追问

追问 1ImageNet 归一化参数为何通用?

大量预训练模型用 ImageNet mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225]。迁移学习时应保持一致;全自训练可用自己数据集的统计量。

追问 2resize 用双线性还是最近邻?

照片用 bilinear/bicubic;标签图/深度图/分割 mask 用 nearest 避免产生新类别。检测 letterbox 常用 bilinear。

追问 3预处理放在 CPU 还是 GPU?

轻量变换可在 GPU(DALI、nvJPEG);重 I/O 与增强常 CPU 多进程 DataLoader 预取,避免 GPU 饿死。瓶颈用 profiling 定位。

🔗 相似问题

同一考点的不同问法,换着练更稳

延伸学习

按主题分类的相关资源,便于系统复习