光学 精密工程, 2022, 30 (15): 1868, 网络出版: 2022-09-07  

可见光视频去噪及其FPGA硬件实现 下载: 531次

Visible light video denoising and FPGA hardware implementation
赵思娴 1,2万敏杰 1,2,*钱惟贤 1,2周琳 1,2韶阿俊 1,2陈钱 1,2顾国华 1,2,*
作者单位
1 南京理工大学 电子工程与光电技术学院,江苏南京20094
2 南京理工大学 江苏省光谱成像与智能感知重点实验室,江苏南京10094
摘要
在静止场景下普通的图像滤波算法就能够有效抑制噪声,而在运动状态下,现有的滤波算法难以保证去噪的有效性,还会产生拖尾现象;采用运动补偿的滤波算法,又无法有效地抑制噪声。针对以上问题,提出一种基于时空域滤波的视频去噪算法,并在现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)平台上实现。该算法主要运用高斯差分滤波提取图像特征,再用空域滤波抑制高频噪声,采用反馈的方式对分割出的图像区域采用不同的去噪策略。硬件实现的关键是利用高层次综合(High-level Synthesis,HLS)工具简化编程、DDR3控制模块操作视频流在各模块间输入输出。实验结果表明:该算法能有效去噪,不同场景下,相比基于非下采样轮廓波变换的去噪算法,峰值信噪比最多可提升15 dB;将算法移植到FPGA后,峰值信噪比相比于MATLAB软件仿真相差约0.3 dB,运行时间缩短71.5%以上,在兼顾实时性的同时达到了较好的可见光视频去噪效果。
Abstract
It is difficult to suppress the noise in static state of the existing filtering algorithm. Moreover, motion compensated filtering algorithm fails to effectively suppress noise. To solve these problems, a video denoising algorithm based on spatio-temporal filtering is proposed and implemented on the field programmable gate array (FPGA). The algorithm mainly uses Gaussian difference filtering to extract image features, and then applies spatial filtering to suppress high-frequency noise. Simultaneously, different denoising strategies are adopted for the segmented image area by feedback. Implementing hardware requires high-level synthesis tools to simplify programming, and is to make DDR3 control module to operate input and output of video stream between modules. Simulation results show that the proposed algorithm can be used for denoising. For different scenes, the peak signal-to-noise ratio can be increased by up to 15 dB in comparison with the denoising algorithm based on a non-subsampled contourlet (NSCT). After transplanting the algorithm to FPGA, the difference between PSNR and MATLAB simulation program was approximately 0.3 dB, and the running time was shortened by over 71.5%. Considering the real-time performance, PSNR achieves a better visible video denoising effect.

1 引 言

视频信号产生噪声的主要原因是在采集、压缩、传输等过程中受到周围环境、温度等方面的影响,以及设备、传输信道等因素的干扰。一方面,由于相机自身成像时图像会产生非均匀性或者在传输过程中产生动态噪声;另一方面,外在的环境因素,如雾霾、沙尘暴等极端恶劣天气、或光照不足的情况下,成像对比度较低,从而存在图像污染、模糊或轮廓丢失等问题,导致接收到的视频信号质量严重下降,影响视频的视觉效果,也为后续的分析及视频图像的增强1带来不便。因此,视频实时去噪算法研究有着广泛的应用价值与实际意义。

目前,较为普遍的视频去噪算法大致可以分为三类:变换域去噪、空间域去噪和时间域去噪。变换域去噪又称为频域去噪,先对图像进行特定的变换,如傅里叶变换、离散余弦变换2和小波变换3等,把图像信号转换到变换域中,针对图像真值和噪声在频域上的区别进行处理,再把处理完的数据反变换后得到去噪后的图像,这就导致该去噪方式的运算时间较长。近年来,虽然小波变换在视频去噪领域中有了较大的发展,但固定小波基的分解模式不能完全表示自然图像,去噪结果会有一定的偏差4。非下采样轮廓波(Nonsubsampled Contourlet, NSCT)算法5利用非下采样轮廓波变换,弥补轮廓波有下采样的缺点,增加视频帧中的结构信息特征,算法复杂度也相应提升。空间域去噪算法主要去除的噪声以加性噪声为主,因为视频图像中邻域像素相关性较强,一般可根据邻域像素的局部特征对视频去噪6。一些经典的空间域去噪算法主要为中值滤波、均值滤波及自适应滤波等。经典的空域滤波虽然复杂度低、运算时间短,但会模糊视频细节;为改善空域滤波的效果,基于马尔可夫随机场理论的模型,如FRAME模型7、VISTA模型8、FOE模型9等,通过学习的方式获得参数,能够避免人为设置参数所造成的误差,因此有很大的优势10。时间域滤波利用视频前后几帧的相关性来设计算法达到去噪的效果,如基于金字塔结构的去噪算法11,满足实时性要求,但去噪效果还有上升空间。近年来,多种域结合的算法,如空间域与频率域结合的三维块匹配(Block Matching 3D,BM3D)算法12被提出,此算法在转换域中加强稀疏表达,在处理图像细节及高斯白噪声时效果较好,但在处理具有高对比度图像的边缘时,由于匹配块不能完整表示图像细节,图像边缘会产生振铃效应13。除此之外还有时空频域结合的算法14,该算法结合了时空域的降噪方法,同时在频域上采用了高斯和拉普拉斯金字塔,达到了很优秀的去噪效果,然而算法复杂度高,且未实现实时处理。在考虑到硬件并行设计方面,也出现了结合时空域的运动纹理感知去噪算法15

为了提高视频去噪算法的去噪能力与实时运行时间,本文提出了一种针对可见光波段的时空域去噪算法,并成功移植到FPGA硬件平台。

2 去噪原理

本文的视频去噪算法的完整流程如图1所示。该算法先用高斯差分(Difference of Guassian, DOG)滤波得到4层DOG来提取当前帧图像的特征信息;再对最高层DOG1用卷积模板做空间域滤波,抑制高频噪声;剩下3层DOG在时间域上采用区域分割滤波,对不同的区域采取不同的滤波策略;最后把处理后的各层图像相加,得到最终的去噪结果。

图 1. 时空域视频去噪算法流程

Fig. 1. Flow chart of spatio-temporal domain video denoising algorithm

下载图片 查看所有图片

2.1 高斯差分滤波

为了使算法具有运动补偿的效果,需要对每帧图像的特征区域进行提取。现有的DOG滤波16具有较好的边缘检测能力,广泛地应用于数字信号图像处理中。其函数表达式为:

GD=Gσ1-Gσ2=12π1σ12e-(x2+y2)2σ12-1σ22e-(x2+y2)2σ22

其中:σ1σ2为高斯滤波的标准差,并且σ1<σ2xy表示二维平面的横纵坐标。由于高斯滤波函数对图像的平滑程度是通过σ实现的,σ越大,平滑程度越高,高频成分越少。当DOG滤波器中心区域通过点线特征较为明显的区域时,因为点线特征周围的背景灰度值较小,高斯滤波后特征处的结果数值较大;当滤波器中心通过灰度值起伏变化不大的平缓区域时,高斯滤波结果则趋于零。如此,便达到了抑制平缓背景的效果。

本算法使用了4个高斯滤波参数,4个参数的大小为σ1<σ2<σ3<σ4,具体取值为1.5,2.5,5.5,10.5,对应得出4层DOG结果:DOG1,DOG2,DOG3,DOG4。以实验视频其中一帧为例,4层DOG如图2所示。由于σ1最小,DOG1中包含的高频噪声最多,需要单独对DOG1做进一步的高频噪声抑制处理。

图 2. 一帧视频的高斯差分滤波结果

Fig. 2. DOG filter result of one frame

下载图片 查看所有图片

2.2 空间域滤波

为了滤除DOG1中的高频噪声,单独对该层进行空间域滤波。由于噪声大部分都服从高斯分布,该层内的高频噪声即为邻域范围内的极大值点,在图像二维平面内可转换成求离散函数的偏导,公式如下:

fx,yx=fx+1,y-fx,y

fx,yy=fx,y+1-fx,y

由此可知,高频噪声只有邻域极大值的特征而不含有表征方向的信息,因此可用基于梯度的卷积模板来剔除高频噪声,提取含有方向信息的图像特征边缘轮廓信息。

用来抑制极大值的空域滤波卷积模板如下:

G0=110-1-1110-1-1110-1-1110-1-1110-1-1

G45=111101110-1110-1-110-1-1-10-1-1-1-1

G90=111111111100000-1-1-1-1-1-1-1-1-1-1

G135=111101110-1110-1-110-1-1-10-1-1-1-1

其中:G0G45G90G135分别是0°,45°,90°和135°方向上的滤波模板。

2.3 时域区域分割滤波

在运动场景中,前后两帧的线面特征会产生位移,静止背景部分的平坦区和特征区域部分的突变区可以通过前后两帧之差进行区分。为了进一步滤除噪声,需要对4层DOG进行时间域上的滤波,即在时间域上对4层图像数据进行区域分割,具体分割方式如图3所示。

图 3. 时域区域分割滤波流程

Fig. 3. Flow chart of domain division filtering in time domain

下载图片 查看所有图片

计算当前帧DOG与上一帧去噪结果的差值,当这个差值小于阈值时,判定当前像素在平坦区域,像素值不变;当差值大于阈值时,判定当前像素在突变区域,取上一帧去噪结果与当前帧DOG的加权平均作为当前帧的去噪结果,其中,权值a通常取0.8,表明前一帧的滤波结果对当前帧的滤波结果影响较大。最后把4层DOG的滤波结果和σ4对应的高斯滤波结果相加得到去噪后的图像,如图4所示。

图 4. DOG滤波结果

Fig. 4. Filtering results of DOG

下载图片 查看所有图片

3 算法的FPGA实现

该算法使用VIVADO 2019进行硬件编程,在ZYNQ7045,型号为xc7z045ffg900-2的硬件开发平台上实现,cameralink接口连接开发板与黑白可见光相机成像,HDMI接口连接开发板视频输出端口与显示屏,最终显示去噪后的视频图像,总体硬件架构如图5所示。

图 5. 本文去噪算法的硬件架构

Fig. 5. Hardware architecture of denoising algorithm in this paper

下载图片 查看所有图片

首先,相机输入的视频数据流通过cameralink接口进入数据解码模块,该模块将数据流转换成标准的VGA时序信号后输出;在进入下一个模块之前,需要利用Video In to AXI4-stream 这个IP核把VGA时序信号转换成AXIstream格式的数据流,因为分层模块需要的输入输出数据都是AXIstream格式的数据;数据格式转换完成后,通过分层模块把原始视频帧信号分成4层,输入数据格式转换模块,该模块由5个Video In to AXI4-stream IP核组成,把4层数据信号加上原始图像数据转换成标准VGA时序信号,方便时空域滤波模块对数据的处理;FDMA(AXI4 FULL MASTER DIRECT MEMORY ACCESS)能通过控制模块、MIG控制器和DDR交互,对滤波模块输出结果通过三缓存的方式存入DDR,然后输出上一帧的滤波结果给滤波模块;VDMA(VIDEO DIRECT MEMORY ACCESS)是VIVADO中专门用来传输图像数据的IP核,通过该IP核将最终结果送入HDMI实现结果在显示器的显示;HLS图像分层模块和VDMA都需要通过PS(Processing System)部分的ARM核来配置参数。

3.1 Cameralink数据解码模块

本文算法实现所选用的可见光相机输出单通道8 bit视频帧数据,采用的Cameralink标准的视频传输模式是Base模式。FPGA开发板收到的图像相关信号有28 bit,包括1 bit场有效信号、1 bit行有效信号、1 bit数据有效信号和24 bit数据信号。24 bit的数据信号分成A,B,C三个端口,根据相机每时钟周期输出的像素个数使用的端口数不同,根据端口定义就能够解码得出正确的图像数据。最后,把该解码模块封装成IP核添加在本设计中,解码出来的数据如图6所示。其中,v_sync与h_sync分别是场有效信号与行有效信号。检测到场有效信号上升沿时为一帧视频的开始,下降沿为一帧视频的结束;行有效信号为1时,表示正在进行一行数据的传输;数据有效信号与行有效信号相同。D16_o是最后解码出来的视频数据信号。

图 6. Cameralink解码数据

Fig. 6. Cameralink decodes data

下载图片 查看所有图片

3.2 HLS数据分层模块

该模块用来实现4个不同参数的高斯滤波,为后续产生4层DOG做准备。如果高斯滤波使用HDL编程,不仅代码复杂度高,而且会占用大量资源,所以使用赛灵思自带的VIVADO HLS工具来实现。HLS支持C语言编程,并且支持包含Opencv在内的视频图像处理库函数,完成编程后,能直接把C语言综合成HDL代码组成的IP核,同时自带优化指令,方便IP优化,大大降低了开发时间。

为了进一步简化代码,便于硬件实现,把高斯滤波简化为先用4次降采样,得到4个降采样数据,然后分别还原成原始图像的分辨率,降采样和还原分辨率用到的HLS库函数分别是hls::Prydown和hls::Resize。最后封装完成的IP核如图7所示。其中,输入端s_axi_AXILiteS是控制信号,src_axi是数据信号,ap_clk是时钟信号,ap_rst_n是复位信号;输出端dst_axi,dst_axi2-5分别是4个降采样并还原原始分辨率后的数据信号和一个原始数据信号。

图 7. HLS模块的IP核

Fig. 7. IP core of HLS module

下载图片 查看所有图片

3.3 空间域滤波模块

FPGA实现图像的空域滤波算法基于滤波模板与图像数据做滑动窗口卷积,需要在FPGA内开辟一个缓存区形成图像窗口。选择shiftram IP核作为缓存图像数据的寄存器,在与N×N的卷积模板做卷积时,一共需要N个shiftram IP核。本算法选取5×5的卷积模板,共需要5个shiftram IP核。以3×3卷积窗口为例,实现原理如图8所示。

图 8. 卷积滤波窗口原理

Fig. 8. Schematic diagram of convolution filter window

下载图片 查看所有图片

3.4 时间域滤波模块

时间域滤波移植到FPGA硬件平台上要主要解决的问题是滤波结果的多帧缓存以及当前帧DOG与上一帧滤波结果的像素匹配处理。DDR3因其内存大、有赛灵思提供的MIG控制器来控制其读写,是用于多帧缓存的最佳选择;同时,为实现像素匹配,需要有一个高速接口访问DDR3,因此加入FDMA IP核。

FDMA是DMA(DIRECT MEMORY ACCESS)的变形。DMA包含一条数据总线和一条地址总线,一般具有能一次传输多个字节数据的突发传输的功能,能大大增强系统的整体吞吐能力17。FDMA就是在DMA的基础上把两条总线换成AXI4-FULL(Advanced eXtensible Interface)总线协议,以便与MIG控制器进行数据交互。FDMA IP核如图9所示。通过上述自定义IP模块就能快速进行数据交互,实现像素配准。

图 9.

Fig. 9. IP core of FDMA

下载图片 查看所有图片

为了生成FDMA输入端的数据打包格式,需要有一个FDMA控制模块,需要给FDMA输出读写请求和读写地址信号,并通过输入视频帧的行场信号控制异步FIFO把8位数据组包成32位数据送入FDMA,同时把对应地址的FDMA输出的32位DDR读出数据拆包成8位上一帧滤波结果数据,送入计算模块,异步FIFO组包数据流如图10所示。

图 10. 组包数据流

Fig. 10. Packet data flow

下载图片 查看所有图片

FIFO写入时钟为25 MHz,读出时钟约为150.7 MHz,以写入时钟约6倍的速度读写DDR,可使视频当前帧数据与从DDR中读出的上一帧视频数据同时输入下一个模块,完成时域区域分割滤波。

由于需要对4层DOG进行滤波处理,利用FPGA的并行处理能力,采用4路FDMA IP核通过AXI4总线连接到MIG控制器,使得四路DOG能够同时输入输出。

4 实验与结果分析

硬件平台的搭建及去噪结果如图11所示。硬件平台由结果显示器、编程及操作显示器、ZYNQ7045开发板、可见光黑白相机(通过Cameralink接口与开发板相连)及拍摄目标组成。为了能直观地显示去噪效果,显示器可同时输出相机原图和去噪后图像,上半部分为原始视频图像,下半部分为去噪后的视频图像。可以看出,该算法有一定的去噪效果,但由于选用的相机噪声较小,视觉效果不太明显。

图 11. 本文去噪算法的硬件平台

Fig. 11. Hardware platform of denoising algorithm in this paper

下载图片 查看所有图片

4.1 定性实验

对15个含噪可见光视频场景,用本文算法(包括MATLAB软件平台与FPGA硬件平台)、NSCT去噪算法18、FOE算法9、基于金字塔结构的去噪算法11和BM3D算法12进行处理,截取其中一帧,去噪结果如图12所示。

图 12. 本文算法软硬件实现结果及不同去噪算法的结果

Fig. 12. Denoising results of software and hardware of proposed algorithm and denoising results of different algorithms

下载图片 查看所有图片

图中,原始图像是用低噪相机拍摄的视频场景,含噪原图采用原图加上幅度为20 dB的噪声合成。从视觉效果上看,BM3D算法对噪声有一定的抑制,且图像细节保留也较为完好,但是图像的明暗程度有所改变;NSCT算法对噪声的抑制最为明显,但细节模糊较为严重;FOE算法和基于金字塔结构的去噪算法都有一定的去噪效果,也都保留了图像细节;本文算法在不改变图像明暗的同时,对噪声有明显的抑制,且细节部分保留完好。

算法的硬件移植方面,在视觉效果上MATLAB处理后对比原图去噪效果明显,且无拖尾现象产生;移植到FPGA上后,处理结果与MATLAB相比无明显差别。

4.2 定量实验

将本文算法包括MATLAB软件平台与FPGA硬件平台的实现与NSCT去噪算法18、FOE去噪算法9、基于金字塔结构的去噪算法11和BM3D去噪算法12的结果用峰值信噪比(Peak Signal to Noise Ratio, PSNR)、结构相似性(Structural Similarity Index Measure, SSIM)和一帧视频处理时间进行评价。其中,PSNR是信号峰值与噪声均值之比,数值越大,失真越小;SSIM从亮度、对比度、结构三个方面分析处理前后图像的相似性,取值区间为[0,1],值越大,失真越小。PSNR与SSIM的计算公式分别为:

PSNR=10×log10(2n-1)2MSE

SSIM(x,y)=(2μxμy+c1)(2σxy+c2)(μx2+μy2+c1)(σx2+σy2+c2)

其中:n表示采样值的比特数,MSE是原图与处理后图像间的均方误差,xy为两幅图像,μxμy分别是xy的均值,σx2σy2分别是xy的方差,σxyxy的协方差,c1c2是用来维持稳定的常数。计算结果如表1~表5所示,其中金字塔表示基于金字塔结构的去噪算法,MATLAB实现和FPGA实现分别表示本文算法在MATLAB和FPGA上的实现。由表可知,本文算法在大部分场景中的定量指标都优于NSCT算法、基于金字塔结构的算法和BM3D算法。在场景5中,本文算法的PSNR相比NSCT算法的PSNR提升一倍左右;本文算法的PSNR虽然在场景11这种明亮且背景单一的地方稍低于FOE算法的PSNR,但总体而言相差不大且SSIM有一定的提升;在SSIM指标上,4种算法比较接近,在场景13中NSCT算法的结果虽然比本文算法更加模糊,且PSNR指标明显低于本文算法,但SSIM数值却略高于本文算法。其原因可能为:在场景13这种线条特征明显、整体灰度值变化平稳的场景,SSIM指标更倾向于去噪后图像的平滑性,而对图像的模糊程度考量较少。总体而言,本文算法相较于其他算法在整体稳定性方面比较突出。在处理时间上,NSCT算法所用时间最长,大约50 s才能处理一帧视频,FOE算法大约需要3 s,基于金字塔结构的算法、BM3D算法和本文算法都只需要0.4 s左右的时间,但在绝大多数场景下,本文算法的处理时间仍优于基于金字塔结构的算法和BM3D算法。综合上述3个客观指标,由于本文算法结合了时间域和空间域滤波并分区域采用不同的去噪手段,去噪能力有了可观的提升。

表 1. 场景1~3处理结果对比

Table 1. Comparison results of scene 1-3

算 法场景1场景2场景3
PSNRSSIMt/sPSNRSSIMt/sPSNRSSIMt/s
NSCT33.592 80.921 750.208 820.204 20.801 249.547 628.458 20.655 349.615 6
FOE34.598 10.869 12.591 527.449 30.535 72.690 428.414 00.532 22.699 3
金字塔33.548 70.834 70.325 421.534 80.514 30.402 428.376 90.616 60.396 5
BM3D33.022 70.822 00.399 420.204 20.487 20.409 427.827 80.602 40.425 5
MATLAB实现34.878 30.940 60.392 327.956 30.581 60.390 628.845 30.694 00.357 8
FPGA实现34.610 80.921 00.159 326.734 80.573 20.153 428.276 40.657 60.126 5

查看所有表

表 2. 场景4~6处理结果对比

Table 2. Comparison results of scene 4-6

算 法场景4场景5场景6
PSNRSSIMt/sPSNRSSIMt/sPSNRSSIMt/s
NSCT24.772 20.699 649.323 515.452 00.664 149.378 825.343 10.662 249.409 0
FOE23.586 90.582 43.062 029.345 50.673 12.882 225.523 40.480 72.674 7
金字塔23.312 30.585 60.366 129.421 60.731 20.391 424.746 50.653 40.342 1
BM3D23.311 00.536 80.366 530.257 30.715 60.394 221.266 30.441 40.3 594
MATLAB实现23.636 20.790 10.366 030.329 60.797 20.384 725.585 60.681 70.320 8
FPGA实现23.354 20.784 50.131 229.965 70.742 30.135 425.514 30.669 80.131 1

查看所有表

表 3. 场景7~9处理结果对比

Table 3. Comparison results of scene 7-9

算 法场景7场景8场景9
PSNRSSIMt/sPSNRSSIMt/sPSNRSSIMt/s
NSCT14.625 70.580 749.329 124.371 80.494 948.627 620.233 40.643 847.169 1
FOE19.639 50.505 73.060 227.140 90.445 82.659 620.630 40.667 42.985 6
金字塔19.027 60.565 50.369 927.106 40.493 40.391 620.385 50.650 20.341 1
BM3D19.011 10.485 60.377 926.386 60.493 50.407 420.588 50.636 90.345 0
MATLAB实现19.643 80.660 90.352 927.612 80.498 00.350 820.689 80.690 30.329 0
FPGA实现19.519 70.646 70.134 427.287 40.489 90.139 820.601 20.982 60.128 7

查看所有表

表 4. 场景10~12处理结果对比

Table 4. Comparison results of scene 10-12

算 法场景10场景11场景12
PSNRSSIMt/sPSNRSSIMt/sPSNRSSIMt/s
NSCT6.548 00.303 647.888 620.863 30.743 946.866 820.806 60.618 250.100 1
FOE26.215 40.352 92.578 222.858 20.750 52.941 926.528 20.530 72.343 6
金字塔23.453 40.296 30.401 621.933 40.769 20.401 726.470 30.593 70.406 8
BM3D20.694 30.270 50.414 421.596 50.727 80.414 426.295 30.554 20.421 3
MATLAB实现26.435 60.353 30.361 022.127 00.779 60.359 626.528 80.661 60.361 9
FPGA实现26.388 90.340 80.141 922.012 10.771 30.137 526.493 30.650 00.140 8

查看所有表

表 5. 场景13~15处理结果对比

Table 5. Comparison results of scene 13-15

算 法场景13场景14场景15
PSNRSSIMt/sPSNRSSIMt/sPSNRSSIMt/s
NSCT17.650 10.696 247.123 121.099 40.724 046.866 821.929 70.697 449.619 9
FOE21.465 80.417 02.987 129.164 30.821 22.961 923.515 50.600 22.688 2
金字塔21.748 60.417 60.416 527.748 70.727 60.389 723.211 10.647 80.402 7
BM3D21.928 80.325 50.438 326.118 60.760 60.414 422.471 40.367 40.415 3
MATLAB实现21.937 60.453 20.394 729.438 80.826 80.343 123.827 80.706 60.361 2
FPGA实现21.905 60.421 60.112 329.170 80.821 80.189 323.387 00.696 70.1 369

查看所有表

本文算法移植到FPGA硬件平台后,FPGA处理后的结果在PSNR方面比MATLAB平均降低约0.4 dB,在SSIM方面平均降低了约0.02 dB,均可视为在误差允许范围内;而在运行时间方面,FPGA比MATLAB减少了0.2 s多,约减少了71.5%,大大提升了算法的实时性。本文算法移植到FPGA平台上的资源占用情况如图13所示,占用的FPGA开发板的资源不到50%,也可说明本文算法移植到硬件平台的有效性。

图 13. 资源占用情况

Fig. 13. Resource occupancy

下载图片 查看所有图片

5 结 论

为了克服可见光视频去噪算法细节模糊、处理时间长、实时性差等缺点,本文提出了一种结合时间域与空间域滤波的去噪算法,先利用高斯差分滤波使原图分层,对含高频噪声最多的图像层进行空域滤波,抑制信号极大值;然后把当前帧各尺度滤波后的图像当作下一帧滤波的输入,在时间域上形成反馈,区分每帧图像对上一帧而言的平坦区域与突变区域,并采用不同的去噪策略;最后把算法分为多个模块,利用卷积模板进行空域滤波,控制DDR形成4路视频数据流在ZYNQ7045 FPGA硬件平台上实时实现。实验结果表明,本算法在主观上实现了视频去噪的功能;在客观评价指标方面,相比于现有的单域去噪算法,PSNR至多可提升15 dB;移植到硬件平台后,在PSNR和SSIM指标相差不大的情况下运行时间可节省约71.5%,兼顾了可见光视频去噪的精度与实时性要求。

参考文献

[1] WAN M J, GU G H, QIAN W X, et al. Infrared image enhancement using adaptive histogram partition and brightness correction[J]. Remote Sensing, 2018, 10(5): 682.

[2] 乔付. 一种使用离散余弦变换图像去噪算法[J]. 海南热带海洋学院学报, 2018252): 70-75. doi: 10.13307/j.issn.2096-3122.2018.02.13QIAOF. An image de-noising algorithm by using discrete cosines transformation[J]. Journal of Hainan Tropical Ocean University, 2018252): 70-75.(in Chinese). doi: 10.13307/j.issn.2096-3122.2018.02.13

[3] KINGSBURY N. Complex wavelets for shift invariant analysis and filtering of signals[J]. Applied and Computational Harmonic Analysis, 2001, 10(3): 234-253.

[4] 胡然郭成城杨剑锋. 基于小波阈值和主成分分析的视频去噪算法[J]. 计算机科学, 2016434): 290-293. doi: 10.11896/j.issn.1002-137X.2016.4.059HURGUOCH CHYANGJ F. Video denoising algorithm based on wavelet threshold and PCA[J]. Computer Science, 2016434): 290-293.(in Chinese). doi: 10.11896/j.issn.1002-137X.2016.4.059

[5] 黄凌霄廖一鹏. 浮选气泡NSCT域多尺度等效形态特征提取及识别[J]. 光学 精密工程, 2020283):704-716. doi: 10.3788/ope.20202803.0704HUANGL XLIAOY P. Recognition and multiscale equivalent morphological features extraction of flotation bubbles in NSCT domain[J]. Opt. Precision Eng., 2020283):704-716. (in Chinese). doi: 10.3788/ope.20202803.0704

[6] 苏恺骏. 基于变换域的视频去噪算法研究[D]. 西安西安理工大学2017.SUK J. Research on Video Denoising Algorithm Based on Transform Domain[D]. Xi'anXi'an University of Technology2017. (in Chinese)

[7] ZHU S C, WU Y, D.Filters MUMFORD. towards a unified theory for texture modeling[J]. International Journal of Computer Vision, 1998, 27: 107-126.

[8] FREEMANW TPASZTORE C. Learning low-level vision[C]. Proceedings of the Seventh IEEE International Conference on Computer Vision. 2027,1999KerkyraGreece. IEEE19991182-1189. doi: 10.1109/iccv.1999.790414

[9] 张秀周巍段哲民.基于专家场先验模型的图像超分辨重建算法[J].红外与激光工程,2019486):471-478. doi: 10.3788/irla201948.0626002ZHANGXZHOUWDUANZH Met al. Image super-resolution reconstruction algorithm based on fields of experts prior model[J]. Infrared and Laser Engineering,2019486):471-478. (in Chinese). doi: 10.3788/irla201948.0626002

[10] 刘亮. 基于FoE模型的图像去噪研究[D]. 哈尔滨黑龙江科技学院2011.LIUL. Research on Image Denoising Based on FoE Model[D]. HarbinHeilongjiang Institute of Science and Technology2011. (in Chinese)

[11] EHMANNJCHUL CTSAIS Fet al. Real- time video denoising on mobile phones[C]. 2018 25th IEEE International Conference on Image Processing. 710,2018AthensGreece. IEEE2018505-509. doi: 10.1109/icip.2018.8451416

[12] DJUROVIĆ I. Combined centre-weighted Median filter and BM3D to filter digital images in mixed Gaussian and impulsive environments[J]. IETE Journal of Research, 2018, 64(6): 796-806.

[13] 王惠琴吕佳芸张伟. 基于双边滤波-BM3D算法的GPR图像去噪[J]. 兰州理工大学学报, 2022481): 91-97. doi: 10.3969/j.issn.1673-5196.2022.01.015WANGH QJ YZHANGW. GPR image denoising based on bilateral filtering BM3D algorithm[J]. Journal of Lanzhou University of Technology, 2022481): 91-97.(in Chinese). doi: 10.3969/j.issn.1673-5196.2022.01.015

[14] 鲜连义康明. 低照度场景下的时空频域视频去噪算法[J]. 现代计算机, 202117): 128-134.XIANL YKANGM. Spatio-temporal frequency domain video denoising algorithm in low light scene[J]. Modern Computer, 202117): 128-134.(in Chinese)

[15] YUANZCHENW JXINJet al. A motion-texture aware denoising for economic hardware design[C]. 2015 IEEE International Conference on Image Processing. 2730,2015Quebec CityQC, Canada. IEEE2015437-441. doi: 10.1109/icip.2015.7350836

[16] 刘凯汪侃杨晓梅. 基于DoG检测图像特征点的快速二进制描述子[J]. 光学精密工程, 2020282):485-496.LIUKWANGKYANGX Met al. DoG keypoint detection based fast binary descriptor[J]. Opt. Precision Eng., 2020282):485-496.(in Chinese)

[17] 代少升袁祥辉. 提高DSP图像处理系统实时性的一种有效方法[J]. 光学 精密工程, 2003116): 617-620. doi: 10.3321/j.issn:1004-924X.2003.06.015DAISH SHYUANX H. Improvement of DSP image processing real-timeness[J]. Optics and Precision Engineering, 2003116): 617-620.(in Chinese). doi: 10.3321/j.issn:1004-924X.2003.06.015

[18] 郑成旭范学超刘金龙. 基于NSCT的自适应阈值图像去噪算法[J]. 科技创新导报, 2015122): 5759. doi: 10.3969/j.issn.1674-098X.2015.02.036ZHENGCH XFANX CHLIUJ L. Adaptive threshold image denoising algorithm based on NSCT [J]. Science and Technology Innovation Herald, 2015122): 5759.(in Chinese). doi: 10.3969/j.issn.1674-098X.2015.02.036

赵思娴, 万敏杰, 钱惟贤, 周琳, 韶阿俊, 陈钱, 顾国华. 可见光视频去噪及其FPGA硬件实现[J]. 光学 精密工程, 2022, 30(15): 1868. Sixian ZHAO, Minjie WAN, Weixian QIAN, Lin ZHOU, Ajun SHAO, Qian CHEN, Guohua GU. Visible light video denoising and FPGA hardware implementation[J]. Optics and Precision Engineering, 2022, 30(15): 1868.

引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!