模板确定方法、装置、计算机设备及存储介质与流程

文档序号:25898618发布日期:2021-07-16 20:31阅读:78来源:国知局
模板确定方法、装置、计算机设备及存储介质与流程

1.本发明实施例涉及图像处理领域,尤其涉及一种模板确定方法、装置、计算机设备及存储介质。


背景技术:

2.在注塑、冲压和压铸等制造行业,需要经过开模检测是否有杂质、在无杂质时进行合模、注塑和冷却之后开模等操作,得到产品。由于不同产品和模具的特殊性和不规则性,在检测过程中,对存在多位置、多角度和多姿态的模具和产品进行检测,需要引入大量的模板。
3.目标可以采用模板库中的每一张模板图像与待检测物体图像进行遍历匹配,可以确保所有位置进行检测。
4.上述方法使得整个模具监视流程更加复杂,同时计算量大,同时,根据模板库中图像数目的不同,耗时存在递增现象,此类算法的缺陷可能会影响机械手等装置的配合,甚至影响产线正常运行。


技术实现要素:

5.本发明实施例提供一种模板确定方法、装置、计算机设备及存储介质,可以提高模具匹配的效率,提高模具匹配系统的稳定性。
6.第一方面,本发明实施例提供了一种模板确定方法,包括:
7.获取多个模板图像;
8.确定各所述模板图像和待检测物体的图像之间的差异像素;
9.根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
10.第二方面,本发明实施例还提供了一种模板确定装置,包括:
11.模板图像获取模块,用于获取多个模板图像;
12.差异像素确定模块,用于确定各所述模板图像和待检测物体的图像之间的差异像素;
13.目标图像确定模块,用于根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
14.第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一所述的模板确定方法。
15.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的模板确定方法。
16.本发明实施例通过确定模板图像和待检测物体的图像之间的差异像素,并根据差
异像素对模板图像进行排序,并根据排序结果选择目标图像,一堆待检测物体的图像进行检测,解决了现有技术中采用每张模板图像与待检测的对象图像进行遍历匹配导致匹配计算量大的问题,可以根据排序结果,筛选模板进行检测,降低匹配的模板数量,从而减少匹配计算量,提高待检测物体的工序检测效率。
附图说明
17.图1是本发明实施例一中的一种模板确定方法的流程图;
18.图2a是本发明实施例二中的一种模板确定方法的流程图;
19.图2b是本发明实施例二中的一种目标检测区域的示意图;
20.图2c是本发明实施例二中的一种合并检测区域的示意图;
21.图2d是本发明实施例二中的一种模板确定方法的流程图;
22.图3是本发明实施例三中的一种模板确定装置的结构示意图;
23.图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
24.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
25.实施例一
26.图1为本发明实施例一中的一种模板确定方法的流程图,本实施例可适用于检测模具是否存在杂质以及产品是否质量合格的情况,该方法可以由本发明实施例提供的模板确定装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中,例如,制造领域中模具监视系统中等。如图1所示,本实施例的方法具体包括:
27.s110,获取多个模板图像。
28.模板图像包括标准物体,模板图像可以是对多位置、多角度和多姿态的标准物体进行采集得到的图像。其中,标准物体和待检测物体属于同一种物体,标准物体为工序检测结果为通过的物体。不同模板图像中标准物体与待检测物体的位置、角度和姿态等至少一项不同。待检测物体是工序过程中需要进行操作的物体,一个模具经过注塑后可以同时得到一个或多个产品,相应的,待检测物体包括模具或至少一个产品。
29.模板图像用于筛选出目标图像与待检测物体的图像进行匹配,以检测待检测物体是否可进入下一个工序。现有技术中是采用每个模板图像与待检测物体的图像进行匹配。而本发明实施例是在模板图像中筛选出部分目标图像与待检测物体的图像进行匹配。
30.s120,确定各所述模板图像和待检测物体的图像之间的差异像素。
31.差异像素用于描述模板图像与待检测物体的图像之间的相似性,更具体的,差异像素的数量用于描述模板图像与待检测物体的图像之间的相似程度。差异像素可以是指模板图像与待检测物体的图像之间的不同的像素。
32.可选的,所述确定所述模板图像和待检测物体的图像之间的差异像素,包括:计算所述模板图像与待检测物体的图像之间的差值图像;在所述差值图像中,将各像素的像素值分别与预设像素阈值进行比较,确定差异像素。
33.差值图像用于描述模板图像与待检测物体的图像之间的像素级别的差值。差值图像中的每个像素的像素值可以是计算模板图像中相应位置的像素的像素值,与待检测物体的图像中相应位置的像素的像素值之间的差值。在计算差值图像之前还需要,确保模板图像与待检测物体的图像的尺寸相同,可以调整模板图像的尺寸,直至与待检测物体的图像的尺寸相同,相应的,差值图像的右顶点像素的像素值,为模板图像中右顶点像素的像素值,与待检测物体的图像中右顶点像素的像素值之间的差值。
34.预设像素阈值用于确定差异像素。差值图像中大于等于预设像素阈值的像素为差异像素。
35.通过比较差值图像中各像素的像素值与预设像素阈值的比较结果,确定差异像素,可以将模板图像与待检测物体的图像之间的差异用于像素级信息进行表示,可以精确确定模板图像与待检测物体的图像之间的差异,从而,准确筛选出目标图像。
36.s130,根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
37.对模板图像进行相似排序,相似排序结果用于从大量的模板图像中筛选出少量的目标图像,其中,相似排序是指按照模板图像与待检测物体的图像之间的相似程度进行排序。实际上,相似排序结果用于在模板图像中筛选出与待检测物体的图像较相似的目标图像。目标图像用于与待检测物体的图像进行匹配,得到待检测物体的工序检测结果,目标图像是模板图像中与待检测物体的图像更相似的图像。工序检测结果是指目标图像与待检测物体的图像的匹配结果,用于确定该待检测物体是否进入下一道工序。待检测物体可以包括模具或产品。模具的工序检测结果用于确定模具中是否残留杂质,从而确定模具是否可以进入下一步合模的工序。产品的工序检测结果用于确定产品质量是否有缺陷,从而确定产品是否可以进入下一步验收或其他处理等工序。
38.实际上,由于待检测物体存在多位置、多角度和多姿态的情况,需要遍历大量模板图像进行匹配,以确保待检测物体中每个目标检测区域都会检测到。本发明实施例通过差异像素对各模板图像进行相似排序,并根据相似排序结果确定目标图像,用以对待检测物体的图像进行检测,可以采用相似程度高的模板图像进行检测,而采用相似程度低的模板进行检测得到的结果,通常为不通过,而且,由于相似程度低,检测结果的准确率低,从而,可以减少采用相似程度低的模板进行检测的计算量。
39.可选的,所述根据各所述差异像素对各所述模板图像进行相似排序,包括:统计各所述模板图像和待检测物体的图像之间的差异像素的数量;根据各所述差异像素数量,对各所述模板图像进行相似排序。
40.差异像素的数量用于确定模板图像与待检测物体的图像之间的差异程度或相似程度。其中,差异像素的数量越多,表示模板图像与待检测物体的图像之间不同的像素越多;差异像素的数量越少,表示模板图像与待检测物体的图像之间不同的像素越少。相似排序可以是指对模板图像按照与待检测物体的图像之间的相似程度进行排序。差异像素数量可以用于表征模板图像与待检测物体的图像之间的相似程度,从而,相似排序可以是指按照差异像素数量的多少进行模板图像的排序。相似排序结果为模板图像按照差异像素数量从小到大的排序结果,次序在前的模板图像的差异像素数量越少,次序在后的模板图像的
差异像素数量越多。
41.通过根据差异像素的数量对模板图像进行相似排序,可以精准查询到模板图像与待检测物体的图像的相似程度,从而查询到相似程度最高的模板优先匹配,减少检测耗时。
42.在一个具体的例子中,为了获取模板图像和待检测物体的图像之间的差异,需要获取两幅图像对比之后的差值图像,差值图像能够显示两张图像区域的不同信息。获取差值图像之后对差值图像进行判断,通过设置敏感度值t,即像素阈值,通过根据该敏感度值对差值图像中的每个像素进行判断,判断过滤和选定的区域,其中,小于该敏感度值的像素被过滤,大于该敏感度值的像素被选定,即确定为差异像素,将差异像素形成的区域确定为被选定区域。
43.可以理解的是,如果模板图像和待检测物体的图像相似程度很高,在差值图像中差异像素或被选定区域较少。如果模板图像和待检测物体的图像有明显不同的区域,在差值图像中差异像素或被选定区域会较多。可以预先确定模板图像的灰度图,以及待检测物体的图像的灰度图,并计算得到差值图像的灰度图,并基于如下公式计算差异像素:
[0044][0045]
其中,m(x,y)为模板图像坐标(x,y)的灰度值,n(x,y)为待检测物体的图像坐标(x,y)的灰度值,d(x,y)为差值图像的像素值。在差值图像中,将d(x,y)为1的像素确定为差异像素。
[0046]
被选定区域提取之后,差值图像中只会有两种信息,一种为黑的区域,表示该区域相差较小,另一种是全白区域,为被选定区域,表示该区域有不同。需要对模板图像进行筛选,得到相似程度最高的模板,以便优先进行检测。
[0047]
差值处理之后计算出全白区域的像素个数,并且依照该个数排序,像素个数小的模板放在排序结果中的前端,优选检测。
[0048]
本发明实施例通过确定模板图像和待检测物体的图像之间的差异像素,并根据差异像素对模板图像进行排序,并根据排序结果选择目标图像,一堆待检测物体的图像进行检测,解决了现有技术中采用每张模板图像与待检测的对象图像进行遍历匹配导致匹配计算量大的问题,可以根据排序结果,筛选模板进行检测,降低匹配的模板数量,从而减少匹配计算量,提高待检测物体的工序检测效率。
[0049]
实施例二
[0050]
图2a为本发明实施例二中的一种模板确定方法的流程图,本实施例以上述实施例为基础进行具体化。将获取多个模板图像,具体化为:在模板库中获取多个初始图像;获取待检测物体的图像;计算所述待检测物体的图像与各所述初始图像之间的相似值;根据各所述相似值,在各所述初始图像中,选择模板图像。
[0051]
本实施例的方法具体包括:
[0052]
s210,获取多个初始图像。
[0053]
初始图像是指对待检测物体进行检测的图像。可以从模板库存储的图像中筛选出初始图像。相对于模板图像,存在初始图像与待检测物体的图像不相似。实际上,存在初始图像与待检测物体的图像中待检测物体的位置、姿态和角度等非常不相似,从而需要在初始图像中粗筛出与待检测物体的图像较为相似的模板图像。其中,模板库存储有对多种物
体进行检测的图像,存储的图像可以是对待检测物体进行检测的图像,也可以是对除待检测物体之外的物体进行检测的图像。
[0054]
可以首先判断模板库的图像的数量,如果数量小于1,则不允许检测,提示用户先拍摄模板;如果等于1,则无需进行模板选择;只有当模板库中的模板数量大于1时,才启用本发明实施例中的模板确定方法。
[0055]
本发明实施例中未详细介绍的描述可以参考上述实施例的描述。
[0056]
s220,获取待检测物体的图像。
[0057]
通过摄像设备,对待检测物体进行采集,得到待检测物体的图像。
[0058]
s230,计算所述待检测物体的图像与各所述初始图像之间的相似值。
[0059]
待检测物体的图像与各初始图像之间的相似值,用于描述初始图像与待检测物体之间的差异程度,也即相似程度。可以采用现有的图像相似值计算方法进行计算待检测物体的图像与各初始图像之间的相似值,例如,距离算法、直方图算法、结构相似性算法或神经网络算法等。
[0060]
可选的,所述计算所述待检测物体的图像与所述初始图像之间的相似值,包括:对所述待检测物体的图像进行编码,得到所述待检测物体的编码图像;对所述初始图像进行编码,得到所述初始编码图像;计算所述待检测物体的编码图像与所述初始编码图像之间的汉明距离,并确定为所述待检测物体的图像与所述初始图像之间的相似值。
[0061]
汉明距离表示两个(相同长度)字对应位不同的数量,以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。字符串相似程度越高,对应的汉明距离越小。相对于距离算法来说,汉明距离的计算速度快,效率高。相对于神经网络算法来说,汉明距离算法复杂性低,效率高。
[0062]
对图像进行编码可以得到字符串。编码图像用于计算汉明距离,汉明距离用于确定相似值。汉明距离越小,两个图像越相似;汉明距离越大,两个图像越不相似。
[0063]
在一个具体的例子中,可以根据算法获取图像的编码,然后再根据图像编码间的汉明距离得出相似值,具体实现步骤为:
[0064]
(1)图像缩放:将输入的模板图像与待检测物体的图像调整成相同尺寸的图像。可以将输入的模板图像调整成与待检测物体的图像尺寸相同的尺寸。例如,可以调整为8
×
8共64个像素点。
[0065]
(2)计算像素均值:根据上一步获得的8
×
8整数矩阵g,计算这个矩阵中所有元素(这里面元素即图像中像素)的平均值a。模板图像对应的8
×
8整数矩阵g1可以计算得到一个平均值a1。待检测物体的图像对应的8
×
8整数矩阵g2可以计算得到一个平均值a2。
[0066]
(3)获取编码图像:从左到右逐行地遍历矩阵g的每一个像素,如果第i行j列元素g(i,j)>=a,则编码值记为1;如果第i行j列元素g(i,j)<a,则编码值记为0。由此即获得了各初始编码图像和待检测物体的编码图像。
[0067]
(4)计算汉明距离:计算初始编码图像与待检测物体的编码图像之间的汉明距离,汉明距离表示两个(相同长度)字对应位不同的数量,即描述序列x=(x1,x2,

,x
k
,

,x
n
)和序列y=(y1,y2,

,y
k
,

,y
n
)的距离d(x,y),具体表达式如下:
[0068]
[0069]
式中,表示模2运算,x
k
∈{0,1},y
k
∈{0,1},k为序列中第k个元素。通过比较这两幅图像的编码图像(序列)即间不同的位数即可计算出相应的汉明距离。
[0070]
计算出初始图像和待检测物体的图像之间的汉明距离,下一步需要过滤相似程度不高的初始图像,将相似程度高的图像确定为模板图像,以进行后续相似计算。当两幅图像的汉明距离小于5时,表示此时初始图像和待检测物体的图像非常相似,初始图像仍包含许多相对于待检测物体的有用信息;当汉明距离大于8时,表示此时初始图像和待检测物体的图像已经完全不相同了,说明此时初始图像中相对于待检测物体的信息损失严重,这一步骤目的是过滤相似程度很低的初始图像。
[0071][0072]
其中v
n
用于区分初始图像是否为模板图像,t
n
为第n张初始图像,tn.value表示汉明距离,该汉明距离越小表明越相似。如果v
n
的值为1,则将初始图像确定为模板图像;如果v
n
的值为0,则该初始图像不确定为模板图像,也即被滤除。通过过滤掉相似程度低的初始图像,从而实现针对待检测物体,重新形成一个模板库,用于进行相似排序,以将相似程度高的放在排序结果的前端。
[0073]
通过计算初始图像的初始编码图像与待检测物体的编码图像之间的汉明距离,根据汉明距离对初始图像进行筛选,得到模板图像,简化模板图像的筛选过程,加快模板图像的筛选速度,提高模板图像的筛选效率。
[0074]
s240,根据各所述相似值,在各所述初始图像中,选择模板图像。
[0075]
根据各相似值与预设相似阈值,在各初始图像中,选择模板图像。根据相似值表征的两个图像的相似程度,将相似值大于或小于相似阈值的初始图像,确定为模板图像。例如,汉明距离与相似程度成反比,将相似值小于相似阈值的初始图像,确定为模板图像。例如,相似值与相似程度成正比,将相似值大于相似阈值的初始图像,确定为模板图像。可以根据需要添加等于情况。
[0076]
s250,确定各所述模板图像和待检测物体的图像之间的差异像素。
[0077]
s260,根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
[0078]
目标图像的数量为至少一个。示例性的,可以选择相似排序结果中前3个模板图像,确定为目标图像。在排序结果中确定多个目标图像,可以减少只确定一个目标图像带来的检测误差,进一步提高图像检测准确率。
[0079]
可选的,在根据排序结果确定目标图像之后,还包括:采用各所述目标图像的合并检测区域,对所述待检测物体的图像进行匹配;在每个所述目标图像的匹配结果中,针对所述合并检测区域包括的每个目标检测区域,对所述待检测物体的图像进行工序检测;获取所述待检测物体的工序检测结果。
[0080]
合并检测区域为目标检测区域的合成区域。目标检测区域为型腔、产品或产品中某个部位等。匹配结果为待检测物体的图像中与合并检测区域匹配的图像区域。匹配结果用于对目标检测区域进行检测,匹配结果的区域尺寸小于待检测物体的图像尺寸,以进一
步缩小检测范围,提高检测效率。可以在待检测物体的图像中查询与合并检测区域匹配的图像区域,确定为匹配结果。目标图像与匹配结果对应,不同目标图像对应的匹配结果不同。工序检测结果用于确定该待检测物体是否通过检测,以及确定是否该待检测物体是否可以进入下一工序操作。
[0081]
在匹配结果中,采用对应的合并检测区域包括的每个目标检测区域进行工序检测。具体的,在匹配结果中,查询与合并检测区域包括的每个目标检测区域匹配的区域,并将该区域与对应的目标检测区域进行相似程度检测,得到两个区域之间的区域相似值,与相似程度成正比。如果区域相似值大于等于检测阈值,则确定该对应的目标检测区域的工序检测结果为检测通过;如果区域相似值小于检测阈值,则确定该对应的目标检测区域的工序检测结果为检测不通过。统计每个目标检测区域的工序检测结果,并统计检测不通过的次数,如果次数大于等于次数阈值,确定待检测物体的工序检测结果为不通过;如果次数小于次数阈值,确定待检测物体的工序检测结果为通过。示例性的次数阈值为1。
[0082]
通过优先根据合并检测区域进行匹配,并遍历每个目标检测区域,对待检测物体的图像进行工序检测,替代直接在待检测物体的图像中进行目标检测区域,可以减少目标检测区域的匹配时间,以及减少目标检测区域的匹配操作数据量,从而提高目标检测区域的检测效率。
[0083]
可选的,所述模板确定方法,在选择模板图像之前,还包括:针对每个初始图像,对所述初始图像包括的目标检测区域进行合并,在所述初始图像中确定合并检测区域。
[0084]
在一个模具中通常会配置有多个型腔,每个型腔经过填充之后,可以形成对应的产品。例如圆柱形型腔经过注塑,可以形成圆柱形的产品。而一个模具中通常会配置多个型腔,以提高模具的利用率。目标检测区域为初始图像中单元物体对应的图像区域,待检测物体是模具时,目标检测区域为型腔;待检测物体是产品时,目标检测区域为产品或产品中某个部位。实际上,对待检测物体进行检测是针对每个目标检测区域,检测待检测物体的图像中是否存在不同的区域,以验证待检测物体是否存在杂质或质量缺陷。
[0085]
对目标检测区域进行合并,是指根据多个目标检测区域生成一个合并检测区域,合并检测区域包括各目标检测区域。通常合并检测区域为矩形,示例性的,可以根据多个目标检测区域,确定至少三个边界关键点;连接相邻边界关键点,并生成合并检测区域;或者可以根据多个目标检测区域,确定边界关键点、矩形宽和矩形高;根据边界关键点、矩形宽和矩形高,生成合并检测区域。目标检测区域的形状可以根据需要配置,例如,圆形、矩形或多边形等。一个图像中可以存在不同形状的多个目标检测区域,通过配置不同形状的目标检测区域可以方便选取roi,同时增强待检测物体检测算法的适应能力。
[0086]
在实际的工况中,有些场景需要划定多个目标检测区域(region of interest,roi),为了便于减少roi的处理,将多个roi进行合并。在一个具体的例子中。主要是计算多个区域的最小外接矩形,将该最小外接矩形设定为roi,达到减少roi的目的。要确定多个区域的最小外接矩形roi,需要计算矩形的左上角坐标(x,y)和矩形的长宽。
[0087]
[0088]
其中,(roi1.x,roi1.y)分别为(roi
n
.x,roi
n
.x)为第1个roi和第n个roi的左上角坐标,(roi.x,roi.y)为最小外接矩形的左上角坐标,roi1.width和roi1.height分别为第一个区域的宽和高,roi
n
.width和roi
n
.height分别为第n个区域的宽和高,roi.width和roi.height分别为最小外接矩形的宽和高。
[0089]
在一个具体的例子中,如图2b所示,第i(i大于等于1,且小于等于m)个初始图像中存在目标检测区域1、目标检测区域2、目标检测区域3
……
目标检测区域n。将第i个初始图像中的目标检测区域进行合并,得到的合并检测区域为如图2c所示,第1个模板图中仅包括1个合并检测区域1,合并检测区域1的左上顶点为目标检测区域1的左上顶点,合并检测区域1的右上顶点为目标检测区域2的右上顶点,合并检测区域1的左下顶点为目标检测区域3的左下顶点,合并检测区域1的右下顶点为目标检测区域n的右下顶点。此外还有其他示例,可以根据实际情况进行确定。
[0090]
通过对目标检测区域进行合并,并确定一个合并检测区域,可以减少检测的处理数据量,提高检测效率。
[0091]
需要说明的是,可以对模板库中的图像进行目标检测区域合并,或者对模板图像进行目标检测区域合并,替代针对初始图像进行目标检测区域合并,最终得到的目标图像中标注有合并检测区域。此外,还可以在选择模板图像时,将初始图像进行剪切,保留合并检测区域,重新确定为初始图像,从而相应得到的模板图像为仅包括合并检测区域的图像,相应的,目标图像为仅包括合并检测区域的图像。
[0092]
在一个具体的例子中,如图2d所示,模板确定方法可以包括:
[0093]
s261,输入模板库。
[0094]
模板库包括的图像的数量大于1。
[0095]
s262,输入待检测物体的图像。
[0096]
对工序过程中的待检测物体进行图像采集,得到待检测物体的图像。
[0097]
其中,s261和s262相互独立,两个步骤的顺序可以调整。s261和s262的输入可以是向预处理模块输入。
[0098]
s263,在模板库中确定初始图像,在初始图像中合并目标检测区域,得到合并检测区域。
[0099]
预处理模块执行s263。每个初始图像中包括至少一个目标检测区域,在初始图像中对多个目标检测区域进行合并,得到合并检测区域;或者在初始图像中将一个目标检测区域确定为合并检测区域。
[0100]
s264,计算初始图像和待检测物体的图像之间的相似值。
[0101]
分别对初始图像和待检测物体的图像进行编码得到编码图像,计算两个编码图像之间的汉明距离,确定为相似值。
[0102]
s265,过滤错误初始图像。
[0103]
可以将汉明距离与距离阈值进行比较,将汉明距离大于8的初始图像过滤。将汉明距离小于等于8的初始图像保留。保留的初始图像确定为模板图像。
[0104]
s266,重新构建模板库。
[0105]
根据模板图像重新生成模板库。重新生成的模板库为专用于检测待检测物体的模板库。
[0106]
模板库初步筛选模块执行s264

s266。
[0107]
s267,计算模板图像与待检测物体的图像之间的差值图像。
[0108]
确定模板图像的灰度图,和待检测物体的灰度图,并逐个像素计算差值,生成差值图像,并在差值图像中进行差异像素选择。针对差值图像中每个像素的像素值,并将大于预设像素阈值的像素确定为差异像素,并统计差异像素的数量。
[0109]
s268,根据各差值图像中差异像素的数量,筛选模板图像,得到目标图像。
[0110]
s269,根据目标图像对待检测物体进行工序检测。
[0111]
自适应模板选择模块执行s267

s269。
[0112]
模板确定装置包括预处理模块、模板库初步筛选模块和自适应模板选择模块,此外,模板确定装置还可以包括其他形式的模块,如实施例三所述,具体可以根据需要进行配置。
[0113]
本发明实施例通过相似程度,从初始图像中初步筛选模板图像,并在模板图像中进一步筛选得到目标图像,通过两次筛选,可以准确得到与待检测物体的图像相似的目标图像,并采用目标图像对待检测物体进行检测,可以提高待检测物体的检测准确率,同时,两次筛选,首次筛选剔除不相似的图像,可以减少第二次筛选数据量,提高筛选效率,并在二次筛选中根据相似程度进行排序,进一步提高图像检测准确率。
[0114]
实施例三
[0115]
图3为本发明实施例三中的一种模板确定装置的示意图。实施例四是实现本发明上述实施例提供的模板确定方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中。
[0116]
相应的,本实施例的装置可以包括:
[0117]
模板图像获取模块310,用于获取多个模板图像;
[0118]
差异像素确定模块320,用于确定各所述模板图像和待检测物体的图像之间的差异像素;
[0119]
目标图像确定模块330,用于根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
[0120]
本发明实施例通过确定模板图像和待检测物体的图像之间的差异像素,并根据差异像素对模板图像进行排序,并根据排序结果选择目标图像,一堆待检测物体的图像进行检测,解决了现有技术中采用每张模板图像与待检测的对象图像进行遍历匹配导致匹配计算量大的问题,可以根据排序结果,筛选模板进行检测,降低匹配的模板数量,从而减少匹配计算量,提高待检测物体的工序检测效率。
[0121]
进一步的,所述差异像素确定模块320,具体用于:计算所述模板图像与待检测物体的图像之间的差值图像;在所述差值图像中,将各像素的像素值分别与预设像素阈值进行比较,确定差异像素。
[0122]
进一步的,所述模板确定模块330,具体用于:统计各所述模板图像和待检测物体的图像之间的差异像素的数量;根据各所述差异像素数量,对各所述模板图像进行相似排序。
[0123]
进一步的,所述模板图像获取模块310,包括:初筛单元,用于获取多个初始图像;
获取待检测物体的图像;计算所述待检测物体的图像与各所述初始图像之间的相似值;根据各所述相似值,在各所述初始图像中,选择模板图像。
[0124]
进一步的,所述初筛单元,具体用于:对所述待检测物体的图像进行编码,得到所述待检测物体的编码图像;对所述初始图像进行编码,得到所述初始编码图像;计算所述待检测物体的编码图像与所述初始编码图像之间的汉明距离,并确定为所述待检测物体的图像与所述初始图像之间的相似值。
[0125]
进一步的,所述模板确定装置,还包括:工序检测模块,用于在根据排序结果确定目标图像之后,采用各所述目标图像的合并检测区域,对所述待检测物体的图像进行匹配;在每个所述目标图像的匹配结果中,针对所述合并检测区域包括的每个目标检测区域,对所述待检测物体的图像进行工序检测;获取所述待检测物体的工序检测结果。
[0126]
进一步的,所述模板确定装置,还包括:目标检测区域合并模块,用于在选择模板图像之前,针对每个初始图像,对所述初始图像包括的目标检测区域进行合并,在所述初始图像中确定合并检测区域。
[0127]
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能组件和有益效果。
[0128]
实施例四
[0129]
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0130]
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。计算机设备12可以是挂接在总线上的设备。
[0131]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mca)总线,增强型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnect,pci)总线。
[0132]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0133]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑磁盘只读存储器(compact disc read

only memory,cd

rom),数字视盘(digital video disc

read only memory,dvd

rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序组件,这些程
序组件被配置以执行本发明各实施例的功能。
[0134]
具有一组(至少一个)程序组件42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序组件42包括但不限于操作系统、一个或者多个应用程序、其它程序组件以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序组件42通常执行本发明所描述的实施例中的功能和/或方法。
[0135]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(input/output,i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network,lan),广域网(wide area network,wan)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它组件通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件组件,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列(redundant arrays of inexpensive disks,raid)系统、磁带驱动器以及数据备份存储系统等。
[0136]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的方法。
[0137]
实施例五
[0138]
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的模板确定方法:
[0139]
也即,该程序被处理器执行时实现:获取多个模板图像;确定各所述模板图像和待检测物体的图像之间的差异像素;根据各所述差异像素对各所述模板图像进行相似排序,并根据相似排序结果确定目标图像,以对所述待检测物体的图像进行检测,得到所述待检测物体的工序检测结果。
[0140]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd

rom、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0141]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0142]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限
于——无线、电线、光缆、无线电频率(radiofrequency,rf)等等,或者上述的任意合适的组合。
[0143]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括lan或wan——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0144]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1