CN113096098B - 基于深度学习的铸件外观缺陷检测方法 - Google Patents
基于深度学习的铸件外观缺陷检测方法 Download PDFInfo
- Publication number
- CN113096098B CN113096098B CN202110401364.0A CN202110401364A CN113096098B CN 113096098 B CN113096098 B CN 113096098B CN 202110401364 A CN202110401364 A CN 202110401364A CN 113096098 B CN113096098 B CN 113096098B
- Authority
- CN
- China
- Prior art keywords
- defect
- detection
- training
- deep learning
- 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.)
- Active
Links
- 230000007547 defect Effects 0.000 title claims abstract description 154
- 238000001514 detection method Methods 0.000 title claims abstract description 105
- 238000005266 casting Methods 0.000 title claims abstract description 25
- 238000013135 deep learning Methods 0.000 title claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000004519 manufacturing process Methods 0.000 claims abstract description 25
- 230000002950 deficient Effects 0.000 claims abstract description 18
- 238000013136 deep learning model Methods 0.000 claims abstract description 14
- 238000003062 neural network model Methods 0.000 claims abstract description 5
- 238000004512 die casting Methods 0.000 claims abstract description 4
- 238000003754 machining Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 claims description 2
- 238000002372 labelling Methods 0.000 claims description 2
- 238000004140 cleaning Methods 0.000 claims 1
- 238000005520 cutting process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract 1
- 238000007689 inspection Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 235000013372 meat Nutrition 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000000007 visual effect 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
- 230000002411 adverse Effects 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005495 investment casting Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis 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/08—Learning methods
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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
-
- 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)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种基于深度学习的铸件外观缺陷检测方法,属于汽车压铸件的缺陷检测场景的领域。首先,通过图像采集模块来对流水线上的缺陷工件进行图像的采集,并对图像中的缺陷部分进行标注制作成数据集;接着,在云端对深度学习模型进行训练,并将训练好的神经网络模型下放到边缘服务器上。在进行实际检测的时候,通过图像采集模块来对流水线上的工件进行图像的采集,并将图片通过5G网络传输到边缘端服务器上部署的深度模型上,经过模型的计算后,在通过5G网络将结果反馈到终端服务器端进行结果的显示。本发明主要用于铸件生产线上铸件在机加工后的外观缺陷检测中;能够以较高的检测效率和较低的劳动力获得较高的缺陷检测的准确率。
Description
技术领域
本发明属于汽车压铸件外观缺陷检测领域,尤其是基于深度学习的自动生产线中的缺陷检测领域,涉及一种基于深度学习的铸件外观缺陷检测方法。
背景技术
产品的表面缺陷检测是视觉缺陷检测的一个重要部分,其检测的准确程度直接会影响产品最终的质量优劣。在制造机械零部件的过程中,压铸的铝铸件有可能存在各种缺陷,具体包括气孔、气泡、缩孔、缺肉和冷隔等缺陷,这些导致对设备运行安全的威胁,精密铸件的缺陷检测尤为重要。早期的人工检测或半自动检测的方法难以满足现代工艺生产制造的高效需求。工序检测多依靠人工处理,成本高,效率低。人工检查或半自动监测,生产线检查的劳动力量很大,效率低,缺乏一致性的检测品质,检测效率不稳定及作业成本较高。而利用视觉缺陷检测很好地克服了这一点。
在工业界,传统的数字图像处理在一些相对简单的任务上已经能够在很大的程度上减轻人们的劳动力,比如说在螺纹的漏加工上和孔的漏加工上等缺陷检测的任务中。在这些任务中,传统的数字图像处理方法已经能够达到接近百分之百的准确率了,能够达到完全替代人类进行工作的目的了。但是,这种技术方法只能适用于相对简单的缺陷检测任务上,对于铸件缺陷检测这种相对比较复杂的任务上,传统的数字图像处理方法并不能达到工厂所要求的工业级别。
目前,随着计算机、人工智能等科学技术的出现和发展,深度学习及其发展的产品已经得到了广泛的应用,比如:目标识别、无人驾驶、航空航天等领域。随着深度学习在其他领域的应用的成功,深度学习也逐渐在工业界应用起来。在工业界,缺陷检测就是一个应用前景非常的领域。应用于工业界的深度学习的缺陷检测方法相对于传统的方法在复杂的环境和多目标场景中具有更高的鲁棒性和准确性。同时,将深度学习与5G相结合,能够在工厂内到达实时的缺陷检测的效果。
发明内容
目前在制造机械零部件的过程中,有可能存在各种缺陷比如说缺肉、裂纹、冷隔、气孔等缺陷导致对设备运行安全的威胁,因此汽车精密零部件的缺陷检测尤为重要。当前制造业汽车零部件产品瑕疵缺陷的检查,多是人工检查或半自动检测,生产线检查工人的劳动量很大,效率低,误检率高,极大地抑制了生产效率,质检对质量控制和产能都产生了很大不良影响。本发明的主要目的是为了减轻生产线检查工人的劳动量、提高检测的效率、降低缺陷检测的误检率,提供了一种基于深度学习和5G相结合的铸件外表面缺陷检测方法。
为了达到上述目的,本发明采用的技术方案为:
一种基于深度学习的铸件外观缺陷检测方法,包括以下步骤:
所述的训练阶段主要包括以下几个步骤:
(1)在实际生产线上搭建图像获取模块,选择的工位在铸件机加工的最后一道工序—清洗后。在此工位上,将相机和镜头布置在相机支架上。在实际的应用中,当待检测的工件经过清洗之后,机械臂抓取该工件后将该工件放置到相机前进行图像的获取。通过图像获取模块在生产线上捕获缺陷压铸件的图片,并将缺陷图片保存到电脑终端,通过图像采集模块获得800张缺陷图片。
进一步的,本发明选取的相机是AVT5200型号,选择的打光方式是同轴光。然后按照实际情况在产线中布置好相机、镜头和光源,搭建起图像获取模块。通过图像获取模块,在工厂的生产线上一共收集到800张图片,具体包括缺肉缺陷250张,气孔缺陷250张,缩孔缺陷180张,冷隔缺陷120张。
(2)对所获取的缺陷图片进行数据增强,主要包括对图像的旋转、平移、翻转、对称、对比度改变等一系列的变化,以此来增强训练后模型的鲁棒性和泛化性能。同时也对图片的对比度变、亮度等特征进行了变化,并且在某些图片中还进行了模糊,增加噪声等操作来增加模型的泛化能力,防止模型产生过拟合的现象。经过对所获得的800张缺陷图片进行数据增强后,最终获得了2500张缺陷图片。
(3)采用Imglabel软件对所步骤(2)得到的缺陷图片的缺陷部位进行缺陷标注,将图片中的带有缺陷的部位用矩形框框住,同时保存了缺陷的位置和类别信息作为真实值,这些真实值在训练过程中会作为参考值而被使用,最终获得用于模型训练的数据集;
(4)对标注后获得的数据集中矩形框的大小进行进行kmeans聚类操作,根据kmeans的操作结果来对RefineAtt中锚点的大小进行更改,进而来选择适合本数据集的anchor值的大小,使得该网络模型更适用于该缺陷图片数据集。
进一步的,训练阶段步骤(4)中,采用Kmeans算法对数据集中的目标的大小进行聚类处理,来获得适用于本数据集的锚点大小值和长宽比;同时为了能够提高对小物体的检测的召回率,对锚点的铺设方式进行了重新的设计,在原本的相邻的4个锚点中间新增了一个新的锚点,来提高锚点和待检测物体的iou值,进而提高小缺陷检测的召回率。
(5)将步骤(4)标注好的数据集上传到云端服务器,同时将目前广泛用于工业领域的深度学习模型RefineAtt迁移到云端,并通过标注好的数据集对深度学习模型进行训练,在训练的过程中监测损失函数大小的变化情况,在损失函数几乎不发生变化时将最终训练后的权重系数保存下来。
进一步的,训练阶段步骤(5)中,由于铸件背景十分复杂,对检测会造成巨大的干扰,为了能够使得神经网络能够更多的关注图片中的缺陷部分,本发明在原本的模型后增加了注意力机制,即增加了ATT模块;使得神经网络在训练的时候可以更多的关注图片中存在缺陷的区域,提高检测的准确率。在训练的开始阶段,设定学习率为0.0001,批大小设定为16,并且采用学习率衰减策略,每迭代40000iterations学习率变为初始学习率的0.1倍;在训练的过程中不断监测损失函数的变化以及验证集的准确率,当损失函数的大小和验证集的准确率不在发生变化时,保存训练好的权重系数。由于背景信息会对小型缺陷的检测造成干扰;在该步骤中采用一种对比训练的策略;在收集缺陷的同时,收集数量相当的无缺陷图片,在训练的时候让网络结构对比学习,降低背景信息对检测的干扰。
在一个具体是实施方案中:
在上述(4)中,本发明针对缺陷的大小分布,具体如图2所示,根据缺陷目标的分布大小,采用kmeans算法来对其进行聚类操作,经过聚类操作后得到锚点的大小依次为14.8、30.2、63.1和130.0,而为了能够到达均匀铺排锚点的目的,选取Conv4_3、Conv5_3、Conv_fc7和Conv_fc6的锚点的大小依次为16、32、64和128。但是为了提高对小目标的的召回率,本论文对Conv4_3卷积层上的锚点进行了重新的设计,具体设计方式如图3所示。原始的锚点设计是在以每个锚点为中心,在锚点的周围设计长度和长宽比不同的锚点。而本论文在彼此相邻的四个像素点中间在设置一个长宽比为1的锚点。从图中可以看出,当待检测物体的大小和锚点的大小较为接近的时候,在(a)中锚点与待检测物体间的iou大小为A1,在图b中锚点和待检测物体间的iou为A2,可以很明显的看出A2>A1,因此经过锚点的改进可以很明显的提高小物体的召回率。
针对小目标的检测,通过背景信息的帮助往往能够达到较好的检测效果。但是背景信息对于缺陷检测来说,效果往往会适得其反。这是因为缺陷检测的时候,待检测的工件的位置是固定不变的,同时由于缺陷的部位相对较小,因此经过训练后的模型在进行检测的时候,由于背景信息的存在往往会将良品错误的判断为缺陷件。为了解决上述这个问题,该步骤中采用了一种对比训练的策略。除了采集上述的缺陷图片外,又采取了相当数量的无缺陷的图片作为了新增的一类。在训练的时候,神经网络通过2类有无缺陷的对比的学习,可以很好的解决背景信息带来的干扰。
在上所述(5)的RefineAtt深度学习模型是是以Refinedet网络为基础的,该算法主要包括4大模块,分别为ARM、ODM、TCB和ATT模块。ARM模块主体采用的是VGG16,将VGG16后面的2个全连接层去掉,更改为conv_fc6和conv_fc7,并在其后面增加了2层卷积层。ODM模块主要功能是为了能够充分利用高层的语义信息,并采用了特征金字塔的思想。ODM模块主要的功能是对来自ARM模块的存在物体的锚点进行具体的分类和进一步的位置回归。由于铸件表面背景十分复杂,对模型的检测回造成很大的影响。因此,在网络的最后阶段整合了attention机制,增添了一个ATT模块。具体如图4所示,从图中可以看出,对于输入图片来说,首先进行最大池化操作,接着使用全连接层来使通道数量降低,经过relu操作后,将通道数量恢复,并通过Sigmoid操作来获得各个通道间的权重系数,在将该系数和输入图片进行乘积来使网络结构更加注重图片中缺陷部位,从而减少复杂背景的干扰。
所述的在工厂的环境中进行缺陷检测阶段的步骤主要如下:
(1)将基于收集的缺陷图片训练好的深度学习模型部署在云端服务器上,具体的:客户端和服务器端采用的通信方式是基于flask的client/server的部署模式,将训练好的模型加载到云端服务器上,作为我们要进行访问的server,并且通过电脑终端的client发送请求,就可以进行缺陷的检测。
(2)在进行缺陷检测开始之前,首先需要打开云端服务器并在服务器上加载训练好的深度学习模型;此步骤是可以明显的节省缺陷检测的时间无需在每次检测的时候加载一次模型。
(3)在工厂现场通过图像获取模块采集流水线上的待检测工件的表面图片,并将其保存在本地上;
(4)利用5G的低延时和高带宽等优点,将从工业相机获取的图片通过5G网络由电脑终端上传到云端服务器上;由于工业相机拍摄的缺陷照片所占的存储空间很大,因此通过5G的传输能够达到实时的效果。
进一步的,所述缺陷检测阶段中的步骤(4)中:客户端和服务器端采用的通信方式是基于flask的client/server的部署模式,将训练好的模型加载到云端服务器上,作为后续进行访问的server,并且通过电脑终端的client发送请求,进行缺陷检测。
(5)所述云端服务器接受到来自终端的请求时,云端的服务器接受由终端上传来的图片,并将该图片输入到训练好的神经网络模型中,通过神经网络模型的运算得到该图片的检测结果;具体为:
所述云端平台接受终端传来的请求后,会对来自终端的图片进行处理,并将来自终端的图片传输到神经网络中去。在神经网络中,首先是通过backbone对所输入的图片进行特征的提取;接下来是对所获取的特征图进行信息的整合,即将低层的特征图和高层的特征图进行融合,来提高最终检测的准确率。这是因为低层的特征图中的语义信息较低,但是保存着比较细节的特征,而高层的特征图中具有更高的语义信息,但是细节的特征较少。通过这样的特征融合,可以将低、高的语义信息相结合,能够明显的提高检测的准确率。在神经网络的最后一段就是最终的结果的输出,包括类别以及该类别的位置坐标。
进一步的,所述缺陷检测阶段中的步骤(5)中:由于在实际的生产车间中,各种类型的缺陷的数量是及其不平衡的,不同缺陷类型的数量甚至可能达到10倍以上,由于上述原因该类型缺陷是不能进行训练和检测的,为了能够解决上述问题,本发明提出了一种基于深度学习与数字图像处理相结合的铸件外观缺陷检测方法,该方法首先通过深度学习方法确定出缺陷可能发生的位置,并将该位置截取出来,并进一步使用数字图像处理技术来对该区域进行最后的识别处理。
(6)在云服务器上获取的检测结果通过5G网络反馈到电脑终端;检测结果包括缺陷类别和位置坐标。
(7)电脑终端接受云服务器的检测结果并在电脑终端显示出来,其中缺陷类别和位置坐标在电脑终端中将该缺陷的具体位置框选出来,并最终显示在客户端交互界面上来指导工人的操作。但是,由于工厂内对缺陷检测的准确率要求在99.99%以上,为了满足工厂的实际应用的需要,将最终的检测结果设置为以下三种,分别为:OK、NO和待检测。设定的原则是:当图片输入到神经网络后获得的置信度大于0.85时判定为有缺陷的,当置信度处于0.4至0.65时判定为待检测,当置信度低于0.4时判定为无缺陷。通过上述的设置,我们可以满足工厂对准确率的要求。
在上述步骤5中,由于在实际的生产车间中,各种类型的缺陷的数量是及其不平衡的,不同缺陷类型的数量甚至可能达到10倍以上,由于上述原因该类型缺陷是不能进行训练和检测的,为了能够解决上述问题,本发明提出了一种基于深度学习与数字图像处理相结合的铸件外观缺陷检测方法,具体的流程图如图9所示。该方法首先通过深度学习方法确定出缺陷可能发生的位置,并将该位置截取出来,并进一步使用数字图像处理技术来对该区域进行最后的识别处理。
同时,由于缺陷部位在整张图片中所占的比例较小,在经过下采样后,缺陷部位可能已经消失,因此无法达到检测的目的。因此,为了能够提高缺陷部位在整张图片中所占的比例,本发明采取了将整张图片分割为2x2的小图片,在对每张小图片依次进行缺陷的检查,以此来提高缺陷检测的准确率。
本发明的有益效果是:
本发明相对于传统的缺陷检测算法,避免了手动的提取特征的工作。同时,本发明对于缺陷部分相对较小等难检测的情况时具有更好的识别效果,同时由于工厂内的光照变化较大,对缺陷检测会带来较大的影响,对于这种情况,我们在数据采集和数据增强时通过改变光照的强度,能够使得光照对缺陷检测的影响的降到最小,因此本算法具有更高的鲁棒性和泛化性能。综上可见,本算法很好的统筹了缺陷的检测速度和准确率。
附图说明
图1为缺陷检测系统图;
图2为缺陷目标大小分布图;
图3为Conv 4_3层锚点的设计;
图4为ATT模块的具体形式;
图5为RefineAtt模型结构图;
图6为算法检测的效果图,其中(a)为多肉缺陷;(b)为缩孔缺陷;(c)为缺肉缺陷;(d)为气孔缺陷;
图7为训练时损失函数变化曲线;
图8为客户端交互界面;
图9为深度学习与数字图像处理相结合的流程图。
具体的实施方式
为了更加详细的阐述本发明的技术方案和技术特点,将结合下面的附图来进行详细的说明。本方案的结构简单,在工厂的环境下即插即用。同时在光照变化明显,并且环境较恶劣的工厂的环境下针对相对较小的铸件缺陷能够很好的识别效果。
接下来将结合以下附图来对本发明进行进一步的阐述:
(一)方法的概述:
如下图1所示为本方法的总体流程图,从本发明的流程图上可以看出,本方法主要分为2大阶段和3大模块。2大阶段分别为训练阶段和最终的检测阶段,3大模块分别是图像获取模块、图像传输模块和缺陷检测模块。对于训练阶段,首先通过图像获取模块对流水线上的缺陷工件进行拍照来获取缺陷图片,并将其存储在电脑终端。在获取到一定量的缺陷照片后,对缺陷图片进行数据增强来增加训练后模型的泛化性能。在本发明中,经过数据增强后的照片数量为2500张,并将图片按照8:1:1的比例划分为训练集、验证集和测试集。获取数据后对图片进行标注,在标注后将数据上传到云端服务器。本发明采用的是RefineAtt算法,如图5所示。RefineAtt深度学习模型是是以Refinedet网络为基础的,该算法的主体模块采用的是SSD,同时为了能够充分利用高层的语义信息,并采用了特征金字塔的思想。由于铸件表面背景十分复杂,对模型的检测会造成很大的影响。因此,在网络的最后阶段整合了attention机制,增添了一个ATT模块。具体如图4所示。在进行预测时,本算法采用了简单的逻辑回归进行分类发明并通过回归来获得缺陷的位置坐标。在云端服务器上配置RefineAtt的训练环境,并根据数据集来对模型进行训练。在训练的过程中实时的检测损失函数以及验证集准确率的大小变化趋势,待损失函数的大小和验证集的准确率不在发生明显的变化时,将训练后的训练权重保存下来。同时,为了满足工厂内实时性检测的目的,将训练好的深度学习模型下放到边缘测端,使得缺陷检测的速度受网络的影响相对较小,检测效率更高。在进行缺陷检测阶段,首先需要通过图像获取模块对铸件的外表面进行图像的获取,并将图像通过图像传输模块上传到边缘服务器端,在边缘服务器端接收到有电脑终端上传的图片后,便将该图片上传到深度学习网络中进行缺陷的检测,获得检测的结果以及缺陷的位置坐标。然后将该缺陷检测的结果通过图像传输模块回传到电脑终端进行最终结果的显示。若检测的结果为存在缺陷,则边缘服务器会将存在缺陷的结果上传到云端服务器,并对该检测结果进行备份,用于最终结果的溯源。
(二)数据的准备:
通过图像获取模块对流水线上的缺陷图片进行拍照,采集的缺陷类型主要包括以下几种,分别为:气孔缺陷、缩孔缺陷、冷隔缺陷、漏加工缺陷和缺肉缺陷等。
采集系统的硬件部分主要包括光源、相机、镜头、光源控制器等。在采集图片时,通过机械臂末端携带工件运动到相机前的指定位置,进行图片的获取。通过图像获取模块,一共获取到800张缺陷图片。
由于气孔和缺肉等缺陷所占面积非常小,所以我们采用对原图进行分割的2×2个小区块的方法,增大缺陷在整张图中所占的比例,进而来提高缺陷检测的准确率。为了提高模型的泛化能力,本发明对所获取的图片进行了几何方面的数据增强和像素方面的数据增强。几何方面包括对原照片进行平移、旋转、对称等操作。并且对图片进行像素级的操作,包括对图像进行模糊、对比度增强以及亮度变化等操作。因此本发明对每张图片进行对称、旋转90度和180度操作,同时对图片进行了模糊和增加噪声等像素级的图像增强。经过数据增强经过数据增强后,所获取的图片总数为2500张。在获取到缺陷图片后,使用标注工具Labelimg对缺陷图片进行标注,通过标注获取到缺陷在整张图片中具体位置信息。经过标注后会获取到一个后缀名为.xml的标注文件,这些标注信息是在训练过程中会作为参考值而被使用。
(三)模型的训练
对标注后数据集进行kmeans操作,根据kmeans的操作结果来对锚点的大小进行更改,进而来选择适合本数据集的anchor值的大小,该方法明显可以提高小缺陷的召回率,同时对Conv4_3上的锚点进行了重新设计,在4个相邻的锚点中间增添一个锚点,来提高对小目标检测的召回率。
将原始图像和标注文件上传到云端,同时将训练模型部署在云端,在云端对模型进行训练。深度学习网络在进行训练过程中是通过不断的迭代使损失函数减少进而来不断优化模型的。在训练的过程中采用的框架时Pytorch,CUDA版本为10.0,CUDNN版本为7.6。同时,我们采用随机梯度下降法来训练我们的深度学习模型,深度学习模型在进行训练过程中是通过不断的迭代使损失函数减少进而来不断优化模型的,而损失函数主要包括两部分,分别是类别损失和位置损失两部分。
在训练的开始阶段,设定的学习率为0.0001,批大小设定为16,并且采用学习率衰减策略,每迭代40000iterations学习率变为初始学习率的0.1倍。在训练的过程中我们不断监测损失函数的变化以及验证集的准确率,在迭代次数达到120000左右后,损失函数的大小和验证集的准确率不在发生变化,此时将训练好的权重系数保存下来。
由于背景信息的存在,对缺肉等小型缺陷的检测往往会造成干扰。为了解决该问题,在该步骤中采用了一种对比训练的策略。在收集缺肉缺陷的同时,收集数量相当的无缺陷图片,在训练的时候让网络结构对比学习,可以较好的降低背景信息对检测的干扰。
(四)模型的部署及检测:
客户端和服务器端采用的通信方式是基于flask的client/server的部署模式,将训练好的模型加载到云端服务器上,作为我们要进行访问的server,并且通过电脑终端的client发送请求,便可以进行缺陷的检测。
本发明将模型部署在边缘服务器上,而不是云端的服务器上。这是因为边缘计算是将数据的处理、应用程序的运行,甚至一些功能服务的实现,由中心服务器下放到网络边缘的节点上,也就是说就是将需要低延迟的计算机程序放在更接近请求的位置,从而降低了传输成本,缩短了延迟并提高了服务质量。当电脑终端箱服务器发送请求时,服务器接收到请求后将接收到的图片进行分割,分割程2×2个小图片,依次对该4个小图片进行缺陷的检测。由于在实际的生产车间中,各种类型的缺陷的数量是及其不平衡的,不同缺陷类型的数量甚至可能达到10倍以上,由于上述原因该类型缺陷是不能进行训练和检测的,为了能够解决上述问题,本发明提出了一种基于深度学习与数字图像处理相结合的铸件外观缺陷检测方法。具体流程图如图9所示。
(五)数据的传输:
在检测阶段,首先需要通过5G将图像获取模块采集的图片信息上传到云端服务器上,等待在服务器进行缺陷的检测;同时在服务器端对传入的照片检测后需要将检测的结果通过5G传输反馈到电脑终端上,这也是图像传输模块的主要的功能。
(六)缺陷检测的结果展示:
电脑终端接受到云端传来的缺陷类别和位置坐标后,便会在电脑终端中将该缺陷的具体位置框选出来,并最终显示在客户端交互界面上来指导工人的操作。但是,由于工厂内对缺陷检测的准确率要求在99.99%以上,我们为了满足工厂的实际应用的需要,我们将最终的检测结果设置为以下三种,分别为:OK、NO和待检测。我们设定的原则是当图片输入到神经网络后获得的置信度大于0.85时判定为有缺陷的,当置信度处于0.4至0.65时判定为待检测,当置信度低于0.4时判定为无缺陷。通过上述的设置,我们可以满足工厂对准确率的要求。
(七)实际操作步骤:
将该系统集成到生产的流水线上的最后一道工序上,工作人员在开始使用时,需要通过点击打开相机按钮来打开相机。在工件放置好后,通过点击开始检测按钮进行检测操作,检测结果可以通过显示界面展示出来。最终检测结果的显示主要包括三个结果,分别为绿色的“OK”,红色的“NG”,以及黄色的“待检测”,具体如图5所示。在流水线上经过1000件样件的检测,我们系统检测的准确率可以达到95%以上。具体的检测结果如3所示。通过将系统和工人的共同检测可以满足工厂内的缺陷检测要求,同时也大大减轻了工人们的工作强度。
以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。
Claims (5)
1.一种基于深度学习的铸件外观缺陷检测方法,其特征在于,主要包括模型的训练阶段和最终的检测阶段:
所述的训练阶段主要包括以下几个步骤:
步骤1:在实际生产线上搭建图像获取模块,选择的工位在铸件机加工的最后一道工序—清洗工序后;在此工位上,将相机和镜头布置在相机支架上;在实际的应用中,当待检测的工件经过清洗之后,机械臂抓取该工件后将该工件放置到相机前进行图像的获取;通过图像获取模块在生产线上捕获缺陷压铸件的图片,并将缺陷图片保存到电脑终端,通过图像采集模块获得800张缺陷图片;
步骤2:对所获取的800张缺陷图片进行数据增强后,获得2500张缺陷图片;
步骤3:采用Imglabel软件对所步骤(2)得到的缺陷图片的缺陷部位进行缺陷标注,获得用于模型训练的数据集;
步骤4:对标注后获得的数据集进行kmeans聚类操作,根据kmeans的操作结果来对锚点的大小进行更改,进而选择适合本数据集的anchor值的大小;
步骤5:将步骤(4)标注好的数据集上传到云端服务器,同时将已用于工业领域的深度学习模型RefineAtt迁移到云端,并通过标注好的数据集对深度学习模型进行训练,在训练的过程中监测损失函数大小的变化情况,在损失函数几乎不发生变化时将最终训练后的权重系数保存下来;
在工厂的环境中进行缺陷检测阶段的步骤主要如下:
步骤1:将基于收集的缺陷图片训练好的深度学习模型由云端服务器端下放到在边缘服务器上;
步骤2:在进行缺陷检测开始之前,首先需要打开边缘服务器并在服务器上加载训练好的深度学习模型;
步骤3:在工厂现场通过图像获取模块采集流水线上的待检测工件的表面图片,并将其保存在本地上;
步骤4:利用5G的低延时和高带宽优点,将从工业相机获取的图片通过5G网络向服务器终端发送请求;
步骤5:边缘端服务器接受到来自终端的请求时,边缘测的服务器接受由终端上传来的图片,将该图片输入到训练好的神经网络模型中,通过神经网络模型的运算得到该图片的检测结果;
步骤6:在云服务器上获取的检测结果通过5G网络反馈到电脑终端;检测结果包括缺陷类别和位置坐标;
步骤7:电脑终端接受云服务器的检测结果并在电脑终端显示出来。
2.根据权利要求1所述的一种基于深度学习的铸件外观缺陷检测方法,其特征在于,所述训练阶段步骤(4)具体为:
采用Kmeans算法对数据集中的目标的大小进行聚类处理,来获得适用于本数据集的锚点大小值和长宽比;同时对锚点的铺设方式进行重新的设计,在原本相邻的4个锚点值中间增加一个锚点,来提高对小型缺陷检测的召回率。
3.根据权利要求1所述的一种基于深度学习的铸件外观缺陷检测方法,其特征在于,所述训练阶段步骤(5)具体为:
在原本的模型后增加注意力机制,即增加了ATT模块;使得神经网络在训练的时候可以更多的关注图片中存在缺陷的区域,提高检测的准确率;
在训练的开始阶段,设定学习率为0.0001,批大小设定为16,并且采用学习率衰减策略,每迭代40000iterations学习率变为初始学习率的0.1倍;在训练的过程中不断监测损失函数的变化以及验证集的准确率,当损失函数的大小和验证集的准确率不在发生变化时,保存训练好的权重系数;
由于背景信息会对小型缺陷的检测造成干扰;在该步骤中采用一种对比训练的策略;在收集缺陷的同时,收集数量相当的无缺陷图片,在训练的时候让网络结构对比学习,降低背景信息对检测的干扰。
4.根据权利要求1所述的一种基于深度学习的铸件外观缺陷检测方法,其特征在于,所述缺陷检测阶段中的步骤(4)具体为:
客户端和服务器端采用的通信方式是基于flask的client/server的部署模式,将训练好的模型加载到云端服务器上,作为后续进行访问的server,并且通过电脑终端的client发送请求,进行缺陷检测。
5.根据权利要求1所述的一种基于深度学习的铸件外观缺陷检测方法,其特征在于,所述缺陷检测阶段中的步骤(5)具体为:首先通过深度学习方法确定出缺陷可能发生的位置,将该位置截取出来,并进一步使用数字图像处理技术来对该位置进行最后的识别处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110401364.0A CN113096098B (zh) | 2021-04-14 | 2021-04-14 | 基于深度学习的铸件外观缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110401364.0A CN113096098B (zh) | 2021-04-14 | 2021-04-14 | 基于深度学习的铸件外观缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113096098A CN113096098A (zh) | 2021-07-09 |
CN113096098B true CN113096098B (zh) | 2024-01-05 |
Family
ID=76677482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110401364.0A Active CN113096098B (zh) | 2021-04-14 | 2021-04-14 | 基于深度学习的铸件外观缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113096098B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269780B (zh) * | 2021-07-21 | 2021-11-09 | 江苏中科云控智能工业装备有限公司 | 基于深度学习的压铸件表面缺陷测量系统 |
CN113870342A (zh) * | 2021-08-19 | 2021-12-31 | 广州超音速自动化科技股份有限公司 | 外观缺陷检测方法、智能终端以及存储装置 |
CN113838015B (zh) * | 2021-09-15 | 2023-09-22 | 上海电器科学研究所(集团)有限公司 | 一种基于网络协同的电器产品外观缺陷检测方法 |
CN114235845B (zh) * | 2021-11-19 | 2024-08-20 | 东莞理工学院 | 用于注塑件产品缺陷检测的机构、系统及方法 |
CN114113109A (zh) * | 2021-11-26 | 2022-03-01 | 科士恩智能科技(上海)有限公司 | 一种自动化和智能化的汽车仪表台缺陷检测方法 |
CN114820443B (zh) * | 2022-03-18 | 2024-05-07 | 重庆大学 | 一种基于迁移学习的边缘检测方法 |
CN115138598A (zh) * | 2022-05-16 | 2022-10-04 | 格力电器(武汉)有限公司 | 一种pcb焊接生产线智能分拣系统 |
CN114708266A (zh) * | 2022-06-07 | 2022-07-05 | 青岛通产智能科技股份有限公司 | 一种卡片缺陷的检测工装、方法、装置以及介质 |
CN115456652B (zh) * | 2022-09-29 | 2023-06-20 | 广东格林精密部件股份有限公司 | 一种基于人工智能的精密注塑件不良品的溯源方法 |
CN115825118B (zh) * | 2022-11-18 | 2023-09-12 | 华中科技大学 | 一种铸件x射线探伤装备的自动评片集成系统及方法 |
CN115841460A (zh) * | 2022-11-21 | 2023-03-24 | 国网湖北省电力有限公司超高压公司 | 一种复杂背景下高精度金具裂纹图像检测及特征提取方法 |
CN115810014B (zh) * | 2023-02-07 | 2023-05-16 | 菲特(天津)检测技术有限公司 | 一种基于图片中子图块的电极帽端面缺陷检测方法 |
CN117710377B (zh) * | 2024-02-06 | 2024-05-24 | 中国科学院长春光学精密机械与物理研究所 | 一种基于深度学习算法的cmos的缺陷检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
CN111415329A (zh) * | 2020-02-20 | 2020-07-14 | 广州中国科学院先进技术研究所 | 一种基于深度学习的工件表面缺陷检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818326B (zh) * | 2017-12-11 | 2018-07-20 | 珠海大横琴科技发展有限公司 | 一种基于场景多维特征的船只检测方法及系统 |
-
2021
- 2021-04-14 CN CN202110401364.0A patent/CN113096098B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
CN111415329A (zh) * | 2020-02-20 | 2020-07-14 | 广州中国科学院先进技术研究所 | 一种基于深度学习的工件表面缺陷检测方法 |
Non-Patent Citations (3)
Title |
---|
A vision inspection system for the surface defects of strongly reflected metal based on multi-class SVM;ZHANG W et al.;Expert systems with Applications;第38卷(第5期);全文 * |
一种基于改进Faster RCNN的金属材料工件表面缺陷检测与实现研究;代小红;陈华江;朱超平;;表面技术(第10期);全文 * |
基于深度学习语义分割的导光板缺陷检测方法;柳锋;李俊峰;戴文战;;计算机系统应用(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113096098A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113096098B (zh) | 基于深度学习的铸件外观缺陷检测方法 | |
US20200357109A1 (en) | Method for detecting display screen quality, apparatus, electronic device and storage medium | |
US11380232B2 (en) | Display screen quality detection method, apparatus, electronic device and storage medium | |
CN111784685B (zh) | 一种基于云边协同检测的输电线路缺陷图像识别方法 | |
CN110992317B (zh) | 一种基于语义分割的pcb板缺陷检测方法 | |
CN111325713A (zh) | 基于神经网络的木材缺陷检测方法、系统及存储介质 | |
CN111754498A (zh) | 一种基于YOLOv3的传送带托辊检测方法 | |
CN111815564B (zh) | 一种检测丝锭的方法、装置及丝锭分拣系统 | |
CN112837282A (zh) | 一种基于云边协同和深度学习的小样本图像缺陷检测方法 | |
CN112164048B (zh) | 一种基于深度学习的磁瓦表面缺陷自动检测方法和装置 | |
CN112347887A (zh) | 一种物体检测方法、物体检测装置及电子设备 | |
CN114764770A (zh) | 晶圆检测方法、装置、设备及存储介质 | |
CN114332086A (zh) | 基于风格迁移和人工智能的纺织品缺陷检测方法及系统 | |
CN115330734A (zh) | 一种基于三维目标检测和点云缺陷补全的自动化机器人补焊系统 | |
CN115797314B (zh) | 零件表面缺陷检测方法、系统、设备及存储介质 | |
JP7429756B2 (ja) | 画像処理方法、装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN113177528A (zh) | 基于多任务学习策略训练网络模型的车牌识别方法及系统 | |
CN116310903A (zh) | 识别光伏组件故障类型的方法、装置及电子设备 | |
CN116071315A (zh) | 一种基于机器视觉的产品可视缺陷检测方法及系统 | |
CN116342536A (zh) | 基于轻量化模型的铝带材表面缺陷检测方法、系统及设备 | |
CN109256341B (zh) | 用于检测单晶硅太阳能电池的方法和装置 | |
CN118053027A (zh) | 一种缺陷识别方法、装置、电子设备及存储介质 | |
CN109003268B (zh) | 一种超薄柔性ic基板外观颜色检测方法 | |
US20220222810A1 (en) | Wafer detection method, device, apparatus, and storage medium | |
CN117541554B (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 |