基于GPU和金字塔互信息的SAR图像配准方法技术

技术编号:15911256 阅读:87 留言:0更新日期:2017-08-01 22:42
本发明专利技术公开了一种基于GPU和金字塔互信息的SAR图像配准方法,主要解决现有技术图像配准的速度慢和精度低的问题。其实现方案为:1.GPU经1/4下采样生成两幅金字塔顶层图像,同时CPU计算顶层图像移动范围;2.在顶层图像移动范围内计算顶层图像的移动位置;3.CPU由顶层图像移动位置计算中间层图像移动范围,同时GPU经1/2下采样生成两幅中间层图像;4.在中间层图像移动范围内计算中间层图像移动位置;5.根据中间层图像移动位置计算待配准图像移动范围;6.在待配准图像移动范围内计算最终配准位置,生成配准后图像。本发明专利技术将GPU应用到金字塔互信息配准算法中,提高了配准的速度和精度,可用于实时遥感数据分析。

SAR image registration method based on mutual information of GPU and Pyramid

The invention discloses a SAR image registration method based on mutual information of GPU and Pyramid, which mainly solves the problems of slow speed and low accuracy of image registration in the prior art. In fact, this scheme is 1.GPU by 1/4 sampling to generate two Pyramid top image, at the same time CPU to calculate the top image moving range; mobile location 2. in the top image moving range calculation top image; 3.CPU image by top mobile position calculation of middle layer image moving range, and GPU by 1/2 sampling to generate two middle layer image in the middle layer; 4. image moving range calculation intermediate image location; 5. according to the middle layer image of mobile position calculation the image moving range; 6. in the image moving range calculation of the final registration position generated after registration. The invention applies GPU to the mutual information registration algorithm of Pyramid, and improves the speed and accuracy of registration, and can be used for real-time remote sensing data analysis.

【技术实现步骤摘要】
基于GPU和金字塔互信息的SAR图像配准方法
本专利技术属于雷达
,特别涉及一种SAR图像的配准方法,可用于实时遥感数据分析。
技术介绍
金字塔互信息图像配准是当今最常用的配准算法之一,其将互信息计算与图像采样结合起来,具有运算量小,配准效果好的优势。现今的金字塔互信息图像配准算法多在CPU上实现,华中科技大学的李乔亮、汪国有、刘建国等提出的基于样条金字塔和互信息的快速图像配准算法,采用构建样条金字塔降低计算量,该算法在CPU上单线程运行。张赞霞、彭嘉雄、王洪群提出的基于互信息的分层遥感图像处理方法,采用小波变换构造图像金字塔进行互信息配准,同样是在CPU上运行。随着SAR图像分辨率的提高,CPU上运行的图像配准算法运行时间变长,以至于无法满足实时性要求,使用GPU并行加速的配准算法出现;国防科技大学赵进在基于GPU的遥感图像并行处理算法及其优化技术研究的论文中给出了GPU实现的互信息图像配准算法,但该方法对于使用单精度浮点运算的GPU来说,配准精度不易控制。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提出一种基于GPU和金字塔互信息的SAR图像配准方法,以减小图像配准时间,并提高配准的精度。本专利技术的技术方案是:采用CPU+GPU结合的方式,利用GPU进行图像采样和互信息计算,利用CPU进行金字塔每层图像共有区域范围和移动范围的计算。对图片进行1/4和1/2下采样构建3层金字塔,通过逐层计算配准位置,生成最终的配准图像,其实现步骤包括如下:(1)获取两幅SAR灰度图像,并将其传送到GPU显存中作为两幅原始SAR图像,GPU对这两幅SAR图像分别进行1/4下采样,得到第一幅金字塔顶层图像D11和第二幅金字塔顶层图像D12;同时通过CPU初始化第二幅金字塔顶层图像D12的移动范围;(2)计算金字塔顶层最大互信息对应第二幅金字塔顶层图像D12的移动位置:(2a)GPU在移动范围内选取一个移动矢量并移动第二幅金字塔顶层图像D12,生成第一幅金字塔顶层共有区域图像D11'和第二幅金字塔顶层共有区域图像D12',再计算这两幅图像的互信息MI1;(2b)在移动范围内遍历选取新的移动矢量,重复(2a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应的第二幅金字塔顶层图像D12的移动位置;(3)GPU对两幅原始SAR图像进行1/2下采样,得到金字塔中间层的两幅图像D21和D22;CPU根据步骤(2b)保存的第二幅金字塔顶层图像D12移动位置,确定第二幅金字塔中间层图像D22的移动范围;(4)计算金字塔中间层最大互信息对应第二幅金字塔中间层图像D22的移动位置:(4a)GPU在步骤(3)确定的移动范围内选取一个移动矢量并移动第二幅金字塔中间层图像D22,生成第一幅金字塔中间层共有区域图像D21'和第二幅金字塔中间层共有区域图像D22',再计算这两幅图像的互信息MI2;(4b)在步骤(3)确定的移动范围内遍历选取新的移动矢量,重复(4a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应第二幅金字塔中间层图像D22的移动位置;(5)CPU根据步骤(4b)保存的第二幅金字塔中间层图像D22移动位置,确定第二幅原始SAR图像的移动范围,并在内存中开辟一块空间F用于存储金字塔底层互信息值和移动矢量,初始化空间F的互信息值为单精度浮点负无穷;(6)计算金字塔底层最大互信息对应第二幅原始SAR图像的移动位置:(6a)GPU在步骤(5)确定的移动范围内选取一个移动矢量并移动第二幅原始SAR图像,生成第一幅金字塔底层共有区域图像D31'和第二幅金字塔底层共有区域图像D32',再计算这两幅图像的互信息MI3;(6b)CPU将互信息MI3与空间F中存储的互信息值进行比较:如果互信息MI3比空间F存储的互信息值大,则更改空间F存储的互信息值为MI3,同时更改空间F存储的移动矢量,否则,不进行任何操作;(6c)在步骤(5)确定的移动范围内遍历选取新的移动矢量,重复(6a)和(6b);空间F存储的互信息值即为金字塔底层最大互信息值MI,取出空间F保存的移动矢量,GPU根据该移动矢量再次移动第二幅原始SAR图像,得到配准后图像D。本专利技术具有如下优点:本专利技术由于将GPU运用到金字塔每层共有区域图像的互信息计算中,与CPU实现的传统金字塔互信息配准算法相比,减少了运行时间;同时由于通过生成金字塔每层共有区域图像,提高了配准精度。测试结果表明,本专利技术与CPU实现的金字塔互信息配准算法相比,配准时间大幅减小;本专利技术与GPU实现的传统金字塔互信息配准算法相比,配准精度有所提高。附图说明图1为本专利技术的实现流程框图;图2为本专利技术仿真实验使用的原始SAR图像;图3为本专利技术仿真实验得出的配准后图像;图4为用本专利技术得出的配准后图像与第一幅原始SAR图像的重叠图像。具体实施方式参照图1,本专利技术的具体步骤如下:步骤1,GPU生成两幅顶层图像D11和D12,CPU计算第二幅金字塔顶层图像D12的移动范围。(1a)GPU生成第一幅金字塔顶层图像D11和第二幅金字塔顶层图像D12:(1a1)根据第一幅原始SAR图像的宽W1和高H1,GPU在显存中开辟宽为高为的第一金字塔顶层二维数组α1,其中表示向下取整,ceil4表示向上取整为4的倍数;(1a2)GPU先为第一幅金字塔顶层图像D11分配32×32个线程块,每个线程块再分配个线程,使第一金字塔顶层二维数组α1中所有索引(x1,y1)满足且满足的元素分别对应一个GPU线程,其中表示向上取整;(1a3)利用第一金字塔顶层二维数组α1中元素(x1,y1)对应的线程,将该元素赋值为第一幅原始SAR图像中(4x1,4y1)坐标处的像素值,此时第一金字塔顶层二维数组α1即存储着第一幅金字塔顶层图像D11;(1a4)根据第二幅原始SAR图像的宽W2和高H2,在GPU显存中开辟宽为高为的第二金字塔顶层二维数组β1;(1a5)GPU先为第二幅金字塔顶层图像D12分配32×32个线程块,每个线程块再分配个线程;使第二金字塔顶层二维数组β1中所有索引(x1',y1')满足和的元素分别对应一个GPU线程;(1a6)利用第二金字塔顶层二维数组β1中元素(x1',y1')对应的线程,将该元素赋值为第二幅原始SAR图像(4x1',4y1')坐标的像素值,此时第二金字塔顶层二维数组β1即存储着第一幅金字塔顶层图像D12;(1b)CPU计算第二幅金字塔顶层图像D12的移动范围:CPU根据用户输入的第二幅原始SAR图像在不同区域的初始移动范围,即:水平移动区间[-w,w],垂直移动区间[-h,h],旋转角度区间[-ang,ang],计算第二幅金字塔顶层图像D12在不同区域的移动范围为:水平移动区间垂直移动区间旋转角度区间[-ang,ang]。步骤2,GPU计算第二幅金字塔顶层图像D12的移动位置。(2a)GPU生成第一幅金字塔顶层共有区域图像D11'和第二幅金字塔顶层共有区域图像D12':(2a1)平移第二幅金字塔顶层图像D12,得到平移后的图像Ds12;GPU从步骤(1b)确定的第二幅金字塔顶层图像D12移动范围内选取一个移动矢量(x1,y1,ang1),其中x1表示水平移动的像素个数,y1表示垂本文档来自技高网...
基于GPU和金字塔互信息的SAR图像配准方法

【技术保护点】
基于GPU和金字塔互信息的SAR图像配准方法,包括:(1)获取两幅SAR灰度图像,并将其传送到GPU显存中作为两幅原始SAR图像,GPU对这两幅SAR图像分别进行1/4下采样,得到第一幅金字塔顶层图像D11和第二幅金字塔顶层图像D12;同时通过CPU初始化第二幅金字塔顶层图像D12的移动范围;(2)计算金字塔顶层最大互信息对应第二幅金字塔顶层图像D12的移动位置:(2a)GPU在移动范围内选取一个移动矢量并移动第二幅金字塔顶层图像D12,生成第一幅金字塔顶层共有区域图像D11'和第二幅金字塔顶层共有区域图像D12',再计算这两幅图像的互信息MI1;(2b)在移动范围内遍历选取新的移动矢量,重复(2a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应的第二幅金字塔顶层图像D12的移动位置;(3)GPU对两幅原始SAR图像进行1/2下采样,得到金字塔中间层的两幅图像D21和D22;CPU根据步骤(2b)保存的第二幅金字塔顶层图像D12移动位置,确定第二幅金字塔中间层图像D22的移动范围;(4)计算金字塔中间层最大互信息对应第二幅金字塔中间层图像D22的移动位置:(4a)GPU在步骤(3)确定的移动范围内选取一个移动矢量并移动第二幅金字塔中间层图像D22,生成第一幅金字塔中间层共有区域图像D21'和第二幅金字塔中间层共有区域图像D22',再计算这两幅图像的互信息MI2;(4b)在步骤(3)确定的移动范围内遍历选取新的移动矢量,重复(4a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应第二幅金字塔中间层图像D22的移动位置;(5)CPU根据步骤(4b)保存的第二幅金字塔中间层图像D22移动位置,确定第二幅原始SAR图像的移动范围,并在内存开辟一块空间F用于存储金字塔底层互信息值和移动矢量,初始化空间F的互信息值为单精度浮点负无穷。(6)计算金字塔底层最大互信息对应第二幅原始SAR图像的移动位置:(6a)GPU在步骤(5)确定的移动范围内选取一个移动矢量并移动第二幅原始SAR图像,生成第一幅金字塔底层共有区域图像D31'和第二幅金字塔底层共有区域图像D32',再计算这两幅图像的互信息MI3;(6b)CPU将互信息MI3与空间F中存储的互信息值进行比较:如果互信息MI3比空间F存储的互信息值大,则更改空间F存储的互信息值为MI3,同时更改空间F存储的移动矢量,否则,不进行任何操作;(6c)在步骤(5)确定的移动范围内遍历选取新的移动矢量,重复(6a)和(6b);空间F存储的互信息值即为金字塔底层最大互信息值MI,取出空间F保存的移动矢量,GPU根据该移动矢量再次移动第二幅原始SAR图像,得到配准后图像D。...

【技术特征摘要】
1.基于GPU和金字塔互信息的SAR图像配准方法,包括:(1)获取两幅SAR灰度图像,并将其传送到GPU显存中作为两幅原始SAR图像,GPU对这两幅SAR图像分别进行1/4下采样,得到第一幅金字塔顶层图像D11和第二幅金字塔顶层图像D12;同时通过CPU初始化第二幅金字塔顶层图像D12的移动范围;(2)计算金字塔顶层最大互信息对应第二幅金字塔顶层图像D12的移动位置:(2a)GPU在移动范围内选取一个移动矢量并移动第二幅金字塔顶层图像D12,生成第一幅金字塔顶层共有区域图像D11'和第二幅金字塔顶层共有区域图像D12',再计算这两幅图像的互信息MI1;(2b)在移动范围内遍历选取新的移动矢量,重复(2a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应的第二幅金字塔顶层图像D12的移动位置;(3)GPU对两幅原始SAR图像进行1/2下采样,得到金字塔中间层的两幅图像D21和D22;CPU根据步骤(2b)保存的第二幅金字塔顶层图像D12移动位置,确定第二幅金字塔中间层图像D22的移动范围;(4)计算金字塔中间层最大互信息对应第二幅金字塔中间层图像D22的移动位置:(4a)GPU在步骤(3)确定的移动范围内选取一个移动矢量并移动第二幅金字塔中间层图像D22,生成第一幅金字塔中间层共有区域图像D21'和第二幅金字塔中间层共有区域图像D22',再计算这两幅图像的互信息MI2;(4b)在步骤(3)确定的移动范围内遍历选取新的移动矢量,重复(4a),得到互信息值的集合;找出集合中最大互信息值,并保存该最大互信息值对应第二幅金字塔中间层图像D22的移动位置;(5)CPU根据步骤(4b)保存的第二幅金字塔中间层图像D22移动位置,确定第二幅原始SAR图像的移动范围,并在内存开辟一块空间F用于存储金字塔底层互信息值和移动矢量,初始化空间F的互信息值为单精度浮点负无穷。(6)计算金字塔底层最大互信息对应第二幅原始SAR图像的移动位置:(6a)GPU在步骤(5)确定的移动范围内选取一个移动矢量并移动第二幅原始SAR图像,生成第一幅金字塔底层共有区域图像D31'和第二幅金字塔底层共有区域图像D32',再计算这两幅图像的互信息MI3;(6b)CPU将互信息MI3与空间F中存储的互信息值进行比较:如果互信息MI3比空间F存储的互信息值大,则更改空间F存储的互信息值为MI3,同时更改空间F存储的移动矢量,否则,不进行任何操作;(6c)在步骤(5)确定的移动范围内遍历选取新的移动矢量,重复(6a)和(6b);空间F存储的互信息值即为金字塔底层最大互信息值MI,取出空间F保存的移动矢量,GPU根据该移动矢量再次移动第二幅原始SAR图像,得到配准后图像D。2.如权利要求1所述的方法,其中步骤(1)中GPU对两幅原始SAR图像分别进行1/4下采样,是使用了GPU统一设备计算架构CUDA进行,步骤如下:(1a)GPU获取第一幅金字塔顶层图像D11:(1a1)根据第一幅原始SAR图像的宽W1和高H1,在GPU显存中开辟宽为高为的第一金字塔顶层二维数组α1,其中表示向下取整,ceil4表示向上取整为4的倍数;(1a2)GPU分配32×32个线程块;每个线程块再分配个线程,使第一金字塔顶层二维数组α1中所有索引(x1,y1)满足且满足的元素分别对应一个GPU线程,其中表示向上取整;(1a3)利用第一金字塔顶层二维数组α1中元素(x1,y1)对应的线程,将该元素赋值为第一幅原始SAR图像中(4x1,4y1)坐标处的像素值,此时第一金字塔顶层二维数组α1即存储着第一幅金字塔顶层图像D11;(1b)GPU获取第二幅金字塔顶层图像D12:(1b1)根据第二幅原始SAR图像的宽W2和高H2,在GPU显存中开辟宽为高为的第二金字塔顶层二维数组β1;(1b2)GPU分配32×32个线程块,每个线程块再分配个线程;使第二金字塔顶层二维数组β1中所有索引(x1',y1')满足和的元素分别对应一个GPU线程;(1b3)利用第二金字塔顶层二维数组β1中元素(x1',y1')对应的线程,将该元素赋值为第二幅原始SAR图像(4x1',4y1')坐标的像素值,此时第二金字塔顶层二维数组β1即存储着第一幅金字塔顶层图像D12。3.如权利要求1所述的方法,步骤(2a)中GPU在移动范围内选取一个移动矢量并移动第二幅金字塔顶层图像D12,是从步骤(1)确定的第二幅金字塔顶层图像D12移动范围内选取一个移动矢量(x1,y1,ang1),其中x1表示水平移动的像素个数,y1表示垂直移动的像素个数,ang1代表以图像D12中心为原点顺时针旋转角度,由该矢量移...

【专利技术属性】
技术研发人员:李明薄涛吴艳张鹏
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1