LED灯珠缺陷检测方法和装置
技术领域
本发明涉及深度学习技术领域,具体涉及一种LED灯珠缺陷检测方法、一种LED灯珠缺陷检测装置、一种计算机设备、一种非临时性计算机可读存储介质和一种计算机程序产品。
背景技术
LED(Light Emitting Diode,发光二极管)灯珠广泛用于灯饰照明、LED大屏幕显示、交通灯、装饰、电脑、电子玩具礼品等诸多电子产品中。上述电子产品在生产过程中可能存在LED灯珠缺陷,例如LED灯珠的偏移、缺损及出现划痕、裂纹等。
目前对于LED灯珠缺陷的检测大多是通过人工视力观察的方式来完成的,效率低下,人工成本高,且会因存在人眼难以发现的缺陷而导致漏检。
发明内容
本发明为解决上述技术问题,提供了一种LED灯珠缺陷检测方法和装置,检测效率较高,人工成本较低,且检测准确率较高。
本发明采用的技术方案如下:
一种LED灯珠缺陷检测方法,包括以下步骤:获取样本数据集,其中,所述样本数据集中包含多个存在LED灯珠缺陷的样本产品图像和多个不存在LED灯珠缺陷的样本产品图像;通过模板匹配法获取每个样本产品图像中的LED灯珠区域以更新所述样本数据集;通过更新后的样本数据集对神经网络进行训练,得到LED灯珠缺陷检测模型;获取待检测产品图像,并通过模板匹配法获取所述待检测产品图像中的LED灯珠区域以更新所述待检测产品图像;将更新后的待检测产品图像输入所述LED灯珠缺陷检测模型,以判断是否存在LED灯珠缺陷。
进行训练的更新后的样本数据集中的图像和实施检测的更新后的待检测产品图像均为三通道图像。
其中,所述模板匹配法包括:将样本产品图像或待检测产品图像分解为矩阵形式,并将矩阵形式的图像中的特征按照坐标进行排列;通过图像比对获取图像中的元器件区域;对所述元器件区域进行LED灯珠坐标定位以得到LED灯珠区域。
所述神经网络为VGG(一种深度卷积神经网络)网络或Inception网络。
所述神经网络中构建分类算法。
采用全监督的梯度下降法对所述神经网络进行训练。
一种LED灯珠缺陷检测装置,包括:第一获取模块,所述第一获取模块用于获取样本数据集,其中,所述样本数据集中包含多个存在LED灯珠缺陷的样本产品图像和多个不存在LED灯珠缺陷的样本产品图像;第一匹配模块,所述第一匹配模块用于通过模板匹配法获取每个样本产品图像中的LED灯珠区域以更新所述样本数据集;训练模块,所述训练模块用于通过更新后的样本数据集对神经网络进行训练,得到LED灯珠缺陷检测模型;第二获取模块,所述第二获取模块用于获取待检测产品图像;第二匹配模块,所述第二匹配模块用于通过模板匹配法获取所述待检测产品图像中的LED灯珠区域以更新所述待检测产品图像;检测模块,所述检测模块用于将更新后的待检测产品图像输入所述LED灯珠缺陷检测模型,以判断是否存在LED灯珠缺陷。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述LED灯珠缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述LED灯珠缺陷检测方法。
一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述LED灯珠缺陷检测方法。
本发明的有益效果:
本发明通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
附图说明
图1为本发明实施例的LED灯珠缺陷检测方法的流程图;
图2为本发明一个实施例的矩阵化图像示意图;
图3为本发明实施例的LED灯珠缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的LED灯珠缺陷检测方法包括以下步骤:
S1,获取样本数据集,其中,样本数据集中包含多个存在LED灯珠缺陷的样本产品图像和多个不存在LED灯珠缺陷的样本产品图像。
在本发明的一个实施例中,可通过相机对大量的样本产品进行拍照,例如可通过实时帧率大于60Hz工业相机对焊接有LED灯珠的电路板进行拍照,在拍照时可利用人工或自然光源打光,以得到高质量的样本产品图像。可将样本产品是否存在LED灯珠缺陷作为样本标签,与样本产品图像一起存储,构成样本数据集。
在本发明的一个实施例中,样本产品中存在LED灯珠缺陷与不存在LED灯珠缺陷的比例可以为或接近1:1。
S2,通过模板匹配法获取每个样本产品图像中的LED灯珠区域以更新样本数据集。
在本发明的一个实施例中,可基于模板匹配定位样本产品图像中的LED灯珠区域,并对LED灯珠区域进行截图,得到包含LED灯珠区域截图的样本数据集,作为后续神经网络训练的输入。
具体地,参照图2,首先可将样本产品图像分解为矩阵形式,并将矩阵形式的图像中的特征按照坐标进行排列。矩阵化处理后,图像中的特征较为明显,例如,如图2所示,可方便快速地选取出像素值为30的像素。
接下来,可通过图像比对获取图像中的元器件区域,并对元器件区域进行LED灯珠坐标定位以得到LED灯珠区域。
在本发明的一个具体实施例中,可通过OpenCV实现上述的模板匹配,通过运行函数matchTemplate,将LED灯珠模板图像与整体图像相应大小的区域进行一一匹配,从而得到LED灯珠的像素区域及其像素坐标。
S3,通过更新后的样本数据集对神经网络进行训练,得到LED灯珠缺陷检测模型。
在本发明的一个实施例中,神经网络中只构建分类算法,可将整个图像的所有像素均作为训练和检测依据。可采用全监督的梯度下降法对神经网络进行训练。
进一步地,神经网络为卷积神经网络,例如可以为VGG网络或Inception网络。
卷积神经网络包括输入层、隐含层和输出层,其中,隐含层包含卷积层。在训练开始之时,卷积层的滤波器是完全随机的,不会对任何特征激活,即不能检测任何特征。将一个空白的滤波器,修改其权重以使其能检测特定的模式,整个过程就如同工程里面的反馈。通过这样的反馈,卷积神经网络可以自行学习需要判断的核心特征。
对于每个样本产品图像数据,训练过程可包括图像输入、特征提取、结果预测、结果比对和记忆特征。具体地,卷积神经网络可将每个特征与对应的样本标签进行匹配,匹配正确的特征经过记忆模块留下来,匹配失败的则通过loss参数进行忽略,经过多层卷积深度学习对大量图片的不断迭代,最终学会我们想要让其记忆的核心特征,并将不同的核心特征进行分类。最终训练完成的神经网络,即LED灯珠缺陷检测模型可以根据这些特征来对一张新的图像进行检测。
在本发明的一个实施例中,进行训练的更新后的样本数据集中的图像为三通道图像。其中,在步骤S2中,为减小数据处理量,可将样本产品图像转换为灰度图像进行模板匹配,在本步骤中,可将灰度图像再转换成三通道进行神经网络训练,使所得到的模型能够识别出更多的缺陷。此外,在得到LED灯珠区域图像,并通过包含其的数据集进行神经网络训练前,还可根据需要对图像进行腐蚀、增强对比度等预处理,从而进一步提高训练效果,提高模型精度。
S4,获取待检测产品图像,并通过模板匹配法获取待检测产品图像中的LED灯珠区域以更新待检测产品图像。
在本发明的一个实施例中,同上述样本产品图像的获取方式,可通过相机拍摄得到待检测产品图像。通过模板匹配法获取待检测产品图像中LED灯珠区域的方式也同上述样本产品图像中LED灯珠区域的获取方式,在此不再赘述。
S5,将更新后的待检测产品图像输入LED灯珠缺陷检测模型,以判断是否存在LED灯珠缺陷。
在本发明的一个实施例中,实施检测的更新后的待检测产品图像为三通道图像。通过将三通道的LED灯珠图像输入LED灯珠缺陷检测模型,可得到其是否存在LED灯珠缺陷的输出结果。
本发明实施例通过对LED灯珠区域定位,使得LED灯珠缺陷检测模型对LED灯珠的位置敏感,从而能够用于实现LED灯珠的偏移检测;通过三通道图像的训练和识别,利用三通道图像丰富的特征信息,使得LED灯珠缺陷检测模型对LED灯珠的形状敏感,从而能够用于实现LED灯珠的缺损、缺件检测,对特定区块和线条敏感,从而能够用于实现LED灯珠的划痕、裂纹检测,对均匀曲线不敏感,从而能够避免不同光照环境及不同位置的反光及炫光对检测结果的影响。
在本发明的一个具体实施例中,采用不同网络和不同样本数据集实施的LED灯珠缺陷检测方法的检测准确率如表1所示。
表1
由此可见,卷积神经网络的层数越多、样本数据集中的样本越多,检测准确率越高。
另外,在得到检测结果时,还可发出相应的检测结果信息,例如可在检测到LED灯珠缺陷时发出报警信息,输出高低电平信号,或发出操作指示信号等。
根据本发明实施例的LED灯珠缺陷检测方法,通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例的LED灯珠缺陷检测方法,本发明还提出一种LED灯珠缺陷检测装置。
如图3所示,本发明实施例的LED灯珠缺陷检测装置包括第一获取模块10、第一匹配模块20、训练模块30、第二获取模块40、第二匹配模块50和检测模块60。其中,第一获取模块10用于获取样本数据集,其中,样本数据集中包含多个存在LED灯珠缺陷的样本产品图像和多个不存在LED灯珠缺陷的样本产品图像;第一匹配模块20用于通过模板匹配法获取每个样本产品图像中的LED灯珠区域以更新样本数据集;训练模块30用于通过更新后的样本数据集对神经网络进行训练,得到LED灯珠缺陷检测模型;第二获取模块40用于获取待检测产品图像;第二匹配模块50用于通过模板匹配法获取待检测产品图像中的LED灯珠区域以更新待检测产品图像;检测模块60用于将更新后的待检测产品图像输入LED灯珠缺陷检测模型,以判断是否存在LED灯珠缺陷。
本发明实施例LED灯珠缺陷检测装置的具体实施方式可参照上述LED灯珠缺陷检测方法的实施例,在此不再赘述。
根据本发明实施例的LED灯珠缺陷检测装置,通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的LED灯珠缺陷检测方法。
本发明实施例的计算机设备还可包括显卡、主板等,通过连接件与相机相连,运行linux或者Windows10***。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现根据本发明上述实施例所述的LED灯珠缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种计算机程序产品。
当本发明实施例的计算机程序产品中的指令由处理器执行时,可执行根据本发明上述实施例所述的LED灯珠缺陷检测方法。
根据本发明实施例的计算机程序产品,处理器执行其中的指令时,通过模板匹配法获取样本数据集中每个样本产品图像的LED灯珠区域,并以此进行神经网络进行训练得到LED灯珠缺陷检测模型,以及通过该LED灯珠缺陷检测模型检测待检测产品图像中是否存在LED灯珠缺陷,由此,检测效率较高,人工成本较低,且检测准确率较高。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。