1.本发明涉及缺陷图像识别技术领域,具体涉及一种利用对抗生成自编码神经网络的曲面异常检测方法。
背景技术:2.生产涉及多道工序,通常会不可避免的出现曲面表面缺陷问题。受到工业自动化发展的推动,当前基本实现了生产流程的无人化,但质检流程仍然需要依赖大量人工操作,该方法具有人力资源消耗大、效率低、漏检率高等缺点。曲面表面异常检测作为产品质量管理的重要环节,实现自动化并提高检测准确率已成为急需突破的技术瓶颈。
3.基于卷积神经网络与传统图像处理的曲面表面异常检测技术,当下已成为主流方法广泛应用于陶瓷、玻璃、地板、钢轨等产品的曲面表面异常检测,具有效率高可靠性强的特点。结合自动化检测平台,可实现稳定性强、检测速度快、成本低的异常检测方案。而对于轮胎等复杂曲面来说常见的异常检测都是基于激光器信号与物理方式抽取真空等的,由于曲面表面非平面存在高度差,存在大量复杂花纹和标记文字信息,传统的检测方法无法识别曲面表面的印刷错位、纹理错位、文字错误等问题,无法摆脱大量的人工检测,全曲面表面的光学采图也有很高的难度。
4.因此,如何提供一种基于卷积神经网络的自动化曲面表面异常检测方法是本领域技术人员亟需解决的问题。
技术实现要素:5.针对现有技术的不足,本发明提供了一种利用对抗生成自编码神经网络的曲面异常检测方法,克服了现有技术的不足,通过将对抗生成网络与自编码器组合的异常检测方法运用在异常检测领域中,通过卷积神经网络与传统图像处理,实现高效、准确的异常检测。
6.为实现以上目的,本发明通过以下技术方案予以实现:
7.一种利用对抗生成自编码神经网络的曲面异常检测方法,包括以下步骤:
8.步骤s1:利用工业相机组采集完整曲面表面特征图像,建立缺陷图像库;
9.步骤s2:利用边缘检测算法对步骤s1中采集的缺陷图像进行自动化图像裁剪,精准定位区域;并将曲面表面特征图像根据花纹的重复性划分为多个检测扇区,截取出区域,组合获得图像;
10.步骤s3:对步骤s2中获得的图像数据集进行数据增强处理;
11.步骤s4:建立基于卷积神经网络的曲面表面缺陷的异常判别神经网络;
12.步骤s5:将经过增强处理后的缺陷图像输入到异常判别神经网络中,对目异常判别神经网络进行训练,获得优化后的异常判别神经网络;
13.步骤s6:固化步骤s5训练出来的模型参数并部署到高速推理引擎,使用socket通讯与共享内存相结合的方式实现与任意语言编写软件的对接,同时进行异常检测;
14.步骤s7:对复杂纹路引起的误检测进行排除。
15.优选地,所述步骤s1中,图像库由多种工业相机采集的高分辨率图像组成,主要数据为高精度扫描图像。
16.优选地,所述步骤s2具体包括以下步骤:
17.步骤s21:对步骤s1中采集的缺陷图像进行高斯滤波平滑处理,减少底噪干扰,其中,高斯滤波平滑的计算公式如下:
[0018][0019]
其中,f(m,n)为位置(m,n)的灰度值,σ为高斯滤波的宽度,决定平滑程度,g
σ
(m,n)为位置(m,n)经过高斯滤波后的灰度值;
[0020]
步骤s22:通过计算梯度幅度,估计出每一点的边缘强度与梯度方向,边缘强度的计算公式以及梯度方向的计算公式分别如下:
[0021][0022][0023]
其中,g
x
(m,n)和gy(m,n)为两个方向的梯度值;
[0024]
步骤s23:根据梯度方向,对梯度幅值进行非极大值抑制,然后将边缘连接起来;
[0025]
步骤s24:将曲面表面根据花纹的重复性划分为多个检测扇区,截取出区域,组合获得图像。
[0026]
优选地,所述步骤s3具体包括以下步骤:
[0027]
步骤s31:使用随机旋转和翻转操作对图像进行数据增强处理,扩充缺陷数据集;
[0028]
步骤s32:对增强处理后的缺陷图像按照缺陷类别进行标注,并将标注后的图像划分为训练集、验证集和测试集。
[0029]
优选地,所述步骤s4利用自编码器加卷积神经网络构建异常判别神经网络,利用对抗生成的方式进行训练。
[0030]
优选地,所述步骤s6中异常检测方法的实现步骤为:
[0031]
步骤s61:对扫描图像进行边缘检测与裁切;
[0032]
步骤s62,每次检测前,先以一批无缺陷预训练用作排除误检测的数据模型;
[0033]
步骤s63,利用部署到tensorrt的加速推理引擎进行图像推理;
[0034]
步骤s64,利用排除误检测的数据模型完成检测结果的确认,并输出结果。
[0035]
优选地,所述步骤s6中异常检测方法的结果传递步骤为:
[0036]
步骤s65:利用socket通讯从软件端获取指令,采取mmap技术从共享内存中获取实时图像;
[0037]
步骤s66:将图像进行裁减、缩放、翻转等预处理操作后执行推理过程;
[0038]
步骤s67:将结果储存本地,并将结果预览图加载入共享内存并回传代表执行完毕
的socket信号。
[0039]
优选地,所述步骤s7中,对复杂纹路引起误检测的排除的实现步骤为:
[0040]
步骤s71:加载曲面表面花纹模板;
[0041]
步骤s72,对一批无缺陷进行检测,并记录所有检测到缺陷目标的位置;
[0042]
步骤s73,对每类缺陷的目标位置采用聚类算法,获取每个聚类中心点坐标位置,共同构成一个反误检模型;
[0043]
步骤s74,对于模型推理获取的检测结果,利用flann最近邻算法查找该检测目标是否靠近反误检模型内的某个点,判断出该点是否为误检;
[0044]
步骤s75,输出排除误检测后的检测结果。
[0045]
本发明提供了一种利用对抗生成自编码神经网络的曲面异常检测方法。具备以下有益效果:本发明针对异常检测特点进行神经网络设计,并结合tensorrt高速推理引擎,实现高效的曲面表面异常检测,此外本发明针对的特性,融合了对抗生成网络与自编码器方法,在缺陷不可知的前提下训练出模型对于异常的检出能力。从而相比传统异常检测方法,不仅提高了检测的准确率,降低了对于大量收集标注缺陷的需求,还极大节省了人力成本。
附图说明
[0046]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对现有技术描述中所需要使用的附图作简单地介绍。
[0047]
图1本发明的的曲面表面异常检测方法总流程图(以轮胎为例);
[0048]
图2本发明中步骤s4的流程图。
具体实施方式
[0049]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。
[0050]
实施例
[0051]
如图1至图2所示,一种利用对抗生成自编码神经网络的曲面异常检测方法,包括以下步骤:
[0052]
步骤s1:利用工业相机组在不同角度拍摄获取完整曲面表面特征图片,建立缺陷图像库;其中,图像库由多种工业相机采集的高分辨率图像组成,主要数据为高精度扫描图像;
[0053]
步骤s2:利用传统图像处理中的边缘检测算法对步骤s1中采集的缺陷图像进行自动化图像裁剪,将背景图像裁切掉,精准定位区域,本步骤能够避免图像背景对异常检测造成影响,同时缩小检测范围,从而提高检测效率;具体做法为:
[0054]
首先对步骤s1中采集的缺陷图像进行高斯滤波平滑处理,减少底噪干扰,其中,高斯滤波平滑的计算公式如下:
[0055][0056]
其中,f(m,n)为位置(m,n)的灰度值,σ为高斯滤波的宽度,决定平滑程度,g
σ
(m,n)
为位置(m,n)经过高斯滤波后的灰度值;通过该公式计算出每个坐标经过高斯滤波后的具体灰度值g
σ
(m,n),即可完成对整幅图像的高斯平滑处理;
[0057]
再计算图像每一点两个方向的梯度值g
x
(m,n)和gy(m,n):
[0058]
利用梯度值估计出的图像中每一点的边缘强度,计算公式如下:
[0059][0060]
利用梯度值估计出的图像中每一点的梯度方向,计算公式如下:
[0061][0062]
再根据梯度方向,对梯度幅值进行非极大值抑制,然后将边缘连接起来;
[0063]
再将曲面表面根据花纹的重复性划分为多个检测扇区,截取出区域,组合获得缺陷的图像。
[0064]
步骤s3:对步骤s2中获得的图像数据集进行数据增强处理;具体做法如下:
[0065]
首先使用随机旋转和翻转操作对图像进行数据增强处理,扩充缺陷数据集;
[0066]
再对增强处理后的缺陷图像未分类、合格、不合格图像进行分类标注,利用标注后的图像和对应标注文件按照比例划分为训练集、验证集和测试集。
[0067]
步骤s4:建立基于卷积神经网络的曲面表面缺陷的异常判别神经网络;
[0068]
本发明利用自编码器加卷积神经网络构建异常判别神经网络,利用对抗生成的方式进行训练,模型构建方式如下:
[0069]
在编码阶段使用多头自注意力机制和可变卷积层的resnest18基础结构,提高网络对小目标特征和位置信息的感知与提取能力,作为判别网络;
[0070]
基于经典gan结构的理论:前期将未标注图片作为正样本,自编码器还原图片作为负样本,训练出自编码器的还原能力与判别网络对的识别能力;训练到一定程度后将经过自编码器的合格作为正样本,经过自编码器的不合格作为负样本,进一步进行对抗训练,训练出自编码器对正负样本的分类能力:
[0071]
步骤s5:将经过增强处理后的的训练集与缺陷标注文件输入到异常判别神经网络中,对异常判别神经网络进行训练,通过多次模型参数调优并训练,获得优化后的异常判别神经网络;
[0072]
步骤s6:利用神经网络结合tensorrt实现高效异常检测,具体做法为:
[0073]
首先,固化步骤s5训练出来的模型参数,将训练好的异常判别神经网络部署到tensorrt高速推理引擎;
[0074]
然后将推理引擎部分的功能作为服务端,使用socket通讯的方式与客户端软件建立连接关系;
[0075]
然后客户端会通过mmap技术将工业相机组采集到的缺陷图像映射进内存,服务端从共享内存中读取出实时扫描的缺陷图像,并对图片进行裁减、旋转和翻转等预处理;
[0076]
再利用tensorrt进行异常检测;
[0077]
最后将缺陷图片以及推理出的缺陷位置信息保存到本地;
[0078]
获取异常检测的最终结果,将结果预览图加载入共享内存,并通过socket将推理
结束信号返回给客户端。
[0079]
在本步骤中,异常检测方法的实现步骤为:
[0080]
步骤s61:对扫描图像进行边缘检测与裁切;
[0081]
步骤s62,每次检测前,先以一批无缺陷预训练用作排除误检测的数据模型;
[0082]
步骤s63,利用部署到tensorrt的加速推理引擎进行图像推理;
[0083]
步骤s64,利用排除误检测的数据模型完成检测结果的确认,并输出结果。
[0084]
在本步骤中,异常检测方法的结果传递步骤为:
[0085]
步骤s65:利用socket通讯从软件端获取指令,采取mmap技术从共享内存中获取实时图像;
[0086]
步骤s66:将图像进行裁减、缩放、翻转等预处理操作后执行推理过程;
[0087]
步骤s67:将结果储存本地,并将结果预览图加载入共享内存并回传代表执行完毕的socket信号。
[0088]
步骤s7:对复杂纹路引起的误检测进行排除;具体实现步骤为:
[0089]
首先加载曲面表面花纹模板;
[0090]
再对一批无缺陷进行检测,并记录所有检测到缺陷目标的位置;
[0091]
然后对每类缺陷的目标位置采用聚类算法,获取每个聚类中心点坐标位置,共同构成一个反误检模型;
[0092]
接着对于模型推理获取的检测结果,利用flann最近邻算法查找该检测目标是否靠近反误检模型内的某个点,判断出该点是否为误检;
[0093]
最后输出排除误检测后的检测结果。
[0094]
总体而言,本发明所提出的以上技术方案与当前人工异常检测方法相比,能够取得下列有益效果:
[0095]
本发明提供的曲面表面异常检测方法,针对异常检测特点进行神经网络设计,并结合tensorrt高速推理引擎,实现高效的曲面表面异常检测,此外本发明针对非平面、缺陷种类繁多样本极少的特点,利用对抗生成训练自编码器的方式做异常检测,不仅提高了检测的准确率,降低了漏检率,还极大节省了人力成本。
[0096]
如图1所示,以轮胎行业为例,行业内后需要大量人员进行人工分拣、修剪再进行成品检测,每个厂用于该环节的人力投入均以百人计。而后阶段有90%左右的无需任何处理,将这一部分预先挑选出,可极大降低人工修剪和分拣的工作量。
[0097]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。