掌桥专利:专业的专利平台
掌桥专利
首页

一种工业品视觉检测方法及系统

文献发布时间:2024-04-18 20:01:23


一种工业品视觉检测方法及系统

技术领域

本公开涉及工业品检测,尤其涉及一种工业品视觉检测方法及系统。

背景技术

传统的工厂中,工业产品缺陷检测依靠于人工肉眼判断,这不仅要求工人熟悉产品的所有缺陷类型,并且还对工人的体力是一种极大地考验;由于人工检测速度慢,所以需要大量的人工来完成工业产品的质量检查;并且传统人工质检不依赖于计算机,导致缺陷的数量等数据无法进一步统计,这使得工业制造无法准确的获得制造工艺的问题。随着人工智能的不断发展,工业产品缺陷智能检测已成为工厂备受关注的新发展方向。

现有工业产品检测技术主要有两种检测方式。一种是采用基于目标检测方法对工业产品图像特征进行提取检测,比如使用Faster-RCNN算法进行特征提取与缺陷判断。但该方案不仅需要对数据进行大批量的缺陷标注,而且检测时间长,无法满足工业检测速度的要求。另一种是采用于机器视觉和模式识别的方法对工业产品图像特征进行提取检测,首先预处理模块采用大津阈值法和形态学处理的方法将检测区域从背景中提取出来,再用灰度投影分布异常检测和时频域模板匹配对产品物件间距进行分析。但该方法需要单独对同类不同形态的产品进行模板匹配,适用性差。

发明内容

针对上述现有技术,本发明所解决的技术问题至少包括:

(1)对数据集要求高,需要高精度标注的数据集支撑模型训练,才能检测缺陷在图像的具体位置。

(2)模型检测缺陷效率低。

(3)无法灵活处理不同尺度大小的数据。

(4)传统图像方法进行处理,需对每种工业产品建立模板库。

为解决上述技术问题,本发明的目的在于:

(1)不需要对工业品图像中的缺陷进行位置标注,降低模型对数据标注的密集性要求。

(2)在没有精标注的图像上,可由模型推断出缺陷在图像中的位置信息。

(3)降低检测模型对送检数据的长宽比例要求,使得检测装置更改拍摄图像大小后,对检测结果精度影响变小。

(4)使检测速度快、检测精度高。

为实现上述目的,本发明的技术方案如下。

第一方面,本发明提出了一种工业品视觉检测方法,所述方法包括下述步骤:

将工业品的待检测图像划分为若干子图像,并使相邻子图像具有设定数目的重叠长度,使子图像具有序列关联性;

利用预设的第一模型,获取待检测图像对应的多个子图像的图像特征;

利用预设的第二模型,用于基于子图像的图像特征获取子图像的分类特征,所述分类特征包括子图像的图像特征和序列关联特征,并根据每个分类特征采用注意力机制获取软注意力;

基于软注意力和属于同一检测图像的分类特征获取融合特征,对产品进行分类。

在上述技术方案中,通过将待检测图像进行重叠性分割处理获得若干子图像,一方面降低图像大小对检测结果精度的影响,另一方面使子图像具有序列关联特征。将各个子图输入第一模型,获得各个子图像的图像特征。将各个子图像的图像特征输入第二模型,通过第二模型从子图像的图像特征中获取子图像的分类特征,该分类特征既具有原子图像的图像特征,又具有前一子图像的序列关联特征。通过注意力机制,提高对有缺陷区域的关注。本发明方法不仅能够检测到子图像中工业产品的缺陷,而且能够检测到跨子图像的缺陷,实现对产品图像中的缺陷检测不需要进行位置标注,就能达到检测速度快、检测精度高的效果,降低模型对数据标注的密集性要求。

在上述技术方案中,所述子图像通过滑窗方式获取,从而使子图像大小满足模型输入要求,同时使得产品图像不会因扭曲影响缺陷的检测准确性。具体为,将待检测图像记作x,则第t个子图像x

x

式中:d表示窗口长度,b表示窗口的重叠长度,符号:表示从图像x中裁切,像素值的范围为从(d-b)×(t-1)到d。

在上述技术方案中,所述第一模型为残差网络模型,从而使较小的层叠模块,就能提取到能够用于分类的图像特征。

在上述技术方案中,所述第二模型为RNN、长短期记忆网络(LSTM)或门控循环单元(GRU),有利于提取子图像序列的序列特征。

在上述技术方案中,所述软注意力采用下式计算:

将第t个子图像对应的软注意力记作a

h

h

式中:

在上述技术方案中,基于软注意力和属于同一检测图像的分类特征获取融合特征,对工业品进行分类,包括:

将融合特征记作C,则:

/>

基于融合特征,对工业品所属类别的概率进行计算:

将概率最大值对应的分类作为待检测图像中工业品的分类;

其中,K为工业品的种类,W

在上述技术方案中,所述第一模型、第二模型通过损失值反向传播更新模型参数,以减少训练时间,并提高两个模型的稳定性。其中,总损失值通过下式计算:

L=λL

式中:L为总损失值,λ为正则系数,L

在上述技术方案中,所述正则项的一种获取方式为:正则项是第一模型参数向量和第二模型参数向量的L2范数的平方。

在上述技术方案中,所述第一模型在训练阶段输入的图像经过增强处理;所述增强处理包括随机翻转、随机遮挡、随机旋转。增强处理在实施时,可以任选其中的一项或多项组合,通过数据增强处理以便在少量的数据上训练,就能得到通用的特征信息。

第二方面,本发明提出一种工业品视觉检测系统,将上述任一方法应用于工业品视觉检测中,能够提高对产品缺陷的检测效率。所述系统包括外部集成子系统、分类检测器、数据库;

所述外部集成子系统,被配置用于调用消息中心系统以及接收消息中心系统的反馈,所述消息中心系统被配置用于控制机器系统的启动,所述控制机器系统统被配置用于控制电机、相机、工业品所在的传送带的启动,以获取工业品的待检测图像;

所述分类检测器,被配置用于将工业品的待检测图像划分为若干子图像,并使相邻子图像具有设定数目的重叠长度;利用预设的第一模型,获取待检测图像对应的多个子图像的图像特征;利用预设的第二模型,用于基于子图像的图像特征获取子图像的分类特征,并根据每个分类特征采用注意力机制获取软注意力;基于软注意力和属于同一检测图像的分类特征获取融合特征,对产品进行分类;

所述数据库,被配置用于存储待检测图像和该待检测图像的分类结果。

在上述系统技术方案中,能够灵活处理不同尺度大小的图像数据,而且不需要高精度标注就能得到较好的训练模型,提高工业品的缺陷检测效率。

第三方面,本发明提出一种计算机可读存储介质,存储有能够被处理器加载并执行上述任一种方法的计算机程序。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1、一个实施例中的检测系统结构图;

图2、一个实施例中的检测流程示意图;

图3、一个实施例中的检测系统内部结构图;

图4、一个实施例中的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明方法作可实现为一种分类检测器,对工业品有无缺陷进行分类,集成于质检系统中,质检系统如图1所示。系统运行时,如图2所示,工人输入待检产品信息以启动机器,包括使初始化前端显示。待检产品信息由消息中心系统发送到质检系统,质检系统从外部信息系统获取检测信息,如工业品的材质、类型、尺寸、颜色等。同时,消息中心系统控制机器控制系统和工业摄像机拍摄工业品图像。机器控制系统包括电机,机器控制系统收到拍照信号后,电机根据预设定的速度带动传送带,进而传送带连同产品在检测机器中顺序经过工业相机拍摄区域进行拍照采集数据。每当电机带动传送带经过预设定的长度后,电机暂停运行并由消息中心系统发出信号给工业相机进行拍照,以此往复对多个产品拍照采集图像数据。工业品图像被发送到质量检验系统的智能模型调度引擎,通过智能模型调度引擎从多示例融合学习框架中选择合适的模型进行质量检测,获得检测结果。质量检查算法返回检测结果发送给消息中心系统,消息中心系统控制记录或停止的机器。质量检测系统将待检测图像和该待检测图像的分类结果存储到外部存储系统,外部存储系统将检测分类结果存储到数据库中,为方便检索和管理,设置两个数据库,一个图像数据库用于存储待检测图像,另一个结果数据库用于存储待检测图像的分类结果。外部存储系统将检测结果在前端显示。上述流程的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程添加一个或多个其他操作,或可以从流程中移除一个或多个操作。

在多示例融合学习框架中,集成了检测各种工业品的算法,包括本发明的分类检测器,以满足同类型工业品的不同检测需求,或不同类型工业品的特定检测需求。

本发明的分类检测器用于对工业品进行缺陷检测,其检测整体流程示意图如图3所示,包括下述步骤:

步骤1:将拍摄的工业品图像进行数据预处理。数据预处理包括数据采集模块、图像块生成器、数据增强模块。

步骤1-1:数据采集模块从外部存储系统中获取到待检测图像。

步骤1-2:数据采集模块将待检测图像传输给图像块生成器进行处理。图像块生成器主要是为了减少不同长宽比例尺寸对产品缺陷检测分类的影响。图像块生成器通过对待检测图像进行滑窗操作,将待检测图像按一定的步长对图像做分割采样处理。将待检测图像记作x,d表示窗口长度,b表示窗口的重叠长度,则第t个子图像x

x

式中:符号:表示从图像x中裁切,像素值的范围为从(d-b)×(t-1)到d。

如对于一张长宽为1600像素×400像素的图像,按照步长为200像素,分割长度为400像素的采样进行处理后,可以得到7张长宽为400像素×400像素的子图像,并且临近的两张图像都有200像素重叠。通过滑窗采样的处理后,使得原来待检测图像4∶1失衡的长宽比调整为1∶1均衡的长宽比。在其它实施例中,均衡的长宽比也可能为2∶1。

步骤1-3:数据增强模块主要用于缺陷检测器训练阶段,若当前为训练阶段,则对图像块分别做随机翻转、随机遮挡、随机旋转等数据增强操作,以便缺陷检测器可以在少量的数据上训练,得到通用的特征信息;若当前为检测阶段,则直接跳过该模块,将数据传输给第一模型。

步骤2:第一模型主要对待检测图像的子图像提取图像特征,第二模型对子图像的图像特征提取子图像的分类特征,并根据每个分类特征采用注意力机制获取软注意力。

在实施时,第一模型可以为残差网络,第二模型可以为RNN、长短期记忆网络(LSTM)或门控循环单元(GRU)。为了加速模型训练,提高第一模型与第二模型的稳定性,可先使用数据集ImageNet-1K来预训练第一模型,然后将预训练好的参数来初始化第一模型,用于和第二模型进行训练。

第一模型、第二模型训练时采用动态学习率,通过动态学习率以优化控制第一模型和第二模型参数的更新速度,并进一步通过损失值反向传播更新模型参数。其中,总损失值通过下式计算:

L=λL

式中:L为总损失值,λ为正则系数,λ的初值为0.1。L

式中:N为待检测图像x(i)数量;K为工业品的种类;y(i)为输入样本x(i)的真实标签;p(y

进一步采用Adam优化器优化训练过程,将学习率初始化为0.001,当误差变化率满足设定条件时,将学习率提高0.5倍。动态学习率的另一种实施方式是,每当达到第一设定训练次数后,按第一设定步长增加;当增大到设定的第一基准学习率后,每当达到第二设定训练次数后,按第二设定步长减小,直至达到第二基准学习率。通过动态学习率以优化控制第一模型和第二模型参数的更新速度。

在获取分类特征时,为了不丢失原图像特征,又能获取到前后序列关联特征,第t个子图像的分类特征h

h

式中:h

通过这种方式获得的分类特征,除了首个图不具有序列关联特征,其余图均可获得包含前一子图像的序列关联特征。上述分类特征也可以是包含当前图像(第t个子图像)与后一子图像(第t+1个子图像)的序列关联特征。即,本发明中的分类特征从当前图像的图像特征和当前图像和前一图像或后一图像的序列关联特征提取构成,若无前一图像或后一图像,分类特征只从当前图像的图像特征中提取。通过这种方式获得的分类特征,更关注缺陷区域急剧变化。

接下来,对一张待检测图像得到的多个子图像的分类特征进行注意力机制处理。由注意力机制对缺陷目标赋予更多的权重,以达到提高缺陷检测准确度的效果。将第t个子图像对应的软注意力记作a

h

h

式中:

步骤3、基于软注意力和属于同一检测图像的分类特征获取融合特征,对产品进行分类,包括:

步骤3-1、将融合特征记作C,则:

其中,a

步骤3-2、基于融合特征,对产品所属类别的概率进行计算:

其中:K为产品的种类,W

步骤3-3、将概率最大值对应的分类作为待检测图像中产品的分类。若当前为检测阶段,输出检测结果,若无缺陷则直接输出无缺陷结果;若有缺陷则输出缺陷所在子图像块的位置。

对于本实施方式中,分类的种类仅为两种,“有缺陷”和“无缺陷”。若检测结果为“无缺陷”,则质量检测系统使前端显示器的检测数量加一,并继续进行下一张图像的缺陷检测;若检测结果为“有缺陷”,则发送“有缺陷”信号给消息中心系统,前端显示器提示或显示的缺陷数量加一,同时把检测结果得到的缺陷子图像块区域在原始图像进行标注,比如通过红框标注在原始图像后,然后将标注了缺陷区域的原始图像显示在前端显示器,或者将此缺陷图像存储在外部存储系统中以待人工后续分析是否为模型误判。若消息中心系统接收到检测结果传送的“有缺陷”信号,则控制电机停止转动,控制工业相机停止拍照,暂停检测系统。同时将缺陷部位暴露在机器外以便工人进行处理。

在其它实施方式中,分类的种类可以是根据需要细分的多种。

下面实施例中以具体的工业品电感作为检测对象,但并不是说本发明的检测方法仅对电感适用,其也可以适用于其它工业品。获得的电感的图像有两组,两组图像大小均为1600像素×400像素,其中一组数据中电感的胶面颜色为蓝色,另一组数据中的电感胶面颜色为紫色。图像数据见表1,缺陷类型数据参见表2。

表1

表2

第一模型采用残差网络ResNet34神经网络模型,第二模型为RNN神经网络模型。通过滑窗操作对两组图像进行重叠性分割处理,窗口长度d=W=400,窗口的重叠长度b=200,一共有7个子图像。残差网络由两层卷积构成,卷积核大小为3×3,每层有64个卷积核,提取的特征图像维度为512,软注意力维度为256,检测结果为“无缺陷”或“有缺陷”,故产品的种类K=2。动态学习率的初值为0.001,当误差变化率满足设定条件时,动态学习率提高0.5倍。

基于上述第1组和第2组数据集,将本发明的分类检测方法和Faster C-RNN、YOLO-V5进行比较如表3所示。其中,F1、AUC和MCA为机器学习模型性能评价指标,Param(模型的参数量)、Flops(浮点运算数)是用于分析方法复杂度指标。从表3可以看出,本发明方法优于Faster R-CNN和YOLO-V5,性能优越,需要的参数少,计算量小。

表3

接下来,进行如下比较,比较的指标同样包括机器学习模型性能评价指标和分析方法的复杂度指标:

(1)Vanilla Instance Learning(VIL):将本发明方法中重叠分割待测图像的步骤替换为直接调整图像大小,其余步骤不变。以上面为例长宽为1600像素×400像素的图像为例,在VIL中,直接将其调整成长宽为400像素×400像素的子图像。

(2)Multi-instance Learning(MIL):将本发明方法中的第二模型替换为具有两层的多层感知机(MLPs)。

(3)不采用注意力机制的MIFL(woAttn)。

(4)不采用RNN的MIFL(woRNN)。

(5)降低图像数据集的分辨率(LMIFL)

表4

从上面可以看出:

(1)MIL除了Flops(浮点运算次数每秒),其它方面都优于VIL,这是由于MIL利用重叠分割没有使图像失真,是从未失真的图像中提取图像特征。至于Param,VIL和MIL几乎相同,VIL使用了全局图像特征,但MIL因需要将所有的子图像特征拼接以作判断而使用了较大的分类矩阵。然而,VIL的Flops相对MIL低很多。

(2)woAttn采用RNN来融合子图像特征,而不像MIL简单的将子图像特征拼接在一起。因此,能够把各个子图像特征进行融合很重要。

(3)通过MIL、woAttn和woRNN进行比较,可以看出注意力机制在聚合中也起了很重要的作用,它使故障检测更为精确。

(4)从表4可见,特征融合和软注意力彼此相互促进,从而使具有这两方面的MIFL表现良好的性能。

(5)从LMIFL和MIFL可以看出,尽可能提高图像系统的分辨率,能够提高缺陷辨识率。

最后,进一步检测本发明方法的泛化能力。将第1组和第2组的数据集作为一个新的组,和第1组进行对比。比较结果如表5所示。

表5

/>

从表5可以看出,训练的数据量越大,方法泛化性越好,通过颜色来使输入具有不同的模式,在不牺牲性能的情况下,也能提高方法的泛化性,从而提高检测效率。

综上,本发明方法通过将待检测图像进行重叠性分割处理获得若干子图像,一方面降低图像大小对检测结果精度的影响,另一方面使子图像具有序列关联特征;通过将当前子图像特征和前一子图像的分类特征进行融合获得当前子图像的分类特征,既不丢失当前子图像的图像特征,又能获取到前后序列关联特征。通过对获取的分类特征实施注意力机制,可提高对有缺陷区域的关注。若将本发明方法应用于缺陷检测,不仅能够检测到子图像中工业品的缺陷,而且能够检测到跨子图像的缺陷,实现对产品图像中的缺陷检测不需要进行位置标注,就能达到检测速度快、检测精度高的效果,降低模型对数据标注的密集性要求。

在另一实施例提供的一种工业品视觉检测装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。

图4为本发明实施例提供的一种电子设备的结构示意图。如图4所示,示出了适于用来实现本申请实施例的电子设备300的结构示意图。

如图4所示,电子设备300包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有设备300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。

以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口306。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。

特别地,根据本公开的实施例,上文参考图1描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述梯级水电调度模型构建方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、笔记本电脑、行动电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

作为另一方面,本申请还提供了一种存储介质,该存储介质可以是上述实施例中前述装置中所包含的存储介质;也可以是单独存在,未装配入设备中的存储介质。存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的梯级水电调度模型构建方法。

存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

技术分类

06120116551408