图像处理特征工程是目标导向的多阶段流程:预处理(灰度转换、去噪、校正、归一化)奠定基础;显式提取(边缘/纹理/颜色/HOG)适用于小数据场景;隐式提取(迁移学习、微调)由深度学习自动学习语义特征;后处理(降维、归一化、拼接、截断)提升鲁棒性。

图像处理中的特征工程不是一步到位的操作,而是一套环环相扣、有明确目标导向的流程。核心逻辑是:从原始像素出发,逐步剥离干扰、强化判别信息,最终输出一组稳定、紧凑、对下游任务(如分类、检测、匹配)真正有用的数值表示。
一、预处理:为特征提取铺平道路
这步不产生“特征”,但决定了后续所有特征的质量上限。
-
灰度转换:多数底层特征(边缘、纹理)对亮度更敏感,RGB三通道常先转为单通道灰度图(如OpenCV的
cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)) -
去噪滤波:高斯模糊(
cv2.GaussianBlur)适合平滑噪声;中值滤波(cv2.medianBlur)更适合去除椒盐噪声 -
几何校正:若图像存在倾斜或畸变,用仿射变换(
cv2.warpAffine)或透视变换(cv2.warpPerspective)先对齐,避免特征错位 - 归一化/标准化:将像素值缩放到[0,1]或标准化为均值0、方差1——这对深度学习模型训练稳定很关键
二、显式特征提取:传统方法可解释、易调试
适用于数据量小、需快速验证、或嵌入式部署等场景。
- 边缘与形状:用Canny算法提取轮廓,再计算Hu矩或轮廓面积/周长比,描述物体整体形态
- 纹理:LBP(局部二值模式)生成直方图,GLCM(灰度共生矩阵)计算对比度、相关性、能量等4–5个统计量
- 颜色:转HSV空间后,统计H(色相)、S(饱和度)直方图;或计算颜色矩(均值、标准差、偏度)
- HOG(方向梯度直方图):将图像分块→每块计算梯度幅值和方向→按角度分bin统计→块内归一化→拼接成特征向量,特别适合行人检测
三、隐式特征提取:深度学习自动学出高层语义
不再手动设计,而是让CNN等模型在训练中自适应构建特征表达。
- 迁移特征:加载ResNet50、VGG16等预训练模型,去掉最后全连接层,用倒数第二层输出(如2048维向量)作为图像特征
- 特征可视化辅助理解:用Grad-CAM热力图看模型关注哪些区域,验证特征是否合理
- 微调策略:若目标域差异大,可解冻部分深层卷积层,用少量标注数据做轻量微调
四、特征后处理:让特征更鲁棒、更适配模型
提取出的原始特征向量往往需要再加工才能发挥最大效用。
- 降维:PCA主成分分析压缩维度,保留95%方差即可大幅减少冗余(尤其对HOG、LBP直方图有效)
-
归一化向量:对L2范数归一化(
sklearn.preprocessing.normalize),提升余弦相似度匹配稳定性 - 特征拼接:把颜色直方图 + HOG + 形状矩拼成一个长向量,融合多维度信息
- 异常值截断:对某些分布极偏的特征(如某类纹理能量值),用IQR法剔除离群点,防止拖累模型
基本上就这些。流程不是死板顺序,而是根据任务目标动态调整——比如做车牌识别,重点在ROI裁剪+边缘+字符分割;做遥感地物分类,则要加薄云去除、辐射定标等专用预处理。关键不在堆砌技术,而在每一步都清楚“我在为什么信息服务”。










