非局部平均

✍ dations ◷ 2024-12-23 14:23:53 #非局部平均

非局部平均(Non-local means)是一种影像降噪的算法,相较于局部(local)的算法(如高斯模糊、非等向性扩散)只使用各个目标像素附近的点来将影像平滑化来去除噪声,非局部平均算法则对各个目标像素周围定义一个区块,并且对整个影像的所有像素依照该像素周围区块的区块与目标像素区块的相似度赋予权重、进行平均,如此可以使经过处理的影像更为清晰,并且损失较少的细节。

相较于其他的影像降噪算法,非局部平均在的方法噪声(method noise,定义为影像及其降噪后的结果的差值)与白噪声较为相似,而通常认为方法噪声应与白噪声尽可能相似,因此这是一个正向的结果。非局部平均也被延伸至其他应用如去交错及影像内插等。

如同其他影像降噪算法,最简单并且普遍的噪声模型为在原始的图片上加上白噪声:

v ( i ) = u ( i ) + n ( i ) {displaystyle v(i)=u(i)+n(i)}

其中 u ( i ) {displaystyle u(i)} 为原始的图片, n ( i ) {displaystyle n(i)} 为噪声,在白噪声的情况下为平均0标准差 σ {displaystyle sigma } 的i.i.d. 高斯函数, v ( i ) {displaystyle v(i)} 为所观测到包含噪声的图片。

非局部平均的定义为:

N L u ( x ) = 1 C ( x ) Ω f ( d ( B ( x ) , B ( y ) ) )   u ( y )   d y {displaystyle NL_{u}(x)={frac {1}{C(x)}}int _{Omega }^{}f(d(B(x),B(y))) u(y) dy}

其中 u {displaystyle u} 为要处理的图片, Ω {displaystyle Omega } 为整张图片的区域, B ( x ) {displaystyle B(x)} 为以 x {displaystyle x} 为中心的一个区块

d ( x , y ) {displaystyle d(x,y)} x {displaystyle x} y {displaystyle y} 的欧几里得距离: d ( x , y ) = | x y | 2 2 {displaystyle d(x,y)=|x-y|_{2}^{2}}

f {displaystyle f} 为一递减函数,常见的如: f ( x ) = e x p ( x 2 / h 2 ) {displaystyle f(x)=exp(-x^{2}/h^{2})}

C ( x ) {displaystyle C(x)} 为标准化的因子: C ( x ) = Ω f ( d ( B ( x ) , B ( y ) ) )   d y {displaystyle C(x)=int _{Omega }f(d(B(x),B(y))) dy}

此式可以解释为图上一点 x {displaystyle x} 经过降噪后的值为整张图片上所有点的加权平均,其中每个点的权重为该点的附近区块与 x {displaystyle x} 附近区块的相似度(将两个区块各自的点以相同的排列视为一向量,计算欧几里得距离),再经过一指数衰减的的函数(权重将落在(0,1]区间)。

相较于局部的算法指考虑了每个点附近的点,非局部平均考虑了图上所有的点,故称为非局部。由于一张图片中最相似的点不一定是距离近的点,反之亦然,故搜寻整张图片上相似的点,利用周期性重复出现的部分如材质纹理或是伸长的边缘等进行降噪可以得到更好的结果,但由于对每个点都要搜寻整张图片上其他的点来比较相似度,故运算复杂度往往会比局部的算法高。

上述的式子所定义的算法为连续的,无法在实际的数位影像中使用,在实际应用中离散化的版本为:

N L u = 1 C ( i ) j Ω w ( i , j ) u ( j ) {displaystyle NL_{u}={frac {1}{C(i)}}sum _{jin Omega }w(i,j)u(j)}

C ( i ) = j Ω w ( i , j ) {displaystyle C(i)=sum _{jin Omega }w(i,j)}

其中 w ( i , j ) {displaystyle w(i,j)} 为以 i {displaystyle i} j {displaystyle j} 为中心的点的区块的相似度,作为计算点 i {displaystyle i} 降噪后的值时点 j {displaystyle j} 的权重,常见的作法为计算以 i {displaystyle i} j {displaystyle j} 为中心的正方形区块的欧几里得距离的平方,再经过一个指数递减的函数,与前一节连续版本的例子相似,以彩色图片为例,完整的式子如下:

w ( i , j ) = e m a x ( d 2 ( B ( i , f ) , B ( j , f ) ) 2 σ 2 , 0 ) h 2 {displaystyle w(i,j)=e^{-{frac {max(d^{2}(B(i,f),B(j,f))-2sigma ^{2},0)}{h^{2}}}}}

d 2 ( B ( i , f ) , B ( j , f ) ) = 1 3 ( 2 f + 1 ) 2 m = 1 3 n B ( 0 , f ) ( u m ( i + n ) u m ( j + n ) ) 2 {displaystyle d^{2}(B(i,f),B(j,f))={frac {1}{3(2f+1)^{2}}}sum _{m=1}^{3}sum _{nin B(0,f)}(u_{m}(i+n)-u_{m}(j+n))^{2}}

B ( i , f ) {displaystyle B(i,f)} 为以点 i {displaystyle i} 为中心宽度为 2 f + 1 {displaystyle 2f+1} 的正方形区域,即 × {displaystyle times } 区间。

u {displaystyle u} 的下标代表图片每个像素值的三个分量(如RGB),黑白影像则无此项。

σ {displaystyle sigma } 为噪声的标准差, h {displaystyle h} 为与 σ {displaystyle sigma } 相关的滤波器参数。

此权重函数可解释为将区块相似度大于某个程度(欧几里得距离的平方小于等于 2 σ 2 {displaystyle 2sigma ^{2}} )的所有点都给予权重1,区块相似度较小的点权重则由于指数递减函数迅速的衰减。

除了上述以像素为单位的实作外(pixelwise),还有一种以区块为单位的实作(patchwise implementation):

对于一个以 i {displaystyle i} 为中心的 ( 2 f + 1 ) × ( 2 f + 1 ) {displaystyle (2f+1)times (2f+1)} 区块 B ( i , f ) {displaystyle B(i,f)} ,处理后的值

B ^ m ( i , f ) = 1 C Q ( j , f ) B ( i , r ) u m ( Q ) w ( B , Q ) {displaystyle {hat {B}}_{m}(i,f)={frac {1}{C}}sum _{Q(j,f)in B(i,r)}u_{m}(Q)w(B,Q)}

其中 w {displaystyle w} 的算法与前一节的实作相同, B ( i , r ) {displaystyle B(i,r)} r {displaystyle r} 的大小限制搜索区域以降低计算复杂度。

最后将这些值平均可得降噪后的图片

N L u = 1 ( 2 f + 1 ) 2 j B ( i , f ) B ^ ( j ) {displaystyle NL_{u}={frac {1}{(2f+1)^{2}}}sum _{jin B(i,f)}{hat {B}}(j)}

与前一节像素级的实作相比,由于最后一步集成的步骤降低了噪声,PSNR较高,并且也减少了在边缘附近震荡的噪声,不过在保留图片细节的方面则没有明显的进步。

相关

  • 日本大本营大本营是甲午战争到太平洋战争期间大日本帝国陆海军的最高统帅机关,能够以大本营命令(大本营陆军部命令或大本营海军部命令)形式发布天皇敕命,是直属于天皇的最高司令部。甲午战
  • 蛭形轮虫蛭形轮虫(拉丁语:Bdelloidea,/ˈdɛlɔɪdiə/)是轮形动物门的一个纲,名称源自希腊语 , ,意为"水蛭状",是一类在世界各地淡水生态环境中生活的生物。有超过450个已被描述的物种,通
  • 鲁菲吉河三角洲海战鲁菲吉河三角洲海战是指1914年10月–1915年7月11日间,即第一次世界大战期间,在德属东非 (今坦桑尼亚) 的鲁菲吉河三角洲,德国海军的柯尼斯堡号小巡洋舰与占数量优势的英国海军
  • 迪尔克·贝克迪尔克·贝克(Dirk Baecker,1955年8月11日-)是德国社会学家,现为博登湖畔腓特烈港齐柏林大学文化理论和分析教席教授。迪尔克·贝克1955年出生在德国巴登符腾堡州城市卡尔斯鲁厄
  • 三田纪房三田纪房(1958年1月4日-),日本漫画家。岩手县北上市出身,现在住在东京都练马区。在岩手县立黒泽尻北高中、明治大学政治经济学系毕业后,到西武百货就职。在退社后经营家业,但因经营
  • 福格尔山坐标:47°41′14″N 11°28′53″E / 47.68735°N 11.48143°E / 47.68735; 11.48143福格尔山(德语:Vogelkopf),是德国的山峰,位于该国东南部,由巴伐利亚负责管辖,属于巴伐利亚前阿
  • 珊瑚白化珊瑚白化现象是珊瑚礁所表现出来的病理特征,造成珊瑚白化的原因有很多,除最主要的全球变暖而导致的暖流汇聚导致海水温度过高,诸如沉积物增加(包含泥沙)而引起水变混浊、细菌感染
  • 士林刀士林刀,又名八芝兰刀、茄柄竹叶刀,一种台湾传统的折叠小刀,刀身如竹叶状,刀柄为牛角包铜,形如茄子,刀身可折叠收入刀柄中。1870年出现在八芝兰(台北市士林区),最早由一名广东锁匠猫牛
  • 李超琼李超琼(1847年-1909年),四川合江人,是一名清朝政治人物。历任溧阳、元和、阳湖、江阴、无锡、吴县、南汇、上海8地知县。曾在苏州金鸡湖内发动修筑“李公堤”,有《李超琼日记》传世。
  • 程伯休甫程伯休甫,又称程伯休父,为周朝初年的程国伯爵。根据记载,程伯休甫是重黎的后代。重黎在夏朝任祝融,其子孙在唐、虞、夏、商都世袭这一职务。程伯休甫随周公东征,率军攻打并占领徐国旧都(今山东滕州东南薛故城),因功被封到程邑(今陕西咸阳市东,或今河南洛阳市东),并担任周朝大司马,子孙世袭其职。