CN117314841A - 一种基于yolo的像素缺陷检测方法及装置 - Google Patents
一种基于yolo的像素缺陷检测方法及装置 Download PDFInfo
- Publication number
- CN117314841A CN117314841A CN202311180952.1A CN202311180952A CN117314841A CN 117314841 A CN117314841 A CN 117314841A CN 202311180952 A CN202311180952 A CN 202311180952A CN 117314841 A CN117314841 A CN 117314841A
- Authority
- CN
- China
- Prior art keywords
- penalty
- loss
- yolo
- defect
- defect detection
- 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 95
- 238000001514 detection method Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000000605 extraction Methods 0.000 claims description 18
- 238000013139 quantization Methods 0.000 claims description 17
- 230000002950 deficient Effects 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- 238000013434 data augmentation Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000010187 selection method Methods 0.000 claims description 3
- 230000003190 augmentative effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000001994 activation Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/048—Activation functions
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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/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]
-
- 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/30121—CRT, LCD or plasma display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于YOLO的像素缺陷检测方法及装置,涉及图像识别技术领域。所述方法包括:像素点图像获取过程:通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;像素点缺陷检测过程:将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型在训练时损失函数使用阶段损失函数。本发明提供的一种基于YOLO的像素缺陷检测方法及装置,通过YOLO算法取代传统的图像识别算法,并在训练时损失函数使用阶段损失函数,在不加深网络深度的前提下提升检测精度。
Description
技术领域
本发明涉及图像识别技术领域,特别涉及一种基于YOLO的像素缺陷检测方法及装置。
背景技术
常用的手机、电脑电视的屏幕即显示面板其由许多显示不同颜色的像素点组成。常见的显示面板上有千万数量级的像素点,在生产过程中不可避免的会存在有缺陷的像素点。常见的像素点缺陷有暗点、亮点、残缺的像素点等。在制造过程中及时地将缺陷找出并处理在生产过程中是十分重要的一环。AOI(Automated Optical Inspection)自动光学检测设备是实现这一目的所使用的设备。
AOI设备扫描整个显示面板,并通过计算机识别显示面板中的像素缺陷。传统的机器视觉技术使用的图像处理算法,如阈值分割、形态学、连通区域提取等方法取出可能包含产品缺陷的图像区域,再使用贝叶斯网络、支持向量机等算法进行图像分类,以区分出是否是缺陷。传统机器视觉技术不是端到端的算法,对每一种缺陷都要分析其特征,该过程对算法工程师的经验要求很高。缺陷检测采用传统的图像处理算法鲁棒性差,误检率高。
发明内容
本发明要解决的技术问题,在于提供一种基于YOLO的像素缺陷检测方法及装置,通过YOLO算法取代传统的图像识别算法,并在训练时损失函数使用阶段损失函数,在不加深网络深度的前提下提升检测精度。
第一方面,本发明提供了一种基于YOLO的像素缺陷检测方法,包括:
像素点图像获取过程:通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测过程:将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块;所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
进一步地,所述YOLO模型训练后使用训练后量化过程来降低神经网络的功率和时延,首先,网络经过训练后使用全精度和浮点算法进行权重和激活,然后,权重和激活被变换以进行量化,量化范围的上限和下限阈值通过均方误差方法进行权重量化,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值。
进一步地,所述预测模块由3个YOLO Head组成,对预测模块的输出采用边框选举方法选择IOU最小的目标候选框,对IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,所述缺陷类型包括暗点、亮点、发光面积变小点、缺点以及残点。
进一步地,所述方法还包括:在损失函数中加入用于角度预测的节点θ,使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。
进一步地,所述方法还包括:采用带有缺陷像素的图像与正常面板图像作为数据集对YOLO模型进行训练,数据集使用Mosaic+Mixup策略进行数据扩充。
第二方面,本发明提供了一种基于YOLO的像素缺陷检测装置,包括:
像素点图像获取模块,用于通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测模块,用于将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块;所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
进一步地,所述YOLO模型训练后使用训练后量化过程来降低神经网络的功率和时延,首先,网络经过训练后使用全精度和浮点算法进行权重和激活,然后,权重和激活被变换以进行量化,量化范围的上限和下限阈值通过均方误差方法进行权重量化,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值
进一步地,所述预测模块由3个YOLO Head组成,对预测模块的输出采用边框选举方法选择IOU最小的目标候选框,对IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,所述缺陷类型包括暗点、亮点、发光面积变小点、缺点以及残点。
进一步地,所述缺陷检测模块中,在损失函数中加入用于角度预测的节点θ,使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。
进一步地,所述缺陷检测模块中,采用带有缺陷像素的图像与正常面板图像作为数据集对YOLO模型进行训练,数据集使用Mosaic+Mixup策略进行数据扩充。
本发明实施例中提供的技术方案,至少具有如下技术效果:
通过YOLO算法的多尺度预测结构提取更丰富的特征,融合多尺度特征检测,轻量级主干网络、轻量级特征减少了模型参数,极大幅地提高了检测速度;通过训练时损失函数使用阶段损失函数,通过不同的损失函数使模型保留的特征更全面,在模型偏差比较小的第三阶段采用cIOU损失,在不加深网络深度的前提下提升检测精度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例应用的AOI设备的硬件结构示意图;
图2为本发明实施例一中方法的流程图;
图3为本发明实施例一中YOLO模型的结构示意图;
图4为本发明实施例一中像素点检测结果示意图;
图5为本发明实施例二中装置的结构示意图。
具体实施方式
本发明实施例通过提供提供一种基于YOLO的像素缺陷检测方法及装置,通过YOLO算法取代传统的图像识别算法,并在训练时损失函数使用阶段损失函数,在不加深网络深度的前提下提升检测精度。
本发明实施例中的技术方案,总体思路如下:
显示面板中像素数量多,对检测的速度有较高要求,同时其检测的背景相对简单,检测速度快、精度高的YOLO算法很适合用于显示面板的像素缺陷检测。本发明使用YOLO图像识别算法取代了传统的图像识别算法提高自动光学检测设备的检测速度。YOLO算法通过多尺度预测结构提取更丰富的特征,融合多尺度特征检测,不加深网络深度的前提下提升检测精度。轻量级主干网络、轻量级特征减少了模型参数,极大幅地提高了检测速度。
本发明实施例的创新之处:
1、同类数据增强法使用Mosaic+Mixup策略进行数据扩充。具体方法为:对多组图像使用Mosaic方法,这样可以根据数据集中单个图片中标签的平均数量的丰富度来设置组号。然后,通过Mixup方法将最后一个简单处理的图像与Mosaic预处理的图像混合。这样可以使得最后一个图像的原始图像边界在变换后的最终输出图像的边界内。该策略有效地增加了图像的丰富性以避免过拟合,并确保输出图像包含了足够的有效信息。
2、损失函数使用阶段损失函数。第一阶段,采用常见的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0。在最后几次启用数据增强的迭代,训练过程进入第二阶段。损失函数重新放置分类损失和对象损失的损失函数。第三阶段,关闭数据扩充,并将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
3、除了每个单元的输出向量中的(x,y)节点之外,还有一个用于角度θ预测的专用节点。使用余弦距离定义其损失。旋转边界框的IoU为SkewIoU,以强调方向上的差异。在角度差为0°时达到最大IoU=1,角度差为180°时DirIoU的值为0。
4、使用训练后量化过程来降低神经网络的功率和时延。网络经过训练后使用全精度和浮点算法进行权重和激活。随后,权重和激活被适当地变换以进行量化。以减少对内存存储和计算的要求。量化范围的上限和下限阈值通过均方误差方法进行权重量化。可以缓解大异常值导致过多的舍入误差。同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值,约为-0.3。
在介绍具体实施例之前,先介绍本申请实施例方法可应用的AOI设备,如图1所示,包括摄像头和移动组件。摄像头通过移动组件在面板上自由移动并完成对显示面板上各个像素点的拍照。由于显示面板自身可发光,摄像头所需要的快门时间较短,而显示面板上的像素数量多。所以摄像头拍照再移动到下一个位置拍照间隔的时间很短,对图像处理的速度要较高要求,需要速度较快的图像识别算法,同时其画面背景较为简单,YOLO很适合这一应用场景。
实施例一
本实施例提供一种基于YOLO的像素缺陷检测方法,如图2所示,包括:
像素点图像获取过程:通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测过程:将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块(具体可以采用如图3所示的网络结构)。所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
在一具体的实施例中,实现步骤如下:
1、通过AOI设备采集显示面板图像,准备面板数据集:
1.1、使用AOI设备扫掠足够多数量的显示面板,得到足够训练模型需要数量的显示面板图像。面板图像需要R、G、B像素点清晰分明,对像素的缺陷如亮点、暗点、残缺等都肉眼可辨认。去除图片像素模糊,像素点特征无法辨认的显示面板图像,以提高原始数据集的准确率。利用同类数据增强法对原始数据集中的每一类带有缺陷像素的显示面板图像进行扩充,扩充后每类缺陷的图像在300张左右。带有缺陷像素的图像与正常面板图像经过均匀混合后得到初始数据集。使用Mosaic+Mixup策略进行数据扩充。对多组图像使用Mosaic方法,这样可以根据数据集中单个图片中标签的平均数量的丰富度来设置组号。然后,通过Mixup方法将最后一个简单处理的图像与Mosaic预处理的图像混合。这样可以使得最后一个图像的原始图像边界在变换后的最终输出图像的边界内。有效地增加了图像的丰富性以避免过拟合,并确保输出图像包含了足够的有效信息。
1.2、使用开源标注软件如LabelImg等对获取的显示面板图像进行标注。LabelImg标注的数据转换为yolo格式,标注完毕后的每张显示面板像素图像与包含标注信息的txt文件一一对应,组成最终用于训练YOLO的数据集。标注出足够多数量的正常发光像素点和缺陷像素点。注意到正常像素点比缺陷像素点的数量多很多,正常像素点标记到足够数量即可。像素缺陷点本提案中举例为暗点、亮点、发光面积变小点、缺点、残点等。
1.3、按照7:2:1的比例将收集到的带有缺陷像素点数据的显示面板数据集切割成训练集、验证集以及测试集。
2、本实施例图像识别算法基于YOLOv3版本,其损失函数采用阶段损失函数。
第一阶段,采用常用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0。
其一般形式如下:
其中,第一项求和为对于目标位置的损失,第二项求和为对于目标框大小的损失,第三项求和为目标框内含有检测目标的损失,第四项求和为目标框内不含有检测目标的损失,第五项求和为目标分类的损失。
其中λcoord表示边界框坐标损失预测的超参数,设置λcoord=5。S2表示图片被主干网络经过卷积后分成S×S大小,S∈(13,26,52),每个网络产生B个候选框,每个框会经过网络计算得到相应的边界框,得到S×S×B个边界框。表示第i个网格的第j个边界框与真实标注框的IoU在所有的边界框与真实标注框的IoU中最大,其中IoU为交并比。此时/>取1,否则取0。(xi,yi)代表边界框的中心点坐标,/>代表真实标注框的中心点坐标,(wi,hi)代表边界框的宽和高,/>代表真实边界框的宽和高。当/>取1时,产生的边界框才和真实标注框作比较,计算中心坐标和宽、高的误差。
同时,在损失函数中加入用于角度预测的节点θ。使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。因此每个网格单元的输出向量被定义为(x,y,θ,obj)。该阶段的总损失定义为:
L=λxyLxy+λθLθ+λobjLobj+λclsLcls
旋转边界框的IoU为SkewIoU,强调方向上的差异,其形式如下:
DirIoU=IoU·DirCorr
在角度差为0°时达到最大IoU=1,角度差为180°时DirIoU的值为0。加入角度预测的优点是对于形状相似的检测目标,可以进一步提高准确率和召回率。
在最后几次启用数据增强的迭代,训练过程进入第二阶段。损失函数重新放置分类损失和对象损失的损失函数。第三阶段,关闭数据扩充,并将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
在主干网络中使用的激活函数是LeakyReLU函数,其公式如下:
f(x)=max(x,leak*x)
其中x是输入,leak是一个很小的常数,LeakyReLU函数保留了一些负轴的值,使得负轴的信息不会全部丢失。
由于不同的损失函数在模型迭代的时候擅长于保留不同的图像特征,在不用阶段采用不同的损失函数可以使模型保留的特征更全面。第三阶段用的cIOU在模型偏差比较大的迭代初期效果差速度慢,在最后一阶段关闭数据扩充后就可以接受了,在不影响速率的情况下,提高检测精度。
3、将显示面板数据集输入YOLO模型(面板缺陷检测模型)进行训练:
3.1、根据检测目标在设备拍摄图像中的大小选择合适的Batch Size。
3.2、将准备好的训练集输入骨干网络,骨干网络的组成可以如图3所示,包括特征提取主干网络、特征提取融合模块以及预测模块。显示面板图像经过连续的卷积处理,输出尺寸为52×52×32的out1特征图、尺寸为26×26×96的out2特征图、尺寸为13×13×320的out3特征图,其中32、96、320为三张特征图的通道数。
3.3、将out3特征图输入到特征提取融合模块中,经过三次CBL卷积、四种尺度的分块池化处理以及拼接后,将输出的特征图与out1、out2特征图一起输入到特征提取融合模块,进一步综合特征提取主干模块的特征。
3.4、对传入的out3特征图进行两次上采样,上采样结果与out1、out2特征图拼接后进行空洞卷积。于PAN结构进行自下而上的下采样、拼接和深度可分离卷积,充分融合三个尺度的特征图后将结果输入到YOLO的预测模块。
3.5、采用BoundingBox Voting边框选举方法选择IOU最小的目标候选框。该方法使用IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,最终输出对像素类型的预测结果,前向传播完成。
执行反向传播,将输出的预测结果与训练数据标注的真值做对比,使用上文提到的损失函数计算模型的损失,根据计算的损失更新模型的权重以期降低下一轮输出的损失,推进网络的学习过程。
前向传播和后向传播迭代训练,找寻最低的IOU及最低的损失。保存最低的IOU及最低的损失对应的权重,完成训练。设定在随机梯度下降优化算法中,学习率设置为0.01,动量设置为0.937,权重衰减设置为0.0005,预热训练3个轮次,预热训练的动量设置为0.937,神经元失活率设置为0.5,基础学习率设置为0.001,训练轮次分别为100及300次以对网络性能对比分析。
3.6、训练后使用训练后量化过程来降低神经网络的功率和时延。首先,网络经过训练后使用全精度和浮点算法进行权重和激活。随后,权重和激活被适当地变换以进行量化,以减少对内存存储和计算的要求。量化范围的上限和下限阈值通过均方误差方法进行权重量化,可以缓解大异常值导致过多的舍入误差,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值,约为-0.3。
3.7、使用预测模块对测试集进行预测效果对比分析,确定适宜的权重。预测模块由3个YOLO Head组成。三个YOLO Head最终输出的矩阵尺度为76×76×27,38×38×27和19×29×27。第三个数代表3×(5+5)。3代表3个候选框;5代表5种缺陷,本提案中例为亮点、暗点、小点、缺点和残点;5代表候选框的5个可调整参数:框的位置x和y,框的高度H,宽度W以及该框的置信度。预测模块将对参数优化调整以判断图片中的像素点的类型。
图4为图片为模型计算的结果。该图像中共有像素点69个,蓝色像素点20个,红色像素点20个,绿色像素点29个。其中包括1个蓝色暗点、1个红色暗点、2个绿色暗点、1个蓝色残点及缺少了1个绿色像素点。快速面板缺陷检测模型均将其识别出来。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种基于YOLO的像素缺陷检测装置,如图5所示,包括:
像素点图像获取模块,用于通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测模块,用于将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块;所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
在一种可能的实现方式中,所述YOLO模型训练后使用训练后量化过程来降低神经网络的功率和时延,首先,网络经过训练后使用全精度和浮点算法进行权重和激活,然后,权重和激活被变换以进行量化,量化范围的上限和下限阈值通过均方误差方法进行权重量化,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值
在一种可能的实现方式中,所述预测模块由3个YOLO Head组成,对预测模块的输出采用边框选举方法选择IOU最小的目标候选框,对IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,所述缺陷类型包括暗点、亮点、发光面积变小点、缺点以及残点。
在一种可能的实现方式中,所述缺陷检测模块中,在损失函数中加入用于角度预测的节点θ,使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。
在一种可能的实现方式中,所述缺陷检测模块中,采用带有缺陷像素的图像与正常面板图像作为数据集对YOLO模型进行训练,数据集使用Mosaic+Mixup策略进行数据扩充。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
本发明通过YOLO算法的多尺度预测结构提取更丰富的特征,融合多尺度特征检测,轻量级主干网络、轻量级特征减少了模型参数,极大幅地提高了检测速度;通过训练时损失函数使用阶段损失函数,通过不同的损失函数使模型保留的特征更全面,在模型偏差比较小的第三阶段采用cIOU损失,在不加深网络深度的前提下提升检测精度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种基于YOLO的像素缺陷检测方法,其特征在于,包括:
像素点图像获取过程:通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测过程:将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块;所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
2.根据权利要求1所述的方法,其特征在于:所述YOLO模型训练后使用训练后量化过程来降低神经网络的功率和时延,首先,网络经过训练后使用全精度和浮点算法进行权重和激活,然后,权重和激活被变换以进行量化,量化范围的上限和下限阈值通过均方误差方法进行权重量化,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值。
3.根据权利要求1所述的方法,其特征在于:所述预测模块由3个YOLO Head组成,对预测模块的输出采用边框选举方法选择IOU最小的目标候选框,对IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,所述缺陷类型包括暗点、亮点、发光面积变小点、缺点以及残点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在损失函数中加入用于角度预测的节点θ,使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:采用带有缺陷像素的图像与正常面板图像作为数据集对YOLO模型进行训练,数据集使用Mosaic+Mixup策略进行数据扩充。
6.一种基于YOLO的像素缺陷检测装置,其特征在于:包括:
像素点图像获取模块,用于通过移动模组使摄像头在显示面板上按设定顺序移动并获取显示面板局部像素点图像,直至完成整个显示面板的拍摄;
像素点缺陷检测模块,用于将摄像头获取到的图像实时传输到缺陷检测模型,检测得到缺陷类型以及对应的缺陷位置并输出;所述缺陷检测模型为经过训练的YOLO模型;所述YOLO模型包括特征提取主干网络、特征提取融合模块以及预测模块;所述YOLO模型在训练时损失函数使用阶段损失函数;第一阶段,采用通用的损失函数配置:IOU损失为gIOU损失,分类损失和对象损失为平衡交叉熵损失,调节损失设置为0,在最后几次启用数据增强的迭代;第二阶段,损失函数重新放置分类损失和对象损失的损失函数;第三阶段,关闭数据扩充,将L1损失设置为调节损失,并用cIOU损失替换gIOU损失。
7.根据权利要求6所述的装置,其特征在于:所述YOLO模型训练后使用训练后量化过程来降低神经网络的功率和时延,首先,网络经过训练后使用全精度和浮点算法进行权重和激活,然后,权重和激活被变换以进行量化,量化范围的上限和下限阈值通过均方误差方法进行权重量化,同时为了平衡裁剪误差和舍入误差,当数据被截断以适应预定义的网格限制时设置了最小截断值。
8.根据权利要求6所述的装置,其特征在于:所述预测模块由3个YOLO Head组成,对预测模块的输出采用边框选举方法选择IOU最小的目标候选框,对IoU超过一定阈值的候选框形状信息加权平均以修正选定框的形状位置,所述缺陷类型包括暗点、亮点、发光面积变小点、缺点以及残点。
9.根据权利要求6所述的装置,其特征在于:所述缺陷检测模块中,在损失函数中加入用于角度预测的节点θ,使用余弦距离定义其损失:
其中,θ是目标方向角,是预测角度,N是框数。
10.根据权利要求6所述的装置,其特征在于,所述缺陷检测模块中,采用带有缺陷像素的图像与正常面板图像作为数据集对YOLO模型进行训练,数据集使用Mosaic+Mixup策略进行数据扩充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311180952.1A CN117314841A (zh) | 2023-09-13 | 2023-09-13 | 一种基于yolo的像素缺陷检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311180952.1A CN117314841A (zh) | 2023-09-13 | 2023-09-13 | 一种基于yolo的像素缺陷检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117314841A true CN117314841A (zh) | 2023-12-29 |
Family
ID=89280326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311180952.1A Pending CN117314841A (zh) | 2023-09-13 | 2023-09-13 | 一种基于yolo的像素缺陷检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117314841A (zh) |
-
2023
- 2023-09-13 CN CN202311180952.1A patent/CN117314841A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109584248B (zh) | 基于特征融合和稠密连接网络的红外面目标实例分割方法 | |
CN111223088B (zh) | 一种基于深层卷积神经网络的铸件表面缺陷识别方法 | |
CN111640125B (zh) | 基于Mask R-CNN的航拍图建筑物检测和分割方法及装置 | |
CN113065558A (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN111310862A (zh) | 复杂环境下基于图像增强的深度神经网络车牌定位方法 | |
CN108537824B (zh) | 基于交替反卷积与卷积的特征图增强的网络结构优化方法 | |
CN110163213B (zh) | 基于视差图和多尺度深度网络模型的遥感图像分割方法 | |
CN111950453A (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
CN110781882A (zh) | 一种基于yolo模型的车牌定位和识别方法 | |
CN114663346A (zh) | 一种基于改进YOLOv5网络的带钢表面缺陷检测方法 | |
CN111833322B (zh) | 一种基于改进YOLOv3的垃圾多目标检测方法 | |
CN109919073B (zh) | 一种具有光照鲁棒性的行人再识别方法 | |
CN112464912B (zh) | 基于YOLO-RGGNet的机器人端人脸检测方法 | |
CN113052170B (zh) | 一种无约束场景下的小目标车牌识别方法 | |
CN111768415A (zh) | 一种无量化池化的图像实例分割方法 | |
CN113435407B (zh) | 一种输电系统的小目标识别方法及装置 | |
CN115272204A (zh) | 一种基于机器视觉的轴承表面划痕检测方法 | |
CN111242026A (zh) | 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法 | |
CN113378812A (zh) | 一种基于Mask R-CNN和CRNN的数字表盘识别方法 | |
CN112651989A (zh) | 基于Mask RCNN实例分割的SEM图像分子筛粒径统计方法和系统 | |
CN116342536A (zh) | 基于轻量化模型的铝带材表面缺陷检测方法、系统及设备 | |
CN113177947B (zh) | 基于多模块卷积神经网络的复杂环境目标分割方法及装置 | |
CN112101113B (zh) | 一种轻量化的无人机图像小目标检测方法 | |
CN114663382A (zh) | 基于YOLOv5卷积神经网络的电子元器件表面缺陷检测方法 | |
CN113496480A (zh) | 一种焊缝图像缺陷的检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |