网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

基于FPGA的遥感图像高分辨系统设计  PDF

  • 程江涵
  • 夏江南
  • 李毅
  • 李军伟
浙江大学信息与电子工程学院 杭州 310011

中图分类号: TP751.1TN492

最近更新:2025-03-19

DOI:10.12347/j.ycyk.20241216007

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
EN
目录contents

摘要

随着遥感技术的进步,对遥感图像的高分辨率需求也愈发强烈。然而,由于光学器件的限制、传感器分辨率的不足以及卫星轨道高度等因素的影响,成像设备捕获的遥感图像往往不具有理想的分辨率,成像效果不尽人意,给研究人员对遥感图像的特征提取和分析带来了极大的困扰。为了解决该问题,本文使用模块化、可重构的系统架构,通过多行缓冲的流水线机制,基于FPGA硬件平台设计双边滤波、上采样、下采样等实时处理模块,并构造图像金字塔和拉普拉斯金字塔,通过逐层插值的方式,实现对图像的高分辨。整体系统的硬件设计基于Xilinx XC7A35T FPGA芯片实现,并根据其综合结果进行性能指标分析,系统的可移植性良好。该系统中,当图像处理模块工作时钟频率为180 MHz时,延时小于5 ms,可满足系统的实时性要求。

0 引言

近年来,遥感技术获得了飞速的发展,随之而来的则是光学遥感图像对高分辨率的需[

1]。然而,由于光学器件的限制、传感器分辨率的不足以及卫星轨道高度等因素的影响,成像设备捕获的遥感图像往往不具有理想的分辨率,成像效果不尽人意,给研究人员对遥感图像的特征提取和分析带来了极大的困[2]。因此,通过后期的高分辨处理技术来弥补硬件导致的不足以提升图像的空间分辨率,是当前遥感图像处理中的必要手[3,4]

通常,遥感图像处理任务的核心数据处理器有FPGA、DSP(数字信号处理器)、ASIC(专用集成电路)[

5]。其中,FPGA凭借其实时性强、功耗低、可重复编程、高并发、数据处理效率高的优点,经常被作为遥感图像处理的核心组部[6]。近年来,国内外的研究人员在FPGA平台上完成了不少遥感图像处理的任务。汪强等[7]针对Harris角点检测器响应值R的阈值选择而导致角点失真的问题,提出了一种基于FPGA的自适应Harris角点检测器实现遥感图像的配准方式,在硬件资源消耗仅增加2.76%的情况下,准确度相应提升了8.31%;Kai Feng等[8]提出了一种基于FPGA的遥感卫星图像纹理特征提取算法,识别准确率达到了91.3%;赵永辉等[9]针对目前主流的目标检测算法在图形处理器(GPU)上存在模型参数量大、实时性差、功耗大、成本高的问题,提出了一种基于FPGA的遥感图像实时检测方案,所提出的设计方案在参数量和检测速度上均取得了最好的表现,且相较于将算法部署在CPU上,检测速度提升了375.4%,相较于将算法部署在GPU上,降低了96.8%的功耗;赵智祎等[10]利用FPGA的高并行性,对ORB(计算机视觉算法)进行加速,并用于遥感图像的配准,准确率比PC更高的情况下,耗时仅为PC端的42.5%。

本文提出了一种基于FPGA的遥感图像高分辨系统,旨在提高遥感图像的分辨率,增强图像细节,为后续对遥感图像的处理提供可靠的结果。本文系统采用了一种基于双边金字塔的高分辨率算法,通过构造拉普拉斯金字塔来提取图像的细节和边缘信息,再将边缘信息与传统的双线性插值结果结合。这种方法不仅提升了图像高分辨率的精度,而且能够保留图像的结构信息,避免了传统插值方法在边缘和细节部分的模糊和丢失。使用FPGA作为实现平台,充分发挥FPGA的并行计算和低功耗优势,实时处理大规模遥感数据。

1 基于FPGA的遥感图像高分辨系统设计

本系统依靠FPGA模块化、可重构的高效处理架[

11],结合行缓存和多级流水线机[12],设计可复用的算法模块,以图像金字塔为核心,通过构建不同尺度的图像层次并逐层重建,不仅能够逐层提高图像的分辨率,使得高分辨的过程更加平滑和自然,还在每一层应用降噪算法,能够有效减少图像中的噪声,逐层提升图像质[13]

遥感图像高分辨系统如图1所示。系统内包含图像采集、图像处理、互联总线、主控逻辑、外部存储器控制和数据传输等模块。

图1  遥感图像高分辨系统框图

Fig. 1  Remote sensing image high resolution system block diagram

图像采集模块负责驱动外部成像设备,并从外部成像设备处获取遥感图像像素数据。图像处理模块是整个系统中实现遥感图像高分辨的主体,该模块实现遥感图像数据的不同尺度的图像金字塔的构建以及不同尺度下的遥感图像金字的插值,各处理部分采用独立的模块化设计,且模块均可复用,通过互联总线连接,共同完成遥感图像的高分辨算法实现。主控逻辑用于配置各个模块的工作信息,获取各模块的工作状态,并向它们发送控制信号。由于FPGA芯片内置的存储空间不够,故需要将遥感图像数据储存在外部存储器中,外部存储器控制模块负责与外部存储设备建立通信,将图像数据写入外部存储器,并在需要使用的时候将图像数据从外部存储器中读出。待遥感图像已经实现高分辨之后,通过数据传输模块,将遥感图像发送至后续的外部设备。

2 图像处理模块设计

传统的高分辨算法有单线性插值、双线性插[

14]等,其严重依赖于局部像素的加权平均,这种方法虽然简单快速,但会导致图像细节尤其是边缘部分的模糊和信息丢失。图像中的细节信息尤其是边缘部分通常会被平滑化,导致图像超分辨率结果的锐度较差。

本文提出了一种基于双边金字塔的高分辨算法。该算法通过构建拉普拉斯金字塔,提取图像中的边缘信息,保留了图像的细节。这意味着在超分辨过程中,能够更好地恢复图像的边缘和细节信息。通过将边缘信息与双线性插值的结果相结合,能够有效地减少边缘模糊问题,提升图像质量。

图像处理模块的功能是实现基于双边金字塔的高分辨算法,其步骤为:首先,构造输入遥感图像的图像金字塔,获取遥感图像的不同尺度,并对不同尺度的遥感图像插值,实现遥感图像的高分辨。实现图像金字塔的功能需要使用到的子处理模块有滤波模块、下采样模块、插值模块。各模块采用行缓存和多级流水线机制以实现硬件结构设计,通过各个模块的复用,减少FPGA的资源消[

15]。图像处理模块的架构如图2所示,左侧最上方图像为输入图像,通过滤波模块和下采样模块,生成输入图像金字塔,并通过对尺度较小的图像进行上采样,再与低层金字塔做差,生成图像的拉普拉斯金字塔,拉普拉斯金字塔中包含丰富的图像细节。最后,将图像金字塔与拉普拉斯金字塔进行逐层处理,即可逐层提升图像的分辨率与图像质量。

图2  图像处理模块架构图

Fig. 2  Image processing module architecture diagram

2.1 滤波模块设计

传统的滤波金字塔一般使用高斯滤波[

16]。然而,高斯滤波器没有考虑噪声的相干性,对图像边缘的保护效果不[17],故本文使用具备保边性能的双边滤波器。双边滤波器是一种非线性滤波器,它既可以对图像降噪平滑,又能保持图像边[18]。和其他的滤波原理一样,双边滤波也是采用加权平均的方法,但双边滤波的权重,不仅考虑了像素的空间距离,也考虑了像素与中心像素的相似程度,结合空间距离和相似度,计算得到最终的权重。双边滤波核是由同尺度的高斯滤波核与相似度权重相乘,再对相乘结果进行归一化得到。双边滤波的公式为:

BF=1WppS[Gσs(||p-q||)Gσr(|Ip-Iq|)IP] (1)

式中,pq表示为图像中的像素点,IpIq表示像素pq的强度值,Gσs表示空间距离权重,Gσr表示相似度权重,Wp为归一化因子,其公式如下:

Gσs=e-x2+y22σs2 (2)
Gσr=e-(Ip-Iq)22σr2 (3)
Wp=pSGσs(||p-q||)Gσr(|IP-Iq|) (4)

本文使用的双边滤波核的σs=3σr=0.1,尺寸为3×3,需要缓存2行输入数据。由于图像处理系统中,对延时的要求较高,故本系统采取“面积换速度”的方式,通过增加硬件资源消耗,提升系统的运行速度,降低系统延时。滤波模块的设计使用2级行缓存与9级流水线相结合的硬件架构,如图3所示。图3中,① 表示计算中心像素周围3×3窗口的相似度权重;② 表示将相似度权重与空间距离权重相乘,得到双边滤波权重。由于空间距离权重是一个仅和像素位置有关的高斯函数,故在设置好滤波核尺寸和σs的情况下,其数值为一个固定数。因此,可将空间距离权重预先设定好,则该步骤可视为将双边滤波权重乘以一个固定数值;③ 表示对双边滤波权重归一化的过程;④ 表示:将中心像素周围3×3窗口的像素与3×3窗口归一化之后的双边滤波权重相卷积并累加,再得到输出结果。

图3  双边滤波模块硬件架构示意图

Fig. 3  Remote sensing image high resolution system block diagram

2.2 下采样模块

下采样模块是实现遥感图像不同尺度的核心模块之一。该模块通过去除原始遥感图像特定位置的像素以降低图像的分辨率,并生成遥感图像的缩略[

19]。常见的下采样方法有隔行隔列去除、最大值下采样、均值下采样、DCT(离散余弦变换)下采样等,在图像金字塔中,为了保留空间结构信息和减小运算量,一般采用隔行隔列去除的方法进行下采样。隔行隔列去除的原理如图4所示。以去除偶数行和偶数列为例,在硬件设计中即通过判断当前行和列是否是偶数,如果不是,则将当前位置的像素作为输出像素,否则保持原像素,故在FPGA中可以通过一个数据选择器实现。

图4  下采样示意图

Fig. 4  Downsampling diagram

2.3 上采样模块

上采样模块是实现遥感图像不同尺度的另一核心模块,即通过增强原始遥感图像的像素数目,来增加图像的分辨率,提升遥感图像的细[

20]。常见的上采样方法有最邻近插,双线性插值和三线性插[21]。本文采用双线性插值的方式来实现上采样模块,双线性插值的原理如图5所示,通过插值像素与相邻4个像素之间的距离,为相邻4个像素分配权重。

图5  上采样原理图

Fig. 5  Upsampling diagram

P点的插值结果为:

   P=Pt1+a(Pt2-Pt1)=(1-a)(1-b)P11+(1-a)bP21+a(1-b)P12+abP22 (5)

上采样模块的硬件架构如图6所示,将奇数行和偶数行像素数据以及该像素数据对应的地址分别存入不同的存储器RAM。然后根据输入图像尺寸和输出图像尺寸来计算比率。由于FPGA不擅长处理浮点数,为避免浮点数运算,需要对比率转为定点数,公式如下:

图6  上采样模块硬件架构图

Fig. 6  Hardware architecture diagram of the upsampling module

rx=fwswd×216ry=fhshd×216 (6)

式中,rxry分别表示输入图像和输出图像在x方向和y方向的比率,即输出图像的像素坐标在x方向和y方向的坐标每增加一,RAM中的读地址则增加对应比率。

模块首先将输入图像尺寸和输出图像尺寸的比率转换为输出像素地址与输入像素地址的对应关系,再产生RAM的读出像素地址与权重值。根据读出像素地址,从每个RAM中连续读取两个像素数据,将对应位置的像素值与权重值相乘后累加,即得到了输出像素值。

3 仿真实验

本文的硬件实现平台为ALINX公司的AX7035开发板,其搭载一块Xilinx公司的XC7A35T FPGA芯片和一块Micron公司的DDR3存储器,存储器型号为MT41J128M16HA-125。其处理流程为:遥感图像数据经成像设备捕获之后进入FPGA,通过主控单元的调度,被分配给不同的图像处理模块中以完成遥感图像的高分辨。为避免FPGA内置存储器资源的溢出,处理结束后,将遥感图像数据放入外部DDR存储器中缓存,再将其读出并发送至后续处理器。本文实验使用武汉大学公开的遥感图像数据集,其中的图像尺寸为400×400,图像深度为24 bit。对数据集中的部分遥感图像进行算法仿真,结果如图7所示。

图7  高分辨前后对比图

Fig. 7  High resolution before and after images

3.1 性能评价

本节对文中提出的算法进行性能评价。评价标准为PSNR(峰值信噪比)和SSIM(结构相似性指数),PSNR值越大说明高分辨后图像越清晰,失真越小;SSIM值越大说明高分辨后图像与源图像的结构相似性越高,边缘细节和纹理重建越好,图像质量越高。为了直观表现算法性能,将本文提出的算法与双线性插值算法进行比较,图8为原始图像、本文提出的算法高分辨图像和双线性插值算法的图像,为方便展示,将图像尺寸保持一致。

图8  原图与两种算法对比图

Fig. 8  Compare the original drawing with two algorithms

PSNR和SSIM测试结果如表1所示,本文提出的算法的性能均优于双线性插值算法。

表1  系统资源占用分析表
Table 1  Table of system resource usage analysis
PSNRSSIM
双线性插值 29.7330 0.919 2
本文算法 37.9450 0.936 6

3.2 资源消耗

本文中硬件基于Vivado2023.2完成功能仿真及综合实现。综合实现后系统整理的资源消耗如表2所示。系统的查找表(LUT)消耗约6.4 K,仅占FPGA芯片资源的32.93%。由于涉及到大量运算,数字信号处理器(DSP)消耗了36个,占FPGA芯片资源的40%,基于查找表的嵌入式存储器资源(LUTRAM)、数字电路中最基本的时序逻辑单元(FF)、嵌入式存储块(BRAM)等其他的资源消耗,均不超过FPGA芯片资源的30%,系统的可移植性良好。

表2  系统资源占用分析表
Table 2  Table of system resource usage analysis
接收方式LUTLUTRAMFFBRAMDSP
使用数量 6 613 1 998 4 853 14 36
可用数量 20 080 9 600 41 600 50 90
资源占用率/% 32.93 20.81 11.66 28 40

3.3 时间消耗

图像处理模块中各子模块均需要以时钟周期为单位,逐行逐列处理图像的每个像素,因此其处理时间为输入图像的像素个数乘以高分辨算法消耗的时钟周期。本文提出的算法的频率可达到180 MHz,时钟周期为5.6 ns。使用数据集中尺寸为400×400、深度为24 bit的遥感图像进行测试,图像处理模块中的处理时间约9 000个时钟周期,延时为0.05 ms。一般60帧的显示系统,其每帧图像的时间为16.6 ms,远大于图像处理模块的延时。因此,本文提出的基于FPGA图像处理模块具备良好的实时性和可移植性。

4 结束语

本文主要研究了基于FPGA的遥感图像高分辨系统设计,利用FPGA的模块化、可重构的特性,设计了滤波模块、下采样模块、插值模块,实现了在FPGA平台上对遥感图像的高分辨处理。通过Xlinx Vivado软件对算法进行仿真处理和综合实现,结果显示:本文提出的基于FPGA的遥感图像高分辨系统效果良好,资源消耗较少,且具有良好的实时性。

参考文献

1

侯旺, 孙晓亮, 尚洋, . 红外弱小目标检测技术研究现状与发展趋势[J]. 红外技术, 2015, 37(1): 1-10. [百度学术] 

HOU Wang, SUN Xiaoliang, SHANG Yang, et al. Present state and perspectives of small infrared targets detection technology[J]. Infrared Technology, 2015, 37(1): 1-10. [百度学术] 

2

张娜. 基于深度学习的遥感图像超分辨率重建及检测 [D]. 西安: 西安工业大学, 2024. [百度学术] 

3

付奕博, 谢东海, 王志博, . 基于条件控制扩散模型的遥感图像超分辨率增强算法[J]. 地球信息科学学报, 2024(10): 2384-2393. [百度学术] 

FU Yibo, XIE Donghai, WANG Zhibo, et al. A super-resolution enhancement algorithm for remote sensing images using conditional controlled diffusion models[J]. Journal of Geo-Information Science, 2024(10): 2384-2393. [百度学术] 

4

周仿荣, 马仪, 王国芳, . 基于生成对抗网络的电力设施遥感图像超分辨重建方法[J]. 测绘工程, 2024, 33(5): 29-35. [百度学术] 

ZHOU Fangrong, MA Yi, WANG Guofang, et al. Super-resolution reconstruction method of electric power facilities remote sensing images based on GAN[J]. Engineering of Surveying and Mapping, 2024, 33(5): 29-35. [百度学术] 

5

彭小军, 颜露新, 钟胜, . 基于DSP+FPGA+ASIC的实时红外图像处理系统[J]. 微计算机信息, 2007(23): 199-201. [百度学术] 

PENG Xiaojun, YAN Luxin, ZHONG Sheng, et al. Real-time infrared image processing system based on DSP+FPGA+ASIC[J].Microcomputer Information, 2007(23): 199-201. [百度学术] 

6

张兵. 智能遥感卫星系统[J]. 遥感学报, 2011, 15(3): 415-431. [百度学术] 

ZHANG Bing. Intelligent remote sensing satellite system[J].National Remote Sensing Bulletin, 2011, 15(3): 415-431. [百度学术] 

7

汪强, 郭来功. 自适应阈值 Harris 算法遥感图像配准的FPGA实现[J]. 无线互联科技, 2023, 20 (24): 110-112. [百度学术] 

WANG Qiang, GUO Laigong. FPGA implementation of adaptive threshold Harris algorithm for remote sensing image registration[J]. Wireless Internet Science and Technology, 2023, 20(24): 110-112. [百度学术] 

8

FENG K, ZHANG R. Realization technology of texture feature extraction algorithm of remote sensing satellite image based on FPGA[C]//2022 IEEE 2nd International Conference on Data Science and Computer Application (ICDSCA). New York: IEEE, 2022: 110-114. [百度学术] 

9

赵永辉, 吕勇, 刘雪妍, . 基于FPGA 的遥感图像实时检测硬件加速 [J]. 电光与控制, 2023, 30(12): 115-120. [百度学术] 

ZHAO Yonghui, LYU Yong, LIU Xueyan. Hardware Acceleration of real-time remote sensing image detection based on FPGA[J]. Electronics Optics & Control 2023, 30(12): 115-120. [百度学术] 

10

赵智祎, 孙婷, 李峰, . 基于嵌入式FPGA加速ORB算法的遥感影像配准方法 [J]. 中国空间科学技术, 2021, 41(5): 125-135. [百度学术] 

ZHAO Zhiyi, SUN Ting, LI Feng, et al. Remote sensing image registration method based on embedded FPGA accelerated ORB algorithm[J]. Chinese Space Science and Technology, 2021, 41(5): 125-135. [百度学术] 

11

KESSAL L, ABEL N, DEMIGNY D. Real-time image processing with dynamically reconfigurable architecture[J]. Real-Time Imaging, 2003, 9(5): 297-313. [百度学术] 

12

习明, 徐明, 于洋, . 基于 FPGA 的遥感图像关键处理模块设计与实现[C]//中国高科技产业化研究会智能信息处理产业化分会. 第十六届全国信号和智能信息处理与应用学术会议论文集. 北京: 北京理工大学信息与电子学院雷达技术研究所; 北京理工大学重庆创新中心, 2022: 5. [百度学术] 

13

BURT P J, ADELSON E H. The laplacian pyramid as a compact image code[M]//Readings in computer vision. San Francisco: Morgan Kaufmann, 1987: 671-679. [百度学术] 

14

钟雪燕, 夏前亮, 陈智军. 基于FPGA的图像超分辨率的硬件化实现[J]. 现代电子技术, 2017, 40(17): 44-46, 50. [百度学术] 

ZHONG Xueyan, XIA Qianliang, CHEN Zhijun. FPGA⁃based hardware implementation of image super⁃resolution[J]. Modern Electronics Technique, 2017, 40(17): 44-46, 50. [百度学术] 

15

王凌远, 甄国涌, 储成群, . 基于ZYNQ的内窥镜图像处理系统设计[J]. 舰船电子工程, 2024, 44(7): 108-112. [百度学术] 

WANG Lingyuan, ZHEN Guoyong, CHU Chengqun. Design of endoscopic image processing system based on ZYNQ[J]. Ship Electronic Engineering, 2024, 44(7): 108-112. [百度学术] 

16

MERTENS T, KAUTZ J, VAN REETH F. Exposure fusion[C]//15th Pacific Conference on Computer Graphics and Applications (PG'07). New York: IEEE, 2007: 382-390. [百度学术] 

17

TOMASI C, MANDUCHI R. Bilateral filtering for gray and color images[C]//Sixth international conference on computer vision IEEE Cat. No. 98CH36271. New York: IEEE, 1998: 839-846. [百度学术] 

18

韩彬, 林海全, 姜宇奇. 基于MATLAB与FPGA的图像处理教程[M]. 北京: 电子工业出版社, 2023. [百度学术] 

19

MARIN D, HE Z, VAJDA P, et al. Efficient segmentation: Learning downsampling near semantic boundaries[C]//Proceedings of the IEEE/CVF international conference on computer vision. New York: IEEE, 2019: 2131-2141. [百度学术] 

20

周璇, 葛琦, 邵文泽. 高分辨率特征增强的无人机航拍小目标检测[J]. 数据采集与处理, 2024, 39(4): 908-921. [百度学术] 

ZHOU Xuan, GE Qi, SHAO Wenze. Small target detection in UAV aerial images based on high resolution feature enhancement[J]. Journal of Data Acquisition and Processing, 2024, 39(4): 908-921. [百度学术] 

21

李京安, 杨越程, 刘宇晨, . 基于FPGA的图像上采样IP核设计与实现[J]. 电脑知识与技术, 2024, 20(17): 43-45. [百度学术]