基于PCA与HOG特征融合的热轧钢带缺陷检测

1.作者介绍

谭金鑫,男,西安工程大学电子信息学院,2025级研究生

研究方向:输电线路状态智能监测

电子邮件:18455094050@163.com

郭政,男,西安工程大学电子信息学院,2025级研究生,张宏伟人工智能课题组

研究方向:机器视觉与人工智能

电子邮件:1225301905@qq.com

2.算法介绍

2.1 PCA(主成分分析)

PCA是一种常用的降维算法。

核心思想:在尽量保留原始数据主要信息的前提下,把高维数据转换到低维空间中,用少量新的特征来表示原始数据。

目标:寻找一组新的坐标轴,使数据在这些方向上的方差最大。方差越大,说明这个方向包含的信息越多。通过保留前几个方差最大的方向,可以在减少特征维度的同时,尽量保留图像中的主要缺陷信息。

2.2 HOG(方向梯度直方图)

HOG是一种常用的图像局部纹理和边缘特征提取算法。

核心思想:图像中目标或缺陷的形状、边缘、纹理变化,可以通过局部区域内的梯度方向分布来描述。

对于钢带表面缺陷来说,不同缺陷在边缘方向、纹理分布和局部形态上存在差异,HOG特征可以有效表达划痕、裂纹、麻点等缺陷的局部结构信息。

3.关于实验过程的介绍

3.1数据集介绍

本次实验使用NEU-CLS热轧钢带表面缺陷数据集。该数据集包含1800个样本,共分为6类缺陷,每类包含300张缺陷图像。

  1. 来源:https://figshare.com/articles/dataset/NEU-CLS/28903550
  2. 类别:裂纹(crazing)、夹杂(inclusion)、斑块(patches)、麻点表面(pitted_surface)、氧化皮压入(rolled_in_scale)、划痕(scratches)
  3. 形式:灰度缺陷图像,实验中统一缩放到128x128
  4. 数据集展示图

3.2实验环境准备

Python 3.8

NumPy:数值计算与特征拼接

Matplotlib:实验结果可视化

Scikit-learn:PCA降维、SVM分类与评价指标

Scikit-image:图像处理与HOG特征提取

安装命令:

pip install numpy matplotlib scikit-learn scikit-image

3.3代码实现

PCA特征提取

PCA 部分先将二维图像矩阵展开成一维向量,然后使用 PCA 对高维像素特征进行降维,保留图像中主要的全局灰度变化信息。

HOG 特征提取

HOG 特征用于统计图像局部区域的梯度方向分布,可以描述缺陷区域的边缘、纹理和方向信息,适合识别划痕、裂纹等具有明显结构的缺陷。

其中 orientations=9 表示把梯度方向划分为 9 个区间,pixels_per_cell=(8,8) 表示每个 cell 是 8×8 像素,cells_per_block=(2,2) 用于局部归一化。最终输出的是一维 HOG 特征向量。

PCA+HOG 特征融合

若模式为 hog,只提取 HOG 特征;

若模式为 pca,只提取 PCA 特征;

若模式为 fusion,两个条件都会执行,程序会同时得到 HOG 特征和 PCA 特征。最后通过 np.concatenate(features, axis=1) 将两类特征在列方向拼接,形成融合特征,两者融合后可以同时利用局部信息和全局信息。

3.4测试结果

PCA

可视化效果:

PCA测试结果分析

从混淆矩阵可以看出,patches、pitted_surface、scratches的识别效果相对较好,其中pitted_surface识别正确20张,patches识别正确19张,scratches识别正确18张。

但PCA对局部纹理和边缘方向信息表达不足,因此部分类别容易混淆。例如inclusion有较多样本被误分为scratches,rolled_in_scale容易被误分为patches。说明单独使用PCA时,模型更依赖整体灰度差异,对细小缺陷纹理区分能力有限。

HOG

可视化效果:

HOG测试结果分析

从结果可以看出,HOG对rolled_in_scale和scratches的识别效果较好,两类均识别正确22张。这说明HOG对具有明显方向性、边缘变化明显的缺陷比较敏感。

相比PCA,HOG的整体识别效果有所提升。但对于patches、pitted_surface、crazing等纹理分布相近或边缘不够规则的类别,仍然存在一定误分类现象。例如crazing容易被分为patches,pitted_surface也会被分到多个类别中。

PCA+HOG特征融合

可视化效果:

PCA+HOG特征融合结果分析

PCA+HOG融合方法将PCA的全局灰度特征与HOG的局部纹理特征进行拼接,再输入分类器进行识别。从混淆矩阵可以看出,融合方法在多数类别上的识别结果比单独PCA或HOG更稳定。

其中rolled_in_scale识别正确23张,scratches识别正确22张,inclusion识别正确19张,整体表现最好。这说明融合特征能够同时利用图像的整体灰度变化和局部边缘纹理信息,提高模型对钢带缺陷的表达能力。

不过,crazing、patches、pitted_surface等类别之间仍存在一定混淆,说明这些缺陷在灰度纹理上具有相似性,仅依靠传统手工特征仍有一定局限。

输出结果:

三种方法对比结果分析:

单独PCA效果最低,说明仅使用全局灰度降维特征不足以充分描述钢带表面缺陷;

HOG方法效果优于PCA,说明局部边缘和纹理方向信息对缺陷识别更有效;

PCA+HOG融合方法取得最高准确率和最高F1值,说明两类特征具有互补性。

但部分类别仍存在混淆,主要原因是不同缺陷在灰度纹理和局部形态上较为相似。

相关推荐
IronMurphy6 小时前
AI Agent 学习笔记 Day 1:大模型基础、API 调用与 Prompt 工程
人工智能·笔记·学习
掘根7 小时前
【openCV】图像缩放,翻转,旋转,视频文件/摄像头读取/保存
人工智能·opencv·计算机视觉
MediaTea7 小时前
DL:扩散模型的基本原理与 PyTorch 实现
人工智能·pytorch·python·深度学习·机器学习
janeysj7 小时前
Jupyter和LangSmith——AI Agent开发调试监控工具
ide·人工智能·jupyter
programhelp_7 小时前
Ramp OA 四关全过,CodeSignal OOD 完整复盘
linux·前端·python
ishangy7 小时前
AI视觉赋能智慧矿山:新一代安全防控体系解决方案
人工智能·边缘计算·ai视觉·智慧矿山·ai视觉监测·智能防控
Chasing__Dreams7 小时前
大模型应用开发--0--知识点
python
CeshirenTester7 小时前
大厂校招变了:AI 能力正在进入笔试和面试
人工智能·面试·职场和发展
清风一徐7 小时前
Python文件处理
开发语言·python