APP下载

基于FPGA的实时大气湍流图像复原算法及实现

2021-11-26李亚伟伍凌帆杨一帆

应用光学 2021年6期
关键词:图像复原畸变湍流

李亚伟,张 弘,伍凌帆,杨一帆,陈 浩

(北京航空航天大学 宇航学院,北京 102206)

引言

大气湍流是大气中的一种重要运动形式,尤其是当上层空气温度低于下层空气温度而形成对流条件时尤为明显。大气湍流对在空气中传播的声波、光波和电磁波都有一定的干扰作用。在大气湍流中,沿着传输路径的光折射率会发生改变,这

会严重影响远距离成像设备的性能[1-4]。大气湍流会导致光学成像产生几何失真、运动模糊(如果曝光时间不够短)以及离焦模糊。

目前大气湍流复原算法一般可分为4 类。第1 类是基于多帧图像空间域重建的方法[5-9]。这种方法首先需要一种非刚性图像配准技术来将每帧图像与参考帧进行配准,并利用配准参数对变形区域进行校正,最后在贝叶斯图像重建框架下重建锐利图像。第2 类是基于“幸运”区域选择与融合的方法[10-13]。湍流运动本身具有很大的随机性,使得一些图像或者图像的一些区域受湍流影响较小而保持锐利。这类方法通过选择每帧图像中受影响最小的区域,并融合这些区域产生“干净”图像,所以也被称为“幸运帧”或者“幸运区域”方法。该方法的一个问题是幸运区域出现的概率很低,需要大量(通常是数百个)图像来创建一个锐利的图像。局限性在于只适用于短曝光视频以及单帧图像的复原,而对于长曝光视频,运动模糊使幸运的区域更加稀少,图像的复原效果较差。第3 类方法是基于低秩矩阵分解的方法[14-16]。这类方法通过低秩矩阵分解将湍流序列分解为3 个组成部分:背景、湍流扰动和运动对象,来实现湍流复原的目标。在文献[14] 中,作者将这个极其困难的问题简化为核范数、F 范数和L1 范数的最小化问题并取得了不错的效果。在以上3 类方法的基础上,Zon 等人[17]提出了一种新的统一变分框架来从湍流退化的图像序列中恢复清晰的图像。该方法统一了多种传统方法[9,18-20],有助于更深入地了解湍流退化问题。第4 类方法是基于深度学习的方法。Lau 等人[21]提出了一种分别使用变形校正网络和去模糊网络来处理湍流引起的图像变形和图像模糊的单帧人脸图像复原算法。该方法通过2 种图像恢复路径来实现图像畸变与图像模糊的解纠缠,并从一个给定的退化图像中生成2 个恢复图像,融合函数结合了2 个恢复图像的特征,重建了具有丰富细节的清晰图像。

这几类方法计算量庞大,计算过程复杂,并不适合在嵌入式平台中实现;同时这些方法或需要反复迭代,或需要提前获取全部视频信息,或是针对单帧图像复原,并不能够对湍流视频进行实时处理。因此本文通过结合实际应用,提出一种能够在线实时处理的图像湍流复原算法,并完成算法在基于现场可编程逻辑门阵列(FPGA)的嵌入式平台上的实现。实验结果表明,该算法可在嵌入式平台中实时运行,且实现了显著的湍流复原效果。

1 本文算法

大气湍流会导致图像出现多种退化效果,其中最主要的是图像的畸变与模糊。图像的畸变为时间域的退化结果,而图像的模糊为空间域的退化结果。图像退化过程可以描述为

式中:yt、xt和nt分别表示在t时刻的模糊图像、清晰图像以及噪声;i,j表示像素点坐标;kt表示t时刻的模糊过程;dt表示t时刻的畸变过程。本文主要针对以 上2 种退化过程分别进行处理。

1.1 图像畸变去除

考虑到大气湍流的随机性,图像畸变在各个方向上都是随机的,因此本算法采用多帧图像平均的方法来消除视频中的湍流畸变。均值图像通常表示为由于直接采用多帧图像求均值的方式计算复杂度高,需要缓存的图像数据量大,因此本算法使用无限冲激响应(IIR)滤波的方式求取均值图像。IIR 滤波公式如下:

式中:yt表示t时刻的输入图像;表示t-1时刻的去畸变结果;表示t时刻的去畸变结果;a和b分别表示t时刻输入图像与t-1时刻处理结果的求和权重,且a+b=1。求和之后的图像再次存入缓存中,用于下一帧图像的计算。

由(2)式可知,t时刻的去畸变结果是t时刻及之前的输入图像的加权求和。由于引入了之前的图像,所以在相机发生移动或者存在移动目标时,会出现图像重影的现象。a越小,b越大,则图像重影效应越大,同时去畸变能力也越强;a越大,b越小,则图像重影效应较小,但去畸变能力也越弱。因此,a、b值需要根据相机移动速度和视场大小确定,具体取值见表1。其中,在静止场景中,根据文献[22]选取a=0.02,b=0.98,保证在不同湍流强度下的图像稳定。其余参数通过实测获得。

表1 不同条件下a、 b的取值Table 1 Values of aand bunder different conditions

1.2 图像模糊去除

在处理图像模糊的问题上,本方法采用传统的维纳滤波算法进行模糊去除。该算法建立在图像

和噪声都是随机变量的基础上,目标是找到估计图像使之与真实图像之间的误差最小,因此也被称为最小均方误差滤波算法。图像的模糊模型由(3)式给出:

2 本文算法的FPGA 平台实现

基于FPGA的实时大气湍流图像复原系统设计方案如图1所示。本方案采用的主芯片为Xilinx公司的XC7K325T。XC7K325T拥有50 950 个Slices、326 080 个逻辑单元,最大4000 kB 分布式随机存取储存器(RAM)及445 kB 块RAM,适合完成高分辨率图像的编解码、缓存以及并行处理等操作。除此之外,该系统还包括SDI 视频编解码模块、通信模块、数据缓存模块以及时钟、复位、供电、JTAG 调试等模块。SDI 视频编解码模块采用Semtech 公司的GS2972/GS2971A 芯片,最高支持2.97 Gb/s 的传输速率。外部大容量存储器为2 片4 Gb 16bit DDR3 存储器,工作在1600 MHz 的时钟频率下,数据传输速率高达6.25 GByte/s;

图1 基于FPGA的实时大气湍流图像复原系统方案Fig.1 Scheme of real-time atmospheric turbulence image restoration system based on FPGA

系统从光机获取视频信号,通过数字分量串行接口(SDI)解码芯片进行解码,将图像数据传到FPGA 进行实时处理,处理之后通过SDI 编码芯片编码输出。上位机通过串口指令输出光机的实时运动信息以及运动目标信息。根据光机的运动信息以及运动目标信息,确定图像IIR 滤波的权重。

2.1 图像畸变去除算法实现

视频信号通过解码器解码进入FPGA 之后,首先与DDR3 中缓存图像进行时间域的IIR 滤波操作。IIR 滤波需要的权重值由系统当前的状态决定。本系统中,串口通信主要实现控制指令接收以及视频状态信息接收的功能。视频状态信息主要包括当前光机的运动速度,视场大小以及目标检测系统反馈的运动目标位置及大小。在获得当前光机的运动速度以及视场大小后可以根据表1选择不同的权重值进行图像的时间域IIR 滤波操作。同时,根据目标检测系统反馈的运动目标位置及大小信息,可以对当前输入图像的运动目标

区域进行缓存,在IIR 滤波之后的图像中进行补偿,相当于运动目标区域不进行滤波,避免了在运动目标区域出现重影的问题。整体流程如图2所示。

图2 基于FPGA的图像畸变去除算法流程图Fig.2 Flow chart of image distortion removal algorithm based on FPGA

2.2 图像去模糊算法实现

在得到图像滤波模板kwiener之后,即可通过空间域的模板滤波进行图像去模糊处理。在本系统中,使用9×9的滤波模板。因为9×9的滤波需要同时对9 行的数据进行操作,而图像数据是逐行输入的,所以需要对图像数据进行缓存。在本系统中,开辟了10 行图像数据的片上BRAM 缓存区(bram1~bram10),其中bram1~bram9 的9 行数据与滤波模板进行9×9空间滤波,产生第n行数据的去模糊结果。bram10 用于接收新输入数据,接收完毕与bram2~bram9 数据组成新的9 行待滤波图像块进行空间滤波操作,bram1 用于接收新输入数据,以此循环执行直到一帧图像结束。整体流程如图3所示。

图3 基于FPGA的图像实时空间滤波算法流程图Fig.3 Flow chart of image real-time spatial filtering algorithm based on FPGA

3 实验结果分析

目前,湍流图像复原算法的评价指标包括定性评价和定量评价。为了对本文算法的湍流图像复原效果进行准确评价,我们在广泛使用的湍流评价数据集上进行了定性和定量测试,定性评价结果如图4~图6所示。

图4 湍流图像复原效果对比图Fig.4 Comparison of restoration effect of turbulence images

图4~图6 分别展示了3 个经典场景(building/chimney/car)下的湍流图像复原效果。图中,第1 行展示的是全图效果,第2 行是局部细节效果。从图4 中可以看出,阳台、窗户、树丛等区域的几何畸变得到了很大程度的改善,细节信息得到提升,虽然在某些局部区域锐度比方法[8] 的结果低,但产生的额外噪声也比方法[8]少。从图5、图6中可以看出本文方法的复原结果在细节恢复方面比方法[8]更加有效。

图5 湍流图像复原效果对比图Fig.5 Comparison of restoration effect of turbulence images

图6 湍流图像复原效果对比图Fig.6 Comparison of restoration effect of turbulence images

定量评价采用峰值信噪比作为评价指标,结果如表2所示。

由表2 可得,本文算法比输入的湍流图像在峰值信噪比上有很多提升,同时相比于方法[8],部分指标也有提升。

表2 湍流图像复原效果定量评价结果Table 2 Quantitative evaluation results of restoration effect of turbulence images

除此之外,本系统还在外场进行实地测试,结果如图7所示。图7 中,第1 行为原始输入图像,第2 行为复原算法处理之后的图像。从图7 可知,大视场和中视场下湍流效应不明显,所以图像复原算法的效果也不明显。在小视场下,湍流效应明显,原始输入图像中屋顶边界、旁边的树木都出现了严重的畸变,在湍流复原图像中,屋顶边界、旁边的树木边缘整齐,细节清晰。证明本文算法具有很强的实际应用价值。

图7 湍流图像复原实测效果图Fig.7 Effect pictures of turbulence image restoration in actual scene

本文算法所用FPGA的资源占用率如表3所示。

表3 FPGA 资源占用率Table 3 FPGA resource occupancy rate

4 结论

根据大气湍流运动对远距离成像在时间域和空间域的退化作用,本文提出了一种分别解决图像畸变和图像模糊的实时湍流图像复原算法。首先提出一种IIR 滤波方式的连续帧加权平均算法,用于去除湍流引起的图像畸变。同时利用当前光机的运动状态信息和运动目标信息,调整图像加权的权重和进行运动目标补偿,来避免因光机移动或者目标移动而出现的重影现象。其次,将传统频域的维纳滤波算法转换为空间域的模板滤波算法,利用提前估计的滤波模板,进行图像的去模糊操作。本文算法计算量小,可以在基于FPGA的硬件系统中实时实现。实验证明,本文算法在仿真测试和实际测试中均具有显著的湍流图像复原效果。

猜你喜欢

图像复原畸变湍流
“湍流结构研究”专栏简介
基于MTF的实践九号卫星图像复原方法研究
重气瞬时泄漏扩散的湍流模型验证
在Lightroom中校正镜头与透视畸变
湍流十章
基于MTFC的遥感图像复原方法
模糊图像复原的高阶全变差正则化模型构建
辐射诱导染色体畸变的快速FISH方法的建立
弱分层湍流输运特性的统计分析
一种自适应正则化技术的图像复原方法