CN117540779A - 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 - Google Patents
一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 Download PDFInfo
- Publication number
- CN117540779A CN117540779A CN202311587008.8A CN202311587008A CN117540779A CN 117540779 A CN117540779 A CN 117540779A CN 202311587008 A CN202311587008 A CN 202311587008A CN 117540779 A CN117540779 A CN 117540779A
- Authority
- CN
- China
- Prior art keywords
- encoder
- net
- network
- images
- model
- 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.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 62
- 239000002184 metal Substances 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000013135 deep learning Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000002372 labelling Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 230000011218 segmentation Effects 0.000 claims description 22
- 230000004927 fusion Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000004821 distillation Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 238000011068 loading method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000000750 progressive effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 229910001111 Fine metal Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- 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/0495—Quantised networks; Sparse networks; Compressed 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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
- G06N3/096—Transfer learning
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/20076—Probabilistic image processing
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30136—Metal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其步骤为:获取待检测金属表面不同类型的缺陷图像和正常图像,按照缺陷类型对图像进行分类;对分类后的图像使用深度学习平台进行标注,生成对应的标签文件,构建待检测金属表面缺陷数据集;对训练集中的图像进行数据预处理,再输入到构建的CU‑Net网络模型中进行训练,获得预训练模型作为教师网络;将教师网络简化为CU‑Net(s),再将其作为学生网络,通过知识蒸馏策略从教师网络的特征层和响应层中提取不同类型的知识;根据验证集的测试结果对训练过程中的超参数进行优化,再将训练好的CU‑Net(s)模型部署到移动终端,实时对金属表面缺陷进行检测。本发明能够快速、高效和高精度地检测出金属的表面缺陷。
Description
技术领域
本发明属于金属表面缺陷检测技术领域,尤其是涉及一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法。
背景技术
金属作为一种至关重要的工业原材料,广泛应用于制造机械、航空航天、汽车、国防、轻工等众多领域。然而,在金属材料的生产过程中,受原材料质量、生产设备、加工工艺、生产环境以及人为误差等因素影响,金属表面往往会出现划痕、边缘破损以及起皮脱落等缺陷。这些缺陷不仅影响产品本身的质量和可靠性,还增加了后续生产过程中的浪费和不合格产品的数量,从而增加了生产成本。特别是在高速连续生产线上,传统的目视检查和手动检测方法无法满足生产速度和质量控制的要求。因此,金属表面缺陷检测的研究具有至关重要的意义。
目前,大多数企业仍通过人工方法对金属表面缺陷进行检测,不仅检测精度低、稳定性差,同时也导致了巨大的人力、时间和资源浪费。随着计算机技术的不断发展,基于机器视觉的金属表面缺陷检测技术已经发展成为主流,逐步取代了人工检测方法。传统的方法主要通过数字图像处理技术来增强、分割和提取缺陷,常见的技术包括边缘检测、滤波、形态学处理等;例如,现有方法通过高斯金字塔分解和Gabor滤波器提取金属表面缺陷的三个特征(颜色、亮度和方向),并建立马尔可夫分类模型实现缺陷分类。然而,受到设备性能、光线条件和复杂的生产环境等因素的限制,传统方法检测的效果并不理想,且适用性和鲁棒性不强。
近年来,深度学习技术和计算机视觉领域的快速发展为金属表面缺陷检测提供了新的机会。作为深度学习的核心,深度卷积神经网络能够通过自动化训练的方式,自适应地从图像中提取有效特征,从而被广泛应用到金属表面缺陷检测任务中。例如,现有方法采用监督和半监督学习的方法,通过构建相应的金属表面缺陷数据集,对Faster R-CNN、ResNet和YOLO系列网络进行改进,从而实现对金属表面缺陷类型的检测,其检测过程具有无接触、无损伤等特点,而且在提高检测效率的同时也大大提高了检测精度。然而,尽管现有的基于深度学习的方法在金属表面缺陷检测任务中取得了很好的性能,但它们往往需要庞大的模型和高计算资源,导致运行速度慢、难以在资源受限的移动终端和便携式设备上进行部署,同时难以满足工业高实时性的需求等。
因此,在保证模型精度和速度的同时,尽可能压缩网络成为当下亟待解决的问题。尽管各式各样的网络压缩优化算法相继被提出,模型的尺寸以及效率得到了大幅度的优化,但当前仍面临网络压缩尺度单一、压缩幅度有限以及精度损失大等问题,对于部分工业现场的部署应用还需要进一步改善。
发明内容
为解决现有技术中存在的深度学习模型难以在移动终端部署的问题,本发明的目的是提供一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其既能够保证检测缺陷准确率同时也能够轻量化网络,满足了移动端设备实时性和准确性的要求。
为实现上述发明目的,本发明采用如下技术方案:
一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其包括以下步骤:
S1、获取待检测金属表面不同类型的缺陷图像和正常图像,并按照缺陷类型对图像进行分类;
S2、对步骤S1中的分类后的图像使用深度学习平台进行标注,生成对应的标签文件,构建待检测金属表面缺陷数据集;
S3、对步骤S2中数据集的训练集中的图像进行数据预处理操作,然后输入到构建的CU-Net网络模型中进行训练,获得预训练模型,作为教师网络;
S4、将步骤S3中的教师网络简化为CU-Net(s),然后将其作为学生网络,通过知识蒸馏策略从教师网络的特征层和响应层中提取不同类型的知识;
S5、根据步骤S2中数据集的验证集的测试结果对训练过程中的超参数进行优化,然后将步骤S4中训练好的CU-Net(s)模型部署到移动终端,实时对金属表面的缺陷进行检测。
进一步地,上述的步骤S2,包括以下子步骤:
S2.1、通过深度学习平台对分类后的图像进行标注,生成对应的png标签文件;
S2.2、对步骤S2.1中所有图像标注完成后,得到数据集图像对其中,xi表示采集到的图像,yi表示对应的标签,i表示第i张图像,N表示数据集中图像的总数;
S2.3、将步骤S2.2获取的图像对数据划分为三部分:分别是训练集Dtrain、验证集Dval和测试集Dtest,其中,训练集Dtrain用于模型训练,占全部数据的80%;验证集Dval用于将模型的训练情况进行反馈,占全部数据的10%;测试集Dtest用于评估模型的性能,占全部数据的10%。
进一步地,上述的步骤S3,包括以下子步骤:
S3.1、加载训练集的图像和相应的标签,将图像调整为适应模型输入的尺寸,并应用数据增强操作,对训练集进行扩充;
S3.2、对数据增强后的图像进行归一化处理,以确保所有图像的像素值位于0至1的范围内,得到预处理后的图像对;
S3.3、构建级联U-Net架构,包括以下子步骤:
S3.31、根据训练集图像的大小,设定CU-Net网络的级联层数:将第一编码器的输出特征进行2倍降采样后送至第二编码器,然后再将输出特征2倍降采样后送至第三编码器;依次类推,最后将第k-1编码器的输出特征进行2倍降采样后送入第k编码器中;
S3.32、选择传统的U-Net网络作为第一编码器的结构,通过下采样提取得到输入图像的多尺度特征,接着通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图,得到编码器的输出特征;然后依次减小U-Net网络降采样和上采样的层数,作为第二编码器至第k-2编码器的结构;在第k-1编码器和第k编码器中,采用膨胀卷积操作,使中间特征图都具有与其输入特征图相同的分辨率;
S3.33、多个解码器采用和步骤S3.32中所述多个编码器对称的结构,主要进行对特征图的预测,每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的拼接作为输入;
S3.34、将解码器的输出特征通过3×3的卷积层和sigmoid函数得到不同尺度的分割结果图,然后通过注意力融合机制得到最终的分割结果图;
S3.4、将步骤3.2所得的预处理后的图像对送入步骤S3.3中的CU-Net网络中,根据计算预测结果和真实标签之间的损失,从而在反向传播过程中更新模型参数,得到训练集在教师模型上的预训练权重。
进一步地,上述的步骤S3.4,包括以下子步骤:
S3.41、输入图像x经过第一编码器中的编码部分进行下采样提取到多尺度特征,并通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图;然后将局部特征和多尺度特征进行融合,得到第一编码器的输出OEn_1;
S3.42、将第一编码器的输出OEn_1送入第二编码器中得到OEn_2,将第二编码器的输出OEn_2送入第三编码器中得到OEn_3,依此类推,将第k-1编码器的输出OEn_k-1送至第k编码器中得到OEn_k;在第k-1编码器和第k编码器中采用膨胀卷积操作,使得经过这两个块输出的特征图都与其输入的特征图具有相同的分辨率;
S3.43、解码器将来自前一级的上采样特征映射和来自其对称编码器阶段的特征映射的级联作为输入,分别经过3×3的卷积和Sigmod函数生成多尺度的语义图mapi(i=1,2,…,k);然后通过注意力融合机制对多尺度分割结果进行融合,再经过1×1的卷积和Sigmod函数生成最终融合后的语义图mapf;
S3.44、构建的CU-Net网络在训练阶段的损失函数如下:
其中,LBCE表示二进制交叉熵损失;mapi表示第i个编码器输出的分割结果;mapf表示融合后的分割结果;label表示样本的真实标签。
进一步地,上述的步骤S4,包括以下子步骤:
S4.1、通过减少级联层的层数、卷积层的数量、压缩通道维度对CU-Net模型进行简化,得到其轻量化版本CU-Net(s);
S4.2、加载CU-Net模型的预训练权重,将相同的输入图像同时输入到教师网络CU-Net和轻量化学生网络CU-Net(s)中,提取两个网络相应特征层和响应层的输出;
S4.3、将教师网络输出的多尺度分割图作为知识,联合样本的真实标签共同对学生网络进行指导;因此,基于响应层的蒸馏损失定义如下:
其中,β为权衡系数;和/>分别表示教师网络和学生网络的多尺度分割图;和/>分别表示教师网络和学生网络融合后的特征;label表示样本的真实标签;
S4.4、构建残差学习框架,使得后一层的学生特征去学习前一层的学生特征和教师特征之间的残差,帮助学生网络的深层特征逐步提取有用的信息,因此,基于特征层的蒸馏损失定义如下:
其中,ft(x;n)和fs(x;n)分别表示输入图像x在教师网络和学生网络最深层的特征表示;ft(x;j)和fs(x;j)分别表示教师网络和学生网络中间第j层的特征表示,μ(·)表示特征融合模块;
S4.5、联合上述的基于响应层和特征层的双源知识蒸馏策略,学生网络CU-Net(s)在教师网络的指导下进行训练,从教师网络的特征层和响应层中提取不同类型的知识。
进一步地,上述的步骤S5,包括以下子步骤:
S5.1、使用验证集对经过知识蒸馏训练的轻量化模型CU-Net(s)的性能进行验证,并对模型训练过程中的超参数进行调优,确保模型在验证集上取得较好的检测结果;
S5.2、使用测试集对模型进行最终性能评估,将CU-Net(s)模型部署到移动终端设备上,用于金属表面缺陷检测。
由于采用如上所述的技术方案,本发明具有如下优越性:
该基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其将深度学习技术、模型轻量化技术应用在工业视觉领域进行金属表面的缺陷检测,能够解决人工检测效率低下、误检率高的问题,从而大大降低金属产品质检环节的人工成本;构建的CU-Net模型对分割任务中常用的U-Net模型进行改进,通过引入注意力机制和级联的U型结构,增强了特征传递的准确性和细节恢复的能力,从而能够更准确地分割金属表面的缺陷;避免了深度学习模型难以在移动终端部署的问题,通过设计更轻量化的CU-Net(s)模型,并从教师模型的不同位置迁移不同类型的知识,从而快速、高效和高精度地检测出金属的表面缺陷。
附图说明
图1是基于双源知识蒸馏的轻量化金属表面缺陷检测方法的流程图;
图2是级联U-Net架构的结构图;
图3是基于双源知识蒸馏策略的模型轻量化整体框图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步详细说明。
如图1所示,一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其包括以下步骤:
S1、使用工业相机拍摄待检测金属表面,获取待检测金属表面不同类型的缺陷图像和正常图像,保证每种缺陷均应采集至少200张样本的图像;按照缺陷类型对采集的缺陷图像进行分类,以便于能够使训练的深度学习模型在检测到缺陷位置的同时显示出缺陷的类别;
S2、对步骤S1中的分类后的图像使用深度学习平台进行标注,生成对应的标签文件,构建待检测金属表面缺陷数据集;具体包括以下子步骤:
S2.1、通过深度学习平台对分类后的图像进行标注,生成对应的png标签文件;
S2.2、对步骤S2.1中所有图像标注完成后,得到数据集图像对其中,xi表示采集到的图像,yi表示对应的标签,i表示第i张图像,N表示数据集中图像的总数;
S2.3、将步骤S2.2获取的图像对数据划分为三部分:分别是训练集Dtrain、验证集Dval和测试集Dtest,其中,训练集Dtrain用于模型训练,占全部数据的80%;验证集Dval用于将模型的训练情况进行反馈,占全部数据的10%;测试集Dtest用于评估模型的性能,占全部数据的10%;若数据集比较小,不同类型的缺陷样本类型稀缺,可以适当增加训练集的比例,验证集和测试集仅用于方便评估模型的性能;
S3、对步骤S2中数据集的训练集中的图像进行数据预处理操作,然后输入到构建的CU-Net网络模型中,获得预训练模型,作为教师网络;具体包括以下子步骤:
S3.1、加载训练集的图像和相应的标签,将图像调整为适应模型输入的尺寸,并应用数据增强操作,所述数据增强操作包括但不限于随机旋转、随机翻转、随机缩放,对训练集进行扩充;
S3.2、对数据增强后的图像进行归一化处理,以确保所有图像的像素值位于0到1的范围内,从而得到预处理后的图像对;
S3.3、如图2所示,构建级联U-Net(Cascaded U-Net,简称CU-Net)架构,通过引入级联的U型结构和注意力融合机制,提高模型对缺陷细节的感知能力,使得CU-Net能够更准确地检测和分割细小的金属表面缺陷;包括以下子步骤:
S3.31、根据训练集图像的大小,设定CU-Net网络的级联层数:将第一编码器的输出特征进行2倍降采样后送至第二编码器,然后再将输出特征2倍降采样后送至第三编码器;依次类推,最后将第k-1编码器的输出特征进行2倍降采样后送入第k编码器中,从不同尺度特征中提取更丰富的上下文信息;
S3.32、选择传统的U-Net网络作为第一编码器的结构,通过下采样提取得到输入图像的多尺度特征,接着通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图,得到编码器的输出特征;然后依次减小U-Net网络降采样和上采样的层数,作为第二编码器至第k-2编码器的结构;在第k-1编码器和第k编码器中,采用膨胀卷积代替池化和上采样操作,使中间特征图都具有与其输入特征图相同的分辨率;
S3.33、多个解码器采用和步骤S3.32中所述多个编码器对称的结构,主要进行对特征图的预测,每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的拼接作为输入,从而使深层解码器融合了更多的浅层编码器特征,提高了对于缺陷细节预测的清晰度和准确性;
S3.34、将解码器的输出特征通过3×3的卷积层和sigmoid函数得到不同尺度的分割结果图,然后通过注意力融合机制得到最终的分割结果图;
S3.4、将步骤3.2所得的预处理后的图像对送入步骤S3.3中的CU-Net网络中,根据计算预测结果和真实标签之间的损失,从而在反向传播过程中更新模型参数,得到训练集在教师模型上的预训练权重;包括以下子步骤:
S3.41、输入图像x经过第一编码器中的编码部分进行下采样提取到多尺度特征,并通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图;然后将局部特征和多尺度特征进行融合,得到第一编码器的输出OEn_1;
S3.42、将第一编码器的输出OEn_1送入第二编码器中得到OEn_2,将第二编码器的输出OEn_2送入第三编码器中得到OEn_3,依此类推,将第k-1编码器的输出OEn_k-1送至第k编码器中得到OEn_k;由于特征图的分辨率相对较低,进一步对这些特征图进行下采样会丢失有用的上下文信息;因此,在第k-1编码器和第k编码器中采用膨胀卷积来代替合并和上采样操作,使得经过这两个块输出的特征图都与其输入的特征图具有相同的分辨率;
S3.43、解码器将来自前一级的上采样特征映射和来自其对称编码器阶段的特征映射的级联作为输入,分别经过3×3的卷积和Sigmod函数生成多尺度的语义图mapi(i=1,2,…,k);然后通过注意力融合机制对多尺度分割结果进行融合,再经过1×1的卷积和Sigmod函数生成最终融合后的语义图mapf;
S3.44、构建的CU-Net网络在训练阶段的损失函数如下:
其中,LBCE表示二进制交叉熵损失,通常在像素级分割任务中用来衡量每个像素的分类预测与标签之间的差异;mapi表示第i个编码器输出的分割结果;mapf表示融合后的分割结果;label表示样本的真实标签;
S4、如图3所示,将步骤S3中的教师网络简化为CU-Net(s),然后将其作为学生网络,通过知识蒸馏策略从教师网络的特征层和响应层中提取不同类型的知识;包括以下子步骤:
S4.1、通过减少级联层的层数、卷积层的数量、压缩通道维度对CU-Net模型进行简化,得到其轻量化版本CU-Net(s);
S4.2、加载CU-Net模型的预训练权重,将相同的输入图像同时输入到教师网络CU-Net和轻量化学生网络CU-Net(s)中,提取两个网络相应特征层和响应层的输出;
S4.3、将教师网络输出的多尺度分割图作为知识,联合样本的真实标签共同对学生网络进行指导;因此,基于响应层的蒸馏损失定义如下:
其中,β为权衡系数;和/>分别表示教师网络和学生网络的多尺度分割图;和/>分别表示教师网络和学生网络融合后的特征;label表示样本的真实标签;
S4.4、构建残差学习框架,使得后一层的学生特征去学习前一层的学生特征和教师特征之间的残差,帮助学生网络的深层特征逐步提取有用的信息,因此,基于特征层的蒸馏损失定义如下:
其中,ft(x;n)和fs(x;n)分别表示输入图像x在教师网络和学生网络最深层的特征表示;μ(·)表示特征融合模块,即图3中的ABF模块;
S4.5、联合上述的基于响应层和特征层的双源知识蒸馏策略,学生网络CU-Net(s)在教师网络的指导下进行训练,从教师网络的特征层和响应层中提取不同类型的知识;
S5、根据步骤S2中数据集的验证集的测试结果对训练过程中的超参数进行优化,然后将步骤S4中训练好的CU-Net(s)模型部署到移动终端,实时对金属表面的缺陷进行检测;包括以下子步骤:
S5.1、使用验证集对经过知识蒸馏训练的轻量化模型CU-Net(s)的性能进行验证,并对模型训练过程中的超参数进行调优,确保模型在验证集上取得较好的检测结果;
S5.2、使用测试集对模型进行最终性能评估,将CU-Net(s)模型部署到移动终端设备上,通过将摄像头采集的帧图像送入CU-Net(s)模型中,得到分割的缺陷结果信息,从而实现实时金属表面缺陷检测。
以上所述仅为本发明的较佳实施例,而非对本发明的限制,在不脱离本发明的精神和范围的情况下,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明的专利保护范围之内。
Claims (6)
1.一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:其包括以下步骤:
S1、获取待检测金属表面不同类型的缺陷图像和正常图像,并按照缺陷类型对图像进行分类;
S2、对步骤S1中的分类后的图像使用深度学习平台进行标注,生成对应的标签文件,构建待检测金属表面缺陷数据集;
S3、对步骤S2中数据集的训练集中的图像进行数据预处理操作,然后输入到构建的CU-Net网络模型中进行训练,获得预训练模型,作为教师网络;
S4、将步骤S3中的教师网络简化为CU-Net(s),然后将其作为学生网络,通过知识蒸馏策略从教师网络的特征层和响应层中提取不同类型的知识;
S5、根据步骤S2中数据集的验证集的测试结果对训练过程中的超参数进行优化,然后将步骤S4中训练好的CU-Net(s)模型部署到移动终端,实时对金属表面的缺陷进行检测。
2.根据权利要求1所述的基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:所述步骤S2,包括以下子步骤:
S2.1、通过深度学习平台对分类后的图像进行标注,生成对应的png标签文件;
S2.2、对步骤S2.1中所有图像标注完成后,得到数据集图像对其中,xi表示采集到的图像,yi表示对应的标签,i表示第i张图像,N表示数据集中图像的总数;
S2.3、将步骤2.2获取的图像对数据划分为三部分:分别是训练集Dtrain、验证集Dval和测试集Dtest,其中,训练集Dtrain用于模型训练,占全部数据的80%;验证集Dval用于将模型的训练情况进行反馈,占全部数据的10%;测试集Dtest用于评估模型的性能,占全部数据的10%。
3.根据权利要求1或2所述的基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:所述步骤S3,包括以下子步骤:
S3.1、加载训练集的图像和相应的标签,将图像调整为适应模型输入的尺寸,并应用数据增强操作,对训练集进行扩充;
S3.2、对数据增强后的图像进行归一化处理,以确保所有图像的像素值位于0至1的范围内,得到预处理后的图像对;
S3.3、构建级联U-Net架构,包括以下子步骤:
S3.31、根据训练集图像的大小,设定CU-Net网络的级联层数:将第一编码器的输出特征进行2倍降采样后送至第二编码器,然后再将输出特征2倍降采样后送至第三编码器;依次类推,最后将第k-1编码器的输出特征进行2倍降采样后送入第k编码器中;
S3.32、选择传统的U-Net网络作为第一编码器的结构,通过下采样提取得到输入图像的多尺度特征,接着通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图,得到编码器的输出特征;然后依次减小U-Net网络降采样和上采样的层数,作为第二编码器至第k-2编码器的结构;在第k-1编码器和第k编码器中,采用膨胀卷积操作,使中间特征图都具有与其输入特征图相同的分辨率;
S3.33、多个解码器采用和步骤S3.32中所述多个编码器对称的结构,主要进行对特征图的预测,每个解码器阶段将来自其前一阶段的上采样特征图和来自其对称编码器阶段的上采样特征图的拼接作为输入;
S3.34、将解码器的输出特征通过3×3的卷积层和sigmoid函数得到不同尺度的分割结果图,然后通过注意力融合机制得到最终的分割结果图;
S3.4、将步骤3.2所得的预处理后的图像对送入步骤S3.3中的CU-Net网络中,根据计算预测结果和真实标签之间的损失,从而在反向传播过程中更新模型参数,得到训练集在教师模型上的预训练权重。
4.根据权利要求3所述的基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:所述步骤S3.4,包括以下子步骤:
S3.41、输入图像x经过第一编码器中的编码部分进行下采样提取到多尺度特征,并通过渐进式上采样、串联和卷积将多尺度特征编码为高分辨率特征图;然后将局部特征和多尺度特征进行融合,得到第一编码器的输出OEn_1;
S3.42、将第一编码器的输出OEn_1送入第二编码器中得到OEn_2,将第二编码器的输出OEn_2送入第三编码器中得到OEn_3,依此类推,将第k-1编码器的输出OEn_k-1送至第k编码器中得到OEn_k;在第k-1编码器和第k编码器中采用膨胀卷积操作,使得经过这两个块输出的特征图都与其输入的特征图具有相同的分辨率;
S3.43、解码器将来自前一级的上采样特征映射和来自其对称编码器阶段的特征映射的级联作为输入,分别经过3×3的卷积和Sigmod函数生成多尺度的语义图mapi(i=1,2,…,k);然后通过注意力融合机制对多尺度分割结果进行融合,再经过1×1的卷积和Sigmod函数生成最终融合后的语义图mapf;
S3.44、构建的CU-Net网络在训练阶段的损失函数如下:
其中,LBCE表示二进制交叉熵损失;mapi表示第i个编码器输出的分割结果;mapf表示融合后的分割结果;label表示样本的真实标签。
5.根据权利要求3所述的基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:所述步骤S4,包括以下子步骤:
S4.1、通过减少级联层的层数、卷积层的数量、压缩通道维度对CU-Net模型进行简化,得到其轻量化版本CU-Net(s);
S4.2、加载CU-Net模型的预训练权重,将相同的输入图像同时输入到教师网络CU-Net和轻量化学生网络CU-Net(s)中,提取两个网络相应特征层和响应层的输出;
S4.3、将教师网络输出的多尺度分割图作为知识,联合样本的真实标签共同对学生网络进行指导;因此,基于响应层的蒸馏损失定义如下:
其中,β为权衡系数;和/>分别表示教师网络和学生网络的多尺度分割图;和/>分别表示教师网络和学生网络融合后的特征;label表示样本的真实标签;
S4.4、构建残差学习框架,使得后一层的学生特征去学习前一层的学生特征和教师特征之间的残差,帮助学生网络的深层特征逐步提取有用的信息,因此,基于特征层的蒸馏损失定义如下:
其中,ft(x;n)和fs(x;n)分别表示输入图像x在教师网络和学生网络最深层的特征表示;ft(x;j)和fs(x;j)分别表示教师网络和学生网络中间第j层的特征表示,μ(·)表示特征融合模块;
S4.5、联合上述的基于响应层和特征层的双源知识蒸馏策略,学生网络CU-Net(s)在教师网络的指导下进行训练,从教师网络的特征层和响应层中提取不同类型的知识。
6.根据权利要求1、2或5所述的基于双源知识蒸馏的轻量化金属表面缺陷检测方法,其特征是:所述步骤S5,包括以下子步骤:
S5.1、使用验证集对经过知识蒸馏训练的轻量化模型CU-Net(s)的性能进行验证,并对模型训练过程中的超参数进行调优,确保模型在验证集上取得较好的检测结果;
S5.2、使用测试集对模型进行最终性能评估,将CU-Net(s)模型部署到移动终端设备上,用于金属表面缺陷检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587008.8A CN117540779A (zh) | 2023-11-24 | 2023-11-24 | 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587008.8A CN117540779A (zh) | 2023-11-24 | 2023-11-24 | 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117540779A true CN117540779A (zh) | 2024-02-09 |
Family
ID=89783983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311587008.8A Pending CN117540779A (zh) | 2023-11-24 | 2023-11-24 | 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117540779A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117911403A (zh) * | 2024-03-18 | 2024-04-19 | 沈阳派得林科技有限责任公司 | 一种基于知识蒸馏的轻量化动态dr钢管焊缝缺陷检测方法 |
CN118154607A (zh) * | 2024-05-11 | 2024-06-07 | 湖南大学 | 一种基于混合多尺度知识蒸馏的轻量化缺陷检测方法 |
CN118212240A (zh) * | 2024-05-22 | 2024-06-18 | 山东华德重工机械有限公司 | 一种汽车齿轮生产缺陷检测方法 |
CN118446972A (zh) * | 2024-04-28 | 2024-08-06 | 北京海云捷迅科技股份有限公司 | 金属表面缺陷检测方法、装置以及存储介质 |
-
2023
- 2023-11-24 CN CN202311587008.8A patent/CN117540779A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117911403A (zh) * | 2024-03-18 | 2024-04-19 | 沈阳派得林科技有限责任公司 | 一种基于知识蒸馏的轻量化动态dr钢管焊缝缺陷检测方法 |
CN118446972A (zh) * | 2024-04-28 | 2024-08-06 | 北京海云捷迅科技股份有限公司 | 金属表面缺陷检测方法、装置以及存储介质 |
CN118154607A (zh) * | 2024-05-11 | 2024-06-07 | 湖南大学 | 一种基于混合多尺度知识蒸馏的轻量化缺陷检测方法 |
CN118212240A (zh) * | 2024-05-22 | 2024-06-18 | 山东华德重工机械有限公司 | 一种汽车齿轮生产缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117540779A (zh) | 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 | |
CN112561910B (zh) | 一种基于多尺度特征融合的工业表面缺陷检测方法 | |
CN112465790A (zh) | 基于多尺度卷积和三线性全局注意力的表面缺陷检测方法 | |
CN112381788B (zh) | 一种基于双分支匹配网络的零部件表面缺陷增量检测方法 | |
CN113643268B (zh) | 基于深度学习的工业制品缺陷质检方法、装置及存储介质 | |
CN115294038A (zh) | 一种基于联合优化与混合注意力特征融合的缺陷检测方法 | |
CN111932511B (zh) | 一种基于深度学习的电子元器件质量检测方法与系统 | |
CN110648310A (zh) | 基于注意力机制的弱监督铸件缺陷识别方法 | |
CN111899225A (zh) | 基于多尺度金字塔结构的核电管道缺陷检测方法 | |
CN114022770A (zh) | 基于改进自注意力机制与迁移学习的山体裂缝检测方法 | |
CN113393438B (zh) | 一种基于卷积神经网络的树脂镜片缺陷检测方法 | |
CN116051549A (zh) | 一种太阳能电池片缺陷分割方法、系统、介质及设备 | |
CN117409411A (zh) | 基于半监督学习的tft-lcd液晶面板缺陷分割方法及系统 | |
Quan et al. | CrackViT: a unified CNN-transformer model for pixel-level crack extraction | |
CN116523885A (zh) | 一种基于多尺度融合及深度学习的pcb缺陷检测方法 | |
CN114092467A (zh) | 一种基于轻量化卷积神经网络的划痕检测方法及系统 | |
Lian et al. | Fast and accurate detection of surface defect based on improved YOLOv4 | |
CN114998360A (zh) | 一种基于SUnet算法的脂肪细胞祖细胞分割方法 | |
CN116912625A (zh) | 一种基于先验缺陷特征与sspcab注意力机制的数据增强方法 | |
CN114758133A (zh) | 基于超像素主动学习和半监督学习策略的图像瑕疵分割方法 | |
Li et al. | Automated Tire visual inspection based on low rank matrix recovery | |
CN116433647A (zh) | 一种基于多任务学习的绝缘子图像质量评价方法及系统 | |
CN117011219A (zh) | 物品质量检测方法、装置、设备、存储介质和程序产品 | |
CN113469984B (zh) | 一种基于yolo结构的显示面板外观检测方法 | |
Balzategui et al. | Few-shot incremental learning in the context of solar cell quality inspection |
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 |