一种产品缺陷检测方法、装置、电子设备及存储介质与流程

文档序号:20280046发布日期:2020-04-07 15:06阅读:97来源:国知局
一种产品缺陷检测方法、装置、电子设备及存储介质与流程

本发明涉及产品缺陷检测技术领域,尤其涉及一种产品缺陷检测方法、装置、电子设备及存储介质。



背景技术:

随着信息与智能化社会的到来,工业产品和精密零件生产逐渐走向智能化生产,极大地提高了生产力,并且应用场景增多,也就催生很多相关企业,而工业产品的精密程度对于工业生产起到很重要的作用,如果有不合格的产品可能会对生产造成无法预估的影响。因此,对产品的缺陷检测变得尤为重要。

现有技术中对产品进行缺陷检测时,一般是通过人工及传统工具的观测,这样就为工人带来很多繁冗的工作量,并且精度难于保证,效率低下,对于大批量产品,浪费大量人力物力。为了提高效率,节省人力,现有技术中还提供了通过分析图像中灰度值与阈值进行比较的结构,来检测是否存在缺陷,该方法存在的问题是,只能检测表面光滑的产品是否存在缺陷,局限性较大,并且由于光线等原因,也会造成检测不准确的问题。

因此,现有技术中的产品缺陷检测方案存在检测效率和准确率较低的问题。



技术实现要素:

本发明实施例提供了一种产品缺陷检测方法、装置、电子设备及存储介质,用以解决现有技术中的产品缺陷检测方案检测效率和准确率较低的问题。

本发明实施例提供了一种产品缺陷检测方法,所述方法包括:

获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;

基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

进一步地,所述缺陷检测模型的训练过程包括:

将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像;根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差,经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。

进一步地,所述将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像包括:

将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型进行训练;

去除训练完成的所述至少两个单一检测模型的输入层和全连接层;

将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型产生的检测特征图进行合并,并传输至所述缺陷检测模型的全连接层,得到每个缺陷检测图像。

进一步地,所述至少两个单一检测模型包括inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型中的至少两个。

进一步地,所述根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差包括:

根据公式:确定每个像素点的误差;根据所述每个像素点的误差,确定模型训练误差;

式中,pt为缺陷检测图像中像素点的像素值,所述像素值为未进行二值化的像素值,y为像素点的标注信息,当y=1时表明该像素点为背景像素点,当y=0时表明该像素点为缺陷像素点,α为加权常数。

另一方面,本发明实施例提供了一种产品缺陷检测装置,所述装置包括:

输入模块,用于获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;

确定模块,用于基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

进一步地,所述装置还包括:

训练模块,用于将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像;根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差,经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。

进一步地,所述训练模块,具体用于将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型进行训练;去除训练完成的所述至少两个单一检测模型的输入层和全连接层;将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型产生的检测特征图进行合并,并传输至所述缺陷检测模型的全连接层,得到每个缺陷检测图像。

进一步地,所述至少两个单一检测模型包括inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型中的至少两个。

进一步地,所述训练模块,具体用于根据公式:确定每个像素点的误差;根据所述每个像素点的误差,确定模型训练误差;式中,pt为缺陷检测图像中像素点的像素值,所述像素值为未进行二值化的像素值,y为像素点的标注信息,当y=1时表明该像素点为背景像素点,当y=0时表明该像素点为缺陷像素点,α为加权常数。

另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。

另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。

本发明实施例提供了一种产品缺陷检测方法、装置、电子设备及存储介质,所述方法包括:获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。由于在本发明实施例中,电子设备预先训练完成有缺陷检测模型,针对待检测的产品,将包含该产品的第一图像输入到缺陷检测模型中,基于缺陷检测模型检测该产品是否存在缺陷,并输出相应的结果。本发明实施例提供的方案不需要人工干预,并且不受光线以及产品类型的影响,因此,节省了大量的人力资源,并且具备较高的检测效率和准确率。

附图说明

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

图1为本发明实施例提供的产品缺陷检测过程示意图;

图2为本发明实施例提供的inceptionresnetv2模型结构示意图;

图3为本发明实施例提供的inceptionresnetv2模型中stem部分网络结构示意图;

图4为本发明实施例提供的vgg16模型结构示意图;

图5为本发明实施例提供的densenet模型结构示意图;

图6为本发明实施例提供的resnet模型结构示意图;

图7为本发明实施例提供的resnet模型中的残差单元示意图;

图8为本发明实施例提供的缺陷检测模型结构示意图;

图9为本发明实施例提供的产品缺陷检测装置结构示意图;

图10为本发明实施例提供的电子设备结构示意图。

具体实施方式

下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例1:

图1为本发明实施例提供的产品缺陷检测过程示意图,该过程包括以下步骤:

s101:获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型。

s102:基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

本发明实施例提供的产品缺陷检测方法应用于电子设备,该电子设备可以是具备模型训练和图像处理能力的pc、平板电脑等设备。电子设备中保存有预先训练完成的缺陷检测模型,其中,在训练缺陷检测模型的过程中,选取不同的缺陷数据,数据尽量不要完全相同,这样可以增加缺陷检测模型的丰富度,更有利于提取相关特征,提高缺陷检测模型的准确性。

针对待检测的产品,图像采集设备采集该待检测产品的图像,在本发明实施例中,将包含待检测产品的图像作为第一图像。图像采集设备将第一图像发送至电子设备,电子设备获取到包含待检测产品的第一图像后,将第一图像输入预先训练完成的缺陷检测模型,缺陷检测模型输出第一图像对应的检测结果,该检测结果包括第一图像中的待检测的产品存在缺陷和第一图像中的待检测的产品不存在缺陷。

由于在本发明实施例中,电子设备预先训练完成有缺陷检测模型,针对待检测的产品,将包含该产品的第一图像输入到缺陷检测模型中,基于缺陷检测模型检测该产品是否存在缺陷,并输出相应的结果。本发明实施例提供的方案不需要人工干预,并且不受光线以及产品类型的影响,因此,节省了大量的人力资源,并且具备较高的检测效率和准确率。

实施例2:

在上述实施例的基础上,在本发明实施例中,所述缺陷检测模型的训练过程包括:

将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像;根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差,经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。

在本发明实施例中,电子设备中预先保存有用于训练缺陷检测模型的训练集,将训练集中的图像称为第二图像。并且,针对每个第二图像都保存有其对应的标注图像,标注图像中标注有缺陷像素点。电子设备将每个第二图像和对应的标注图像输入缺陷检测模型,对缺陷检测模型进行训练。

具体的,电子设备将每个第二图像输入缺陷检测模型,得到每个缺陷检测图像,然后根据第二图像对应的缺陷检测图像和标注图像,确定当前的模型训练误差。具体的,针对每组对应的标注图像和缺陷检测图像,识别该组两个图像中像素类型不同的像素点的数量,像素类型包括缺陷像素和背景像素。像素类型不同的像素点的数量与标注图像的像素点的总数量的比值作为该组图像的训练误差,然后确定每组图像的训练误差的平均值作为模型训练误差。电子设备经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。

电子设备中还可以保存测试集,测试集用于检验训练所获得模型的精度,并用于模型筛选。

实施例3:

在上述各实施例的基础上,为了使训练的缺陷检测模型准确率更高,在本发明实施例中,所述将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像包括:

将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型进行训练;

去除训练完成的所述至少两个单一检测模型的输入层和全连接层;

将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型产生的检测特征图进行合并,并传输至所述缺陷检测模型的全连接层,得到每个缺陷检测图像。

所述至少两个单一检测模型包括inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型中的至少两个。

在本发明实施例中,首先根据训练集中的每个第二图像和对应的标注图像,对至少两个单一检测模型进行训练,具体的,电子设备将每个第二图像输入至少两个单一检测模型,得到至少两个单一检测模型输出的每个缺陷检测图像,然后根据第二图像对应的缺陷检测图像和标注图像,确定当前的模型训练误差。电子设备经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的至少两个单一检测模型。

在本发明实施例中,至少两个单一检测模型可以是inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型中的至少两个,较佳的,可以同时包括inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型这四个模型。

图2为本发明实施例提供的inceptionresnetv2模型结构示意图,inceptionresnetv2模型中的stem部分网络结构如图3所示。图4为本发明实施例提供的vgg16模型结构示意图,在vgg16模型中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知视野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。vgg16有六个阶段的训练过程,分别是a、a-lrn、b、c、d、e六个阶段,训练时,逐层递归训练。图5为本发明实施例提供的densenet模型结构示意图。图6为本发明实施例提供的resnet模型结构示意图,resnet模型中的残差单元如图7所示。

在本发明实施例中,inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型这四个模型训练完成之后,去除这四个单一检测模型的输入层和全连接层。图8为本发明实施例提供的缺陷检测模型结构示意图,如图8所示,在inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型这四个模型之前增加了数据层和分发层,数据层的作用是根据inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型各自对输入图像的需要来对训练集中的第二图像进行处理,生成分别满足inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型输入要求的图像,分发层的作用是将生成的图像分别发送至inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型。

在inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型这四个模型之后增加了尺寸统一层、空白层、特征相加层和全连接层。尺寸统一层的作用是将各个单一模型输出的特征图进行修饰,主要是尺寸上进行修改,得到尺寸相同的特征图。空白层的目的是进一步梳理特征图,进一步处理可以是添加合适的比例放大特征图等。特征相加层的作用是将空白层输出的各个尺寸相同的特征图进行合并,需要说明的是,在进行合并时,需要保证在channel方向上保持相同,也就是特征图的长和宽必须相同。具体的,是将各个尺寸相同的特征图对应像素点的像素值进行相加,从而增强特征图的表现形式,然后将合并后的特征图输入全连接层,由全连接层输出缺陷检测图像。

在本发明实施例中,根据每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差,经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。其中,inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型训练完成之后,各个单一模型的参数固定不变,在每次迭代过程中,仅对缺陷检测模型中的全连接层的参数进行训练。

由于在本发明实施例中,采用多个单一模型进行融合,提取各单一模型的优点,提升了缺陷检测模型的检测精度。受外界的影响较小,对于微小缺陷的检测精度更高。

实施例4:

现有技术中,在训练集中,大多数都是简单易分的背景样本,这些简单易分的背景样本数量过多会对误差的计算起主要贡献作用,因此主导了梯度的更新方向,掩盖了重要信息。为了扩大难分像素对损失loss函数的影响,同时扩大缺陷区域对loss函数的影响,解决样本不均衡的问题。在本发明实施例中,所述根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差包括:

根据公式:确定每个像素点的误差;根据所述每个像素点的误差,确定模型训练误差;

式中,pt为缺陷检测图像中像素点的像素值,所述像素值为未进行二值化的像素值,y为像素点的标注信息,当y=1时表明该像素点为背景像素点,当y=0时表明该像素点为缺陷像素点,α为加权常数。

根据上式确定每个像素点的误差后,可以将每个像素点的误差的平均值作为模型训练误差。

在本发明实施例中,α可以为0.25。由上式分析可知,通过在式子前加控制权α和(1-α)可以扩大缺陷像素对loss函数的贡献,解决样本失衡的问题。同时当y=1时,表明该像素标签为背景,则pt越大说明该像素越易分,通过添加则pt越大,则对loss的贡献越小;当y=0时,表明该像素标签为缺陷,则pt越小说明该像素越易分,通过添加则pt越小,则对loss的贡献越小。通过这种设置可以扩大难分像素对loss函数的影响,同时扩大缺陷区域对loss函数的影响,解决样本不均衡的问题。

实施例5:

图9为本发明实施例提供的产品缺陷检测装置结构示意图,该装置包括:

输入模块91,用于获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;

确定模块92,用于基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

所述装置还包括:

训练模块93,用于将训练集中的每个第二图像输入缺陷检测模型,得到每个缺陷检测图像;根据所述每个缺陷检测图像和每个第二图像对应的标注图像,确定模型训练误差,经过预设的时间或预设的迭代次数后,将误差最小的模型作为训练完成的缺陷检测模型。

所述训练模块93,具体用于将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型进行训练;去除训练完成的所述至少两个单一检测模型的输入层和全连接层;将训练集中的每个第二图像输入到至少两个单一检测模型,对所述至少两个单一检测模型产生的检测特征图进行合并,并传输至所述缺陷检测模型的全连接层,得到每个缺陷检测图像。

所述至少两个单一检测模型包括inceptionresnetv2模型,vgg16模型,densenet模型,resnet模型中的至少两个。

所述训练模块93,具体用于根据公式:确定每个像素点的误差;根据所述每个像素点的误差,确定模型训练误差;式中,pt为缺陷检测图像中像素点的像素值,所述像素值为未进行二值化的像素值,y为像素点的标注信息,当y=1时表明该像素点为背景像素点,当y=0时表明该像素点为缺陷像素点,α为加权常数。

实施例6:

在上述各实施例的基础上,本发明实施例中还提供了一种电子设备,如图10所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;

所述存储器303中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:

获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;

基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与产品缺陷检测方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。

本发明实施例提供的电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、网络侧设备等。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口302用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在本发明实施例中处理器执行存储器上所存放的程序时,实现获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。由于在本发明实施例中,电子设备预先训练完成有缺陷检测模型,针对待检测的产品,将包含该产品的第一图像输入到缺陷检测模型中,基于缺陷检测模型检测该产品是否存在缺陷,并输出相应的结果。本发明实施例提供的方案不需要人工干预,并且不受光线以及产品类型的影响,因此,节省了大量的人力资源,并且具备较高的检测效率和准确率。

实施例7:

在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:

获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;

基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。

基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与产品缺陷检测方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。

上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd)等。

在本发明实施例中提供的计算机可读存储介质内存储计算机程序,计算机程序被处理器执行时实现获取包含待检测产品的第一图像,将所述第一图像输入预先训练完成的缺陷检测模型;基于所述缺陷检测模型,确定所述待检测的产品是否存在缺陷。由于在本发明实施例中,电子设备预先训练完成有缺陷检测模型,针对待检测的产品,将包含该产品的第一图像输入到缺陷检测模型中,基于缺陷检测模型检测该产品是否存在缺陷,并输出相应的结果。本发明实施例提供的方案不需要人工干预,并且不受光线以及产品类型的影响,因此,节省了大量的人力资源,并且具备较高的检测效率和准确率。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1