基于FFT的红外图像滤波算法的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第37卷,增刊红外与激光工程
2008年6月V ol.37Supplement
Infrared and Laser Engineering
Jun.2008
收稿日期:2008-03-31
作者简介:董常军(),男,河南濮阳人,助理工程师,主要从事图像预处理与F G 设计研究。

j @63基于FFT 的红外图像滤波算法的设计与实现
董常军,王
晖,刘思思
(中国空空导弹研究院,河南洛阳
471009)
摘要:线列扫描红外成像系统的图像中存在大量随机变化的横条纹噪声,严重影响成像质量。

在对噪声特性进行分析的基础上,提出了一种在频域进行滤波的去噪算法。

仿真和实验证明此算法能较好地完成去噪功能。

介绍了算法在FPGA 中的实现方法,并对资源占用情况进行了分析。

关键词:横条纹噪声;FFT ;
频域;
FPGA
中图分类号:TP391
文献标识码:A
文章编号:1007-2276(2008)增(红外)-0626-03
Filtering algorithm of infrared image based FFT
DONG Chang-jun,WANG Hui,LIU Si-si
(ChinaAirborne Mi s sile Academy,Luoyang 471009,China)
Abstr act:There are numerous of horizontal noise in linear-scan infrared imaging system,which can affect the im aging quality .In this paper,firstly the noise characteristic is analyzed,secondly an algorithm of filter in frequency domain is introduced,and then the realization in FPGA is presented.
Key wor ds:Horizontal noise;
FFT;
Frequency domain;
FPGA
0引言
随着科学技术的飞速发展,红外技术已由过去的非成像系统发展为现在的成像系统。

在线列扫描成像系统中,由于线扫本身固有噪声,以及导引头内部电磁环境非常复杂,导致成像质量有所下降,表现在图像中存在大量随机变化的横条形噪声。

横条纹噪声的存在,使图像信噪比下降,致使导引头有效探测距离减小,对弱小目标的截获和跟踪造成不利影响,导致虚警率升高等现象,因此必须想办法去除。

在对前放电路和预处理电路进行大量修改都不能很好完成去噪工作的情况下,最终采用了一种在频域进行滤波处理的方法,取得了很好的效果。

1问题来源及分析
典型红外图像如图1
所示。

图1带条纹噪音的红外原始图像Fig.1
Original infrared im age with noise
在图1的例子中能够明显发现图像存在横向和纵向的条纹噪音。

纵向条纹噪声由探测系统的非均匀性引起,可以通过非均匀校正算法很好的去除。

横向条纹产生的原因比较复杂,与探测器及前放预处理电路都有关系。

为改善图像质量在前放电路和预处理电
路部分做了大量的工作,图像质量虽有所改善,但性
1981-P A Email:chang und
增刊董常军等:基于FFT 的红外图像滤波算法的设计与实现627
能参数较差的探测器图像质量仍不能满足系统成像要求。

最终采用在FPGA 内部采用频域滤波算法实现去除横条纹处理。

2滤波算法分析
经分析条形噪声是一种加性噪声,且条形噪声为
非零均值的高斯噪声,可以通过分析噪声的频谱,在频率域进行滤波。

所以所选择的滤波方案如图2所示,先把含噪声的图像进性FFT 变换,分析噪声的频谱特性,对横条纹噪声部分FFT 变换后的系数进行抑制,再进行反FFT 变换,最终达到抑制横条纹
噪声的目的。

图2滤波算法原理框图Fig.2
Block of filtering algorithm
统计结果表明,原始图像的信噪比为0.5783,滤波后的图像信噪比为2.223,提高了图像信噪比。

由Matlab 仿真图可见经过滤波信噪比得到了显著提
高,图像中的横向条纹被滤除。

图3Matlab 仿真滤波效果图Fig.3
Result of Matlab simulation
3硬件实现
3.1FFT 与IFFT 的实现
从滤波原理图可以看到,实现FFT 和IFFT 是此
算法的关键。

实现FFT 和IFFT 有两种方法,一种是自己写源代码,这要求对FFT 的蝶形算法有熟练掌握。

另一种并且也是比较通用的做法则是采用FPGA 厂家提供的成熟的IP 核。

第二种方法只需要对复杂的FFT 蝶形算法有粗略了解,只要根据FPGA 厂家提供的数据手册进行相应的配置和设计,满足时序要求,即可设计出速度快、资源省的FFT 和IFFT 模块。

本设计中采用的是第二种方法。

由于每行图像的数据量为128,所以此处的FFT 和IFFT 均为128点。

3.2
硬件结构及时序分析
图4算法硬件结构图
Fig.4
Hardware structure of realization
第一级FIFO 在行正程实现对一行数据的缓冲,在行逆程到来的时候将FIFO 中的数据送去做FFT 变换,在得到图像的频谱信息后根据算法对相应的元素进行置零操作,然后再对得到的数据进行IFFT 处理。

由于将频谱信息中的第一个元素置零就相当于滤除
了图像数据的直流量,所以,IFFT 变换后的数据有许多负数,而真实的图像数据中没有负数,所以,在IFFT 变换后要加上一个直流量。

当此处滤波处理的主时钟采用20ns 时,完成FFT 、频谱抑制、IFFT 的时间为26s 左右。

本系统中行逆程时间小于26s,所以在第二行的正程才能完成上述处理。

在第3行正程的信号到来的时候从第二级FIFO 中把滤波后的数据读出送去后面的校正处理。

详细的FFT 处理时序参见文献[1]。

3.3
资源使用分析
本设计中的FFT 和IFFT 采用基2结构,这种结构在Xilinx 公司提供的FFT 的IP 核的三种实现方式中,占用资源最省。

对滤波模块进行布线可知,此模
块占用:12块BlockRAM ,18个硬件乘法器,2004个Slice 资源,分别占系统选用器件xc2v2000相应资源的21%、32%、18%。

把滤波模块添加到原有成像系统中后,最终占用的资源为53块BlockRAM ,19个硬件乘法器,5717个Slice ,分别占器件xc2v2000相应资源的94%、33%、53%,BlockRAM 资源有些紧张,但仍能满足需求。

628红外与激光工程:红外成像系统仿真、测试与评价技术第37卷
3.4硬件实现效果
把滤波算法添加到现有成像系统之后得到的图像效果如图5、图6
所示。

图5滤波后手的图像Fig.5
Hand image after
processed
图6滤波后脸部图像
Fig.6
Face image after processed
由图5、图6可以看到,加入滤波算法后确实在很大程度上消除了图像中的横条纹。

4结论
通过FFT 把图像变换到频域进行处理的滤波算法,完全能够加到现有的系统中去,在前期的Matlab 仿真和FPGA 的软件仿真中都取得了比较良好的效果,并且在硬件中已得到实现,最终图像质量有了较大的提高。

虽然通过此种滤波算法有效去除了横条纹噪声,但还是存在占用FPGA 资源较多、运算时间较
长等缺点,有进一步改进的空间。

下一步的工作是研究产生横条纹噪声的根本原因,以及改进硬件滤波算法,从根源上提高成像质量。

参考文献:
[1]Fas t F ourier Transform v3.2[M].Xilinx C ompany 2006.
[2]
GONZALEZ R C.数字图像处理(第二版)[M].北京:电子工业出版社,2004.[3]贺兴华.Matlab 7.x 图像处理[M].北京:人民邮电出版社,2006.[4]
余成波.数字图像处理及Matl ab 实现[M].重庆:重庆大学出版社,2003.[5]
赵俊超.集成电路设计VHDL 教程[M].北京:希望电子出版社,2002.。

相关文档
最新文档