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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

) Z# {: ]  k' E* C7 `0 R. L, d. o  a0 F% M3 [8 x  Z' V
1.2  几何推导法硬件实现
! H9 C. H) D; o& C/ k: x; V由于FPGA只能进行整数计算,所以将浮点数转换为整数进行计算,由8位2进制数表示【0,1】,量化精度为0.003 921。给定一幅RGB彩色图像,每个RGB像素的H 分量可由下式得到∶
8 q3 W- X2 ~8 Y3 H! z$ ~* s$ v
; G& ?0 W  G5 e1 x! F: n8 _$ {* o4 u9 O
2、滤波窗口和排序模块, o* f9 o8 F5 M5 ^& p* ]! i
本节将介绍3×3、5×5和7×7滤波窗口的获取,以及窗口内最小值、最大值和中值的获取,并将其在硬件上实现。
, d  S1 s- t  V  T2.1  自适应滤波窗口的生成& T  Z, T  g# O1 a
本系统自适应中值滤波支持最大滤波窗口为7×7,为实现实时图像处理,此模块直接生成7×7的滤波窗口,3 ×3、5×5滤波窗口可直接从7×7的滤波窗口得到。为保护图像细节,我们采用扩展邻近像素点的方式对边界进行填充。7 ?5 Q8 k0 J( Z2 H+ x5 M( P
我们采用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个有效像素时钟。: r1 s9 [! S) Z" Y' |7 Z
1 b1 u; v3 T+ V* S9 r; J2 F

( Z( ^, g1 j; X7 p- j% k
! d3 d" c5 o6 Z  B- [$ h

实时彩色图像自适应中值滤波算法的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-11-2 17:18 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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