找回密码
 注册
关于网站域名变更的通知
查看: 207|回复: 2
打印 上一主题 下一主题

实时彩色图像自适应中值滤波算法的FPGA实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-7-27 10:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
摘要∶图像在采集、压缩、传输和接收的过程中,会受到脉冲噪声的影响,给后续的边缘检测、图像分割或目标识别等造成干扰;传统中值滤波将图像的RGB分量转为YCbCr分量进行滤波,该转换方法会损失一定的色度信息,且未将彩色信息完全分离,导致滤波后的图像产生色彩偏移;针对上述问题,利用HSI彩色空间中的I和S色彩分量对椒盐噪声进行检测,并通过自适应中值滤波将椒盐噪声滤除,图像还原度更高;利用FPGA对算法进行了硬件加速,在xc7a100tfg484-2芯片上运行频率达222 MHz,可实现2k@60Hz视频的实时处理。" [+ f% o. N6 T7 p/ J! b3 t: B
& e6 L' b5 F$ b7 H1 I2 Q/ W1 P6 [
0  引言, G/ A+ P3 n+ U8 {  ~$ v7 N
数字图像在采集、传输和处理的过程中,由于设备工作环境的恶劣,会引入一些随机、离散噪点,降低了图像质量和视觉效果0-21。现实环境中存在多种图像噪声,如高斯噪声、随机噪声、瑞利噪声等3,图像降噪应兼顾降噪效果和细节保留这两方面。
- i& g. [+ G; T目前对椒盐噪声的滤除,有加权中值滤波算法**、开关中值滤波算法57、自适应中值滤波算法和改进型中值滤波算法7-101,自适应中值滤波算法运算量大、复杂度高,虽然在PC端可以达到很好的滤波效果,但由于其串行计算的特点,很难满足对高分辨率、高速图像实时滤波的要求。FPGA(Field Programmable Gate Array)为半定制电路,可通过流水线等操作实现面积与速度的互换,可直接将算法映射为电路,从而可极大加快算法执行的效率。目前彩色图像的中值滤波主要是将RGB彩色空间转换到YCbCr彩色空间,然后对Y分量进行滤波。由于YCbCr色彩空间会损失掉色度信息,因此降噪后的图像会产生失真。) |7 H" I4 y3 Y% F  k
鉴于此,结合HSI(Hue Saturation Intensity)色彩空间特点设计了一个基于FPGA的实时彩色图像自适应中值滤波系统,极大的增强了滤波的实时性。最终实验结果表明该系统可对2k(2560×1440)@60Hz彩色视频实时处理,且滤波后图像色彩还原度高,具有广阔的应用前景。
) ]6 m9 E$ n8 r; V" @. t
( ^" h' `, E% T8 N* C* w* x1、RGB-HSI模块
! Z: j5 T% C. i; H" A本节将介绍HSI彩色模型,并将几何推导算法和分段定义算法在FPGA硬件上实现。
. v6 v/ l' S9 K! m* ?. i1.1  HSI彩色模型- j$ j9 c6 N* [) H
我们观察物体时,用其色调、饱和度和亮度来描述这个物体。HSI彩色模型可从携带彩色信息(色调和饱和度)的图像中去除强度分量的影响。因此,HSI模型是开发基于彩色描述图像算法的理想工具。如图1所示图(a)为基于圆形彩色平面的HSI彩色模型,图(b)为基于三角形彩色平面的HSI彩色模型。以图(a)为例,白色顶点与黑色顶点相连的轴为亮度轴,饱和度为像素点与亮度轴的距离,色调为像素点与红色轴的夹角,在亮度轴上饱和度为0且无色调。常见的RGB-HSI转换算法共有5种,算法的具体推导和公式可查阅文献【14】获得。由于HSI各分量间相对独立,故可以根据具体应用,将不同算法的HSI公式交叉使用。下节分别在FPGA上实现几何推导算法和分段定义算法,通过对两种方法转化后图像的质量进行对比,在转化精度与消耗硬件资源之间进行权衡,选择合适的算法。2 G, g+ k# G( c$ y4 ]
3 Q8 K, Q: r1 r' k+ T5 b

( s# f9 {. H0 j% V1.2  几何推导法硬件实现6 ~- c/ S0 N. T/ f
由于FPGA只能进行整数计算,所以将浮点数转换为整数进行计算,由8位2进制数表示【0,1】,量化精度为0.003 921。给定一幅RGB彩色图像,每个RGB像素的H 分量可由下式得到∶' q" q  A* v$ H, J  e, }

# t8 L" r0 y1 R5 B! Z, O
5 {( @, Y$ x  N" [/ F2、滤波窗口和排序模块3 f% N8 N5 J) c" Z7 t" C
本节将介绍3×3、5×5和7×7滤波窗口的获取,以及窗口内最小值、最大值和中值的获取,并将其在硬件上实现。9 p1 e" f/ r; m& r. L
2.1  自适应滤波窗口的生成  W4 |  E# n' p% G2 ^( I0 i5 p
本系统自适应中值滤波支持最大滤波窗口为7×7,为实现实时图像处理,此模块直接生成7×7的滤波窗口,3 ×3、5×5滤波窗口可直接从7×7的滤波窗口得到。为保护图像细节,我们采用扩展邻近像素点的方式对边界进行填充。6 t0 V" a4 n, m' g
我们采用RAM存储图像前6行的数据,而输入的数据作为第7行,这样可以节省一行RAM硬件资源。由于图像分辨率为400×480,HSI分量需要25 bit来存储,其中H 为9 bit、S为8 bit、I为8 bit,因此我们需要调用6个位宽为25 bit、存储深度为400的SIMple Dual Port RAM。RAM存储时序如图3所示,由于RAM读取数据需要一个时钟周期,所以要将输入像素数据延时一个时钟周期,延时后的像素数据与6个RAM读出的数据构成一个"七行一列”的像素数据。为防止RAM读写冲突,输入的像素数据在RAM1读出数据后写入RAM1中,相应的RAM1读出的数据在RAM2读出数据后写入RAM2中,以此类推。连续缓存7个“七行一列”的像素数据就可以生成7×7的滤波窗口。因为需要等3行像素数据的缓存,所以第一个7×7的滤波窗口与第一个像素相差1200个有效像素时钟。! t: u8 c( R2 M+ R# r) ^/ S" z

1 c& J( L. H% I$ Z4 [8 a/ \. O4 ?4 d

# ]! ]- \( Z/ X4 B

实时彩色图像自适应中值滤波算法的FPGA实现.pdf

3.45 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-7-27 10:58 | 只看该作者
深度好文章,学习学习。||ヽ(* ̄▽ ̄*)ノミ|Ю

该用户从未签到

3#
发表于 2022-7-27 13:18 | 只看该作者
非常详细的资料,可以好好学一下了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 23:44 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表