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.mfbz.cn/a/241048.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

生成小程序URLlink链接遇到的坑

这里写自定义目录标题 前端生成小程序URL link背景用户打开小程序的常用方法短链接短链接优缺点优点缺点 生成短链接步骤 可能会遇到的问题:其他 注意📢 前端生成小程序URL link ![h5打开小程序](https://img-blog.csdnimg.cn/direct/a4cfe3ef6d184c6d9…

vue3 使用 Element-plus 的 el-pagination 分页组件时无法显示中文

使用element-puss框架,分页显示英文 解决方法 在main.ts element-puss,2.3.8版本后的, import zhCn from "element-plus/es/locale/lang/zh-cn"; element-puss,2.3.8版本以前的, import zhCn from "element-plus/lib/loc…

MBR30300FCT-ASEMI高耐压肖特基MBR30300FCT

编辑:ll MBR30300FCT-ASEMI高耐压肖特基MBR30300FCT 型号:MBR30200FCT 品牌:ASEMI 封装:TO-220F 最大平均正向电流:30A 最大重复峰值反向电压:300V 产品引线数量:3 产品内部芯片个数&…

将输入的字符串反向输出(c语言)

#include<stdio.h> #include<string.h> int main() {int i, j, k;char s[50], temp;gets(s);//输入k strlen(s);//计算字符的长度//反向输出for (i 0, j k - 1;i < k / 2;i, j--){temp s[i];s[i] s[j];s[j] temp;}puts(s);//输出 }

山西电力市场日前价格预测【2023-12-11】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-11&#xff09;山西电力市场全天平均日前电价为535.55元/MWh。其中&#xff0c;最高日前电价为689.29元/MWh&#xff0c;预计出现在09:00。最低日前电价为422.38元/MWh&#xff0c;预计…

springCloud项目打包如何把jar发放到指定目录下

springCloud项目打包如何把jar发放到指定目录下 maven-antrun-plugin springCloud微服务打包jar&#xff0c;模块过多&#xff1b;我的项目模块结构如下&#xff1a; 我把实体类相关的单独抽离一个模块在service-api下服务单独写在service某块下&#xff0c; 每个模块的jar都…

利用知识付费小程序,我有才打造高效的知识传播渠道

在当今信息爆炸的时代&#xff0c;知识管理已经成为了每个人必须面对的问题。然而&#xff0c;市面上的知识付费平台大多数都是通用的&#xff0c;无法满足个性化需求。 因此&#xff0c;我有才提供了一款专属定制的适合个人的知识付费平台。核心产品能力如下&#xff1a; 一…

[论文精读] 使用扩散模型生成真实感视频 - 【李飞飞团队新作,文生视频 新基准】

论文导读: 论文背景:2023年12月11日&#xff0c;AI科学家李飞飞团队与谷歌合作&#xff0c;推出了视频生成模型W.A.L.T&#xff08;Window Attention Latent Transformer&#xff09;——一个在共享潜在空间中训练图像和视频生成的、基于Transformer架构的扩散模型。李飞飞是华…

【安装配置vue最详细的方法】检查vue版本时,报错“‘vue’ 不是内部或外部命令,也不是可运行的程序或批处理文件”

目录 问题&#xff1a;通过cmd检查vue版本时&#xff0c;报错 vue’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件1、检查npm版本&#xff0c;查看是否安装&#xff0c;如果未安装请先安装node和npm2、进入 node.js 的安装目录中查看一级目录下是否存在 vue.…

字符设备驱动开发基础

一. 简介 本文简单了解一下&#xff0c;在字符设备驱动开发开始前对其一些基本认识。简单了解一下&#xff0c;应用程序与驱动的交互原理&#xff0c;以及字符设备驱动开发流程。 二. 字符设备驱动开发流程 1. 在 Linux 中一切皆为文件&#xff0c;驱动加载成功以后会在“…

PySpark中FMClassifier与RandomForestClassifier的比较

在比较 PySpark 中的 FMClassifier&#xff08;因子分解机分类器&#xff09;和 RandomForestClassifier&#xff08;随机森林分类器&#xff09;时&#xff0c;我们不能简单地说一个比另一个更先进&#xff0c;因为它们是针对不同类型的问题和数据集设计的。选择哪个分类器更多…

【MySQL备份】MySQL备份工具-MyDumper

目录 什么是MyDumper MyDumper优势有哪些 如何安装MyDumper 参数解释 1 mydumper参数解释 备份流程 一致性快照如何工作&#xff1f; 如何排除&#xff08;或包含&#xff09;数据库&#xff1f; 输出文件 Metadata文件 ​编辑 表数据 文件 表结构 文件 建库文件…

基于YOLOv8深度学习的吸烟/抽烟行为检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

触发器和函数:让代码更接近数据

来源&#xff1a;艾特保IT 虹科干货丨触发器和函数&#xff1a;让代码更接近数据 原文链接&#xff1a;虹科干货 | 触发器和函数&#xff1a;让代码更接近数据 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 文章速览&#xff1a; 触发器和函数的基础知识 编写语言…

自己动手写编译器:使用 GoLex 实现 c 语言的词法解析

对编译器设计和开发而言&#xff0c;表明你能有效入门的证明就是你能做出一个针对 C 语言的编译器。完成了 C 语言编译器&#xff0c;你在编译原理领域里算是写出了第一个 hello world 程序。于是为了确认我们开发的 GoLex 功能完善&#xff0c;我们看看它是否能对 C 语言的语法…

广东省工业和信息化厅工业互联网处一行莅临科东软件考察调研

近日&#xff0c;广东省工业和信息化厅工业互联网处副处长郑华、广东省科学院智能制造研究所副所长曹永军等一行领导、专家莅临科东软件&#xff0c;就聚焦工业数字化转型&#xff0c;助推新型工业化高质量发展进行考察调研。 科东软件陪同郑华副处长一行参观科东软件展厅&…

【Anaconda】Ubuntu anaconda使用(新建环境、最小化安装Tensorflow)

Ubuntu anaconda使用&#xff08;新建环境、最小化安装Tensorflow&#xff09; 清华源地址&#xff1a; https://pypi.tuna.tsinghua.edu.cn/simplepip安装使用的时候&#xff0c; pip install xxx(库名) -i https://pypi.tuna.tsinghua.edu.cn/simple请先安装好anaconda&am…

leetcode对称二叉树(每日一题)

https://leetcode.cn/problems/symmetric-tree/description/ 今天我们在来个题目&#xff0c;对称二叉树&#xff0c;其实这道题的思路我觉得和那到判断两棵树是不是相同的题目很相似&#xff0c;写这个题目的思路还是递归&#xff0c;但是我们看这个题目的时候需要注意的一个…

【OpenVINO】使用OpenVINO实现 RT-DETR 模型 INT8量化推理加速

使用OpenVINO实现 RT-DETR 模型 INT8量化推理加速 1. 使用 OpenVINO 实现 RT-DETR 模型 INT8量化1.1 神经网络压缩框架 &#xff08;NNCF&#xff09;1.2 准备校准数据集1.2.1 下载COCO验证数据集1.2.2 Validator包装器1.2.3 转换用于量化的数据集 1.3 定义模型精度校验方法1.4…

盘点2023年低代码平台TOP10

盘点2023年低代码平台TOP10 1 什么是低代码平台2 十大低代码平台2.1 IVX2.2 简道云2.3 伙伴云2.4 企名片one2.5 明道云2.6 轻流2.7 速融云2.8 轻舟——网易2.9 钉钉宜搭2.10 腾讯云-微搭 1 什么是低代码平台 低代码平台是一种开发软件的方法&#xff0c;它可以通过简单的拖放和…
最新文章