基于FPGA的空间变化遥感数字影像复原算法研究
2017-12-27王苹
王 苹
(阳光学院)
0 引言
随着美国在1972年实施地球资源卫星计划,图像复原在遥感领域应用展开,并迅速发展.在遥感图像的成像过程中,由于成像链路的种种缺陷,造成遥感图像的模糊,即像质退化.现实中,遥感图像的获取代价非常昂贵,图像的质量直接影响着遥感信息获取的准确性和有效性,图像信息的降质降低了遥感图像的科学研究和实际应用价值,造成巨大的经济损失[1].图像复原技术能够抑制与补偿由于图像获取系统自身所固有的不完善或其他环节造成的图像降质,从降质的图像中复原有用的信息.针对这一现状,该课题针对实际遥感图像降晰函数为空间变化的特点,研究全色图像的复原处理算法和传递函数校正(MTFC)的方法[2],以及向基于多DSP的实时图像并行处理系统的移植技术,完成原理演示系统的设计与调试.
1 基于理想边缘预测的自适应PSF辨识
1.1 PSF辨识方法
由于图像在降晰过程中的信息损失,从单幅图像中辨识成像系统的PSF本身是一个病态问题,即可以得到降晰图像的未退化清晰图像与PSF的组合并不唯一.加入先验知识能过在一定程度上缓解.一般有两种途径加入先验知识:一是对图像的模糊核进行约束;二是对潜在的未退化清晰图像进行约束[3].该课题将采用后者.
作为一种无参盲PSF辨识方法,基于理想边缘预测的自适应PSF辨识方法[4]通过边缘检测搜索降晰图像中阶跃型边缘的位置和方向,以确定用于PSF辨识的有效模糊边缘,并通过预测有效模糊边缘在理想成像情况下的灰度分布,来最终辨识成像系统的PSF.由于辨识原理的制约,该方法只适合于单峰PSF的辨识.算法的主要计算流程如图1所示.
图1NEORM实现系统的层次结构
1.2 实验和结果分析
基于理想边缘预测的自适应PSF辨识方法,可以利用含有高灰度差阶跃型边缘纹理的模糊图像有效的辨识成像系统的PSF[5].此处通过一系列实验来验证基于理想边缘预测的自适应PSF辨识方法的有效性.
首先,分别采用9×9和21×21模板的高斯PSF对8bit量化的原始清晰图像进行模糊处理,并在图像中添加标准偏差为10的高斯噪声[6],如图2所示.
图 2 原始清晰图像与模糊图像
图3和图4中,展示了基于理想边缘预测的自适应PSF辨识方法辨识图像PSF的效果.通过真实的PSF与自适应辨识的PSF在数值和图像复原效果上的比较,在图像中有高灰度差阶跃型边缘的情况下,基于理想边缘预测的自适应PSF辨识方法能够准确地辨识图像的PSF.该文采用Wiener滤波[7]对模糊图像进行复原处理.
图3 9×9模板PSF辨识及图像复原效果比较
图 4 21×21模板PSF辨识及图像复原效果比较
在许多遥感图像中不存在高灰度差的阶跃型边缘纹理,这将对基于理想边缘预测的自适应PSF辨识方法的PSF辨识效果有一定影响.在遥感图像中存在较为理想的高灰度差阶跃型边缘的情况下,该方法也能够有较好的成像系统PSF辨识表现.
2 空间变化图像复原算法仿真及结果
2.1 评价标准
为了客观地评估改进后的算法与经典维纳滤波的处理效果,下面给出使用的两种评估标准:改善信噪比ISNR和结构相似度SSIM[8].
在图像处理领域被广泛使用,用于评估处理后图像改善的程度.其数学表达式为:
(1)
其中,Df为图像f的定义域.
由于ISNR是基于全局统计特性的,很难体现对图像局部区域内的改变,下面略作改进,通过计算各子块图像的ISNR的加权平均值来代替ISNR做为评估标准,其数学表达式为:
(2)
式中,w是子块图像的数量.在具体应用中,可根据各子块图像中含有细节信息的多少来确定各个权值.
由于结构相似度SSIM可以反映较细的结构信息,这里仍然把它做为一个评估标准,它的定义为:
(3)
2.2 滤波效果和性能分析
图5从主观视觉角度给出了两种算法的效果比较,可以看出该文的改进算法在噪声抑制和边沿保持方面要优于传统维纳滤波器.
图 5 遥感图像复原效果对比
在计算ISNR和MSSIM时,使用32×32的方形窗口.表1~表6使用ISNR和MSSIM两种标准分别给出了对算法的客观评价.该算法用于处理不同降质类型的图像时,在信噪比改善和细节信息恢复方面比维纳滤波器有一定的改善,得到了更好的复原效果.
表 1 ISNR比较:高斯模糊(方差α)加高斯噪声(σ2=0.002)
表 2 MSSIM比较:高斯模糊(方差α)加高斯噪声(σ2=0.002)
表 3 ISNR比较:高斯(α=0.9)+运动模糊(位移长度d)+高斯噪声
表 4 MSSIM比较:高斯(α=0.9)+运动模糊(位移长度d)+高斯噪声
表 5 ISNR比较:高斯模糊(α=0.9)+散焦模糊(散焦半径r)+泊松噪声
表 6 MSSIM比较:高斯模糊(α=0.9)+散焦模糊(散焦半径r)+泊松噪声
3 图像复原算法的实时实现
3.1 硬件平台
选用DSP、FPGA等高速处理器件成为图像处理系统的数据处理器,以满足处理速度的要求[9].目前,在高端研究领域中,图像处理的实时性要求越来越高,仅仅依靠提高处理单元的处理速度来改善图像处理实时性的效果不明显.图像并行处理技术主要用来解决海量图像数据处理的实时性问题,其利用时间和资源的交错重叠增加图像处理的吞吐量,改善图像处理速度,弥补单个处理器件处理能力上的相对不足.
该课题所使用的是由FPGA和4个DSP组成的并行处理硬件平台,利用FPGA的容量大、可编程实现很多功能,结合DSP具有高速的信息处理能力的特点,使得系统非常简洁,结构灵活,通用性强,系统也易于维护和扩展,如图6所示.4个DSP可以共享SDRAM资源和其它各DSP内部存储器资源.各个DSP与SDRAM、FPGA的总线接口都是无缝连接的,从而做到了资源共享和并行分布式处理,提高了数据传输速率.
图 6 并行处理系统总体框架结构
3.2 算法复杂度分析
对实时系统来说,算法的计算复杂度是非常重要的,对于大规模图像复原来说尤其如此[10].下面对算法的复杂度进行分析,用来作为是否能实时实现的依据之一.
首先,假定算法对32×32(N1=32)的子块图像进行FFT,这个过程要求=10240MAC运算.对于一个2250×6144/s的图像(实际输入图像的1/4),它由13500(N2=2250×6144∕(32×32)=13500)个子块图像组成,一共需要约132MMAC运算,即可求得G(u,v).输入为M1×M2的图像,这部分运算量公式表达为:
(4)
然后,对大于阈值的像元计数(1024MAC),用这个值来确定α.同样对于2250×6144/s的图像,需要72MMAC运算.如果 已知,则不需要做任何计算.输入为M1×M2的图像,这部分运算量公式表达为:
(5)
(6)
最后,若输入为M1×M2的图像,子块图像之间有m行n列的重叠,这样子块图像的数量变为N3:
(7)
以上N2用N3代替,总运算量为c=c1+c2+c3.考虑使用子块图像之间有4行4列的重叠,这样增加的计算量为96MMAC,对于2250×6144/s的图像所有运算加起来为458MMAC运算.由计算可以看出该算法的计算量随图像的尺寸线性增加.
在实时系统中,处理器除了实现算法,还有相当一部分时间是用于存取外部存储器,这是由于受存储器容量和图像推扫获取的限制,不可能全部在处理器内部存放.对于9000×6144/s的图像,在1s内输入、输出一次,则数据吞吐率至少要128MB/s.
3.3 多DSP并行处理算法设计
DSP处理器的资源(包括存储器、系统带宽、运算速度和精度等)有限,所以要对系统程序进行合理的设计,以获得最大限度地利用并行DSP处理器资源.图7为并行处理系统在实时图像处理应用过程中的数据处理时空图.它描述了并行处理系统中,一个数据单元在处理过程中随着时间推移按照流水方向先后经过各种处理环节,在时间和空间两个方向描述了流水线的工作机制.将时间离散化,在任意离散时间段内,系统中的各DSP都处于工作状态,对不同的数据单元进行复原算法的处理,利用输入数据的分拆提高处理速度.
图 7 多DSP数据处理时空图
图像输入数据由FPGA采集,以8行为一个单位,模拟LINKPORT数据时序,分4次发送给DSP1,做为DSP1一次处理的数据,接下来的数据以此类推,分别发送给DSP2、DSP3和DSP4;DSP4接收完后,又由DSP1接收,形成一个循环.各DSP的处理数据之间有一定的交集,这由片外的共享SDRAM通过地址空间交叠实现.
输出时与上述过程类似,在DSP1处理完一次数据后,分4次由LINKPORT发送给FPGA,FPGA将数据转换为指定的图像数据格式后输出,接下来分别是DSP2、DSP3和DSP4输出;然后又是DSP1输出,如此循环执行.系统采用SPMD(Single Program Multiple Data Stream Computers)形式,每个处理器执行相同程序来处理数据.
3.4 实验结果
图 8 输入的退化图像
图 9 复原处理后的图像
图8和图9分别给出了算法在演示系统上进行实时复原处理测试的客户端截屏图像.图8为输入的降晰图像,图9为经过复原系统复原处理后输出图像.
4 结论
该文研究是以某型星载光学全色/多光谱相机的实时图像复原处理原理演示系统为平台,针对实际遥感图像降晰函数为空间变化的特点,研究全色图像的复原处理算法和传递函数校正(MTFC)的方法.主要研究内容是,降晰函数空间变化规律与MTFC的关系;单通道、单幅的空间变化的非迭代图像复原算法;面向TS201的多DSP复原算法移植与优化技术以及图像模拟发生与采集分系统和复原处理系统的联调.同时,应总体路线流程要求,进行了各个模块的处理分析与验证,并在图像复原处理原理演示系统平台上实现实时复原.