基于GPU的高分辨率宽测绘带机载SAR实时成像处理系统
技术领域
本发明涉及一种基于GPU的高分辨率宽测绘带机载SAR实时成像处理系统,涉及SAR信号处理技术领域。
背景技术
GPU是近年来新兴的一种处理核心技术(参见《GPU高性能运算之CUDA》,中国水利水电出版社,第一版,张舒,褚艳利,2010),基于GPU的成像处理设备较基于CPU的设备具有更高的处理效率和更小的体积,便于运输和部署。在GPU设备中,以NVIDIA公司的设备最为成熟,目前Tesla型号的GPU处理器是专门为高性能计算设计的,可以采用CUDA进行程序设计。但该型号GPU处理器仅有商业版本的,无法满足机上设备的环境指标要求。
SAR(Synthetic Aperture Radar,合成孔径雷达)是目前广泛应用的机载传感器之一,不同于光学图像,SAR数据处理需要较为复杂的成像处理运算过程,无法满足实时处理的需求,目前的SAR处理方式主要为飞行过后将存储的数据回放到基于CPU的地面处理系统,再进行事后成像处理(参见合成孔径雷达成像——算法与实现,Ian G.Cumming,Frank H.Wong,洪文、胡东辉等译,电子工业出版社,2007)。在SAR成像处理广泛运用的三种算法中,Omega-K算法相对于RD算法和CS算法,更加适用于机载SAR环境(参见R.Bamler.AComparison of Rage-Doppler and Wavenumber Domain SAR FocusingAlgorithms.IEEE Trans.on Geoscience and RemoteSensing,30(4),pp.706-713,July1992.)。
对于具备0.3米高分辨率,65536距离向点数的宽测绘带的SAR成像处理设备目前仅有地面事后成像处理设备,还没有机上实时成像处理设备的先例,无法满足在减灾、探测过程中的数据实时性要求,综合考虑机上高分辨率宽测绘带实时处理的应用情况,地面事后成像处理设备存在如下缺点:
1)目前的基于CPU或基于GPU的Omega-K成像处理算法无法满足实时处理要求:(a)针对于传统的基于CPU的成像处理,速度无法满足实时处理要求;(b)在SAR成像处理过程中,数据以脉冲的形式存储的,成像时需要将特定数量的脉冲组成一景数据进行处理,为了避免因数据分景造成的边缘图像质量下降,实际分景过程中各景数据交界处需要有一定的重叠区域,该重叠区域大小与每景数据大小无关,只受到SAR脉冲特性的限制。而由于GPU显存容量限制了一景数据量,目前重叠区域在每景数据所占的比例较大,降低GPU成像处理效率;
在本发明针对的宽测绘带SAR成像处理环境下,会因为各景数据重叠区域过大(本应用情况下约为40%)而过多的进行了无效的数据处理,极大的限制成像处理效率,使得其无法满足实时成像处理的要求。
2)事后成像处理设备所处理的原始数据、POS数据等均为经过回放后的数据文件,当需要对某块数据进行处理时,可以直接读取该数据文件的相关位置获取数据处理,并可以根据实际数据处理速度控制读取数据的速度。而实时环境下数据是被动接收的方式,数据流入速度是固定的。另外事后POS数据为根据全程POS实时数据进行精细处理后的结果数据,精度较实时数据会提高一至两个数量级。因此实时处理相对于事后处理,需要对实时POS数据进行额外的运算。
总之,现有地面事后成像处理设备的成像处理流程、成像处理算法均无法满足机上环境的高分辨率宽测绘带实时成像处理要求。因此需要一种基于GPU的高分辨率宽测绘带机载SAR实时成像处理设备以满足数据使用需求。
发明内容
本发明提供了一种基于GPU的高分辨率宽测绘带机载SAR实时成像处理系统,通过优化的Omega-K成像处理算法,提高了数据处理效率,可以支持于机上0.3m分辨率,64K距离向采样点,最高600MBps码率的实时成像处理。
本发明的目的是通过下述技术方案实现的:该方法将主服务器和从服务器设置在飞机上;主服务器集成了2块CPU、2块NVIDIA Tesla系列GPU、96GB DDR3内存和1块数据接收卡;从服务器集成了2块CPU、2块NVIDIA Tesla系列GPU、96GB DDR3内存;
该方法的具体步骤为:
步骤一,主服务器实时的获取雷达原始数据、定位系统POS/惯导系统IMU数据以及授时数据,并进行缓存;其中在获取雷达原始数据时进行降采样处理,在获取定位系统POS/惯导系统IMU数据以及授时数据时进行插值处理;
步骤二,主服务器对雷达原始数据依据分景信息进行截取;同时将POS/IMU数据和授时数据融合为运动补偿数据,并依据雷达原始数据的分景信息进行截取,将截取后的原始数据和运动补偿数据存放在内存盘上;
步骤三,主服务器将内存上的原始数据和运动补偿数据提取出来,原始数据和运动补偿数据整体作为要分发的数据,交替分配给到主服务器和从服务器;
步骤四,主服务器和从服务器将接收到的分发数据分别进行实时成像处理,其中对于65536距离向点数0.3m分辨率X波段图像利用优化的Omega-k算法流程进行处理,每台服务器上的成像处理流程相同,且每台服务器在接收到分发数据后则开始工作;
利用优化的Omega-k算法处理流程为:
1)服务器将接收到的一景数据利用CPU进行距离压缩处理,处理结果存储在内存中,然后CPU立即开始下一景数据的距离压缩处理工作;
2)在内存中将距离压缩处理后的景数据在距离向进行拆分,拆分为距离向为32896的两个数据块,并将其导入两块GPU的显存中,每块GPU负责一个数据块的处理;
3)两个GPU同时对各自GPU显存中的数据继续执行Omega-k的后续处理算法,并进行运动补偿处理和干扰抑制处理得到SAR子块图像;
4)将步骤3)两块GPU得到的SAR子块图像输出到其所在服务器的内存中,由CPU进行两块SAR子图像的距离向拼接,完成一景图像的处理并将一景图像进行输出。
本发明的有益效果:
1)其一,采用多台服务同时进行成像处理;其二,采用CPU进行距离压缩,GPU进行后续处理,不仅方面降低了距离向数据拆分所需的重叠数据,还将计算量分摊到了CPU与GPU两个核心运算设备上,在进行连续成像处理时,相当于CPU和GPU并行处理;其三,在进行连续成像处理时,由每台服务器的两个GPU并行处理距离向拆分后的数据块;这三方面的处理改进,一方面降低了单块GPU显存容量较低的影响,提高了处理时每景最大支持的数据量,实现了多GPU在一景数据成像过程中的并行化处理,提高了数据处理效率;一方面,提高了处理流程的并行化程度,充分利用多服务器、多CPU和多GPU的资源,提高了数据处理速度。
2)在获取定位系统POS/惯导系统IMU数据以及授时数据时进行插值处理,提高了实时接收POS数据的精度,进而可以降低后续成像处理过程中运动补偿相关处理流程的运算量。
附图说明
图1为改进的Omega-K成像算法流程图;
具体实施方式
为了更好地理解本发明的技术方案,下面结合附图及具体实施例对本发明做进一步详细描述。
本发明提供一种基于GPU的高分辨率宽测绘带机载SAR实时成像处理方法,为机载最高0.3m分辨率,距离向采样率65536的X波段SAR的机上实时成像处理提供一套完整的解决方案。该方法针对的SAR指标具体为:支持分辨率0.3米;距离向点数65536;图像量化位数16比特的X波段高分辨率SAR的实时成像以及L、C、X、P四个波段SAR的降分辨率实时成像;最大快视图像处理延迟40秒。
该方法的硬件设备包括两台成像处理服务器:主服务器和从服务器,其中主服务器作为IO节点与成像处理节点复用,从服务器作为单独的成像处理节点使用;主服务器集成了2块CPU、2块NVIDIA Tesla系列GPU、96GB DDR3内存、3块固态硬盘、1块InfiniBand网卡和1块专用数据接收卡。从服务器集成了2块CPU、2块NVIDIA Tesla系列GPU、96GB DDR3内存、3块固态硬盘和1块InfiniBand网卡。本发明可以依据数据处理量的大小,采取单台从服务器或多台从服务器进行处理。
采用内存盘技术作为原始数据的缓存方案,支持支持当前系统的600MBps(MByte per second)的流数据处理。
成像服务器内部各板卡及配件均采用的商业配件,在此基础上进行了加固处理,使其可以适应机上的温度、振动、电磁兼容要求即可以满足-20℃~50℃下正常工作;-55℃~70℃下正常存储。
该方法的具体步骤为:
步骤一,主服务器实时的获取雷达原始数据、定位系统POS/惯导系统IMU数据以及授时数据,并进行缓存;其中在获取雷达原始数据进行降采样处理,在获取定位系统POS/惯导系统IMU数据以及授时数据时进行插值处理;主服务器作为IO节点实时的获取所述数据;
步骤二,主服务器对雷达原始数据依据分景信息进行截取;同时将POS/IMU数据和授时数据融合为运动补偿数据,并依据雷达原始数据的分景信息进行截取,本步骤主服务器通过实时成像处理软件进行;将截取后的原始数据、运动补偿数据存放在内存上。
该步骤中在依据分景信息进行截取时,每景的数据量比常规的事后成像处理设备每景的数据量大,比如同样处理20GB的数据,常规事后成像处理设备受限于单块GPU显存容量限制,需要分为5景,每景5GB大小,其中重叠区域为2GB,5景总重叠区域4个,共8GB。而本发明进行数据处理时,先利用CPU进行距离压缩,然后将数据拆分至两个GPU进行处理。每景数据限制相当于两块GPU的总显存容量,因此每景数据可以处理10GB大小,其中重叠区仅与雷达参数有关,仍为2GB。应用本发明时20GB数据仅需要分为2景,每景10GB大小,剩余的2GB数据为边缘数据。
步骤三,主服务器将内存上的原始数据和运动补偿数据提取出来,原始数据和运动补偿数据整体作为要分发的数据,交替分配给到主服务器和从服务器;
步骤四,主服务器和从服务器将接收到的分发数据分别进行实时成像处理,其中对于65536距离向点数0.3m分辨率X波段图像利用优化的Omega-k算法流程进行处理,每台服务器上的成像处理流程相同,采用优化的Omega-k处理算法,将距离向压缩、方位向压缩以及运动补偿拆分到CPU和GPU中分别处理;对于其他图像将每个景成像任务交由单独的GPU利用常规成像进行处理。
如图1所示,利用优化的Omega-k算法处理流程为:
1)服务器将接收到的一景数据利用CPU进行距离压缩处理,处理结果存储在内存中,然后CPU立即开始下一景数据的距离压缩处理工作;
2)在内存中将距离压缩处理后的景数据在距离向进行拆分,拆分为距离向为32896的两个数据块,并将其导入两块GPU的显存中,每块GPU负责一个数据块的处理;
步骤1)和步骤2)利用CPU与GPU分步处理以及GPU对每块数据的并行处理提高了数据处理效率。本步骤中利用两块GPU对每块数据并行处理提高了数据处理效率;
3)两个GPU同时对各自GPU显存中的数据继续执行Omega-k的后续处理算法,并进行运动补偿处理和干扰抑制处理得到SAR子块图像;
4)将步骤3)两块GPU得到的SAR子块图像输出到其所在服务器的内存中,由CPU进行两块SAR子图像的距离向拼接,完成一景图像的处理并将一景图像进行输出。
本步骤一景图像可以依据要求通过以太网、IB网发送到外部系统中或者通过VGA接口进行输出显示结果。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。