Noise Reduction Filters for Dynamic lmage Sequences: A

Review

https://en.wikipedia.org/wiki/Image_noise

图像噪声:

高斯噪声

椒盐噪声:在亮区域中的黑点或者在暗区域中的白点,通常是由于ADC 的转换错误或者其它的bit

error导致的。

shot noise:

散弹噪声,这是一种典型的电子噪声,是possion分布。

photon shot noise follows a Poisson Distribution, which is

essentially a shifted Normal Distribution. It is an electrical

noise usually caused by charge surges. Salt and Pepper Noise is

more due to digital conversion, and is usually modelled using a

Fat-tailed distribution (which is essentially a shifted Normal

Distribution). What to note is for any unaltered image, the order

of magnitude of each type of noise, with photon shot noise usually

much lower than salt and pepper noise (unless specifically

created)。True

both noise can be treated using median filter, and often people use

salt and pepper noise to represent shot noise.

应该是shot noise是一个更加广的概念,椒盐噪声也可以近似的认为是一种shot noise。

量化噪声: 基本上符合均匀分布

Quantization noise (uniform

noise)

这是由于量化导致的噪声,接近于均匀分布,这种noise是和信号相关的,因为不同的signal

level和量化step导致的量化噪声不同,

但是如果使用了dither,就可以认为噪声是和信号无关的。

The noise caused by quantizing the

pixels of a sensed image to a number of discrete levels is known

as quantization noise.

It has an approximately uniform distribution.

Though it can be signal dependent, it will be signal independent if

other noise sources are big enough to

cause dithering, or if dithering is explicitly

applied

Film

grain: 胶片颗粒噪声

这是和胶片电影相关的噪声。

Anisotropic noise 各向异性噪声

这种noise是有方向性的。

另外一个分类就比较简单了:

random 随机噪声

structured noise 结构噪声

有很多噪声是有固定pattern的,这种噪声就是structured noise

噪声的类型:

白噪声:

在通信系统中,经常碰到的噪声之一就是白噪声。所谓白噪声是指它的功率谱密度函数在整个频域

内是常数,即服从均匀分布。之所以称它为“白”噪声,是因为它类似于光学中包括全部可见光频率在内的白光。凡是不符合上述条件的噪声就称为有色噪声。

高斯噪声:

在实际信道中,另一种常见噪声是高斯噪声。所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。其一维概率密度函数可用数学表达式表示为

 (2-26)

式中,

为噪声的数学期望值,也就是均值;

为噪声的方差。

通常,通信信道中噪声的均值

=0。由此,我们可得到一个重要的结论:在噪声均值为零时,噪声的平均功率等于噪声的方差。

高斯白噪声

我们已经知道,白噪声是根据噪声的功率谱密度是否均匀来定义的,而高斯噪声则是根据它的概率密度函数呈正态分布来定义的,那么什么是高斯型白噪声呢?

高斯型白噪声也称高斯白噪声,是指噪声的概率密度函数满足正态分布统计特性,同时它的功率谱密度函数是常数的一类噪声。这里值得注意的是,高斯型白噪声同时涉及到噪声的两个不同方面,即概率密度函数的正态分布性和功率谱密度函数均匀性,二者缺一不可。

在通信系统的理论分析中,特别是在分析、计算系统抗噪声性能时,经常假定系统中信道噪声(即前述的起伏噪声)为高斯型白噪声。其原因在于,一是高斯型白噪声可用具体的数学表达式表述(比如,只要知道了均值

和方差

,则高斯白噪声的一维概率密度函数便可由式(2-26)确定;只要知道了功率谱密度值

/2,高斯白噪声的功率谱密度函数便可由式(2-22)决定),便于推导分析和运算;二是高斯型白噪声确实反映了实际信道中的加性噪声情况,比较真实地代表了信道噪声的特性。

Perhaps counterintuitively, higher-resolution cameras are more

susceptible to noise. The reason is that the elements on the

optical sensor are smaller and thus able to collect less light,

narrowing tolerances and making errors more likely. Moreover,

to compensate for the lesser amount of light

collected by individual sensor elements, greater signal

amplification is often applied, which itself introduces

noise. More generally, for any given camera, low-light

conditions will result in higher noise levels.

temporal Ghost(motion blur):

;因为是做temporal

direction上的平均,如果某一帧中该部分很明显的大,会导致后面的frame做temporal平均时这一帧的占主导地位,这样,该帧的这个部分会出现在后面的frame中,这就是temporal

方向的ghost。

temporal Fltering may result in ghosting. Ghosting occurs When

part of a first image appears in a

second, later image.

How does Temporal

Noise Reduction work?

The goal of low-light photography is to capture as many photons as

possible, thereby producing an image with a high level of detail,

but a low level of noise. The most common method of achieving this

goal has been to increase the size of the sensor and aperture of

the lens.

其实noise总是存在的,在高光照的情况下,有效的信号强度比noise强的多,因此noise被信号mask了,而在low

light的条件下,信号的强度和noise

level相比不大,另外一个原因就是为了增大信号而让放大器的增益变大,也会使得noise变大,另外积分时间变长也是类似的作用,因此这些noise就显现出来了。这就是low

light下的noise为什么会比较严重的原因,实际上任何光照下这些噪声都是存在的(电子噪声等).因此解决的方法一个是增加光照,这包括环境的光照条件,sensor获取的光照尽量多比如增加快门的曝光时间,选择pixel对应的sensor单元的面积越大的sensor等,目的都是为了使得采集到每一个pixel上的光照足够大。

This is precisely why DSLRs and prime lenses with

good low-light performance tend to be fairly large in size. Another

method involves the use of image science in the post-production

workflow, and that is where TNR comes into play. Capture devices

employing TNR are able to record several images at once, which are

used as a representation of a single image. The multiple images are

subsequently merged into one new image file with a resulting

reduction in noise, and the process is typically completely

transparent to the user.

Some of the latest smartphones and cameras already use TNR. To our

knowledge, this includes the Apple iPhone 6, which provides

multi-shot noise reduction in low-light conditions; Sony’s latest

camera models, which provide a multi-shot noise reduction option

for JPEG; the Pentax

K3, which captures multiple RAW images for use in creating HDR

images; and the Red EPIC Dragon prototype that we

tested last year.

TNR involves averaging the pixels between the

four consecutive frames. As noise produces a random pattern, the

algorithm reduces the variance (the noise) in the new image by

averaging the pixels. TNR works best when neither the capture

device nor the subject move. When there is motion

between the merged frames, it is necessary to detect and compensate

for all motions between the frames so that pixels can be matched

from one frame to another.

TNR的基本思路就是在时间上进行平均,当噪声是随机噪声的时候,这种平均是可以来减低噪声的,但是如果噪声不是随机噪声,而是有一定的pattern的,那么这种平均对noise减低是没什么作用的。另外就是如果存在运动,那么TNR算法就需要进行ME估计了,这是因为TNR的一个基础就是:要把每一个pixel在不同的frame中的位置找到,并把属于同一个pixel的这些pixel

cluster到一起来进行time上的平均,并且假设同一个pixel在不同的frame上受到的noise是随机的。这样TNR才是有效的。因此需要找到同一个pixel在不同的frame上的pixel

group,这就是ME需要做的事情。但是ME是非常复杂的,因此TNR算法有了两类:motion adaptive 和motion

compensation。 motion

adaptive实际上是不做ME的,而是认为图像是静止的,没有运动存在,这样就不需要进行ME,但是实际上这种假设是不成立的,因此可以进行运动的检测比如使用SAD,MAD等来检测是否有运动,运动的激烈程度等,如果运动很激烈,那么说明这个TNR算法的static假设被严重违反了,因此降低权重,也就是承认TNR算法此时的效果有限;如果运动不激烈,那么权重降低的不大,表明算法基本有效。这样通过一个对运动进行weight的调整进行算法的自适应,没有实际去做ME,只是做了一个运动检测,这就是motion

adaptive。更加极端的就是把图像区分成motion区域和非motion区域,在非motion区域使用temporal

filter,在motion区域之间disable temporal filter。

另外一种就是做ME,把每一个pixel在不同frame上的对应pixel找出来group在一起,形成一个pixel

group,在temporal上进行平均。这种方法是满足原始的TNR的要求的,但是ME是非常耗计算的,另外ME的精确性也和计算量相关。

总结:TNR通常分为2类算法:

Nonmotion

Compensated Spatiotemporal Filtering (3D filter: 2D spatial + 1D

temporal), motion adaptive without ME.

Motion Compensated

Spatiotemporal Filtering (With ME)

If either the camera or the subject are in motion between captured

frames, some parts of the image can be merged and other parts

cannot. The percentage of pixels that are effectively merged in

relation to the entire image is what is referred to as the “fusion

rate.” The fusion rate varies depending on camera

and/or subject motion conditions. If the camera is moving slightly

between frames, the fusion rate can still be substantial thanks to

the digital compensation of the camera motion — that is, most of

the pixels can be averaged. However, if there is strong motion in

the scene (as when the subject is running), the fusion will be

partial. The fusion rate is further impacted by the lighting

conditions in the image. Take for example an image in which the

moving subject is primarily in the mid-tone range, but there are

important details in the shadow areas, which are stationary. In

this instance, the TNR will continue to be quite effective in

removing noise from the shadow areas, even though the overall

fusion rate is far from 100%.

数学模型:

g(i,j,k) = f(i,j,k) + n(i,j,k)

其中:

g(i,j,k)是观察到的noisy的图像,(i,j)是图像中的坐标(2D),k是第K帧图像,表示time

(1D)

f(i,j,k)表示原始没有被noisy的图像,n(i,j,k)是加性noise。

3D spatial-temporal

TNR就是在spatial上利用neibor来进行滤波(2D),同时在temporal

方向上进行1D滤波也就是使用之前的图像进行滤波。

对于单纯的temporal

滤波,假设利用4帧进行FIR滤波进行相同权重的滤波,也就是平均滤波(当然,实际的TNR算法比这个复杂的多,也有很多不同的算法,可以参考上面的那篇review

paper,这里只是使用了一个简单的FIR):

f'(i,j,k) = [g(i,j,k-4) + g(i,j,k-3)

+ g(i,j,k-2) + g(i,j,k-1) ]/4

= [f(i,j,k-4)

+ f(i,j,k-3)

+f(i,j,k-2)

+f(i,j,k-1)]/4

+ [n(i,j,k-4) +n(i,j,k-3)

+n(i,j,k-2)

+n(i,j,k-1)]/4

假设没有运动存在也没有光照等变化,f(i,j,k-4) = f(i,j,k-3) = ....=f(i,j,k-1) =

f(i,j,k)

最理想的情况:

假设noise是随机的,并且均值为0,那么[n(i,j,k-4)

+n(i,j,k-3)

+n(i,j,k-2)

+n(i,j,k-1)]/4

= 0

这样,f'(i,j,k) = f(i,j,k),

完全恢复了图像,没有noise。

次理想的情况:(噪声model:

同一个pixel group在不同时间上形成的序列的噪声分布)

假设noise是非随机的,并且均值不为0,那么[n(i,j,k-4)

+n(i,j,k-3)

+n(i,j,k-2)

+n(i,j,k-1)]/4

!= 0

这样,f'(i,j,k) = f(i,j,k) + n'(i,j,k),

噪声仍然存在图像中,只不过噪声做了一次average

滤波被减轻了。但是假设noise是pattern的(有色的),那么noise是没有办法真正去除的,temporal效果较差。

假设运动存在于某一帧比如k-3:

[f(i,j,k-4) +f(i,j,k-3)

+f(i,j,k-2)

+f(i,j,k-1)]/4

会带上第K-3帧的特征,因此当前帧TNR后会出现K-3帧的ghost。

另外一个需要注意的是,noise

reduction做的越早越好,否则noise总是会对其他的操作会有影响。而且做的越早,noise比较单纯,其他的任何处理都可能会对noise本身也产生影响,比如clamp和rounding也会引入新的噪声。因此在camera里面通常在bayer

domain就开始做noise

reduction,如果等到YUV再去做,实际上噪声会对生成的YUV也会产生影响,而YUV转换也可能会产生新的噪声比如精度导致的噪声,会使得噪声更加的复杂。

专业测试DXO

About DxO

DxO was created in 2003 and has since brought a depth of

photographic knowledge and passion to innovating the way the world

takes and views images. As scientists dedicated to the art of

photography, DxO offers an ecosystem of premium photographic

products serving the entire digital imaging chain.

DxO Analyzer

DxO Analyzer is the industry’s most complete, best-performing

solution for measuring and benchmarking camera image quality, and

the power behind the scores on DxOMark. DxO Analyzer is a complete

system, including software, hardware, test protocols, and

high-quality charts to ensure consistent, repeatable,

operator-independent results.

DXO的manual中详细的介绍了如何进行图像质量的测试。

下面对noise这部分进行一些介绍:

图像的noise是指在uniform

area中出现的随机可见的颗粒。注意到noise是随机的不可重复的,每一给图像中的noise是不完全相同的,因此只有统计的意义。通常,噪声再uniform的区域是很容易被察觉的,但是在纹理很多的区域是不容易察觉的。(uniform

arreas vs highly textured areas)

噪声的来源:

a.  photonic noise; classical

light sources produce random variations in luminous

fluxwhich, after deflection in the optical system,

produce the most common form

ofnoise

in photographic images。

这是成像系统中的光路上导致的流明的变化比如角度不同。

b. thermal

noise :

热噪声,这是因为环境温度的变化导致sensor产生了随机的信号,这种噪声是和曝光时间成正比和pixel大小成反比。

c. the noise caused by the

imperfections of the photosites; the sensors consist

incommon

elements (anti-reflection filters, for example), which affect all

the  photosites of the sensor in the same way, and

individual elements

(micro-lenses,the photosites themselves, for example) which

are all different; these

variationsinvolve a variable response of each photosite

to an identical exposure; thegenerated noise has a constant value from one

image to another, and is

proportional to

the exposure level;

像素制造过程中的缺陷导致的noise:

亮点,暗点,闪烁点都是坏点。另外,由于电路器件不完全相同,因此每一个pixel对在相同条件下的response函数也是不相同的,导致了pixel之间存在差异。

d.

pixel之间的电容干扰,ADC器件的rounding和转换中也是noise的主要来源,这种noise和ADC的bit数直接相关(8bits,12bits)等。

另外,图像处理过程比如demosaicing 和Compression

processing(DSP) 也会带来新的noise。

因此在ISP中通常需要对noise进行处理:

这里有几种方法:

1. 使用sharpen

filter 对gain进行操作,这种方法会把图像和noise都提升

2.

带有threshold的sharpen filter,不会提升uniform区域的noise

3.  sharpen filter

with a blur mask可以最好的降低noise可见区域的噪声而不使得图像本身的质量下降。

DXO Noise的测量指标:

a.

标准方差(可以基于patch区域也可以基于frame)

表示的是pixel的grey level围绕均值的波动。

b.SNR

上面的两种方法都是把mean当成是图像本身,而方差当成是noise来测量。

这种方法在实际中经常使用,这是和noise model相关的,认为temporal

主要面对的noise是均值为0的高斯白噪声,通过多个frame的平均就可以把noise认为去除为0了,也就是原始没有noise的图像:

上面的e[k]就是多帧平均得到的noiseless的图像。

下面是一篇DXO关于noise的描述和测试方法:

图像的噪声是由许多原因导致的:photonic noise,dark

current noise ...。所有的这些噪声源可以分为两类:spatial noise and temporal

noise。

temporal

noise描述的是随着时间变化的噪声:这是因为同一个pixel点的感光器件的响应函数是随着时间会变化的:

response =

f(t, parameters)

因此即使在完全相同的外部条件下即parameters完全相同,这个像素在不同的时刻也可能会有一些响应上的变化,这就是temporal

noise的来源。这种噪声的去除或者降低只能是通过把这个pixel位置在不同时刻的响应进行average来实现。Dark

current noise和reset noise也会对temporal noise有贡献。

而spatial

noise描述的是不同位置的pixel的variation,这是因为每一个pixel位置的感光器件总是存在一些微小的差异的,因此在相同的外部条件下,由于这些差异也会导致响应不同。比如电路的寄生电容的差异就会导致不同的response。也有一些位置会产生过亮或者过暗,这就是我们常说的”亮点和暗点“这类的坏点。

Dead, hot and

blinking photosites, 这些通常可以通过calibration来校正。称为"fixed pattern

noise"(FPN).

DXO的spatial ,

temporal noise的测量方法: 都是基于一系列的图像进行的,即使是spatial

noise也是基于sequence进行测量的:

多个frame的平均对temporal

noise有好处,但是对spatial noise没有影响。

DXO支持noise可以是在RAW

图像或者是在RGB图像进行测试。

spatial noise:

在DXO中,spatial

noise是在两个均值图像上进行测量的:

Imean:一个序列上所有frame的相同位置上的平均得到的。注意到这个平均的权重是相同的,而不是高斯的,因此DXO只是认为temporal

noise是随机的而不是高斯的,这是符合实际的噪声model的,通常认为在一个空间上的一个图像的噪声是近似的高斯分布的(中心极限定理),而不同时刻的噪声满足random的假设而不满足高斯的假设.对temporal

上的很多帧进行平均得到的图像可以认为是完全去噪后的图像(假设noise的mean为0),这就是”大数定理“收敛到均值的原理。Image

averaging works on the assumption that the noise in your image is

truly random

Iflat:

对应temporal噪声的指标,DXO也是使用标准方差,只不过均值使用的是同一个pixel在不同frame上进行的平均:

Temporal noise is

computed on a ROI (Region Of Interest) in the center of the images,

to limit the influence of vignetting. By default the area of the

ROI is 5% of the area of the input images.

同样的行,列噪声就是对行或者列统计的噪声:

行列噪声只是统计的方式不同而是一种新的噪声:

对没有运动的是比较好的。

这里使用的是bitrate来衡量效果如何,因为噪声增加的是residual的大小,因此需要更多的bit来编码这些噪声。测试了indoor和outdoor的两种类型的场景。

计算机中的tnr是什么函数,Noise reduction in low light -TNR算法相关推荐

  1. 计算机中成绩等级排名的函数怎么写,计算机二级excel函数总结(第一篇)

    函数共4篇,我们先来看第一篇(第一篇介绍19个函数) 写在前面的话 计算机等级考试 计算机二级中实际考到的函数并不多,希望大家用心去接触,excel函数一直被同学们当作是二级考试中的一只拦路虎,大猫觉 ...

  2. 计算机中公式提取用什么函数,技巧:Excel快速从文本中提取单元格中的数字函数公式...

    有时,我们将一些文本导入Excel.这些文本包含中文,字母,数字,并且全部堆积在一个单元格中.但是,我们只需要数字.那么,如何快速从中文,字母和数字中提取数字呢?在这里,王小老师将为您分享一些实用的函 ...

  3. 计算机函数模式的用处是啥,请问怎么理解计算机中的函数?

    你的理解有点外行看热闹的意思,呵呵. 代码本身就是抽象的,所以"计算机中的函数是一种对代码进行抽象的方式"不能说不对,但是也和没说一样.至于"我们使用抽象出来的函数,而不 ...

  4. 二级计算机中应用的公式,计算机二级公式总结(计算机二级excel主要函数的用法)...

    计算机二级考试office高级应用中excel主要考那些函数? 计算机考试office高级中excel主要考的函数有: 求和函数SUM.条件求和函数SUMIF.件求和函数SUMIFS.平均数AVERA ...

  5. 计算机中的公式应用,计算机办公主动化(常用公式和函数在电子表格中的应用).ppt...

    计算机办公主动化(常用公式和函数在电子表格中的应用) 坚远骆活携立吐肪疽框憨聚粒惧索护帐簿挣筋妙弱饼刷砧辫肯旱技仙菊掉计算机办公自动化(常用公式和函数在电子表格中的应用)计算机办公自动化(常用公式和函 ...

  6. c计算机中的函数,c(计算机语言)—搜狗百科

    顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行. 例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第 ...

  7. 计算机中除法的函数英文,EXECL中哪一个英文是算除法的?-excle 除法的英文

    Excel中除法的函数是哪个? Excel中除有具体的函数,需要使用操作方法才行下: 1.创个Excel工作表,填入数值一.数两列,开始进行第三列的除法数值计算. 2.将鼠标放到想要求除法数值结果的格 ...

  8. 计算机中除法的函数英文,excel中求除法的函数名称是什么?excle 除法的英文

    excel除法结果怎么出现英文字母 所说的"英文字母"是否为:#DIV/0! ?,它表示公式中出现了以0为除数的错误. Excel函数的乘和除是哪个英文啊,我都要晕死了? 直接用/ ...

  9. 计算机中的变量和函数是什么意思,计算机中的变量和函数是什么意思?

    2019-03-13 回答 if 全部显示 全部隐藏 根据对指定的条件计算结果为true或false,返回不同的结果. 可以使用if对数值和公式执行条件检测. 语法 if(logical_test,v ...

最新文章

  1. 解决安卓机在微信上播放视频有广告问题
  2. ubuntu安装WPS
  3. [ACM_几何] Wall
  4. JAVA多线程程序ProgressBar
  5. postmapping注解参数说明_从零搭建后端框架:优雅的参数校验Validator
  6. 软件需求规格说明书(网络助手)
  7. jdk list接口源码解析
  8. 渗透测试/应急演练过程中metasploit制作木马连接失败问题排查
  9. vscode关闭讨厌的单词拼写检查
  10. 华为服务器 自动安装 黑屏,华为服务器显示器黑屏如何解决
  11. Vue 实现翻页器 下一页 处理显示多页面要下一页非表格
  12. 【AP5904】三功能 2.5-5V 1.8A LED车灯 手电筒驱动芯片
  13. 手动安装ceph和使用
  14. 进入BeOS的花花世界 系列五
  15. 对于addEventListener()事件的看法
  16. AIX日志型文件系统的nbpi
  17. 跨部门的高效沟通与协作
  18. Android - 九宫格
  19. 打卡网红IP品牌奶茶店,好喝又好看的茶天娜
  20. 科研中如何保持积极的心态

热门文章

  1. VC6.0编译jpeglib库
  2. PR批量导出不需要疯狂打嵌套和标记
  3. 家用计算机有辐射吗,哪些家用电器有辐射
  4. AS3隐藏特性—Sprite对象的尺寸
  5. 2.2 SSD源码解析
  6. recovery移植,转1
  7. 基于树莓派实现平菇栽培种 自动种植系统的设计和实现
  8. Laravel的excel读取表格内存溢出解决方案
  9. 配对交易之统计套利配对:协整(cointegration)
  10. 傅占杰:VR体验与产品营销的本质