CN116245843A - 基于YOLOv5框架的车漆缺陷检测与分割一体化方法 - Google Patents
基于YOLOv5框架的车漆缺陷检测与分割一体化方法 Download PDFInfo
- Publication number
- CN116245843A CN116245843A CN202310210939.XA CN202310210939A CN116245843A CN 116245843 A CN116245843 A CN 116245843A CN 202310210939 A CN202310210939 A CN 202310210939A CN 116245843 A CN116245843 A CN 116245843A
- Authority
- CN
- China
- Prior art keywords
- segmentation
- yolov5
- detection
- frame
- 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
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
-
- 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
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- 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/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
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- 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
-
- 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/08—Detecting or categorising vehicles
-
- 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)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于YOLOv5框架的车漆缺陷检测与分割一体化方法,包括:获取目标车漆图像;将目标车漆图像输入至训练好的车漆缺陷检测与分割模型中,输出目标车漆图像对应的车漆缺陷检测图像与分割图像;车漆缺陷检测与分割模型采用YOLOv5框架构建而成,且包括分割分支和检测分支。通过该方法可以在对车漆进行检测和分割时,提高检测和分割效率,同时增强检测和分割精度。
Description
技术领域
本发明属于机器学习和数字图像处理技术领域,特别是基于YOLOv5框架的车漆缺陷检测与分割一体化方法。
背景技术
车辆车漆具有美观、防腐蚀防暴晒等重要功能。车漆的表面质量已成为车辆的重要指标之一,对车漆表面的质量控制在工业生产中的作用日趋显著。对生产过程中产生的划痕、裂纹、缺损等表面缺陷,传统制造业多以人眼目视方式进行检测。检测漏检多、生产效率低,无法提供精确数据。并且劳动强度大,对工人损害高,招工困难且招工成本高。
基于机器视觉的表面缺陷自动检测作为一种快速发展的新型检测技术,具有速度快、质量高等优点,可改变现在人工检测耗时过长、一次检出率低等缺陷,同时可以降低人工成本。目前的工业场景使用隧道扫描、相位偏折等方式获得漆面缺陷图像。由于图像扫描系统的设计以及漆面加工技术的发展,对一幅含有缺陷的图像来说,漆面缺陷在图像之中往往只占据小部分,而背景较为单一;对数据整体来说,不同种类的漆面缺陷所含数量差别较大,含有漆面缺陷的图像也寥寥无几。漆面缺陷属于典型的弱小目标,具有数目少、类别不平衡、纹理弱、对比度低的特征。
目标检测的任务是对输入的图像进行物体检测,标注物体在图像上的位置,以及该位置上物体属于哪个分类。语义分割的任务是对输入的图像进行逐像素的分类,标记出像素级别的物体。目前大部分的基于深度学习缺陷检测方法仅仅只是将缺陷框出来(目标检测),实际缺陷的检测效果并不理想。事实上,如果将缺陷区域像素级别提取出来(语义分割),不仅提取出缺陷的位置信息,也更贴近真实的应用场景需求。
YOLOv5模型由Ultralytics公司于2020年6月9日公开发布。YOLOv5模型基于YOLOv3模型基础上改进而来,有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四个模型。YOLOv5模型由骨干网络、颈部和头部组成。骨干网络在不同图像细粒度上聚合并形成图像特征的卷积神经网络。颈部为一系列混合和组合图像特征的网络层,并将图像特征传递到预测层。头部对图像特征进行预测,生成边界框和并预测类别。
Copy-paste数据增强方法通过粘贴不同规模的不同对象到新的背景图像,从而获取丰富的和新颖的训练数据。其主要思想是:混合粘贴+大尺度抖动。
因此,如何基于YOLOv5框架,一方面可以同时完成车漆缺陷检测与分割,另一方面可以解决或减弱数据不足带来的负面影响,从而更好地满足实际应用场景需求,成为当前研究的关键问题。
发明内容
鉴于上述问题,本发明提供一种至少解决上述部分技术问题的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,通过该方法可以有效完成车漆缺陷检测与分割。
本发明实施例提供了基于YOLOv5框架的车漆缺陷检测与分割一体化方法,包括:
S1、获取目标车漆图像;
S2、将所述目标车漆图像输入至训练好的车漆缺陷检测与分割模型中,输出所述目标车漆图像对应的车漆缺陷检测图像与分割图像;所述车漆缺陷检测与分割模型采用YOLOv5框架,且包括分割分支和检测分支。
进一步地,在所述S2中,所述车漆缺陷检测与分割模型的训练过程如下:
步骤一、获取大量带有检测标注的以及分割标注的车漆缺陷图像,作为训练数据集;并对所述训练数据集进行预处理;
步骤二、通过kmeans聚类方法约束的copy-paste方法对预处理后的训练数据集进行数据增强处理;
步骤三、在YOLOv5框架的基础上添加分割头,获得分割分支;
步骤四、对所述YOLOv5框架重新设计检测头,获得检测分支;
步骤五、基于数据增强处理后的训练数据集,对所述分割分支和检测分支依次轮流进行训练,直到收敛后获得训练好的车漆缺陷检测与分割模型。
进一步地,在所述步骤一中,所述预处理包括:采用交叉验证法对所述训练数据集进行划分,获得K个不重合的子数据集。
进一步地,所述步骤二具体包括:采用kmeans聚类方法将预处理后的训练数据集中的图像划分为明区域和暗区域;分别在所述明区域和暗区域中使用copy-paste方法,实现对预处理后的训练数据集进行数据增强处理。
进一步地,所述步骤三具体包括:
在YOLOv5框架的颈部使用SPPF+FPN的结构;在YOLOv5框架的头部将FPN网络的底层馈送到分割头,获得分割分支;
从YOLOv5框架的骨干网络中提取特征;
通过SPPF网络对所述特征进行融合,获得不同语义尺度的特征;
将所述不同语义尺度的特征馈送到FPN网络的自顶向下的上采样过程中,通过FPN网络对所述不同语义尺度的特征进行拼接融合,将FPN底层馈送到分割分支处,进行三次上采样后得到分割结果。
进一步地,所述步骤四具体包括:
在所述YOLOv5框架的基础上添加解耦头;
在所述YOLOv5框架中引入类别权重;
在所述YOLOv5框架的检测层中添加小目检测层;
在所述YOLOv5框架的检测层中增加一组新anchor值。
进一步地,所述新anchor值小于所述YOLOv5框架中原有的anchor值。
进一步地,在所述步骤五中,对所述分割分支和检测分支依次轮流进行训练,具体包括:分别进行所述检测分支和分割分支的前向传播;在反向传播的过程中,轮流更新所述检测分支和分割分支中的权重。
进一步地,所述步骤五中,对所述分割分支和检测分支进行K次模型训练和验证;每一次均使用一个子数据集验证模型,并使用其它K-1个子数据集来训练模型;最后对这K次的训练误差和验证误差分别求平均值。
与现有技术相比,本发明记载的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,具有如下有益效果:
本发明的车漆缺陷检测与分割模型采用YOLOv5框架,且包括分割分支和检测分支,在具体对车漆进行检测和分割时,利用FPN网络对不同层次特征的提取并融合,可以提高检测和分割效率,同时增强检测和分割精度,实现同时完成车漆缺陷检测与分割,从而更好地满足实际应用场景需求。其中,分割生成的是缺陷目标的掩膜图像;通过检测能够得到车漆缺陷类别以及位置,分割能够得出缺陷的形状和大小。
本发明在FPN网络自下而上的过程中,深层网络关注语义信息,浅层网络关注细节信息;之后在自上而下的过程中,检测分支利用深层的信息完成检测任务,解决的是“车漆缺陷是什么”和“车漆缺陷在哪里”的问题;再次进行上采样其实就是在其基础上利用了自下而上过程中的细节信息,获得了车漆缺陷的大小和形状。如果使用直接分割的网络(比如Unet),受限于数据集大小其结构必不会很深,从而针对特征的提取不够充分,最终导致漏检率较高。因此相比于直接分割的算法来说,本发明将检测作为分割的辅助,比直接分割效果更好;且本发明在检测分支上继续融合细节信息的做法可以综合语义和细节信息,最终得到更好的结果。
本发明针对小目标额外设计了小目标检测层与anchor,使得模型更加适应数据正负样本不均衡,目标小,背景单一的情况。
本发明针对数据不足的问题,结合数据特点,选择采用kmeans聚类方法对copy-paste过程进行约束,该方法可以很好的解决数据不足的问题并降低直接copy-paste的负面影响。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的车漆缺陷检测与分割模型的框架示意图。
图2为本发明实施例提供的车漆缺陷图像示意图。
图3为本发明实施例提供的FPN结构示意图。
图4为本发明实施例提供的解耦头结构示意图。
图5为本发明实施例提供的输出结果示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了基于YOLOv5框架的车漆缺陷检测与分割一体化方法,具体包括如下步骤:
S1、获取目标车漆图像;
S2、将所述目标车漆图像输入至训练好的车漆缺陷检测与分割模型中,输出所述目标车漆图像对应的车漆缺陷检测图像与分割图像;所述车漆缺陷检测与分割模型采用YOLOv5框架,且包括分割分支和检测分支。
在上述S2中,车漆缺陷检测与分割模型的训练方法如下:
步骤一、获取大量带有检测标注的以及分割标注的车漆缺陷图像,作为训练数据集;并对所述训练数据集进行预处理;
步骤二、通过kmeans聚类方法约束的copy-paste方法对预处理后的训练数据集进行数据增强处理;
步骤三、在YOLOv5框架的基础上添加分割头,获得分割分支;
步骤四、对所述YOLOv5框架重新设计检测头,获得检测分支;
步骤五、基于数据增强处理后的训练数据集,对所述分割分支和检测分支进行训练,直到收敛后,获得训练好的车漆缺陷检测与分割模型。
车漆缺陷检测与分割模型的框架示意图参见图1所示。
接下来对上述步骤一至步骤五进行详细说明。
在上述步骤一中,为了同时完成检测与分割任务,在本发明实施例中,准备了200张以上带有检测标注的以及分割标注的960x480的车漆缺陷图像;每张车漆缺陷图像上均分布着数目与大小不等的车漆缺陷,具体参见图2所示。将这些车漆缺陷图像作为训练数据集;采用交叉验证法将该训练数据集分割成K个不重合的子数据集。
在上述步骤二中,由于训练数据集拥有数量少,目标小,亮度变化大的特点,因此,在本发明实施例中,首先使用了传统copy-paste方法以丰富数据集,缓解数据不足带来的影响。Copy-paste方法的思想表示为混合粘贴与大尺度抖动;其中,混合粘贴即将粘贴对象从原图像中复制出来,然后再粘贴到新的图像中;大尺度抖动表现为被粘贴对象经过较大的尺寸变化;该方法将不同规模的不同对象拷贝到新的背景图像之中,能够创造丰富的和新颖的训练数据;然而,由于汽车表面起伏变化,图像中反射分量有较大的变化,最终使图像的亮度有了明显的区域分布特征;导致复制粘贴的目标带有原始目标的领域信息;所以,直接使用copy-paste方法效果不佳;
kmeans聚类方法是一种较为经典的聚类方法。该方法先随机出K个质心,然后按照距离大小,把所有数据点分配给离他们最近的质心,共获得K簇数据。对这些数据取均值,就可以得到新的K个质心,对于这新的K个质心,又可以划分出K个新的簇,如此循环往复,直到算法收敛为止。此算法将数据集分为K个簇,使每个簇簇内距离小,簇间距离大。因此,在本发明实施例中,选择采用kmeans聚类方法对copy-paste过程进行约束;先使用Kmeans聚类方法将图像按照明暗划分区域,并使用轮廓系数作为指标进行评估;
轮廓系数表示为
平均距离计算公式为:
其中,a(i)表示样本i所属簇内其它样本的平均距离,若簇内仅i一个样本,则令S(i)=0;平均距离公式式中,i表示第i个样本;j代表与样本i在同一个类内的其他样本点;n为与i同类的样本点数;b(i)表示第i个样本与其它簇的样本平均距离的最小值;此时j表示某一类与i不同类的样本点;n为该类样本点数;S趋近于1时效果较好。
经过对数据的分析及测试,本发明实施例中最终决定使用kmeans聚类方法将图像分为4种区域(明、较明、较暗和暗),同一个区域的亮度是相近的,不同的区域有明显的边界,本发明实施例在同一区域中使用copy-paste方法,可以很好降低直接copy-paste的负面影响并有效弥补数据集中缺陷尺寸小,数量少的问题。
在上述步骤三中,YOLOv5模型原本用于检测任务,在本发明实施例中,为了完成分割任务,在YOLOv5框架的基础上添加一个分割头用于语义分割。模型的总体框架如图1所示。本发明实施例基于YOLOv5分支YOLOv5s修改,在YOLOv5框架的颈部(neck)使用了SPPF+FPN的结构,实现对backbone骨干网络提取的特征进行处理;其中,SPPF生成并融合不同语义尺度的特征,FPN融合不同语义层次的特征,并采用拼接的方式融合不同尺度的特征。如图1所示,在YOLOv5骨干网络提取特征之后,本发明实施例中首先对骨干网络提取的特征图使用SPPF进行特征融合,然后将结果馈送到FPN网络的自顶向下的上采样过程中,最后在YOLOv5框架的头部将FPN的底层馈送到分割头,获得分割分支,大小为(W/8,H/8,256)。在三次上采样过程之后,将输出特征图恢复到(W,H,2)的大小,这表示输入图像中每个像素对于缺陷和背景的概率,以此达成分割的目标。
接下来,分别对该步骤中的SPPF+FPN进行详细说明:
1、SPPF(Spatial Pyramid Pooling-Fast):
SPP(Spatial Pyramid Pooling,空间金字塔池化),能将任意大小的特征图转换成固定大小的特征向量。SPP移除了CNN对于固定输入的要求,SPP操作类似深层的信息“融合”。这种深层的信息融合类似人脑的分级信息处理方式;当人们看到一个物体时,在一开始会把物体看成一个整体而不是剪裁一个部分;通过融合先前处理的信息,大脑处理在深层阶段识别各种形状的物体。SPP的优势在于,在任意尺寸和尺度输入下,产生固定的输出特征;使用多级spatial bins(多个尺寸的池化),对于物体形变具有鲁棒性;
SPPF(Spatial Pyramid Pooling-Fast)是SPP的改进版。其结构为:对输入特征图进行CBL操作,CBL为一个1*1的卷积+BN(BatchNormalization,批标准化)+SiLu激活函数。然后进行三次最大池化,三次池化的核分别为5,9,13。将CBL处理后的特征图与三次池化的结果拼接之后再进行CBL操作输出。SPPF相较于SPP,处理速度更快。
2、FPN(Feature PyramidNetworks,特征金字塔网络):
卷积网络中,深层网络容易响应语义特征,浅层网络容易响应图像特征。高层网络虽然能响应语义特征,但是由于特征图的尺寸太小,拥有的几何信息并不多,不利于目标的检测;浅层网络虽然包含比较多的几何信息,但是图像的语义特征并不多,不利于图像的分类。这个问题在小目标检测中更为突出。因此需要一个网络,此网络能够合并深层和浅层特征,同时满足目标检测和图像分类的需要;
FPN(Feature Pyramid Networks,特征金字塔网络)是一种自顶向下的特征融合方法,但是FPN是一种多尺度的目标检测算法,即不只有一个特征预测层。虽然有些算法也采用多尺度特征融合来进行目标检测,但是它们往往只利用融合后得到的一种尺度的特征,这种做法虽然可以将顶层特征的语义信息和底层特征细节信息,但是在特征反卷积等过程中会造成一些偏差,只利用融合后得到的特征进行预测会对检测精度造成不良影响。FPN方法从上述问题出发,可以在多个不同尺度的融合特征上进行预测,实现检测精度的最大化。FPN的模型训练方式不同于传统的Faster R-CNN方法,因为FPN有多个预测层。类似于SSD方法,FPN中靠前的特征具有更高的分辨率,而本发明实施例中目的是用高分辨率特征来对小目标进行预测。FPN中的每个融合特征都会连接一个RPN(Region ProposalNetwork)网络,用以生成候选框,然后将所有生成的候选框集合在一起;因为在本发明实施例中,想要实现以更小的目标在更高分辨率的卷积特征图上预测,因此将这些候选框进行分配,分配原理如以下公式所示:
其中,k0是一个常数,代表候选框被分配到的预测层;w和h代表候选框的宽和高;[]代表取数值的下届。例如,预测层有2、3、4和5等4个,分别代表分辨率由大到小的4个融合特征层。k0=4,一个宽和高的乘积为112*2的候选框会被分配到预测层k=3(k大于5时取值5;k小于2时取值为2),进行之后的检测。由公式可以看出,候选框的面积越大,被分配到的预测层的号码越大,大的目标会被分配到分辨率较低的预测层进行预测。这些候选框在经过分配之后被送入对应的RoI pooling层,RoI pooling层输出的结果被级联在一起,再经过两个全连接层,进行目标分类和目标位置回归。
FPN使用不同分辨率的特征图感知不同大小的物体,并通过连续上采样和跨层融合机制使输出特征兼具底层视觉信息和高层语义信息。低层次的特征图语义不够丰富,不能直接用于分类,而深层的特征更值得信赖。将侧向连接与自上而下的连接组合起来,就可以得到不同分辨率的特征图,而它们都包含了原来最深层特征图的语义信息。
FPN特征金字塔的思想来源于传统算法中的多尺度识别,具体操作是将原始图像放缩到不同尺度大小的状态,缩小的图像应用于图像全局特征,放大的图像应用于细节特征。深度学习网络越深层次的特征图,拥有越多的全局和抽象特征。FPN通过横向连接段,纵向相加的方式,解决浅层和深层结合问题。总体结构采用自上而下的信息结构,具体参见图3所示:在图中每一个正方形代表一个特征图,从小到大的正方形表示从深到浅的特征图。在新生成的特征图中,最浅层次拥有上面所有层次信息的特征。深层的特征语义信息比较少,但是目标位置准确;浅层的特征语义信息比较丰富,但是目标位置比较粗略。图中顶部是一个带有skip connection的网络结构,在预测的时候是在finest level(自顶向下的最后一层)进行的,简单讲就是经过多次上采样并融合特征到最后一步,拿最后一步生成的特征做预测。图中底部是一个网络结构和上面的类似,区别在于预测是在每一层中独立进行的。
FPN连接结构,采用1*1的卷积层和2倍的上采样的结构。上采样(up sampling)是卷积的反向过程,又被称为反卷积网络。卷积操作使得特征图尺寸不断缩小或者不变(1*1卷积),而反卷积操作会使得特征图尺寸不断增大。这里使用反卷积操作是为了深层次的特征图,通过放大到和浅层的特征图一样的尺寸后,可以进行元素级别(element-wise)的相加。设计1*1卷积的结构是为了对于原有的特征图,进行的尺寸的不变的空间变换,使得结构上更加鲁棒。在前向过程中,feature map的大小在经过某些层后会改变,而在经过其它一些层的时候不会改变,FPN作者将不改变feature map大小的层归为一个stage,因此每次抽取的特征都是每个stage的最后一个层输出,这样就能构成特征金字塔。每个stage最后一层输出的是金字塔的特征图。自顶向下的过程采用上采样进行,而横向连接则是将上采样的结果和自底向上生成的相同大小的feature map进行融合。在融合之后还会再采用3*3的卷积核对每个融合结果进行卷积,目的是消除上采样的混叠效应。
在上述步骤四中,由于本发明实施例所处理的目标具有数量少,尺寸小,纹理弱的特点,因而本发明实施例需要对YOLOv5框架的检测分支进行特殊设计,具体包括:
1、添加解耦头以提升在小数据集上的精度:
目标检测的定位和分类任务所聚焦和感兴趣的地方不同,分类更加关注所提取的特征与已有类别中的哪一类最为相近,而定位更加关注与GT Box的位置坐标从而进行边界框参数修正。在目标检测中,分类任务和回归任务之间的冲突是一个众所周知的问题。因此,用于分类和定位的解耦头被广泛应用于大多数one-stage和two-stage检测器中。然而,虽然YOLO系列的backbone和特征金字塔在不断演化,但是其检测头仍然是耦合的,而耦合的检测头可能会损害性能。就结构来说,全连接头更适合分类任务,而卷积头更适合定位任务。实例分割需要输出分类置信度图和实例mask图;目标检测需要输出目标的分类和边框位置;采用两个不同的头解耦输出分类和位置,即为解耦头。
YOLOX提出了一种解耦头结构,参见图4所示;YOLOX的解耦头结构将卷积头和全连接头分开形成两条通路。解耦头接受FPN网络提取的特征图为输入,使用一个1x1的卷积层减少特征图的通道数,输出为H*W*C(W、H表示图像宽高,C表示图像通道数),并使用两个平行的3x3卷积层完成回归与分类任务(输出分别为H*W*4与H*W*1)。
YOLOv5框架在头部有anchor匹配过程,原YOLOv5框架的头部(Head)对颈部(Neck)中得到的不同尺度的特征图分别通过1×1卷积将通道数扩展,扩展后的特征通道数为(类别数量+5)×每个检测层上的anchor数量。其中5意味着预测框的中心点横坐标、纵坐标、宽度、高度和置信度,这里的置信度表示预测框的可信度,取值范围为(0,1),值越大说明该预测框中越有可能存在目标。YOLOv5框架的每个检测层上的每个网格都预设了多个anchor先验框,需要对这些anchor先验框进行筛选,将其划分为正样本和负样本。Head中的3个检测层分别对应Neck中得到的3种不同尺寸的特征图。特征图上的每个网格都预设了3个不同宽高比的anchor,可以在特征图的通道维度上保存所有基于anchor先验框的位置信息和分类信息,用来预测和回归目标;
YOLOv5的目标框回归计算公式如下所示:
bx=(2*σ(tx)-0.5)+cx
by=(2*σ(ty)-0.5)+cy
bw=pw*(2*σ(tw))2
bh=ph*(2*σ(th))2
其中,bx、by、bw和bh分别表示预测框的中心点坐标、宽度和高度;(Cx,Cy)表示预测框中心点所在网格的左上角坐标;(tx,ty)表示预测框的中心点相对于网格左上角坐标的偏移量;(tw,th)表示预测框的宽高相对于anchor宽高的缩放比例,(pw,ph)表示先验框anchor的宽高。为了将预测框的中心点约束到当前网格中,使用Sigmoid函数处理偏移量,使预测的偏移值保持在(0,1)范围内。这样一来,根据目标框回归计算公式,预测框中心点坐标的偏移量保持在(-0.5,1.5)范围内。预测框的宽度和高度对于anchor的放缩范围为(0,4)。
YOLOv5采用的是基于宽高比例的匹配策略。对于每一个GroundTruth(人工标注的真实框),分别计算它与9种不同anchor的宽与宽的比值(w1/w2,w2/w1)和高与高的比值(h1/h2,h2/h1);找到GroundTruth与anchor的宽比(w1/w2,w2/w1)和高比(h1/h2,h2/h1)中的最大值,作为该Ground Truth和anchor的比值;若Ground Truth和anchor的比值r^max小于设定的比值阈值(超参数中默认为anchor_t=4.0),那么这个anchor就负责预测这个GroundTruth,这个anchor所回归得到的预测框就被称为正样本,剩余所有的预测框都是负样本。
基于此,参考YOLOX提出的解耦头结构,本发明实施例中在YOLOv5框架中引入了解耦头的结构。本发明实施例中解耦头部的设计保留了YOLOv5框架中anchor检测的方法,即在YOLOX的解耦头结构中进行anchor检测。最终解耦头三个部分输出均多出一个anchor项(即H*W*anchor*C,H*W*anchor*4,H*W*anchor*1)。解耦头结构考虑到分类和定位所注的内容的不同,因此采用不同的分支来进行运算,加快网络收敛速度和提高精度。
2、使用类别权重以平衡高度失衡的样本:
本发明实施例中所使用的训练数据集属于高度失衡的样本。大多数机器学习算法对有偏差的类数据缺乏有效性,但是本发明实施例决定对现有的训练算法进行修改,以考虑到类的倾斜分布。这可以通过给予多数类别和少数类别不同的权重来实现。在训练阶段,权重的差异会影响类别的分类。其整体目的是通过设置更高的类权重,同时为多数类降低权重,以惩罚少数类的错误分类。
wj代表每个类的权重(j表示类);n_samples表示数据集中的样本或行总数n_classes表示目标中唯一类的总数;n_samplesj表示相应类的总行数。
具体的实现思路为:对整个数据集的图像目标做类别统计,然后类别的数目越大权重越小。然后再使用整个数据集的类别权重对每一张图像做类别权重的叠加,也即根据每一张的图片的类别权重和来作为采样的权重,决定其采用的顺序。在代码的实现中是从大到小排序的。
当训练图像的所有类个数不相同时,需要更改类权重,即而达到更改图像权重的目。然后根据图像权重新采集数据,这在图像类别不均衡的数据下尤其重要。使用YOLOv5训练时,各类别的标签数量难免存在不平衡的问题。在训练过程中为了就减小类别不平衡问题的影响,YOLOv5中引入了类别权重和图像权重的设置;
又因为较小的权重会导致较小的惩罚和对模型系数的小更新,而较大的权重会导致较大的惩罚和对模型系数的大量更新;因此本发明使用了类别权重法来减弱样本不平衡的影响,最终得到了更加精确的输出。
3、设计小目标检测层:
在本发明实施例中,所需检测的漆面缺陷具有明显的小目标属性。在YOLOv5框架中,除了使用FPN结构对特征进行融合,还使用到了PAN结构,PAN与FPN网络相反,为倒金字塔结构,自底向上传达强定位特征,两者相互结合,完成针对目标的检测。由于YOLOv5原始模型只有三个检测层,当输入图像尺寸为640*640时,P3对应的检测层大小为80*80大小,只能用来检测大小在8*8以上的目标,对更小的目标缺乏检测能力。本发明实施例对检测头进行修改,增加了几个操作层。在第17层后,继续对特征图进行上采样等处理,使得特征图继续扩大,同时在第20层时,将获取到的大小为160*160的特征图与骨干网络中第2层特征图进行融合,以此获取更大的特征图进行小目标检测。在第31层,即检测层,增加小目标检测层,一共使用四层[21,24,27,30]进行检测。小目标检测层大大提高了算法的精确度,增强了算法对小目标的检测能力。
4、增加一组较小anchor。
在YOLO系列算法中,针对不同的数据集,都需要设定特定长宽的锚点框。在网络训练阶段,模型在初始锚点框的基础上输出对应的预测框,计算其与GT框之间的差距,并执行反向更新操作,从而更新整个网络的参数,因此设定初始锚点框是比较关键的一环。YOLOv5原始模型只有三个检测层,因此对应三组初始化Anchor值。Anchor可以看成是在图像上预设好的不同大小,不同长宽比的参照框。YOLOv5的anchor机制判别负例的方法是:正例除外,与全部ground truth的IOU都小于阈值(0.5)的anchor,则为负例。如果anchor大小远大于目标大小,则其正样本极易被判负。为配合小目标检测层的修改,本发明实施例中添加了一组anchor。该组anchor相比于YOLOv5原有的anchor略小一点,参数为[5,6,8,14,15,11]。
在上述步骤五中,在上述步骤一中,采用交叉验证法将该训练数据集分割成K个不重合的子数据集;在该步骤五中,进行K次模型训练和验证。每一次,使用一个子数据集验证模型,并使用其它K-1个子数据集来训练模型。最后,对这K次训练误差和验证误差分别求平均。本发明实施例使用该方法将数据集分为检测数据集以及分割数据集,并为每部分数据集划分了训练集与验证集。且为配合YOLOv5模型的更改,设计了对应的训练策略。即轮流训练检测和分割分支。在一个batch中,分别进行检测分支和分割分支的前向传播,在反向传播的过程中,轮流更新检测和分割网络分支的权重,这种训练方法使得模型更容易收敛;收敛后所获得训练好的车漆缺陷检测与分割模型可以对含有车漆缺陷的图片同时进行检测与分割并输出结果;具体参见图5所示。
本发明实施例公开了基于YOLOv5框架的车漆缺陷检测与分割一体化方法,通过车漆缺陷检测与分割模型获得目标车漆图像对应的车漆缺陷检测图像与分割图像。其中,车漆缺陷检测与分割模型采用YOLOv5框架,且包括分割分支和检测分支,在具体对车漆进行检测和分割时,利用FPN网络对不同层次特征的提取并融合,可以提高检测和分割效率,同时增强检测和分割精度,实现同时完成车漆缺陷检测与分割,从而更好地满足实际应用场景需求。其中,分割生成的是缺陷目标的掩膜图像;通过检测能够得到车漆缺陷类别以及位置,分割能够得出缺陷的形状和大小。
车漆缺陷检测与分割模型在训练过程中使用到了FPN网络,在FPN网络自下而上的过程中,深层网络关注语义信息,浅层网络关注细节信息;之后在自上而下的过程中,检测分支利用深层的信息完成检测任务,解决的是“车漆缺陷是什么”和“车漆缺陷在哪里”的问题;再次进行上采样其实就是在其基础上利用了自下而上过程中的细节信息,获得了车漆缺陷的大小和形状。如果使用直接分割的网络(比如Unet),受限于数据集大小其结构必不会很深,从而针对特征的提取不够充分,最终导致漏检率较高。因此相比于直接分割的算法来说,本发明将检测作为分割的辅助,比直接分割效果更好;且本发明在检测分支上继续融合细节信息的做法可以综合语义和细节信息,最终得到更好的结果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,包括:
S1、获取目标车漆图像;
S2、将所述目标车漆图像输入至训练好的车漆缺陷检测与分割模型中,输出所述目标车漆图像对应的车漆缺陷检测图像与分割图像;所述车漆缺陷检测与分割模型采用YOLOv5框架,且包括分割分支和检测分支。
2.如权利要求1所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,在所述S2中,所述车漆缺陷检测与分割模型的训练过程如下:
步骤一、获取大量带有检测标注的以及分割标注的车漆缺陷图像,作为训练数据集;并对所述训练数据集进行预处理;
步骤二、通过kmeans聚类方法约束的copy-paste方法对预处理后的训练数据集进行数据增强处理;
步骤三、在YOLOv5框架的基础上添加分割头,获得分割分支;
步骤四、对所述YOLOv5框架重新设计检测头,获得检测分支;
步骤五、基于数据增强处理后的训练数据集,对所述分割分支和检测分支依次轮流进行训练,直到收敛后获得训练好的车漆缺陷检测与分割模型。
3.如权利要求2所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,在所述步骤一中,所述预处理包括:采用交叉验证法对所述训练数据集进行划分,获得K个不重合的子数据集。
4.如权利要求2所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,所述步骤二具体包括:采用kmeans聚类方法将预处理后的训练数据集中的图像划分为明区域和暗区域;分别在所述明区域和暗区域中使用copy-paste方法,实现对预处理后的训练数据集进行数据增强处理。
5.如权利要求2所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,所述步骤三具体包括:
在YOLOv5框架的颈部使用SPPF+FPN的结构;在YOLOv5框架的头部将FPN网络的底层馈送到分割头,获得分割分支;
从YOLOv5框架的骨干网络中提取特征;
通过SPPF网络对所述特征进行融合,获得不同语义尺度的特征;
将所述不同语义尺度的特征馈送到FPN网络的自顶向下的上采样过程中,通过FPN网络对所述不同语义尺度的特征进行拼接融合,将FPN底层馈送到分割分支处,进行三次上采样后得到分割结果。
6.如权利要求2所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,所述步骤四具体包括:
在所述YOLOv5框架的基础上添加解耦头;
在所述YOLOv5框架中引入类别权重;
在所述YOLOv5框架的检测层中添加小目检测层;
在所述YOLOv5框架的检测层中增加一组新anchor值。
7.如权利要求6所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,所述新anchor值小于所述YOLOv5框架中原有的anchor值。
8.如权利要求2所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,在所述步骤五中,对所述分割分支和检测分支依次轮流进行训练,具体包括:分别进行所述检测分支和分割分支的前向传播;在反向传播的过程中,轮流更新所述检测分支和分割分支中的权重。
9.如权利要求3所述的基于YOLOv5框架的车漆缺陷检测与分割一体化方法,其特征在于,所述步骤五中,对所述分割分支和检测分支进行K次模型训练和验证;每一次均使用一个子数据集验证模型,并使用其它K-1个子数据集来训练模型;最后对这K次的训练误差和验证误差分别求平均值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310210939.XA CN116245843A (zh) | 2023-03-07 | 2023-03-07 | 基于YOLOv5框架的车漆缺陷检测与分割一体化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310210939.XA CN116245843A (zh) | 2023-03-07 | 2023-03-07 | 基于YOLOv5框架的车漆缺陷检测与分割一体化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116245843A true CN116245843A (zh) | 2023-06-09 |
Family
ID=86623910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310210939.XA Pending CN116245843A (zh) | 2023-03-07 | 2023-03-07 | 基于YOLOv5框架的车漆缺陷检测与分割一体化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116245843A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116958904A (zh) * | 2023-08-07 | 2023-10-27 | 济宁安泰矿山设备制造有限公司 | 一种基于小样本检测的井下异物识别方法 |
-
2023
- 2023-03-07 CN CN202310210939.XA patent/CN116245843A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116958904A (zh) * | 2023-08-07 | 2023-10-27 | 济宁安泰矿山设备制造有限公司 | 一种基于小样本检测的井下异物识别方法 |
CN116958904B (zh) * | 2023-08-07 | 2024-05-07 | 济宁安泰矿山设备制造有限公司 | 一种基于小样本检测的井下异物识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859190B (zh) | 一种基于深度学习的目标区域检测方法 | |
CN110619369B (zh) | 基于特征金字塔与全局平均池化的细粒度图像分类方法 | |
CN109902600B (zh) | 一种道路区域检测方法 | |
CN108304798B (zh) | 基于深度学习及运动一致性的街面秩序事件视频检测方法 | |
CN111191583B (zh) | 基于卷积神经网络的空间目标识别系统及方法 | |
CN110276765A (zh) | 基于多任务学习深度神经网络的图像全景分割方法 | |
CN111027493A (zh) | 一种基于深度学习多网络软融合的行人检测方法 | |
CN109583425A (zh) | 一种基于深度学习的遥感图像船只集成识别方法 | |
CN113627228B (zh) | 一种基于关键点回归与多尺度特征融合的车道线检测方法 | |
CN109284669A (zh) | 基于Mask RCNN的行人检测方法 | |
CN109145769A (zh) | 融合图像分割特征的目标检测网络设计方法 | |
CN108009509A (zh) | 车辆目标检测方法 | |
CN103106265B (zh) | 相似图像分类方法及系统 | |
CN108009518A (zh) | 一种基于快速二分卷积神经网络的层次化交通标识识别方法 | |
CN113205026B (zh) | 一种基于Faster RCNN深度学习网络改进的车型识别方法 | |
CN110246141A (zh) | 一种基于联合角点池化的复杂交通场景下车辆图像分割方法 | |
CN113971764B (zh) | 一种基于改进YOLOv3的遥感图像小目标检测方法 | |
CN114821665A (zh) | 一种基于卷积神经网络的城市人流小目标检测方法 | |
CN113870157A (zh) | 一种基于CycleGAN的SAR图像合成方法 | |
CN112215847A (zh) | 基于对抗学习多尺度特征的重叠染色体自动分割方法 | |
CN117765373A (zh) | 一种自适应裂缝尺寸的轻量化道路裂缝检测方法及系统 | |
CN113496480A (zh) | 一种焊缝图像缺陷的检测方法 | |
CN111652836A (zh) | 一种基于聚类算法和神经网络的多尺度目标检测方法 | |
CN116245843A (zh) | 基于YOLOv5框架的车漆缺陷检测与分割一体化方法 | |
CN113516116A (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 |