一种基于CPU-GPU的雷达数据处理方法及系统与流程

未命名 07-14 阅读:128 评论:0

一种基于cpu-gpu的雷达数据处理方法及系统
技术领域
1.本发明属于雷达数据处理领域,更具体地,涉及一种基于cpu-gpu的雷达数据处理方法及系统。


背景技术:

2.目前,在现有的大多数雷达信息处理显示系统中,受到雷达信息数据量大,处理实时性要求高,信息处理显示复杂等因数限制,大多数采用硬件处理和显示。这种硬件处理方式速度快,效率高,但是fpga和专用图形图像显示处理芯片电子器件价格高,开发随着计算机多核处理器、高速存储器、高性能显卡的技术飞速发展,pc机的处理能力和运行效率得到成倍提高。现有的雷达处理显示技术一般是单线程cpu或者直接用cpu渲染显示,很多cpu多线程与gpu多粒度并行协同优化的方法没有运用其中。所以,一般的软件化雷达综合显示技术处理大数据多目标雷达数据时现有的软件化雷达显示局部放大技术一般都是点和背景都放大,没有根据目标点的坐标值以及背景等比例放大,放大后的图像会失真,画质不清晰。
3.普通雷达信息处理显示系统可以处理一般雷达工作时产生的数据,但是难以应对多种相控阵雷达产生的数据。相控阵雷达产生的实时数据量巨大很难处理,处理后的数据比较难存储,其中有很多远量程的小目标很难显示。图像显示的量程变大时,需要对原数据进行等比例缩小,会产生目标丢失的现象,需要采用合适的比例调整策略,使得目标丢失最少。当操作员对显示界面上某个局域感兴趣时,选择这一区域用放大窗口显示,普通截图放大显示图像会失真。


技术实现要素:

4.针对现有技术的缺陷,本发明的目的在于提供一种基于cpu-gpu的雷达数据处理方法及系统,旨在解决现有的雷达数据大、处理难、大量程远目标显示难的问题。
5.为实现上述目的,一方面,本发明提供了一种基于cpu-gpu的雷达数据处理方法,包括以下步骤:
6.s100:将雷达视频显示界面按照中心点量化为2n个方位,雷达一个天线周期扫描2n个方位上所有的雷达数据;其中,n为整数,且n≥16;
7.s200:创建2*m个cpu处理线程,采用每个线程接收2
n-1
/m个方位的雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;其中,结构化数据包括目标点、方位和颜色;其中,m为正整数;
8.s300:创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;
9.s400:将内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕。
10.进一步优选地,客户端屏幕中每帧图像包含新传入的图像数据和已经显示的图像数据;将已显示的图像数据利用glcopypixel函数实现屏幕缓冲区到屏幕缓冲区的拷贝。
11.进一步优选地,基于cpu-gpu的雷达数据处理方法,还包括以下步骤:
12.选定客户端屏幕的局部区域,通过背景提取及邻域插值方法增加回波点达到局部放大的目标;
13.基于canny边缘检测算法对鼠标框定的包含局部放大目标的小窗口海图背景进行提取轮廓,并根据小窗口的大小缩放背景轮廓,获取背景图;
14.从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;
15.通过邻域插值法对目标回波点操作,将鼠标框定范围的目标回波点放大,与背景图进行融合叠加,获取放大的小窗口视频。
16.进一步优选地,创建输出流封装格式,复制音视频信息,获取放大的小窗口视频信息,通过组播协议将放大的小窗口视频传输至其他台位,以实现视频的传送与监控。
17.另一方面,本发明提供了一种基于cpu-gpu的雷达数据处理系统,包括:
18.显示界面量化方位模块,用于将雷达视频显示界面按照中心点量化为2n个方位;其中,n为整数,且n≥16;
19.雷达数据获取模块,用于采用雷达一个天线周期扫描2n个方位上所有的雷达数据;
20.线程创建模块,用于创建2*m个cpu处理线程,采用每个线程接收2
n-1
/m个方位的雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;其中,结构化数据包括目标点、方位和颜色;其中,m为正整数;
21.gpu调度创建模块,用于创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;
22.图像创建模块,用于将内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕。
23.进一步优选地,客户端屏幕中每帧图像包含新传入的图像数据和已经显示的图像数据;将已显示的图像数据利用glcopypixel函数实现屏幕缓冲区到屏幕缓冲区的拷贝。
24.进一步优选地,雷达数据处理系统还包括:
25.局部放大目标模块,用于选定客户端屏幕的局部区域,通过背景提取及邻域插值方法增加回波点达到局部放大的目标;
26.轮廓提取模块,用于基于canny边缘检测算法对鼠标框定的包含局部放大目标的小窗口海图背景进行提取轮廓;
27.背景轮廓缩放模块,用于根据小窗口的大小缩放背景轮廓,获取背景图;
28.坐标转换模块,用于从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;
29.目标回波点放大模块,用于通过邻域插值法对目标回波点操作,将鼠标框定范围的目标回波点放大;
30.融合模块,用于将放大的目标回波点与背景图进行融合叠加,获取放大的小窗口
视频。
31.进一步优选地,雷达数据处理系统还包括小窗口视频传输模块,用于创建输出流封装格式,复制音视频信息,获取放大的小窗口视频信息,通过组播协议将放大的小窗口视频传输至其他台位,以实现视频的传送与监控。
32.总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
33.本发明提供了一种基于cpu-gpu的雷达数据处理方法及系统,其中,将雷达视频显示界面按照中心点量化为2n个方位,获取雷达数据;创建2*m个cpu处理线程,采用每个线程接收雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕;与现有的单线程全方位无法处理大量雷达数据以及弱小目标显示不清晰相比,本发明通过多线程处理多个区域方位数据协同gpu对目标进行显示,达到很好的数据处理的效率以及很好的显示效果。
34.本发明提供了一种基于cpu-gpu的雷达数据处理方法及系统,其中,在雷达视频显示界面用鼠标选择一个区域后,设置放大小窗口的大小,通过图像轮廓提取算法提取鼠标选定区域的背景图像的轮廓,从存放数据的内存中获取这个区域的目标点的坐标以及亮度值,通过坐标转换以及最近领域插值法放大目标点;小窗口的视频流通过udp协议以组播的形式发送出去,便于其他台位对局部放大的小窗口视频进行播放;通过获取海图背景的轮廓,加上真实的目标点通过坐标的转换以及领域插值法生成的大的目标点相互叠加,使得小窗口视频中的图形图像不会出现失真的现象。
附图说明
35.图1是本发明实施例提供的雷达显示终端工作原理图;
36.图2是本发明实施例提供的多线程cpu-gpu雷达数据处理显示;
37.图3是本发明实施例提供的局部放大原理图;
38.图4是本发明实施例提供的ffmpeg推流原理图;
39.图5是本发明实施例提供的小窗口远端显示示意图。
具体实施方式
40.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
41.一方面,本发明提供了一种基于cpu-gpu的雷达数据处理方法,如图1和图2所示,除了可以多线程调度cpu-gpu处理大量雷达数据外,还可以在背景轮廓不变情况下,对特定区域局部目标点在小窗口放大显示并行远程监控。
42.其中,多线程cpu-gpu雷达数据处理方法的整体流程为:把显示界面按照中心点分为4096个方位,创建两个数据接收处理线程,每个线程负责2048个方位的数据;通过雷达扫
描转换后的数据更新2048个方位上的颜色值,每个线程更新数据时加锁,主界面刷新进程判断两把锁是否处于加锁状态,不处于加锁状态就刷新界面。
43.对特定区域局部目标点在小窗口放大显示并行远程监控方法的整体流程为:观察员在雷达视频界面用鼠标选择一个区域后,设置放大窗口的大小,通过图像轮廓提取算法提取鼠标选定区域的背景图像的轮廓,从存放数据的内存中获取这个区域的目标点的坐标及亮度值,通过坐标转换以及最近邻域插值法放大目标点;小窗口的视频流通过udp协议以组播的形式发送出去,便于其他台位对局部放大的小窗口视频进行播放;通过获取海图背景的轮廓,加上真实的目标点通过坐标的转换以及邻域插值法生成的大的目标点相互叠加,使得小窗口视频中的图形图像不会出现失真的现象。
44.如图1和图2所示,具体包括以下步骤:
45.s100:把雷达视频显示界面按照中心点量化为4096个方位,雷达一个天线周期扫描4096个方位上所有的雷达数据;
46.s200:创建两个cpu处理线程用于雷达数据的接收和处理,每个cpu线程负责处理2048个方位的雷达数据;更为具体的如下:
47.每个线程从网络上接收雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的数据存储到循环缓冲队列中,每次更新循环缓冲队列需要对队列加锁,更新后进行队列解锁;结构化数据包括目标点、方位和颜色;
48.s300:创建一个gpu调度进程,首先判断两个循环缓冲队列是否处于解锁状态,有一个不是则设为等待状态,如果是解锁状态,把循环缓冲队列的数据调入内存,然后调用opengl接口创建帧缓冲区,创建着色器,渲染缓冲区数据到客户端屏幕,最后清理内存,等待下一次调度;
49.在图像显示时,每帧图像既含有新传入的图像数据又包含已经显示的图像数据,对于已显示的屏幕上的旧图像部分可以利用glcopypixel函数直接实现屏幕缓冲区到屏幕缓冲区的拷贝,这种拷贝操作不需占用内存并且速度很快,也减少了从内存到显存的数据传输量,减轻显示设备的数据处理量,提高显示速度;
50.s400:选定局部区域,通过背景提取以及邻域插值等方法增加回波点达到局部放大的目标;
51.s500:基于canny边缘检测算法对鼠标选定的窗口的海图背景进行提取轮廓,根据小窗口的大小缩放背景轮廓,并对背景轮廓上的杂点去噪,达到背景图像清晰的目的;
52.s600:如图3所示,从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;
53.s700:通过邻域插值法对目标回波点操作,达到鼠标框定范围的回波点目标变大,与s500获取的背景图进行融合叠加;
54.s800:通过组播协议把放大的小窗口视频传输到其他台位,达到视频传送及监控的目的;
55.具体为:如图4所示,创建输出流封装格式,复制音视频信息,获取小窗口的视频信息,与当前时间同步,最后通过组播发送到局域网;
56.小窗口本身数据量较小不需要压缩传播,通过s900方法把小窗口视频发送到局域网,在一个网段的其他台位只要接收这个组播的视频信息即可直接播放,达到视频传送的
目的,如图5所示。
57.另一方面,本发明提供了一种基于cpu-gpu的雷达数据处理系统,包括:
58.显示界面量化方位模块,用于将雷达视频显示界面按照中心点量化为2n个方位;其中,n为整数,且n≥16;
59.雷达数据获取模块,用于采用雷达一个天线周期扫描2n个方位上所有的雷达数据;
60.线程创建模块,用于创建2*m个cpu处理线程,采用每个线程接收2
n-1
/m个方位的雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;其中,结构化数据包括目标点、方位和颜色;其中,m为正整数;
61.gpu调度创建模块,用于创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;
62.图像创建模块,用于将内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕。
63.进一步优选地,客户端屏幕中每帧图像包含新传入的图像数据和已经显示的图像数据;已显示的图像数据利用glcopypixel函数实现屏幕缓冲区到屏幕缓冲区的拷贝。
64.进一步优选地,雷达数据处理系统还包括:
65.局部放大目标模块,用于选定客户端屏幕的局部区域,通过背景提取及邻域插值方法增加回波点达到局部放大的目标;
66.轮廓提取模块,用于基于canny边缘检测算法对鼠标框定的包含局部放大目标的小窗口海图背景进行提取轮廓;
67.背景轮廓缩放模块,用于根据小窗口的大小缩放背景轮廓,获取背景图;
68.坐标转换模块,用于从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;
69.目标回波点放大模块,用于通过邻域插值法对目标回波点操作,将鼠标框定范围的目标回波点放大;
70.融合模块,用于将放大的目标回波点与背景图进行融合叠加,获取放大的小窗口视频。
71.进一步优选地,雷达数据处理系统还包括小窗口视频传输模块,用于创建输出流封装格式,复制音视频信息,获取放大的小窗口视频信息,通过组播协议将放大的小窗口视频传输至其他台位,以实现视频的传送与监控。
72.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于cpu-gpu的雷达数据处理方法,其特征在于,包括以下步骤:s100:将雷达视频显示界面按照中心点量化为2
n
个方位,雷达一个天线周期扫描2
n
个方位上所有的雷达数据;其中,n为整数,且n≥16;s200:创建2*m个cpu处理线程,采用每个线程接收2
n-1
/m个方位的雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;其中,结构化数据包括目标点、方位和颜色;s300:创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;其中,m为正整数;s400:将内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕。2.根据权利要求1所述的雷达数据处理方法,其特征在于,客户端屏幕中每帧图像包含新传入的图像数据和已经显示的图像数据;将已显示的图像数据利用glcopypixel函数实现屏幕缓冲区到屏幕缓冲区的拷贝。3.根据权利要求1或2所述的雷达数据处理方法,其特征在于,还包括以下步骤:选定客户端屏幕的局部区域,通过背景提取及邻域插值方法增加回波点达到局部放大的目标;基于canny边缘检测算法对鼠标框定的包含局部放大目标的小窗口海图背景进行提取轮廓,并根据小窗口的大小缩放背景轮廓,获取背景图;从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;通过邻域插值法对目标回波点操作,将鼠标框定范围的目标回波点放大,与背景图进行融合叠加,获取放大的小窗口视频。4.根据权利要求3所述的雷达数据处理方法,其特征在于,创建输出流封装格式,复制音视频信息,获取放大的小窗口视频信息,通过组播协议将放大的小窗口视频传输至其他台位,以实现视频的传送与监控。5.一种基于cpu-gpu的雷达数据处理系统,其特征在于,包括:显示界面量化方位模块,用于将雷达视频显示界面按照中心点量化为2
n
个方位;其中,n为整数,且n≥16;雷达数据获取模块,用于采用雷达一个天线周期扫描2
n
个方位上所有的雷达数据;线程创建模块,用于创建2*m个cpu处理线程,采用每个线程接收2
n-1
/m个方位的雷达数据后,通过数据解压算法生成真实的结构化数据,将真实的结构化数据存储到循环缓冲队列中,当循环缓冲队列存储结构化数据时加锁,存储完毕后解锁;其中,结构化数据包括目标点、方位和颜色;其中,m为正整数;gpu调度创建模块,用于创建若干个gpu调度进程,判断2*m个循环缓冲队列是否处于解锁状态,若均解锁,则将循环缓冲队列中的结构化数据调入内存;图像创建模块,用于将内存中的结构化数据依次传输至创建的帧缓冲区和着色区,完成渲染的结构化数据传输至客户端屏幕。6.根据权利要求5所述的雷达数据处理系统,其特征在于,客户端屏幕中每帧图像包含
新传入的图像数据和已经显示的图像数据;将已显示的图像数据利用glcopypixel函数实现屏幕缓冲区到屏幕缓冲区的拷贝。7.根据权利要求5或6所述的雷达数据处理系统,其特征在于,还包括:局部放大目标模块,用于选定客户端屏幕的局部区域,通过背景提取及邻域插值方法增加回波点达到局部放大的目标;轮廓提取模块,用于基于canny边缘检测算法对鼠标框定的包含局部放大目标的小窗口海图背景进行提取轮廓;背景轮廓缩放模块,用于根据小窗口的大小缩放背景轮廓,获取背景图;坐标转换模块,用于从内存中获取鼠标框定范围内的目标回波点,根据小窗口放大的倍数对目标回波点进行坐标转换;目标回波点放大模块,用于通过邻域插值法对目标回波点操作,将鼠标框定范围的目标回波点放大;融合模块,用于将放大的目标回波点与背景图进行融合叠加,获取放大的小窗口视频。8.根据权利要求7所述的雷达数据处理系统,其特征在于,还包括小窗口视频传输模块,用于创建输出流封装格式,复制音视频信息,获取放大的小窗口视频信息,通过组播协议将放大的小窗口视频传输至其他台位,以实现视频的传送与监控。

技术总结
本发明提供了一种基于CPU-GPU的雷达数据处理方法及系统,属于雷达数据处理领域,方法包括:将雷达视频显示界面按照中心点量化为2


技术研发人员:黄兆年 刘建云 李恒
受保护的技术使用者:中国船舶集团有限公司第七〇九研究所
技术研发日:2023.02.21
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐