引导影像滤波器

✍ dations ◷ 2025-06-08 15:51:40 #非线性滤波器,图像处理,计算机图形学

在图像处理上,引导影像滤波器(英语: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);而这时若使用引导影像滤波器,以原始影像为引导图片、以深度图为输入图片,便可得到一完整、无坑洞的深度图。

相关

  • 孢子孢子(英语:Spore,汉语拼音:bāo-zǐ,注音符号:ㄅㄠ ㄗˇ)是一种脱离亲本后能发育成新个体的单细胞或少数细胞的繁殖体。孢子一般有休眠作用,能在恶劣的环境下保持自有的传播能力,并再
  • 创伤后压力症候群创伤后压力综合征(Post-traumatic stress disorder,简称PTSD,又称创伤后遗症)是指人在经历过情感、战争、交通事故等创伤事件后产生的精神疾病。其症状包括会出现不愉快的想法、
  • 北方七年战争丹麦-挪威 吕贝克第一次北方战争,又称北方七年战争,1563年至1570年期间,发生在瑞典与丹麦、吕贝克、波兰立陶宛联邦之间的战争。战争的主角是瑞典和丹麦,战争的动因是争夺波罗
  • 马略特埃德姆·马略特(法语:Edme Mariotte,1620年-1684年5月12日),法国物理学家和植物生理学家。埃德姆·马略特出生于法国的希尔戈尼的迪戎城,他一生的大部分时间是在这个城市度过的。他
  • 幕末群英传《幕末群英传》(日语:狼よ落日を斬れ,英语:The Last Samurai),是1974年9月21日日本上映的时代剧,导演三隅研次的遗作,叙述幕末武士的激烈战斗。
  • 蜜蜡蜂蜡(英语:Beeswax),是蜜蜂工蜂分泌的蜡。蜜蜂用蜂蜡在蜂巢里建分隔的房间,用来育幼或储存花粉。工蜂拥有四对蜡腺,位于腹部第4至7节。蜂蜡即蜡腺的分泌物。刚羽化成的最年轻的工
  • M72轻型反装甲武器塔利工业(Talley Industries)M72 LAW(轻型反坦克武器Light Anti-Tank Weapon、或称轻型反装甲武器Light Anti-Armor Weapon),简称LAW或LAWS(轻型反坦克武器系统)是一种是美国黑森东
  • 男排联赛中国男子排球超级联赛(英语:China Volleyball League,简称CVL及排超,前称中国男子排球联赛),创建于1996年,由中国排球协会组织,并由体育之窗文化产业有限公司(体育之窗)负责营运及推广
  • 克罗库斯平原战役克罗库斯平原战役(Battle of Crocus Field),又可被称为沃洛战役(Battle of Volo)。发生在古希腊第三次神圣战争期间的一场重要战役,一方是奥诺马尔库斯(Onomarchus)所率领的福基斯军
  • 2002年南美俱乐部杯2002年南美俱乐部杯是第 1 届的南美俱乐部杯赛事,由南美洲足球协会主办。四分之一决赛首回合于10月1日举行,次回合于10月30日举行。半决赛首回合于11月5日举行,次回合于11月13