CN115049639A - 一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 - Google Patents
一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 Download PDFInfo
- Publication number
- CN115049639A CN115049639A CN202210864109.4A CN202210864109A CN115049639A CN 115049639 A CN115049639 A CN 115049639A CN 202210864109 A CN202210864109 A CN 202210864109A CN 115049639 A CN115049639 A CN 115049639A
- Authority
- CN
- China
- Prior art keywords
- feature map
- classification
- loss
- prediction
- feature
- 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.)
- Granted
Links
- 239000004744 fabric Substances 0.000 title claims abstract description 39
- 238000001514 detection method Methods 0.000 title claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 10
- 230000004927 fusion Effects 0.000 claims description 23
- 238000010586 diagram Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 11
- 230000007547 defect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 208000012639 Balance disease Diseases 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 abstract description 7
- 239000004753 textile Substances 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 37
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012372 quality testing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001629 suppression 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/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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- 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/30124—Fabrics; Textile; Paper
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Treatment Of Fiber Materials (AREA)
- Image Analysis (AREA)
Abstract
本发明属于纺织布匹瑕疵检测技术领域,具体涉及一种基于分类重加权YOLOv5模型的织物瑕疵检测方法。对YOLOv5模型中的分类损失函数进行改进,引入EqualizationLossv2函数梯度引导平衡重加权,独立、平等地重新平衡每个类别的训练过程,并在EqualizationLossv2函数的基础上,针对召回率Recall过小导致总体mAP不高的问题,在loss值函数关于类别权重的梯度计算中,使模型忽略低召回率类别作为其他类别的负样本的情况,减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度。进一步提升整体召回率,巧妙地提升总体mAP精度。使用本发明所述方法进行织物图像的瑕疵检测,相较于现有的先进检测模型在检测精度和效率指标上都具有较大的优势,同时也很好地满足了工业场景中的实时性要求。
Description
技术领域
本发明属于纺织布匹瑕疵检测技术领域,具体涉及一种基于分类重加权YOLOv5模型的织物瑕疵检测方法。
背景技术
纺织行业在我国的国民经济发展中一直占据着重要地位。在纺织工业生产中织物不仅作为制作服装的基础材料,而且可作为其他装饰类和工业类的原材料进行再加工。随着经济发展和人民生活水平的提高,市场对产品质量的要求逐渐身高,需要专业的质检人员检查纺织品的瑕疵并剔除不合格布匹。人工检测的方法不仅效率低成本高,而且会受检测人员的主观因素影响导致误检或漏检。因此,设计一种高效的自动化织物瑕疵检测方法是非常有必要的。
近些年来,卷积神经网络(CNNs)在图像分类、检测和分割等任务上占据愈来愈重要的地位,大量的研究人员参与其领域并改进出各式各样的网络模型。在目标检测方向,同样涌现出大量优秀的研究工作,具有代表性的有如R-CNN和YOLO系列的检测模型,其中YOLO系列因其检测速度快和模型轻量的优点,在众多模型中脱颖而出并占据一席之地。
发明内容
针对现有技术中存在的上述问题,本发明提出一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,对YOLOv5模型中的分类损失函数进行改进,引入Equalization Lossv2函数梯度引导平衡重加权,独立、平等地重新平衡每个类别的训练过程,并在Equalization Loss v2函数的基础上,针对召回率Recall过小导致总体mAP不高的问题,在loss值函数关于类别权重的梯度计算中,使模型忽略低召回率类别作为其他类别的负样本的情况,减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度。进一步提升召回率,巧妙地提升总体mAP精度。进而使得训练完成后的YOLOv5模型的织物瑕疵检测准确度更高。
本发明采用以下技术方案:
一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,包括步骤:
S1、采集织物图像数据集,并对每张图像中的各瑕疵进行类别、位置的标注;
S2、按预设比例对数据集进行划分,分别得到训练集、验证集、测试集;
S3、使用聚类算法根据训练集中所有图像的目标GT框进行聚类,得到K个先验框;
S4、随机选择训练集中的X张图像作为分类重加权YOLOv5模型的输入,经过主干网络特征提取后得到N个不同尺度的有效特征图,特征融合模块对有效特征图进行融合,以得到N个不同尺度的融合特征图,最后对融合特征图的通道进行调整以获得N个预测特征图;
S5、将K个先验框按照尺度预先均匀分布到N个预测特征图上,然后根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框;
S6、根据预测特征图、预测框、相应GT框来计算网络整体损失,并使用梯度下降法来更新分类重加权YOLOv5模型的参数,网络整体损失基于分类损失计算得到,所述分类损失的计算采用梯度引导平衡重加权的均衡损失函数,且在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况;
S7、重复步骤S4-S6直到训练集中所有图片都输入模型一次,根据参数更新后的分类重加权YOLOv5模型来对验证集的每张图像进行预测,统计后输出验证集中各个类别的AP值;
S8、重复步骤S7,直至步骤S7中所统计的各个类别的AP值的平均值mAP稳定在某个值,得到训练完成的分类重加权YOLOv5模型;
S9、使用训练完成的分类重加权YOLOv5模型对测试集中所有图像进行预测,得到特征图上的预测框,根据特征图和原图的比例关系,将预测框映射至对应的原图上来定位瑕疵。
作为优选方案,步骤S4中,包括步骤:
S4.1、随机选取训练集中X张图像,并进行切片处理后,输入主干网络中进行逐级特征提取,从中取出最深层的三个含有不同尺度和通道数的有效特征图,按尺度从小到大分别称为M5特征图、M4特征图、M3特征图;
S4.2、将步骤S4.1中得到的三个有效特征图输入特征融合模块中进行进一步融合,经过自上至下和自下至上的融合加强语义特征和定位特征的融合,以输出P5特征图、P4特征图、P3特征图;
S4.3、将P5特征图、P4特征图、P3特征图的通道数均调整为num_anchor*(5+num_class),以得到三个预测特征图,num_anchor表示在预测特征图的每个锚点上预设先验框数目,num_class表示预测类别数目。
作为优选方案,步骤S4.2中,包括步骤:
S4.2.1、将M5特征图经过第一卷积块,得到K5特征图,将K5特征图进行上采样并和M4特征图进行融合,将融合结果依次通过第一瓶颈结构模块和第二卷积块,以得到K4特征图;
S4.2.2、将K4特征图进行上采样并和M3特征图进行融合,将融合结果输入第二瓶颈结构模块,以得到最浅层输出的P3特征图;
S4.2.3、将K4特征图与P3特征图进行融合,将融合结果输入第三瓶颈结构模块,以得到中间层输出的P4特征图;
S4.2.4、将P4特征图进行下采样,并与K5特征图进行融合,将融合结果输入第四瓶颈结构模块,以得到最深层输出的P5特征图。
作为优选方案,步骤S5中所述将K个先验框按照尺度预先均匀分布到N个预测特征图上,具体为:将每个预测特征图划分为H×W的网格,其中每个网格单元中心称为锚点,然后在每个锚点上覆盖属于对应预测特征图的K/N个先验框。
作为优选方案,步骤S5中所述根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框,具体为:预测特征图上每个锚点对应一个num_anchor*(5+num_class)长度的向量,通过对这个向量进行维度拆分,得到对于每个先验框的5+num_class长度的一维调整向量,基于一维调整向量对先验框位置和大小进行调整,得到对应的预测框。
作为优选方案,步骤S6中,网络整体损失基于交并比损失、分类损失、目标置信度损失以预设比例加权求和得到。
作为优选方案,所述梯度引导平衡重加权的均衡损失函数,具体为:根据每个分类器累积的正负梯度比,计算得到正、负样本在损失计算中的样本权重,计算公式如下:
进而,根据正、负样本的权重与交叉熵损失BCEloss计算得到分类损失clsloss,计算公式如下:
作为优选方案,所述在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况,具体为:通过引入低召回率判别函数threshlod和前景判别函数利用低召回率判别函数和前景判别函数对正负样本权重进行更新,使其在更新正负梯度时,不累积低召回率类别样本作为其他类别的负样本的梯度;
其中,若为低召回率类别,低召回率判别函数值为1,若为其他类别,低召回率判别函数值为0;
若为前景,前景判别函数值为1,若非前景,前景判别函数值为0;
对正负样本权重进行更新的具体计算公式为:
其中,weight’表示更新后权重,weight表示更新前权重,更新前权重weight对应正样本的权重为更新前权重weight对应负样本的权重为为第i个实例在第j类上的估计概率,为第i个实例在第j类上的实际标签。
作为优选方案,步骤S1与步骤S2之间还包括步骤:使用Mosaic数据增强方法,以实现数据集的扩充。
作为优选方案,步骤S2中,所述训练集、验证集、测试集的比例为8:1:1。
本发明的有益效果是:
对YOLOv5模型中的分类损失函数进行改进,引入Equalization Loss v2函数梯度引导平衡重加权,独立、平等地重新平衡每个类别的训练过程,并在Equalization Loss v2函数的基础上,针对召回率Recall过小导致总体mAP不高的问题,在loss值函数关于类别权重的梯度计算中,使模型忽略低召回率类别作为其他类别的负样本的情况,减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度。进一步提升召回率,巧妙地提升总体mAP精度。进而使得训练完成后的YOLOv5模型的织物瑕疵检测准确度更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述分类重加权YOLOv5模型的网络结构示意图;
图2是织物图像样例的原图及检测效果图;
图3是分类重加权YOLOv5模型在织物数据集上的各类别AP值示意图。
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本实施例提供一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,参照图1所示,其为本实施例中所述分类重加权YOLOv5模型的网络结构示意图。以下,详细说明本发明所述方法对于提高检测精度的效果。
一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,包括步骤:
S1、采集织物图像数据集,每张图像都对应一个XML格式的标注文件,其中含有对图像中的每个瑕疵的类别和位置标注,并对织物图像数据集进行数据增强以扩充数据集,以得到织物图像增强后的数据集;
S2、按预设比例对数据集进行划分,分别得到训练集、验证集、测试集,本实施例中预设比例具体为8:1:1;
S3、使用Kmeans++聚类算法根据训练集中所有图像的目标GT框进行聚类,得到K个先验框;
S4、随机选择训练集中的X张图像作为分类重加权YOLOv5模型的输入,经过主干网络特征提取后得到N个不同尺度的有效特征图,特征融合模块对有效特征图进行融合,以得到N个不同尺度的融合特征图,最后对融合特征图的通道进行调整以获得N个预测特征图;
S5、将K个先验框按照尺度预先均匀分布到N个预测特征图上,然后根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框;
S6、根据预测特征图、预测框、相应GT框来计算网络整体损失,并使用梯度下降法来更新分类重加权YOLOv5模型的参数,网络整体损失基于分类损失计算得到,所述分类损失的计算采用梯度引导平衡重加权的均衡损失函数(Equalization Loss v2函数),且在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况;
S7、重复步骤S4-S6直到训练集中所有图片都输入模型一次,根据参数更新后的分类重加权YOLOv5模型来对验证集的每张图像进行预测,统计后输出验证集中各个类别的AP值,将整个训练集的图片都输入一次网络进行前向传播并反向优化网络参数的过程称为一个epoch,在每个epoch过后,使用参数更新完成的网络对验证集中的每张图片进行预测,根据每张图的预测和GT来统计出验证集的各个类别的AP指标;
S8、重复步骤S7,直至步骤S7中所统计的各个类别的AP值的平均值mAP稳定在某个值,得到训练完成的分类重加权YOLOv5模型,通过连续多轮mAP值不变或者出现下降趋势可以判断网络收敛,反之则继续下个epoch的训练;
S9、使用训练完成的分类重加权YOLOv5模型对测试集中所有图像进行预测,得到特征图上的预测框,根据特征图和原图的比例关系,将预测框映射至对应的原图上来定位瑕疵。
由于召回率远远低于精准率导致总体mAP并不高,通过使模型训练减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度,进而提升整体的召回率Recall;在低召回率的类别中,由于其所积累的负向梯度过大,真阳性样本往往被认为是背景或其他类别。由于大量的样本损失计算,于是在loss值函数关于类别权重的梯度计算中,我们不考虑低召回率类别样本作为其他类的负样本的情况,减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度。同时,利用Equalization Loss v2中梯度引导的重新加权机制进行动态加权。在loss为了减少低召回率类别被错检为其他类别的概率,在loss值函数关于类别权重的梯度计算中,不关注低召回率类别作为其他类别的负样本的梯度累积。该方法通过Equalization Loss v2中梯度引导的重新加权机制进行动态加权,并且只累积低召回率类别对应权重的正向梯度,进一步提升召回率,巧妙地提升总体mAP精度。
召回率计算如下式(1)所示,其中TP为真阳性,而FP为假阴性。从Recall的定义式可以看到,可以通过减少假阳性的出现概率从而提升召回率。
具体地:
步骤S1中所得到数据集具体为,织物数据集包括多幅织物图像及对应的标签文件。织物图像尺寸为4096×1696像素。标签文件是记录图像中的目标位置信息和类别信息的xml格式文件。
步骤S1中所述数据增强具体为,使用Mosaic数据增强方法对织物数据集进行扩充,所述的Mosaic数据增强是随机选择四张训练集中的四张图像,将四张图片进行随机裁剪,再拼接到一张图上作为新的训练数据。
进一步,步骤S2中,将训练集、验证集、测试集的划分比例设为8:1:1,并生成train.txt、val.txt、test.txt文件来保存对应图像列表。
步骤S3中具体为:根据训练集中标签文件的位置信息来计算目标的宽高从而进行聚类,标签文件中格式为(c,x1,y1,x2,y2),c表示标注框内所含物体所属类别,x1、y1分别表示标注框左上角顶点的x坐标和y坐标,x2、y2表示标注框内右下角顶点的x坐标和y坐标。标注框也就是真实框,称为Ground Truth(GT)。其中使用K-means++聚类算法来根据宽高进行聚类,将最终得到的K个聚类中心坐标作为K个先验框的宽和高。
步骤S4中具体包括以下步骤:
S4.1、随机从训练集中取X张图片输入分类重加权YOLOv5模型的主干网络Backbone中进行多尺度特征提取,输出三个不同尺度的有效特征图,尺度分别为20×20、40×40、80×80,按尺度从小到大分别称为M5特征图、M4特征图、M3特征图,参照图1所示,其中所提的Backbone是由四个卷积块CBL、四个瓶颈结构模块BottleneckCSP和一个空间金字塔快速池化模块SPPF组成的;
S4.2、将主干网络提取的三个不同尺度的有效特征图通过路径聚合网络PANet进行进一步融合,以输出三个融合特征图,分别称为P5特征图、P4特征图、P3特征图,输出的三个融合特征图和主干网络输出的有效特征图尺度相对应(分别为上述的20×20、40×40、80×80),所述PANet结构自顶向下传达强语义特征,以及自底向上传达强定位特征。
S4.3、通过轻量化的YOLO Head将融合特征图的通道数调整为num_anchor*(5+num_class),输出三个预测特征图。其中,num_anchor表示在预测特征图的每个锚点上预设先验框数目,num_class表示预测类别数目。
进一步,步骤S5中具体为:将9个先验框按照尺寸大小顺序平均分配至3个预测特征图,将每个尺度的网络预测特征图划分为不同数量的网格,并根据每个网格中心位置和所分配的先验框尺寸生成相应的候选框。
所述9个先验框尺寸分别为:
(7,8),(15,14),(30,33),(25,188),(639,34),(639,49),(71,636),(639,71),(639,637)。
而在步骤S4中得到的3个不同尺度的预测特征图的尺度分别为20×20、40×40、80×80。对于每一个预测特征图,分配3个尺寸的先验框。如对于20×20尺度的预测特征图,因其感受野最大,所以分配其最大的3个尺寸的先验框(71,636),(639,71),(639,637)。同理对于40×40尺度的预测特征图,分配较大的3个尺寸的先验框(25,188),(639,34),(639,49)。对于80×80尺度的预测特征图,分配最小的3个先验框(7,8),(15,14),(30,33)。
进一步,步骤S5中所述根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框,具体为:预测特征图上每个锚点对应一个num_anchor*(5+num_class)长度的向量,通过对这个向量进行维度拆分,得到对于每个先验框的5+num_class长度的一维调整向量,其中前5个值代表的分别是对应先验框的宽高、中心点坐标的调整信息和边框置信度。基于一维调整向量对先验框位置和大小进行调整,得到对应的预测框。
步骤S6中,为根据预测特征图、预测框与对应图片的GT框来计算网络整体损失,具体为:
根据预测框及相应GT框计算交并比损失(Complete Intersection over Union,CIoU),根据网络输出预测特征图中包含的每个预测框的分类结果、目标置信度计算分类损失、目标置信度损失,并将交并比损失、分类损失、目标置信度损失以预设比例加权求和以得到网络整体损失,并进行反向传播来优化网络参数。
交并比损失和目标置信度损失分别由DIOU函数、交叉熵计算得到。分类损失的计算采用梯度引导平衡重加权的均衡损失函数(Equalization Loss v2函数);且在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况,减少低召回率类别对应的样本权重对负向梯度的累积,只累积正向梯度。Equalization Loss v2函数是根据每个分类器累积的正负梯度比,计算得到正负样本在损失计算中的样本权重;
计算公式如下:
进而,根据正、负样本的权重与交叉熵损失BCEloss计算得到分类损失clsloss,计算公式如下:
所述在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况,具体为:通过引入低召回率判别函数threshlod和前景判别函数利用低召回率判别函数和前景判别函数对正负样本权重进行更新,使其在更新正负梯度时,不累积低召回率类别样本作为其他类别的负样本的梯度;
其中,若为低召回率类别,低召回率判别函数值为1,若为其他类别,低召回率判别函数值为0;
若为前景,前景判别函数值为1,若非前景,前景判别函数值为0;
计算分类损失的算法的伪代码如下表1所示:
表1 Recall Long Tailed算法伪代码表
所述步骤S7,S8中,具体地,进行分类重加权YOLOv5网络模型训练,具体包括以下步骤:
A:配置网络环境,Python版本为3.7和深度学习框架为PyTorch1.8,使用CUDA进行加速;
B:设置初始学习率为0.01,学习率调整策略为余弦退火衰减;
C:设置每批输入网络的图像数量为8;
D:使用正态分布初始化方式对网络权重进行初始化,不使用预训练权重。在训练过程中的每个周期结束后进行网络整体损失计算。循环迭代直至验证集的mAP指标稳定在某个值,此时停止分类重加权YOLOv5网络模型的训练。
步骤S9中具体为:对于每张图像,网络输出对应的N个预测特征图,然后在预测特征图上根据每个锚点对应的调整向量对先验框进行调整,得到每张图像的所有预测框,接着使用非极大值抑制(NMS)去除其中的冗余框,得到特征图上的预测框。最后根据比例关系将特征图尺度上的预测框映射到原图尺度上。映射所得到的最终预测框在待检测织物图像中为织物瑕疵的检测定位,如图2所示。
为了验证所提方法的性能,使用训练后分类重加权YOLOv5网络模型对测试集中的图像进行预测,使用预测结果和GT计算平均精确度均值mAP(mean Average Precision)和每个类别对应的准确率(Precision)、召回率(Recall)。实验结果如图3所示,本发明能够实现对多种类别的织物瑕疵检测,取得了较高的准确率。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围内。
Claims (10)
1.一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,包括步骤:
S1、采集织物图像数据集,并对每张图像中的各瑕疵进行类别、位置的标注;
S2、按预设比例对数据集进行划分,分别得到训练集、验证集、测试集;
S3、使用聚类算法根据训练集中所有图像的目标GT框进行聚类,得到K个先验框;
S4、随机选择训练集中的X张图像作为分类重加权YOLOv5模型的输入,经过主干网络特征提取后得到N个不同尺度的有效特征图,特征融合模块对有效特征图进行融合,以得到N个不同尺度的融合特征图,最后对融合特征图的通道进行调整以获得N个预测特征图;
S5、将K个先验框按照尺度预先均匀分布到N个预测特征图上,然后根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框;
S6、根据预测特征图、预测框、相应GT框来计算网络整体损失,并使用梯度下降法来更新分类重加权YOLOv5模型的参数,网络整体损失基于分类损失计算得到,所述分类损失的计算采用梯度引导平衡重加权的均衡损失函数,且在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况;
S7、重复步骤S4-S6直到训练集中所有图片都输入模型一次,根据参数更新后的分类重加权YOLOv5模型来对验证集的每张图像进行预测,统计后输出验证集中各个类别的AP值;
S8、重复步骤S7,直至步骤S7中所统计的各个类别的AP值的平均值mAP稳定在某个值,得到训练完成的分类重加权YOLOv5模型;
S9、使用训练完成的分类重加权YOLOv5模型对测试集中所有图像进行预测,得到特征图上的预测框,根据特征图和原图的比例关系,将预测框映射至对应的原图上来定位瑕疵。
2.根据权利要求1所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S4中,包括步骤:
S4.1、随机选取训练集中X张图像,并进行切片处理后,输入主干网络中进行逐级特征提取,从中取出最深层的三个含有不同尺度和通道数的有效特征图,按尺度从小到大分别称为M5特征图、M4特征图、M3特征图;
S4.2、将步骤S4.1中得到的三个有效特征图输入特征融合模块中进行进一步融合,经过自上至下和自下至上的融合加强语义特征和定位特征的融合,以输出P5特征图、P4特征图、P3特征图;
S4.3、将P5特征图、P4特征图、P3特征图的通道数均调整为num_anchor*(5+num_class),以得到三个预测特征图,num_anchor表示在预测特征图的每个锚点上预设先验框数目,num_class表示预测类别数目。
3.根据权利要求2所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S4.2中,包括步骤:
S4.2.1、将M5特征图经过第一卷积块,得到K5特征图,将K5特征图进行上采样并和M4特征图进行融合,将融合结果依次通过第一瓶颈结构模块和第二卷积块,以得到K4特征图;
S4.2.2、将K4特征图进行上采样并和M3特征图进行融合,将融合结果输入第二瓶颈结构模块,以得到最浅层输出的P3特征图;
S4.2.3、将K4特征图与P3特征图进行融合,将融合结果输入第三瓶颈结构模块,以得到中间层输出的P4特征图;
S4.2.4、将P4特征图进行下采样,并与K5特征图进行融合,将融合结果输入第四瓶颈结构模块,以得到最深层输出的P5特征图。
4.根据权利要求2所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S5中所述将K个先验框按照尺度预先均匀分布到N个预测特征图上,具体为:将每个预测特征图划分为H×W的网格,其中每个网格单元中心称为锚点,然后在每个锚点上覆盖属于对应预测特征图的K/N个先验框。
5.根据权利要求2所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S5中所述根据预测特征图上锚点信息对相应的先验框进行调整,得到所有预测框,具体为:预测特征图上每个锚点对应一个num_anchor*(5+num_class)长度的向量,通过对这个向量进行维度拆分,得到对于每个先验框的5+num_class长度的一维调整向量,基于一维调整向量对先验框位置和大小进行调整,得到对应的预测框。
6.根据权利要求1所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S6中,网络整体损失基于交并比损失、分类损失、目标置信度损失以预设比例加权求和得到。
8.根据权利要求1所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,所述在采用均衡损失函数计算正负梯度过程中,忽略低召回率类别作为其他类别的负样本的情况,具体为:通过引入低召回率判别函数threshlod和前景判别函数利用低召回率判别函数和前景判别函数对正负样本权重进行更新,使其在更新正负梯度时,不累积低召回率类别样本作为其他类别的负样本的梯度;
其中,若为低召回率类别,低召回率判别函数值为1,若为其他类别,低召回率判别函数值为0;
若为前景,前景判别函数值为1,若非前景,前景判别函数值为0;
对正负样本权重进行更新的具体计算公式为:
9.根据权利要求1所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S1与步骤S2之间还包括步骤:使用Mosaic数据增强方法,以实现数据集的扩充。
10.根据权利要求1所述的一种基于分类重加权YOLOv5模型的织物瑕疵检测方法,其特征在于,步骤S2中,所述训练集、验证集、测试集的比例为8:1:1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210864109.4A CN115049639B (zh) | 2022-07-21 | 2022-07-21 | 一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210864109.4A CN115049639B (zh) | 2022-07-21 | 2022-07-21 | 一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115049639A true CN115049639A (zh) | 2022-09-13 |
CN115049639B CN115049639B (zh) | 2024-04-26 |
Family
ID=83166458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210864109.4A Active CN115049639B (zh) | 2022-07-21 | 2022-07-21 | 一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115049639B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192040A (zh) * | 2021-05-10 | 2021-07-30 | 浙江理工大学 | 一种基于YOLO v4改进算法的织物瑕疵检测方法 |
CN114240822A (zh) * | 2021-12-28 | 2022-03-25 | 中山小池科技有限公司 | 基于YOLOv3及多尺度特征融合的棉布瑕疵检测方法 |
CN114372968A (zh) * | 2021-12-31 | 2022-04-19 | 江南大学 | 结合注意力机制与自适应记忆性融合网络的瑕疵检测方法 |
WO2022095612A1 (zh) * | 2020-11-05 | 2022-05-12 | 西安交通大学 | 一种核磁共振图像中颈动脉血管中心线的提取方法及系统 |
CN114549507A (zh) * | 2022-03-01 | 2022-05-27 | 浙江理工大学 | 改进Scaled-YOLOv4的织物瑕疵检测方法 |
-
2022
- 2022-07-21 CN CN202210864109.4A patent/CN115049639B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095612A1 (zh) * | 2020-11-05 | 2022-05-12 | 西安交通大学 | 一种核磁共振图像中颈动脉血管中心线的提取方法及系统 |
CN113192040A (zh) * | 2021-05-10 | 2021-07-30 | 浙江理工大学 | 一种基于YOLO v4改进算法的织物瑕疵检测方法 |
CN114240822A (zh) * | 2021-12-28 | 2022-03-25 | 中山小池科技有限公司 | 基于YOLOv3及多尺度特征融合的棉布瑕疵检测方法 |
CN114372968A (zh) * | 2021-12-31 | 2022-04-19 | 江南大学 | 结合注意力机制与自适应记忆性融合网络的瑕疵检测方法 |
CN114549507A (zh) * | 2022-03-01 | 2022-05-27 | 浙江理工大学 | 改进Scaled-YOLOv4的织物瑕疵检测方法 |
Non-Patent Citations (1)
Title |
---|
张丽瑶;王志鹏;徐功平;: "基于SSD的织物瑕疵检测的研究", 电子设计工程, no. 06, 20 March 2020 (2020-03-20) * |
Also Published As
Publication number | Publication date |
---|---|
CN115049639B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110660052B (zh) | 一种基于深度学习的热轧带钢表面缺陷检测方法 | |
CN112396002A (zh) | 一种基于SE-YOLOv3的轻量级遥感目标检测方法 | |
CN112381030B (zh) | 一种基于特征融合的卫星光学遥感图像目标检测方法 | |
CN112784756B (zh) | 人体识别跟踪方法 | |
CN112861982A (zh) | 一种基于梯度平均的长尾目标检测方法 | |
CN114463759A (zh) | 一种基于无锚框算法的轻量化文字检测方法及装置 | |
CN109376787A (zh) | 流形学习网络及基于其的计算机视觉图像集分类方法 | |
CN111666852A (zh) | 一种基于卷积神经网络的微表情双流网络识别方法 | |
CN117576038A (zh) | 基于YOLOv8网络的织物瑕疵检测方法及系统 | |
CN114882011A (zh) | 一种基于改进Scaled-YOLOv4模型的织物瑕疵检测方法 | |
CN117542082A (zh) | 一种基于YOLOv7的行人检测方法 | |
CN117372332A (zh) | 一种基于改进YOLOv7模型的织物瑕疵检测方法 | |
CN114943859A (zh) | 面向小样本图像分类的任务相关度量学习方法及装置 | |
CN114494250A (zh) | 基于神经网络模型的地板缺陷检测方法 | |
CN114494777A (zh) | 一种基于3D CutMix-Transformer的高光谱图像分类方法及系统 | |
CN115049639B (zh) | 一种基于分类重加权YOLOv5模型的织物瑕疵检测方法 | |
CN115861239A (zh) | 一种基于元学习的小样本工业零件表面缺陷检测方法 | |
CN115205518A (zh) | 一种基于YOLO v5s网络结构的目标检测方法及其系统 | |
CN113780335A (zh) | 一种小样本商品图像分类方法、装置、设备及存储介质 | |
CN118072115B (zh) | 一种医学细胞检测方法及系统 | |
CN118297119B (zh) | 一种用于微核识别的神经网络及方法 | |
CN114139656B (zh) | 一种基于深度卷积分析的图片归类方法及播控平台 | |
CN113378631B (zh) | 一种基于嵌入式与人工智能的后厨工装识别方法 | |
CN115100120B (zh) | 一种增强神经网络特征多样性的缺陷检测方法及系统 | |
CN118521913A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |