技术简介:
本专利针对现有缺陷检测方法存在样本需求大、检测时间长及缺陷"重影"导致精度低的问题,提出基于自适应加权模板NCC的检测方法。通过分块处理图像,仅对判定为ROI区域的缺陷块进行自适应加权互相关系数计算,既减少无效区域计算量缩短检测时间,又通过中心像素权重增强提升缺陷定位精度,有效消除重影效应。
关键词:自适应加权模板,NCC缺陷检测
一种基于自适应加权模板ncc的蒙皮漆面缺陷检测方法
技术领域
1.本发明属于飞机蒙皮、壁板等大型零部件缺陷检测领域,具体设计一种基于自适应加权模板ncc(归一化互相关匹配,normalized cross correlation) 的蒙皮漆面缺陷检测方法。
背景技术:2.飞机蒙皮漆面喷涂属于面积大、带曲率的一类喷涂零件,蒙皮漆面缺陷具有多种多样的类型:成型工艺导致的划痕、凹坑、橘皮、压痕以及破裂等表面缺陷;喷漆工艺会导致蒙皮产生气泡、颗粒、翻边超厚、流淌以及橘皮等表面缺陷;飞行过程中可能会产生腐蚀、裂纹以及撞击损伤等表面缺陷。在传统意义层面上,对于此类缺陷的检测通常是通过人工目视法检测发现,进而确定缺陷类型以及后续处理意见。在面向智能制造的航空制造自动化背景下,人工目视法存在检测精度取决于工人技术水平以及情绪的因素,检测效率低,且缺陷样本数据无法得到有效利用等问题,无法适应当前航空工业的发展。因此,亟需一种新的缺陷检测方法通过将缺陷数据整合,寻找与制造批次相关信息,从而用于对飞机制造、喷涂工艺改进。常见的表面缺陷检测方法有渗透检测法、超声波检测法、涡流检测法以及机器视觉检测等方法。但渗透检测法无法适合多孔材料的表面缺陷检测,超声波检测对复杂形状检测精度不高,涡流检测法只能检测导电材料的表面缺陷。这决定了对于蒙皮漆面缺陷检测应选基于机器视觉的缺陷检测方法。
3.在专利“一种基于机器视觉的飞机蒙皮缺陷智能检测方法 (cn114119586a,公开日期:2022-03-01)”中提出一种通过使用深度神经网络及图像滤波从而实现飞机蒙皮缺陷检测的任务。该方法根据相机拍摄的红外照片和rgb图像,通过预训练得到去雨雪图像,将灰度图像与rgb图像进行融合,输入沙漏卷积神经网络进行特征提取,通过将提取到的特征图输入角点预测、特征调节模块和向心偏移模块中,预测每个角点与中心点的偏移量从而得到目标框。该方法对样本数据集需求巨大,且需要大量负样本进行网络学习,此外,仍需大量的人工标记工作,对于飞机蒙皮漆面缺陷的检测无法做到快速有效。因此,如何在样本数据量较少、弱对比以及缺陷面积多变的前提下完成对蒙皮漆面缺陷的快速检测,是提高航空制造自动化的关键问题。
4.在文献“fouda y m.integral images-based approach for fabric defectdetection[j].optics&laser technology,2022,147:107608.”中提出利用积分图像技术改善ncc中的大量运算,从而加快计算速度。然而,由于该方法对像素点周围区域进行了统一的归一化互相关系数求解,造成了识别出的缺陷存在“重影”效果,对于缺陷面积形状的确定产生了较大的影响。
技术实现要素:[0005]
针对现有缺陷检测方法检测过程中存在所需样本巨大且检测时间漫长以及缺陷区域存在“重影”导致无法准确确定缺陷面积形状的技术问题,本发明提出一种基于自适应
加权模板ncc的蒙皮漆面缺陷检测方法,将采集到的图像输入ncc模板匹配算法,预检测出roi(感兴趣区域,region of interest),再采用自适应加权模板ncc算法进行逐像素点精确检测,最后输出检测结果,实现漆面缺陷精确检测。本发明能够准确有效地检测出蒙皮漆面存在的缺陷,较好地解决对缺陷尺寸大小计算准确性地问题,为后期缺陷处理提供准确有力的支持。
[0006]
本发明解决其技术问题所采用的技术方案:
[0007]
一种基于自适应加权模板ncc的蒙皮漆面缺陷检测方法,其特征在于,包括以下步骤:
[0008]
步骤1:用像素点位置和灰度表达采集的图像
[0009]
采集待检测区域的蒙皮漆面图像,将其表示为i1(x,y)=f(x,y);采集标准蒙皮漆面图像作为基准图像,将其表示为i2(x
′
,y
′
)=f(x
′
,y
′
);(x,y)为待检测区域的蒙皮漆面图像上像素点的坐标;(x
′
,y
′
)为基准图像上像素点的坐标;
[0010]
步骤2:在基准图i2(x
′
,y
′
)上选择一个矩形区域作为矩形匹配模板
[0011]
根据图像i1(x,y)大小和放缩比例ω,按照下式在基准图i2(x
′
,y
′
)上选择一个矩形区域,将该矩形区域作为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2));
[0012]
s(rec((x
′1,y
′1),(x
′2,y
′2)))=ωs(rec((x1,y1),(x2,y2)));
[0013]
其中:
[0014]
rec((x1,y1),(x2,y2))表示图像i1(x,y)整个幅面;
[0015]
s表示区域的面积;
[0016]
(x1,y1)表示图像i1(x,y)左上角位置坐标;
[0017]
(x2,y2)表示图像i1(x,y)右下角位置坐标;
[0018]
ω表示放缩比例,0《ω《1;
[0019]
(x
′1,y
′1)为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的左上角坐标;
[0020]
(x
′2,y
′2)为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的右下角坐标;
[0021]
步骤3:确定图像i1(x,y)上矩形匹配模板所对应区域是否为roi区域并标记
[0022]
以图像i1(x,y)和矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))作为ncc算法的输入,搜索图像i1(x,y),确定图像i1(x,y)上与矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))当前位置所对应的图像区域rec
de
((xi,yi),(xj,yj))是否为roi区域并标记;
[0023][0024]
其中:
[0025]
(xi,yi)为区域rec
de
((xi,yi),(xj,yj))的左上角坐标;
[0026]
(xj,yj)为区域rec
de
((xi,yi),(xj,yj))的右下角坐标;
[0027]
若区域rec
de
((xi,yi),(xj,yj))=1,表示该区域中存在缺陷,为roi区域,进入步骤4;
[0028]
若区域rec
de
((xi,yi),(xj,yj))=0,表示该区域中没有缺陷,为非roi区域,进入步骤5;
[0029]
σ为预先设定的阈值,根据所处理的图像类型、图像颜色及检测精度选取;
[0030]
步骤4:对步骤3标记的roi区域,获取该roi区域的二值图像
[0031]
首先,在步骤2放缩比例ω值的基础上,逐渐缩小所述放缩比例ω的值,重复步骤2~3直至确定出能够包围roi区域中缺陷区域的最小外接矩形;
[0032]
然后,依据所述最小外接矩形,选用自适应加权模板rec
ω
((xi,yi),(xj,yj)),以roi区域的左上/右下为起点,以最小外接矩形的长、宽分别作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,直至最小外接矩形覆盖整个roi区域;在最小外接矩形的初始位置以及每移动一次后,便自适应加权计算图像 i1(x,y)上与最小外接矩形所对应区域内各像素点与基准图像i2(x
′
,y
′
)上相对应的模板图像区域内各像素点的互相关系数;
[0033]
最后,基于得到的互相关系数确定该roi区域的二值图像;
[0034]
步骤5:遍历检测
[0035]
将步骤2得到的矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))分别以其长、宽作为x 轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,每移动一次返回至步骤3,直至矩形匹配模板覆盖整幅图像i1(x,y)为止,从而得到整个图像i1(x,y)的缺陷二值图像。
[0036]
进一步地,步骤3中σ取值为0.8-1。
[0037]
进一步地,步骤3中σ按下述方法确定:
[0038]
首先,设定一个初始值,在该初始值下获取图像i1(x,y)上某一个人工可视缺陷处的rec
de
((xi,yi),(xj,yj))的值,若该处rec
de
((xi,yi),(xj,yj))值不等于 1,则可表明当前初始值过大,可适当将其减小,然后再重复前述过程,直至该人工可视缺陷处rec
de
((xi,yi),(xj,yj))等于1为止。
[0039]
进一步地,步骤4具体为:
[0040]
步骤4.1:确定roi区域中能包围缺陷区域的最小外接矩形
[0041]
逐渐缩小放缩比例ω的值,重复步骤2~3,若当前的ω值对应的矩形区域无法将缺陷区域包围在内,而上一个ω值对应的矩形区域能将缺陷区域包围在内,选择前一个ω值,此时所选择的ω值对应的ωs(rec((x1,y1),(x2,y2)))即为能包围缺陷区域的最小外接矩形rec
min
((x1′
,y1′
),(x2′
,y2′
));
[0042]
步骤s4.2:确定自适应加权模板的维数:
[0043]
选用缩放比例ω
de
,取值为1/2~1/5,由步骤s4.1得到的最小外接矩形的宽度l和缩放比例ω
de
,选择一个n
×
n大小的矩阵作为自适应加权模板,其中n为最接近l
×
ω
de
的奇数,且小于等于l
×
ω
de
;
[0044]
步骤4.3:确定自适应加权模板rec
ω
((xi,yi),(xj,yj))中各元素值:
[0045]
自适应加权模板rec
ω
((xi,yi),(xj,yj))的四个顶点位置填充20,其余位置填充2m,m分别取1,2,3
…
,s,距离自适应加权模板rec
ω
((xi,yi),(xj,yj))的中心点位置越近,幂指数m越大,中心点值处幂指数最大,自适应加权模板中各元素按前述规则填充后对其进行归一化处理,得到最终的自适应加权模板 rec
ω
((xi,yi),(xj,yj));
[0046]
步骤4.4:以roi区域的左上/右下为起点,以最小外接矩形的长、宽分别作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿 y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,每移动一次,便使用步骤4.2确定的自适应加权模板rec
ω
((xi,yi),(xj,yj))对图像i1(x,y)上的最小外接矩形所对应区域内各像素点与基准图像i2(x
′
,y
′
)上
上相对应的模板图像区域内各像素点进行自适应加权求取互相关系数σ
nc(i,j)
,最后将每个像素点对应的互相关系数σ
nc(i,j)
均乘以同一个正整数a,从而将互相关系数扩大至大于1的正数空间;
[0047]
步骤4.5:按照下式对步骤4.4计算出的每个像素点对应的互相关系数乘以a所得的结果σ
nc(i,j)
'进行阈值分割并赋值,对于最小外接矩形外的区域,由于其不存在缺陷,故将其rec
de
((xi,yi),(xj,yj))=0,从而得到roi区域的二值图像;
[0048][0049]
其中:
[0050]
σ
ω
为分割阈值,a/2≤σ
ω
≤a。
[0051]
进一步地,步骤4.5中分割阈值σ
ω
的确定方法为:
[0052]
设定分割阈值的初始值为a/2,在初始值的基础上逐渐增大分割阈值,统计rec
de
((xi,yi),(xj,yj))=255的像素总面积,像素总面积变化最大处对应的σ
ω
即为最终确定的分割阈值;
[0053]
或者,
[0054]
设定分割阈值的初始值为a/2,在初始值的基础上逐渐增大分割阈值,统计rec
de
((xi,yi),(xj,yj))=0的像素总面积,像素总面积变化最大处对应的σ
ω
即为最终确定的分割阈值。
[0055]
进一步地,步骤4.4中a=255。
[0056]
一种存储介质,所述存储介质上存储有计算机程序;其特殊之处在于:所述计算机程序被处理器运行时执行如上述的基于自适应加权模板ncc的蒙皮漆面缺陷检测方法。
[0057]
一种电子设备,包括处理器和存储介质;所述存储介质上存储有计算机程序;其特殊之处在于:所述计算机程序被所述处理器运行时执行如权利要求1-6任一所述的基于自适应加权模板ncc的蒙皮漆面缺陷检测方法。
[0058]
与现有技术相比,本发明具有如下的有益效果:
[0059]
1、传统直接使用ncc算法确定roi区域时,需要逐像素点计算,即每个像素点都需要与模板进行依次互相关系数计算,计算量非常大;而本发明采用分块求取缺陷区域与模板区域互相关系数的方法,将缺陷图像分块做预处理,先判定矩形匹配模板当前所对应区域是否存在缺陷块即是否为roi区域,仅对roi区域图像求取与模板图像的各像素点互相关系数来确定缺陷二值图像,相较于直接使用ncc算法,本发明省去了无缺陷块图像区域的逐像素点互相关系数计算,因而大大减少了计算时间。
[0060]
2、传统ncc算法使用的是均值模板,将中心像素点的权重与边缘像素点的权重视为统一,导致在图像上距离缺陷像素半个模板宽度的像素位置也被视为缺陷像素,导致“重影”;而本发明提出自适应加权模板ncc算法,由于自适应加权模板提高了中心像素点处的权重,而降低了边缘像素位置的权重,从而使得最终提取的缺陷精度大大提高,明显降低了缺陷“重影”效果。
附图说明
[0061]
图1为本发明蒙皮漆面缺陷检测方法优选实施例的流程图。
[0062]
图2为本发明具体实施方式中待检测区域的蒙皮漆面图像与基准图像实例。
[0063]
图3为本发明具体实施方式中利用ncc标记的缺陷区域最小外接矩形区域实例。
[0064]
图4为本发明具体实施方式中最终检测出的缺陷二值图像实例。
[0065]
图5为使用ncc算法识别出的缺陷二值图像实例。
具体实施方式
[0066]
下面结合具体实施例和附图对本发明进行详细说明。
[0067]
一种基于自适应加权模板ncc的蒙皮漆面缺陷检测方法,包括以下步骤:
[0068]
步骤s1:用像素点位置和灰度表达采集的图像:
[0069]
采集一张标准蒙皮漆面图像作为基准图像,建立直角坐标系,将坐标系原点定义在基准图像的左上角,水平向右方向为x轴正方向,垂直向下方向为y轴正方向。根据基准图像上每个像素点的位置及灰度值,将基准图像表示为i2(x
′
,y
′
)=f(x
′
,y
′
),其中(x
′
,y
′
)为基准图像上像素点的坐标;
[0070]
采集待检测区域的蒙皮漆面图像,建立直角坐标系,将坐标系原点定义在该蒙皮漆面图像的左上角,水平向右方向为x轴正方向,垂直向下方向为y 轴正方向。根据该蒙皮漆面图像上每个像素点的位置及灰度值,将采集到的待检测区域的蒙皮漆面图像表示为i1(x,y)=f(x,y),其中(x,y)为待检测区域的蒙皮漆面图像上像素点的坐标。
[0071]
步骤s2:在基准图i2(x
′
,y
′
)上选择一个矩形区域作为矩形匹配模板:
[0072]
根据图像i1(x,y)大小和放缩比例ω,按照下式(1)在基准图i2(x
′
,y
′
)上选择一个矩形区域,将该矩形区域作为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2)),为下一步模板匹配提供支持。
[0073]
s(rec((x
′1,y
′1),(x
′2,y
′2)))=ωs(rec((x1,y1),(x2,y2)))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0074]
其中:
[0075]
rec((x1,y1),(x2,y2))表示图像i1(x,y)整个幅面;
[0076]
s表示区域的面积;
[0077]
(x1,y1)表示图像i1(x,y)左上角位置坐标;
[0078]
(x2,y2)表示图像i1(x,y)右下角位置坐标;
[0079]
ω表示放缩比例,0《ω《1,本实施例中确定矩形匹配模板时ω选取值为1/12;
[0080]
(x
′1,y
′1)为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的左上角坐标;
[0081]
(x
′2,y
′2)为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的右下角坐标。
[0082]
步骤s3:确定图像i1(x,y)上矩形匹配模板所对应区域是否为roi区域 (存在缺陷的区域为roi区域,否则,为非roi区域)并标记:
[0083]
以图像i1(x,y)和矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))作为ncc算法的输入,搜索图像i1(x,y),确定图像i1(x,y)上与矩形匹配模板当前位置所对应区域 rec
de
((xi,yi),(xj,yj))内是否为roi区域并标记,具体包括以下步骤:
[0084]
步骤s3.1:按照式(2)根据ncc算法计算图像i1(x,y)上对应于矩形匹配模板大小s(rec((x
′1,y
′1),(x
′2,y
′2)))的区域图像与基准图i2(x
′
,y
′
)之间的互相关系数σ
nc
:
[0085][0086][0087][0088]
其中:
[0089]
m为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的长;
[0090]
n为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的宽;
[0091]
t(m,n)表示矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))上像素点(m,n)处的灰度值,如式(3)所示;
[0092]
表示矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的灰度均值;
[0093]si,j
(m,n)表示图像i1(x,y)上对应于矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))上像素点(m,n)处的灰度值,如式(4)所示;
[0094]
表示图像i1(x,y)上对应于矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))的区域的灰度均值。
[0095]
步骤s3.2:根据所处理的图像内容(包括图像类型、图像颜色)以及要求的检测精度,确定相应阈值σ,本发明中σ=0.93。按照下式(5)确定并记录图像i1(x,y)上矩形匹配模板当前位置所对应区域rec
de
((xi,yi),(xj,yj))是否为roi区域:
[0096][0097]
其中:
[0098]
(xi,yi)为区域rec
de
((xi,yi),(xj,yj))的左上角坐标;
[0099]
(xj,yj)为区域rec
de
((xi,yi),(xj,yj))的右下角坐标;
[0100]
若区域rec
de
((xi,yi),(xj,yj))=1,表示该区域中存在缺陷,该区域为roi 区域,进入步骤s4;
[0101]
若区域rec
de
((xi,yi),(xj,yj))=0,表示该区域中没有缺陷,该区域为非 roi区域,进入步骤s5。
[0102]
上述阈值σ一般取值在0.8-1,其具体取值根据所要达到的检测精度确定,若要求的检测精度较高,阈值σ取值较大,若要求的检测精度较低,阈值σ取值取值较小。确定方法具体如下:
[0103]
首先,设定一个初始值,例如0.9,在该初始值下获取图像i1(x,y)上某一个人工可视缺陷处的roi区域rec
de
((xi,yi),(xj,yj))的值,若该处 rec
de
((xi,yi),(xj,yj))值不等于1,则可表明当前初始值过大,可适当将其减小,然后再重复前述过程,直至该人工可视缺陷处rec
de
((xi,yi),(xj,yj))等于 1为止。
[0104]
步骤s4:对步骤3标记的roi区域,获取该roi区域的二值图像:
[0105]
首先,在步骤s2放缩比例ω值的基础上,逐渐缩小所述放缩比例ω的值,重复步骤s2~s3,直至确定出能够包围roi区域中缺陷区域的最小外接矩形;
[0106]
然后,依据确定的缺陷区域的最小外接矩形,选用自适应加权模板 rec
ω
((xi,yi),(xj,yj)),以roi区域的左上/右下为起点,以最小外接矩形的长、宽分别作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,在最小外接矩形的初始位置以及每移动一次,便自适应加权计算图像i1(x,y)上最小外接矩形所对应区域内各像素点与基准图像i2(x
′
,y
′
)上相对应的模板图像区域内各像素点的互相关系数;
[0107]
最后,基于得到的互相关系数确定roi区域的二值图像。
[0108]
对roi区域,获取其二值图像的方法具体包括以下步骤:
[0109]
步骤s4.1:确定roi区域中能包围缺陷区域的最小外接矩形:
[0110]
逐渐缩小放缩比例ω的值,重复步骤s2~s3,若当前的ω值对应的矩形区域无法将缺陷区域包围在内,而上一个ω值对应的矩形区域能将缺陷区域包围在内,选择前一个ω值,此时所选择的ω值对应的ωs(rec((x1,y1),(x2,y2)))即为能包围缺陷区域的最小外接矩形rec
min
((x1′
,y1′
),(x2′
,y2′
));
[0111]
步骤s4.2:确定自适应加权模板的维数:
[0112]
选用缩放比例ω
de
,取值为1/2~1/5,由步骤s4.1得到的最小外接矩形的宽度l和缩放比例ω
de
,选择一个n
×
n大小的矩阵作为自适应加权模板,其中n为最接近l
×
ω
de
的奇数,且小于等于l
×
ω
de
;
[0113]
步骤s4.3:确定自适应加权模板rec
ω
((xi,yi),(xj,yj))中各元素值:
[0114]
自适应加权模板rec
ω
((xi,yi),(xj,yj))的四个顶点位置填充20,其余位置填充2m,m分别取1,2,3
…
,s,距离自适应加权模板rec
ω
((xi,yi),(xj,yj))的中心点位置越近,幂指数m越大,中心点值处幂指数最大,自适应加权模板中各元素按前述规则填充后对其进行归一化处理,得到最终的自适应加权模板 rec
ω
((xi,yi),(xj,yj));
[0115]
步骤s4.4:以roi区域的左上/右下为起点,以最小外接矩形的长、宽分别作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿 y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,每移动一次,便使用步骤s4.3得到的自适应加权模板rec
ω
((xi,yi),(xj,yj))对图像i1(x,y)上的最小外接矩形区域rec
min
((x1′
,y1′
),(x2′
,y2′
))与对应模板区域 rec
de
((xi′
,yi′
),(xj′
,yj′
))(即基准图i2(x
′
,y
′
)上与roi区域最小外接矩形的位置、大小均对应的图像区域)进行逐像素点自适应加权求取互相关系数σ
nc(i,j)
,最后将每个像素点对应的互相关系数σ
nc(i,j)
均乘以同一个正整数a,从而将互相关系数扩大至大于1的正数空间,便于后续步骤s4.5中设定分割阈值σ
ω
;优选的,将每个像素点对应的互相关系数均乘以255,从而将互相关系数扩大至灰度空间,此时更便于后续步骤s4.5中分割阈值σ
ω
。
[0116]
步骤s4.5:按照式(7)对步骤s4.4计算出的每个像素点对应的互相关系数乘以a所得的结果σ
nc(i,j)
'进行阈值分割,对于最小外接矩形外部的区域,由于其不存在缺陷,故使其rec
de
((xi,yi),(xj,yj))=0,从而得到roi区域的二值图像:
[0117]
[0118]
其中:
[0119]
σ
ω
为分割阈值,a/2≤σ
ω
≤a;
[0120]
上述分割阈值ω的具体确定方法一为:
[0121]
设定分割阈值的初始值为a/2,在初始值的基础上逐渐增大分割阈值,统计rec
de
((xi,yi),(xj,yj))=255的像素总面积,像素总面积变化梯度最大处对应的σ
ω
即为最终确定的分割阈值;
[0122]
上述分割阈值σ
ω
的具体确定方法二为:
[0123]
设定分割阈值的初始值为a/2,在初始值的基础上逐渐增大分割阈值,统计rec
de
((xi,yi),(xj,yj))=0的像素总面积,像素总面积变化梯度最大处对应的σ
ω
即为最终确定的分割阈值。
[0124]
步骤s5:遍历检测:
[0125]
将步骤s2得到的矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))分别以其长、宽作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿y/x轴移动一个“宽”/“长”,然后继续沿x/y轴方向移动,每移动一次返回至步骤 s3,直至矩形匹配模板覆盖整幅图像i1(x,y)为止,从而得到整个图像i1(x,y)的缺陷二值图像。
[0126]
实施例:
[0127]
参阅图1,本实施例提供的基于自适应加权模板ncc的飞机蒙皮漆面缺陷检测方法包括如下步骤:
[0128]
步骤s1:用像素点位置和灰度表达采集的图像:
[0129]
以图2中(a)图为采集的待检测区域的蒙皮漆面图像,使用i1(x,y)= f(x,y)表示;以图2中(b)图为基准图,使用i2(x
′
,y
′
)=f(x
′
,y
′
)表示。
[0130]
步骤s2:在基准图i2(x
′
,y
′
)上选择一个矩形区域作为矩形匹配模板:
[0131]
选择放缩比例ω,按照式(1)在基准图i2(x
′
,y
′
)上选择一个矩形区域,将该矩形区域作为矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2)),为下一步模板匹配提供支持;本实施例中ω取值为1/12。
[0132]
s(rec((x
′1,y
′1),(x
′2,y
′2)))=ωs(rec((x1,y1),(x2,y2)))
ꢀꢀꢀꢀꢀꢀꢀ
(1)
[0133]
步骤s3:确定图像i1(x,y)上矩形匹配模板所对应区域是否为roi区域并标记:
[0134]
以图像i1(x,y)和矩形匹配模板rec((x
′1,y
′1),(x
′2,y
′2))作为ncc算法的输入,搜索图像i1(x,y),确定图像i1(x,y)上与矩形匹配模板当前位置所对应图像区域 rec
de
((xi,yi),(xj,yj))是否为roi区域并标记,具体包括以下步骤:
[0135]
步骤s3.1:根据ncc算法计算图像i1(x,y)上对应于矩形匹配模板大小 s(rec((x
′1,y
′1),(x
′2,y
′2)))的区域图像与基准图i2(x
′
,y
′
)之间的互相关系数σ
nc
:
[0136]
步骤s3.2:确定阈值σ,在本实施例中,σ取值为0.93。按照下式确定并记录图像i1(x,y)上矩形匹配模板当前所对应区域rec
de
((xi,yi),(xj,yj))是否为 roi区域:
[0137][0138]
其中:
[0139]
(xi,yi)为区域rec
de
((xi,yi),(xj,yj))的左上角坐标;
[0140]
(xj,yj)为区域rec
de
((xi,yi),(xj,yj))的右下角坐标;
[0141]
若区域rec
de
((xi,yi),(xj,yj))=1,表示该区域中存在缺陷,则该区域为 roi区域,进入步骤s4;
[0142]
若区域rec
de
((xi,yi),(xj,yj))=0,表示该区域中没有缺陷,则该区域为非roi区域,进入步骤s5。
[0143]
步骤s4:对步骤3标记的roi区域,获取该roi区域的二值图像:
[0144]
首先,选择缩放比例ω,重复步骤s2~s3,直至确定出能够包围roi区域中缺陷区域的最小外接矩形区域。然后,依据确定的最小外接矩形,选用自适应加权模板rec
ω
((xi,yi),(xj,yj)),以最小外接矩形遍历roi区域,并在最小外接矩形的每个位置处,自适应加权计算图像i1(x,y)上最小外接矩形所在区域内各像素点与基准图像i2(x
′
,y
′
)上相应模板区域内各像素点的互相关系数,基于得到的互相关系数可确定最终缺陷二值图像;
[0145]
具体采用以下步骤获取roi区域的二值图像:
[0146]
步骤s4.1:依次缩小ω,重复s2-3,若当前的ω值对应的矩形区域无法将缺陷区域包围在内,而上一个ω值对应的矩形区域能将缺陷区域包围在内,选择前一个ω值,此时所选择的ω值对应的ωs(rec((x1,y1),(x2,y2)))即为能包围缺陷的最小外接矩形区域;
[0147]
步骤s4.2:选用缩放比例ω
de
=1/5,由步骤s4.1得到的最小外接矩形的宽度l和缩放比例ω
de
,选择一个n
×
n大小的矩阵作为自适应加权模板,其中行/列数n为最接近l
×
ω
de
的奇数,且小于等于l
×
ω
de
;
[0148]
步骤s4.3:确定自适应加权模板中各元素值;
[0149]
步骤s4.4:以roi区域的左上/右下为起点,以最小外接矩形的长、宽分别作为x轴方向和y轴方向的步长进行移动,先移动搜索完x/y轴方向,再沿y/x轴移动一个“宽”/“长”,继续沿x/y轴方向移动,每移动一次,便使用自适应加权模板对图像i1(x,y)上最小外接矩形区域与基准图像i2(x
′
,y
′
)上模板区域进行逐像素点自适应加权求取互相关系数,将互相关系数均乘以255,扩大至灰度空间,便于后续步骤中设定分割阈值σ
ω
;
[0150]
步骤s4.5:按照下式对步骤s4.4的计算结果进行阈值分割并赋值,从而确定roi区域的二值图像。
[0151][0152]
本实施例中选用分割阈值σ
ω
的值为:251。
[0153]
步骤s5:遍历检测
[0154]
将矩形匹配模板按x轴方向和y轴方向分别以步骤s3.1中的m、n为间距移动,每移动一次返回至步骤s3,整个移动轨迹呈“弓”字形,直至匹配模板覆盖整幅图像为止,最终得到整个检测图像i1(x,y)的缺陷二值图像。
[0155]
本实施例中:
[0156]
经矩形匹配模板从图3所示待检测图像i1(x,y)的左上(即1号区域)出发,先沿着x轴向右以矩形匹配模板的“宽”为步长移动检测,移动至4号区域后,再沿着y轴向下以矩形匹配模板的“长”为步长移动至5号区域后,再沿着x轴向左以矩形匹配模板的“宽”为步长移动检测,直至遍历检测完整个图3,最终在图3中共标记出5个rec
de
((xi,yi),(xj,yj))=1的roi区域,分别为2号、8号、7号、9号和10号区域,如图3所示。
[0157]
对步骤3标记出的5个rec
de
((xi,yi),(xj,yj))=1的roi区域分别执行上述步骤
4.1,共得到图3所示的5个最小外接矩形,这5个最小外接矩形对应的ω取值分别为:11/14,1/16,1/18,1/18和1/18。
[0158]
对步骤3标记出的5个rec
de
((xi,yi),(xj,yj))=1的roi区域共确定两种自适应加权模板,其中7号区域对应的自适应加权模板为:
[0159][0160]
2号、8号、9号和10号区域对应的自适应加权模板为:
[0161][0162]
图4所示本实施例蒙皮漆面缺陷检测结果。由图4、5对比可以看出,本发明的自适应加权模板ncc蒙皮漆面缺陷检测方法可以将不同大小面积缺陷精确检测出来,且检测出的缺陷二值图像能够真实有效的反映缺陷的形状特征。