图像视频降噪的现在与未来——从经典方法到深度学习

Photo by Jason Rosewell on Unsplash

噪声是图像与视频中的一种常见失真类型,也是腾讯多媒体实验室以及腾讯云提供的多种失真处理能力之一。本分享总结了噪声产生的几个原因,从理论上分析降噪的基本原理,并介绍了使用传统方法和深度学习进行单帧降噪、多帧降噪和视频降噪的技术。

文 / 李松南

整理 / LiveVideoStack

1.  简介

1.1 腾讯多媒体实验室

大家好,我是来自腾讯多媒体实验室的李松南,本次分享将为大家介绍传统降噪和深度学习降噪方法,以及降噪技术未来的发展趋势。腾讯多媒体实验室专注于多媒体技术领域的前沿技术探索、研发、应用和落地,在长期积累中精心打造出三大核心能力,分别是:音视频编解码、网络传输和实时通信;多媒体内容处理、分析、理解和质量评估;沉浸式媒体系统设计和端到端解决方案。本次分享中的内容就属于多媒体内容处理的一部分。

上图是腾讯多媒体实验室常年积累起来的视频处理能力,包括视频降噪、去压缩失真、视频去抖动、夜景增强、视频超分、视频锐化等,这些能力已经应用于腾讯的许多产品,比如腾讯云、全民K歌、企鹅电竞、微视、QQ空间等。目前团队正在向腾讯云推出画质修复功能,已经开发和计划开发的技术,包括视频超分、去伪影、去抖动、去划痕与雪花、插帧、HDR,还有下面主要介绍的视频降噪技术。

 

1.2 噪声的来源

图像、视频从采集到播放的整个生命周期中会经历各种各样的处理过程,比如采集、剪辑、编码、转码、传输、显示等,每个处理过程都会引入失真。“噪声”就是在信号采集过程中引入的一种普遍失真。降低噪声强度可以使图像主观效果更好。另外,在图像、视频压缩时也不必浪费码率在编码噪声上。同时,会使得视频编码中的运动估计更准确、熵编码速度更快。

 

噪声的来源有多种,其中最主要的部分来自光子散粒噪声。上图描述的是从感光元器件收集到光子,一直到生成数字图像的过程。首先感光元器件把光子转换成电子,电子形成电压,电压放大后量化,最终形成数字图像。光子散粒噪声在感光元器件接收光子时就发生了。

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目介绍】 基于MATLAB实现传统图像算法和深度学习DnCNN模型图像源码+项目说明.zip 该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶, 或者实际项目借鉴参考! 当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 1. 项目介绍 # 1.1 项目的背景 该项目是为了研究基于深度卷积神经网络的图像算法,是利用DnCNN模型,但是为了比较该算法的效果,另外实现了四种传统的图像算法(均值滤波、中值滤波、非局部均值滤波NLM和三维块匹配滤波BM3D)作为对照组。 # 1.2 声强度和类型 项目中实现五种算法对声强度为10,15,20...60,65,70的高斯白声进行处理。 # 1.3 评价指标 图像后,如何评估算法去效果的好坏呢?项目中采用峰值信比PSNR和结构相似性SSIM作为评价指标。一般来说,PSNR越大,去效果越好。SSIM取值为0到1,越接近1,表示效果越好。 2. 数据集介绍 该项目中只是对Set12数据集进行处理,也就是项目中的Set12目录下的12张图片。如果觉得数据量不够充分,可以自行添加其他数据集,在代码中修改一下数据集的目录即可。 3. 代码介绍 对于均值滤波、中值滤波、和NLM,MATLAB都已经实现了,所以我们直接调用MATLAB自带的函数就可以。 BM3D和DnCNN的代码都是从别人那儿clone下来,做了一些小的修改。 五种算法都是对Set12数据集进行去,去的结果并没有保存,只是在运行过程中能看到去前和去后的图像对比,感兴趣的朋友可以自己将图像保存下来观察。 4. 代码运行 五种算法分别在五个不同的目录中,所以你只需要进行对应的目录,运行代码即可。 + 均值滤波、中值滤波、NLM算法对应的目录分别为avefilter、medainfilter、nlm-image-denoising。每个目录下只有一个.m文件,所以只需要运行对应的文件即可。 + BM3D对应的目录是BM3D,运行该目录下的main.m程序即可。 + DnCNN对应的目录是DnCNN,运行该目录下的Demo_test_DnCNN.m程序即可,该算法目录中对应的还有好几个代码,都是原项目中有的,我没有动过,感兴趣的朋友可以自己看看。
基于深度学习的算法主要包括以下几种经典方法: 1. 自编码器(Autoencoder):自编码器是一种无监督学习的神经网络模型,其主要目的是将输入数据进行压缩和重构。在任务中,自编码器通过训练一组无声信号和带有声信号的对应数据,并利用无声信号作为输入,带有声信号作为输出来学习去。 2. 卷积自编码器(Convolutional Autoencoder):卷积自编码器是自编码器的一种扩展,其主要用于图像处理任务。与自编码器类似,卷积自编码器也是通过训练一组无图像和带有图像的对应数据,并利用无图像作为输入,带有图像作为输出来学习去。 3. 去自编码器(Denoising Autoencoder):去自编码器是自编码器的一种变体,其主要用于任务。在训练过程中,去自编码器不仅需要学习如何对无声信号进行压缩和重构,还需要学习如何去除带有声的输入信号中的声。 4. 深度卷积神经网络(Deep Convolutional Neural Network,DCNN):深度卷积神经网络是一种强大的图像处理技术,其主要通过多层卷积和池化层来提取图像特征,并利用这些特征对图像进行分类和识别。在任务中,深度卷积神经网络可以通过训练一组无图像和带有图像的对应数据,并利用无图像作为输入,带有图像作为输出来学习去。 这些方法都是基于深度学习的算法中的经典方法,具体应用时需要根据实际情况选择合适的算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值