缺陷检测方法和装置
文献发布时间:2023-06-19 10:54:12
技术领域
本发明涉及目标检测技术领域,具体涉及一种缺陷检测方法和一种缺陷检测装置。
背景技术
相关技术中,在对待检测产品进行缺陷检测时,仅仅能检测出待检测产品是否存在,至于该待检测产品具体存在何种缺陷,例如待检测产品是否存在喷砂不均的缺陷,还需要采用人工的方式进行检测,不仅大大增加了人工成本,而且检测的准确度较低。
发明内容
本发明为解决上述技术问题,提供了一种缺陷检测方法,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
本发明采用的技术方案如下:
一种缺陷检测方法,包括:获取待检测产品的目标检测图像;在所述目标检测图像的列方向上均匀划分多个起点;获取每个起点对应的水平方向上的亮度曲线;根据所述亮度曲线检测所述待检测产品是否存在喷砂不均的缺陷。
所述获取待检测产品的目标检测图像,包括:对所述待检测产品进行拍摄,以获取第一检测图像,其中,所述第一检测图像包括背景部分和待检测产品部分;根据所述背景部分和所述待检测产品部分的像素值对所述第一检测图像进行二值化处理,以获取二值化图像;对所述二值化图像进行筛选,以获取第二检测图像,其中,所述待检测产品均处于所述第二检测图像中;对所述第二检测图像进行边缘检测,以获取第三检测图像;根据所述第三检测图像获取所述目标检测图像。
所述根据所述第三检测图像获取所述目标检测图像,包括:获取所述第三检测图像的边缘;采用最小二乘法对所述第三检测图像的边缘进行拟合以获取所述第三检测图像的边缘直线;根据所述边缘直线获取所述第三检测图像的角点;根据所述角点对所述第三检测图像进行透视变换,以获取所述目标检测图像。
所述获取每个起点对应的水平方向上的亮度曲线,包括:在所述每个起点对应的水平方向上划分多个子区域,并获取各子区域的平均像素值;根据所述平均像素值获取所述每个起点对应的水平方向上的亮度曲线。
所述根据所述亮度曲线检测所述待检测产品是否存在喷砂不均的缺陷,包括:采用多项式拟合的方式对所述亮度曲线进行拟合,并生成目标多项式;采用目标分类模型根据所述目标多项式检测所述待检测产品是否存在喷砂不均的缺陷。
所述目标分类模型为KNN模型或者One-Class SVM模型。
一种缺陷检测装置,包括:第一获取模块,所述第一获取模块用于获取待检测产品的目标检测图像;划分模块,所述划分模块用于在所述目标检测图像的列方向上均匀划分多个起点;第二获取模块,所述第二获取模块用于获取每个起点对应的水平方向上的亮度曲线;检测模块,所述检测模块用于根据所述亮度曲线检测所述待检测产品是否存在喷砂不均的缺陷。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的缺陷检测方法。
本发明的有益效果:
本发明能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
附图说明
图1为本发明实施例的缺陷检测方法的流程图;
图2为本发明一个实施例的获取待检测产品的目标检测图像的方法的流程图;
图3为本发明一个具体实施例的边缘检测的路径示意图;
图4为本发明一个具体实施例的八次曲线拟合喷砂不均图像效果图;
图5为本发明一个具体实施例的八次曲线拟合正常图像效果图;
图6为本发明实施例的缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明实施例的缺陷检测方法的流程图。
如图1所示,本发明实施例的缺陷检测方法,可包括以下步骤:
S1,获取待检测产品的目标检测图像。
根据本发明的一个实施例,如图2所示,获取待检测产品的目标检测图像,可包括以下步骤:
S101,对待检测产品进行拍摄,以获取第一检测图像。其中,第一检测图像包括背景部分和待检测产品部分。
具体地,可采用摄像装置(例如,相机)对待检测产品(例如,笔记本电脑等)进行拍摄,以获取第一检测图像。其中,第一检测图像可由背景部分和待检测产品部分构成,背景部分和待检测产品部分的颜色需要有明显的区别,例如,背景部分为黑色,待检测产品部分为灰色的纹理。
S102,根据背景部分和待检测产品部分的像素值对第一检测图像进行二值化处理,以获取二值化图像。
具体而言,在对第一检测图像进行二值化处理时,可先获取分割阈值。其中,可根据背景部分的像素最大值和待检测产品部分的像素值选择分割阈值,举例而言,一般情况下,背景部分的像素值在0~5范围内,在拍摄时由于瑕疵或噪音因素的影响会出现像素为40的像素值跳动,而待检测产品部分的像素值在60~90范围内,因此,可选择50作为分割阈值。在获取到分割阈值后,可根据该分割阈值对第一检测图像进行二值化处理,以获取二值化图像。其中,在二值化处理后,可将背景部分记为0(像素值为0),待检测产品部分记为255(像素值为255)。
S103,对二值化图像进行筛选,以获取第二检测图像。其中,待检测产品均处于第二检测图像中。
S104,对第二检测图像进行边缘检测,以获取第三检测图像。
具体而言,在进行边缘检测时,需确保待检测产品整个都处于图像中,因此,在进行边缘检测之前,需要对二值化图像进行筛选,以获取第二检测图像,其中,在第二检测图像中均能显示出整个待检测产品。
具体地,可根据二值化图像的像素值进行筛选,其中,筛选出的第二检测图像满足以下条件:筛选出的第二检测图像边缘上的像素值均为0(不存在边缘上的像素值为255的情况),并且第二检测图像中像素值为255的区域的面积与待检测产品的面积相等(或近似)。
进一步而言,在筛选出第二检测图像后,通过预设范围的边缘探测搜索待检测产品的边缘。具体地,如图3所示,对于第二检测图像,图3中箭头表示从图像边缘向内探测的路径,其中,每一个边的两条箭头之间表示边缘探测范围,边缘探测范围的取值满足以下条件:在待检测产品处于第二检测图像中时,任意移动待检测产品的位置,边缘探测范围均能分别在产品的四边的范围中,也就是说,待检测产品处于第二检测图像中,并且在移动待检测产品的位置时,待检测产品的边缘也不会接触到第二检测图像的边缘。边缘检测的流程如下:首先,沿着探测方向上的点取3*3范围(也可为其他预设范围)的像素均值,如果9个点有6个及以上的点为255即均值大于等于170,且沿同方向后面2个点也同时满足,而前1个点不满足该条件,则确定该点为边缘点。由此,该边缘检测方法能够有效地避免背景中一些噪点的影响,确保找到的点为产品真实的边缘。
S105,根据第三检测图像获取目标检测图像。
根据本发明的一个实施例,根据第三检测图像获取目标检测图像,包括:获取第三检测图像的边缘;采用最小二乘法对第三检测图像的边缘进行拟合以获取第三检测图像的边缘直线;根据边缘直线获取第三检测图像的角点;根据角点对第三检测图像进行透视变换,以获取目标检测图像。
具体而言,在获取第三检测图像的边缘后(即,待检测产品的边缘),可采用最小二乘法对每条边缘进行拟合,以获取对应的边缘直线。在获取到四条边缘直线后,可计算两两角点。进一步而言,在知道角点以后,可对所述第三检测图像进行透视变换,以将第三检测图像从一般的四边形转化为矩形的目标检测图像。其中,该方法可将不同角度下的待检测产品图像投影到同样的视平面,从而使得所有不同图像上的待检测产品统一成同平面的矩形图像,以便于下一步计算水平方向上的亮度曲线。
S2,在目标检测图像的列方向上均匀划分多个起点。
S3,获取每个起点对应的水平方向上的亮度曲线。
根据本发明的一个实施例,获取每个起点对应的水平方向上的亮度曲线,包括:在每个起点对应的水平方向上划分多个子区域,并获取各子区域的平均像素值;根据平均像素值获取每个起点对应的水平方向上的亮度曲线。
具体而言,可在目标检测图像左侧的列方向上平均划分多个起点(例如,划分30个起点),然后每个起点从左往右计算对应的水平方向上的亮度曲线。其中,亮度曲线的计算方法可为求当前列坐标从左往右横向预设范围(即,子区域,例如,3*3区域)的平均像素值,并根据平均像素值获取每个起点对应的水平方向上的亮度曲线。
S4,根据亮度曲线检测待检测产品是否存在喷砂不均的缺陷。
根据本发明的一个实施例,根据亮度曲线检测待检测产品是否存在喷砂不均的缺陷,包括:采用多项式拟合的方式对亮度曲线进行拟合,并生成目标多项式;采用目标分类模型根据目标多项式检测待检测产品是否存在喷砂不均的缺陷。
其中,目标分类模型为KNN模型或者One-Class SVM模型。
具体而言,一般来说,正常产品的亮度曲线会在一个比较小的正常亮度区间波动,而喷砂不均的产品的亮度曲线会偏离正常亮度区间或进行幅度较大的波动。从数学原理上说,正常产品的亮度曲线的方程会与喷砂不均的亮度曲线的方程相差较远。因此,本发明可采用多项式(例如,八次多项式)来拟合亮度曲线,进而表示每个亮度曲线的特征,通过比较多次曲线的系数来区分正常产品和喷砂不均的产品。举例而言,可采用八次多项式来拟合亮度曲线,其中,选择八次多项式的原因是其能比较恰当地形容曲线特征,低次的多项式项数少不能对曲线进行明显的区分,而太高次的多项式会使正常范围内的曲线区分过大。亮度散点用八次曲线拟合后的喷砂不均图像可如图4所示,正常图像可为图5所示,我们可以看出喷砂不均的图像波动较大而正常图像波动较小。
其中,多项式拟合原理如下:公式(1)为多项式的表达式,即
其中,k表示多项式的次数,a
其中,
化简得:
其中,
其中X、A和Y分别为:
通过矩阵计算求得多项式系数a
在本发明的一个具体实施例中,k=8,对应的每一条亮度曲线均能获得9个系数,以此代表每条亮度变化曲线的特征,然后采用目标分类模型对9个系数的特征进行分类。其中,目标分类模型可为KNN(K-Nearest Neighbor,K-近邻)模型或者One-Class SVM模型。将图像上的像素转化为八次曲线的系数作为特征的目的是:在保留主要信息即亮度变化信息的条件下降低成统一的特征维数,如果直接使用曲线像素值作为特征会导致维数过大,计算量过大,并且会包括其他不必要的信息,不同图像的曲线长度会有少许不同,无法直接比较。
作为一种可能的实施方式,当采用KNN模型进行KNN分类时,首先,可通过正常的样本特征生成KNN模型。KNN模型是一群正常的样本点,本发明可从20张正常图像中共取出600个正常亮度曲线的样本点。在判断新的样本点时,通过以新样本点为中心,半径为R的范围内有多少个正常的样本点,如果超过一个阈值m,那么这个样本点就分为正常样本。而R和m值的选择根据采集到的喷砂不均的样本进行计算获取。此时,可另外采集10张正常图像和10张喷砂不均的图像,分别提取300个正常和喷砂不均的亮度曲线样本,使用不同的R和m进行分类,分类结果使用F1-score进行评价,最后选择F1-score最好的一组R和m作为KNN分类器的参数。
其次,在实际使用时,新样本通过设定好的R和m判断是否为喷砂不均的样本。具体地,在分类过程中,可标注出图像中的正常样本和待测样本,以待测样本为中心,画半径为R的圆,通过判断圆内正常样本的数量来分类。如果正常样本的数量大于m,则确定为正常样本,反之则是喷砂不均样本。
需要说明的是,由于一张图像有多个亮度变化曲线,仅凭少数几条不正常的曲线不能判断该产品就为喷砂不均。因此,可设置一个阈值来判断整体是否是喷砂不均的产品。例如,可选择4条及以上作为判断整体产品是否合格的阈值,在不同的要求下可选择不同的阈值进行分类。
其中,在分类时,也可采用One-Class SVM模型代替KNN模型进行分类。
作为另一种可能的实施方式,在提取亮度变化曲线特征时,也可直接用像素值作为特征或使用像素的变化量(前后像素值相减)作为特征,然后再使用PCA(PrincipalComponent Analysis,主成分分析)降维后进行分类。
由此,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
综上所述,根据本发明实施例的缺陷检测方法,获取待检测产品的目标检测图像,并在目标检测图像的列方向上均匀划分多个起点,以及获取每个起点对应的水平方向上的亮度曲线,并根据亮度曲线检测待检测产品是否存在喷砂不均的缺陷。由此,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
对应上述实施例的缺陷检测方法,本发明还提出一种缺陷检测装置。
如图6所示,本发明实施例的缺陷检测装置可包括:第一获取模块100、划分模块200、第二获取模块300和检测模块400。其中,第一获取模块100用于获取待检测产品的目标检测图像;划分模块200用于在目标检测图像的列方向上均匀划分多个起点;第二获取模块300用于获取每个起点对应的水平方向上的亮度曲线;检测模块400用于根据亮度曲线检测待检测产品是否存在喷砂不均的缺陷。
根据本发明的一个实施例,第一获取模块100具体用于:对待检测产品进行拍摄,以获取第一检测图像,其中,第一检测图像包括背景部分和待检测产品部分;根据背景部分和待检测产品部分的像素值对第一检测图像进行二值化处理,以获取二值化图像;对二值化图像进行筛选,以获取第二检测图像,其中,待检测产品均处于第二检测图像中;对第二检测图像进行边缘检测,以获取第三检测图像;根据第三检测图像获取目标检测图像。
根据本发明的一个实施例,第一获取模块100具体还用于获取第三检测图像的边缘;采用最小二乘法对第三检测图像的边缘进行拟合以获取第三检测图像的边缘直线;根据边缘直线获取第三检测图像的角点;根据角点对第三检测图像进行透视变换,以获取目标检测图像。
根据本发明的一个实施例,第二获取模块300具体用于在每个起点对应的水平方向上划分多个子区域,并获取各子区域的平均像素值;根据平均像素值获取每个起点对应的水平方向上的亮度曲线。
根据本发明的一个实施例,检测模块400具体用于:采用多项式拟合的方式对亮度曲线进行拟合,并生成目标多项式;采用目标分类模型根据目标多项式检测待检测产品是否存在喷砂不均的缺陷。
根据本发明的一个实施例,目标分类模型为KNN模型或者One-Class SVM模型。
需要说明的是,本发明实施例的缺陷检测装置更具体的实施方式可参照上述缺陷检测方法的实施例,在此不再赘述。
根据本发明实施例的缺陷检测装置,通过第一获取模块获取待检测产品的目标检测图像,以及通过划分模块在目标检测图像的列方向上均匀划分多个起点,并通过第二获取模块获取每个起点对应的水平方向上的亮度曲线,以及通过检测模块根据亮度曲线检测待检测产品是否存在喷砂不均的缺陷。由此,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的缺陷检测方法。
根据本发明实施例的计算机设备,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,能够准确地检测出待检测产品是否存在喷砂不均的缺陷,并且无需人工参与,从而大大减少了人工成本。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
- 塑料光纤的芯径测量方法及用于该塑料光纤的芯径测量方法的塑料光纤的芯径测量装置、塑料光纤的缺陷检测方法及用于该塑料光纤的缺陷检测方法的塑料光纤的缺陷检测装置
- 缺陷检测装置、缺陷修正装置及缺陷检测方法