引导影像滤波器

✍ dations ◷ 2025-09-18 00:06:10 #非线性滤波器,图像处理,计算机图形学

在图像处理上,引导影像滤波器(英语:Guided Image Filter)是一种能使影像平滑化的非线性滤波器。

与双边滤波器(Bilateral Filter)相同,这个影像滤波器同样能够在清楚保持影像边界的情况下,达到让影像平滑的效果。

但不同于双边滤波器,引导影像滤波器有两个优点:首先,双边滤波器有非常大的计算复杂度,但引导影像滤波器因为并未用到过于复杂的数学计算,有线性的计算复杂度。再来,双边滤波器因为数学模型的缘故,在某些时候会发生梯度反转(gradient reverse)的状况,出现影像有损;而在引导影像滤波器,因为这个滤波器在数学上以线性组合为基础出发,输出图片(Output Image)必与引导图片(Guidance Image)的梯度方向一致,并不会出现梯度反转的问题。

为了达到将影像平滑化、即去除噪声的效果,首先定义输出的结果图片是输入图片减去噪声后的结果;同时,为了让输出的图片符合引导图片的影像边界,将输出图片定为引导图片的线性组合。

以下为引导影像滤波器的基础模型:


(1)   q i = p i n i {\displaystyle q_{i}=p_{i}-n_{i}}

(2)   q i = a I i + b {\displaystyle q_{i}=aI_{i}+b}


在上述公式中, q i {\displaystyle q_{i}} 是第i个输出的像素, p i {\displaystyle p_{i}} 是第i个输入的像素, n i {\displaystyle n_{i}} 是第i个输入像素的噪声成分, I i {\displaystyle I_{i}} 是第i个引导图片的像素, a , b {\displaystyle a,b} 则是用来衡量输入权重的参数。


定义为线性组合(Linear Combination)的原因在于,一对象的边界与其梯度(Gradient)相关,而在线性组合的定义下,输出图片之梯度必与引导图片之梯度成对比(微分时高幂次系数保留而常量项则被去除),故可以达到保留梯度的效果、保留影像边界的目的。

为了导出上述线性组合的参数,将(1)及(2)相减得到公式(3);同时,定义一个代价方程式(cost function)(4):


(3)   n i = p i a I i b {\displaystyle n_{i}=p_{i}-aI_{i}-b}

(4)   E ( a k , b k ) = i ϵ ω k ( ( a k I i + b k p i ) 2 + ϵ a k 2 ) {\displaystyle E(a_{k},b_{k})=\sum _{i{\epsilon }{\omega }_{k}}^{}((a_{k}I_{i}+b_{k}-p{i})^{2}+{\epsilon }a_{k}^{2})}


在上式中, ϵ {\displaystyle \epsilon } 是一用来惩罚(penalize)过大的 a k {\displaystyle a_{k}} 的参数, ω k {\displaystyle \omega _{k}} 是以第 k {\displaystyle k} 个像素为中心点的窗格(window)。

在这个方程式中可以看到,希望同时让最终的输出图片做到让噪声减少以及让引导图片在输出图片的影响减小(引导图片的系数项)两件事,遂定义每个像素噪声和系数项的平方总合为最后须付出的价值项(cost)。并且,基于让价值项最小化的原则,可以将(4)以线性回归(linear regression)的方法找出它的线性模型,从而求得、使得出它的价值方程式有最小解的到以下两参数 a k {\displaystyle a_{k}} b k {\displaystyle b_{k}}


(5)   a k = 1 ω i ϵ ω k I i p i μ k p k ¯ σ k 2 + ϵ {\displaystyle a_{k}={\frac {{\frac {1}{\omega }}\sum _{i\epsilon \omega _{k}}I_{i}p_{i}-\mu _{k}{\bar {p_{k}}}}{\sigma _{k}^{2}+\epsilon }}}

(6)   b k = p k ¯ a k μ k {\displaystyle b_{k}={\bar {p_{k}}}-a_{k}\mu _{k}}


在这里, μ k {\displaystyle \mu _{k}} σ k 2 {\displaystyle \sigma _{k}^{2}} 分别是引导图片 I {\displaystyle I} 在窗格 ω k {\displaystyle \omega _{k}} 的平均数(mean)和标准差(variance),而 p ¯ k = 1 | ω | i ϵ ω k p i {\displaystyle {\bar {p}}_{k}={\frac {1}{\left|\omega \right|}}\sum _{i\epsilon \omega _{k}}p_{i}} 是在窗格 ω i {\displaystyle \omega _{i}} 中像素的平均值;这两项系数,换句话说,即是一以输入图片为考虑计算权重之平均滤波器(weighted mean)。

依据上式,可以列出此滤波器之算法:


Algorithm 1. 引导图片滤波器

输入: 输入图片 p {\displaystyle p} ,引导图片 I {\displaystyle I} ,窗格半径 r {\displaystyle r} ,修正项 ϵ {\displaystyle \epsilon }

输出: 输出图片 q {\displaystyle q}

第一部分

                    m        e        a                  n                      I                                {\displaystyle mean_{I}}   =                               f                      m            e            a            n                          (        I        )              {\displaystyle f_{mean}(I)}                      m        e        a                  n                      p                                {\displaystyle mean_{p}}   =                               f                      m            e            a            n                          (        p        )              {\displaystyle f_{mean}(p)}                      c        o        r                  r                      I                                {\displaystyle corr_{I}}   =                               f                      m            e            a            n                          (        I        .                I        )              {\displaystyle f_{mean}(I.*I)}                      c        o        r                  r                      I            p                                {\displaystyle corr_{Ip}}   =                               f                      m            e            a            n                          (        I        .                p        )              {\displaystyle f_{mean}(I.*p)}  

第二部分

                    v        a                  r                      I                                {\displaystyle var_{I}}   =                     c        o        r                  r                      I                                  m        e        a                  n                      I            .                                  m        e        a                  n                      I                                {\displaystyle corr_{I}-mean_{I.}*mean_{I}}                      c        o                  v                      I            p                                {\displaystyle cov_{Ip}}   =                     c        o        r                  r                      I            p                                  m        e        a                  n                      I            .                                  m        e        a                  n                      p                                {\displaystyle corr_{Ip}-mean_{I.}*mean_{p}}  

第三部分

                    a              {\displaystyle a}   =                     c        o                  v                      I            p                          .                  /                (        v        a                  r                      I                          +        ϵ        )              {\displaystyle cov_{Ip}./(var_{I}+\epsilon )}                      b              {\displaystyle b}   =                     m        e        a                  n                      p                                  a        .                m        e        a                  n                      I                                {\displaystyle mean_{p}-a.*mean_{I}}  

第四部分

                    m        e        a                  n                      a                                {\displaystyle mean_{a}}   =                               f                      m            a            e            a            n                          (        a        )              {\displaystyle f_{maean}(a)}                      m        e        a                  n                      b                                {\displaystyle mean_{b}}   =                               f                      m            a            e            a            n                          (        b        )              {\displaystyle f_{maean}(b)}  

第五部分

                    q              {\displaystyle q}   =                     m        e        a                  n                      a            .                                  I        +        m        e        a                  n                      b                                {\displaystyle mean_{a.}*I+mean_{b}}  

/* f m e a n {\displaystyle f_{mean}} 是一个有线性计算复杂度的平均滤波器(mean filter)*/

引导图片滤波器保留边界的特性,其实也可以被理解为是保留梯度的特性。由下图可以看到,可以将一张图分为细节图层和基底图层两层,基底图层的能量并无小幅度的升降,只有大幅度诸入梯度的能量升降;而细节图层,只有噪声式的小幅度能量升降。而引导图片滤波器所作的,其实就是将细节层和基底层分离并保留基底层,也就是保留梯度而去除噪声,达到平滑效果。

由引导图片滤波器的特性,可以延伸出除了原先的平滑化外的几项功能

当一影像图同时为输出图片和引导图片时,可知最终得到的会是以该图片的边界为依据的基底层和细节层;因此,若要加强依影像之细节,可以将细节层的能量放大n倍后再次叠加回基底层,以达到增强细节的效果。

无论是利用光场(light field)技术或是焦点合成(focal-stack)所制作的深度图(depth map),在出制作完成时往往都会有一些坑洞(holo);而这时若使用引导影像滤波器,以原始影像为引导图片、以深度图为输入图片,便可得到一完整、无坑洞的深度图。

相关

  • 多西环素-5,10,11,12a-tetrahydroxy-6-methyl- 4a,5,5a,6-tetrahydro-4H-tetracene-1,3,12-trione多西环素(其国际非专利药品名称为“Doxycycline”)也称为“强力霉素”“伟霸霉素”
  • 灵长目源性灵长目(学名:Primates)是哺乳纲的一个目,在生物分类学上,可以再细分原猴及简鼻亚目(包括人)。灵长目的始祖住在热带雨林的树上,许多灵长目的特征表现了其适应三维立体环境的能力,大部
  • 玻色-爱因斯坦凝聚态玻色–爱因斯坦凝聚(Bose–Einstein condensate)是玻色子原子在冷却到接近绝对零度所呈现出的一种气态的、超流性的物质状态(物态)。1995年,麻省理工学院的沃夫冈·凯特利与科罗
  • 竹节虫目竹节虫,又称䗛(拼音:xiū,注音:ㄒㄧㄡ,音同“修”)是节肢动物门昆虫纲竹节虫目(又称䗛)的总称。草食性的昆虫,以善于拟态成树枝或树叶著称,可以躲过天敌。全世界约有2,500种。体型修长,
  • 伊塞克湖伊塞克湖(吉尔吉斯语:Ысык-Көл,俄语:Иссык-Куль),中国唐代称之为热海、大清池,清代称为特穆尔图淖尔、图斯池,位于吉尔吉斯东北部,天山山脉北侧,北纬42度30分,东经77度
  • 上海纽约大学上海纽约大学(英语:NYU Shanghai)由华东师范大学与纽约大学合作建设,是第一所中美合作成立的国际化大学,也是纽约大学全球教育体系中第三所具有学位授予资格的门户校园。上海纽约
  • 庇是商朝国都之一,据《古本竹书纪年》所载,商王祖乙即位后居住在庇,南庚即位后将国都由庇迁往奄。认为庇在山东省郓城县境。近代有甲骨学家丁山考证庇即是《史记·殷本纪》中的
  • 镎的同位素镎的同位素备注:画上#号的数据代表没有经过实验的证明,只是理论推测而已,而用括号括起来的代表数据不确定性。
  • 前344年
  • 伊曼纽尔·菲尔克新教牧师利奥波特·埃德曼·伊曼纽尔·菲尔克(德语:Leopold Erdmann Emanuel Felke;1856年2月7日-1926年8月16日)是一位自然疗法专家,创立了菲尔克疗法。他生于德国施滕达尔附近的