高速局部相关性计算方法及装置制造方法

文档序号:6488859阅读:202来源:国知局
高速局部相关性计算方法及装置制造方法
【专利摘要】本发明提供的高速局部相关性计算方法及装置,用于对两帧图像分段提取,获得分段相关性矩阵并计算其极值和坐标。适应于采集物在采集窗口上移动获得的图像、或移动采集窗口获得的图像的处理,如指纹刮擦传感器采集到的图像的拼接。采用本方案提取的极值及其坐标,可运用于导航、轨迹和速度跟踪、图像检测、相关性计算等。能达到识别精准化、多样化,较好的恢复采集对象的运动轨迹;并使图像检测更精准,拼接图像效果更加准确,纠正有明显的图像错位、图像形变、短图像、图像拖尾、背景拼图等现象。
【专利说明】高速局部相关性计算方法及装置
【技术领域】
[0001]本发明涉及图像识别领域,尤其涉及高速局部相关性计算方法及装置。
【背景技术】
[0002]图像拼接技术可以解决由于图像采集窗口视角和大小的限制,不能产生很大图片的问题。所谓的图像拼接技术就是将两张或两张以上相邻间具有部分重叠的图像进行无缝拼接,生成一幅大型且有较宽视角的高分辨率图像的技术。图像拼接技术最早应用于航空领域,现已广泛应用于数字视频、动态分析、指纹重构等领域。
[0003]图像拼接的前提条件是相邻图像之间有一部分在逻辑上是相同的,及必须有一定的重合部分。图像的拼接最重要的一点是选择一个鲁棒而快捷的图像对准方法。图像对准方法就是确定相邻图像在宽度和高度上的重叠程度。这种重叠程度称为两帧图像的相关性。
[0004]现有的图像相关性计算方法存在着各种缺陷:如计算量非常大、计算速度慢、精度低、成本高,无法适应大数据量图像拼接。这在对于后端处理时的很多环节都会造成严重的影响,应用效果也大打折扣。如:计算出的相关性数据用于图像检测时,辨识率低、不灵敏;用于导航时,方向检测不精准,识别效果差和响应速度慢等缺点。而且在产品的性价比上大打折扣。因此需要一个能在综合上述条件下还具有更高性价比的方法来解决这些问题。

【发明内容】

[0005]为解决上述技术问题,本方案提供了一种高速局部相关性计算方法及装置。适用于两张或两张以上相邻间具有部分重叠的图像相关性计算,且图像无旋转。用ASIC的方式实现了高速、低成本、计算量小且可调控的相关性计算,使计算出的相关性数据能够较好的应用到图像拼接、图像检测和导航等方面。
[0006]指高速局部相关性计算方法,其特征在于,包括如下步骤:
[0007]SI,对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上;
[0008]S2,对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据;
[0009]S3,生成相关性矩阵,根据每段区域在所有覆盖情况下的相关性数据生成每段的分段相关性矩阵;
[0010]S4,求出每段的分段相关性矩阵中的最大值、最小值及其坐标。
[0011]所述相关性矩阵为将所有覆盖情况下在步骤S2中得到的相关性数据以两帧图像移动的位移坐标映射成的矩阵,所述分段相关性矩阵的个数与选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分的段数相同;还可以得到总体相关性矩阵,所述总体相关性矩阵由整个选定覆盖区域内所有的数据计算出的相关性数据组成;所述坐标为直角坐标系,每一种覆盖情况对应一个坐标,前后两帧图像完全重合的覆盖情况对应坐标原点。
[0012]所述两帧图像分别为模板帧和当前帧,所述模板帧和当前帧可以互换。
[0013]所述步骤SI中的覆盖区域的产生方法为在模板帧和当前帧两帧图像完全重合的基础上,固定模板帧不动,当前帧在帧图像长宽范围内上下左右移动并产生一覆盖区域;每一次移动以像素级为最小单位。
[0014]所述步骤SI中的选定覆盖区域选取的横纵两个方向可以连续或不连续,选择区域在横向上以行为单位可以分为大于等于一个区域,选择区域在纵向上以列为单位可以分为大于等于一个区域;
[0015]所述两帧图像的每一种覆盖情况对应一个相关性数据,所述相关性数据计算方法为将两帧图像中选定覆盖区域内的一一对应的选定覆盖区域的数据求差值平方,得到一一对应的差值平方值,每个差值平方值累加得到当前覆盖情况下的相关性数据。
[0016]所述最大值或最小值与相关性矩阵的中心坐标对应的值相等时,中心坐标代替相应的极值坐标;所述中心坐标为模板帧与当前帧无位移覆盖时的相关性数据。
[0017]高速局部相关性计算装置,其特征在于,包括分段模块、相关性计算模块、相关性矩阵生成模块、极值坐标生成模块;
[0018]所述分段模块对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上;
[0019]所述相关性计算模块与分段模块相连,用于对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据;
[0020]所述相关性矩阵生成模块与相关性计算模块相连,用于根据每段区域在所有覆盖情况下的相关性数据得到每段的分段相关性矩阵;
[0021]所述极值坐标生成模块与相关性矩阵生成模块相连,用于求出每段的分段相关性矩阵中的最大值、最小值及其坐标。
[0022]所述相关性矩阵为将所有覆盖情况下在相关性计算模块中得到的相关性数据以两帧图像移动的位移坐标映射成的矩阵,所述分段相关性矩阵的个数与选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分的段数相同;还可以得到总体相关性矩阵,所述总体相关性矩阵由整个选定覆盖区域内所有的数据计算出的相关性数据组成;所述坐标为直角坐标系,每一种覆盖情况对应一个坐标,前后两帧图像完全重合的覆盖情况对应坐标原点。
[0023]所述两帧图像分别为模板帧和当前帧,所述模板帧和当前帧可以互换。
[0024]所述分段模块中的覆盖区域的产生方法为在模板帧和当前帧两帧图像完全重合的基础上,固定模板帧不动,当前帧在帧图像长宽范围内上下左右移动并产生一覆盖区域;每一次移动以像素级为最小单位。
[0025]所述分段模块选定覆盖区域选取的横纵两个方向可以连续或不连续,选择区域在横向上以行为单位可以分为大于等于一个区域,选择区域在纵向上以列为单位可以分为大于等于一个区域;
[0026]所述两帧图像的每一种覆盖情况对应一个相关性数据,所述相关性数据计算方法为将两帧图像中选定覆盖区域内的一一对应的选定覆盖区域的数据求差值平方,得到一一对应的差值平方值,每个差值平方值累加得到当前覆盖情况下的相关性数据。[0027]所述最大值或最小值与相关性矩阵的中心坐标对应的值相等时,中心坐标代替相应的极值坐标;所述中心坐标为模板帧与当前帧无位移覆盖时的相关性数据。
[0028]本发明对两帧图像分段提取,获得分段相关性矩阵并计算其极值和坐标。适应于采集物在采集窗口上移动获得的连续图像、或移动采集窗口获得的连续图像的处理,如指纹刮擦传感器采集到的连续图像的拼接。采用本方案提取的极值及其坐标,可运用于导航、轨迹和速度跟踪、图像检测、相关性计算等。能达到识别精准化、多样化,较好的恢复采集对象的运动轨迹;并使图像检测更精准,拼接图像效果更加准确,纠正有明显的图像错位、图像形变、短图像、图像拖尾、背景拼图等现象。
【专利附图】

【附图说明】
[0029]图1为本发明的流程图;
[0030]图2为高速局部相关性计算装置的模块示意图;
[0031]图3为覆盖区域选取示意图;其中图3-1为两帧图像覆盖区域部分选取示意图,图
3-2为两帧图像覆盖区域选取极限情况示意图,图3-3为两帧图像覆盖区域选取横纵两方向不连续示意图;
[0032]图4为相关性矩阵分块示意图;
[0033]图5为相关性矩阵对应覆盖情况示意图;
[0034]图6为刮擦传感器采集的指纹图像;
[0035]图7为图6的指纹图像经本方案拼接后的图像;
[0036]图8为用本方案解决漏拼现象的指纹图像对照图;其中图8-1为本方案拼接结果,图8-2为有短指纹及漏拼的指纹图像;
[0037]图9为案解决的多拼现象的指纹图像对照图;图9-1为利用本方案拼接的指纹图像,图9-2为有多拼现象的图像;
[0038]图10为解决的拼接错位现象的指纹图像对照图;其中图10-1为本方案拼接结果,图10-2为有拼接错位现象的指纹图像。
【具体实施方式】
[0039]本方案解决现有相关性计算方法计算量大、计算速度慢、精度低、成本高等技术问题。
[0040]本方案用ASIC的方式实现分段提取相关坐标和极值,求出前后两帧图像相关性矩阵的最大值最小值,及其坐标,提取的几组极值及其坐标,实现了高速、低成本、计算量小且可调控的相关性计算,使计算出的相关性数据能够较好的应用到图像拼接、图像检测和导航等方面。
[0041]下面参照图1-图10来说明本发明的优选实施例,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]高速局部相关性计算方法的流程图如图1所示:
[0043]SI,对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上;
[0044]提取前后两帧图像,本实施例中,提取的图像为采集对象相对于采集窗口移动采集到的两帧图像。将两帧图像分别设定为模板帧T和当前帧C,模板帧T和当前帧C为所提取的两帧图像的任意一帧图像。模板帧T为上述两帧图像中参照不动的那一帧,当前帧C为上述两帧图像中参照模板帧T有规律上下左右移动的另一帧图像。
[0045]在模板帧T和当前帧C两帧图像完全重合的基础上,固定模板帧T不动,在帧图像长宽范围内有规律的上下左右移动当前帧C,两帧产生一覆盖区域M和两帧之间的相对位移。如图3所示,模板帧T和当前帧C分别包含r行,覆盖区域为M所表示区域,模板帧T和当前帧C在水平方向位移为w个像素,在垂直方向位移为h个像素。
[0046]如图3-1所示,本实施例在覆盖区域M中选定Ml、M2两个覆盖区域,其中选定覆盖区域Ml对应的两帧为第一模板帧区域Tl和第一当前帧区域Cl,第一模板帧区域Tl和第一当前帧区域Cl完全重合;选定覆盖区域M2对应的两帧为第二模板帧区域T2和第二当前帧区域C2,第二模板帧区域T2和第二当前帧区域C2完全重合。选定覆盖区域Ml和选定覆盖区域M2的有效长度为len_w,选定覆盖区域Ml的有效高度为len_hl,选定覆盖区域M2有效高度为len_h2,且两个有效高度len_hl, len_h2和有效宽度len_w可调,调至极限情况如图3-2所示,极限情况下,所选定覆盖区域总和为整个覆盖区域M。
[0047]两帧图像覆盖区域M选取横纵两个方向可以不连续(参见图3-3),选择区域在横向上,以行为单位可以分为大于等于一个区域,如图3-2中以行为单位分了两个区域。同理,选择区域在纵向上,以列为单位可以分为大于等于一个区域。
[0048]如图4-2所示,将选定覆盖区域Ml和选定覆盖区域M2在采集对象相对于采集窗口的主要移动方向上划分为几段,段数为两段或两段以上,且划分的各段覆盖区域在横、纵两个方向上可不连续,本实施例将选定覆盖区域Ml和选定覆盖区域M2分别划分为arl、ar2> ar3 三段。
[0049]S2,对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据;`
[0050]模板帧T和当前帧C两帧图像在每种覆盖情况下都有相关性数据,分别对选定覆盖区域的数据在不同覆盖情况下进行相关性运算,得出当前覆盖情况下的相关性数据。
[0051]选取当前覆盖情况下覆盖区域的部分或全部数据,选取的模板帧T和当前帧C两帧图像覆盖区域数据为一一对应。如图3-1所示,第一模板帧区域Tl和第二模板帧区域T2选取的为模板帧T中对应的数据,第一当前帧区域Cl和第二当前帧区域C2选取的为当前帧C中对应的数据。取数的列区域可调,也可以调整参与相关性运算的行数,选取数据时可根据帧图像数据的行、列跳跃选择,还可以根据不同需要间断的取数据,每个区域长度不一定相等。
[0052]将取出的两帧图像中的一一对应的数据求差值平方,得到一一对应的差值平方值,再把每一个差值平方值累加起来得到覆盖情况下的相关性数据。参见公式:
[0053]
j=m i 二nJ=P i=q
Cor y] (slice _ a(i, j)-shtc _ b(1-wj + h))1 + 艺 ^ (sltcc _ a{i, j) - slice _b(1-W^ j + h))2
j=b 1-aj=d 1-c
[0054]其中:m=len—hl+b
[0055]n=len_w+a
[0056]q=len_w+c[0057]p=len_h2+d
[0058]上述公式中,对应模板帧的坐标(a,b),(c,d),则对应当前帧的坐标为(a-w, b+h), (c-w, d+h), slice_a和slice_b分别为模板中贞T和当前中贞C对应的坐标。cor为当前一种覆盖情况下的相关性数据。遍历slice_b选取的覆盖区域数据,对应求差值平方,再把每一个差值平方累加得到一种覆盖情况下的相关性数据cor。上述的相关性数据在生成相关性矩阵时,需做归一化处理。
[0059]S3,生成相关性矩阵,根据每段区域在所有覆盖情况下的相关性数据得到每段的分段相关性矩阵;
[0060]当前帧C以模板帧T为参照上下左右移动,每一种覆盖情况对应按照步骤S2计算出一个相关性数据,将步骤S2得到的每段选定覆盖区域在所有覆盖情况下的相关性数据以两帧移动的位移坐标映射成的矩阵为分段相关性矩阵,相关性矩阵的每一个坐标代表两帧图像以此坐标偏移的覆盖情况。如图5所示,所述坐标为直角坐标系,以两帧图像完全重合的覆盖情况为坐标原点,即两帧之间的水平和垂直方向的位移。
[0061]如图4-2中只对arl区域数据在每一种覆盖情况下分别进行相关性运算,得到arl区域数据相关性矩阵。同理得到ar2,ar3区域数据相关性矩阵,所得的三个相关性矩阵统称为分段相关性矩阵,分段相关矩阵个数与覆盖区域数据在采集对象相对于采集窗口的主要移动方向上划分的段数相同,如图4-2中将覆盖区域划分为三段即有三个分段相关性矩阵。
[0062]整个选定覆盖区域内所有的数据计算出的相关性数据组成的矩阵为总体相关性矩阵。
[0063]S4,求出每段的分段相关性矩阵中的最大值、最小值及其坐标。
[0064]分别轮循每个分段相关性矩阵中的每一个值,求出每个分段相关性矩阵的最大值、最小值及其坐标。当最大值或最小值与其中心坐标对应的(模板帧T与当前帧C无位移覆盖时相关性数据)的值相等时,以中心坐标代替相应的极值坐标,即中心偏移优先考虑。
[0065]本发明还包括高速局部相关性计算装置(参见图2),包括:分段模块、相关性计算模块、相关性矩阵生成模块、极值坐标生成模块;
[0066]分段模块对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上。
[0067]分段模块提取前后两帧图像,本实施例中,提取的图像为采集对象相对于采集窗口移动采集到的两帧图像。将两帧图像分别设定为模板帧T和当前帧C,模板帧T和当前帧C为所提取的两帧图像的任意一帧图像。模板帧T为上述两帧图像中参照不动的那一帧,当前帧C为上述两帧图像中参照模板帧T有规律上下左右移动的另一帧图像。
[0068]在模板帧T和当前帧C两帧图像完全重合的基础上,固定模板帧T不动,在帧图像长宽范围内有规律的上下左右移动当前帧C,两帧产生一覆盖区域M和两帧之间的相对位移。如图3所示,模板帧T和当前帧C分别包含r行,覆盖区域为M所表示区域,模板帧T和当前帧C在水平方向位移为w个像素,在垂直方向位移为h个像素。
[0069]如图3-1所示,本实施例在覆盖区域M中选定Ml、M2两个覆盖区域,其中选定覆盖区域Ml对应的两帧为第一模板帧区域Tl和第一当前帧区域Cl,第一模板帧区域Tl和第一当前帧区域Cl完全重合;选定覆盖区域M2对应的两帧为第二模板帧区域T2和第二当前帧区域C2,第二模板帧区域T2和第二当前帧区域C2完全重合。选定覆盖区域Ml和选定覆盖区域M2的有效长度为len_w,选定覆盖区域Ml的有效高度为len_hl,选定覆盖区域M2有效高度为len_h2,且两个有效高度len_hl, len_h2和有效宽度len_w可调,调至极限情况如图3-2所示,极限情况下,所选定覆盖区域总和为整个覆盖区域M。
[0070]两帧图像覆盖区域M选取横纵两个方向可以不连续(参见图3-3),选择区域在横向上,以行为单位可以分为大于等于一个区域,如图3-2中以行为单位分了两个区域。同理,选择区域在纵向上,以列为单位可以分为大于等于一个区域。
[0071]如图4-2所示,将选定覆盖区域Ml和选定覆盖区域M2在采集对象相对于采集窗口的主要移动方向上划分为几段,段数为两段或两段以上,且划分的各段覆盖区域在横、纵两个方向上可不连续,本实施例将选定覆盖区域Ml和选定覆盖区域M2分别划分为arl、ar2> ar3 三段。
[0072]相关性计算模块与分段模块相连,对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据;
[0073]模板帧T和当前帧C两帧图像在每种覆盖情况下都有相关性数据,分别对选定的覆盖区域的数据在不同覆盖情况下进行相关性运算,得出当前覆盖情况下的相关性数据。
[0074]选取当前覆盖情况下覆盖区域的部分或全部数据,选取的模板帧T和当前帧C两帧图像覆盖区域数据为一一对应。如图3-1所示,第一模板帧区域Tl和第二模板帧区域T2选取的为模板帧T中对应的数据,
[0075]第一当前帧区域Cl和第二当前帧区域C2选取的为当前帧C中对应的数据。取数的列区域可调,也可以调整参与相关性运算的行数,选取数据时可根据帧图像数据的行、列跳跃选择,还可以根据不同需要间断的取数据,每个区域长度不一定相等。
[0076]将取出的两帧图像中的一一对应的数据求差值平方,得到一一对应的差值平方值,再把每一个差值平方值累加起来得到覆盖情况下的相关性数据。参见公式:
[0077]
【权利要求】
1.高速局部相关性计算方法,其特征在于,包括如下步骤: Si,对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上; S2,对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据; S3,生成相关性矩阵,根据每段区域在所有覆盖情况下的相关性数据得到每段的分段相关性矩阵; S4,求出每段的分段相关性矩阵中的最大值、最小值及其坐标。
2.根据权利要求1所述的高速局部相关性计算方法,其特征在于,所述相关性矩阵为将所有覆盖情况下在步骤S2中得到的相关性数据以两帧图像移动的位移坐标映射成的矩阵,所述分段相关性矩阵的个数与选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分的段数相同;还可以得到总体相关性矩阵,所述总体相关性矩阵由整个选定覆盖区域内所有的数据计算出的相关性数据组成;所述位移坐标的坐标系为直角坐标系。
3.根据权利要求1所述的高速局部相关性计算方法,其特征在于,所述两帧图像分别为模板帧和当前帧,所述模板帧和当前帧可以互换。
4.根据权利要求3所述的高速局部相关性计算方法,其特征在于,所述步骤SI中的覆盖区域的产生方法为在模板 帧和当前帧两帧图像完全重合的基础上,固定模板帧不动,当前帧在帧图像长宽范围内上下左右移动并产生一覆盖区域; 所述步骤SI中的选定覆盖区域选取的横纵两个方向可以连续或不连续,选择区域在横向上以行为单位可以分为大于等于一个区域,选择区域在纵向上以列为单位可以分为大于等于一个区域; 所述两帧图像的每一种覆盖情况对应一个相关性数据,所述相关性计算方法为将两帧图像中选定覆盖区域内的一一对应的选定覆盖区域的数据求差值平方,得到一一对应的差值平方值,每个差值平方值累加得到当前覆盖情况下的相关性数据。
5.根据权利要求1所述的高速局部相关性计算方法,其特征在于,所述最大值或最小值与相关性矩阵的中心坐标对应的值相等时,中心坐标代替相应的极值坐标;所述中心坐标为模板帧与当前帧无位移覆盖时的相关性数据。
6.高速局部相关性计算装置,其特征在于,包括分段模块、相关性计算模块、相关性矩阵生成模块、极值坐标生成模块; 所述分段模块对两帧图像的一种覆盖情况下的选定覆盖区域进行分段;将选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分为两段或两段以上; 所述相关性计算模块与分段模块相连,用于对分段中的数据进行相关性计算,得到每段区域在当前覆盖情况下的相关性数据; 所述相关性矩阵生成模块与相关性计算模块相连,用于根据每段区域在所有覆盖情况下的相关性数据得到每段的分段相关性矩阵; 所述极值坐标生成模块与相关性矩阵生成模块相连,用于求出每段的分段相关性矩阵中的最大值、最小值及其坐标。
7.根据权利要求6所述的高速局部相关性计算装置,其特征在于,所述相关性矩阵为将所有覆盖情况下在相关性计算模块中得到的相关性数据以两帧图像移动的位移坐标映射成的矩阵,所述分段相关性矩阵的个数与选定覆盖区域在采集对象相对于采集窗口的主要移动方向上划分的段数相同;还可以得到总体相关性矩阵,所述总体相关性矩阵由整个选定覆盖区域内所有的数据计算出的相关性数据组成;所述位移坐标的坐标系为直角坐标系O
8.根据权利要求6所述的高速局部相关性计算装置,其特征在于,所述两帧图像分别为模板帧和当前帧,所述模板帧和当前帧可以互换。
9.根据权利要求8所述的高速局部相关性计算装置,其特征在于,所述分段模块中的覆盖区域的产生方法为在模板帧和当前帧两帧图像完全重合的基础上,固定模板帧不动,当前帧在帧图像长宽范围内上下左右移动并产生一覆盖区域; 所述分段模块选定覆盖区域选取的横纵两个方向可以连续或不连续,选择区域在横向上以行为单位可以分为大于等于一个区域,选择区域在纵向上以列为单位可以分为大于等于一个区域; 所述两帧图像的每一种覆盖情况对应一个相关性数据,所述相关性计算方法为将两帧图像中选定覆盖区域内的一一对应的选定覆盖区域的数据求差值平方,得到一一对应的差值平方值,每个差值平方值累加得到当前覆盖情况下的相关性数据。
10.根据权利要求6所述的高速局部相关性计算装置,其特征在于,所述最大值或最小值与相关性矩阵的中心坐标对应的值相等时,中心坐标代替相应的极值坐标;所述中心坐标为模板帧与当前帧无位移覆盖时的相关性数据。
【文档编号】G06K9/54GK103679179SQ201210344228
【公开日】2014年3月26日 申请日期:2012年9月18日 优先权日:2012年9月18日
【发明者】张娅舸 申请人:成都方程式电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1