CN103679665A - 几何校正方法及装置 - Google Patents
几何校正方法及装置 Download PDFInfo
- Publication number
- CN103679665A CN103679665A CN201410003507.2A CN201410003507A CN103679665A CN 103679665 A CN103679665 A CN 103679665A CN 201410003507 A CN201410003507 A CN 201410003507A CN 103679665 A CN103679665 A CN 103679665A
- Authority
- CN
- China
- Prior art keywords
- gpu
- view data
- geometry correction
- correction
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种几何校正方法及装置,该方法包括:图形处理器GPU获取待处理的图像数据;GPU使用预设参数和预设算法对待处理的图像数据进行几何校正。通过本发明,提高了几何校正的效率。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种几何校正方法及装置。
背景技术
环扫合成孔径雷达(环扫SAR)是一种能在短时间内快速形成大面积环状区域雷达图像的成像雷达,环状成像区域能够有效地减小各种误差对定位的影响,因此环扫SAR是一种非常实用的成像模式。星载和机载SAR都是对大幅地面区域进行成像,而弹载环形扫描成像雷达则是对感兴趣的一小块地域作环形扫描,一般是以扇形波束绕地垂线扫描,形成一副环形带状图像,数据量不大,能够进行实时处理,可以用于研究特定地域的反射和散射特性。
下面描述几何校正:几何校正(Geometric Correction)就是将图像数据投影到平面上,使其符合地图投影***的过程。主要方法是多项式法。方法机理是通过若干控制点,建立不同图像间的多项式空间变换和像元插值运算,实现雷达图像与实际地理图件间的配准,达到消减以及消除雷达图像的几何畸变,是获取最高级别遥感数据的重要方法。
例如:多项式几何校正机理实现的两大步:
(1)图像坐标的空间变换
有几何畸变的遥感图像与没有几何畸变的遥感图像,其对应像元的坐标是不一样的,在数学方法上,对于不同二维笛卡儿坐标***间的空间转换,通常采用的是二元n次多项式,表达式如下:
其中x,y为变换前图像坐标,u,v为变换后图像坐标,aij,bij为多项式系数,n=1,2,3,……。
(2)图像像元灰度值重采样
经过上述图像像元坐标的空间变换,得到对应于实际地面或无几何畸变的图像坐标,图像上每个像元都有了无几何畸变的坐标值。随后需要做的是给每个像元赋亮度值。因为已知的图像数据是有几何畸变的像元亮度值,并没有校正后的无几何畸变的像元亮度值。所以需要通过数学上的重采样方法如最近邻法、双向线性内插法和三次卷积内插法等计算出校正后像元位置的亮度值,形成无几何畸变的遥感数据。
采用合成孔径雷达技术能够获得全天候、全天时、远距离的高分辨雷达图像,是提高精确制导武器打击精度的有效途径。但是,导弹的机动飞行偏离理想运动轨迹,带来严重的运动误差使图像质量恶化。弹载SAR成像需要解决加速平台的成像和前视成像的问题。
环扫SAR的分辨率与脉冲积累时间、雷达速度、脉冲重复频率PRF有关。环扫角速度会影响脉冲积累时间,当PRF固定时,环扫角速度的变化还可能引起多普勒频率混叠。由于环扫角速度的关系,造成地面线速度增大,从而脉冲积累时间减少,分辨率降低。
因此,设计环扫SAR时,要根据***分辨率要求,结合脉冲重复频率PRF,确定一次成像所需的的最大脉冲数,避免方位多普勒混叠。
相关技术中,环扫雷达成像所需数据量是很大的,尤其当需要实时成像时,要求单位时间数据的吞吐量很高。当遇到此类问题时,通常是凭借硬件设备的处理能力来解决。如设计一个***,配以高速FPGA,编写逻辑程序,采用流水线的方式处理数据。这样做取得了比较好的效果,在速度上可以满足需求,但不足也是明显的。
首先是硬件成本过高,***模块从设计、选型到投产都需要投入大量时间和物质成本;其次,算法逻辑实现起来十分困难,开发周期很漫长;最后,方案灵活性不高,当需求发生微小变化时,成型***未必能够适应,如果做出调整,工作量可能会相当可观。
并行计算并不是硬件设备的独占技术,软件在一定程度上同样可以实现。把雷达成像问题,包括其中如几何校正这样的运算步骤通过软件方式并行计算也可以完成。
但是传统的软件思路和架构在速度上无法满足需求:首先,普通的CPU无法在真正意义上实现并行处理,如果打算采用多台CPU协同工作,那么成本和技术问题仍然存在。其次,普通CPU的运算速度在面对实时成像等问题上仍显吃力。
当今计算机中的图形处理器(Graphics Process Unit,简称为GPU)具备强大的计算能力,可用来编写各种高性能的应用软件。虽然GPU的设计初衷是用于在显示器上渲染计算机图形,但在科学计算、工程、金融以及其他领域中,人们开始越来越多地使用GPU。
发明内容
为了达到上述目的,本发明提出了一种几何校正方法及装置。
根据本发明的一个方面,提供了一种几何校正方法,包括:图形处理器GPU获取待处理的图像数据;所述GPU使用预设参数和预设算法对待处理的图像数据进行几何校正。
优选地,所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
优选地,还包括:将所述预设算法封装为类;
通过与所述类对应的接口获取所述图像数据。
优选地,在所述GPU使用预设参数和预设算法对待处理的图像数据进行几何校正之后,还包括:输出所述几何校正后的图像数据。
优选地,所述GPU包括:指令控制器、缓存Cache和配合***内存DRAM。
根据本发明的又一方面,还提供了一种几何校正装置,应用于图形处理器GPU,包括:获取模块,用于获取待处理的图像数据;校正模块,用于使用预设参数和预设算法对待处理的图像数据进行几何校正。
优选地,所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
优选地,还包括:封装模块,用于将所述预设算法封装为类;与所述类对应的接口,用于获取所述图像数据。
优选地,还包括:输出模块,用于输出所述校正后的图像数据。
优选地,所述GPU包括:指令控制器、缓存Cache和配合***内存DRAM。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的几何校正方法的流程图;
图2是根据本发明实施例的几何校正装置的结构框图;
图3是根据本发明实施例的CPU中的逻辑结构示意图;
图4是根据本发明实施例的GPU的逻辑结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种情绪训练的使用方法,图1是根据本发明实施例的几何校正方法的流程图,如图1所示,该方法包括如下步骤S102至步骤S104。
步骤S102:GPU获取待处理的图像数据。
步骤S104:GPU使用预设参数和预设算法对待处理的图像数据进行几何校正。
优选地,所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
优选地,还包括:将所述预设算法封装为类;
通过与所述类对应的接口获取所述图像数据。
优选地,在所述GPU使用预设参数对待处理的图像数据进行几何校正之后,还包括:输出所述几何校正后的图像数据。
优选地,所述GPU包括:指令控制器、缓存Cache和配合***内存DRAM。
基于相同的原理,对应于上述方法,本实施例提供了一种几何校正装置,应用于图形处理器GPU,图2是根据本发明实施例的几何校正装置的结构框图,如图2所示,该装置包括:获取模块22,校正模块24,下面对上述结构进行详细说明。
获取模块22,用于获取待处理的图像数据;校正模块24,用于使用预设参数和预设算法对待处理的图像数据进行几何校正。
优选地,所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
优选地,还包括:封装模块,用于将所述预设算法封装为类;与所述类对应的接口,用于获取所述图像数据。
优选地,在所述GPU使用预设参数对待处理的图像数据进行几何校正之后,还包括:输出模块,用于输出所述校正后的图像数据。
优选实施例一
计算机***中的中央处理器(CPU)大致可以分为指令控制器(Control)、数学逻辑单元(ALU)和缓存(Cache),配合***内存(DRAM)执行指令及运算。其结构如图3所示。
在软件中,最小的工作单位是线程,每个线程不同程度地占用CPU中的数学逻辑单元和缓存。并且所有的线程受指令控制器的调度,以非常高的速度在内存中切换,从而达到多个线程几乎同时工作的效果。
作为计算机***中的控制核心,CPU要处理的指令往往比较复杂,因此在CPU上运行的线程量级仍然比较大,在调度的过程中需要占用很可观的***开销。并且CPU中用于浮点运算的数学逻辑单元有限,因此每个线程的计算效率并不突出。
这些问题在GPU中都得到了改进。首先GPU不需要处理过于复杂的控制指令,因此可以采用更轻量级的指令控制器。节省下的资源用来扩充数学逻辑单元,以提高运算能力。如图4所示。
GPU中采用的线程相比CPU而言量级更轻,以适应轻量级的指令控制器,每个线程的调度只占用极小的***开销。据测算,在GPU中一个线程的切换如果花费1个cycle,那么在CPU中则需要1000个cycle。
更关键的是,在GPU中拥有更多的指令控制器,可以真正实现多线程同时工作。在一块普通性能的GPU卡中,至少让1000个线程同时工作,才能充分发挥GPU的计算能力。而在CPU中,仅创建和调度这1000个线程,都是沉重的负担。
GPU拥有极强的并行计算能力,在复杂运算任务中都可以发挥它的巨大优势,如雷达成像、信号处理等领域。在这些领域里经常有大数据量的计算,如FFT。这些计算本身并不复杂,但是由于数据量巨大,且多为浮点数运算,所以单线程串行执行会使得程序效率低下。而这正是GPU的优势。当把大量数据分隔成若干区间,并分派给数千个线程,可以使软件处理这些数据的速度得到巨大提升。而且浮点运算在GPU上的计算速度也优于CPU,因此它是CPU十分理想的辅助运算设备。
需要说明的是,类似雷达成像或其它数据处理等运算问题,可以采用硬件(FPGA)实现。但逻辑程序的编写不够便捷,很难适应变化的需求,或当出现问题时,难以定位。相比之下,采用软件方式更易于维护,编写程序和调试问题都比FPGA方便得多。但是,常规的软件方式通过CPU进行运算,在速度上难以满足需要。
使用GPU平台来处理这些问题是在经过充分理论调研和大量试验验证之后获得的经验,也是目前比较理想的方案:具备一切软件的优点——开发简单、方便调试和维护,同时具备比较理想的运算速度。
本实施例说明的算法模块就是此方案的一项具体应用。通过GPU实现雷达成像处理过程中的几何校正。虽然仅是一个环节,但几何校正的算法可以被应用到多个数据处理过程中,用来处理多种数据,是比较关键的步骤。随着实际需要,GPU还将用来处理其它计算环节。
优选地,算法模块的实现采用目前GPU开发中比较流行的CUDA架构——Compute Unified Device Architecture,计算统一设备架构。该架构是英伟达(NVIDIA)公司推出的,它减轻了早期GPU计算中存在的一些限制,确保芯片上的每个数学逻辑单元(ALU)都能满足IEEE单精度浮点数学运算的需求,并且可以使用一个裁剪后的指令集来执行通用计算,而不是仅限于执行图形计算。
CUDA的出现使得GPU更适用于解决,让并行计算真正流行开来。
CUDA架构的开发语言为CUDA C,在使用上与C++几乎没有区别。为了使模块代码风格统一,同时也为了保证接口的通用性,所以模块主体也采用C++编写,内核函数(kernal)部分为CUDA C,编译器也区别于常见的C编译器,需要安装nvidia提供的SDK。
下面对使用到的数据结构进行说明。
//几何校正所用的参数
优选地,以上是做几何校正用到的通用参数。
下面对数据格式进行说明。
算法对输入和输出的数据格式不要求一定限制格式,可以按照需求进行临时调整,这也正是软件的优势。当前版本的模块使用的数据基本格式为:
输入格式:双字节有符号整数(short型);
输出格式:单精度浮点数(float型)。
优选地,出于对将来需求丰富的考虑和扩展性的要求,模块的功能将以类的形式提供,也就是在一个类中封装多种雷达成像数据处理算法,每个算法实现都是该类的一个接口。几何校正作为一项独立功能自然也是接口之一。
类的名称声明为CCircImgLibrary,声明代码如下:
模块接口说明:
模块接口功能说明如表1所示。
表1
代码中唯一声明的函数接口即环扫几何校正算法的实现:
接口参数说明如表2所示
表2
GPU程序中,需要并行执行的代码需要使用专用的编译器编译,因此,代码应该在单独文件中实现。这种文件的后缀名区别于常见的C源代码文件,在CUDA架构中,它的后缀名是.cu。
模块工程中包含后缀为cu的源代码文件,然后实现前文中经过并行化处理后的算法过程。算法函数声明如下:
__global__void adj_nr_kernal(
struct PARAM_GEOCORR*pDevParGeocorr, //几何校正需要用到的参数
short*psDevImgdata, //成像临时数据,几何校正前的图像
float*pfDevBmp //几何校正后图像
)
可以看出函数参数和模块接口函数中的参数是一致的,这些参数不需要经过模块转化可以直接使用;在函数名之前有个关键字__global__,这是CUDA架构中源代码特有的,表示此函数是运行在GPU上的,但是接受CPU程序的调用。
需要说明的是,本优选实施例的技术方案可以运行在如下硬件环境中:
模块运行的环境中,需要一块支持GPU程序的显卡。并且由于本模块是在CUDA架构上开发的,因此这块显卡应选择英伟达(NVidia)公司的产品。当前市场上英伟达的显卡所占份额很高,流行度很好,在GPU方面表现出色,因此是现阶段比较理想的。
对于工程领域,如果需要在CPCI机箱中使用GPU软件,可以选择GE公司一些工控板卡,其中也集成了可以用于并行软件开发的GPU。
需要说明的是,本优选实施例可以运行在如下软件环境中:
具备一款可用于开发运行GPU程序的显卡后,需要与之匹配的驱动。以英伟达公司的产品举例,每种型号的显卡都可以在其官网上下载到对应的驱动程序。
除了安装特定的驱动程序之外,还需要安装GPU程序的编译器,通常会包含于开发包一类的安装程序中。在英伟达的网站上就可以下载到当前最新版本的CUDA开发库(Tool kits)。
模块的主体框架采用的是C++语言编写,因此选择VC2010作为开发环境。自从VS2005版本之后,微软就开始了对GPU以及CUDA的支持。在编写GPU程序时,只需要对含有CUDA源码的文件指定正确的编译器即可。
通过上述实施例及优选实施例,GPU算法模块,正是基于GPU强大的并行运算处理能力实现的,在雷达成像领域中经常涉及大数据量并行运算,提高了几何校正的效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种几何校正方法,其特征在于,包括:
图形处理器GPU获取待处理的图像数据;
所述GPU使用预设参数和预设算法对待处理的图像数据进行几何校正。
2.根据权利要求1所述的方法,其特征在于,
所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
3.根据权利要求1所述的方法,其特征在于,还包括:
将所述预设算法封装为类;
通过与所述类对应的接口获取所述图像数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述所述GPU使用预设参数和预设算法对待处理的图像数据进行几何校正之后,还包括:
输出所述几何校正后的图像数据。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述GPU包括:指令控制器、缓存Cache和配合***内存DRAM。
6.一种几何校正装置,应用于图形处理器GPU,其特征在于,包括:
获取模块,用于获取待处理的图像数据;
校正模块,用于使用预设参数和预设算法对待处理的图像数据进行几何校正。
7.根据权利要求6所述的装置,其特征在于,
所述预设参数包括以下至少之一:每帧长度、脉冲个数、距离向采样率、天线方向波束宽度、输出图像方向点数、输出图像方向分辨率。
8.根据权利要求6所述的装置,其特征在于,还包括:
封装模块,用于将所述预设算法封装为类;
与所述类对应的接口,用于获取所述图像数据。
9.根据权利要求6至8中任一项所述的装置,其特征在于,还包括:
输出模块,用于输出所述几何校正后的图像数据。
10.根据权利要求6至8中任一项所述的装置,其特征在于,所述GPU包括:指令控制器、缓存Cache和配合***内存DRAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410003507.2A CN103679665A (zh) | 2014-01-03 | 2014-01-03 | 几何校正方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410003507.2A CN103679665A (zh) | 2014-01-03 | 2014-01-03 | 几何校正方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103679665A true CN103679665A (zh) | 2014-03-26 |
Family
ID=50317120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410003507.2A Pending CN103679665A (zh) | 2014-01-03 | 2014-01-03 | 几何校正方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679665A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431617A (zh) * | 2007-11-09 | 2009-05-13 | 三菱电机株式会社 | 用于合并视频以实时显示的方法和*** |
CN103020620A (zh) * | 2012-12-14 | 2013-04-03 | 武汉大学 | 基于cpu和gpu协同处理的遥感影像正射校正方法 |
-
2014
- 2014-01-03 CN CN201410003507.2A patent/CN103679665A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431617A (zh) * | 2007-11-09 | 2009-05-13 | 三菱电机株式会社 | 用于合并视频以实时显示的方法和*** |
CN103020620A (zh) * | 2012-12-14 | 2013-04-03 | 武汉大学 | 基于cpu和gpu协同处理的遥感影像正射校正方法 |
Non-Patent Citations (6)
Title |
---|
侯毅 等: "基于GPU的数字影像的正射纠正技术的研究", 《现代测绘》 * |
李平湘 等: "《雷达干涉测量原理与应用》", 31 December 2006 * |
杨靖宇: "遥感影像GPU并行化处理技术与实现方法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
毛新华 等: "环视SAR几何失真校正误差分析及补偿技术研究", 《电子与信息学报》 * |
王亮 等: "平坦地表SAR图像几何校正的实现与分析", 《雷达科学与技术》 * |
陈超 等: "基于GPU大规模遥感图像的几何校正", 《指挥信息***与技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3000134C (en) | Method and system for simulating a radar image | |
US11315213B2 (en) | Unified architecture for BVH construction based on hardware pre-sorting and a parallel, reconfigurable clustering array | |
US20220108518A1 (en) | Early termination in bottom-up acceleration data structure refit | |
JP2021176751A (ja) | ルート計画モデルを生成する方法、交通手段の軌跡を決定する方法、ルート計画モデルを生成する装置、交通手段、電子機器、記憶媒体及びコンピュータプログラム | |
US9483872B2 (en) | Graphical representation of roads and routes using hardware tessellation | |
KR20210092231A (ko) | 두 배의 정밀도로 복원하지 않는 수밀 광선 삼각형 교차 | |
CN103176179A (zh) | Sar雷达回波实时模拟方法 | |
CN103761761A (zh) | 基于地球球体模型的海洋标量场体绘制方法 | |
US10706609B1 (en) | Efficient data path for ray triangle intersection | |
US20210125343A1 (en) | Object detection and tracking for autonomous driving utilizing shadows and reflections | |
CN105699951A (zh) | 基于dem数据叠加的航海雷达回波模拟方法 | |
CN103714213B (zh) | 一种复杂地理信息的并行绘制方法 | |
US10839595B2 (en) | Apparatus and method for optimizing a hierarchical depth buffer | |
CN112182042A (zh) | 基于fpga的点云特征匹配方法、***和路径规划*** | |
CN103679665A (zh) | 几何校正方法及装置 | |
CN103809937A (zh) | 一种基于gpu的通视并行处理方法 | |
CN103617594A (zh) | 面向噪声等值面绘制的多gpu渲染并行处理装置及其方法 | |
Fickenscher et al. | Modeling, programming and performance analysis of automotive environment map representations on embedded GPUs | |
Wang et al. | Using multiple GPUs to accelerate MTF compensation and georectification of high-resolution optical satellite images | |
CN115588085A (zh) | 轴线重建方法、设备及存储介质 | |
Chen et al. | A GPU mapping system for real-time robot motion planning | |
Gupta et al. | A GPU based image matching approach for DEM generation using stereo imagery | |
Fort et al. | Computing popular places using graphics processors | |
Gutierrez et al. | Performance and Accuracy Assessment of Line Marching Algorithm Computations Utilizing GPUs Within a Predictive GNSS Quality Service | |
US20230206541A1 (en) | Common circuitry for triangle intersection and instance transformation for ray tracing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |