一种目标物体的边缘缺陷检测方法及装置、存储介质转让专利

申请号 : CN202110633504.7

文献号 : CN113077467B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨洋

申请人 : 深圳市华汉伟业科技有限公司

摘要 :

本申请涉及一种目标物体的边缘缺陷检测方法及装置、存储介质,其中边缘缺陷检测方法包括:获取目标物体的待检测图像以及设置的感兴趣区域;对感兴趣区域进行边缘检测,得到目标物体在自由曲线上的边缘点集合;将目标物体在感兴趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个曲线段在边缘点集合中对应的多个边缘点;对每个曲线段配置对应的基准线,计算边缘点集合中对应的多个边缘点分别到达基准线的距离;将距离与预设的距离阈值进行比较,根据比较结果确定边缘点集合中候选的多个缺陷点;根据候选的多个缺陷点确定目标物体的边缘缺陷。技术方案能够以图像处理的方式检测到物体边缘上的毛刺,提高边缘检测的准确度和效率。

权利要求 :

1.一种目标物体的边缘缺陷检测方法,所述目标物体具有自由曲线构成的边缘,其特征在于,所述边缘缺陷检测方法包括:获取所述目标物体的待检测图像以及所述待检测图像上设置的感兴趣区域;

对所述感兴趣区域进行边缘检测,得到所述目标物体在自由曲线上的边缘点集合包括:根据预设的宽度w和步长s在所述感兴趣区域中上生成多个待检测的子区域并形成区域序列,通过筛选获取各个所述子区域内分别筛选得到的边缘点,构成所述目标物体的边缘点集合;

对所述边缘点集合进行亚像素插值包括:对于所述边缘点集合中的每个边缘点,获取该边缘点和前后边缘点的梯度值且分别表示为 ,下标i为边缘点的序号;利用获取的梯度值进行抛物曲线的拟合,得到抛物曲线的系数aʹ、bʹ、cʹ,则抛物曲线表示为y2

=aʹx +bʹx+cʹ;获得所述抛物曲线在局部坐标系中的最大值ymax对应的xmax,利用亚像素的坐标插值结果xmax更新所述边缘点集合中第i个边缘点的坐标;构成新边缘点集合,所述新边缘点集合中的各个边缘点用于参与基准线配置和计算到达基准线的距离;

其中,所述获得所述抛物曲线在局部坐标系中的最大值ymax对应的xmax,利用亚像素的2

坐标插值结果xmax更新所述边缘点集合中第i个边缘点的坐标包括:在抛物曲线y=aʹx +bʹx+cʹ上,获取y的最大值对应的x值,x=‑b/(2a)且用于表示亚像素偏差;在局部坐标系中,x满足xє[‑0.5,0.5],若计算结果不在这个范围内则将亚像素偏差设置为0,亚像素的坐标插值结果xmax用公式表示为

根据获得的亚像素插值结果xmax更新对应的亚像素坐标,旋转前对应的亚像素坐标为(xiʹ, yiʹ),xiʹ=xi+xmax,yiʹ=yi,旋转后的亚像素坐标为;

其中 表示第i个子区域的中心坐标,αi表示第i个子区域的旋转角度, 为更新后的亚像素坐标;

将所述目标物体在所述感兴趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个所述曲线段在所述边缘点集合中对应的多个边缘点;

对每个所述曲线段配置对应的基准线,计算所述边缘点集合中对应的多个边缘点分别到达所述基准线的距离包括:对于每个所述曲线段,建立关于抛物线的损失函数并表示为;

其中,ε为所述曲线段在所述边缘点集合中对应的n个边缘点分别到抛物线的距离的累积误差,ωi为第i个权重系数,α、β、γ均为抛物线的系数;将所述曲线段对应的基准线设定为抛物线,在所述损失函数收敛时计算得到系数α、β、γ,并对所述曲线段对应的基准线进行配置;对于所述曲线段在所述边缘点集合中对应的每个边缘点pi,将边缘点pi的横坐标xi代入所述曲线段对应的基准线,计算得到纵坐标viʹ,并将(uiʹ,viʹ)作为边缘点pi对应的基准点,其中uiʹ=xi;则边缘点pi到达所述基准线的距离即为边缘点pi到达对应的基准点(uiʹ,viʹ)的距离,且表示为 ;

将到达所述基准线的距离与预设的距离阈值进行比较,根据比较结果确定所述边缘点集合中候选的多个缺陷点;

根据候选的多个缺陷点确定所述目标物体的边缘缺陷。

2.如权利要求1所述的边缘缺陷检测方法,其特征在于,对于所述区域序列中的每个子区域,利用所述子区域内各像素点的灰度值构建灰度投影曲线f,对所述灰度投影曲线进行梯度计算以得到梯度投影曲线f  ʹ,根据所述梯度投影曲线f ʹ 对所述目标物体进行边缘点的筛选,得到若干个边缘点。

3.如权利要求1所述的边缘缺陷检测方法,其特征在于,所述在所述损失函数收敛时计算得到系数α、β、γ,并对所述抛物线段对应的基准线进行配置,包括:对所述损失函数进行数组变换,得到参数表达式;

其中,(xi,yi)为边缘点的坐标;

将所述曲线段在所述边缘点集合中对应的多个边缘点分别输入所述参数表达式,迭代T

得到数组[αβγ] ,利用得到的数组对抛物线方程进行配置以得到所述曲线段对应的基准线。

4.如权利要求1所述的边缘缺陷检测方法,其特征在于,还包括:计算所述曲线段在所述边缘点集合中对应的多个边缘点分别到达对应的基准点的距离,得到距离序列{δi}(i=1...n),根据所述距离序列{δi}计算得到参考中值且表示为τ=

1.4826×med{δi};

利用Huber权重函数或者Tukey权重函数更新已建立的损失函数中的权重系数ωi,在已建立的损失函数收敛时重新配置所述曲线段对应的基准线,以及重新计算所述边缘点集合中对应的多个边缘点分别到达重新配置的基准线的距离,直至距离的计算结果收敛或者达到预设的迭代次数;

获得最后一次迭代处理时所述边缘点集合中对应的多个边缘点分别到达重新配置的基准线的距离;

其中,所述Huber权重函数表示为;

其中,所述Tukey权重函数表示为。

5.如权利要求1所述的边缘缺陷检测方法,其特征在于,还包括:计算所述目标物体的边缘点集合中各个边缘点分别到达对应的参考点的距离,得到边缘点和参考点的距离序列{li}(i=1...n);

对边缘点和参考点的距离序列{li}进行高斯模糊处理并拟合形成平滑曲线,根据拟合的平滑曲线中各距离值分别相对于参考点的距离计算对应的基准点的坐标,以及根据参考点和基准点的坐标获得距离序列{δi};所述距离序列{δi}用于作为所述边缘点集合中各边缘点分别到达所在曲线段对应的基准线的距离。

6.如权利要求1所述的边缘缺陷检测方法,其特征在于,所述将到达所述基准线的距离与预设的距离阈值进行比较,根据比较结果确定所述边缘点集合中候选的多个缺陷点,包括:

获取所述曲线段在所述边缘点集合中对应的多个边缘点分别到达所述基准线上对应基准点的距离;

对于边缘点pi,若到达对应基准点的距离δi大于预设的距离阈值,则确定边缘点pi为候选的缺陷点;

遍历所述边缘点集合中对应的各个边缘点,确定候选的多个缺陷点。

7.如权利要求1所述的边缘缺陷检测方法,其特征在于,所述根据候选的多个缺陷点确定所述目标物体的边缘缺陷,包括:从候选的多个缺陷点中搜寻坐标连续的若干个缺陷点;

判断所述若干个缺陷点满足预设的检测条件时,将所述若干个缺陷点确定为所述目标物体的一个边缘缺陷;

所述检测条件包括以下的一个或多个条件:所述若干个缺陷点的数目大于预设的第一阈值,所述若干个缺陷点中各缺陷点到达所述基准线的最大距离大于预设的第二阈值,所述若干个缺陷点构成的缺陷面积大于预设的第三阈值;所述若干个缺陷点构成的缺陷长度大于预设的第四阈值。

8.一种边缘检测装置,其特征在于,包括:相机,用于通过取像得到目标物体的待检测图像;

处理器,与所述相机连接,用于通过权利要求1‑7中任一项所述的边缘缺陷检测方法对所述待检测图像进行检测,得到所述目标物体的边缘缺陷;

显示器,与所述处理器连接,用于对所述目标物体的待检测图像和/或边缘缺陷进行显示。

9.如权利要求8所述的边缘检测装置,其特征在于,所述处理器包括:获取模块,用于获取目标物体的待检测图像以及所述待检测图像上设置的感兴趣区域;

第一检测模块,用于对所述感兴趣区域进行边缘检测,得到所述目标物体在自由曲线上的边缘点集合包括:根据预设的宽度w和步长s在所述感兴趣区域中上生成多个待检测的子区域并形成区域序列,通过筛选获取各个所述子区域内分别筛选得到的边缘点,构成所述目标物体的边缘点集合;

所述第一检测模块还对所述边缘点集合进行亚像素插值包括:对于所述边缘点集合中的每个边缘点,获取该边缘点和前后边缘点的梯度值且分别表示为 ,下标i为边缘点的序号;利用获取的梯度值进行抛物曲线的拟合,得到抛物曲线的系数aʹ、bʹ、cʹ,2

则抛物曲线表示为y=aʹx +bʹx+cʹ;获得所述抛物曲线在局部坐标系中的最大值ymax对应的xmax,利用亚像素的坐标插值结果xmax更新所述边缘点集合中第i个边缘点的坐标;构成新边缘点集合,所述新边缘点集合中的各个边缘点用于参与基准线配置和计算到达基准线的距离;

其中,所述获得所述抛物曲线在局部坐标系中的最大值ymax对应的xmax,利用亚像素的2

坐标插值结果xmax更新所述边缘点集合中第i个边缘点的坐标包括:在抛物曲线y=aʹx +bʹx+cʹ上,获取y的最大值对应的x值,x=‑b/(2a)且用于表示亚像素偏差;在局部坐标系中,x满足xє[‑0.5,0.5],若计算结果不在这个范围内则将亚像素偏差设置为0,亚像素的坐标插值结果xmax用公式表示为

根据获得的亚像素插值结果xmax更新对应的亚像素坐标,旋转前对应的亚像素坐标为(xiʹ, yiʹ),xiʹ=xi+xmax,yiʹ=yi,旋转后的亚像素坐标为;

其中 表示第i个子区域的中心坐标,αi表示第i个子区域的旋转角度, 为更新后的亚像素坐标;

分割模块,用于将所述目标物体在所述感兴趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个所述曲线段在所述边缘点集合中对应的多个边缘点;

计算模块,用于对每个所述曲线段配置对应的基准线,计算所述边缘点集合中对应的多个边缘点分别到达所述基准线的距离包括:对于每个所述曲线段,建立关于抛物线的损失函数并表示为

其中,ε为所述曲线段在所述边缘点集合中对应的n个边缘点分别到抛物线的距离的累积误差,ωi为第i个权重系数,α、β、γ均为抛物线的系数;将所述曲线段对应的基准线设定为抛物线,在所述损失函数收敛时计算得到系数α、β、γ,并对所述曲线段对应的基准线进行配置;对于所述曲线段在所述边缘点集合中对应的每个边缘点pi,将边缘点pi的横坐标xi代入所述曲线段对应的基准线,计算得到纵坐标viʹ,并将(uiʹ,viʹ)作为边缘点pi对应的基准点,其中uiʹ=xi;则边缘点pi到达所述基准线的距离即为边缘点pi到达对应的基准点(uiʹ,viʹ)的距离,且表示为 ;

比较模块,用于将到达所述基准线的距离与预设的距离阈值进行比较,根据比较结果确定所述边缘点集合中候选的多个缺陷点;

第二检测模块,用于根据候选的多个缺陷点确定所述目标物体的边缘缺陷。

10.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1‑7中任一项所述的边缘缺陷检测方法。

说明书 :

一种目标物体的边缘缺陷检测方法及装置、存储介质

技术领域

[0001] 本申请涉及图像处理技术领域,具体涉及一种目标物体的边缘缺陷检测方法及装置、存储介质。

背景技术

[0002] 工业产品中往往包含各种形状的边缘,例如圆形、长方形以及直线和圆弧的组合形状等。边缘是工业产品的一项重要特征,直接影响工业产品的质量,而边缘缺陷检测一直
是困扰本领域技术人员的难题。工业产品边缘缺陷检测主要是检测产品边缘的一致性,即
检测产品边缘是否存在凸痕、凹痕等缺陷。
[0003] 例如,对于手机外屏和集成电路硅片的边缘,手机外屏和集成电路硅片一般具有规则的边缘(手机外屏具有长方形边缘,集成电路硅片具有圆弧和直线的组合边缘);手机
外屏的边缘如果存在缺陷,则会影响到手机外屏的装配,甚至导致手机无法正常使用;集成
电路硅片的边缘如果存在缺陷,则会影响集成电路的制造,甚至导致基于集成电路硅片的
芯片质量下降。因此,对工业产品的边缘缺陷检测是工业生产的重要环节。
[0004] 目前,边缘缺陷检测主要为人工检测,工作人员一般以肉眼观察的方式检查待测物体的图像,查看是否存在凹痕或凸痕缺陷,然而上述检测方式依赖于人眼的视觉检查,精
度很难保证,而且长时间的检查容易导致视觉疲劳,从而降低检测效率甚至导致错检、漏
检。当然,还有些方式是使用拍摄设备获取工业产品边缘的高分辨率图像,由于该高分辨率
图像能够显示产品边缘的细节,技术人员沿高分辨图像中的产品边缘进行观测,能够轻易
发现产品的凹痕、凸痕等缺陷,这种方式虽然也能完成工业产品的缺陷检测,但存在效率低
下、应用成本高的不足。

发明内容

[0005] 本申请主要解决的技术问题是:如何克服现有工业产品边缘缺陷检测中存在的检测精度低、检测效率低的问题。为解决上述技术问题,本申请提出一种目标物体的边缘缺陷
检测方法及装置、存储介质。
[0006] 根据第一方面,一种实施例中提供一种目标物体的边缘缺陷检测方法,所述目标物体具有自由曲线构成的边缘,所述边缘缺陷检测方法包括:获取所述目标物体的待检测
图像以及所述待检测图像上设置的感兴趣区域;对所述感兴趣区域进行边缘检测,得到所
述目标物体在自由曲线上的边缘点集合;将所述目标物体在所述感兴趣区域内的自由曲线
进行分段,得到至少一个曲线段,以及获得每个所述曲线段在所述边缘点集合中对应的多
个边缘点;对每个所述曲线段配置对应的基准线,计算所述边缘点集合中对应的多个边缘
点分别到达所述基准线的距离;将到达所述基准线的距离与预设的距离阈值进行比较,根
据比较结果确定所述边缘点集合中候选的多个缺陷点;根据候选的多个缺陷点确定所述目
标物体的边缘缺陷。
[0007] 所述对所述感兴趣区域进行边缘检测,得到所述目标物体在自由曲线上的边缘点集合,包括:根据预设的宽度w和步长s在所述感兴趣区域中生成多个待检测的子区域并形
成区域序列;对于所述区域序列中的每个子区域,利用所述子区域内各像素点的灰度值构
建灰度投影曲线f,对所述灰度投影曲线进行梯度计算以得到梯度投影曲线f  ʹ,根据所述
梯度投影曲线f  ʹ 对所述目标物体进行边缘点的筛选,得到若干个边缘点;获取各个所述
子区域内分别筛选得到的边缘点,构成所述目标物体的边缘点集合。
[0008] 所述对每个所述曲线段配置对应的基准线,计算所述边缘点集合中对应的多个边缘点分别到达所述基准线的距离,包括:对于每个所述曲线段,建立关于抛物线的损失函数
并表示为
[0009] ;
[0010] 其中,ε为所述曲线段在所述边缘点集合中对应的n个边缘点分别到抛物线的距离的累积误差,ωi为第i个权重系数,α、β、γ均为抛物线的系数;将所述曲线段对应的基准线
设定为抛物线,在所述损失函数收敛时计算得到系数α、β、γ,并对所述曲线段对应的基准
线进行配置;对于所述曲线段在所述边缘点集合中对应的每个边缘点pi,将边缘点pi的横坐
标xi代入所述曲线段对应的基准线,计算得到纵坐标yiʹ,并将(xiʹ,yiʹ)作为边缘点pi对应
的基准点,其中xiʹ=xi;则边缘点pi到达所述基准线的距离即为边缘点pi到达所述基准线上
对应基准点(xiʹ,yiʹ)的距离,且表示为 。
[0011] 所述将到达所述基准线的距离与预设的距离阈值进行比较,根据比较结果确定所述边缘点集合中候选的多个缺陷点,包括:获取所述曲线段在所述边缘点集合中对应的多
个边缘点分别到达所述基准线上对应基准点的距离;对于边缘点pi,若到达对应基准点的
距离δi大于预设的距离阈值,则确定边缘点pi为候选的缺陷点;遍历所述边缘点集合中对应
的各个边缘点,确定候选的多个缺陷点。
[0012] 所述根据候选的多个缺陷点确定所述目标物体的边缘缺陷,包括:从候选的多个缺陷点中搜寻坐标连续的若干个缺陷点;判断所述若干个缺陷点满足预设的检测条件时,
将所述若干个缺陷点确定为所述目标物体的一个边缘缺陷;所述检测条件包括以下的一个
或多个条件:所述若干个缺陷点的数目大于预设的第一阈值,所述若干个缺陷点中各缺陷
点到达所述基准线的最大距离大于预设的第二阈值,所述若干个缺陷点构成的缺陷面积大
于预设的第三阈值;所述若干个缺陷点构成的缺陷长度大于预设的第四阈值。
[0013] 根据第二方面,一种实施例中提供一种边缘检测装置,包括:相机,用于通过取像得到目标物体的待检测图像;处理器,与所述相机连接,用于通过上述第一方面中所述的边
缘缺陷检测方法对所述待检测图像进行检测,得到所述目标物体的边缘缺陷;显示器,与所
述处理器连接,用于对所述目标物体的待检测图像和/或边缘缺陷进行显示。
[0014] 所述处理器包括:获取模块,用于获取目标物体的待检测图像以及所述待检测图像上设置的感兴趣区域;第一检测模块,用于对所述感兴趣区域进行边缘检测,得到所述目
标物体在自由曲线上的边缘点集合;分割模块,用于将所述目标物体在所述感兴趣区域内
的自由曲线进行分段,得到至少一个曲线段,以及获得每个所述曲线段在所述边缘点集合
中对应的多个边缘点;计算模块,用于对每个所述曲线段配置对应的基准线,计算所述边缘
点集合中对应的多个边缘点分别到达所述基准线的距离;比较模块,用于将到达所述基准
线的距离与预设的距离阈值进行比较,根据比较结果确定所述边缘点集合中候选的多个缺
陷点;第二检测模块,用于根据候选的多个缺陷点确定所述目标物体的边缘缺陷。
[0015] 根据第三方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述第一方面中所述的边缘缺陷检测方法。
[0016] 本申请的有益效果是:
[0017] 依据上述实施例的一种目标物体的边缘缺陷检测方法及装置、存储介质,其中边缘缺陷检测方法包括获取目标物体的待检测图像以及待检测图像上设置的感兴趣区域;对
感兴趣区域进行边缘检测,得到目标物体在自由曲线上的边缘点集合;将目标物体在感兴
趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个曲线段在边缘点集合
中对应的多个边缘点;对每个曲线段配置对应的基准线,计算边缘点集合中对应的多个边
缘点分别到达基准线的距离;将到达基准线的距离与预设的距离阈值进行比较,根据比较
结果确定边缘点集合中候选的多个缺陷点;根据候选的多个缺陷点确定目标物体的边缘缺
陷。一方面,技术方案对目标物体的待检测图像进行处理,通过对边缘点集合进行筛选得到
候选的缺陷点,并进一步确定目标物体边缘上毛刺形成的边缘缺陷,如此能够以图像处理
的方式实现物体边缘上毛刺的检测功能,提高物体边缘缺陷的检测效率和准确度;另一方
面,技术方案对目标物体边缘处的自由曲线进行分段,然后针对每个曲线段配置对应的基
准线,利用基准线对边缘点集合进行数据筛选,不仅能够快速地找到一些候选的缺陷点,还
能够实现目标物体自由曲线的边缘检测功能。
[0018] 此外,技术方案在配置每个曲线段对应的基准线时不再考虑到待检测图像上感兴趣区域的形状,而是依据自由曲线上曲线段的特性将基准线设定为抛物线,如此能够快速、
准确地拟合出每个曲线段对应的基准线,提高后续边缘点的筛选能力。技术方案通过设置
多种不同的检测条件对候选的多个缺陷点进行判断,不仅能够剔除一些异常数据,还能够
考虑到多方因素对毛刺缺陷检测过程的影响作用,从而强化边缘缺陷检测方法的实际应用
性能,更好地满足产品边缘的毛刺检测要求。

附图说明

[0019] 图1为本申请一种实施例中目标物体的边缘缺陷检测方法的流程图;
[0020] 图2为边缘检测和亚像素插值的流程图;
[0021] 图3为计算边缘点到达基准线距离的流程图;
[0022] 图4为确定候选的缺陷点的流程图;
[0023] 图5为确定边缘缺陷的流程图;
[0024] 图6为在产品的待检测图像上设置矩形的感兴趣区域的示意图;
[0025] 图7为在矩形的感兴趣区域中生成多个待检测的子区域的示意图;
[0026] 图8为构建灰度投影曲线的原理示意图;
[0027] 图9为在圆形的感兴趣区域中生成多个待检测的子区域的示意图;
[0028] 图10为在圆形的感兴趣区域中生成多个待检测的子区域的示意图;
[0029] 图11为边缘点集合中的各边缘点与对应基准点的关系示意图;
[0030] 图12为参考点和基准点之间的关系示意图;
[0031] 图13为本申请一种实施例中边缘检测装置的结构示意图;
[0032] 图14为处理器的结构示意图;
[0033] 图15为本申请另一种实施例中边缘检测装置的结构示意图。

具体实施方式

[0034] 下面通过具体实施方式结合附图对本申请作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了
使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征
在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申
请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过
多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们
根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
[0035] 另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易
见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一
个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
[0036] 本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和
间接连接(联接)。
[0037] 为清楚地理解本申请技术方案,这里对一些技术术语进行说明。
[0038] 毛刺(veining)是工件在切削力作用下产生晶粒剪切滑移、塑性变形,使材料被挤压、撕裂,导致零件表面或交接处出现的多余材料,通常为金属件表面出现余屑和表面极细
小的显微金属颗粒;毛刺越多代表产品质量的标准越低,对产品的外形和使用都有很大影
响,加工过程中应尽量避免出现毛刺,无法避免时要有后续去毛刺的工艺,保证产品的美
观、实用。
[0039] 在以往技术中,对目标物体的边缘定位方法可描述为:在图像中设置仿射矩形采样投影区域,在采样投影区域中进行边缘点的检测与定位;根据获得的边缘点进行曲线拟
合,进而得到边缘的轮廓和位置信息,从而实现边缘定位。然而,以往的边缘定位方法还存
在一些缺陷,比如缺少对自由曲线的拟合方法导致无法满足多检测场景的应用需求,缺少
亚像素插值处理致使对于高精度测量情形下无法满足精度要求,拟合过程中缺少异常点的
数据剔除步骤导致拟合基准与实际物体之间存在偏差,对于噪声图像则缺少平滑处理则容
易造成误检,检测过程仅考虑当前点的距离阈值却缺少对曲线连续性特征信息的考虑和判
断则容易造成误检测。
[0040] 本申请技术方案主要是要解决产品轮廓边缘的毛刺检测问题,同时满足检测过程很好的稳定性和实时性的要求,因此技术方案主要从以下几个方面进行考虑:对于噪声情
况,方案增加异常点剔除功能和平滑处理操作,使检测过程具有稳定性;对于自由曲线的拟
合,将一条曲线分割为若干段分别进行处理,每一段用二次曲线进行拟合,并对拟合后的距
离差进行平滑滤波处理,获取基准数据点;方案简化曲线的参数表示形式,降低算法的复杂
度,同时提升检测过程的处理速度;方案为满足高精度测量情形下的检测要求,增加亚像素
插值的算法处理过程。
[0041] 下面将结合一些实施例对本申请技术方案进行详细说明。
[0042] 请参考图1,本实施例中公开一种目标物体的边缘缺陷检测方法,其主要包括步骤110‑160,下面分别说明。
[0043] 步骤110,获取目标物体的待检测图像以及待检测图像上设置的感兴趣区域,这里可以设置感兴趣区域的形状为矩形、圆形或圆环,当然还可以设置感兴趣区域为其它类型
的形状,如扇形等,这里不做具体限制。
[0044] 需要说明的是,可以使用相机或摄像机来对目标物体进行取像,形成目标物体的待检测图像;这里的目标物体可为切削加工后的各类产品,比如手机外壳、电路板、机械工
件、装配零件等,这些产品往往具有不规则的轮廓边缘且容易存在毛刺。在某些情况下,可
通过人机交互方式在待检测图像上设置感兴趣区域(RoI),并且感兴趣区域可具有矩形、圆
形、圆环等可选形状,用户可选择其中任意一种形状的感兴趣区域,以及调整感兴趣区域的
形状大小和分布位置;可以理解,由于待检测图像中展示有目标物体的表面形态,那么感兴
趣区域可仅圈定目标物体的一部分表面形态,比如圈定目标物体的一侧边缘。可以理解,设
置感兴趣区域的目的是缩小待检测图像上目标物体的检测范围,提高检测效率。
[0045] 步骤120,对感兴趣区域进行边缘检测,得到目标物体的边缘点集合。由于感兴趣区域包含有目标物体的一部分表面形状,那么可通过一些边缘检测的图像处理技术对目标
物体的外部边缘进行识别,将涉及外部边缘的像素点进行统计,从而得到目标物体的边缘
点集合。
[0046] 步骤130,将目标物体在感兴趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个曲线段在边缘点集合中对应的多个边缘点。由于目标物体的边缘在感兴
趣区域内呈现的自由曲线具有不规则变化的形态,如C形、S型、O型等形态,完整的自由曲线
将无法进行参数方程的表达,所以有必要对自由曲线进行分段,得到一个或多个曲线段(如
多个弧线段),那么只需要对每个曲线段进行参数方程的表达即可。
[0047] 步骤140,对每个曲线段配置对应的基准线,计算边缘点集合中对应的多个边缘点分别到达基准线的距离。配置基准线的目的是为了校验曲线段在边缘点集合中对应的多个
边缘点是否位置合理,方便找到位置异常的边缘点;配置的基准线对目标物体的外部边缘
具有形状拟合作用,判断每个边缘点到达基准线的距离就能够确定该边缘点是否位置异
常。
[0048] 步骤150,将到达基准线的距离与预设的距离阈值进行比较,根据比较结果确定边缘点集合中候选的多个缺陷点。对于边缘点集合中的每一个边缘点,如果该边缘点到达所
在曲线段对应的基准线的距离大于距离阈值,则认为该边缘点的位置异常,即可将该边缘
点确定为候选的缺陷点。
[0049] 步骤160,根据候选的多个缺陷点确定目标物体的边缘缺陷。由于单个缺陷点的所在区域非常小,还不足以构成目标物体在外部边缘处的一个毛刺,还需要对多个缺陷点进
行数目、距离误差、面积、长度的判断,满足检测条件的多个缺陷点才认为构成了目标物体
的毛刺,即边缘缺陷。
[0050] 在本实施例中,技术方案对目标物体的待检测图像进行处理,通过对边缘点集合进行筛选得到候选的缺陷点,并进一步确定目标物体边缘上毛刺形成的边缘缺陷,如此能
够以图像处理的方式实现物体边缘上毛刺的检测功能,提高物体边缘缺陷的检测效率。此
外,技术方案对目标物体边缘处的自由曲线进行分段,然后针对每个曲线段配置对应的基
准线,利用基准线对边缘点集合进行数据筛选,不仅能够快速地找到一些候选的缺陷点,还
能够实现目标物体自由曲线的边缘检测功能。
[0051] 在本实施例中,上面的步骤120主要涉及目标物体边缘检测的过程,那么可参考图2,该步骤120可具体包括步骤121‑123,分别说明如下。
[0052] 步骤121,根据预设的宽度w和步长s在感兴趣区域中生成多个待检测的子区域并形成区域序列。具体地,对待检测区域进行子区域的离散划分,相邻两个子区域之间存在非
检测区域,每个子区域的宽度为w,相邻两个子区域相同位置的间距(即步长)为s。宽度w和
步长s可由用户进行自由设定,这里不做具体限制。
[0053] 比如图6,在工件R的待检测图像上设置可旋转矩形的感兴趣区域A1,那么就可将感兴趣区域A1划分成多个待检测的子区域,具体参见图7,各个子区域在矩形框内以竖排方
式均匀分布,其中每个子区域的宽度为w,高度为h,相邻两个子区域起点位置的间距为s。
[0054] 比如图9,在工件R的待检测图像上设置可圆环形的感兴趣区域A2,那么就可将感兴趣区域A2划分成多个待检测的子区域,具体参见图10,各个子区域在圆环框内以环形方
式均匀分布,其中每个子区域的宽度为w,相邻两个子区域中轴位置的间距为s。
[0055] 步骤122,对于区域序列中的每个子区域,利用子区域内各像素点的灰度值构建灰度投影曲线f,对灰度投影曲线进行梯度计算以得到梯度投影曲线f ʹ,根据梯度投影曲线f 
ʹ在子区域内对目标物体进行边缘点的筛选,得到若干个边缘点。
[0056] 比如图8,示意了针对一个子区域构成对应的灰度投影曲线f的原理,图8所示为图7中的一个待检测的子区域,沿着宽度方向计算每个像素点的灰度值插值,具体可采用最近
邻插值法或者双线性插值法,若设插值后的灰度值为gi,j,其中i表示投影方向上的第i列像
素(投影方向即图7中的w所示方向,子区域内的每列像素与 h所示方向垂直),j表示投影方
向上像素列中的第j个数据点,因此可以得到子区域中第i个像素列的平均灰度值为
[0057] 。
[0058] 其中,r、c分别表示子区域的中心像素点的行坐标和列坐标,m表示子区域的一半宽度且等于0.5w。
[0059] 将si的集合{si}以数组形式表示,该数组即可视为灰度投影曲线,记为,其中k是投影高度(可为图7中每个子区域内投影方向上的像素列数目)。获得灰度投影曲
线f后,对灰度投影曲线f进行梯度计算。若梯度采用Gauss核函数进行计算,则每一个像素
点对应的梯度值可表示为
[0060] 。
[0061] 其中,x为像素点坐标相对于原点的偏移量,σ为核函数的参数。计算过程中也可以加入滤波操作,将滤波和梯度插值和为一个处理过程,从而节省运算时间,那么根据设置的
σ数值即可计算滤波核的宽度。那么,在得到梯度值之后即可构建梯度投影曲线f ʹ,且表示
为f ʹ=f *h。
[0062] 接下来,可以根据下列的判断条件筛选目标物体的边缘点,判断条件表示为
[0063] 。
[0064] 其中,tabs为设预设的边缘阈值。筛选出符合条件的边缘点,具体可包含极性筛选方式,比如黑到白、白到黑、任意极性变化;还包含位置筛选方式,比如开始点、末尾点、最近
中心、最大强度。其中对于位置筛选中开始点、末尾点、最近中心、最大强度中的任一种选择
方式,就是沿着搜索方向进行查找,得到若干个符合条件的数据点,开始点是从搜索方向查
找到的第一个特征点,末尾点是从搜索方向查找到的最后一个特征点,最近中心是最靠近
矩形旋转中心的坐标点,最强梯度是选择梯度幅值最大的特征点。
[0065] 参见图6和图7,针对矩形的感兴趣区域A1内的每一个子区域,构建对应的灰度投影曲线f,以及计算对应的梯度投影曲线f ʹ,梯度投影曲线f ʹ可具体参考图6中的曲线B1,
示意了一个子区域内每个像素点的梯度值,曲线上的数值195.9为最大的梯度幅值。此时,
依据判断条件即可对目标物体的边缘点进行筛选,从而在感兴趣区域A1中找到工件R上的
边缘处的各边缘点。此外,图6中的曲线C1为边缘点集合中各边缘点到达基准线(设定为抛
物线)的距离曲线,曲线上的数值‑27.59为最小距离幅值,数值27.59为最大距离幅值。
[0066] 参见图9和图10,针对圆环形的感兴趣区域A1内的每一个子区域,构建对应的灰度投影曲线f,以及计算对应的梯度投影曲线f ʹ。此时,依据判断条件即可对目标物体的边缘
点进行筛选,从而在感兴趣区域A1中找到工件R上边缘处的各边缘点。此外,图9中的曲线C2
为边缘点集合中各边缘点分别到达所在曲线段对应的基准线(设定为抛物线)的距离曲线,
曲线上的数值‑17.70为最小距离幅值,数值17.70为最大距离幅值。
[0067] 需要说明的是,在步骤122中依据每个子区域可筛选出若干个边缘点,比如0或1那么依据每个子区域可筛选出0个或1个边缘点。
[0068] 步骤123,获取各个子区域内分别筛选得到的边缘点,构成目标物体的边缘点集合。由于依据每个子区域可得到若干个(比如0个或1个)边缘点,那么统计各个子区域中的
边缘点,将符合判断条件的边缘点构成边缘点集合,可表示为{(xi,yi)}。
[0069] 参见图11,对于边缘点集合{(xi,yi)},将各个边缘点用圆点标记且按照序号‑幅值的特性进行分布。
[0070] 在一个实施例中,在得到目标物体的边缘点集合之后还可包括亚像素插值步骤,通过亚像素插值步骤124‑125来对边缘点集合中的各边缘进行数据优化。
[0071] 步骤124,对于边缘点集合中的每个边缘点,获取该边缘点和前后边缘点的梯度值且分别表示为 ,下标i为边缘点的序号;利用获取的梯度值进行抛物曲线
2
拟合,得到抛物曲线的系数aʹ、bʹ、cʹ,则抛物曲线表示为y=aʹx +bʹx+cʹ。
[0072] 步骤125,获得抛物曲线在局部坐标系中的最大值ymax对应的xmax,利用亚像素的坐标插值结果xmax更新边缘点集合中第i个边缘点的坐标;此时便可构成新边缘点集合,新边
缘点集合中的各个边缘点用于进行基准线配置和计算到达基准线的距离。
[0073] 在一个具体实施例中,对于第i个边缘点,利用前后边缘点的灰度值进行抛物曲线2
的拟合,输入分别记为 ,只要计算出抛物曲线y=aʹx +bʹx+c
2
ʹ中的系数aʹ、bʹ、cʹ即可构建得到该抛物曲线。在抛物曲线y=aʹx +bʹx+cʹ上,获取y的最大
值对应的x值,即为x=‑bʹ/(2aʹ)且用于表示亚像素偏差。在这里,可采用局部坐标系进行计
算,因此x满足xє[‑0.5,0.5],如果计算结果不在这个范围内则将亚像素偏差设置为0;那
么,亚像素的坐标插值结果xmax用公式表示为
[0074] 。
[0075] 根据获得的亚像素插值结果xmax更新对应的亚像素坐标,旋转前对应的亚像素坐标为(xiʹ, yiʹ),xiʹ=xi+xmax,yiʹ=yi,,旋转后的坐标为
[0076] ;
[0077] 其中 表示第i个子区域(如图7中的第i个矩形序列)的中心坐标,αi表示第i个子区域的旋转角度; 为更新后的亚像素坐标。
[0078] 需要说明的是,步骤124和125通过亚像素插值方式更新边缘点集合,可排除一些无效边缘点的干扰,有效提高待检测图像上感兴趣区域内的边缘检测准确度。
[0079] 在本实施例中,上面的步骤140主要涉及配置基准线和计算距离的过程,那么可参考图3,该步骤140可具体包括步骤141‑143,分别说明如下。
[0080] 步骤141,由于在步骤130中对目标物体在感兴趣区域内的自由曲线进行分段,得到一个或多个曲线段,而且每个曲线段具有常规的变化形态且能够用参数方程进行表达,
所以这里可针对每个曲线段建立关于抛物线的损失函数,损失函数用公式表示为
[0081] ;
[0082] 其中,ε为曲线段在边缘点集合中对应的n个边缘点分别到抛物线的距离的累积误差,ωi为第i个权重系数,α、β、γ均为抛物线的系数。需要说明的是,对于权重系数ωi,初始
值可均设为1,迭代计算过程中ωi可以采用Drop、Gauss、Huber、Tukey等权重系数的表示方
式进行计算。
[0083] 步骤142,将曲线段对应的基准线设定为抛物线,在损失函数收敛时计算得到系数α、β、γ,并对曲线段对应的基准线进行配置。需要说明的是,损失函数收敛的条件为:多次
迭代计算之后,前后两次计算得到的累积误差ε的差值小于预设的阈值,或者迭代达到预设
的次数。
[0084] 在一个具体实施例中,对损失函数进行数组变换,得到参数表达式
[0085] ;
[0086] 其中,(xi,yi)为边缘点的坐标。
[0087] 此时,可将曲线段在边缘点集合中对应的多个边缘点分别输入上面的参数表达T
式,迭代得到数组[α β γ] ;由于得到了抛物线的系数α、β、γ,那么即可利用这些系数值
2
对抛物线方程进行配置以得到曲线段对应的基准线,基准线用公式表示为y=αx +βx+γ。
[0088] 步骤143,对于曲线段在边缘点集合中对应的每个边缘点pi,将边缘点pi的横坐标2
xi代入曲线段对应的基准线(可用方程y=αx +βx+γ进行表示),计算得到纵坐标yiʹ,并将
(xiʹ,yiʹ)作为边缘点pi对应的基准点,其中xiʹ=xi。那么,边缘点pi到达基准线的距离即为
边缘点pi到达基准线上对应基准点(xiʹ,yiʹ)的距离,且表示为 。
[0089] 需要说明的是,技术方案在配置每个曲线段对应的基准线时不再考虑到待检测图像上感兴趣区域的形状,而是依据自由曲线上曲线段的特性将基准线设定为抛物线,如此
能够快速、准确地拟合出每个曲线段对应的基准线,提高后续边缘点的筛选能力。
[0090] 在一个实施例中,虽然在配置好每个曲线段对应的基准线的情况下,能够得到曲线段在边缘点集合中对应的每个边缘点到达基准线的距离,但是因噪声的干扰作用使距离
的计算结果还存在一些误差,那么可以通过两种方式对距离的计算结果进行修正,从而提
高每个边缘点到达基准线的距离的准确度。
[0091] 方式一:
[0092] (1)计算曲线段在边缘点集合中对应的多个边缘点分别到达基准线上对应基准点的距离,得到距离序列{δi}(i=1...n),根据距离序列{δi}计算得到参考中值且表示为τ=
1.4826×med{δi},med()为取中值函数。
[0093] 由于每个曲线段对应的基准线被设定为抛物线,则边缘点到达基准线的距离就不能够再用最短距离进行表示,而需要使用边缘点到基准线上基准点的距离进行表示。参见
图11,边缘点集合中各个边缘点可用实心圆点的分布形式来示意,各个边缘点分别对应的
基准点可用小叉号的分布形式来示意,每个边缘点和对应的基准点具有共同的序号,但是
幅值却存在差别,那么边缘点pi到达基准线上对应基准点的距离就用公式表示为
。依此类推便可得到曲线段在边缘点集合中对应的多个边缘点分别到达
基准线上对应基准点的距离。
[0094] (2)利用Huber权重函数或者Tukey权重函数更新已建立的损失函数中的权重系数ωi,在已建立的损失函数收敛时重新配置曲线段对应的基准线,以及重新计算边缘点集合
中对应的多个边缘点分别到达重新配置的基准线的距离(即重复上述的步骤141‑143),直
至距离的计算结果收敛或者达到预设的迭代次数。
[0095] (3)那么,获得最后一次迭代处理时边缘点集合中对应的多个边缘点分别到达重新配置的基准线的距离,从而更新距离序列{δi}。
[0096] 其中,Huber权重函数表示为
[0097] ;
[0098] 其中, Tukey权重函数表示为
[0099] 。
[0100] 方式二:
[0101] (1)计算目标物体的边缘点集合中各个边缘点分别到达参考点的距离,得到边缘点与参考点的距离序列{li}(i=1...n)。
[0102] (2)对边缘点与参考点的距离序列{li}进行高斯模糊处理并拟合形成平滑曲线,根据平滑曲线中各距离值分别相对于参考点的距离,获得基准点坐标,从而根据参考点的
坐标和基准点的坐标获得距离序列{δi}。这里的距离序列{δi}用于作为边缘点集合中各边
缘点分别到达所在曲线段对应的基准线的距离。
[0103] 在方式二中,实质上是对边缘点与参考点的距离序列{li}进行高斯平滑处理,得到平滑后的平滑距离,根据平滑后的距离计算出来基准线上的基准点坐标,进一步计算边
缘点到基准点的距离。参见图12,若将参考点的坐标设为(xref, yref),基准点的坐标设为
(xi, yi),则可由公式xi=xref+di×cosα、yi=yref‑di×sinα进行坐标转换,其中di为对应平滑
后的距离,α为基准点与参考点的夹角;在得到基准点坐标的情况下,能够得到参考点和基
准点的距离序列{δi},进一步利用距离序列{δi}对边缘点集合中各边缘点分别到达所在曲
线段对应的基准线的距离进行表征。
[0104] 当然,在一些具体实施例中,参见图7,可在每个子区域中确定0个或1个边缘点,并设定每个子区域的底部边缘上一点作为参考点,根据子区域内的像素坐标可得到每个边缘
点到对应参考点的距离,进一步根据参考点的坐标计算得到对应的基准点的坐标,从而获
得参考点和基准点的距离序列。参见图10,可设定圆环的圆心作为参考点,在每个子区域中
确定0个或1个边缘点,从而得到每个边缘点到达对应参考点的距离,进一步计算得到对应
的基准点的坐标,从而根据参考点的坐标和基准点的坐标获得的距离序列。
[0105] 需要说明的是,在上面的两种方式中,为了准确计算边缘点集合中各个边缘点分别到达所在曲线段对应的基准线的距离,既提供了利用权重函数重新配置基准线和迭代更
新边缘点到达基准线的距离的方式,还提供了利用高斯模糊处理对边缘点到达基准线的距
离进行距离序列表征的方式,如此可借助不同技术手段提高距离计算的准确性。
[0106] 在本实施例中,上面的步骤150主要涉及确定候选的缺陷点的过程,那么可参考图4,该步骤150可具体包括步骤151‑153,分别说明如下。
[0107] 步骤151,获取曲线段在缘点集合中对应的多个边缘点分别到达基准线上对应基准点的距离。在曲线段对应的基准线设定为抛物线的情况下,可参考步骤141‑143,边缘点
pi到达基准线的距离可表示为,进而得到距离序列{δi}。
[0108] 步骤152,对于边缘点pi,若到达基准线的距离δi大于预设的距离阈值,则确定边缘点pi为候选的缺陷点。
[0109] 步骤153,遍历目标物体的边缘点集合中的各个边缘点,确定候选的多个缺陷点。也就是说,将边缘点集合中的各个边缘点分别到达所在曲线段对应的基准线的距离均与距
离阈值进行比较,找出所有候选的缺陷点,从而得到候选的多个缺陷点。
[0110] 在本实施例中,上面的步骤160主要涉及确定毛刺缺陷的过程,那么可参考图5,该步骤160可具体包括步骤161‑162,分别说明如下。
[0111] 步骤161,从候选的多个缺陷点中搜寻坐标连续的若干个缺陷点。比如,只要三个以上的缺陷点满足坐标连续的条件,那么就可将这三个以上的缺陷点作为坐标连续的若干
个缺陷点。
[0112] 步骤162,判断若干个缺陷点满足预设的检测条件时,将这若干个缺陷点确定为目标物体的毛刺构成的边缘缺陷。为了在待检测图像上准确表示出毛刺的位置或形态,则可
以用轮廓线圈定这若干个缺陷点,可以输出这若干个缺陷点的坐标,还可以对这若干个缺
陷点的所在区域进行特殊符号或特殊颜色的标记。
[0113] 需要说明的是,检测条件包括以下的一个或多个条件:其一,若干个缺陷点的数目大于预设的第一阈值(比如3个);其二,若干个缺陷点中各缺陷点到达基准线的最大距离大
于预设的第二阈值(比如15个像素);其三,若干个缺陷点构成的缺陷面积大于预设的第三
阈值(比如50个像素面积);其四,若干个缺陷点构成的缺陷长度大于预设的第四阈值(比如
20个像素长度)。判断使用的检测条件可以是以上四个条件中的一个或多个,具体采用哪几
个条件则不作具体限制。
[0114] 比如在图6中,由于对矩形的感兴趣区域A1中工件R的边缘进行检测,那么在确定候选的多个缺陷点之后就可确定这些缺陷点是否形成毛刺,利用检测条件进行判断得到感
兴趣区域A1中工件R上的边缘线a1、a2、a3分别形成毛刺,由此检测到了三段边缘缺陷。
[0115] 比如在图9中,由于对矩形的感兴趣区域A2中工件R的边缘进行检测,那么在确定候选的多个缺陷点之后就可确定这些缺陷点是否形成毛刺,利用检测条件的判断得到感兴
趣区域A2中工件R上的边缘线a4、a5分别形成毛刺,由此检测到了两段边缘缺陷。
[0116] 需要说明的是,在步骤162中通过设置多种不同的检测条件对候选的多个缺陷点进行判断,不仅能够剔除一些异常数据,还能够考虑到多方因素对毛刺检测过程的影响作
用,从而强化边缘缺陷检测方法的实际应用性能,更好地满足产品边缘的毛刺检测要求。
[0117] 实施例二、
[0118] 在实施例一中公开的目标物体的边缘缺陷检测方法的基础上,本实施例中公开一种边缘检测装置。
[0119] 请参考图13,本实施例中的边缘检测装置主要包括相机21、处理器22和显示器23,下面分别说明。
[0120] 相机21用于通过取像得到目标物体的待检测图像。这里的目标物体可为切削加工后的各类产品,比如手机外壳、电路板、机械工件、装配零件等,这些产品往往具有不规则的
轮廓边缘(如自由曲线构成的边缘)且容易存在毛刺。
[0121] 处理器22与相机21连接,用于通过实施例一中公开的边缘缺陷检测方法对待检测图像进行检测,得到目标物体的边缘缺陷。可以理解,处理器22可以是具有数据处理功能的
CPU、GPU、FPGA、微控制器或数字集成电路,只要能够依据自身逻辑指令实现上文步骤110‑
160实现的边缘缺陷检测方法即可。
[0122] 显示器23与处理器22连接,用于对目标物体的待检测图像和/或边缘缺陷进行显示。可以理解,显示器23可以是具有图像显示功能的屏幕,能够对待检测图像和边缘缺陷进
行单独显示或共同显示即可,具体的屏幕类型和显示布局方式不做限制。
[0123] 在本实施例中,参见图14,处理器22包括获取模块22‑1、第一检测模块22‑2、分割模块22‑3、计算模块22‑4、比较模块22‑5和第二检测模块22‑6。
[0124] 获取模块22‑1可与相机21通信,从而从相机21获取待检测图像。并且,获取模块22‑1在获取目标物体的待检测图像之后,还可以获取待检测图像上设置的感兴趣区域,这
里的感兴趣区域可为矩形、圆形、圆环等形状。
[0125] 在一个具体实施例中,用户可通过人机交互方式在待检测图像上设置感兴趣区域(RoI),并且感兴趣区域应当具有矩形、圆形、圆环等可选形状,用户可选择其中任意一种形
状的感兴趣区域,以及调整感兴趣区域的形状大小和分布位置,如此方便获取模块22‑1直
接依据用户的设置参数来获取感兴趣区域。
[0126] 需要说明的是,由于待检测图像中展示有目标物体的表面形态,那么感兴趣区域可仅圈定目标物体的一部分表面形态,比如图6中的环形区域。
[0127] 第一检测模块22‑2用于对感兴趣区域进行边缘检测,得到目标物体在自由曲线上的边缘点集合。比如,第一检测模块22‑2根据预设的宽度w和步长s在感兴趣区域中生成多
个待检测的子区域并形成区域序列,对于区域序列中的每个子区域,利用子区域内各像素
点的灰度值构建灰度投影曲线f,对灰度投影曲线进行梯度计算以得到梯度投影曲线f ʹ,
根据梯度投影曲线f ʹ 对目标物体进行边缘点的筛选,得到若干个边缘点;获取各个子区
域内分别筛选得到的边缘点,构成目标物体的边缘点集合。此外,第一检测模块22‑2还对于
边缘点集合中的每个边缘点,获取该边缘点和前后边缘点的梯度值且分别表示为
,利用获取的梯度值进行抛物曲线的拟合, 得到抛物曲线的系数a  ʹ、b 
2
ʹ、c ʹ,则抛物曲线表示为y=aʹx +bʹx+cʹ;获得抛物曲线在局部坐标系中的最大值ymax对应
的xmax,利用亚像素的坐标插值结果xmax更新边缘点集合中第i个边缘点的坐标;构成新边缘
点集合,新边缘点集合中的各个边缘点用于参与基准线配置和计算到达基准线的距离。关
于第一检测模块22‑2的功能可具体参考实施例一中的步骤121‑125,这里不再赘述。
[0128] 分割模块22‑3用于将目标物体在感兴趣区域内的自由曲线进行分段,得到至少一个曲线段,以及获得每个曲线段在边缘点集合中对应的多个边缘点。关于分割模块22‑3的
功能可具体参考实施例一中的步骤130,这里不再赘述。
[0129] 计算模块22‑4用于对每个曲线段配置对应的基准线,计算边缘点集合中对应的多个边缘点分别到达基准线的距离。对于每个曲线段,建立关于抛物线的损失函数并表示为
;将曲线段对应的基准线设定为抛物线,在损失函数收敛时计算
得到系数α、β、γ,并对曲线段对应的基准线进行配置;对于曲线段在边缘点集合中对应的
每个边缘点pi,将边缘点pi的横坐标xi代入曲线段对应的基准线,计算得到纵坐标yiʹ,并将
(xiʹ,yiʹ)作为边缘点pi对应的基准点,其中xiʹ=xi;则边缘点pi到达基准线的距离即为边缘
点pi到达基准线上对应基准点(xiʹ,yiʹ)的距离,且表示为 。关于计算模块
22‑4的功能可具体参考实施例一中的步骤141‑143,这里不再赘述。
[0130] 比较模块22‑5用于将到达基准线的距离与预设的距离阈值进行比较,根据比较结果确定边缘点集合中候选的多个缺陷点。比较模块22‑5获取曲线段在边缘点集合中对应的
多个边缘点分别到达基准线上对应基准点的距离;对于边缘点pi,若到达对应基准点的距
离δi大于预设的距离阈值,则确定边缘点pi为候选的缺陷点;遍历边缘点集合中对应的各个
边缘点,确定候选的多个缺陷点。关于比较模块22‑5的功能可具体参考实施例一中的步骤
151‑153,这里不再赘述。
[0131] 第二检测模块22‑6用于根据候选的多个缺陷点确定目标物体的毛刺缺陷。比如,第二检测模块22‑6从候选的多个缺陷点中搜寻坐标连续的若干个缺陷点;判断若干个缺陷
点满足预设的检测条件时,将若干个缺陷点确定为目标物体的毛刺缺陷;其中检测条件包
括以下的一个或多个条件:若干个缺陷点的数目大于预设的第一阈值,若干个缺陷点中各
缺陷点到达基准线的最大距离大于预设的第二阈值,若干个缺陷点构成的缺陷面积大于预
设的第三阈值,若干个缺陷点构成的缺陷长度大于预设的第四阈值。关于第二检测模块22‑
6的功能可具体参考实施例一中的步骤161‑162,这里不再赘述。
[0132] 实施例例三、
[0133] 请参考图15,本实施例公开一种边缘检测装置,该边缘检测装置3主要包括存储器31和处理器32。
[0134] 边缘检测装置3的主要部件为存储器31和处理器32。其中,存储器31作为计算机可读存储介质,主要用于存储程序,该程序可以是实施例一中边缘缺陷检测方法对应的程序
代码。其中,处理器32与存储器31连接,用于执行存储器31中存储的程序以实现边缘缺陷检
测方法。处理器32实现的功能可以参考实施例二中的处理器22,这里不再进行详细说明。
[0135] 本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能
通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可
以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述
功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上
述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现
时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质
中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通
过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
[0136] 以上应用了具体个例对本申请进行阐述,只是用于帮助理解本申请技术方案,并不用以限制本申请。对于所属技术领域的技术人员,依据本申请的思想,还可以做出若干简
单推演、变形或替换。