CN109767431A - 零件外观缺陷检测方法、装置、设备及可读存储介质 - Google Patents
零件外观缺陷检测方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109767431A CN109767431A CN201811638600.5A CN201811638600A CN109767431A CN 109767431 A CN109767431 A CN 109767431A CN 201811638600 A CN201811638600 A CN 201811638600A CN 109767431 A CN109767431 A CN 109767431A
- Authority
- CN
- China
- Prior art keywords
- picture
- detected
- new
- pose
- part image
- 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.)
- Pending
Links
Abstract
本发明公开一种零件外观缺陷检测方法、装置、设备及可读存储介质。零件外观缺陷检测方法,包括:采集包含待检测零件图像的第二图片;确定待检测零件图像在第二图片中的位姿;根据待检测零件图像的位姿与第二图片,生成第二新图,第二新图包含待检测零件图像的全部或部分,第二新图的尺寸为预设大小,其中待检测零件图像在第二新图中的位姿在预设的偏差范围之内;以及将第二新图输入到人工神经网络中,以检测待检测零件的外观是否存在缺陷。
Description
技术领域
本发明涉及人工智能技术领域,具体而言,涉及一种零件外观缺陷检测方法、装置、设备及可读存储介质。
背景技术
工业零件在自动或人工加工和装配过程中,不可避免的会出现一些外观上的缺陷,如表面上容易出现裂纹、划痕、气泡、凹坑等,不仅影响了产品的美观,还可能影响产品的安全性能。
传统的零件外观缺陷检测方法通常采用人工识别的方法,但由于每个人视力、主观判断能力等不同,导致误检率和漏检率都很高,检测效果差。此外,传统的机器视觉检测方法,检测效果也不佳,对于断续的划痕及滚筒印等缺陷均无法检出。
目前新兴了一些通过人工智能来进行零件外观缺陷检测的方法,但这些方法通常所需的检测时间长,需要大数据量对检测模型进行训练,且检测能力无法满足现场的要求。
因此,需要一种新的零件外观检测方法。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明提供一种零件外观缺陷检测方法、装置、设备及可读存储介质,能够在快速检测的同时保证检测效果。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种用于零件外观缺陷检测的人工神经网络的训练方法,包括:采集多张第一图片,其中每张第一图片包含零件图像;分别确定各所述零件图像在其所在的第一图片中的位姿;根据各所述零件图像的位姿与各所述第一图片,分别生成多张第一新图,所述多张第一新图分别包含各所述零件图像的全部或部分,所述多张第一新图的尺寸均为预设大小,其中各所述零件图像在各所述第一新图中的位姿在预设的偏差范围之内;以及分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
根据本发明的一实施方式,分别确定各所述零件图像在其所在的第一图片中的位姿包括:对所述多张第一图片进行二值化处理,分别获得多张第一二值化图片;以及根据所述多张第一二值化图片中各所述零件图像的斑点的位姿,分别确定各所述零件图像在其所在的第一图片中的位姿。
根据本发明的一实施方式,分别确定各所述零件图像在其所在的第一图片中的位姿包括:根据提供的模板图片,分别确定所述模板图片与所述多张第一图片各位置之间的相似度;以及根据所述相似度,分别确定各所述零件图像在其所在的第一图片中的位姿。
根据本发明的一实施方式,根据上述任意一种方法,当所述第一新图包含其对应的所述第一图片不包含的像素时,所述像素为填充像素,所述填充像素为所述第一新图对应的所述第一图片中非所述零件图像区域的像素的均值或者为预设的固定像素值。
根据本发明的一实施方式,分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练包括:在云服务器中分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练。
根据本发明的一实施方式,所述人工神经网络为语义分割神经网络或目标检测神经网络。
根据本发明的另一方面,提供一种零件外观缺陷检测方法,包括:采集包含待检测零件图像的第二图片;确定所述待检测零件图像在所述第二图片中的位姿;根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;以及将所述第二新图输入到人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
根据本发明的再一方面,提供一种零件外观缺陷检测方法,包括:采集包含待检测零件图像的第二图片;确定所述待检测零件图像在所述第二图片中的位姿;根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含各所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;对所述第二新图或者所述第二图片进行二值化图像处理,获得二值化图像处理结果;根据所述二值化图像处理结果,判断所述待检测零件的外观是否存在缺陷;以及如果判断所述待检测零件的外观存在缺陷的概率低于预设的阈值,则将所述第二新图输入到经过训练的人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
根据本发明的一实施方式,确定所述待检测零件图像在所述第二图片中的位姿包括:对所述第二图片进行二值化处理,获得第二二值化图片;以及根据所述第二二值化图片中所述待检测零件图像的斑点的位姿,确定所述待检测零件图像在所述第二图片中的位姿。
根据本发明的一实施方式,确定所述待检测零件图像在所述第二图片中的位姿包括:根据提供的模板图片,分别确定所述模板图片与所述第二图片各位置之间的相似度;以及根据所述相似度,确定所述待检测零件图像在所述第二图片中的位姿。
根据本发明的一实施方式,当所述第二新图包含所述第二图片不含的像素时,所述像素为填充像素,所述填充像素为所述第二图片中非所述待检测零件图像区域的像素的均值或者为预设的固定像素值。
根据本发明的一实施方式,上述方法还包括:当通过所述人工神经网络检测出所述待检测零件的外观存在缺陷时,根据通过所述人工神经网络检测出的缺陷区域,判断所述人工神经网络的检测结果是否正确。
根据本发明的一实施方式,根据所述人工神经网络检测出的缺陷区域,判断所述人工神经网络的检测结果是否正确包括:根据所述缺陷区域的几何信息和/或灰度信息,判断所述人工神经网络的检测结果是否正确。
根据本发明的一实施方式,将所述第二新图输入到经过训练的人工神经网络中之前还包括:根据上述任意一种方法训练所述人工神经网络,获得经过训练的所述人工神经网络。
根据本发明的再一方面,提供一种用于零件外观缺陷检测的人工神经网络的训练装置,包括:图片采集模块,用于采集多张第一图片,其中每张第一图片包含一个零件图像;位姿确定模块,用于分别确定各所述零件图像在其所在的第一图片中的位姿;新图生成模块,用于根据各所述零件图像的位姿与各所述第一图片,分别生成多张第一新图,所述多张第一新图分别包含各所述零件图像的全部或部分,所述多张第一新图的尺寸均为预设大小,其中各所述零件图像在各所述第一新图中的位姿在预设的偏差范围之内;以及网络训练模块,用于分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
根据本发明的再一方面,提供一种零件外观缺陷检测装置,包括:图片采集模块,用于采集包含待检测零件图像的第二图片;位姿确定模块,用于确定所述待检测零件图像在所述第二图片中位姿;新图生成模块,用于根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;以及缺陷检测模块,用于将所述第二新图输入到人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
根据本发明的再一方面,提供一种零件外观缺陷检测装置,包括:图片采集模块,用于采集包含待检测零件图像的第二图片;位姿确定模块,用于确定所述待检测零件图像在所述第二图片中的位姿;新图生成模块,用于根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;二值化处理模块,用于对所述第二新图或者所述第二图片进行二值化图像处理,获得二值化图像处理结果;第一缺陷检测模块,用于根据所述二值化图像处理结果,判断所述待检测零件的外观是否存在缺陷;以及第二缺陷检测模块,用于当所述第一缺陷检测模块判断所述待检测零件的外观存在缺陷的概率低于预设的阈值时,将所述第二新图输入到经过训练的人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
根据本发明的再一方面,提供一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任意一种方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任意一种方法。
根据本发明的再一方面,提供一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任意一种方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任意一种方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种用于零件外观缺陷检测的人工神经网络的训练方法的流程图。
图2是根据一示例示出的多张第一图片的示意图。
图3是根据一示例示出的多张第一二值化图片的示意图。
图4是根据一示例示出的第一新图的生成过程。
图5是根据一示例性实施方式示出的一种零件外观缺陷检测方法的流程图。
图6是根据一示例示出的多张第二图片的示意图。
图7是根据一示例示出的多张第一二值化图片的示意图。
图8是根据一示例示出的第二新图的生成过程。
图9是根据一示例示出的通过语义分割神经网络进行缺陷识别的示意图。
图10是根据一示例示出的通过目标检测神经网络进行缺陷识别的示意图。
图11是根据一示例性实施方式示出的另一种待检测零件外观缺陷检测方法的流程图。
图12是根据一示例示出的通过对待检测零件的表面图像进行二值化处理以判断待检测零件的外观是否存在缺陷的示意图。
图13是根据一示例示出的通过对待检测零件的边缘图像进行二值化处理以判断待检测零件的外观是否存在缺陷的示意图。
图14是根据一示例性实施方式示出的一种用于零件外观缺陷检测的人工神经网络的训练装置的框图。
图15是根据一示例性实施方式示出的一种零件外观缺陷检测装置的框图。
图16是根据一示例性实施方式示出的另一种零件外观缺陷检测装置的框图。
图17是根据一示例性实施方式示出的一种服务器的结构示意图。
图18是根据一示例性实施方式示出的一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
在本发明的描述中,需要理解的是,“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本发明通过采用机器视觉与人工神经网络结合的方法实现对零件外观缺陷的检测。通过机器视觉解决零件缺陷的定位问题,并根据定位结果裁剪原图,降低了人工神经网络待处理图片的大小,不仅可提高对人工神经网络的训练速度,还可提供其缺陷检测速度。此外,由于待检测零件在裁剪后的图片中位姿固定,还可降低训练集图片的数量。
零件泛指工业上批量生产的工业产品,例如螺丝、螺母、电路板、包装盒、饮料瓶、钕铁硼工件等。下面首先说明本发明所提供的用于零件外观缺陷检测的人工神经网络的训练方法。
图1是根据一示例性实施方式示出的一种用于零件外观缺陷检测的人工神经网络的训练方法的流程图。
图1所示的用于零件外观缺陷检测的人工神经网络的训练方法10例如可以应用于本地服务器或分布式服务器集群中;或者,将步骤S102、S104以及S106应用于本地服务器中,将步骤S108应用于云服务器中。由于云服务器中的计算资源可提供更强的计算能力,因此可进一步加快对神经网络的训练速度。
参考图1,方法10包括:
在步骤S102中,采集多张第一图片,其中每张第一图片包含零件图像。
可通过相机对传送面上依次经过相机视野的零件进行拍照,获第一图片,每张第一图片中可以仅包含一个零件的图像,也可以包含多个零件的图像,或者还可以仅包含一个零件的部分图像(例如只拍摄饮料瓶口)。
不失一般性地,下文均以第一图片包含一个零件图像为例说明,但本发明不以此为限。根据下述说明,本领域技术人员应该理解在其他情况下如何执行该方法。
在步骤S104中,分别确定各零件图像在其所在的第一图片中的位姿。
确定零件图像在其所在的第一图片中的位姿(pose),即确定零件图像在其所在的第一图片中的位置和角度。由于在获取零件的第一图片时,传送面上的零件是随意放置的,因此当其经过相机的视野被拍摄时,其图像在第一图片中的位置及角度均不同。
图2是根据一示例示出的多张第一图片的示意图。如图2所示,各张第一图片P1中的零件图像g1的位姿是不同的。在将这些第一图片P1送入人工神经网络进行训练之前,需要对第一图片P1进行处理,使得各零件图像g1在图片中的位置与角度均相近,也即使其位姿是固定的,从而可大幅降低送入人工神经网络进行训练的图片数量,减少计算量,提升训练速度。而为了统一各零件图像在待训练图片中的位姿,则首先需要确定各零件图像g1在其所在的第一图片P1中的位姿。
在一些实施例中,可以通过对第一图片进行二值化处理,来确定零件图像在第一图片中的位姿。具体地,对各第一图片进行二值化(ImageBinarization)处理,分别获得各第一图片的第一二值化图片。图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程,从而凸显出目标的轮廓。由于第一二值化图片呈现出明显的黑白效果,其中的零件图像可称为零件图像的斑点。根据多张第一二值化图片中各零件图像的斑点的位姿,分别确定各零件图像在其所在的第一图片中的位姿。确定位姿时,可以利用斑点本身几何信息(重心、外接矩形等)直接确定,例如定义重心为基准点,外接矩形的长轴方向为零件图像的角度,则零件图像位姿直接通过上述几何信息确定;确定位姿时,也可以通过对获得的斑点进行边缘位置分析获得更丰富的信息,进而确定零件图像位姿,边缘位置分析可以通过卡尺工具实现。图3是根据一示例示出的多张第一二值化图片的示意图。不失一般性地,图3中以零件图像斑点d1为全黑为例。此外,如图3中(d)图所示,图3还示出了期望的零件图像斑点的位姿,也即一目标零件图像斑点gd1的位姿。选取该目标零件图像斑点gd1的一个基准点,该基准点可以为目标图像斑点的中心、重心或其他特定位置,例如图中选取了目标图像斑点轮廓的右上角的点作为其基准点,并以其建立X轴和Y轴的坐标系。分别确定各零件图像斑点d1(如图3中的零件图像斑点(a)~(c))基准点相对于目标图像斑点gd1基准点的相对位置及角度,也即确定各零件图像斑点d1在第一二值化图片DP1中的位姿,从而确定各零件图像在第一图片中的位姿。
在一些实施例中,还可以通过模板匹配方式确定各零件图像在其所在的第一图片中的位姿。例如,可以通过vision pro中提供的工具PMAlign或halcon中提供的工具find_ncc_modle来实现。具体地,可根据提供的模板图片,分别确定模板图片与多张第一图片各位置之间的相似度。也即计算模板图片中零件模板图像的所有位置与零件图像各个位置之间的相似度。根据相似度,分别确定各零件图像在其所在的第一图片中的位姿。本领域技术人员可以理解的是,这里提到的相似度可以是一个广义的概念。相似度可以使用不同方式定义,例如基于模板和图像的灰度值或基于模板边缘与图像边缘的接近程度等。
在步骤S106中,根据各零件图像的位姿与各第一图片,分别生成多张第一新图。
多张第一新图分别包含各零件图像的全部或部分,多张第一新图的尺寸均为预设大小,其中各零件图像在各第一新图中的位姿在预设的偏差范围之内。
图4是根据一示例示出的第一新图的生成过程。继续以图2中的第一图片P1为例,首先在根据第一图片P1中根据零件图像g1的位姿定位各零件图像g1,之后生成各第一新图NP1。第一新图具有一预设的大小,也即具有一预设的尺寸,该尺寸例如可以以像素为单位定义。第一新图NP1可以包含各零件图像g1的全部或部分,图4中以第一新图NP1包含零件图像g1的全部为例。生成第一新图NP1可以通过裁剪第一图片P1的方式生成,但对于如图4(a)中所示的情况,也即第一新图NP1中包含其对应的第一图片P1不包含的像素时,第一新图NP1中还包括有填充像素(如图中右上角的三角形区域),填充像素例如可以为第一新图NP1对应的第一图片P1中非零件图像g1区域的像素的均值或者也可以为其他预设的固定像素值。此外,对于非中心对称型(非圆形、非环形等)的零件图像,还可能需要对其进行旋转以获得最终的如图4所示的各第一新图NP1。
各零件图像在各第一新图中的位姿在预设的偏差范围之内,例如在第一新图中各零件图像位置的偏差小于新图尺寸的一预设值,该预设值如为5%~10%,也即小于新图尺寸的5%~10%;或者其角度偏差小于-10度~-5度或+5度~+10度。
在步骤S108中,分别将通过缺陷标注后的多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
在对第一新图进行人工的缺陷标注后,将其输入到人工神经网络中进行训练。
在一些实施例中,人工神经网络例如可以为语义分割(semanticsegmentation)神经网络或目标检测(object detection)神经网络。语义分割网络例如可以包括:segnet、mobile net、Icnet等。目标检测神经网络可以包括:yolo、ssd等网络。需要说明的是,语义分割神经网络与目标检测神经网络均为目前比较成熟的人工神经网络,在此不再赘述。
本发明实施方式提供的用于零件外观缺陷检测的人工神经网络的训练方法,在对包含零件图像的图片进行训练之前,对采集到图片进行处理生成用于训练的新图,使得新图中的零件图像的位姿固定,从而可以大幅减少训练图片的数量,减少训练的计算量,提高对于神经网络的训练速度。
图5是根据一示例性实施方式示出的一种零件外观缺陷检测方法的流程图。
参见图5,方法20包括:
在步骤S202中,采集包含待检测零件图像的第二图片。
可通过相机对传送面上依次经过相机视野的待检测零件进行拍照,分别获取各待检测零件对应的第二图片,每张第二图片中可以仅包含一个零件的图像,也可以包含多个零件的图像,或者还可以仅包含一个零件的部分图像(例如只拍摄饮料瓶口)。
不失一般性地,下文均以第二图片包含一个待检测零件图像为例说明,但本发明不以此为限。根据下述说明,本领域技术人员应该理解在其他情况下如何执行该方法。在步骤S204中,确定待检测零件图像在第二图片中的位姿。
确定待检测零件图像在其所在的第二图片中的位姿(pose),即确定待检测零件图像在其所在的第二图片中的位置和角度。由于在获取待检测零件的第二图片时,传送面上的待检测零件是随意放置的,因此当其经过相机的视野被拍摄时,其图像在第二图片中的位置及角度均不同。
图6是根据一示例示出的多张第二图片的示意图。如图6所示,各张第二图片P2中的待检测零件图像g2的位姿是不同的。在将这些第二图片P2送入人工神经网络进行零件外观缺陷检测之前,需要对第二图片P2进行处理,使得各待检测零件图像g2在图片中的位置与角度均相近,也即使其位姿是固定的,从而可加快图片在神经网络中的识别速度。而为了统一各待检测零件图像在第二图片中的位姿,则首先需要确定各待检测零件图像g2在其所在的第二图片P2中的位姿。
在一些实施例中,可以通过对第二图片进行二值化处理,来确定待检测零件图像在第二图片中的位姿。具体地,对各第二图片进行二值化处理,分别获得各第二图片的第一二值化图片。由于第一二值化图片呈现出明显的黑白效果,其中的待检测零件图像可称为待检测零件图像的斑点。根据多张第一二值化图片中各待检测零件图像的斑点的位姿,分别确定各待检测零件图像在其所在的第二图片中的位姿。确定位姿时,可以利用斑点本身几何信息(重心、外接矩形等)直接确定,例如定义重心为基准点,外接矩形的长轴方向为零件图像的角度,则零件图像位姿直接通过上述几何信息确定;确定位姿时,也可以通过对获得的斑点进行边缘位置分析获得更丰富的信息,进而确定零件图像位姿,边缘位置分析可以通过卡尺工具实现。图7是根据一示例示出的多张第一二值化图片的示意图。不失一般性地,图7中以待检测零件图像斑点d2为全黑为例。此外,如图7中(d)图所示,图7还示出了期望的待检测零件图像斑点在图片中的位姿,也即一目标待检测零件图像斑点gd2在图片中的位姿。选取该目标待检测零件图像斑点gd2的一个基准点,该基准点可以为目标图像斑点的中心、重心或其他特定位置,例如图中选取了目标图像斑点轮廓的右上角的点作为其基准点,并以其建立X轴和Y轴的坐标系。分别确定各待检测零件图像斑点d2(如图7中的待检测零件图像斑点(a)~(c))基准点相对于目标图像斑点gd2基准点的相对位置及角度,也即确定各待检测零件图像斑点d2在第一二值化图片DP2中的位姿,从而确定各待检测零件图像在第二图片中的位姿。
在一些实施例中,还可以通过模板匹配方式确定各待检测零件图像在其所在的第二图片中的位姿。例如,可以通过vision pro中提供的工具PMAlign或halcon中提供的工具find_ncc_modle来实现。具体地,可根据提供的模板图片,分别确定模板图片与多张第二图片各位置之间的相似度。也即计算模板图片中待检测零件模板图像的所有位置与待检测零件图像各个位置之间的相似度。根据相似度,分别确定各待检测零件图像在其所在的第二图片中的位姿。本领域技术人员可以理解的是,这里提到的相似度可以是一个广义的概念。相似度可以使用不同方式定义,例如基于模板和图像的灰度值或基于模板边缘与图像边缘的接近程度等。
在步骤S206中。根据待检测零件图像的位姿与第二图片,生成第二新图。
第二新图包含待检测零件图像的全部或部分,第二新图的尺寸为预设大小,其中待检测零件图像在第二新图中的位姿在预设的偏差范围之内。
图8是根据一示例示出的第二新图的生成过程。继续以图6中的第二图片P2为例,首先在根据第二图片P2中根据待检测零件图像g2的位姿定位各待检测零件图像g2,之后生成各第二新图NP2。第二新图具有一预设的大小,也即具有一预设的尺寸,该尺寸例如可以以像素为单位定义。第二新图NP2可以包含各待检测零件图像g2的全部或部分,图8中以第二新图NP2包含待检测零件图像g2的全部为例。生成第二新图NP2可以通过裁剪第二图片P2的方式生成,但对于如图8(a)中所示的情况,也即第二新图NP2中包含其对应的第二图片P2不包含的像素时,第二新图NP2中还包括有填充像素(如图中右上角的三角区域),填充像素例如可以为第二新图NP2对应的第二图片P2中非待检测零件图像g2区域的像素的均值或者也可以为其他预设的固定像素值。此外,对于非中心对称型(非圆形、非环形)的待检测零件图像,还可能需要对其进行旋转以获得最终的如图8所示的各第二新图NP2。
各待检测零件图像在各第二新图中的位姿在预设的偏差范围之内,例如在第二新图中各待检测零件图像位置的偏差小于新图尺寸的一预设值,该预设值如为5%~10%,也即小于新图尺寸的5%~10%;或者其角度偏差小于-10度~-5度或+5度~+10度。
在步骤S208中,将第二新图输入到人工神经网络中,以检测待检测零件的外观是否存在缺陷。
例如,可以将第二新图输入到根据上述方法10训练后的人工神经网络中,以对待检测零件的外观进行缺陷检测。
图9是根据一示例示出的通过语义分割神经网络进行缺陷识别的示意图。如图9所示,(a)~(c)示出了一种缺陷,(a)图示出了一存在外观缺陷的零件的图像,(b)图示出了在将其进行训练之前进行人工标注后的图像,(c)图示出了对于存在相同缺陷的待检测零件经由神经网络测得的缺陷区域;(d)~(f)示出了另一种缺陷,(d)图示出了一存在外观缺陷的零件的图像,(e)图示出了在将其进行训练之前进行人工标注后的图像,(f)图示出了对于存在相同缺陷的待检测零件经由神经网络测得的缺陷区域。
图10是根据一示例示出的通过目标检测神经网络进行缺陷标注的示意图。如图10所示,在目标检测神经网络中,采用外接矩形的方式对缺陷进行标注和表示。
在一些实施例中,方法20还可以包括:当通过人工神经网络检测出待检测零件的外观存在缺陷时,根据通过人工神经网络检测出的缺陷区域,判断人工神经网络的检测结果是否正确。例如,可以根据缺陷区域的几何信息和/或灰度信息等,判断人工神经网络的检测结果是否正确。可以通过神经网络获取其检测出的缺陷区域的位置和边界信息,边界例如可以是缺陷区域的外接矩形或像素级边界等,之后通过分析缺陷区域的几何信息(如面积、长宽比等)来判断神经网络识别出的缺陷区域是否正确;或者,还可以分析缺陷图像在神经网络识别的缺陷区域中的灰度信息,如对灰度直方图分析、平均灰度分析等,若图像为彩色图像,还可以针对RGB不同色彩平面进行灰度分析,也可以对RGB综合的灰度图进行灰度分析。
图11是根据一示例性实施方式示出的另一种待检测零件外观缺陷检测方法的流程图。
参考图11,方法30包括:
在步骤S302中,采集包含待检测零件图像的第二图片。
可通过相机对传送面上依次经过相机视野的待检测零件进行拍照,分别获取各待检测零件对应的第二图片,每张第二图片中可以仅包含一个零件的图像,也可以包含多个零件的图像,或者还可以仅包含一个零件的部分图像(例如只拍摄饮料瓶口)。
不失一般性地,下文均以第二图片包含一个待检测零件图像为例说明,但本发明不以此为限。根据下述说明,本领域技术人员应该理解在其他情况下如何执行该方法。
在步骤S304中,确定待检测零件图像在第二图片中的位姿。
确定待检测零件图像在其所在的第二图片中的位姿(pose),即确定待检测零件图像在其所在的第二图片中的位置和角度。由于在获取待检测零件的第二图片时,传送面上的待检测零件是随意放置的,因此当其经过相机的视野被拍摄时,其图像在第二图片中的位置及角度均不同。
如图6所示,各张第二图片P2中的待检测零件图像g2的位姿是不同的。在将这些第二图片P2送入人工神经网络进行零件外观缺陷检测之前,需要对第二图片P2进行处理,使得各待检测零件图像g2在图片中的位置与角度均相近,也即使其位姿是固定的,从而可加快图片在神经网络中的识别速度。而为了统一各待检测零件图像在第二图片中的位姿,则首先需要确定各待检测零件图像g2在其所在的第二图片P2中的位姿。
在一些实施例中,可以通过对第二图片进行二值化处理,来确定待检测零件图像在第二图片中的位姿。具体地,对各第二图片进行二值化处理,分别获得各第二图片的第一二值化图片。由于第一二值化图片呈现出明显的黑白效果,其中的待检测零件图像可称为待检测零件图像的斑点。根据多张第一二值化图片中各待检测零件图像的斑点的位姿,分别确定各待检测零件图像在其所在的第二图片中的位姿。确定位姿时,可以利用斑点本身几何信息(重心、外接矩形等)直接确定,例如定义重心为基准点,外接矩形的长轴方向为零件图像的角度,则零件图像位姿直接通过上述几何信息确定;确定位姿时,也可以通过对获得的斑点进行边缘位置分析获得更丰富的信息,进而确定零件图像位姿,边缘位置分析可以通过卡尺工具实现。如图7所示,其中以待检测零件图像斑点d2为全黑为例。选取如图7中(d)图所示的目标待检测零件图像斑点gd2的一个基准点,该基准点可以为目标图像斑点的中心、重心或其他特定位置,例如图中选取了目标图像斑点轮廓的右上角的点作为其基准点,并以其建立X轴和Y轴的坐标系。分别确定各待检测零件图像斑点d2(如图7中的待检测零件图像斑点(a)~(c))基准点相对于目标图像斑点gd2基准点的相对位置及角度,也即确定各待检测零件图像斑点d2在第一二值化图片DP2中的位姿,从而确定各待检测零件图像在第二图片中的位姿。
在一些实施例中,还可以通过模板匹配方式确定各待检测零件图像在其所在的第二图片中的位姿。例如,可以通过vision pro中提供的工具PMAlign或halcon中提供的工具find_ncc_modle来实现。具体地,可根据提供的模板图片,分别确定模板图片与多张第二图片各位置之间的相似度。也即计算模板图片中待检测零件模板图像的所有位置与待检测零件图像各个位置之间的相似度。根据相似度,分别确定各待检测零件图像在其所在的第二图片中的位姿。本领域技术人员可以理解的是,这里提到的相似度可以是一个广义的概念。相似度可以使用不同方式定义,例如基于模板和图像的灰度值或基于模板边缘与图像边缘的接近程度等。
在步骤S306中,根据待检测零件图像的位姿与第二图片,生成第二新图。
第二新图包含待检测零件图像的全部或部分,第二新图的尺寸为预设大小,其中待检测零件图像在第二新图中的位姿在预设的偏差范围之内。
如图8所示,继续以图6中的第二图片P2为例,首先在根据第二图片P2中根据待检测零件图像g2的位姿定位各待检测零件图像g2,之后生成各第二新图NP2。第二新图具有一预设的大小,也即具有一预设的尺寸,该尺寸例如可以以像素为单位定义。第二新图NP2可以包含各待检测零件图像g2的全部或部分,图8中以第二新图NP2包含待检测零件图像g2的全部为例。生成第二新图NP2可以通过裁剪第二图片P2的方式生成,但对于如图8(a)中所示的情况,也即第二新图NP2中包含其对应的第二图片P2不包含的像素时,第二新图NP2中还包括有填充像素(如图中右上角的阴影区域),填充像素例如可以为第二新图NP2对应的第二图片P2中非待检测零件图像g2区域的像素的均值或者也可以为其他预设的固定像素值。此外,对于非中心对称型(非圆形、非环形等)的待检测零件图像,还可能需要对其进行旋转以获得最终的如图8所示的各第二新图NP2。
各待检测零件图像在各第二新图中的位姿在预设的偏差范围之内,例如在第二新图中各待检测零件图像位置的偏差小于新图尺寸的一预设值,该预设值如为5%~10%,也即小于新图尺寸的5%~10%;或者其角度偏差小于-10度~-5度或+5度~+10度。
在步骤S308中,对第二新图或者第二图片进行二值化图像处理,获得二值化图像处理结果。
在步骤S310中,根据二值化图像处理结果,判断待检测零件的外观是否存在缺陷。
对于为良品的待检测零件的表面,其二值化后的图像应不存在缺陷斑点或者存在小面积缺陷斑点;而当待检测零件的表面出现缺陷时,其二值化后的图像会出现大面积的缺陷斑点。因而,通过对缺陷斑点的分析,可以判断待检测零件的外观是否存现。如对缺陷斑点的面积大小、形状、长宽比、非环性斑等尺寸信息进行分析,判断待检测零件的外观是否存在缺陷以及还可以进一步确定缺陷的类型。图12是根据一示例示出的通过对待检测零件的表面图像进行二值化处理以判断待检测零件的外观是否存在缺陷的示意图。其中(a)图示出了选定要分析的表面图像区域,(b)图示出了表面图像区域的斑点图。
或者,还可以对待检测零件的边缘区域进行二值化处理,获得待检测零件边缘区域的二值化图像。以待检测零件为圆片工件为例,为良品的待检测零件的二值化图像为粗细均匀的环性。因而可以分析环宽信息,若出现部分区域环宽变大或变小,则可以认为该待检测零件边缘出现如图13所示的磕边异常。图13是根据一示例示出的通过对待检测零件的边缘图像进行二值化处理以判断待检测零件的外观是否存在缺陷的示意图。
此外,通过上述对待检测零件表面的二值化图像及边缘的二值化图像分析,还可以进一步确定待检测零件存在外观缺陷的概率。
在步骤S312中,如果判断待检测零件的外观存在缺陷的概率低于预设的阈值,则将第二新图输入到经过训练的人工神经网络中,以检测待检测零件的外观是否存在缺陷。
例如,可以将第二新图输入到根据上述方法10训练后的人工神经网络中,以对待检测零件的外观进行缺陷检测。
如图9所示,(a)~(c)示出了一种缺陷,(a)图示出了一存在外观缺陷的零件的图像,(b)图示出了在将其进行训练之前进行人工标注后的图像,(c)图示出了对于存在相同缺陷的待检测零件经由神经网络测得的缺陷区域;(d)~(f)示出了另一种缺陷,(d)图示出了一存在外观缺陷的零件的图像,(e)图示出了在将其进行训练之前进行人工标注后的图像,(f)图示出了对于存在相同缺陷的待检测零件经由神经网络测得的缺陷区域。
如图10所示,使用目标检测网络对缺陷进行检测并通过外接矩形进行缺陷指示。。
在一些实施例中,方法30还可以包括:在步骤S314中,当通过人工神经网络检测出待检测零件的外观存在缺陷时,根据通过人工神经网络检测出的缺陷区域,判断人工神经网络的检测结果是否正确。例如,可以根据缺陷区域的几何信息和/或灰度信息等,判断人工神经网络的检测结果是否正确。可以通过神经网络获取其检测出的缺陷区域的位置和边界信息,边界例如可以是缺陷区域的外接矩形或像素级边界等,之后通过分析缺陷区域的几何信息(如面积、长宽比等)来判断神经网络识别出的缺陷区域是否正确;或者,还可以分析缺陷图像在神经网络识别的缺陷区域中的灰度信息,如对灰度直方图分析、平均灰度分析等,若图像为彩色图像,还可以针对RGB不同色彩平面进行灰度分析,也可以对RGB综合的灰度图进行灰度分析。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图14是根据一示例性实施方式示出的一种用于零件外观缺陷检测的人工神经网络的训练装置的框图。如图14所示,装置40包括:图片采集模块402、位姿确定模块404、新图生成模块406及网络训练模块408。
其中,图片采集模块402用于采集多张第一图片,其中每张第一图片包含一个零件图像。
位姿确定模块404用于分别确定各零件图像在其所在的第一图片中的位姿。
新图生成模块406用于根据各零件图像的位姿与各第一图片,分别生成多张第一新图,多张第一新图分别包含各零件图像的全部或部分,多张第一新图的尺寸均为预设大小,其中各零件图像在各第一新图中的位姿在预设的偏差范围之内。
网络训练模块408用于分别将通过缺陷标注后的多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
在一些实施例中,位姿确定模块404包括:二值化处理单元及位姿确定单元。其中,二值化处理单元用于对多张第一图片进行二值化处理,分别获得多张第一二值化图片。位姿确定单元用于根据多张第一二值化图片中各零件图像的斑点的位姿,分别确定各零件图像在其所在的第一图片中的位姿。
在一些实施例中,位姿确定单元404包括:相似度确定单元及位姿确定单元。其中,相似度确定单元用于根据提供的模板图片,分别确定模板图片与多张第一图片各位置之间的相似度。位姿确定单元用于根据相似度,分别确定各零件图像在其所在的第一图片中的位姿。
在一些实施例中,当第一新图包含其对应的第一图片不包含的像素时,像素为填充像素,填充像素为第一新图对应的第一图片中非零件图像区域的像素的均值或者为预设的固定像素值。
在一些实施例中,装置40中的网络训练模块408应用于云服务器中。
在一些实施例中,人工神经网络为语义分割神经网络或目标检测神经网络。
图15是根据一示例性实施方式示出的一种零件外观缺陷检测装置的框图。如图15,装置50包括:图片采集模块502、位姿确定模块504、新图生成模块506及缺陷检测模块508。
其中,图片采集模块502用于采集包含待检测零件图像的第二图片。
位姿确定模块504用于确定待检测零件图像在第二图片中位姿。
新图生成模块506用于根据待检测零件图像的位姿与第二图片,生成第二新图,第二新图包含待检测零件图像的全部或部分,第二新图的尺寸为预设大小,其中待检测零件图像在第二新图中的位姿在预设的偏差范围之内。
缺陷检测模块508用于将第二新图输入到人工神经网络中,以检测待检测零件的外观是否存在缺陷。
在一些实施例中,位姿确定模块504包括:二值化处理单元及位姿确定单元。二值化处理单元用于对第二图片进行二值化处理,获得第二二值化图片。位姿确定单元用于根据第二二值化图片中待检测零件图像的斑点的位姿,确定待检测零件图像在第二图片中的位姿。
在一些实施例中,位姿确定模块504包括:相似度确定单元及位姿确定单元。相似度确定单元用于根据提供的模板图片,分别确定模板图片与第二图片各位置之间的相似度。位姿确定单元用于根据相似度,确定待检测零件图像在第二图片中的位姿。
在一些实施例中,当第二新图包含第二图片不含的像素时,像素为填充像素,填充像素为第二图片中非待检测零件图像区域的像素的均值或者为预设的固定像素值。
在一些实施例中,装置50还包括:结果判断模块,用于当缺陷检测模块508检测出待检测零件的外观存在缺陷时,根据缺陷检测模块508检测出的缺陷区域,判断检测结果是否正确。
在一些实施例中,结果判断模块包括:结果判断单元,用于根据缺陷区域的几何信息和/或灰度信息,判断人工神经网络的检测结果是否正确。
图16是根据一示例性实施方式示出的另一种零件外观缺陷检测装置的框图。如图16所示,装置60包括:图片采集模块602、位姿确定模块604、新图生成模块606、二值化处理模块608、第一缺陷检测模块610及第二缺陷检测模块612。
其中,图片采集模块602用于采集包含待检测零件图像的第二图片。
位姿确定模块604用于确定待检测零件图像在第二图片中的位姿。
新图生成模块606用于根据待检测零件图像的位姿与第二图片,生成第二新图,第二新图包含待检测零件图像的全部或部分,第二新图的尺寸为预设大小,其中待检测零件图像在第二新图中的位姿在预设的偏差范围之内。
二值化处理模块608用于对第二新图或者第二图片进行二值化图像处理,获得二值化图像处理结果。
第一缺陷检测模块610用于根据二值化图像处理结果,判断待检测零件的外观是否存在缺陷。
第二缺陷检测模块612用于当第一缺陷检测模块判断待检测零件的外观存在缺陷的概率低于预设的阈值时,将第二新图输入到经过训练的人工神经网络中,以检测待检测零件的外观是否存在缺陷。
在一些实施例中,位姿确定模块604包括:二值化处理单元及位姿确定单元。二值化处理单元用于对第二图片进行二值化处理,获得第二二值化图片。位姿确定单元用于根据第二二值化图片中待检测零件图像的斑点的位姿,确定待检测零件图像在第二图片中的位姿。
在一些实施例中,位姿确定模块604包括:相似度确定单元及位姿确定单元。相似度确定单元用于根据提供的模板图片,分别确定模板图片与第二图片各位置之间的相似度。位姿确定单元用于根据相似度,确定待检测零件图像在第二图片中的位姿。
在一些实施例中,当第二新图包含第二图片不含的像素时,像素为填充像素,填充像素为第二图片中非待检测零件图像区域的像素的均值或者为预设的固定像素值。
在一些实施例中,装置60还包括:结果判断模块,用于当缺陷检测模块508检测出待检测零件的外观存在缺陷时,根据缺陷检测模块508检测出的缺陷区域,判断检测结果是否正确。
在一些实施例中,结果判断模块包括:结果判断单元,用于根据缺陷区域的几何信息和/或灰度信息,判断人工神经网络的检测结果是否正确。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图17是根据一示例性实施方式示出的一种服务器的结构示意图。
参考图17,服务器600可以包括处理组件601、存储器602、电源组件603、通信接口604及输入输出(I/O)接口605,这些部件可在总线606上通信。
处理组件601进一步包括一个或多个处理器。处理器可以是由中央处理器(CPU)、网络处理器(network processor,NP)、图形处理器(GPU)或CPU、NP与GPU的组合。处理器还可以进一步包括硬件芯片,例如可以是专用集成电路(ASIC)、可编程逻辑器件(PLD)或其组合。可编程逻辑器件例如可以是复杂可编程逻辑器件(CPLD)、现场可编程逻辑门阵列(FPGA)、通用阵列逻辑(GAL)或其组合。
由存储器602所代表的存储资源,用于存储可由处理组件601执行的指令,例如应用程序。存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
存储器602中存储的应用程序可以包括一个或一个以上的、每一个对应于一组指令的模块。
此外,当处理组件601包含的处理器为CPU时,处理组件601被配置为执行指令,以执行上述如图1、图5或图11中所示的步骤。当处理组件601包含的处理器为FPGA、ASIC等硬件时,处理组件601无需存储器602存储指令,FPGA、ASIC等硬件处理器可以直接执行被写入其中的指令。
电源组件603被配置为执行服务器600的电源管理。
通信接口604被配置为将服务器600连接到网络,也即通过该接口使服务器600与其他设备进行通信。通信接口604可以为有线通信接口、无线通信接口或其组合。有线通信接口例如可以为以太网接口,以太网接口可以是光接口、电接口或其组合。无线通信接口例如可以为WLAN接口、蜂窝网络接口或其组合等。
服务器600可以操作基于存储在存储器602中的操作系统,例如Windows 7,Windows 10,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
图18是根据一示例性实施方式示出的一种计算机可读存储介质的示意图。
参考图18所示,描述了根据本发明的实施方式的设置为实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:采集多张第一图片,其中每张第一图片包含零件图像;分别确定各所述零件图像在其所在的第一图片中的位姿;根据各所述零件图像的位姿与各所述第一图片,分别生成多张第一新图,所述多张第一新图分别包含各所述零件图像的全部或部分,所述多张第一新图的尺寸均为预设大小,其中各所述零件图像在各所述第一新图中的位姿在预设的偏差范围之内;以及分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
或者,采集包含待检测零件图像的第二图片;确定所述待检测零件图像在所述第二图片中的位姿;根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;以及将所述第二新图输入到人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
再或者,采集包含待检测零件图像的第二图片;确定所述待检测零件图像在所述第二图片中的位姿;根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含各所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;对所述第二新图或者所述第二图片进行二值化图像处理,获得二值化图像处理结果;根据所述二值化图像处理结果,判断所述待检测零件的外观是否存在缺陷;以及如果判断所述待检测零件的外观存在缺陷的概率低于预设的阈值,则将所述第二新图输入到经过训练的人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (21)
1.一种用于零件外观缺陷检测的人工神经网络的训练方法,其特征在于,包括:
采集多张第一图片,其中每张第一图片包含零件图像;
分别确定各所述零件图像在其所在的第一图片中的位姿;
根据各所述零件图像的位姿与各所述第一图片,分别生成多张第一新图,所述多张第一新图分别包含各所述零件图像的全部或部分,所述多张第一新图的尺寸均为预设大小,其中各所述零件图像在各所述第一新图中的位姿在预设的偏差范围之内;以及
分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
2.根据权利要求1所述的方法,其特征在于,分别确定各所述零件图像在其所在的第一图片中的位姿包括:
对所述多张第一图片进行二值化处理,分别获得多张第一二值化图片;以及
根据所述多张第一二值化图片中各所述零件图像的斑点的位姿,分别确定各所述零件图像在其所在的第一图片中的位姿。
3.根据权利要求1所述的方法,其特征在于,分别确定各所述零件图像在其所在的第一图片中的位姿包括:
根据提供的模板图片,分别确定所述模板图片与所述多张第一图片各位置之间的相似度;以及
根据所述相似度,分别确定各所述零件图像在其所在的第一图片中的位姿。
4.根据权利要求1所述的方法,其特征在于,当所述第一新图包含其对应的所述第一图片不包含的像素时,所述像素为填充像素,所述填充像素为所述第一新图对应的所述第一图片中非所述零件图像区域的像素的均值或者为预设的固定像素值。
5.根据权利要求1-4任一项所述的方法,其特征在于,分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练包括:在云服务器中分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述人工神经网络为语义分割神经网络或目标检测神经网络。
7.一种零件外观缺陷检测方法,其特征在于,包括:
采集包含待检测零件图像的第二图片;
确定所述待检测零件图像在所述第二图片中的位姿;
根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;以及
将所述第二新图输入到人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
8.一种零件外观缺陷检测方法,其特征在于,包括:
采集包含待检测零件图像的第二图片;
确定所述待检测零件图像在所述第二图片中的位姿;
根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含各所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;
对所述第二新图或者所述第二图片进行二值化图像处理,获得二值化图像处理结果;
根据所述二值化图像处理结果,判断所述待检测零件的外观是否存在缺陷;以及
如果判断所述待检测零件的外观存在缺陷的概率低于预设的阈值,则将所述第二新图输入到经过训练的人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
9.根据权利要求7或8所述的方法,其特征在于,确定所述待检测零件图像在所述第二图片中的位姿包括:
对所述第二图片进行二值化处理,获得第二二值化图片;以及
根据所述第二二值化图片中所述待检测零件图像的斑点的位姿,确定所述待检测零件图像在所述第二图片中的位姿。
10.根据权利要求7或8所述的方法,其特征在于,确定所述待检测零件图像在所述第二图片中的位姿包括:
根据提供的模板图片,分别确定所述模板图片与所述第二图片各位置之间的相似度;以及
根据所述相似度,确定所述待检测零件图像在所述第二图片中的位姿。
11.根据权利要求7或8所述的方法,其特征在于,当所述第二新图包含所述第二图片不含的像素时,所述像素为填充像素,所述填充像素为所述第二图片中非所述待检测零件图像区域的像素的均值或者为预设的固定像素值。
12.根据权利要求7或8所述的方法,其特征在于,还包括:当通过所述人工神经网络检测出所述待检测零件的外观存在缺陷时,根据通过所述人工神经网络检测出的缺陷区域,判断所述人工神经网络的检测结果是否正确。
13.根据权利要求12所述的方法,其特征在于,根据所述人工神经网络检测出的缺陷区域,判断所述人工神经网络的检测结果是否正确包括:根据所述缺陷区域的几何信息和/或灰度信息,判断所述人工神经网络的检测结果是否正确。
14.根据权利要求7或8所述的方法,其特征在于,将所述第二新图输入到经过训练的人工神经网络中之前还包括:根据权利要求1-6任一项所述的方法训练所述人工神经网络,获得经过训练的所述人工神经网络。
15.一种用于零件外观缺陷检测的人工神经网络的训练装置,其特征在于,包括:
图片采集模块,用于采集多张第一图片,其中每张第一图片包含一个零件图像;
位姿确定模块,用于分别确定各所述零件图像在其所在的第一图片中的位姿;
新图生成模块,用于根据各所述零件图像的位姿与各所述第一图片,分别生成多张第一新图,所述多张第一新图分别包含各所述零件图像的全部或部分,所述多张第一新图的尺寸均为预设大小,其中各所述零件图像在各所述第一新图中的位姿在预设的偏差范围之内;以及
网络训练模块,用于分别将通过缺陷标注后的所述多张第一新图输入到人工神经网络中进行训练,以获得经过训练的人工神经网络。
16.一种零件外观缺陷检测装置,其特征在于,包括:
图片采集模块,用于采集包含待检测零件图像的第二图片;
位姿确定模块,用于确定所述待检测零件图像在所述第二图片中位姿;
新图生成模块,用于根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;以及
缺陷检测模块,用于将所述第二新图输入到人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
17.一种零件外观缺陷检测装置,其特征在于,包括:
图片采集模块,用于采集包含待检测零件图像的第二图片;
位姿确定模块,用于确定所述待检测零件图像在所述第二图片中的位姿;
新图生成模块,用于根据所述待检测零件图像的位姿与所述第二图片,生成第二新图,所述第二新图包含所述待检测零件图像的全部或部分,所述第二新图的尺寸为预设大小,其中所述待检测零件图像在所述第二新图中的位姿在预设的偏差范围之内;
二值化处理模块,用于对所述第二新图或者所述第二图片进行二值化图像处理,获得二值化图像处理结果;
第一缺陷检测模块,用于根据所述二值化图像处理结果,判断所述待检测零件的外观是否存在缺陷;以及
第二缺陷检测模块,用于当所述第一缺陷检测模块判断所述待检测零件的外观存在缺陷的概率低于预设的阈值时,将所述第二新图输入到经过训练的人工神经网络中,以检测所述待检测零件的外观是否存在缺陷。
18.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-6任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-6任一项所述的方法。
20.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求7-14任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求7-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811638600.5A CN109767431A (zh) | 2018-12-29 | 2018-12-29 | 零件外观缺陷检测方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811638600.5A CN109767431A (zh) | 2018-12-29 | 2018-12-29 | 零件外观缺陷检测方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109767431A true CN109767431A (zh) | 2019-05-17 |
Family
ID=66453078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811638600.5A Pending CN109767431A (zh) | 2018-12-29 | 2018-12-29 | 零件外观缺陷检测方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109767431A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111044525A (zh) * | 2019-12-30 | 2020-04-21 | 歌尔股份有限公司 | 一种产品缺陷检测方法、装置与系统 |
CN112098426A (zh) * | 2020-11-17 | 2020-12-18 | 北京领邦智能装备股份公司 | 高精度的成像系统、方法、图像采集装置及检测设备 |
CN112288676A (zh) * | 2019-07-12 | 2021-01-29 | 富士通株式会社 | 检测产品缺陷的方法和装置 |
CN113450311A (zh) * | 2021-06-01 | 2021-09-28 | 国网河南省电力公司漯河供电公司 | 基于语义分割和空间关系的带销螺丝缺陷检测方法及系统 |
CN115049641A (zh) * | 2022-08-10 | 2022-09-13 | 启东普力马机械有限公司 | 一种用于机械零件异常检测的电数据处理方法及系统 |
TWI794718B (zh) * | 2020-11-25 | 2023-03-01 | 鴻海精密工業股份有限公司 | 電路板檢測方法、電子裝置及存儲介質 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317783A1 (en) * | 2012-12-05 | 2015-11-05 | Hseb Dresden Gmbh | Inspection Apparatus |
CN106504238A (zh) * | 2016-10-31 | 2017-03-15 | 成都交大光芒科技股份有限公司 | 基于图像处理和卷积神经网络的铁路接触网缺陷检测方法 |
CN108061735A (zh) * | 2017-12-01 | 2018-05-22 | 工业互联网创新中心(上海)有限公司 | 零部件表面缺陷的识别方法和装置 |
CN108230321A (zh) * | 2018-01-19 | 2018-06-29 | 深圳市亿图视觉自动化技术有限公司 | 缺陷检测方法及装置 |
US20180276806A1 (en) * | 2017-03-22 | 2018-09-27 | Toshiba Memory Corporation | Method for detecting coordinates, coordinate output device and defect inspection device |
-
2018
- 2018-12-29 CN CN201811638600.5A patent/CN109767431A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317783A1 (en) * | 2012-12-05 | 2015-11-05 | Hseb Dresden Gmbh | Inspection Apparatus |
CN106504238A (zh) * | 2016-10-31 | 2017-03-15 | 成都交大光芒科技股份有限公司 | 基于图像处理和卷积神经网络的铁路接触网缺陷检测方法 |
US20180276806A1 (en) * | 2017-03-22 | 2018-09-27 | Toshiba Memory Corporation | Method for detecting coordinates, coordinate output device and defect inspection device |
CN108061735A (zh) * | 2017-12-01 | 2018-05-22 | 工业互联网创新中心(上海)有限公司 | 零部件表面缺陷的识别方法和装置 |
CN108230321A (zh) * | 2018-01-19 | 2018-06-29 | 深圳市亿图视觉自动化技术有限公司 | 缺陷检测方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112288676A (zh) * | 2019-07-12 | 2021-01-29 | 富士通株式会社 | 检测产品缺陷的方法和装置 |
CN111044525A (zh) * | 2019-12-30 | 2020-04-21 | 歌尔股份有限公司 | 一种产品缺陷检测方法、装置与系统 |
CN111044525B (zh) * | 2019-12-30 | 2021-10-29 | 歌尔股份有限公司 | 一种产品缺陷检测方法、装置与系统 |
US11748873B2 (en) | 2019-12-30 | 2023-09-05 | Goertek Inc. | Product defect detection method, device and system |
CN112098426A (zh) * | 2020-11-17 | 2020-12-18 | 北京领邦智能装备股份公司 | 高精度的成像系统、方法、图像采集装置及检测设备 |
CN112098426B (zh) * | 2020-11-17 | 2021-06-29 | 北京领邦智能装备股份公司 | 高精度的成像系统、方法、图像采集装置及检测设备 |
TWI794718B (zh) * | 2020-11-25 | 2023-03-01 | 鴻海精密工業股份有限公司 | 電路板檢測方法、電子裝置及存儲介質 |
CN113450311A (zh) * | 2021-06-01 | 2021-09-28 | 国网河南省电力公司漯河供电公司 | 基于语义分割和空间关系的带销螺丝缺陷检测方法及系统 |
CN115049641A (zh) * | 2022-08-10 | 2022-09-13 | 启东普力马机械有限公司 | 一种用于机械零件异常检测的电数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109767431A (zh) | 零件外观缺陷检测方法、装置、设备及可读存储介质 | |
CN111178250B (zh) | 物体识别定位方法、装置及终端设备 | |
US11113819B2 (en) | Graphical fiducial marker identification suitable for augmented reality, virtual reality, and robotics | |
US10846543B2 (en) | Method and apparatus for detecting lane line, and medium | |
US9773196B2 (en) | Utilizing deep learning for automatic digital image segmentation and stylization | |
TWI566204B (zh) | 三維物件識別技術 | |
CN112669318B (zh) | 表面缺陷检测方法、装置、设备及存储介质 | |
JP2019032830A (ja) | 対象オブジェクトをつかみ取るための把持姿勢を検出するシステム及び方法 | |
JP2019514123A (ja) | 地理的領域におけるコンテナ内に格納された量の遠隔決定 | |
CN108921057B (zh) | 基于卷积神经网络的对虾形态测量方法、介质、终端设备及装置 | |
JP2016161569A (ja) | オブジェクトの3d姿勢およびオブジェクトのランドマーク点の3dロケーションを求める方法、およびオブジェクトの3d姿勢およびオブジェクトのランドマークの3dロケーションを求めるシステム | |
KR102649930B1 (ko) | 비전 시스템을 갖는 이미지에서 패턴을 찾고 분류하기 위한 시스템 및 방법 | |
US20180225799A1 (en) | System and method for scoring color candidate poses against a color image in a vision system | |
US9704042B2 (en) | Predicting tree species from aerial imagery | |
CN107004266A (zh) | 检测轮胎表面上缺陷的方法 | |
CN109583493A (zh) | 一种基于深度学习的信用卡检测和数字识别方法 | |
CN113920081A (zh) | 一种刀具磨损度检测方法 | |
CN115272234A (zh) | 瓶盖质量检测方法、装置、计算机设备及存储介质 | |
CN111598033B (zh) | 货物的定位方法、装置、系统及计算机可读存储介质 | |
CN111104942B (zh) | 一种模板匹配网络训练方法、识别方法及装置 | |
CN111079752A (zh) | 识别红外图像中的断路器的方法、装置及可读存储介质 | |
US11978197B2 (en) | Inspection method for inspecting an object and machine vision system | |
CN113343987B (zh) | 文本检测处理方法、装置、电子设备及存储介质 | |
CN114463737A (zh) | 一种基于3d建模中隐式表示的3d目标检测方法和系统 | |
CN114266879A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190517 |