钢材表面缺陷检测分类不同图像增强方式的对比研究

基于钢材表面缺陷库进行多种缺陷检测分类实验,对比分析了使用卷积神经网络、Top-Hat变换、边缘检测等方式处理图像产生的结果和原因分析。在直接使用卷积神经网络分类的基础上,对图像进行不同方式的处理,重新评估在同样模型下,经过不同方式处理过的图像进行深度学习的效果。

对比图像处理方式:三种形态学Top-Hat变换(多尺度、等比例、自适应)、图像锐化(Sobel算子、Prewitt算子、Robert算子)

PS.实验为了方便Matlab和Tensorflow交叉着用的

1、直接使用图像数据进行深度学习

缺陷库中图像无脏数据,在缺陷图像未经过图像增强的情况下,直接使用卷积神经网络对其进行分类学习。初始模型(图1)训练10次,从损失曲线(图2)和精度曲线(图3)可以看出,模型在第6次就已经过拟合,选择第5次训练结果,模型实际验证精度只有0.7506。图 1  神经网络模型结构
10 epochs损失曲线
10 epoches精度曲线
从结果可以看出,直接将缺陷图片用于学习,神经网络学习到的局部特征效果不明显,无法分辨相似缺陷类型。想要提高分类效果需要对缺陷库进行图像增强。

2、图像增强

图像分析

使用matlab进行图像直方图分析:
十一类图像灰度直方图
将十一种缺陷图像各选择一张图进行直方图分析,从它们的灰度直方图可以知道,该缺陷图像受背景影响很大,且缺陷部分与背景部分的灰度分布没有清晰主峰。想要提高图片质量就是为了增强缺陷部分的信息。拟采用灰度分层技术进行伪彩色图像处理、形态学top-hat变换、图像锐化三种方式增强图像。但观察灰度直方图,因为两峰之间无清晰分割,使用灰度分层会导致缺陷信息丢失,故本文主要对图像进行形态学top-hat变换增大对比度和图像锐化两种操作提高图像质量,并进行对比。

形态学top-hat变换

Top-hat 去光照不均图像增强方法数学形态学是在集合的层次上来描述和分析图像,着重研究图像的几何结构。顶帽(Top-Hat),又称“礼帽”运算,其结果图像为原图像与其开运算的差。
由于开运算是先腐蚀后膨胀,会去除背景色上的噪点或者轮廓线上的毛刺和凸起,同时也会缩小图像前景轮廓的范围,实际上也就是放大了图像间裂缝或者局部背景色区域,因此从原图中减去开运算后的图,运算结果保留了原图那些相对比周边更明亮的区域,如背景色中的白色噪点或轮廓线。所以顶帽可以用来分离比邻近区域亮一些的线条或噪点,当一幅图像具有大幅的背景(如黑底)的时候,可以使用顶帽运算提取暗背景下的亮色点或线等物体。
此处对各类图像分别进行多尺度形态学图像增强、等比例形态学图像增强和自适应形态学图像增强。(图太多,就放两张)
在这里插入图片描述
在这里插入图片描述
就三种形态学处理而言,多尺度top-hat变换对图像的普适性更高。多尺度形态学亮top-hat变换和暗top-hat变换提取细节进行图像增强。该方法使用多尺度top-hat变换提取图像多尺度下的亮、暗细节特征,并根据多尺度下局部细节特征的重要性,该方法有效的增强了图像的对比度,且能抑制噪声放大,视觉效果更好

图像锐化

利用图像基于Roberts算子,Sobel算子,Prewitt算子分别对图像边缘进行提取将提取到的图像与原图叠加,实现图像的锐化。
Sobel算子是像素图像边缘检测中最重要的算子之一。它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
Roberts算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
对各类图像使用三种算子分别进行边缘提取,实验结果如下图(十个类别图太多,就放几个)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据三种算子的提取效果可以发现,prewitt算子对图像边缘响应最好,对图像锐化效果最好。

3、图像增强后的深度学习

经过top-hat变换和图像锐化两种模式对图像进行处理,可以看出多尺度top-hat变换和prewitt算子两种处理方式分别对图像的处理效果为该模式下最好。为了神经网络可以更好的学习到图像特征,对所有图片使用pretwitt算子进行锐化,再使用初始卷积神经网络模型训练相同次数,得到的损失曲线和精度曲线如下图所示:
在这里插入图片描述
在这里插入图片描述
可以看出,在相同模型训练相同次数的情况下,神经网络可以从锐化后的图片中更好的提取图像局部特征,模型效果得到了极大的提升

总结

形态学top-hat变换:
就多尺度形态学图像增强、等比例形态学图像增强和自适应形态学图像增强三种形态学处理而言,多尺度top-hat变换对图像的普适性更高。多尺度形态学亮top-hat变换和暗top-hat变换提取细节进行图像增强。该方法使用多尺度top-hat变换提取图像多尺度下的亮、暗细节特征,并根据多尺度下局部细节特征的重要性,该方法有效的增强了图像的对比度,且能抑制噪声放大,视觉效果更好

图像锐化:
Sobel算子是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。

因为缺陷图像表面存在噪声,灰度等级接近,存在突变亮也存在突变暗,特征在各个方向上均有表现,如果使用sobel算子,它会将例如麻点等缺陷的特征平滑。所以使用prewitt算子对图片进行处理,抑制噪声的同时锐化效果也更好。

另外:这篇文章是那会儿刚学了DIP之后想做点实验,后来就当课设交作业了。就随便写写,想要源码可以私信我。为了方便,同时用了Tensorflow和Matlab,但是后面批量处理的代码俺也忘了放哪儿去了ƪ(˘⌣˘)ʃ

找到了所有代码,已经上传github:https://github.com/Mintyt/Steel-surface-defect

猜你喜欢

转载自blog.csdn.net/qq_43842886/article/details/122901755
今日推荐