ISP去噪(1)

#灵感# 因为理解的2DNR、3DNR 和当前调试平台标注的2DNR、3DNR 作用有很大差异,所以在网上广撒网,搜集知识。

目前收集出来一个这样的文章,有点像大学生的论文“取其精华,合成糟粕”。------权当一个记录册

目录

运动阈值,拖尾:

空域和时域降噪区别:

空域时域降噪(STNR)

高频和低频噪声:

中值滤波和双边滤波:

降噪位置:

运动阈值,拖尾:

动作阈值就是你判断你画面中大概有百分之多少的像素,来判断出我们大概使用多少范围的运动。超出这个阈值的像素是运动的,低于这个阈值的像素是静态的。

当前平台: 

运动阈值越大越容易(画面更多)被判断为静止(理解为小于阈值判断为静止,)副作用为拖尾,

理解---------【判断为静止,则使用3d 时域降噪,时域降噪过大,运动物体就拖尾明显。

阈值越小则越容易(画面更多)被判断为运动(副作用3D降噪效果弱,噪声大)

理解---------【运动区域用2D 降噪,2D空域降噪不考虑帧与帧之间关系,会发生一些噪点的抖动】

空域和时域降噪区别:

空域降噪 是针对单帧画面进行处理 ;空域降噪是一种2D降噪方法,它只处理一帧图像内部的噪声。降噪算法根据实现原理不同可以分成很多种类型,比如线性/非线性、空域/频域,频域又包括小波变换、傅里叶变换或其他变换。2D降噪缺点是会造成画面模糊,特别是物体边缘部分 因此对这种算法的改进主要是进行边缘检测,边缘部分的像素不用来进行模糊。 -------当前平台 2D 降噪会导致运动模糊

时域降噪 是结合前后帧进行计算处理的出来的 。时域降噪是一种3D降噪方法,它的主要思想是利用多帧图像在时间上的相关性实现降噪, 即考虑帧与帧之间的时域关系。----(有人称为2dnr,怪不得我老是搞混,因为用在静态区域,2DNR理解的出发点是在2D图像上做NR)。

一种最简单的实现方法是时域均值滤波,即将相邻几帧图像在时域上做加权平均。由于累加后噪声的增长速度(根号关系)小于信号的增长速度(线性关系),所以图像的信噪比会提高。这种方法的主要问题在于只适合处理静态图像,如果画面中存在运动的物体则会出现伪影ghost effect-------------和当前平台 说的静态区域用3DNR 相符合。

一般来说,降噪我们都会在最前面的节点对原始素材进行降噪。------raw?

如果我们只用空域降噪的话,假如我们连续播放的话,由于它的算法都是基于当前帧,不考虑前后帧,所以这样很有可能会发生一些噪点的抖动。------这个抖动在运动区域应该不明显,所以运动用2D空域降噪。

时域降噪会把整个时间段的噪点统一进行处理,消除帧与帧之间的噪点抖动。-----所以在静止区域用3D 时域去噪。使画面更安静。

一般都是先利用空域降噪对单帧进行一个基础的降噪,(比如在raw 域?),然后在利用时域降噪把与帧之间的噪点抖动消除,这样的效果可能会比较好。(比如在YUV域?)

空域时域降噪(STNR)

此段来自Understanding ISP Pipeline - Noise Reduction - 知乎 (zhihu.com),作者刘斯宁

STNR是一种2D+3D降噪方法,它通过一套算法判别一个像素是属于前景还是背景,被判决为背景的像素将会参与时域平滑,被判决为前景的像素将会参与空域平滑,而判决条件则每一帧都在动态更新,以尽可能保证判决准确性。-------有人称STNR 为3DNR, 应该是理解为3D图像上做NR。此处和 “当前平台” 描述的算法作用机制一样。

运动检测,运动的物体认为是前景,不动的是背景。但是由于噪声影响会有很多失效的时候,把背景误判为运动,或者由于运动物体存在大面积单色,被误判为没动。至今尚没有特别有效的方法。使用ai技术能表现好一些。

在手机端的调试经验: 为避免拖影,可以加大YNR去噪,使用较小的3DNR 去噪。

“当前平台”经验:

运动模糊,减小2DNR。适当调整2DNR中的 对运动区域NR的值。

静止平坦区噪声,检查运动阈值是否正确,若是,则(静止平坦区不会有跳动噪声)。

灯的位置(高亮处)噪声跳动,修改校准的NP 参数。

高频和低频噪声:

此段来自 Understanding ISP Pipeline - Noise Reduction - 知乎 (zhihu.com)

噪声的空间频率高低会影响关于图像质量的主观感受,而且这种影响与人的直觉不一定相符。在下图的例子中,右图主要包含高频噪声,在人眼看来其图像质量比左图要好很多,其实右图的方差是12.5,大于左图的方差11.7,左图感觉噪声更大的主要原因是噪声的频率更低一些。

因此,关于噪声的一般规律是,幅度小的高频噪声对主观图像质量影响较小,而幅度大的低频噪声对主观图像质量影响较大。

中值滤波和双边滤波:

中值滤波适用于去除椒盐噪声等随机噪声,而双边滤波在平滑图像的同时保留边缘信息。

中值滤波在一定的条件下可以克服常见线性滤波器如方框滤波器、均值滤波等带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效,也常用于保护边缘信息, 保存边缘的特性使它在不希望出现边缘模糊的场合也很有用,是非常经典的平滑噪声处理方法。

但是中值滤波的缺点也很明显,因为要进行排序操作,所以处理的时间长,是均值滤波的5倍以上。

图片来自:Understanding ISP Pipeline - 知乎 (zhihu.com)

 

双边滤波器的好处是可以做边缘保存edge preserving),一般用高斯滤波去降噪,会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一个高斯方差sigmad,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。

在双边滤波器中,输出像素的值依赖于邻域像素值的加权值组合。

高斯滤波的实现方式有时域方式和频域方式两种,一种是时域高斯低通滤波,一种是频域高斯低通滤波。

时域高斯低通滤波的实质是定义一个奇数大小的模板(3 X 3 5 X 5 7 X 7 ……),然后让该模板遍历整副图像,模板中的加权平均值就是模板中心的值。

当领域窗口固定时,标准差越大,去除高斯噪声能力越强,图像越模糊,当标准差为2以上时,去噪能力几乎不再增加,只有当增加领域的大小时,去噪能力才会进一步增强。

频域高通滤波器:

降噪位置:

raw域的好处是接近噪声的源头,rgb域和yuv域的好处是可以抑制在isp处理中间引入的噪声,如果不考虑成本,降噪处理理论上是多多益善的,实际也确实是这样,越高端的isp降噪节点越多(比如高通、MTK 平台),有些codec在编码之前也会做一次降噪,因为isp噪声对codec码率影响非常大。

降噪:目前主流的ISP产品中一般会选择在RAW域、RGB域、YUV域等多个环节设置降噪模块以控制不同类型和特性的噪声。在YUV域降噪的方法已经得到了广泛的研究并且出现了很多非常有效的算法,但是在RAW域进行降噪则因为RAW数据本身的一些特点而受到不少限制。主要的限制是RAW图像中相邻的像素点分别隶属于不同的颜色通道,所以相邻像素之间的相关性较弱,不具备传统意义上的像素平滑性,所以很多基于灰度图像的降噪算法都不能直接使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/215222.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习mysql记录

环境: macbookpro m1 1. 安装mysql 使用苹果自带的包管理工具brew进行安装 1. brew install mysql (安装) 2. brew services start mysql (启动mysql服务) 1.1 如果提示zsh: mysql command not found, 终端执行以下命令 1. cd ~ (切到根目录) 2. vi .bash_profile (进入编辑…

【7】PyQt布局layout

目录 1. 布局简介 2. 水平布局QHBoxLayout 3. 竖直布局QVBoxLayout 4. 表单布局QFormLayout 5. 布局嵌套 1. 布局简介 一个pyqt窗口中可以有多个控件。所谓布局,指的就是多个控件在窗口中的展示方式 布局方式大致分为: 水平布局竖直布局网格布局表单布局 2. 水平布局Q…

人工智能|网络爬虫——用Python爬取电影数据并可视化分析

一、获取数据 1.技术工具 IDE编辑器:vscode 发送请求:requests 解析工具:xpath def Get_Detail(Details_Url):Detail_Url Base_Url Details_UrlOne_Detail requests.get(urlDetail_Url, headersHeaders)One_Detail_Html One_Detail.cont…

【conda】利用Conda创建虚拟环境,Pytorch各版本安装教程(Ubuntu)

TOC conda 系列: 1. conda指令教程 2. 利用Conda创建虚拟环境,安装Pytorch各版本教程(Ubuntu) 1. 利用Conda创建虚拟环境 nolonolo:~/sun/SplaTAM$ conda create -n splatam python3.10查看结果: (splatam) nolonolo:~/sun/SplaTAM$ cond…

Q_GDW1819-2013电压监测装置协议结构解析

目录 一 专业术语二 基本功能2.1 基础功能2.2 数据存储2.3 显示功能(设备能够看到的)2.4 参数设置与查询2.5 事件检测与告警功能 三 其他内容3.1 通信方式3.2 通信串口 四 帧结构解析4.1 传输方式4.2 数据帧格式4.2.1 报文头(2字节&#xff0…

数字人对话系统 Linly-Talker

🔥🔥🔥数字人对话系统 Linly-Talker🔥🔥🔥 English 简体中文 欢迎大家star我的仓库 https://github.com/Kedreamix/Linly-Talker 2023.12 更新 📆 用户可以上传任意图片进行对话 介绍 Lin…

李宏毅bert记录

一、自监督学习(Self-supervised Learning) 在监督学习中,模型的输入为x,若期望输出是y,则在训练的时候需要给模型的期望输出y以判断其误差——有输入和输出标签才能训练监督学习的模型。 自监督学习在没有标注的训练…

spark无法执行pi_如何验证spark搭建完毕

在配置yarn环境下的spark时,执行尚硅谷的以下命令发现报错,找不到这个也找不到那个,尚硅谷的代码是 bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ ./examples/jars/spark-exam…

市场全局复盘 20231211

昨日回顾: SELECT TOP 10000 CODE,成交额排名,净流入排名,代码,名称,DDE大单金额,涨幅,所属行业,主力净额,DDE大单净量,CONVERT(DATETIME, 最后涨停时间, 120) AS 最后涨停时间 FROM dbo.全部A股20231208_ALL WHERE 连板天 > 1AND DDE大单净量 > …

软件开发流程分析

软件开发流程分析 相关概念1 原型设计2 产品设计3 交互设计4 代码实现详细步骤 相关概念 前端:自研API,调用第三放API 后端:自研API,第三方API 数据库:Mysql,数据采集,数据迁移 服务器&#xf…

CefSharp 获取POST(AJAX)、GET消息返回值(request)

CefSharp作为专门为爬虫工具开发的库比Selenium这种开发目的是页面测试工具然后用来做爬虫的工具要贴心得多。我们操作网页的时候发送或者做了某个动作提交表单之后需要知道我们的动作或者提交是否成功,因为有的页面会因为网络延迟问题提交失败,需要准确…

十五、机器学习进阶知识:K-Means聚类算法

文章目录 1、聚类概述2、K-Means聚类算法原理3、K-Means聚类实现3.1 基于SKlearn实现K-Means聚类3.2 自编写方式实现K-Means聚类 4、算法不足与解决思路4.1 存在的问题4.2 常见K值确定方法4.3 算法评估优化思路 1、聚类概述 聚类(Clustering)是指将不同…

正则表达式详细讲解

目录 一、正则表达式概念 二、八元素 1、普通字符: 2、元字符: 3、通配符 .: 4、字符类 []: 5、量词: 6、锚点 ^ 和 $: 7、捕获组 (): 8、转义字符 \: 三、日常使用的正则…

股市复苏中的明懿金汇:抓住新机遇

2023年对于明懿金汇来说是充满挑战与机遇的一年。面对复杂多变的市场环境,明懿金汇展现了其对市场趋势的敏锐洞察和卓越的策略适应能力。以下是该公司在2023年的主要投资策略和市场适应方式的详细分析。 随着2023年中国股市迎来反弹,明懿金汇迅速调整了…

Linux网络——高级IO

目录 一.五种IO模型 1.阻塞式IO 2.非阻塞式IO 3.信号驱动IO 4.多路转接IO: 5.异步IO 二.同步通信 vs 异步通信 三.设置非阻塞IO 1.阻塞 vs 非阻塞 2.非阻塞IO 3.实现函数SetNoBlock 四.I/O多路转接之select 1.初识select 2.select函数原型 3.socket就绪…

国内大厂机器人赛道产品

大疆 大疆无人机自然不必说,除此之外大疆搞机甲大师,教育机器人。 字节 当前字节在机器人领域只是初步探索阶段,目前尚未发布相关产品(截止至23.12)。 管理层想法: 跟已有业务做结合,服务好…

Axure->Axure安装,Axure菜单栏和工具栏功能介绍,页面及概要区

Axure安装Axure菜单栏和工具栏功能介绍,页面及概要区 1.Axure安装 即时设计 - 可实时协作的专业 UI 设计工具 (js.design) 点击上方下载安装⬆ 打开软件点击帮助->管理授权-> 被授权人 Axure 授权密钥:gjqpIxSSUUqFwPoZPi8XwBBhRE2VNmOQsrord0JqShk4QCXxrw6…

CLion安装与配置教程

目录 一、下载并安装CLion1、下载1、官网:2、注意: 2、安装1、下载完成后,直接点击安装包安装,即可。2、开始安装,然后下一步3、可以在此处自定义地址,然后下一步4、根据系统版本选择,然后下一步…

LeetCode5.最长回文子串

昨天和之前打比赛的队友聊天,他说他面百度面到这道算法题,然后他用暴力法解的,面试官让他优化他没优化出来,这道题我之前没写过,我就想看看我能不能用效率高一点的方法把它做出来,我一开始就在想用递归或者…

31、卷积 - 参数 dilation 以及空洞卷积

在卷积算法中,还有一个不常见的参数叫做dilation(中文:膨胀)。 很多同学可能没听说过这个参数,下面看看这个参数有什么作用,用来控制什么的。 我们还是放这个经典的卷积运算图,图中是看不出 dilation 这个参数的存在的。 如果再换一张图呢,发现两图的区别了吗? 没错…