一种基于改进狼群算法与NCC模板匹配的区域快速定位方法

文档序号:33560606发布日期:2023-03-22 14:08阅读:163来源:国知局
一种基于改进狼群算法与NCC模板匹配的区域快速定位方法
一种基于改进狼群算法与ncc模板匹配的区域快速定位方法
技术领域
1.本发明涉及一种计算机图像处理方法,尤其涉及一种基于改进狼群算法与归一化互相关(normalized cross correlation,ncc)模板匹配的区域快速精准定位方法。


背景技术:

2.模板匹配是计算机视觉应用中常用的方法之一,可以应用在视频跟踪、字符识别、目标重定位等领域。模板图像和目标图像的筛选窗口之间的相似性度量是模板匹配的核心。通过评估筛选窗口的相似度即可找出目标区域的准确位置。在工业现场室内巡检机器人应用中,模板匹配技术可以用于检测特定物品的有无、是否损坏、位置的偏移,或是检测控制箱的开闭状态、设备运行的状态等。机器人巡检与模板匹配技术相结合,能及时发现作业现场的异常状况并传输给后台,同时具备非常高的精确度与可靠性,这将大大减少工作人员的工作量。
3.传统的模板匹配方法通常使用平方差和、模板与目标图像的方差、归一化的模板与目标图像的方差、模板与目标图像的点积等方法计算模板与原始图像之间的相似度得分。在匹配图中,以像素点(i,j)为左上角,取m*n像素大小的筛选窗口,计算其与模板的相似度;遍历整个匹配图,找到与模板图最相似的窗口作为最终匹配结果。


技术实现要素:

4.针对现有技术在视频跟踪、字符识别、目标重定位应用过程中的模板匹配的实时性问题,在实际处理图像像素较大的图片时,归一化互相关(normalized crosscorrelation,ncc)相似度计算过程非常耗时的问题,本发明提出一种基于改进狼群算法与归一化互相关模板匹配的多区域快速精准定位方法。该方法利用ncc 相似度值评估模板图像和目标图像筛选窗口之间的相似性,由改进狼群算法智能指定搜索窗口,找到与模板图之间ncc值最高的窗口作为最终匹配结果。
5.为了解决上述技术问题,本发明提出一种基于改进狼群算法与归一化互相关模板匹配的区域快速定位方法,主要包括:依据不同的应用场景设定算法参数;使用改进的狼群优化算法初始化狼群、更新狼群粒子坐标;将归一化互相关(ncc) 值作为改进狼群算法中的目标函数值;记录ncc值满足相似度阈值的狼群头狼在原始图像中的坐标位置和数量;该狼群头狼的坐标位置即为匹配到的目标图像的位置;依据相似度阈值搜索到所有与各模板相匹配目标图像的位置;将搜索到的目标图像输出,在原始图像中标记目标图像的位置。设匹配模板的数量为z,即原始图像中待匹配的区域数为z。以室内控制柜的模板匹配实验为例,精准定位目标的具体步骤如下:
6.步骤一、狼群的混沌反向初始化及相关参数设置。在原始二维图像随机选取像素点(x1,y1),创建随机狼x1(x1=(x1,y1)),通过式(1)将x1映射到混沌空间 (-1,1),再通过式(2)进行q次迭代(q》》p,p为初始狼群的总数量),得到混沌变量序列{z1,z2,z3…
}:
[0007][0008][0009]
其中ub和lb分别代表随机狼的上下边界,ub等于原始图像像素长度(宽度)减模板像素长度(宽度),lb等于0;将混沌变量序列按式(3)变换到原解空间中:
[0010]
x
i+1
=0.5
×
(u
b-lb)*z
i+1
+0.5
×
(ub+lb)i=1,2,3

(3)
[0011]
计算随机狼x1和混沌映射狼群{x
i+1
}(i=1,2,3

)的目标函数值(即ncc值),选取ncc值最优的p匹狼组成初始狼群;初始狼群中ncc值最优的作为头狼,再选取s匹ncc值次优的作为探狼,其中s取之间的整数,α为探狼比例因子,剩余的p-s-1匹狼作为猛狼,完成初始化;
[0012]
步骤二、设某匹狼对应原始图像中的像素点坐标为(x,y),其目标函数值(ncc值)的计算公式为:
[0013][0014]
其中,w为模板图像,大小为m*n像素,f为原始图像中大小为m*n像素的筛选窗口;f(x+i,y+j)表示f中(x+i,y+j)点的像素值,为f的平均灰度值;w(i,j)表示w中(i,j)点的像素值,为w的平均灰度值;
[0015]
步骤三、根据式(5)-(9)所示的狼群算法更新狼群的位置信息;
[0016]
1)探狼游走(自适应干扰侦查行为):根据式(5)更新探狼位置:
[0017][0018]
其中,是探狼向第p个方向侦察一步后的位置,xi是探狼更新前的位置,stepa是探狼侦察步长,h是步行方向,p为某一方向(p=1,2,3

h);为了增强算法全局搜索能力,加入随机扰动因子δ,δ∈(0,1);同时,考虑到探狼与头狼的距离,将侦察步长设为式(6):
[0019]
stepa=rand
×
norm||x
lead-x
best
||(6)
[0020]
其中,x
lead
是头狼的当前位置,x
best
是头狼的最优位置,rand是一个随机数,norm表示范数;探狼的行走位置集合为若探狼的目标函数值大于头狼的目标函数值,即yi》y
lead
,将该探狼更新为头狼;重复探狼游走行为直到出现yi》y
lead
或达到最大游走次数t
max

[0021]
2)头狼召唤:根据式(7)更新猛狼位置:
[0022][0023]
其中,是猛狼更新后的位置,xj是猛狼更新前的位置,g
lead
为头狼的当前位置,stepb为猛狼奔袭步长;奔袭途中,若猛狼xj的目标函数值大于头狼的目标函数值,即yj》ylead
,则该猛狼更新为头狼并发起召唤行为;若yj《y
lead
,则猛狼继续奔袭,直到猛狼与头狼间的l
jl
小于l
near
,转入围攻行为;l
near
定义为式(8):
[0024][0025]
其中,ω为距离判定因子,d为待寻优变量的个数,本发明中d=2;maxd、 mind分别为第d(d=1,2)个寻优变量的取值上下限,maxd等于原始图像像素长度(宽度)减模板像素长度(宽度),mind等于0;
[0026]
3)围攻行为:围攻行为可以用式(9)表示:
[0027][0028]
其中,是猛狼及探狼更新后的位置,x
ij
是猛狼及探狼更新前的位置,λ是均匀分布在区间[-1,1]中的随机数,stepc是围攻行为的攻击步长,gd是猎物的位置(即当前头狼的位置);实施围攻行为后,若某匹狼的目标函数值大于其原位置的目标函数值,则更新此狼的位置;否则,该匹狼位置不变;
[0029]
4)更新狼群:淘汰掉目标函数值最差的r匹人工狼,同时随机生成r匹人工狼,完成种群更新;r为[(p/2γ),(p/γ)]区间内的随机整数,γ为更新比例因子;
[0030]
步骤四、当狼群算法实现一次后,若达到最大运行步数或找到最优解,则进行步骤五;若不满足,进行步骤三;
[0031]
步骤五、统计目标函数值大于等于相似度阈值的头狼位置,记为一个特征点;记录已找到的特征点数目;
[0032]
步骤六、根据步骤五记录的特征点位置,可对模板图像对应的原始图像中目标区域进行定位;若找到所有模板对应的目标区域或达到了预设的最大运行步数,则进行步骤七;若不满足,则进行步骤一,对其他模板进行匹配;
[0033]
步骤七、将匹配到的特征点对应的目标区域在原始图像中进行标记。
[0034]
与现有技术相比,本发明的有益效果是:
[0035]
(1)模板匹配是计算机视觉应用中常用方法之一,本发明提出的基于ncc 的模板匹配技术具有广泛的适用性。
[0036]
(2)传统模板匹配方法逐像素点遍历的特点,导致整个过程的缓慢。对此,提出将改进的狼群算法用于筛选窗口的智能选择,大幅减少传统模板匹配的计算量。从狼群的混沌反向初始化和自适应干扰侦查行为(探狼游走行为)两个方面提高狼群算法的寻优能力与收敛性。
[0037]
(3)不同于基于深度学习的目标检测方法,本发明提出的方法不需要大量的样本图像,能快速适应不同的识别环境,泛化能力强;同时本发明提出的方法比深度学习方法具备更快的运行速度。
附图说明
[0038]
图1是改进的狼群算法流程图;
[0039]
图2是狼群算法-归一化互相关模板匹配(wpa-ncc_tm)算法流程图;
[0040]
图3(a)至图3(c)是本发明室内控制柜实施例相关图形,其中:图3(a)是原始图像
f,图3(b)是模板图像w,图3(c)模板匹配结果图。
具体实施方式
[0041]
下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。
[0042]
模板匹配(template matching,tm)算法可以被用作在抓拍到的图像窗口中检测模板图像与原图像的匹配程度。ncc值通常被用来衡量模板的匹配程度,取值范围是[-1,1]。如果ncc的值为1,代表模板图像与筛选窗口图像完全相同;如果为-1,则表示两幅图片完全不相关。模板匹配的基本思想是在捕捉到的图像所有像素上逐个循环与模板相匹配,并找到匹配度最大的目标区域窗口。tm算法中,w为模板图像,大小为m*n像素,f为原始图像中大小为m*n像素的筛选窗口;f(x+i,y+j)表示f中(x+i,y+j)点的像素值,为f的平均灰度值; w(i,j)表示w中(i,j)点的像素值,为w的平均灰度值。设某匹狼对应原始图像中的像素点坐标为(x,y),其目标函数值(ncc)的计算公式为:
[0043][0044]
运用多模板匹配的优势在于通过截取可以代表目标明显特征的多个模板,能减小只用一个大模板匹配的像素大小,从而加快运行速度,并且可以根据具体模板所代表的特征对物体状态进一步细致判断。运用多模板匹配时,所有的目标图像都可以同时与相应的模板进行匹配。多模板意味着有多个全局最优值和多个局部最优值,每个全局最优值代表着模板与目标的正确匹配。当所有的最优值都被找到时,代表目标物体与初始状态一致,也即目标物体与截取模板时状态一致;当有部分最优值未找到时,代表目标物体状态的改变,可以根据具体模板所表征的状态,进一步分析得出目标的当前状态,如控制箱箱盖的开关状态、标志的缺失、设备运行状态等。
[0045]
虽然ncc的方法是目前最常用的衡量图像相似度的方法,但处理大的图像时,整个过程的计算量是非常大的。利用改进的狼群算法来指导像素点的选取,计算匹配度(也即像素点对应图像区域的匹配),而非原始模板匹配方法中逐点遍历。狼群算法(wolf pack algorithm,wpa)是一种随机概率搜索算法,使其能够以较大的概率快速找到最优解;狼群算法还具有并行性,可以在同一时间从多个点出发进行搜索,点与点之间互不影响,从而提高算法的效率。狼群算法中的狼分为头狼、探狼、猛狼三类个体。其主体构成为:探狼游走、头狼召唤、猛狼围攻3种智能行为,“胜者为王”的头狼角逐规则和“优胜劣汰”的狼群更新规则。
[0046]
1)狼群的混沌反向初始化
[0047]
为了提高初始狼群的质量,使初始狼群具备更优的目标函数值,采取混沌映射来反向初始化狼群。在原始二维图像随机选取像素点(x1,y1),创建随机狼x
1 (x1=(x1,y1)),通过式(1)将x1映射到混沌空间(-1,1),再通过式(2)进行q次迭代(q》》p,p为初始狼群的总数量),得到混沌变量序列{z1,z2,z3…
}:
[0048][0049][0050]
其中ub和lb分别代表随机狼的上下边界,ub等于原始图像像素长度(宽度)减模板像素长度(宽度),lb等于0;将混沌变量序列按式(3)变换到原解空间中:
[0051]
x
i+1
=0.5
×
(u
b-lb)*z
i+1
+0.5
×
(ub+lb)i=1,2,3

(3)
[0052]
计算随机狼x1和混沌映射狼群{x
i+1
}(i=1,2,3

)的目标函数值(即ncc值),选取ncc值最优的p匹狼组成初始狼群。初始狼群中ncc值最优的作为头狼,再选取s匹ncc值次优的作为探狼,其中s取之间的整数,α为探狼比例因子,剩余的p-s-1匹狼作为猛狼,完成初始化。
[0053]
2)探狼游走(自适应干扰侦查行为)
[0054]
根据式(4)更新探狼位置:
[0055][0056]
其中,是探狼向第p个方向侦察一步后的位置,xi是探狼更新前的位置,stepa是探狼侦察步长,h是步行方向,p为某一方向(p=1,2,3

h);为了增强算法全局搜索能力,加入随机扰动因子δ,δ∈(0,1);同时,考虑到探狼与头狼的距离,将侦察步长设为式(5):
[0057]
stepa=rand
×
norm||x
lead-x
best
||(5)
[0058]
其中,x
lead
是头狼的当前位置,x
best
是头狼的最优位置;rand是一个随机数,norm表示范数。探狼的行走位置集合为若探狼的目标函数值大于头狼的目标函数值,即yi》y
lead
,将该探狼更新为头狼;重复探狼游走行为直到出现yi》y
lead
或达到最大游走次数t
max

[0059]
3)头狼召唤
[0060]
根据式(6)更新猛狼位置:
[0061][0062]
其中,是猛狼更新后的位置,xj是猛狼更新前的位置,g
lead
为头狼的当前位置,stepb为猛狼奔袭步长;奔袭途中,若猛狼xj的目标函数值大于头狼的目标函数值,即yj》y
lead
,则该猛狼更新为头狼并发起召唤行为;若yj《y
lead
,则猛狼继续奔袭,直到猛狼与头狼间的距离l
jl
小于l
near
,转入围攻行为;l
near
定义为式(7):
[0063][0064]
其中,ω为距离判定因子,d为待寻优变量的个数,本发明中d=2;maxd、mind分别为第d(d=1,2)个寻优变量的取值上下限,maxd等于原始图像像素长度(宽度)减模板像素长度(宽度),mind等于0。
[0065]
4)围攻行为
[0066]
围攻行为可以用式(8)表示:
[0067][0068]
其中,是猛狼及探狼更新后的位置,x
ij
是更新前的位置,λ是均匀分布在区间[-1,1]中的随机数,stepc是围攻行为的攻击步长,gd是猎物的位置(即当前头狼的位置)。实施围攻行为后,若某匹狼的目标函数值大于其原位置的目标函数值,则更新此狼的位置;否则,该匹狼位置不变;
[0069]
5)更新狼群
[0070]
淘汰掉适应度值最差的r匹人工狼,同时随机生成r匹人工狼,完成种群更新。r为区间[(p/2γ),(p/γ)]内的随机整数,γ为更新比例因子。
[0071]
改进的狼群算法流程图如图1所示。wpa算法用来解决ncc最值优化问题。在wpa中,搜索空间中的每匹狼代表优化问题的可能解。在算法中,首先混沌反向初始化群狼,之后通过狼群智能行为不停地迭代寻求最优头狼(最优解)。狼群算法-归一化互相关模板匹配(wpa-ncc_tm)算法流程图如图2所示。
[0072]
经过以上分析,本发明中提出的基于模板匹配的目标区域精准定位方法的设计思路是:依据不同的应用场景设定算法参数;使用改进的狼群优化算法初始化狼群、更新狼群粒子坐标;将归一化互相关(ncc)值作为改进狼群算法中的目标函数值;记录ncc值满足相似度阈值的狼群头狼在原始图像中的坐标位置和数量;该狼群头狼的坐标位置即为匹配到的目标图像的位置;依据相似度阈值搜索到所有与各模板相匹配目标图像的位置;将搜索到的目标图像输出,在原始图像中标记目标图像的位置。
[0073]
以室内控制柜模板匹配实验为例,目标区域精准定位方法的具体步骤如下:
[0074]
步骤一、狼群的混沌反向初始化及相关参数设置。在原始二维图像随机选取像素点(x1,y1),创建随机狼x1(x1=(x1,y1)),通过式(1)将x1映射到混沌空间(-1,1),再通过式(2)进行q次迭代(q》》p,p为初始狼群的总数量),得到混沌变量序列{z1,z2,z3…
}:
[0075][0076][0077]
其中ub和lb分别代表随机狼的上下边界,ub等于原始图像像素长度(宽度)减模板像素长度(宽度),lb等于0;将混沌变量序列按式(3)变换到原解空间中:
[0078]
x
i+1
=0.5
×
(u
b-lb)*z
i+1
+0.5
×
(ub+lb)i=1,2,3

(3)
[0079]
计算随机狼x1和混沌映射狼群{x
i+1
}(i=1,2,3

)的目标函数值(即ncc值),选取ncc值最优的p匹狼组成初始狼群;初始狼群中ncc值最优的作为头狼,再选取s匹ncc值次优的作为探狼,其中s取之间的整数,α为探狼比例因子,剩余的p-s-1匹狼作为猛狼,完成初始化;
[0080]
步骤二、设某匹狼对应原始图像中的像素点坐标为(x,y),其目标函数值(ncc值)的计算公式为:
[0081][0082]
其中,w为模板图像,大小为m*n像素,f为原始图像中大小为m*n像素的筛选窗口;f(x+i,y+j)表示f中(x+i,y+j)点的像素值,为f的平均灰度值;w(i,j)表示w中(i,j)点的像素值,为w的平均灰度值;
[0083]
步骤三、根据式(5)-(9)所示的狼群算法更新狼群的位置信息;
[0084]
1)探狼游走(自适应干扰侦查行为):根据式(5)更新探狼位置:
[0085][0086]
其中,是探狼向第p个方向侦察一步后的位置,xi是探狼更新前的位置,stepa是探狼侦察步长,h是步行方向,p为某一方向(p=1,2,3

h);为了增强算法全局搜索能力,加入随机扰动因子δ,δ∈(0,1);同时,考虑到探狼与头狼的距离,将侦察步长设为式(6):
[0087]
stepa=rand
×
norm||x
lead-x
best
||(6)
[0088]
其中,x
lead
是头狼的当前位置,x
best
是头狼的最优位置,rand是一个随机数,norm表示范数。探狼的行走位置集合为若探狼的目标函数值大于头狼的目标函数值,即yi》y
lead
,将该探狼更新为头狼;重复探狼游走行为直到出现yi》y
lead
或达到最大游走次数t
max

[0089]
2)头狼召唤:根据式(7)更新猛狼位置:
[0090][0091]
其中,是猛狼更新后的位置,xj是猛狼更新前的位置,g
lead
为头狼的当前位置,stepb为猛狼奔袭步长;奔袭途中,若猛狼xj的目标函数值大于头狼的目标函数值,即yj》y
lead
,则该猛狼更新为头狼并发起召唤行为;若yj《y
lead
,则猛狼继续奔袭,直到猛狼与头狼间的距离l
jl
小于l
near
,转入围攻行为;l
near
定义为式(8):
[0092][0093]
其中,ω为距离判定因子,d为待寻优变量的个数,本发明中d=2;maxd、mind分别为第d(d=1,2)个寻优变量的取值上下限,maxd等于原始图像像素长度(宽度)减模板像素长度(宽度),mind等于0;
[0094]
3)围攻行为:围攻行为可以用式(9)表示:
[0095][0096]
其中,是猛狼及探狼更新后的位置,x
ij
是更新前的位置,λ是均匀分布在区间[-1,1]中的随机数,stepc是围攻行为的攻击步长,gd是猎物的位置(即当前头狼的位置);实施围攻行为后,若某匹狼的目标函数值大于其原位置的目标函数值,则更新此狼的位置;否
则,该匹狼位置不变;
[0097]
4)更新狼群:淘汰掉目标函数值最差的r匹人工狼,同时随机生成r匹人工狼,完成种群更新;r为[(p/2γ),(p/γ)]区间内的随机整数,γ为更新比例因子;
[0098]
步骤四、当狼群算法实现一次后,若达到最大运行步数或找到最优解,则进行步骤五;若不满足,进行步骤三;
[0099]
步骤五、统计目标函数值大于等于相似度阈值的头狼位置,记为一个特征点;记录已找到的特征点数目;
[0100]
步骤六、根据步骤五记录的特征点位置,可对模板图像对应的原始图像中目标区域进行定位;若找到所有模板对应的目标区域或达到了预设的最大运行步数,则进行步骤七;若不满足,则进行步骤一,对其他模板进行匹配;
[0101]
步骤七、将匹配到的特征点对应的目标区域在原始图像中进行标记。
[0102]
经过上述步骤即可完成模板匹配。如图3(a)至图3(c)所示,其中图3(a)为待检测图像,图3(b)为模板图像,图3(c)为实验结果图。从图中可以看出,目标图像全部找到,而且目标图像的坐标精准。不同的目标也不会出现混淆,可以分别用不同线型的线框或不同颜色的线框标记出。
[0103]
尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式与具体场景,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1