CN111275608A - 一种基于fpga的遥感影像正射纠正并行系统 - Google Patents
一种基于fpga的遥感影像正射纠正并行系统 Download PDFInfo
- Publication number
- CN111275608A CN111275608A CN202010066954.8A CN202010066954A CN111275608A CN 111275608 A CN111275608 A CN 111275608A CN 202010066954 A CN202010066954 A CN 202010066954A CN 111275608 A CN111275608 A CN 111275608A
- Authority
- CN
- China
- Prior art keywords
- module
- image
- processing module
- digital elevation
- coordinate
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于FPGA的遥感影像正射纠正并行系统,所述数据加载模块将DEM数字高程模型分块及分块对应的原始影像同步发送至所述传输模块/存储芯片,所述转换模块将数据流转换成独立影像帧和分块的数字高程模型,所述写入模块将当前数字高程模型分块的宽度、高度及ID号发送至所述地面坐标生成模块,所述地面坐标生成模块生成地面空间坐标X、Y,所述高程插值模块获取数字高程值Z,所述3D‑2D坐标映射模块获取二维投影坐标,所述影像插值模块获取正射影像,设定输入原始遥感影像与输出正射影像的分辨率大小为1920*1080,FPGA处理器工作的时钟频率是150MHz,FPGA内部的片上存储资源BRAM为2MB时,平均在10ms时间内可完成一张影像正射纠正处理,具有极高的计算效率。
Description
技术领域
本发明涉及测绘、地理空间信息领域,尤其涉及一种基于FPGA的遥感影像正射纠正并行系统。
背景技术
改革开放以来,我国经济与城镇化发展迅速,生态保护与建设工程规模空前,迫切需要高质量、现势性强的基础地理空间数据以实现科学建设、管理与可持续发展。作为重要的基础地理空间数据之一,数字正射影像图DOM兼具地图几何精度和信息丰富的影像特征,是研究和解决人口、资源、环境、灾害等国家可持续发展规律、重大社会问题的重要信息源。DOM通常利用数字高程模型对航空/航天遥感影像进行逐象元投影差改正(数字微分纠正)、影像镶嵌以及图幅剪裁而生成,仅以全国30m分辨率的土地覆被DOM数据产品而言,其生产周期需6个月,难以满足资源勘查、土地管理、工程建设、城市规划等众多行业应用对DOM分辨率、现势性日益增长的要求;另一方面,新型高分卫星遥感平台不断升空与运营、各种无人机以及影像传感器技术的快速发展、成熟,使得航空/航天影像数据量几何级增长,传统的DOM计算机处理模式难以满足海量遥感影像数据及时处理要求。由于多核处理器发展速度受半导体工艺限制,目前提升DOM生产效率的有效策略是搭建异构并行计算系统,主要采用GPU和FPGA两种异构处理器加速方案。采用SIMD(单指令流多数据流)方式的GPU虽大幅提升数据并行处理能力,但其流水线深度受限导致输入输出延迟增加,存在延迟高(毫秒级)的“硬伤”;相比于GPU,FPGA通过软件编程定义器件硬件功能,可同时实现数据并行、流水线并行且延时极低(微秒级),具有更高计算效率、更低功耗及成本,但受制于FPGA片上存储空间、逻辑阵列数量限制以异于冯诺依曼结构顺序操作、功能开发上偏重加、乘法运算的特点,实现FPGA处理航空/航天遥感影像的任务困难,极具挑战性。
发明内容
本发明的目的在于提供一种基于FPGA的遥感影像正射纠正并行系统,旨在解决现有技术中的处理效率低,不能满足航空航天遥感影像在线处理需求的技术问题。
为实现上述目的,本发明采用的一种基于FPGA的遥感影像正射纠正并行系统,包括第一处理模组、第二处理模组和传输模组,所述第二处理模组通过所述传输模组与所述第一处理模组连接,所述第一处理模组,用于系统的总体调度、数字高程模型的分块及发送、原始遥感影像数据及其空间参数的发送、FPGA中断信号的接收和正射影像块的接收及存储;所述第二处理模组,用于输入遥感影像的数字微分纠正并进行加速以获得正射影像;所述传输模组,用于启动第一处理模组与第二处理模组之间的总线通信;所述第一处理模组包括数据加载模块、VDMA启动及VTC影像时序控制模块和VDMA读写中断判断及数据传输模块,所述数据加载模块通过所述传输模组与所述第二处理模组连接,所述VDMA启动及VTC影像时序控制模块通过所述传输模组与所述第二处理模组连接,所述VDMA读写中断判断及数据传输模块通过所述传输模组与所述第二处理模组连接;所述数据加载模块,用于将存储在硬盘的原始影像集加载至系统运行内存、将存储于硬盘的整个数字高程模型加载至系统内存并进行分块;所述VDMA启动及VTC影像时序控制模块,用于启动所述第二处理模组内部的搬运模块的数据读写通道和读写中断通道,并初始化VDMA传输每帧影像的分辨率大小及颜色空间,控制所述第二处理模组启动并初始化像素时钟频率、影像帧率及分辨率;所述VDMA读写中断判断及数据传输模块,用于判断第二处理模组是否发送读写中断信号,所述第一处理模组接收到中断信号的同时通过内设的总线通讯协议与所述第二处理模组进行原始影像、分块数字高程模型和正射影像块数据的传输;所述第二处理模组包括搬运模块、转换模块、写入模块、地面坐标生成模块、高程插值模块和3D-2D坐标映射模块,所述搬运模块通过所述传输模组与所述VDMA读写中断判断及数据传输模块连接,所述转换模块与所述写入模块连接,所述地面坐标生成模块与所述写入模块连接,所述高程插值模块与所述地面坐标生成模块连接,所述3D-2D坐标映射模块与所述高程插值模块连接:所述搬运模块,用于将缓存于传输模组的DDR SDRAM芯片的影像和分块的数字高程模型数据流搬运至所述第二处理模组的内部,产生读中断信号传输至所述VDMA读写中断判断及数据传输模块进行数据流的更新,以及产生写中断信号传输至所述VDMA读写中断判断及数据传输模块接收正射影像块并映射至系统硬盘进行存储;所述转换模块,用于生成特定影像时序以将数据流转换成独立影像帧和分块的数字高程模型;所述写入模块,用于所述第二处理模组接收所述第一处理模组通过通讯总线初始化转换模块生成特定影像时序所需要的参数,并接收所述第一处理模组发送的每个分块数字高程模型对应的原始影像空间参数;所述地面坐标生成模块,用于接收所述写入模块的分块数字高程模型的宽度、高度及ID号参数,并根据正射影像像素空间分辨率参数,在线计算输出每个正射影像像素对应的地面坐标;所述高程插值模块,用于接收每一个地面坐标并在分块数字高程模型上进行双线性插值运算以获取数字高程值Z,进而得到该地面点的三维空间坐标;所述3D-2D坐标映射模块,用于接收写入模块的影像空间参数、地面坐标生成模块与高程插值模块联合输出的地面点三维空间坐标,并按给定空间映射函数实时输出该地面点在遥感影像平面上的二维投影坐标。
其中,所述传输模组包括总线通讯初始化模块、总线通讯模块和总线通讯接口,所述总线通讯初始化模块与所述总线通讯模块连接,所述总线通讯模块,用于实现所述VDMA读写中断判断及数据传输模块与所述搬运模块的总线通信并通过总线通讯接口进行原始影像、数字高程模型分块和正射影像块的数据传输;所述总线通讯初始化模块,用于启动所述总线通讯模块,包括所述第一处理模组对所述传输模组的存储芯片进行数据读写的通道、读写过程中断的判断通道、所述第一处理模组控制所述第二处理模组内部模块的用户通道。
其中,所述传输模组还包括:DDR SDRAM芯片的读写地址生成模块,用于生成第一处理模组将数字高程模型分块、原始影像发送至所述第二处理模组外接DDR的写地址,生成所述第一处理模组接收DDR的正射影像的读地址;包括存储芯片,用于所述第二处理模组外部缓存数字高程模型分块、原始影像及正射影像数据。
其中,所述第一处理模组还包括正射影像硬盘存储模块:所述正射影像硬盘存储模块,用于所述第一处理模组接收每个正射影像块并映射到系统硬盘进行存储。
其中,所述第二处理模组还包括:影像插值模块,用于对所述3D-2D坐标映射模块输出的二维投影坐标在对应原始影像上进行灰度双线性插值采样,作为正射影像上对应地面点的灰度值。
本发明的一种基于FPGA的遥感影像正射纠正并行系统,通过所述数据加载模块加载原始遥感影像集并将每个数字高程模型分块对应的单张影像同步传输至所述传输模组的DDR SDRAM芯片,所述搬运模块从DDR SDRAM芯片搬运数据流至所述转换数据流模块、所述转换数据流模块将数据流转换成独立影像帧和分块数字高程模型,所述写入模块将当前分块数字高程模型的宽度、高度及ID号发送至所述地面坐标生成模块,所述地面坐标生成模块在线计算输出每个正射影像像素C、R对应的地面空间坐标X、Y,所述高程插值模块将地面坐标X、Y在分块数字高程模型上进行双线性插值运算以获取数字高程值Z,得到该地面点的三维空间坐标X、Y、Z,所述3D-2D坐标映射模块通过给定空间映射函数实时输出该地面点在遥感影像平面上的二维投影坐标,所述影像插值模块对每个二维投影坐标进行双线性插值采样,最终得到每个数字高程模型分块对应的正射影像块;所述搬运模块通过读写中断告知所述第一处理模组的所述VDMA读写中断判断及数据传输模块,以进行正射影像读取和硬盘存储。限定输入原始遥感影像与输出正射影像的分辨率大小为1920*1080,FPGA处理器工作的时钟频率是150MHz,FPGA内部的片上存储资源BRAM为2MB时,平均在10ms时间内可完成一张影像正射纠正处理,具有极高的计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的系统结构示意图。
图2是本发明实施例中的FPGA处理板硬件框架示意图。
图3是本发明实施例中的DDR3存储区域划分的示意图。
图4是本发明实施例中的DEM分块过程的示意图。
图5是本发明实施例中的地面坐标生成IP设计的示意图。
图6是本发明实施例中的3D-2D坐标映射IP设计的示意图。
图7是本发明实施例中的影像及数字高程双线性插值的示意图。
图8是本发明实施例中的双线性插值IP设计的示意图。
图9是本发明实施例中的软件控制流程图。
图中:1-第一处理模组、2-第二处理模组、3-传输模组、11-数据加载模块、12-VDMA启动及VTC影像时序控制模块、13-VDMA读写中断判断及数据传输模块、14-正射影像硬盘存储模块、21-搬运模块、22-转换模块、23-写入模块、24-地面坐标生成模块、25-高程插值模块、26-3D-2D坐标映射模块、27-影像插值模块、31-总线通讯接口、32-总线通讯初始化模块、33-DDRSDRAM芯片的读写地址生成模块、34-总线通讯模块、35-存储芯片、36-转换数据流模块、37-转换影像模块、100-基于FPGA的遥感影像正射纠正并行系统。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本实施方式的第一实施例:
本发明提供了一种基于FPGA的遥感影像正射纠正并行系统100,包括第一处理模组1、第二处理模组2和传输模组3,所述第二处理模组2通过所述传输模组3与所述第一处理模组1连接,所述第一处理模组1,用于系统的总体调度、数字高程模型的分块及发送、原始遥感影像数据及其空间参数的发送、FPGA中断信号的接收和正射影像块的接收及存储;所述第二处理模组2,用于输入遥感影像的数字微分纠正并进行加速以获得正射影像;所述传输模组3,用于启动第一处理模组1与第二处理模组2之间的总线通信;所述第一处理模组1包括数据加载模块11、VDMA启动及VTC影像时序控制模块12和VDMA读写中断判断及数据传输模块13,所述数据加载模块11通过所述传输模组3与所述第二处理模组2连接,所述VDMA启动及VTC影像时序控制模块12通过所述传输模组3与所述第二处理模组2连接,所述VDMA读写中断判断及数据传输模块13通过所述传输模组3与所述第二处理模组2连接;所述数据加载模块11,用于将存储在硬盘的原始影像集加载至系统运行内存、将存储于硬盘的整个数字高程模型加载至系统内存并进行分块;所述VDMA启动及VTC影像时序控制模块12,用于启动所述第二处理模组2内部的所述搬运模块21的数据读写通道和读写中断通道,并初始化VDMA传输每帧影像的分辨率大小及颜色空间,控制所述第二处理模组2启动并初始化像素时钟频率、影像帧率及分辨率;所述VDMA读写中断判断及数据传输模块13,用于判断第二处理模组2是否发送读写中断信号,所述第一处理模组1接收到中断信号的同时通过内设的总线通讯协议与所述第二处理模组2进行原始影像、分块数字高程模型和正射影像块数据的传输;所述第二处理模组2包括搬运模块21、转换模块22、写入模块23、地面坐标生成模块24、高程插值模块25和3D-2D坐标映射模块26,所述搬运模块21通过所述传输模组3与所述VDMA读写中断判断及数据传输模块13连接,所述转换模块22与所述写入模块23连接,所述地面坐标生成模块24与所述写入模块23连接,所述高程插值模块25与所述地面坐标生成模块24连接,所述3D-2D坐标映射模块26与所述高程插值模块25连接:搬运模块21,用于将缓存于所述传输模组3的DDR SDRAM存储芯片35的影像和分块数字高程模型数据流搬运至所述第二处理模组2的内部,产生读中断信号传输至所述VDMA读中断判断及数据传输模块13进行数据流的更新,以及产生写中断信号传输至所述VDMA读写中断判断及数据传输模块13以便所述第一处理模组1接收正射影像块并映射至系统硬盘进行存储;转换模块22,用于生成特定影像时序以获取数据流并转换成独立影像帧和分块数字高程模型;写入模块23,用于所述第二处理模组2接收所述第一处理模组1通过通讯总线初始化转换模块22生成特定影像时序所需要的参数,并接收所述第一处理模组1发送的每个分块数字高程模型对应的原始影像空间参数;地面坐标生成模块24,用于接收所述写入模块23的分块数字高程模型的宽度、高度及ID号参数,并根据正射影像像素空间分辨率参数,在线计算输出每个正射影像像素对应的地面坐标;高程插值模块25,用于接收每一个地面坐标并在分块数字高程模型上进行双线性插值运算以获取数字高程值Z,进而得到该地面点的三维空间坐标;3D-2D坐标映射模块26,用于接收写入模块23的影像空间参数、地面坐标生成模块24与高程插值模块25联合输出的地面点三维空间坐标,并按给定空间映射函数实时输出该地面点在遥感影像平面上的二维投影坐标。
进一步地,所述传输模组3包括总线通讯初始化模块32、总线通讯模块34和总线通讯接口31,所述总线通讯初始化模块32与所述总线通讯模块34连接,所述总线通讯模块34,用于实现所述VDMA读写中断判断及数据传输模块13与所述搬运模块21的总线通信并通过总线通讯接口31进行原始影像、数字高程模型分块和正射影像块的数据传输;所述总线通讯初始化模块32,用于启动所述总线通讯模块34,包括所述第一处理模组1对所述传输模组3的存储芯片35进行数据读写的通道、读写过程中断的判断通道、所述第一处理模组1控制所述第二处理模组2内部模块的用户通道。
进一步地,所述传输模组3还包括:DDR SDRAM芯片的读写地址生成模块33,用于生成将数字高程模型分块、原始影像传输至所述第二处理模组外接DDR的读写地址;包括存储芯片35,用于第二处理模组外部缓存数字高程模型分块、原始影像及正射影像数据。
进一步地,所述第一处理模组1还包括:所述正射影像硬盘存储模块14,用于所述第一处理模组1接收每个正射影像块并映射到系统硬盘进行存储。
进一步地,所述第二处理模组2还包括:影像插值模块27,用于对所述3D-2D坐标映射模块26输出的二维投影坐标在对应原始影像上进行灰度双线性插值采样,作为正射影像上对应地面点的灰度值。
在本实施例中,所述搬运模块21具体为VDMA IP,所述转换模块22具体为VTC IP,所述写入模块23具体为BRAM IP,所述地面坐标生成模块24具体为地面坐标生成IP,所述高程插值模块25具体为高程插值IP,所述总线通讯模块31具体为总线通讯IP,所述影像插值模块27具体为影像插值IP,所述3D-2D坐标映射模块26具体为3D-2D坐标映射IP,总线通讯模块34具体为XDMA IP,存储芯片35具体为DDR SDRAM存储芯片、转换数据流模块36具体为AXI-Stream to VIDEO IP、转换影像模块37具体为VIDEO to AXI-Stream IP,所述第一处理模组1具体为第一处理器,所述第二处理模组2具体为FPGA处理板,第一处理器采用PC电脑通用CPU,并通过PCIE接口与所述FPGA处理板进行通信,且根据PCIE卡槽扩展所述FPGA处理板的数量,则可根据PCIE插槽扩展FPGA处理板数量以成倍提高影像正射纠正效率;所述第一处理模组1也可为嵌入式ARM处理器,则可搭建低功耗的星上处理系统对遥感卫星进行实时正射纠正处理;所述FPGA处理板外接DDR SDRAM存储芯片,DDR SDRAM存储芯片用于存储原始影像、DEM分块及其对应的正射影像块;所述总线通讯IP、所述VDMA IP、所述VTC IP和所述BRAM IP可以直接调用FPGA官方IP;所述地面坐标生成IP、所述影像插值IP、所述高程插值IP和所述3D-2D坐标映射IP为自定义IP。
第一处理器用于系统的总体调度、数字高程模型DEM/原始遥感影像数据及其空间参数加载、数据分快与传输、正射影像存储;
所述第二处理器用于输入遥感影像的数字微分纠正并行加速以获得DOM;
第一处理器加载数字高程模型DEM,并对其分块、传输至第二处理器外接的DDRSDRAM存储芯片;第一处理器加载原始遥感影像集并将每个DEM分块对应的单张影像同步传输至第二处理器的DDR SDRAM存储芯片;第二处理器进行遥感影像数字微分纠正并行计算,得到每个DEM分块对应的正射影像块并缓存于外接的DDR SDRAM芯片;第二处理器通过中断告知第一处理器读取正射影像块;第一处理器读取每个正射影像块并连续映射至系统硬盘进行存储。
具体地,于本实施例中,以一个PC电脑的通用CPU(Central Processing Unit,中央处理器)作为第一处理器,以一个FPGA(Field-Programmable Gate Array,现场可编程门阵列)作为第二处理器进行详细说明。
如图1所示,本实施例提供一种基于FPGA的遥感影像正射纠正并行系统100,该系统的结构由PC电脑与FPGA处理板连接构成,PC电脑与FPGA处理板采用PCIE通讯总线接口进行通信,可根据计算能力的需求以及PC电脑主板上的PCIE插槽的数量扩展FPGA处理板的数量,并由PC电脑根据FPGA处理板数量分配不同的内存地址空间以对多块FPGA处理板卡协调控制,成倍的提高影像正射纠正的计算效率及处理速度;PC电脑中的通用CPU负责系统的总体调度,包括数字高程模型DEM的分块及发送、原始影像及其空间参数的发送、FPGA中断信号的接收、正射影像块的接收及存储;FPGA处理板内部完成DEM分块及原始影像的数据搬运、地面坐标点生成、数字高程及原始遥感影像的双线性插值、3D-2D坐标映射的并行加速处。
如图2所示,本实施例中搭建的FPGA处理板硬件主要包括:FPGA芯片、XDMA IP、VDMA IP、VTC IP、BRAM IP、地面坐标生成IP、3D-2D坐标映射IP、原始影像及数字高程双线性插值IP。FPGA可以采用XILINX公司的Kintex-7、ZYNQ等7系列芯片;FPGA可以通过外接多片DDR3 SDRAM存储芯片构成大容量的数据缓冲区,并划分三大块分别作为CPU发送DEM分块、CPU发送原始影像以及CPU读取正射影像块的缓冲区;FPGA与PC端的CPU通过XDMA IP实现PCIE通讯,XDMA IP底层对PCIE标准协议进行了封装,可以直接驱动FPGA处理板上的PCIE硬件接口;VDMA0 IP从DDR3 SDRAM的DEM缓冲区依次的读出每块DEM数字高程模型的数据流,并经过AXI-Stream to VIDEO IP的格式转换,得到每个DEM分块再送至数字高程双线性插值IP;地面坐标生成IP在CPU的控制下,依次生成当前DEM分块对应的地面坐标点(X,Y),并送至数字高程双线性插值IP;数字高程双线性插值IP的内部对每个DEM分块的每个地面坐标进行数字高程采样,进而得到每个地平面坐标点的三维空间坐标(X,Y,Z)并送至3D-2D坐标映射IP;坐标映射IP根据当前DEM分块对应的原始影像的相机内外参数并行计算空间坐标(X,Y,Z)在原始影像上对应的像平面坐标点(x,y);VDMA1 IP从DDR3 SDRAM的原始影像缓冲区依次读出DEM分块对应的原始影像数据流,经过AXI-Stream to VIDEO IP的数据格式转换,得到独立的影像帧并送至原始影像双线性插值IP;原始影像双线性插值IP接收3D-2D坐标映射IP输出的每个像平面坐标(x,y)并在对应的原始影像上进行插值采样,输出每个像点的灰度值进而得到当前DEM分块对应的正射影像块;正射影像块经过VIDEO to AXI-Stream IP的格式转换变成数据流,再经过VDMA2 IP写至DDR3 SDRAM的正射影像块缓冲区。
如图3所示,本发明实施例中的DDR3存储区域划分示意图,将FPGA处理板上的整个DDR存储空间划分为三大部分,分别存储DEM数字高程模型分块、原始影像数据集、每个DEM分块对应的正射影像块。PC电脑的CPU接收图2中VDMA0的读中断信号,开始向FPGA的DDR发送DEM分块,接收VDMA1的读中断信号开始向FPGA的DDR发送原始影像集,待FPGA内部的模块处理完毕,将正射影像块经过VDMA2写至DDR并通过VDMA2的写中断告知电脑CPU进行正射影像的读取。由于单个VDMA IP的内部具有最大支持32张影像的多缓冲机制,在每个存储区域仅使用单个VDMA进行数据搬运的情况下,可以分别对DDR的每个存储区域进一步的划分为32段存储空间,并将每段存储空间的DDR地址在对应的单个VDMA的内部进行初始化,以高效率的完成DEM分块、原始影像集、正射影像块等数据流的搬运。本发明实施例中的DDR3使用数量可以根据DEM数字高程模型的大小、原始影像的数量及分辨率大小、FPGA输出正射影像的大小进行适当的扩展。
如图4所示,本发明实施例中的DEM分块过程的示意图。DEM数字高程实际是一个三维的模型,其中的X、Y方向记录的是地面上的坐标位置,Z方向记录离地面的高度/数字高程。PC电脑的CPU将存储于系统硬盘的整个DEM数字高程模型载入系统内存,并根据DOM正射影像的整个地面坐标范围将DEM划分为m*n个小块,每个DEM小块对应单张原始影像IMG,每张原始影像具有不同的相机旋转矩阵参数和摄站坐标参数。CPU接收到图2的VDMA0的读中断请求,开始向FPGA的DDR的第一个存储区域发送32个DEM分块。CPU接收到图2的VDMA1的读中断请求,开始向FPGA的DDR的第二个存储区域发送相对应的32张原始影像。此外,CPU还将每张原始影像的相机参数及摄站坐标参数通过图2的BRAM IP写至FPGA内部,待FPGA处理生成每个正射影像块之后写至外接DDR的第三个存储区域进行缓存,并通过VDMA2的中断通知CPU进行读取,同时,CPU将更新FPGA外接DDR的32个DEM分块和对应的32张原始影像,依次类推,直至整个DEM数字高程模型和原始影像集发送完毕。
图5是本发明实施例中的地面坐标生成IP设计的示意图,已知正射影像块在左下方顶点的地面坐标(X0,Y0),以及正射影像的像素空间分辨率参数M已知的情况下,正射影像块上的任意一点(C,R)对应的地面坐标(X,Y)可由以下公式计算。
X=X0+M*C
Y=Y0+M*R
其中C的取值范围是0~W,R的取值范围是0~H,W、H是当前正射影像块的宽度、高度。显而易见,地面坐标(X,Y)最终的生成过程实际是乘累加运算过程,在FPGA内部设计IP核如图5所示,电脑的CPU借助图2的BRAM IP将正射影像块的宽度W、高度H及像素空间分辨率参数M通过PCIE通信协议写至地面坐标生成IP,IP在内部根据W、H的大小生成每一个偏移坐标(C,R),进一步的与正射影像块在左下方的顶点坐标(X0,Y0)以及像素空间分辨率参数M进行乘累加的运算,在线输出每一个地面坐标(X,Y)以供数字高程插值IP调用获得其高程值Z。
如图6所示,本发明实施例中的3D-2D坐标映射IP设计的示意图。本发明实施例中的3D-2D坐标映射过程根据可选的共线方程理论公式如下,其中的x0、y0、f是相机的内部参数,ai、bi、ci,(i=1,2,3)是相机的外部旋转矩阵参数,(X,Y,Z)是世界坐标系中的物方空间坐标,(XS,YS,ZS)是原始影像在世界坐标系的摄站坐标:
在3D-2D坐标映射IP的内部,正射影像像素对应的物方空间坐标点(X,Y,Z),依次与原始影像的摄站坐标(XS,YS,ZS)进行相减运算,得到X-XS、Y-YS、Z-ZS的差值并同步传输至三个坐标偏移量寄存器进行差值的缓存(其中每个坐标偏移寄存器都保存一份X-XS、Y-YS、Z-ZS差值)。在3D-2D坐标映射IP的内部,上述的每一份差值分别与外部旋转矩阵参数(a1、b1、c1)、(a2、b2、c2)、(a3、b3、c3)进行独立的乘累加运算,并行输出a1*(X-XS)+b1*(Y-YS)+c1*(Z-ZS)、a2*(X-XS)+b2*(Y-YS)+c2*(Z-ZS)、a3*(X-XS)+b3*(Y-YS)+c3*(Z-ZS)等处理结果,之后,进一步的与相机内部参数x0、y0、f进行乘累加的运算,最终并行的输出在原始影像上进行插值采样的像平面坐标x、y。由于坐标差值的计算、每份差值与相机外参的乘累加运算、与相机内部参数的乘累加运算之间是相互独立的、互不影响的,当第一个物方坐标(X1,Y1,Z1)与摄站坐标(XS,YS,ZS)进行差值运算之后,在X1-XS、Y1-YS、Z1-ZS与相机的外参进行乘累加运算的同时,第二个物方坐标(X2,Y2,Z2)便与摄站坐标(XS,YS,ZS)进行差值运算;当第一个物方坐标(X1,Y1,Z1)与相机内参进行最后的乘累加运算的同时,第二个物方坐标(X2,Y2,Z2)便与相机的外参进行乘累加运算,并且第三个物方坐标(X3,Y3,Z3)也开始与摄站坐标(XS,YS,ZS)进行差值的运算,依次类推,充分的利用流水线技术实现FPGA并行的解算共线方程并实时输出原始影像的像平面坐标(x,y),以达到加速的目的。
3D-2D坐标映射IP解算得到的像平面坐标(X,Y)实际是一个浮点型坐标,此外,由像素空间分辨率参数M及正射影像的像素坐标(C,R)计算得到的正射影像地面坐标(X,Y)也未必刚好落在DEM数字高程模型(四边形格网)的顶点上,故需要在原始影像、DEM数字高程模型上进行插值采样以输出当前浮点型坐标的像素灰度值、数字高程Z。本发明实施例中的影像插值IP、数字高程插值IP均采用如图7所示的双线性插值过程,在X方向上,坐标点(x,yz)的灰度值/数字高程I(x,yz)=(x-xz)*I(xz+1,yz)+(1-x+xz)*I(xz,yz),坐标点(x,yz+1)的灰度值/数字高程I(x,yz+1)=(x-xz)*I(xz+1,yz+1)+(1-x+xz)*I(xz,yz+1);在Y方向上,坐标(x,y)的灰度值/数字高程I(x,y)=(y-yz)*I(x,yz+1)+(1-y+yz)*I(x,yz),所以原始影像上(x,y)的最终灰度值/地的数字高程I(x,y)=(y-yz)*((x-xz)*I(xz+1,yz+1)+(1-x+xz)*I(xz,yz+1))+(1-y+yz)*((x-xz)*I(xz+1,yz)+(1-x+xz)*I(xz,yz)),其中的(xz,yz)是浮点型坐标(x,y)/(X,Y)分别在X和Y方向上取整之后的坐标。由于双线性插值采样过程在X、Y方向上实际是相互独立的,可设计IP核如图8所示,当第一个浮点型坐标(x1,y1)完成X方向的插值并进行Y方向的插值的同时,第二个浮点型坐标(x2,y2)便开始X方向的插值,这充分利用了FPGA并行计算的特点,通过流水线技术实现了FPGA内部加快灰度值/数字高程输出的速度。
如图9所示,是本发明实施例中的软件控制流程。系统上电之后,对PCIE进行初始化,以完成CPU对FPGA处理板的查找与识别、CPU启动PCIE通信接口数据读写通道及读写过程的中断通道等工作;对VDMA0、VDMA1、VDMA2进行初始化,包括使能VDMA的数据读写通道以便搬运FPGA外接DDR的数据至内部进行处理、使能VDMA的读写中断通道以向CPU发送中断信号;对VTC影像时序控制器进行初始化,包括影像的帧率、分辨率及DEM分块大小等一系列参数,以完成VDAM搬运的数据流(连续的32帧影像、32个DEM分块)向特定帧格式的转换;完成整个系统初始化之后,CPU从系统硬盘加载DEM数字高程模型并对其进行分块、加载每个DEM分块对应的原始影像集;CPU对FPGA外接的DDR存储空间进行划分以分别存储DEM分块、原始影像集、正射影像块,同时CPU对每块存储空间的每一段(共32段)进行内存地址的分配并配置于VDMA0、VDMA1、VDMA2进行数据帧读写的地址寄存器(32段);CPU判断VDMA0的读中断通道,在信号有效的情况下发送32个DEM分块至FPGA外接DDR的第一个存储区域;CPU判断VDMA1的读中断通道,信号有效的情况下发送32个DEM分块对应的32张原始影像至FPGA外接DDR的第二个存储区域;在CPU的控制下,分别将每个DEM分块的大小及当前DEM的行列号写至BRAMIP,经过地面坐标生成IP在线的输出每个地面坐标点(X,Y);CPU将每张原始影像的相机内外参写至BRAMIP,经过数字高程插值IP的内部计算,输出每一个三维的物方空间坐标(X,Y,Z);物方坐标(X,Y,Z)经过3D-2D坐标映射IP依次输出每个像平面坐标(x,y);影像插值IP对每个浮点型的(x,y)坐标进行灰度值的采样,以得到正射影像像素灰度值;FPGA将正射影像块通过VDMA2的数据通道写至外接DDR进行缓存,同时通过VDMA2的中断通道告知CPU进行正射影像的读取并映射至系统硬盘进行存储;CPU判断当前正射影像块是否为最后一个,如果不是,CPU便将另外的分块DEM及对应原始影像更新至FPGA的DDR,以进行下一轮的正射影像纠正处理;如果CPU当前读取的正射影像块是最后一个,将完成整个正射影像的系统硬盘存储工作。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (5)
1.一种基于FPGA的遥感影像正射纠正并行系统,其特征在于,包括第一处理模组、第二处理模组和传输模组,所述第二处理模组通过所述传输模组与所述第一处理模组连接,
所述第一处理模组,用于系统的总体调度、数字高程模型的分块及发送、原始遥感影像数据及其空间参数的发送、FPGA中断信号的接收和正射影像块的接收及存储;
所述第二处理模组,用于输入遥感影像的数字微分纠正并进行加速以获得正射影像;
所述传输模组,用于启动第一处理模组与第二处理模组之间的总线通信;
所述第一处理模组包括数据加载模块、VDMA启动及VTC影像时序控制模块和VDMA读写中断判断及数据传输模块,所述数据加载模块通过所述传输模组与所述第二处理模组连接,所述VDMA启动及VTC影像时序控制模块通过所述传输模组与所述第二处理模组连接,所述VDMA读写中断判断及数据传输模块通过所述传输模组与所述第二处理模组连接;
所述数据加载模块,用于将存储在硬盘的原始影像集加载至系统运行内存、将存储于硬盘的整个数字高程模型加载至系统内存并进行分块;
所述VDMA启动及VTC影像时序控制模块,用于启动所述第二处理模组的搬运模块的数据读写通道和读写中断通道,并初始化VDMA传输每帧影像的分辨率大小及颜色空间,控制所述第二处理模组启动并初始化像素时钟频率、影像帧率及分辨率;
所述VDMA读写中断判断及数据传输模块,用于判断第二处理模组是否发送读写中断信号,所述第一处理模组接收到中断信号的同时通过内设的总线通讯协议与所述第二处理模组进行原始影像、分块数字高程模型和正射影像块数据的传输;
所述第二处理模组包括搬运模块、转换模块、写入模块、地面坐标生成模块、高程插值模块和3D-2D坐标映射模块,所述搬运模块通过所述传输模组与所述VDMA读写中断判断及数据传输模块连接,所述转换模块与所述写入模块连接,所述地面坐标生成模块与所述写入模块连接,所述高程插值模块与所述地面坐标生成模块连接,所述3D-2D坐标映射模块与所述高程插值模块连接:
所述搬运模块,用于将缓存的影像和分块数字高程模型数据流搬运至所述第二处理模组的内部,产生读中断信号传输至所述VDMA读中断判断及数据传输模块进行数据流的更新,以及产生写中断信号传输至所述VDMA读写中断判断及数据传输模块接收正射影像块并映射至系统硬盘进行存储;
所述转换模块,用于生成特定影像时序以将数据流转换成独立影像帧和分块的数字高程模型;
所述写入模块,用于所述第二处理模组接收所述第一处理模组通过通讯总线初始化转换模块生成特定影像时序所需要的参数,并接收所述第一处理模组发送的每个分块数字高程模型对应的原始影像空间参数;
所述地面坐标生成模块,用于接收所述写入模块的分块数字高程模型的宽度、高度及ID号参数,并根据正射影像像素空间分辨率参数,在线计算输出每个正射影像像素对应的地面空间坐标;
所述高程插值模块,用于接收每一个地面点的空间坐标并在分块数字高程模型上进行双线性插值运算以获取数字高程值Z,进而得到该地面点的三维空间坐标;
所述3D-2D坐标映射模块,用于接收写入模块的影像空间参数、地面坐标生成模块与高程插值模块联合输出的地面点三维空间坐标,并按给定空间映射函数实时输出该地面点在遥感影像上的二维投影坐标。
2.如权利要求1所述的基于FPGA的遥感影像正射纠正并行系统,其特征在于,
所述传输模组包括总线通讯模块、总线通讯初始化模块和总线通讯接口,所述总线通讯模块与所述VDMA读写中断判断及数据传输模块连接,并与所述搬运模块连接,所述总线通讯初始化模块与所述总线通讯模块连接,
所述总线通讯模块,用于实现所述第二处理模组与所述第一处理模组通过通讯总线接口进行原始影像、数字高程模型分块和正射影像块的数据传输;
所述总线通讯初始化模块,用于启动所述总线通讯模块,包括所述第一处理模组对所述第二处理模组外接的DDR SDRAM芯片进行数据读写的通道、读写过程中断的判断通道、所述第一处理模组控制所述第二处理模组内部模块的用户通道。
3.如权利要求2所述的基于FPGA的遥感影像正射纠正并行系统,其特征在于,
所述传输模组还包括DDR SDRAM芯片的读写地址生成模块,所述DDR SDRAM芯片的读写地址生成模块,用于生成所述第一处理模组将数字高程模型分块、原始影像发送至所述第二处理模组外接DDR的写地址,生成所述第一处理模组接收DDR的正射影像的读地址。
4.如权利要求3所述的基于FPGA的遥感影像正射纠正并行系统,其特征在于,
所述第一处理模组还包括正射影像硬盘存储模块,所述正射影像硬盘存储模块,用于所述第一处理模组接收每个正射影像块并映射到系统硬盘进行存储。
5.如权利要求4所述的基于FPGA的遥感影像正射纠正并行系统,其特征在于,
所述第二处理模组还包括影像插值模块,所述影像插值模块,用于对所述3D-2D坐标映射模块输出的二维投影坐标在对应原始影像上进行灰度双线性插值采样,作为正射影像上对应地面点的灰度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066954.8A CN111275608B (zh) | 2020-01-20 | 2020-01-20 | 一种基于fpga的遥感影像正射纠正并行系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010066954.8A CN111275608B (zh) | 2020-01-20 | 2020-01-20 | 一种基于fpga的遥感影像正射纠正并行系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111275608A true CN111275608A (zh) | 2020-06-12 |
CN111275608B CN111275608B (zh) | 2023-03-14 |
Family
ID=70998986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010066954.8A Active CN111275608B (zh) | 2020-01-20 | 2020-01-20 | 一种基于fpga的遥感影像正射纠正并行系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111275608B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233011A (zh) * | 2020-10-22 | 2021-01-15 | 中国科学院空天信息创新研究院 | 一种遥感图像的内存组织与处理方法及装置 |
CN113426710A (zh) * | 2021-07-26 | 2021-09-24 | 苏州芒果树数字技术有限公司 | 视觉检测控制系统、分拣系统及方法、瞄准系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2201330A1 (de) * | 2007-10-26 | 2010-06-30 | Leica Geosystems AG | Distanzmessendes verfahren für ein referenzlinienprojizierendes gerät und ebensolches gerät |
CN102184397A (zh) * | 2011-04-25 | 2011-09-14 | 中国测绘科学研究院 | 遥感影像的快速正射纠正方法 |
CN103063200A (zh) * | 2012-11-28 | 2013-04-24 | 国家测绘地理信息局卫星测绘应用中心 | 高分辨率光学卫星正射纠正影像生成方法 |
CN107942168A (zh) * | 2017-11-24 | 2018-04-20 | 南京易司拓电力科技股份有限公司 | 一种可替换数字式和模拟式电能质量监测装置及方法 |
WO2018222775A1 (en) * | 2017-05-30 | 2018-12-06 | Digitalglobe, Inc. | Broad area geospatial object detection |
CN109063711A (zh) * | 2018-07-06 | 2018-12-21 | 航天星图科技(北京)有限公司 | 一种基于llts框架的卫星影像正射纠正算法 |
CN109801207A (zh) * | 2019-01-08 | 2019-05-24 | 桂林电子科技大学 | Cpu-fpga协同的影像特征高速检测与匹配系统 |
-
2020
- 2020-01-20 CN CN202010066954.8A patent/CN111275608B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2201330A1 (de) * | 2007-10-26 | 2010-06-30 | Leica Geosystems AG | Distanzmessendes verfahren für ein referenzlinienprojizierendes gerät und ebensolches gerät |
CN102184397A (zh) * | 2011-04-25 | 2011-09-14 | 中国测绘科学研究院 | 遥感影像的快速正射纠正方法 |
CN103063200A (zh) * | 2012-11-28 | 2013-04-24 | 国家测绘地理信息局卫星测绘应用中心 | 高分辨率光学卫星正射纠正影像生成方法 |
WO2018222775A1 (en) * | 2017-05-30 | 2018-12-06 | Digitalglobe, Inc. | Broad area geospatial object detection |
CN107942168A (zh) * | 2017-11-24 | 2018-04-20 | 南京易司拓电力科技股份有限公司 | 一种可替换数字式和模拟式电能质量监测装置及方法 |
CN109063711A (zh) * | 2018-07-06 | 2018-12-21 | 航天星图科技(北京)有限公司 | 一种基于llts框架的卫星影像正射纠正算法 |
CN109801207A (zh) * | 2019-01-08 | 2019-05-24 | 桂林电子科技大学 | Cpu-fpga协同的影像特征高速检测与匹配系统 |
Non-Patent Citations (6)
Title |
---|
GUOQING ZHOU等: "On-Board Ortho-Rectification for Images Based on an FPGA", 《REMOTE SENSING》 * |
RONGTING ZHANG等: "RPC-Based Orthorectification for Satellite Images Using FPGA", 《SENSORS》 * |
包达尔罕等: "基于GPU的异构并行编程模型分析与研究", 《内蒙古民族大学学报(自然科学版)》 * |
张荣庭等: "基于FPGA的星上影像正射纠正", 《航天返回与遥感》 * |
林贤华: "FPGA影像高速拼接异构处理系统的设计与实现", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
逯宏超: "基于ZYNQ的视频关键帧提取系统设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233011A (zh) * | 2020-10-22 | 2021-01-15 | 中国科学院空天信息创新研究院 | 一种遥感图像的内存组织与处理方法及装置 |
CN112233011B (zh) * | 2020-10-22 | 2024-05-31 | 中国科学院空天信息创新研究院 | 一种遥感图像的内存组织与处理方法及装置 |
CN113426710A (zh) * | 2021-07-26 | 2021-09-24 | 苏州芒果树数字技术有限公司 | 视觉检测控制系统、分拣系统及方法、瞄准系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111275608B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1938730B (zh) | 基于寄存器的对纹理请求的排队 | |
RU2623806C1 (ru) | Способ и устройство обработки стереоизображений | |
CN110637461B (zh) | 计算机视觉系统中的致密光学流处理 | |
CN111275608B (zh) | 一种基于fpga的遥感影像正射纠正并行系统 | |
US11593913B2 (en) | Method and system for correcting a distorted input image | |
CN101958112B (zh) | 手持设备屏幕画面同时实现90度和270度旋转的方法 | |
CN102044062B (zh) | 基于图像块处理实现图像xy轴镜像和180度旋转系统 | |
GB2298111A (en) | Improvements relating to computer 3d rendering systems | |
CN109658337A (zh) | 一种图像实时电子消旋的fpga实现方法 | |
CN114223196A (zh) | 用于中央凹渲染的系统和方法 | |
Li et al. | High throughput hardware architecture for accurate semi-global matching | |
CN112017107A (zh) | 基于zynq平台的高并行度、低延时的图像缩放及其裁剪的处理方法 | |
US20220113944A1 (en) | Arithmetic processing device | |
KR100701804B1 (ko) | 화상 발생 장치 및 그 방법 | |
CN110651475B (zh) | 用于致密光学流的阶层式数据组织 | |
CN111476705A (zh) | 主被动三维成像实时处理系统及方法 | |
CN109685715B (zh) | 一种显示系统中高精度图像无级旋转处理方法 | |
WO2023184754A1 (zh) | 可配置实时视差点云计算装置及方法 | |
WO2020155044A1 (zh) | 卷积计算的装置、方法、处理器和可移动设备 | |
JP6931252B1 (ja) | ニューラルネットワーク回路およびニューラルネットワーク回路の制御方法 | |
US11748933B2 (en) | Method for performing shader occupancy for small primitives | |
CN212515897U (zh) | 主被动三维成像实时处理系统 | |
CN101452572B (zh) | 基于三次平移算法的图像旋转vlsi结构 | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
RU168781U1 (ru) | Устройство обработки стереоизображений |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |