CN113450312A - 一种基于ResNet64网络的披锋缺陷的检测系统及方法 - Google Patents
一种基于ResNet64网络的披锋缺陷的检测系统及方法 Download PDFInfo
- Publication number
- CN113450312A CN113450312A CN202110616774.7A CN202110616774A CN113450312A CN 113450312 A CN113450312 A CN 113450312A CN 202110616774 A CN202110616774 A CN 202110616774A CN 113450312 A CN113450312 A CN 113450312A
- Authority
- CN
- China
- Prior art keywords
- layer
- product
- convolution
- training
- resnet64
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000007547 defect Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 238000012360 testing method Methods 0.000 claims abstract description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 19
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000012795 verification Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 38
- 238000010606 normalization Methods 0.000 claims description 21
- 239000011521 glass Substances 0.000 claims description 19
- 238000011176 pooling Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 claims description 11
- 239000003638 chemical reducing agent Substances 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 7
- 230000007797 corrosion Effects 0.000 claims description 6
- 238000005260 corrosion Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 230000006872 improvement Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 241000760358 Enodes Species 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract 1
- 238000009826 distribution Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000010339 dilation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003628 erosive effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- WURBVZBTWMNKQT-UHFFFAOYSA-N 1-(4-chlorophenoxy)-3,3-dimethyl-1-(1,2,4-triazol-1-yl)butan-2-one Chemical compound C1=NC=NN1C(C(=O)C(C)(C)C)OC1=CC=C(Cl)C=C1 WURBVZBTWMNKQT-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种基于ResNet64网络的披锋缺陷的检测系统及方法,包括ResNet64网络模型部分和检测设备部分:方法具体包括以下:步骤一、振动盘上料经过CCD相机进行采集产品图片;步骤二、建立数据集;步骤三、对数据集进行预处理和图像增强的操作;步骤四、划分得到训练集,验证集和测试集;步骤五、对神经网络结构进行训练得到披锋缺陷检测模型;步骤六、对模型进行测试,得到测试结果。步骤S7、根据得到的结果将对应信号传输至电磁阀控制气嘴将产品归类。本发明对模型进行了新的设计,在残差模块中设置shortcut连接层用于整合之前的特征,来解决深度网络中梯度发散,难以训练的问题。
Description
技术领域
本发明涉及一种基于ResNet64网络的披锋缺陷的检测系统及方法,属于深度学习领域和缺陷检测领域领域。
背景技术
当前,科技发展越来越快,更多的工业生产商在追求质量的同时对生产效率提出了更高的要求,产品质量和生产效率把握着生产厂商的发展。工业产品检测则是保证产品质量,反映生产工艺问题的重要环节。
由于科学技术的限制仍然主要采用人工检测的方法去检测产品表面的缺陷,这种方法由于人工的限制和技术的落后,不仅检测产品的速度慢、效率低下,而且在检测的过程中容易出错,从而导致了检测结果的不合格。
而且由于设备成像的质量层次不齐,导致无法很规范的去检测一系列工业产品,会遇到图像不清晰,关键部分拍摄不到位等问题,这给智能工业缺陷检测系统带来了不小的挑战。
发明内容
针对上述现有技术存在的问题,本发明提供一种基于ResNet64网络的披锋缺陷的检测系统及方法,从而解决上述技术问题。
为了实现上述目的,本发明采用的技术方案是:一种基于ResNet64网络的紧固件产品披锋缺陷的检测系统,其特征在于,包括ResNet64网络模型部分和基于ResNet64网络模型部分的检测设备;所述ResNet64网络模型部分包括输入骨干、训练模块、残差模块和输出层;所述输入骨干、输出层分别与训练模块连接,所述训练模块包括多个依次连接的卷积模块,所述卷积模块包括多个残差模块,由残差模块组成;所述输入骨干为ResNet64网络,用于对图片进行预处理以及图像增强;所述卷积模块用于对数据集进行多次卷积、池化实现下采样,得到不同尺度下的多维度特征图;所述残差模块用于连接整合不同尺度下的图像特征;所述输出层用于提取特征之后,对产品进行预测并输出结果;
所述检测设备包括用于送料的振动盘;所述振动盘一侧通过U型滑槽连接玻璃转盘;所述玻璃转盘内设置有伺服马达和减速机;所述伺服马达带动减速机进而带动玻璃转盘转动;所述玻璃转盘一侧设置有CCD支架;所述CCD支架上设置有CCD相机和CCD光源;所述CCD相机一侧连接有JETSON NANO设备;所述 JETSON NANO设备一侧连接有PCB板;所述PCB板一侧连接有电磁阀;所述电磁阀一侧连接有气泵;所述气泵上连接有气嘴;所述电磁阀收到对应信号控制对应气嘴通过气泵产生的气体将被检测的物体吹至对应的收纳盒中;
所述CCD光源通过支撑杆安装在CCD相机正下方,支撑杆的杆端能够自由调节角度和方向;
所述减速机安装在玻璃圆盘正下方,由伺服马达驱动从而带动玻璃圆盘转动,使得玻璃圆盘上的物体运动到CCD相机下方;
所述气嘴是通过软管与电磁阀相连接,所述电磁阀通过软管和气泵(10)相连同时也通过电线和PCB板相连;所述PCB板通过电线和JETSON NANO设备的GPIO口相连,从而形成完整的设备流程。
被检测物体通过振动盘进行上料,将物体送至玻璃圆盘上,伺服马达带动减速机从而转动玻璃圆盘。当被检测物体运行至CCD相机正下方时,CCD光源将物体表面照亮从而好让CCD相机拍摄画面。CCD相机拍摄完画面后将获取的图片信息传输至JETSON NANO中的模型并进行检测。JETSON NANO将结果通过GPIO口将信号通过PCB板子传输至电磁阀,电磁阀收到对应信号控制对应气嘴通过气泵产生的气体将被检测的物体吹至对应的收纳盒中
进一步的,所述训练模块包括多个下采样单元,所述下采样单元包括依次连接的多个卷积模块和一个最大池化层;所述卷积模块包括依次连接的:卷积层、批归一化层、ReLU激活函数层、自适应平均池化层以及一个全连接层;
所述卷积模块的第一层为卷积层,所述卷积层的卷积核为7X7,步长为2,输出尺寸为112X112特征图;
所述卷积模块的第二层为批归一化层bn1,批归一化层bn1经过L2正则化;
所述卷积模块的第三层为ReLU激活函数层;
所述卷积模块的第四层为最大池化层maxpool,步长为2,padding为1,尺寸为3X3;
所述卷积模块的第五层至第八层为残差block,尺寸分别为64X64,128X128,256X256,512X512;
所述卷积模块的第九层为1X1的平均池化层avgpool;
进一步的,所述披锋缺陷检测结构包括63个所述的卷积模块,最后一个卷积模块之后,连接一个512X2的全连接层FN。
所述残差模块的结构为:
第一层为1X1的卷积层conv1,用于产品图片中特征的提取;
第二层为批归一化层bn1;
第三层为3X3的卷积层conv2,并夹带一个shortcut;
第四层为批归一化层bn2;
第五层为1X1的卷积层conv3;
第六层为批归一化层bn3;
以上为一个完整的残差模块,每个卷积模块中有4个残差模块,用于改变特征向量的维度。
一种基于ResNet64网络的紧固件产品披锋缺陷的检测方法,其特征在于,包括以下步骤;
步骤一:振动盘上料经过CCD相机进行采集产品图片,并且获取所述产品图片的类别信息;
步骤二:建立数据集,所述数据集包括:所述产品图片和所述产品图片的标签;
步骤三:对所述数据集进行预处理和图像增强的操作;
步骤四:对所述数据集按照7:2:1的比例进行划分得到训练集,验证集和测试集;
步骤五:选择ResNet64网络作为神经网络结构的输入骨干,并且使用所述训练集对神经网络结构进行训练得到披锋缺陷检测模型;
步骤六:使用所述测试集对所述披锋缺陷检测模型进行测试,得到测试结果;
步骤七:根据得到的结果将对应信号传输至电磁阀控制气嘴将产品归类。
进一步的,所述步骤二中,按照所述类别信息对所述产品图片进行分类打标,生成标签,所述标签包括:F和P,所述F标签表示为合格产品,所述P标签表示为披锋缺陷产品。
进一步的,所述步骤三具体包括:
步骤S301、将数据集中的产品图片从原始的raw格式转为jpg格式,并且将产品图片归一至224X224;
步骤S302、对产品图片进行数据增强,然后将产品图片全部转换为RGB格式之后再转换为灰度格式,并且将数据集中像素差异小于50的产品图片剔除,剔除之后,对数据集中的产品图片进行按序命名。
进一步的,所述步骤S302中,所述数据增强包括:图像形变、图像放缩,腐蚀、膨胀和边缘提取、对比度提升;
所述图像形变和图像放缩通过OpenCV里的resize()函数、rotate()函数以及transpose()函数实现,
所述腐蚀操作通过OpenCV里的dilate()函数实现;
所述膨胀操作通过OpenCV里的erode()函数实现;
所述边缘提取操作通过OpenCV里的canny()函数实现;
所述对比度提升通过线性变换算法实现。
所述步骤五中,所述神经网络结构进行训练时采用的损失函数为交叉熵 +sigmoid,表达式为:
yflog(hθ)+(1-yi)log(1-hθ) (1)
公式(1)中,yi表示样本i的标签,正类为1,负类为0,hθ表示样本i预测为正的概率;其中:
公式(2)中,hθ(x)表示为标签预测为正的概率,y表示标签,ai表示为标签i预测概率,yi表示样本i的标签,hθ表示样本i预测为正的概率;
进一步的,所述步骤五中,在所述神经网络结构进行训练时,使用动量和自适应学习率Adam作为优化器,具体包括:
步骤501、产品图片经过上述神经网络结构后输出一个得分值score;
步骤502、将得分值score输入所述损失函数后计算误差loss;
步骤503、然后进行Adam优化,包括反向传播和正向传播,所述反向传播为对所述神经网络结构求导,所述正向传播为重复上述网络结构的操作;
步骤504、循环往复直至规定的次数或误差小于设定值,训练完毕;
步骤505、输出披锋缺陷检测模型。
进一步的,所述步骤六中,所述测试具体为:向所述披锋缺陷检测模型中输入一张标注过但未参与训练的图片,让所述披锋缺陷检测模型进行判断,若为合格品则输出F,否则输出P,测试完毕。
进一步的,所述步骤七中在模型检测输出结果后,通过Jetson Nano的GPIO 口和PCB板子相连接传输信号给电磁阀,电磁阀收到信号后,闭合开关使得空压机中的气体通过气嘴喷出从而将检测物体对应分类。
本发明的有益效果是:本发明采用ResNet64的残差神经网络作为特征提取的基础网络,Pytorch作为开发框架,并且在此基础之上,对网络结构进行新的设计,网络的深度对卷积网络的效果影响非常大,但是单纯地增加网络深度并不能简单地提高网络的效果,由于梯度发散,反而可能损害模型的效果,所以本发明提出的残差模块中都有一个shortcut连接层用于整合之前的特征,来解决深度网络中梯度发散,难以训练的问题。
本发明考虑到工业界缺陷检测项目落地流程,特意展示设备及运行构建过程。包括被检测物体通过振动盘进行上料,将物体送至玻璃圆盘上,伺服马达带动减速机从而转动玻璃圆盘。当被检测物体运行至CCD相机正下方时,CCD光源将物体表面照亮从而好让CCD相机拍摄画面。CCD相机拍摄完画面后将获取的图片信息传输至JETSON NANO中的模型并进行检测。JETSON NANO将结果通过GPIO 口将信号通过PCB板子传输至电磁阀,电磁阀收到对应信号控制对应气嘴通过气泵产生的气体将被检测的物体吹至对应的收纳盒中。
附图说明
图1为本发明的实施例1中基于ResNet64网络的紧固件产品披锋缺陷检测网络模型的流程框图;
图2为本发明的实施例2中提供的基于ResNet64网络的紧固件产品披锋缺陷检测网络模型结构图;
图3为本发明的实施例2中提供的基于ResNet64网络的紧固件产品披锋缺陷检测结构的卷积块结构图;
图4为本发明的实施例2中提供的基于ResNet64网络的紧固件产品披锋缺陷检测机构的恒等残差块结构图;
图5为本发明实施例1中步骤S3的流程框图;
图6为本发明实施例1中步骤S5的流程框图;
图7为本发明实施例1中步骤S6的流程框图;
图8为本发明实施例1中精准度与召回率曲线示意图;
图9为本发明检测设备结构示意图。
图中:1、振动盘,2、玻璃转盘,3、伺服马达,4、减速机,5、CCD支架,51、CCD相机,52、CCD光源,6、JETSON NANO设备,7、PCB板,8、气嘴, 9、电磁阀,10、气泵,11、收纳盒。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。
除非另有定义,本文所使用的所有的技术术语和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1、图2和图3所示,实施例1
参见图1,本实施例提供一种基于ResNet64网络的紧固件产品披锋缺陷的检测方法,包括如下步骤:
步骤S1、振动盘上料经过CCD相机进行采集图片,并且获取产品图片的类别信息;
具体的说,人工采集产品的图像,对采集到的样本数据打标签,合格品以F 开头,序号跟在F的后面(比如F0001.jpg,F0002.jpg),同理披锋缺陷品以P开头,如(P0001.jpg,P0002.jpg);
步骤S2、建立数据集,数据集包括:产品图片和产品图片的标签;
步骤S3、对数据集进行预处理和图片增强的操作,具体的说:
参见图5,步骤S301、将数据集中的产品图片从原始的raw格式转为jpg 格式,并且使用cv2.resize()函数,将其尺寸归一至224X224;
步骤S302、对产品图片进行数据增强,用OpenCV库中的cv2.imread()函数读取图片,并判断图片格式,若图片属于Bayer格式,或者其他的非RGB格式,那么将该图片转化成RGB格式后再进行操作;将转化完成的RGB图片,利用 OpenCV库的cv2.COLOR_BGR2GRAY()函数转化成灰度图;然后再进行异常数据判断,通过计算每张图片的最大和最小像素值的差,找出差值小于50的图片,设为异常值并删除,剔除之后,对数据集中的产品图片进行按序命名,名称就是新的标签。
上述数据增强的操作包括:图像形变、图像放缩,膨胀腐蚀去噪和线性变换对比度提升,具体如下:
步骤S3021,图像形变和图像放缩的操作是通过OpenCV里的resize()函数、rotate()函数以及transpose()函数让图像发生形变,用来给图像增加随机性,增强模型的泛化能力,提高鲁棒性;
通过开运算先腐蚀再膨胀,用来消除小物体,即消除噪点。
步骤S3023,对比度提升的操作是利用OpenCV里的线性变换函数实现提升图片对比度,线性变换函数的表达式如下:
o(r,c)=a*I(r,c)+b
r为灰度图像的输入值(原来的灰度值),取值范围为[0,1]。O为经过伽马变换后的灰度输出值。c为灰度缩放系数,通常取1。当a=1,b=0时,输出图像为原图像的一个副本,当a>1时,输出图像比原图像I的对比度有所增强,当 0<a<1时,对比度减小。b对应的是输出图像的亮度,当b>0,亮度增强;当b<0 亮度减弱。
步骤S3024,经过上述三个步骤处理的图片仍然存在或多或少的噪声,所以本步骤利用OpenCV的cv2.GaussianBlur()函数对图片进行集中去噪。对图片邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值,对图片进行平滑的同时,同时能够更多的保留图片的总体灰度分布特征,从而使得噪声得到很好的抑制,公式如下:
步骤S4、对数据集按照7:2:1的比例进行划分得到训练集,验证集和测试集;
具体是,生成随机种子seed,随机将样本图像数据的70%作为训练数据,20%作为验证数据,10%作为测试数据。
步骤S5、选择ResNet64网络作为神经网络结构的输入骨干,并且使用训练集对神经网络结构进行训练得到披锋缺陷检测模型;
具体是:参见图6;
步骤S501、编写config配置文件来初始化一些常量和超参数,包含root数据路径,list数据列表,class产品类别,batchsize单次训练样本数量,Learning Rate学习率,epoch批次数,early_stopping停止标识等;
步骤S502、加载ResNet64网络模型,初始化常量参数
步骤S503、初始化ResNet64网络模型的超参数,设置损失函数和优化器;
步骤S504、判断程序是模型训练还是模型测试;
步骤S505、加载ResNet64网络模型的预训练权重;
步骤S506、将图像尺寸resize至224X224,执行随机旋转和翻转操作;
步骤S507、将图像数据转化成tensor,便于计算和加速处理;
步骤S508、对tensor进行归一化操作;
步骤S509、将tensor送入ResNet64网络模型并加载配置参数常量;
步骤S510、按照设置好的batchsize获取数据作为一轮样本训练量;
步骤S511、预设置最佳精度为85%,当实际精度大于预设精度时,进行替换并保存网络权重参数至chenckpoint;
步骤S512、开始训练,设置时间计时;
步骤S513、使用GPU加速训练过程;
步骤S514、将数据送入网络模型,然后经过卷积层,批归一化,池化,relu 激活后,得到输出结果output;
步骤S515、将output送入损失函数,求得误差loss;
步骤S516、将loss进行反向传播(求导),更新误差;
步骤S517、优化器记录导后得到的参数进行对应超参数调整;
步骤S518、更新批次,更新时间;
步骤S519、打印日志包括训练过程中的具体信息:训练批次,损失值,学习率,训练准确率和验证准确率;
步骤S520、重复上述步骤S512至步骤S519,直至一个batchsize结束;
步骤S521、更新网络模型的权重参数和优化器的权重参数;
步骤S522、记录误差最小的模型的权重参数并保存至checkpoint;
步骤S523、重复上述步骤S510至步骤S522,直至所有epoch循环结束;
步骤S524、找出精度最高的模型权重,并保存至文件best_checkpoint。
上述步骤中,卷积的含义为卷积核不停的在原图上进行滑动,然后再利用原图与卷积核上的数值进行计算得到缩略图矩阵的数据,公式如下:
=x(t)*h(t)
其中x(p)是卷积速度,t为当前时刻,p是某一时刻(p<t),h(t-p)dp 表示当前速度卷积的效果。Y(t)表示连续一段时间卷积后,系统累积状态。
在图像处理领域,可以理解成将图片提取特征后,映射到另一张更小或更大的图像上。
神经网络在训练的同时,会进行反向传播和优化,优化器选择的是动量和自适应学习率的Adam,下面为Adam优化器更新优化步骤以及交叉熵的数学解释;
在神经网络中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。
sigmoid作为最后一层输出的话,将最后一层的每个神经元看作一个分布,对应的target属于二项分布(target的值代表是这个类的概率),那么第i个神经元交叉熵为:
yi log(hθ)+(1-yi)log(1-hθ)
yi表示样本i的标签,正类为1,负类为0,hθ表示样本i预测为正的概率;
其中:
hθ(x)表示为标签预测为正的概率,y表示标签,ai表示为标签i预测概率, yi表示样本i的标签,hθ表示样本i预测为正的概率。
Adam优化方程:
为了将动量引入神经网络,将时间元素添加到过去时间步长的更新向量中,并将其添加到当前更新向量中。这样可以使球的动量增加一定程度。可以用数学表达式表示:
θ=θ-vt
其中θ是网络的参数,即权重,偏差或激活值,η是学习率,J是我们要优化的目标函数,γ是常数项,也称为动量。Vt-1(注意t-1是下标)是过去的时间步长,而Vt(注意t是下标)是当前的时间步长。
为了使学习率随着时间的流逝而适应,加快梯度的更新,这里引入自适应学习率RMSprop(即均方根传播),表达式为:
第一个方程是平方梯度的指数衰减平均值,建议将γ设置为0.9,而学习率η的默认值为0.001。
步骤S6、使用测试集对披锋缺陷检测模型进行测试,得到测试结果。
具体包括:参见图7;
步骤S601、加载GPU和网络模型,初始化常量参数;
步骤S602、从checkpoint处加载best_checkpoint;
步骤S603、读取测试图像路径;
步骤S604、将图像尺寸resize至224X224,执行随机旋转和翻转操作;
步骤S605、将图像数据转化成tensor,便于计算和加速处理;
步骤S606、对tensor进行归一化操作;
步骤S607、将tensor送入模型并加载配置参数常量;
步骤S608、进入epoch循环,按照设置好的batchsize获取测试样本数据;
步骤S609、开始测试,经过模型预测后,得出结果output2;
步骤S610、将output2计算求得准确率;
步骤S611、重复步骤S604至步骤S610,得出所有批次的样本精度,求平均值,得到最终的平均精度Acc。
最后,对模型进行性能评估与输出检测结果。
模型性能评估指标常用的有F1,mAP,AUC等,在本实施例中,使用的是最常用的mAP评估方法,这是基于PR曲线的评估方法,来求平均精度,PR曲线的纵坐标为精准度P,横坐标为召回率R,具体请参见图9。
AP单类别平均精度为PR曲线下,与R轴构成形状的面积,即P对R的积分,而mAP即所有类别的平均精度的平均值(mean average precision)。
当模型测试完之后,会由模型预测结果,将所有测试数据中的产品图像分类,最后用mAP来评估模型的准确率。
步骤S7、根据得到的结果将对应信号传输至电磁阀控制气嘴将产品归类。
具体步骤包括:参见图9;
步骤S701:将模型得到的结果进行判断,如果是标签F,则GPIO向电磁阀 1发送高电平信号,如果是标签P,则GPIO向电磁阀2发送高电平信号,并持续 0.2s。
步骤S702:PCB板子收到对应信号后,将信号传输至对应电磁阀,电磁阀收到信号后闭合开关,释放空压机产生的空气,通过气嘴将检测物品吹落至对应分类盒中。
本实施例中设计多个变量,表1对各个步骤中的变量进行说明。
表1变量说明表
实施例2,参见图2,图3和图4,本实施例提供一种基于ResNet64网络的紧固件产品披锋缺陷的检测结构,包括:输入骨干、训练模块、残差模块和输出层;
输入骨干、输出层分别与训练模块连接,训练模块包括多个依次连接的卷积模块,卷积模块包括多个残差模块,由残差模块组成。
输入骨干为ResNet64网络,用于对图片进行预处理以及图像增强;
卷积模块用于对数据集进行多次卷积、池化实现下采样,得到不同尺度下的多维度特征图;
残差模块用于连接整合不同尺度下的图像特征;
输出层用于提取特征之后,对产品进行预测并输出结果。
具体的,上述训练模块包括多个下采样单元,下采样单元包括依次连接的多个卷积模块和一个最大池化层;卷积模块包括依次连接的:卷积层、批归一化层、 ReLU激活函数层、自适应平均池化层以及一个全连接层;
卷积模块的第一层为卷积层,卷积层的卷积核为7X7,步长为2,输出尺寸为112X112特征图;
卷积模块的第二层为批归一化层bn1,批归一化层bn1经过L2正则化;
卷积模块的第三层为ReLU激活函数层;
卷积模块的第四层为最大池化层maxpool,步长为2,padding为1,尺寸为 3X3;
卷积模块的第五层至第八层为残差block,尺寸分别为64X64,128X128, 256X256,512X512;
卷积模块的第九层为1X1的平均池化层avgpool;
披锋缺陷检测结构包括63个的卷积模块,最后一个卷积模块之后,连接一个512X2的全连接层FN。
具体的,上述残差模块的结构为:
第一层为1X1的卷积层conv1,用于产品图片中特征的提取;
第二层为批归一化层bn1;
第三层为3X3的卷积层conv2,并夹带一个shortcut;
第四层为批归一化层bn2;
第五层为1X1的卷积层conv3;
第六层为批归一化层bn3;
以上为一个完整的残差模块,每个卷积模块中有4个残差模块,用于改变特征向量的维度。
本发明未详述之处,均为本领域技术人员的公知技术。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于ResNet64网络的披锋缺陷的检测系统,其特征在于,包括ResNet64网络模型部分和基于ResNet64网络模型部分的检测设备;所述ResNet64网络模型部分包括输入骨干、训练模块、残差模块和输出层;所述输入骨干、输出层分别与训练模块连接,所述训练模块包括多个依次连接的卷积模块,所述卷积模块包括多个残差模块,由残差模块组成;所述输入骨干为ResNet64网络,用于对图片进行预处理以及图像增强;所述卷积模块用于对数据集进行多次卷积、池化实现下采样,得到不同尺度下的多维度特征图;所述残差模块用于连接整合不同尺度下的图像特征;所述输出层用于提取特征之后,对产品进行预测并输出结果;
所述检测设备包括用于送料的振动盘(1);所述振动盘(1)一侧通过U型滑槽(11)连接玻璃转盘(2);所述玻璃转盘(2)内设置有伺服马达(3)和减速机(4);所述伺服马达(3)带动减速机(4)进而带动玻璃转盘(2)转动;所述玻璃转盘(2)一侧设置有CCD支架(5);所述CCD支架(5)上设置有CCD相机(51)和CCD光源(52);所述CCD相机(51)一侧连接有JETSON NANO设备(6);所述JETSON NANO设备(6)一侧连接有PCB板(7);所述PCB板(7)一侧连接有电磁阀(9);所述电磁阀(9)一侧连接有气泵(10);所述气泵(10)上连接有气嘴(8);所述电磁阀(9)收到对应信号控制对应气嘴(8)通过气泵(10)产生的气体将被检测的物体吹至对应的收纳盒(11)中;
所述CCD光源(52)通过支撑杆安装在CCD相机(51)正下方,支撑杆的杆端能够自由调节角度和方向;
所述减速机(4)安装在玻璃圆盘(2)正下方,由伺服马达(3)驱动从而带动玻璃圆盘(2)转动,使得玻璃圆盘(2)上的物体运动到CCD相机(51)下方;
所述气嘴(8)是通过软管与电磁阀(9)相连接,所述电磁阀(9)通过软管和气泵(10)相连同时也通过电线和PCB板(7)相连;所述PCB板(7)通过电线和JETSON NANO设备(6)的GPIO口相连,从而形成完整的设备流程。
2.根据权利要求1所述的一种基于ResNet64网络的披锋缺陷的检测系统,其特征在于,所述训练模块包括多个下采样单元,所述下采样单元包括依次连接的多个卷积模块和一个最大池化层;所述卷积模块包括依次连接的:卷积层、批归一化层、ReLU激活函数层、自适应平均池化层以及一个全连接层;
所述卷积模块的第一层为卷积层,所述卷积层的卷积核为7X7,步长为2,输出尺寸为112X112特征图;
所述卷积模块的第二层为批归一化层bn1,批归一化层bn1经过L2正则化;
所述卷积模块的第三层为ReLU激活函数层;
所述卷积模块的第四层为最大池化层maxpool,步长为2,padding为1,尺寸为3X3;
所述卷积模块的第五层至第八层为残差block,尺寸分别为64X64,128X128,256X256,512X512;
所述卷积模块的第九层为1X1的平均池化层avgpool;
所述披锋缺陷检测结构包括63个所述的卷积模块,最后一个卷积模块之后,连接一个512X2的全连接层FN。
3.根据权利要求1所述的一种基于ResNet64网络的披锋缺陷的检测系统,其特征在于,所述残差模块的结构为:
第一层为1X1的卷积层conv1,用于产品图片中特征的提取;
第二层为批归一化层bn1;
第三层为3X3的卷积层conv2,并夹带一个shortcut;
第四层为批归一化层bn2;
第五层为1X1的卷积层conv3;
第六层为批归一化层bn3;
以上为一个完整的残差模块,每个卷积模块中有4个残差模块,用于改变特征向量的维度。
4.一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,包括以下步骤;
步骤一:振动盘上料经过CCD相机进行采集产品图片,并且获取所述产品图片的类别信息;
步骤二:建立数据集,所述数据集包括:所述产品图片和所述产品图片的标签;
步骤三:对所述数据集进行预处理和图像增强的操作;
步骤四:对所述数据集按照7:2:1的比例进行划分得到训练集,验证集和测试集;
步骤五:选择ResNet64网络作为神经网络结构的输入骨干,并且使用所述训练集对神经网络结构进行训练得到披锋缺陷检测模型;
步骤六:使用所述测试集对所述披锋缺陷检测模型进行测试,得到测试结果;
步骤七:根据得到的结果将对应信号传输至电磁阀控制气嘴将产品归类。
5.根据权利要求4所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤二中,按照所述类别信息对所述产品图片进行分类打标,生成标签,所述标签包括:F和P,所述F标签表示为合格产品,所述P标签表示为披锋缺陷产品。
6.根据权利要求4所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤三具体包括:
步骤S301、将数据集中的产品图片从原始的raw格式转为jpg格式,并且将产品图片归一至224X224;
步骤S302、对产品图片进行数据增强,然后将产品图片全部转换为RGB格式之后再转换为灰度格式,并且将数据集中像素差异小于50的产品图片剔除,剔除之后,对数据集中的产品图片进行按序命名。
7.根据权利要求6所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤S302中,所述数据增强包括:图像形变、图像放缩,腐蚀、膨胀和边缘提取、对比度提升;
所述图像形变和图像放缩通过OpenCV里的resize()函数、rotate()函数以及transpose()函数实现,
所述腐蚀操作通过OpenCV里的dilate()函数实现;
所述膨胀操作通过OpenCV里的erode()函数实现;
所述边缘提取操作通过OpenCV里的canny()函数实现;
所述对比度提升通过线性变换算法实现。
8.根据权利要求4所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤五中,所述神经网络结构进行训练时采用的损失函数为交叉熵+sigmoid,表达式为:
yilog(hθ)+(1-yi)log(1-hθ) (1)
公式(1)中,yi表示样本i的标签,正类为1,负类为0,hθ表示样本i预测为正的概率;其中:
公式(2)中,hθ(x)表示为标签预测为正的概率,y表示标签,ai表示为标签i预测概率,yi表示样本i的标签,hθ表示样本i预测为正的概率;
所述步骤五中,在所述神经网络结构进行训练时,使用动量和自适应学习率Adam作为优化器,具体包括:
步骤501、产品图片经过上述神经网络结构后输出一个得分值score;
步骤502、将得分值score输入所述损失函数后计算误差loss;
步骤503、然后进行Adam优化,包括反向传播和正向传播,所述反向传播为对所述神经网络结构求导,所述正向传播为重复上述网络结构的操作;
步骤504、循环往复直至规定的次数或误差小于设定值,训练完毕;
步骤505、输出披锋缺陷检测模型。
9.根据权利要求4所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤六中,所述测试具体为:向所述披锋缺陷检测模型中输入一张标注过但未参与训练的图片,让所述披锋缺陷检测模型进行判断,若为合格品则输出F,否则输出P,测试完毕。
10.根据权利要求4所述的一种基于ResNet64网络的披锋缺陷的检测方法,其特征在于,所述步骤七中在模型检测输出结果后,通过Jetson Nano的GPIO口和PCB板子相连接传输信号给电磁阀,电磁阀收到信号后,闭合开关使得空压机中的气体通过气嘴喷出从而将检测物体对应分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616774.7A CN113450312A (zh) | 2021-06-03 | 2021-06-03 | 一种基于ResNet64网络的披锋缺陷的检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110616774.7A CN113450312A (zh) | 2021-06-03 | 2021-06-03 | 一种基于ResNet64网络的披锋缺陷的检测系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113450312A true CN113450312A (zh) | 2021-09-28 |
Family
ID=77810873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110616774.7A Withdrawn CN113450312A (zh) | 2021-06-03 | 2021-06-03 | 一种基于ResNet64网络的披锋缺陷的检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113450312A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114240923A (zh) * | 2021-12-27 | 2022-03-25 | 青岛科技大学 | 基于机器视觉的全自动bldc电机绕线机产品缺陷检测方法 |
CN114842273A (zh) * | 2022-06-21 | 2022-08-02 | 苏州康代智能科技股份有限公司 | Pcb缺陷检测模型的评估方法、评估装置及训练方法 |
-
2021
- 2021-06-03 CN CN202110616774.7A patent/CN113450312A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114240923A (zh) * | 2021-12-27 | 2022-03-25 | 青岛科技大学 | 基于机器视觉的全自动bldc电机绕线机产品缺陷检测方法 |
CN114842273A (zh) * | 2022-06-21 | 2022-08-02 | 苏州康代智能科技股份有限公司 | Pcb缺陷检测模型的评估方法、评估装置及训练方法 |
TWI834426B (zh) * | 2022-06-21 | 2024-03-01 | 大陸商蘇州康代智能科技股份有限公司 | Pcb缺陷檢測模型的評估方法、評估裝置及訓練方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598767A (zh) | 一种基于ssd卷积神经网络的地下排水管道缺陷识别方法 | |
CN109101897A (zh) | 水下机器人的目标检测方法、系统及相关设备 | |
CN113450312A (zh) | 一种基于ResNet64网络的披锋缺陷的检测系统及方法 | |
CN111986142A (zh) | 一种热轧板卷表面缺陷图像数据无监督增强的方法 | |
CN107480585B (zh) | 基于dpm算法的目标检测方法 | |
CN109978882A (zh) | 一种基于多模态融合的医疗影像目标检测方法 | |
CN111126115A (zh) | 暴力分拣行为识别方法和装置 | |
CN111696092A (zh) | 一种基于特征对比的缺陷检测方法及系统、存储介质 | |
CN114821229B (zh) | 基于条件生成对抗网络的水下声学数据集增广方法及系统 | |
CN111986126A (zh) | 一种基于改进vgg16网络的多目标检测方法 | |
CN112270404A (zh) | 一种基于ResNet64网络的紧固件产品鼓包缺陷的检测结构及其方法 | |
CN118129088A (zh) | 一种基于人工智能的压力管道电磁超声检测方法 | |
CN109919215B (zh) | 基于聚类算法改进特征金字塔网络的目标检测方法 | |
CN115994900A (zh) | 基于迁移学习的无监督缺陷检测方法和系统、存储介质 | |
JP2020155101A (ja) | 情報処理装置及び情報処理方法 | |
CN114841992A (zh) | 基于循环生成对抗网络和结构相似性的缺陷检测方法 | |
CN113536896B (zh) | 基于改进Faster RCNN的绝缘子缺陷检测方法、装置及存储介质 | |
CN107798329A (zh) | 基于cnn的自适应粒子滤波目标跟踪方法 | |
CN107274425A (zh) | 一种基于脉冲耦合神经网络的彩色图像分割方法及装置 | |
CN117315376B (zh) | 基于机器学习的机械零件工业质检方法 | |
WO2024060839A1 (zh) | 对象操作方法、装置、计算机设备以及计算机存储介质 | |
CN112785568A (zh) | 一种基于深度学习的磁瓦缺陷分割方法 | |
CN116777896A (zh) | 一种表观缺陷跨域分类识别的负迁移抑制方法 | |
CN117011168A (zh) | 一种联合DeeplabV3+和LaMa模型的透明光滑物体高光去除方法及系统 | |
CN115953403A (zh) | 缺陷检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210928 |
|
WW01 | Invention patent application withdrawn after publication |