[发明专利]基于GPU的Zernike矩快速计算方法有效
| 申请号: | 201711062242.3 | 申请日: | 2017-11-02 | 
| 公开(公告)号: | CN107741881B | 公开(公告)日: | 2020-05-05 | 
| 发明(设计)人: | 玄玉波;王世刚;王丽 | 申请(专利权)人: | 吉林大学 | 
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06T1/20 | 
| 代理公司: | 沈阳铭扬联创知识产权代理事务所(普通合伙) 21241 | 代理人: | 屈芳 | 
| 地址: | 130012 吉*** | 国省代码: | 吉林;22 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 gpu zernike 快速 计算方法 | ||
1.一种基于GPU的Zernike矩快速计算方法,其特征在于,包括两部分内容: 基于GPU的径向多项式系数结合图像重布局的八卦限对称性算法的混合算法和基于GPU的内核合并的组包方案;
1.1 所述的基于GPU的径向多项式系数结合图像重布局的八卦限对称性算法的混合算法包括下列步骤:
1.1.1将笛卡尔坐标下N×N 图像的坐标[i,k],映射到单位内切圆[x,y]的映射变换,归一化以后的坐标为:
其中:i=tid%N,k=tid/N,tid为线程索引,其值从0到(N×N-1);x轴、y轴、直线y=x和直线y=-x将单位圆分为8个象限,称为八卦限,8个一维数组h1, h2, h3…h8表示八卦限中像素值;用第1卦限中的地址索引值计算对应的极径ρ和极角θ的值,即,,,,将计算结果放入2个一维数组,存储到全局内存中;
1.1.2将步骤1.1.1中的8个一维数组h1, h2, h3…h8以及放入计算结果的2个一维数组中对角线上重复的像素值置0;
1.1.3计算径向多项式系数c(n,m,s):
其中:n 为阶数,m为角频,n 是非负正整数,m是整数,且满足n-│m│为偶数,
│m│n;s为[0-(n-│m│/2]的整数;
1.1.4通过4个Kernel在GPU中计算n阶m角频的Zernike矩,计算过程分为下列4个步骤:
1.1.4.1在GPU的Kernel 1中,将八卦限的灰度值按照相同的索引地址是对称点的规则,重新载入到8个一维的数组h1, h2, h3…h8;
1.1.4.2在GPU的Kernel 2中,将1.1.1中的第1卦限的极角θ通过查找表取出,计算八卦限映射和:
其中,为八卦限映射的实部,为八卦限映射的虚部,
1.1.4.3 在GPU的Kernel 3中,将步骤1.1.1中的第1卦限中的极径ρ和步骤1. 1.3的径向多项式系数c(n,m,s)通过查找表的方式取出,代入径向多项式:
1.1.4.4在GPU的Kernel 3中,将步骤1.1.4.3的径向多项式计算结果和步骤1.1.4.2的八卦限映射与相乘求Zernike矩的映射;
1.1.4.5 在GPU的Kernel 4 中将步骤1.1.4.4的Zernike矩的映射使用并行归约求和,并将最终结果输出到CPU;
1.2.所述的基于GPU的内核合并的组包方案,计算第n阶m个角频的一族Zernike矩时,包括下列步骤:
1.2.1 重复步骤1.1.1至1.1.3中的计算;
1.2.2重复步骤1.1.4.1的Kernel 1计算步骤;
1.2.3重复步骤1.1.4.2的Kernel 2计算步骤;
1.2.4 在Kernel 3中,采用顺序执行模式,保留原线程块Block和线程束Warp调用方式,通过线程块Block组包,将n阶(floor(n/2)+1)个Zernike矩的八卦限映射与径向多项式相乘的计算合并到一起,由图像尺寸和阶数n决定组包线程块数量;
1.2.5 在Kernel 4中,同样使用线程块Block组包,使用并行归约将n阶的(floor(n/2)+1)个Zernike矩的映射求和,将结果输出到CPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711062242.3/1.html,转载请声明来源钻瓜专利网。





