1.一种GPU加速的基于方向对齐与匹配传递的近似最相似图像块匹配方法,其特征在于,所述方法包括:S1、确定目标图像和源图像,并将所述目标图像和所述源图像分别基于结构张量计算出各自相应的方向角图像,且进一步根据所述目标图像和所述源图像及各自计算所得的方向角图像,定义出计算两个图像块距离的相似性匹配函数;
S2、确定所述目标图像中每一个像素坐标值分别对应在所述目标图像中传递的K个最相似图像块,并利用所述相似性匹配函数计算所述目标图像中每一个像素坐标值与其对应传递在所述目标图像中的K个最相似图像块间的相似性匹配函数值,得到所述目标图像中每一个像素坐标值分别对应传递在所述目标图像中具有相似性匹配函数值为最小的前K个最相似图像块;K大于1的正整数;
S3、将所述得到的目标图像中每一个像素坐标值分别对应传递在所述目标图像中具有相似性匹配函数值为最小的前K个最相似图像块再次传递,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中具有K*K个最相似图像块,并利用所述相似性匹配函数计算所述目标图像中每一个像素坐标值与其对应传递在所述源图像中的K*K个最相似图像块间的相似性匹配函数值,筛选出所述目标图像中每一个像素坐标值内各自所计算出相似性匹配函数值为最小的前K个最相似图像块同时输出。
2.如权利要求1所述的方法,其特征在于,所述步骤S1中“将所述目标图像和所述源图像分别基于结构张量计算出各自相应的方向角图像”具体包括:给定一个3X3的卷积权重模板,并利用所述给定的3X3的卷积权重模板计算所述目标图像的水平方向的梯度场图像和竖直方向的梯度场图像,以及计算所述源图像的水平方向的梯度场图像和竖直方向的梯度场图像;
根据所述计算出的目标图像的水平方向及竖直方向的梯度场图像和所述计算出的源图像的水平方向的梯度场图像和竖直方向的梯度场图像,分别计算出所述目标图像和所述源图像各自对应的结构张量图像,并进一步根据所述计算出的目标图像和源图像各自对应的结构张量图像,得到所述目标图像和所述源图像的方向角图像。
3.如权利要求2所述的方法,其特征在于,所述目标图像的方向角图像是通过公式来实现,所述源图像的方向角图像是通过公式
来实现;其中,
所述目标图像的结构张量图像表示为SA= (SAx,SAy,SAz) ;SAx(p) =Ax(p) ·Ax (p) ,SAy (p)=Ax(p)·Ay(p),SAz(p)=Ay(p)·Ay(p);
p 为所述目
标图像的任意一个像素坐标值;i、j均为整数,
所述源图像的结构张量图像表示为SB=(SBx,SBy,SBz);SBx(q)=Bx(q)·Bx( q ) ,S B y ( q) = B x (q )·By (q) ,SB z (q ) = B y (q )· By (q) ;
q为所述源图
像的任意一个像素坐标值。
4.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
S21、获取所述目标图像中任意一个像素坐标值及其在所述目标图像中通过并行随机数生成函数生成K个第一随机像素坐标值,得到所述目标图像中每一个像素坐标值对应传递在所述目标图像中由K个第一随机像素坐标值所形成的K个最相似图像块;
S22、设置第一迭代次数;
S23、设置第一空间偏移量以及第一随机搜索区域边长;
S24、获取当前第一空间偏移量以及所述目标图像中每一个像素坐标值分别对应的当前K个最相似图像块;
S25、判断所述当前第一空间偏移量是否大于等于1;如果是,则执行下一步骤S26;如果否,则跳转至步骤S27;
S26、根据所述获取到的当前第一空间偏移量,将所述目标图像中每一个像素坐标值分别对应的当前K个最相似图像块进行更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别各自与其一一对应的获取到的目标图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第一空间偏移量除以2后,返回步骤S24;
S27、获取当前第一随机搜索区域边长以及所述目标图像中每一个像素坐标值分别对应的当前K个最相似图像块;
S28、继续判断所述当前第一随机搜索区域边长是否大于等于1;如果是,则执行下一步骤S29;如果否,则跳转至步骤S210;
S29、所述目标图像中每一个像素坐标值的当前K个最相似图像块分别以各自为中心在当前第一随机搜索区域边长的范围内各自对应随机选取一个像素坐标值进行二次更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别各自与其一一对应的获取到的目标图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留二次更新后所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第一随机搜索区域边长除以2后,返回步骤S27;
S210、判断所述第一迭代次数是否等于0;如果是,则执行下一步骤S211;如果否,则将所述第一迭代次数减去1后,返回步骤S23;
S211、结束计算,并将所述目标图像中每一个像素坐标值分别各自最后得到相似性匹配函数值为最小的前K个最相似图像块作为所述目标图像中每一个像素坐标值对应传递在所述目标图像中的前K个最相似图像块输出。
5.如权利要求1所述的方法,其特征在于,所述步骤S3具体包括:
S31、获取所述目标图像中任意一个像素坐标值在所述源图像中通过并行随机数生成函数生成K个第二随机像素坐标值,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中由K个第二随机像素坐标值所形成的K个最相似图像块;
S32、设置第二迭代次数;
S33、设置第二空间偏移量以及第二随机搜索区域边长;
S34、获取当前第二空间偏移量以及所述目标图像中每一个像素坐标值分别对应在所述源图像中形成的当前K*K个最相似图像块;
S35、判断所述当前第二空间偏移量是否大于等于1;如果是,则执行下一步骤S36;如果否,则跳转至步骤S37;
S36、根据所述获取到的当前第二空间偏移量,将所述目标图像中每一个像素坐标值分别对应在所述源图像中的当前K个最相似图像块进行更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别各自与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第二空间偏移量除以2后,返回步骤S33;
S37、获取当前第二随机搜索区域边长以及所述目标图像中每一个像素坐标值分别对应在所述源图像中形成的当前K*K个最相似图像块;
S38、继续判断所述当前第二随机搜索区域边长是否大于等于1;如果是,则执行下一步骤S39;如果否,则跳转至步骤S310;
S39、所述目标图像中每一个像素坐标值分别对应在所述源图像中的当前K个最相似图像块分别以各自为中心在当前第二随机搜索区域边长的范围内各自对应随机选取一个像素坐标值进行二次更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由二次更新后所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第二随机搜索区域边长除以2后,返回步骤S37;
步骤S310、根据步骤S2得到所述目标图像中每一个像素坐标值在所述目标图像中的K个最相似图像块,将所述得到的目标图像中每一个像素坐标值分别对应传递在所述目标图像中具有相似性匹配函数值为最小的前K个最相似图像块再次传递,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中具有K*K个最相似图像块进行三次更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由三次更新后所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为当前K个最相似图像块;
S311、判断所述第二迭代次数是否等于0;如果是,则执行下一步骤S312;如果否,则将所述第一迭代次数减去1后,返回步骤S33;
S312、结束计算,并将所述目标图像中每一个像素坐标值内各自最后计算所得相似性匹配函数值为最小的前K个最相似图像块同时输出。
6.一种GPU加速的基于方向对齐与匹配传递的近似最相似图像块匹配方法,其特征在于,所述方法包括:S5、确定目标图像和源图像,并将所述目标图像和所述源图像分别基于结构张量计算出各自相应的方向角图像,且进一步根据所述目标图像和所述源图像及各自计算所得的方向角图像,定义出计算两个图像块距离的相似性匹配函数;
S6、确定所述源图像中每一个像素坐标值分别对应在所述源图像中传递的K个最相似图像块,并利用所述相似性匹配函数计算所述源图像中每一个像素坐标值与其对应传递在所述源图像中的K个最相似图像块间的相似性匹配函数值,得到所述源图像中每一个像素坐标值分别对应传递在所述源图像中具有相似性匹配函数值为最小的前K个最相似图像块;K大于1的正整数;
S7、确定所述目标图像中每一个像素坐标值对应传递在所述源图像中的K个最相似图像块,并根据所述源图像中每一个像素坐标值分别对应在所述源图像中具有相似性匹配函数值为最小的前K个最相似图像块,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中具有K*K个最相似图像块,根据所述目标图像和源图像及其它们对应的方向角图像,定义计算两个图像块距离的相似性匹配函数,且进一步利用所述相似性匹配函数计算所述目标图像中每一个像素坐标值与其对应传递在所述源图像中的K*K个最相似图像块间的相似性匹配函数值,筛选出所述目标图像中每一个像素坐标值内各自所计算出相似性匹配函数值为最小的前K个最相似图像块同时输出。
7.如权利要求6所述的方法,其特征在于,所述步骤S5中“将所述目标图像和所述源图像分别基于结构张量计算出各自相应的方向角图像”具体包括:给定一个3X3的卷积权重模板,并利用所述给定的3X3的卷积权重模板计算所述目标图像的水平方向的梯度场图像和竖直方向的梯度场图像,以及计算所述源图像的水平方向的梯度场图像和竖直方向的梯度场图像;
根据所述计算出的目标图像的水平方向及竖直方向的梯度场图像和所述计算出的源图像的水平方向的梯度场图像和竖直方向的梯度场图像,分别计算出所述目标图像和所述源图像各自对应的结构张量图像,并进一步根据所述计算出的目标图像和源图像各自对应的结构张量图像,得到所述目标图像和所述源图像各自对应的方向角图像。
8.如权利要求7所述的方法,其特征在于,所述目标图像的方向角图像是通过公式来实现,所述源图像的方向角图像是通过公式
来实现;其中,
所述目标图像的结构张量图像表示为SA=(SAx,SAy,SAz) ;SAx(p)=Ax
(p) ·Ax (p) ,SAy (p)=Ax(p)·Ay(p),SAz(p)=Ay(p)·Ay(p);
p为所述目标
图像的任意一个像素坐标值;i、j均为整数,
所述源图像的结构张量图像表示为SB=(SBx,SBy,SBz);SBx(q)=Bx(q)·B x ( q) ,S B y (q) =Bx (q) ·By (q) ,SB z(q) =By (q)·B y(q) ;
q为所述源图
像的任意一个像素坐标值。
9.如权利要求6所述的方法,其特征在于,所述步骤S6具体包括:
S61、获取所述源图像中任意一个像素坐标值及其在所述源图像中通过并行随机数生成函数生成K个第三随机像素坐标值,得到所述源图像中每一个像素坐标值分别对应传递在所述源图像中由K个第三随机像素坐标值所形成的K个最相似图像块;
S62、设置第三迭代次数;
S63、设置第三空间偏移量以及第三随机搜索区域边长;
S64、获取当前第三空间偏移量以及所述源图像中每一个像素坐标值分别对应的当前K个最相似图像块;
S65、判断所述当前第三空间偏移量是否大于等于1;如果是,则执行下一步骤S66;如果否,则跳转至步骤S67;
S66、根据所述获取到的当前第三空间偏移量,将所述源图像中每一个像素坐标值分别对应的当前K个最相似图像块进行更新,并利用所述相似性匹配函数计算出所述源图像中每一个像素坐标值分别各自与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留所述源图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第三空间偏移量除以2后,返回步骤S64;
S67、获取当前第三随机搜索区域边长以及所述源图像中每一个像素坐标值分别对应的当前K个最相似图像块;
S68、继续判断所述当前第三随机搜索区域边长是否大于等于1;如果是,则执行下一步骤S69;如果否,则跳转至步骤S610;
S69、所述源图像中每一个像素坐标值的当前K个最相似图像块分别以各自为中心在当前第三随机搜索区域边长的范围内各自对应随机选取一个像素坐标值进行二次更新,并利用所述相似性匹配函数计算出所述源图像中每一个像素坐标值分别与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留二次更新后所述源图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第三随机搜索区域边长除以2后,返回步骤S67;
S610、判断所述第三迭代次数是否等于0;如果是,则执行下一步骤S611;如果否,将所述第三迭代次数减去1后,返回步骤S63;
S611、结束计算,并将所述源图像中每一个像素坐标值分别各自最后得到相似性匹配函数值为最小的前K个最相似图像块作为所述源图像中每一个像素坐标值各自对应传递在所述源图像中的前K个最相似图像块输出。
10.如权利要求6所述的方法,其特征在于,所述步骤S7具体包括:
S71、获取所述目标图像中任意一个像素坐标值在所述源图像中通过并行随机数生成函数生成K个第四随机像素坐标值,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中由K个第四随机像素坐标值所形成的K个最相似图像块;
S72、设置第四迭代次数;
S73、设置第四空间偏移量以及第四随机搜索区域边长;
S74、获取当前第四空间偏移量以及所述目标图像中每一个像素坐标值分别对应在所述源图像中形成的当前K*K个最相似图像块;
S75、判断所述当前第四空间偏移量是否大于等于1;如果是,则执行下一步骤S76;如果否,则跳转至步骤S77;
S76、根据所述获取到的当前第四空间偏移量,将所述目标图像中每一个像素坐标值分别对应在所述源图像中形成的当前K*K个最相似图像块进行更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别各自与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第四空间偏移量除以2后,返回步骤S74;
S77、获取当前第四随机搜索区域边长以及所述目标图像中每一个像素坐标值分别对应在所述源图像中形成的当前K*K个最相似图像块;
S78、继续判断所述当前第四随机搜索区域边长是否大于等于1;如果是,则执行下一步骤S79;如果否,则跳转至步骤S710;
S79、所述目标图像中每一个像素坐标值分别对应在所述源图像中的当前K个最相似图像块分别以各自为中心在当前第四随机搜索区域边长的范围内各自对应随机选取一个像素坐标值进行二次更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由二次更新后所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为各自对应的当前K个最相似图像块,以及将所述当前第四随机搜索区域边长除以2后,返回步骤S77;
步骤S710、根据步骤S6得到所述源图像中每一个像素坐标值在所述源图像中的K个最相似图像块,将所述得到的目标图像中每一个像素坐标值分别对应传递在所述源图像中具有相似性匹配函数值为最小的当前K个最相似图像块再次传递,得到所述目标图像中每一个像素坐标值对应传递在所述源图像中具有K*K个最相似图像块进行三次更新,并利用所述相似性匹配函数计算出所述目标图像中每一个像素坐标值分别与其一一对应的获取到的源图像中的像素坐标值以及当前K个最相似图像块间的相似性匹配函数值,且进一步保留由三次更新后所述目标图像中每一个像素坐标值所计算出相似性匹配函数值为最小的前K个最相似图像块作为当前K个最相似图像块;
S711、判断所述第四迭代次数是否等于0;如果是,则执行下一步骤S712;如果否,则将所述第一迭代次数减去1后,返回步骤S73;S712、结束计算,并将所述目标图像中每一个像素坐标值内各自最后计算所得相似性匹配函数值为最小的前K个最相似图像块同时输出。