CN112991271B - 基于改进yolov3的铝型材表面缺陷视觉检测方法 - Google Patents

基于改进yolov3的铝型材表面缺陷视觉检测方法 Download PDF

Info

Publication number
CN112991271B
CN112991271B CN202110182120.8A CN202110182120A CN112991271B CN 112991271 B CN112991271 B CN 112991271B CN 202110182120 A CN202110182120 A CN 202110182120A CN 112991271 B CN112991271 B CN 112991271B
Authority
CN
China
Prior art keywords
aluminum profile
defect
anchor frame
detection
yolov3
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.)
Active
Application number
CN202110182120.8A
Other languages
English (en)
Other versions
CN112991271A (zh
Inventor
杨延西
孙俏
张东坤
匡益
刘磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN202110182120.8A priority Critical patent/CN112991271B/zh
Publication of CN112991271A publication Critical patent/CN112991271A/zh
Application granted granted Critical
Publication of CN112991271B publication Critical patent/CN112991271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30136Metal

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Abstract

本发明公开的基于改进yolov3的铝型材表面缺陷视觉检测方法,包括以下步骤:采集铝型材表面缺陷原始图像并进行预处理和标注得到铝型材缺陷数据集,基于铝型材缺陷数据集选择出具有代表性的锚框并构建和训练改进yolov3目标检测模型,利用改进yolov3目标检测模型获得待检测铝型材表面缺陷的类别和位置信息。本发明基于改进yolov3的铝型材表面缺陷视觉检测方法,通过在原始yolov3网络的基础上修改多尺度预测网络部分的结构、针对铝型材表面缺陷的尺寸分布重新设计了anchor框大小,降低了铝型材表面小目标缺陷的错检率和漏检率。

Description

基于改进yolov3的铝型材表面缺陷视觉检测方法
技术领域
本发明属于图像识别技术领域,具体涉及一种基于改进yolov3的铝型材表面缺陷视觉检测方法。
背景技术
无论是在工业领域的机械设备,还是日常生活中的工艺产品,铝型材是常用的材料之一。但在生产加工过程中,由于受设备及工艺的影响,铝型材表面往往会出现不同种类的缺陷,比如脏点、擦花等常见缺陷。这极大程度的影响铝型材的外观和使用性能。所以在铝型材生产过程中,对其表面有效地进行缺陷检测是至关重要的。
目前,铝型材表面缺陷检测主要还是以人工检测和传统机器视觉检测方式为主。人工检测方法具有准确性低、实时性差、受主观因素影响较大等缺点,因而无法满足大批量生产的需求。传统的机器视觉识别是基于传感器和图像处理算法实现表面缺陷的自动识别,往往需要研究者能够根据不同的缺陷类别设计出不同的特征提取算法,显然这样的特征构造方式缺乏鲁棒性,且适用面窄,其仍然面临着识别精度低、检测速度慢等问题,已经难以满足工业检测需求。所以如何解决铝型材表面缺陷检测的实时性以及由于铝型材表面缺陷形态复杂多变、缺陷小而造成检测难度大等问题,是铝型材表面缺陷检测的重点和难点。
近年来,基于改进yolov3的目标检测方法取得了一系列成果,主要分为两大类:two stage的目标检测算法和one stage的目标检测算法。具体来说,two stage检测算法最具有代表性的是Faster RCNN,是先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类,其在检测精度上取得了很好的效果,但是目前无法实现端对端的实时检测,所以其不能满足铝型材表面缺陷检测的实时性。one stage检测算法具有代表的是Yolo系列,不同于two stage的目标检测算法采用“两步检测”的方式,其是不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。Yolo系列最具有代表性的是yolov3,主要借鉴了FPN网络的多尺度预测从而提高了对于小目标的检测,同时加深了网络从而提高了检测精度,且在速度上明显优于Fater RCNN。同时这些目标检测方法的应用在工业检测领域得到了极大的发展。如徐秀等人设计了一套Faster R-CNN的表面缺陷检测系统,较好的解决了圆柱形金属表面缺陷检测能力弱的问题。文生平等人基于改进的Gaussian-Yolov3对铝型材表面缺陷进行检测,其平均精度达到88.85%,检测时间可以达到27.8ms,可见这一方法具有较强的实用性。陈坤等人相对于原始Faster RCNN模型,采用改进算法在铝型材表面缺陷检测上取得较好的效果,其检测准确率可达到78.9%,召回率达到85.6%。可见相对于传统的表面缺陷检测方法,基于改进yolov3的表面缺陷检测在精度上和速度上有着很大的提升。
基于以上分析,利用yolov3作为基础网络对铝型材表面缺陷进行检测,但由于铝型材表面个别类别缺陷尺寸较小,目标包含的特征信息少,在使用yolov3算法检测时,存在漏检率高,检测精度低的问题,需要进一步改进yolov3网络,使网络更加有利于铝型材表面缺陷检测。
发明内容
本发明的目的在于提供一种基于改进yolov3的铝型材表面缺陷视觉检测方法,降低了铝型材表面小目标缺陷的错检率和漏检率。
本发明所采用的技术方案是:基于改进yolov3的铝型材表面缺陷视觉检测方法,包括以下步骤:
步骤1、采集铝型材表面缺陷原始图像;
步骤2、对步骤1中得到的铝型材表面缺陷原始图像进行预处理并标注,得到铝型材缺陷数据集;
步骤3、通过K-means聚类算法对步骤2得到的铝型材缺陷数据集真实边界框进行聚类,根据聚类结果选择出具有代表性的锚框;
步骤4、构建改进的yolov3网络结构,在步骤3的锚框下基于步骤2所得铝型材缺陷数据集训练检测模型;
步骤5、利用步骤4所得检测模型对铝型材表面缺陷进行检测并输出铝型材表面缺陷的类别和位置信息。
本发明的特点还在于,
步骤1中采集到的图像分辨率大小为2560×1920,采集到的图像缺陷包括不导电、擦花、角位漏底、桔皮、漏底、喷流、漆泡、起坑、杂色和脏点等十类缺陷。
步骤2具体包括以下步骤:
步骤2.1、从缺陷类别个数与缺陷尺度两方面对铝型材表面缺陷原始图像进行统计分析;
步骤2.2、根据分析结果对铝型材表面缺陷原始图像依次进行伽马矫正、高斯滤波以及锐化的图像增强操作;
步骤2.3、对图像增强后的铝型材表面缺陷图像依次进行水平或垂直翻转、镜像的数据增强操作;
步骤2.4、对数据增强后的铝型材表面缺陷图像进行类别与缺陷位置的标注得到数据集,再将数据集按8:2的比例划分为训练集和测试集。
步骤3具体包括以下步骤:
步骤3.1、获取步骤2.4中标注后的图像所有缺陷尺寸,从中随机选取k个值作为初始的锚框centroid;
步骤3.2、计算某一缺陷尺寸box与每个锚框centroid的距离,将这个缺陷尺寸box分类给距离最小的锚框centroid,对于每个缺陷尺寸box做同样的操作,记录属于每个锚框centroid的缺陷尺寸box;
步骤3.3、计算每个锚框centroid中缺陷尺寸box的宽高均值大小,将计算结果作为相应锚框centroid的新尺寸;
步骤3.4、重复步骤3.2和步骤3.3,直到所有的缺陷尺寸box的分类不再更新,采用最后得到的锚框centroid与每个缺陷尺寸box计算IOU值,对于每个缺陷尺寸box选取其最高的IOU值,求取所有缺陷尺寸box的最高IOU值平均值即AvgIOU;
步骤3.5、分别取k为1~12进行步骤3.1-步骤3.4操作并选择k为9时所得的锚框centroid,得到的代表性锚框尺寸为(168×36)(416×72)(416×24);(88×75)(416×164)(72×25);(24×31)(7×7)(13×12)。
步骤4具体包括以下步骤:
步骤4.1、构建改进的yolov3目标检测网络结构,在多尺度融合网络部分修改yolov3网络的检测尺度模块,增加其网络在大尺度特征层的检测输出;
步骤4.2、在步骤4.1多尺度融合网络部分中的不同特征层中分别引入对应的SPP单元,并对SPP单元做出对应的调整;
步骤4.3、在步骤3.5得到的代表性锚框下基于步骤2.4所得数据集训练检测模型。
步骤4.1中构建的改进yolov3目标检测模型,输入图像尺寸经过整个yolov3网络结构,最终输出3个不同尺寸的特征图Y1、Y2和Y3,依次表示原图的1/32、1/16和1/8,具体步骤如下:
步骤4.1.1、在Darknet-53的第74层之后经过Convolutional Set和两层卷积之后得到13×13的特征图Y1;
步骤4.1.2、特征图Y1的前两层卷积层经过上采样与Darknet-53的第61层的结果进行张量拼接,再经过Convolutional Set和两层卷积之后得到26×26的特征图Y2;
步骤4.1.3、特征图Y2的前两层卷积层经过上采样与Darknet-53中的第11层进行张量拼接,将上采样步长大小设置为4,再经过Convolutional Set和两层卷积之后得到104×104的特征图Y3。
步骤4.2具体包括以下步骤:
步骤4.2.1、在步骤4.1.1得到特征图Y1之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.2、将步骤4.2.1得到的三个局部特征与步骤4.2.1中的第三个卷积层进行张量拼接,得到第四个卷积层;
步骤4.2.3、在步骤4.1.2得到特征图Y2之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.4、将步骤4.2.3得到的三个局部特征与步骤4.2.3中的第三个卷积层进行张量拼接,得到第四个卷积层。
步骤4.2.5、在步骤4.1.3得到特征图Y3之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.6、将步骤4.2.5得到的三个局部特征与步骤4.2.5中的第三个卷积层进行张量拼接,得到第四个卷积层。
本发明的有益效果是:本发明一种基于改进yolov3的铝型材表面缺陷视觉检测方法,通过在原始yolov3网络的基础上修改多尺度预测网络部分的结构、针对铝型材表面缺陷的尺寸分布重新设计了anchor框大小,降低了铝型材表面小目标缺陷的错检率和漏检率。
附图说明
图1是本发明基于改进yolov3的铝型材表面缺陷视觉检测方法的流程图;
图2是本发明基于改进yolov3的铝型材表面缺陷视觉检测方法中步骤2的铝型材缺陷数据集制作流程图;
图3是发明基于改进yolov3的铝型材表面缺陷视觉检测方法中步骤3的铝型材样本表面缺陷标签分布图;
图4是发明基于改进yolov3的铝型材表面缺陷视觉检测方法中AVgIOU随k的取值变化曲线示意图;
图5是发明基于改进yolov3的铝型材表面缺陷视觉检测方法中选择的9个代表性锚框示意图;
图6是现有yolov3整体网络框架示意图;
图7是现有Darknet-53引入Resnet的残差块结构Residual示意图;
图8是现有Darknet-53中的Convolutional结构示意图;
图9是发明基于改进yolov3的铝型材表面缺陷视觉检测方法中的多尺度预测网络图;
图10是本发明种基于改进yolov3的铝型材表面缺陷视觉检测方法中的SPP模块图;
图11(a)是本发明实施例提供的使用yolov3网络误检铝型材表面漆泡的检测效果图;
图11(b)是本发明实施例提供的使用yolov3网络漏检铝型材表面脏点的检测效果图;
图11(c)是本发明实施例提供的铝型材表面缺陷视觉检测模型对漆泡的检测效果图;
图11(d)是本发明实施例提供的铝型材表面缺陷视觉检测模型对脏点的检测效果图。
具体实施方式
下面结合附图以及具体实施方式对本发明进行详细说明。
本发明提供了一种基于改进yolov3的铝型材表面缺陷视觉检测方法,如图1所示,包括下列步骤:
步骤一、采集铝型材表面缺陷原始图像,图片分辨率大小为2560×1920,总计十类缺陷即不导电、擦花、角位漏底、桔皮、漏底、喷流、漆泡、起坑、杂色和脏点。
步骤二、对铝型材表面缺陷原始图像进行预处理操作并标注,得到铝型材表面缺陷数据集。数据集制作的流程图,如图2所示。
在卷积神经网络模型的训练过程中,图像的质量将会直接影响特征提取的难度,从而影响目标检测的结果。为了尽可能减少图像的亮度、对比度与噪声等各种因素对图像的干扰,以及样本过少和缺陷类别不平衡导致检测效果差的问题。需采用图像增强、数据增强等操作对原始数据集进一步处理。
由于深度学习对训练样本的数量要求比较大,而且包含类别标签的铝型材数据集获取困难,所以对现有的数据集进行统计分析,主要从缺陷类别个数与缺陷尺度两方面进行分析,发现脏点类缺陷目标小且数量居多,擦花类缺陷形态复杂多变,尺度差异大并且各缺陷类别不平衡,如图3所示为缺陷尺度分布图。为了把功能强大的深度学习技术应用到规模相对较小的数据集的训练中,同时又需要缓解网络的过拟合问题,通常需要扩充数据量。根据对已有的数据分析,本发明对铝型材表面缺陷原始图像进行水平或垂直翻转、镜像,同时采用多尺度补丁训练策略对样本数据进行扩充。
图像增强技术可以针对性的突出图像中感兴趣的特征,优化图像的品质,使其检测和识别的结果更加理想。为了改善铝型材表面缺陷图像对比度不足,本发明采用伽马矫正和高斯滤波对其进一步处理。
图像经过平滑降噪后,边缘和轮廓信息会变得不清晰,为了消除这种现象,本发明借助锐化方法对平滑降噪后的图像进一步操作,恢复其边界和轮廓信息。最常用的图像锐化模板是拉普拉斯算子。为了使瑕疵边界和轮廓的特征信息得到恢复且图像的信噪比更高,本发明使用八邻域拉普拉斯算子对经过平滑去噪过的缺陷图像进行锐化操作。
为了提高网络模型的泛化能力,本发明在训练集中加入无缺陷的铝型材图像作为负样本,并利用上述同样的方法扩充负样本数量和正样本数量相同,并组合在一起。
最终对数据集进行类别与缺陷位置的标注,再将数据集按8:2的比例划分为训练集和测试集。其中训练集用于训练改进的yolov3网络,得到权重文件;测试集用于测试改进的yolov3网络的检测效果。
步骤三、通过K-means聚类算法对步骤二得到的最终样本数据集真实缺陷尺寸进行聚类,根据聚类结果选择出具有代表性的锚框。
yolov3目标检测算法是通过K-means聚类来获得初始锚框,锚框选择的好坏是对检测结果尤为重要的,好的锚框会使检测精度提高。yolov3网络一开始的锚框选择是基于COCO数据集而言的,但是COCO数据集聚类出的锚框大小并不能满足铝型材表面缺陷尺寸要求。如图3为铝型材表面缺陷尺寸的分布,可见铝型材表面缺陷含有小目标较多,并且有大量的条形缺陷,因此需要利用K-means聚类算法重新对铝型材数据集的真实缺陷尺寸进行聚类,根据聚类结果选择出具有客观性和代表性的锚框。
在对铝型材数据集进行聚类分析时采用AvgIOU(平均交并比)作为聚类结果的好坏的评判标准,AvgIOU值越高说明聚类效果越好。聚类的平均交并比目标函数p可由以下公式(1)表示:
上式中b表示真实的目标框,c表示聚类中心,mk表示第k个聚类中样本的个数,m表示样本总个数,k表示聚类中心个数,i和j分别表示样本序号和簇类中的样本序号。其中IIOU表示真实框和预测框交集面积和并集面积的比值,见式(2)。
在yolov3网络中,聚类算法是通过距离公式计算边框之间的相似度,距离公式见公式(3)。
d(box,centroid)=1-IIOU(box,centroid) (3)
上式中d(box,centroid)表示标签到聚类中心的距离,其中box表示缺陷矩形框大小,centroid表示一个簇中心矩形框的大小,二者尺寸越相似,聚类距离就越小。
聚类中心个数为k,在所有的缺陷尺寸中随机选取k个值作为初始的锚框centroid。
计算某一缺陷尺寸box与每个centroid的距离,见公式(3),将这个缺陷分类给距离最小的centroid,对于每个缺陷做同样的操作,最后记录下每个centroid有哪些box属于它。
然后对于每个centroid中的box,计算他们的宽高均值大小,将这一结果作为该centroid的新尺寸,如下公式(4)所示:
重复上述两步操作,直到所有的box的分类不再更新。使用最后得到的centroid与每个box计算IOU值,对于每个box选取其最高的那个IOU值,然后求取所有box该IOU值的平均值即AvgIOU,见公式(1)所示。
分别取k为1~12对铝型材表面缺陷数据集进行聚类分析,随着簇个数的增加,AVgIOU越来越高,随之增长率也不断减小,如图4所示。考虑到计算效率与准确率的平衡,同时为了使产生的先验锚框平均分配到3个预测尺度,本发明仍然选择9个先验锚框。新的锚框尺寸为:(168×36)(416×72)(416×24);(88×75)(416×164)(72×25);(24×31)(7×7)(13×12),如图5所示。
步骤四、搭建改进的yolov3网络结构,基于步骤二所得数据集和步骤三所得新的锚框尺寸进行模型的训练。
yolov3网络以含有残差块的Darknet-53网络作为特征提取网络,并借鉴FPN网络采用多尺度的检测方式实现目标的检测。yolov3整体网络框架如图6所示。
对于卷积神经网络来说,特征提取网络的设计是极其重要的,在前向传播过程中,特征图尺寸变换是通过改变卷积核的步长来实现的。如Size=3×3/2,意思是3×3的卷积核步长为2,这样可实现将图像大小缩小一半。同时,Darknet-53也引入了Resnet的残差块结构Residual,如图7所示。采用Resnet的残差块设计,能保证网络结构在很深的情况下,解决了梯度消失的问题,并且提高了特征的复用。此外,残差中1×1卷积大大减少了计算量。其中Darknet-53中Convolutional层是yolov3的基本构成单元也就是卷积、批归一化(BN)和Leaky ReLu,如图8所示。
对于大多数卷积神经网络而言,经过特征提取之后,特征缩小了很多倍,并拿最后一层的feature map作为最终的特征,这就有可能造成一些小尺寸目标信息丢失。yolov3在检测小尺寸目标方面借鉴了FPN的思想,对于不同尺寸的目标通过多尺度预测的方式来实现。如图6右半部分所示,输入图像尺寸以416×416×3为例,经过整个yolov3网络结构,最终输出3个不同尺寸的特征图Y1,Y2和Y3,分别表示原图的1/32,1/16,1/8。主要实现过程是在74层之后经过Convolutional Set和两层卷积之后得到13×13的特征图,该特征图感受野大,对于大尺度的目标检测较为合适。而后该结构经过上采样与第61层的结果进行concat(张量拼接),之后经过Convolutional Set和两层卷积之后得到26×26的特征图,该特征图对于中等尺度的目标检测效果较好。最后该结果经过上采样与第36层结果进行concat,再经过Convolutional Set和两层卷积之后得到52×52的特征图,该特征图的感受野较小所以对于小目标的检测效果较好。采用多尺度特征融合来对不同尺寸的目标分别检测,从而提高了模型对小目标的检测能力。
虽然yolov3在检测小尺寸目标方面借鉴了FPN的思想,但铝型表面缺陷小目标较多,现有的多尺度仍存在一定的局限性,为此需对yolov3网络进一步改进。本发明将Y2经过上采样得到的特征图与Darknet-53中的第11层进行concat,如图9所示,改变了原先的与第36层连接,而此时concat仍要保持尺度一样,对此在上采样时将步长设置为4,才能达到与第11层一样的尺寸,这样做的可以使yolov3网络结构更好地适应铝型材表面缺陷检测场景中目标普遍较小的情况,进而提高模型的检测准确率。
同时,铝型材表面缺陷存在尺度差异大的情况,对此检测部分分别在三个尺度中的Convolutional Set中加入SPP模块,该模块借鉴了空间金字塔的思想,可通过SPP模块实现局部特征和全局特征融合,丰富了特征图的表达能力,有利于检测图像中目标尺寸差异较大的情况。SPP模块网络结构图如图10所示。yolov3中的SPP模块是由四个并行的分支构成,以输出特征图Y1为例,分别是卷积核大小为5×5、9×9、13×13的最大池化和一个跳跃连接,重新concat起来传到下层卷积层中。
待网络搭建好之后,将训练集输入改进的yolov3网络进行训练,然后保存其权重文件,并在测试集上测试改进yolov3算法性能。
步骤五、利用步骤四所得模型对铝型材表面缺陷进行检测并输出铝型材表面缺陷的类别和位置信息。
结果分析
为了准确且有效地对检测算法的性能进行评价,本发明以常用的精确率P(Precision)、召回率R(Recall)作为评价指标。精确率P和召回率R的计算公式可以通过式(5)和式(6)来计算。
式中,TP表示模型正确检测出来的目标数量;FP表示模型误检的目标数量;FN表示模型没有检测到的目标数量。
为了更好的体现模型的准确性,在目标检测领域引入平均精度AP(AveragePrecision)的概念,平均精度从召回率和精确率两个方面评价网络的准确性,适合于单个种类的检测评价,其量化方式就是计算Precision-recall曲线下所包含的面积,通常AP值越高,意味着该模型的分类效果越好。AP常用的计算方式为11piont法,首先在数据集中找到最大的11个精确率值,将数据得分由高到低排序,计算相应的召回率和精确率,然后选取召回率R={0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}一共11个点,绘制出P-R曲线,通过式(7)计算出AP。
式中x表示当前召回率下11个最大预测值其中的一个元素。
对每一类缺陷需要计算其AP,再计算它们的均值得到平均精度均值mAP(meanAverage Precision)。如式(8)所示。
式中C为类别数目,APi为第i类的平均精度。
用来测试的数据集中共有770个目标,分别使用原yolov3算法和改进后的yolov3算法对测试集进行检测,分别计算他们的P和R,与原yolov3算法相比,改进后的yolov3对铝型材表面缺陷的漏检和误检数量均明显下降,检测P达到90%,提高了7.4%,R达到了88.3%,提升了5.8%;改进后的yolov3算法的mAP均值提升了6.48%,达到90.6%,说明改进后的yolov3算法具有更好的检测性能。原yolov3与改进后的yolov3的检测结果如表1所示。
表1
其中漆泡与脏点的平均精度值较低,且二者的检测存在很大的误检和漏检,可以看出相比较于原yolov3网络,本发明改进后的yolov3网络分别对漆泡和脏点进行检测时,平均准确率都有了不同程度的提升,漆泡的检测AP值从56.72%提升到了91.41%,脏点的检测AP值从30.59%提升到37.24%。更直观的检测效果提升可以通过不同网络检测结果图看到。其他类别的AP值见表2所示。
表2
图11(a)为yolov3检测的效果图,可看出该模型对漆泡有错检发生,而改进的yolov3网络避免了这种情况的发生,如图11(c)所示。图11(b)为yolov3对脏点发生漏检情况,而本发明改进的网络避免了漏检发生,检测效果如图11(d)所示。对于其他类型的缺陷,本发明提出的算法在精度上也有一定的提高。综上所述本发明的改进算法从一定程度上降低了错检和漏检的情况。

Claims (5)

1.基于改进yolov3的铝型材表面缺陷视觉检测方法,其特征在于,包括以下步骤:
步骤1、采集铝型材表面缺陷原始图像;
步骤2、对步骤1中得到的铝型材表面缺陷原始图像进行预处理并标注,得到铝型材缺陷数据集;
步骤3、通过K-means聚类算法对步骤2得到的铝型材缺陷数据集真实边界框进行聚类,根据聚类结果选择出具有代表性的锚框;具体包括以下步骤:
步骤3.1、获取步骤2.4中标注后的图像所有缺陷尺寸,从中随机选取k个值作为初始的锚框centroid;
步骤3.2、计算某一缺陷尺寸box与每个锚框centroid的距离,将这个缺陷尺寸box分类给距离最小的锚框centroid,对于每个缺陷尺寸box做同样的操作,记录属于每个锚框centroid的缺陷尺寸box;
步骤3.3、计算每个锚框centroid中缺陷尺寸box的宽高均值大小,将计算结果作为相应锚框centroid的新尺寸;
步骤3.4、重复步骤3.2和步骤3.3,直到所有的缺陷尺寸box的分类不再更新,采用最后得到的锚框centroid与每个缺陷尺寸box计算IOU值,对于每个缺陷尺寸box选取其最高的IOU值,求取所有缺陷尺寸box的最高IOU值平均值即AvgIOU;
步骤3.5、分别取k为1~12进行步骤3.1-步骤3.4操作并选择k为9时所得的锚框centroid,得到的代表性锚框尺寸为(168×36)(416×72)(416×24);(88×75)(416×164)(72×25);(24×31)(7×7)(13×12);
步骤4、构建改进的yolov3网络结构,在步骤3的锚框下基于步骤2所得铝型材缺陷数据集训练检测模型;具体包括以下步骤:
步骤4.1、构建改进的yolov3目标检测网络结构,在多尺度融合网络部分修改yolov3网络的检测尺度模块,增加其网络在大尺度特征层的检测输出;
步骤4.2、在步骤4.1多尺度融合网络部分中的不同特征层中分别引入对应的SPP单元,并对SPP单元做出对应的调整;
步骤4.3、在步骤3.5得到的代表性锚框下基于步骤2.4所得数据集训练检测模型;
步骤5、利用步骤4所得检测模型对铝型材表面缺陷进行检测并输出铝型材表面缺陷的类别和位置信息。
2.如权利要求1所述的基于改进yolov3的铝型材表面缺陷视觉检测方法,其特征在于,所述步骤1中采集到的图像分辨率大小为2560×1920,采集到的图像缺陷包括不导电、擦花、角位漏底、桔皮、漏底、喷流、漆泡、起坑、杂色和脏点等十类缺陷。
3.如权利要求1所述的基于改进yolov3的铝型材表面缺陷视觉检测方法,其特征在于,所述步骤2具体包括以下步骤:
步骤2.1、从缺陷类别个数与缺陷尺度两方面对铝型材表面缺陷原始图像进行统计分析;
步骤2.2、根据分析结果对铝型材表面缺陷原始图像依次进行伽马矫正、高斯滤波以及锐化的图像增强操作;
步骤2.3、对图像增强后的铝型材表面缺陷图像依次进行水平或垂直翻转、镜像的数据增强操作;
步骤2.4、对数据增强后的铝型材表面缺陷图像进行类别与缺陷位置的标注得到数据集,再将数据集按8:2的比例划分为训练集和测试集。
4.如权利要求1所述的基于改进yolov3的铝型材表面缺陷视觉检测方法,其特征在于,所述步骤4.1中构建的改进yolov3目标检测模型,输入图像尺寸经过整个yolov3网络结构,最终输出3个不同尺寸的特征图Y1、Y2和Y3,依次表示原图的1/32、1/16和1/8,具体步骤如下:
步骤4.1.1、在Darknet-53的第74层之后经过Convolutional Set和两层卷积之后得到13×13的特征图Y1;
步骤4.1.2、特征图Y1的前两层卷积层经过上采样与Darknet-53的第61层的结果进行张量拼接,再经过Convolutional Set和两层卷积之后得到26×26的特征图Y2;
步骤4.1.3、特征图Y2的前两层卷积层经过上采样与Darknet-53中的第11层进行张量拼接,将上采样步长大小设置为4,再经过Convolutional Set和两层卷积之后得到104×104的特征图Y3。
5.如权利要求4所述的基于改进yolov3的铝型材表面缺陷视觉检测方法,其特征在于,所述步骤4.2具体包括以下步骤:
步骤4.2.1、在步骤4.1.1得到特征图Y1之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.2、将步骤4.2.1得到的三个局部特征与步骤4.2.1中的第三个卷积层进行张量拼接,得到第四个卷积层;
步骤4.2.3、在步骤4.1.2得到特征图Y2之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.4、将步骤4.2.3得到的三个局部特征与步骤4.2.3中的第三个卷积层进行张量拼接,得到第四个卷积层;
步骤4.2.5、在步骤4.1.3得到特征图Y3之前的Convolutional set中的第三个卷积层,分别经过步长大小5、9、13的最大池化操作,得到三个局部特征;
步骤4.2.6、将步骤4.2.5得到的三个局部特征与步骤4.2.5中的第三个卷积层进行张量拼接,得到第四个卷积层。
CN202110182120.8A 2021-02-08 2021-02-08 基于改进yolov3的铝型材表面缺陷视觉检测方法 Active CN112991271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110182120.8A CN112991271B (zh) 2021-02-08 2021-02-08 基于改进yolov3的铝型材表面缺陷视觉检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110182120.8A CN112991271B (zh) 2021-02-08 2021-02-08 基于改进yolov3的铝型材表面缺陷视觉检测方法

Publications (2)

Publication Number Publication Date
CN112991271A CN112991271A (zh) 2021-06-18
CN112991271B true CN112991271B (zh) 2024-02-02

Family

ID=76392911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110182120.8A Active CN112991271B (zh) 2021-02-08 2021-02-08 基于改进yolov3的铝型材表面缺陷视觉检测方法

Country Status (1)

Country Link
CN (1) CN112991271B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486764B (zh) * 2021-06-30 2022-05-03 中南大学 一种基于改进的YOLOv3的坑洼检测方法
CN113409314B (zh) * 2021-08-18 2021-11-12 南京市特种设备安全监督检验研究院 高空钢结构腐蚀的无人机视觉检测与评价方法及系统
CN113901932A (zh) * 2021-10-13 2022-01-07 山东大学 融合人工鱼与粒子群算法的工程机械图像识别方法及系统
CN116385430A (zh) * 2023-05-26 2023-07-04 浙江视觉智能创新中心有限公司 一种机器视觉瑕疵检测方法、装置、介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104767A1 (zh) * 2017-11-28 2019-06-06 河海大学常州校区 基于深度卷积神经网络与视觉显著性的织物缺陷检测方法
CN110660052A (zh) * 2019-09-23 2020-01-07 武汉科技大学 一种基于深度学习的热轧带钢表面缺陷检测方法
CN111612784A (zh) * 2020-06-01 2020-09-01 南通大学 一种基于分类优先yolo网络的钢板表面缺陷检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104767A1 (zh) * 2017-11-28 2019-06-06 河海大学常州校区 基于深度卷积神经网络与视觉显著性的织物缺陷检测方法
CN110660052A (zh) * 2019-09-23 2020-01-07 武汉科技大学 一种基于深度学习的热轧带钢表面缺陷检测方法
CN111612784A (zh) * 2020-06-01 2020-09-01 南通大学 一种基于分类优先yolo网络的钢板表面缺陷检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
封学勇 ; .基于深度学习的两阶段目标检测方法及其在表面缺陷检测中的应用.自动化应用.2020,(第08期),全文. *
文生平 ; 李超贤 ; .基于Gaussian-yolov3的铝型材表面缺陷检测.计算机测量与控制.2020,(第09期),全文. *

Also Published As

Publication number Publication date
CN112991271A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112991271B (zh) 基于改进yolov3的铝型材表面缺陷视觉检测方法
CN113450307B (zh) 一种产品边缘缺陷检测方法
CN111402226A (zh) 一种基于级联卷积神经网络的表面疵点检测方法
CN110660052A (zh) 一种基于深度学习的热轧带钢表面缺陷检测方法
CN111223093A (zh) 一种aoi缺陷检测方法
CN111047655B (zh) 基于卷积神经网络的高清摄像机布料疵点检测方法
CN111383209A (zh) 一种基于全卷积自编码器网络的无监督瑕疵检测方法
CN110853015A (zh) 基于改进Faster-RCNN的铝型材缺陷检测方法
CN109615604B (zh) 基于图像重构卷积神经网络的零件外观瑕疵检测方法
CN112037219A (zh) 一种基于两阶段卷积神经网络的金属表面缺陷检测方法
CN113469951B (zh) 一种基于级联区域卷积神经网络的轮毂缺陷检测方法
CN110009622B (zh) 一种显示面板外观缺陷检测网络及其缺陷检测方法
CN114612472B (zh) 一种基于SegNet改进的皮革缺陷分割网络算法
CN111382785A (zh) 一种gan网络模型及实现样本自动清洗、辅助标记的方法
CN109859199B (zh) 一种sd-oct图像的淡水无核珍珠质量检测的方法
CN116612106A (zh) 一种基于yolox算法的光学元件表面缺陷检测方法
CN111291806A (zh) 一种基于卷积神经网络工业产品标签号的识别方法
CN114627383A (zh) 一种基于度量学习的小样本缺陷检测方法
CN114743102A (zh) 一种面向家具板材的瑕疵检测方法、系统及装置
CN114910480A (zh) 一种基于机器视觉的晶圆表面缺陷检测方法
CN112258470B (zh) 基于缺陷检测的工业图像临界压缩率智能分析系统及方法
CN114972216A (zh) 一种纹理表面缺陷检测模型的构建方法及其应用
CN115272225A (zh) 一种基于对抗学习网络的带钢表面缺陷检测方法及系统
CN115205255A (zh) 基于深度学习的石料自动分级方法与系统
CN116205876A (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