双边滤波思想在CNN中的应用----Pixel Adaptive Convolutional Neural Networks

双边滤波思想在CNN中的应用--Pixel Adaptive Convolutional Neural Networks

    • 1. Pixel Adaptive CNN主要内容
    • 2. Pixel Adaptive Convolution与双边滤波的联系

1. Pixel Adaptive CNN主要内容

这篇文章[1]来自CVPR2019, 主要提出了文中所称的“Pixel Adaptive Convolution(PAC)”模块,本质上是采用双边滤波的思想来扩展CNN中的标准卷积操作,而不仅仅只是考虑空间域卷积。下面简要介绍原文[1]的主要部分(即PAC模块),为了跟原文内容的一致性,下面的公式符号尽量与原文一致。令
                 v l = ( v 1 l , v 2 l , . . . , v n l ) , v i l ∈ R c ~~~~~~~~~~~~~~~~v^l=(v^l_1,v^l_2,...,v^l_n),v^l_i\in R^c                 vl=(v1l,v2l,...,vnl),vilRc,表示来自CNN中第 l l l层的feature maps,具有 c c c个通道;
                 W l ∈ R c ′ × c × s × s ~~~~~~~~~~~~~~~~W^l\in R^{c\prime\times c\times s\times s}                 WlRc×c×s×s,表示CNN的第 l l l层与 l + 1 l+1 l+1层之间的卷积核, c ′ c\prime c表示第 l + 1 l+1 l+1层的通道数, s s s表示卷积核尺寸;
                 p i = ( u i , v i ) T ~~~~~~~~~~~~~~~~p_i=(u_i,v_i)^{T}                 pi=(ui,vi)T表示像素坐标, b l b^l bl表示偏置项;
                 Ω ( i ) ~~~~~~~~~~~~~~~~\Omega(i)                 Ω(i)表示像素 i i i周围 s × s s\times s s×s的卷积窗口尺寸;
                 f i ∈ R d ~~~~~~~~~~~~~~~~f_i\in R^d                 fiRd表示像素 i i i的某种特征,例如在RGB图像中取 f i = ( u i , v i , r i , g i , b i ) f_i=(u_i,v_i,r_i,g_i,b_i) fi=(ui,vi,ri,gi,bi)
则CNN中的标准空间卷积操作,可以表示为:
(1) v i l + 1 = ∑ j ∈ Ω ( i ) W l [ p i − p j ] v j l + b l ∈ R c ′ v^{l+1}_i=\sum_{j\in\Omega(i)}W^l[p_i-p_j]v^l_j+b^l\in R^{c\prime}\tag{1} vil+1=jΩ(i)Wl[pipj]vjl+blRc(1)
为了融合像素的其他特征信息先验(可以来自网络学习的其他特征或者预先设定的特征),一种直接的方式就是使得卷积操作不仅仅是在空间上考虑,如下:
v i l + 1 = ∑ j ∈ Ω ( i ) W ~ ( f i − f j ) v j l + b l v^{l+1}_i=\sum_{j\in \Omega(i)}\tilde{W}(f_i-f_j)v^l_j+b^l vil+1=jΩ(i)W~(fifj)vjl+bl理想的类双边滤波的过程(不仅仅只是考虑空间域的滤波,例如同时考虑将该特征作为函数时,其值域空间的相邻关系),如果要对特征 v j l v^l_j vjl进行类双边滤波,一般会把 v j l v^l_j vjl投到高维空间中,如
v i l ↦ ( u i , v i , f i , v i l ) ∈ R 1 × 1 × dim ⁡ f i × dim ⁡ v i l v^l_i\mapsto(u_i,v_i,f_i,v^l_i)\in R^{1\times 1 \times \dim{f_i}\times\dim{v^l_i}} vil(ui,vi,fi,vil)R1×1×dimfi×dimvil 因为在高维空间中更加容易把特征点集 { v i l } i \{v^l_i\}_i {vil}i,但是把 v j l v^l_j vjl投射到高维空间中,会使得点集 { v i l } i \{v^l_i\}_i {vil}i在高维空间中非常稀疏和不规则,使得标准的卷积操作不太容易实现,也即使得 W ~ ( f i − f j ) \tilde{W}(f_i-f_j) W~(fifj)的计算相当困难。(关于双边滤波原理的分析,可以参考前一篇博客图像滤波原理之双边滤波)

因此文章[1]为了使得高维空间中的滤波(空间域和值域),能够利用现有的CNN中标准卷积操作,使用了如下的卷积方式(即文中所称的PAC),来近似模拟类双边滤波过程,
(2) v i l + 1 = ∑ j ∈ Ω ( i ) K ( f i , f j ) W [ p i − p j ] v j l + b l v^{l+1}_i = \sum_{j\in \Omega(i)}K(f_i,f_j)W[p_i-p_j]v^l_j+b^l\tag{2} vil+1=jΩ(i)K(fi,fj)W[pipj]vjl+bl(2)
其中 K ∈ R c ′ × c × s × s K\in R^{c\prime \times c \times s\times s} KRc×c×s×s是一个固定的函数,例如 K ( f i , f j ) = e x p ( − 1 2 ( f i − f j ) T ( f i − f j ) ) K(f_i,f_j)=exp(-\frac{1}{2}(f_i-f_j)^T(f_i-f_j)) K(fi,fj)=exp(21(fifj)T(fifj))。为了说明这个过程,引用原文[1]中的图片:
双边滤波思想在CNN中的应用----Pixel Adaptive Convolutional Neural Networks_第1张图片

2. Pixel Adaptive Convolution与双边滤波的联系

下面分析PAC与双边滤波的联系,为了叙述的方便,首先回顾下一下双边滤波:
I i ~ = 1 ∑ w ( p i , p j ) ∑ p j ∈ Ω ( p i ) w ( p i , p j ) I j , \tilde{I_i}=\frac{1}{\sum w(p_i,p_j)}\sum_{p_j\in \Omega{(p_i)}}w(p_i,p_j)I_j, Ii~=w(pi,pj)1pjΩ(pi)w(pi,pj)Ij, (3) w ( p i , p j ) = e − ( u i − u j ) 2 + ( v i − v j ) 2 2 σ s 2 − ∣ I i − I j ∣ 2 2 σ r 2 w(p_i,p_j)=e^{-\frac{(u_i - u_j)^2+(v_i-v_j)^2}{2\sigma_{s}^{2}}-\frac{|I_i-I_j|^2}{2\sigma_{r}^2}}\tag{3} w(pi,pj)=e2σs2(uiuj)2+(vivj)22σr2IiIj2(3)
其中 ( u i , v i ) , I i (u_i,v_i), I_i (ui,vi),Ii分别表示像素 p i p_i pi的像素坐标和像素值。主要通过分析PAC表达式(2)中的 K ( f i , f j ) , W [ p i − p j ] K(f_i,f_j), W[p_i-p_j] K(fi,fj),W[pipj]来说明它们之间的联系:
I) 与CNN中标准卷积的关系: 当 K ( f i , f j ) ≡ 1 K(f_i,f_j)\equiv 1 K(fi,fj)1时,PAC退化为标准的空间卷积;
II) 与双边滤波(bilateral filtering)的关系:当公式(2)中的 f i = I i σ r f_i=\frac{I_i}{\sigma_r} fi=σrIi,且 W [ p i − p j ] W[p_i - p_j] W[pipj]取为通常的2D高斯卷积核, 这就是双边滤波的权重系数(3)。(注意:本质上CNN的卷积只在空间上进行滤波,即公式(2)中的 W [ p i − p j ] W[p_i-p_j] W[pipj]仅与空间关系,这与固定模板的高斯卷积本质上是一样的,只不过通常CNN中的卷积通过学习过程得到的,但是在一次前传中,由于共享参数,这就是一个以学习到的权重模板进行卷积滤波的过程)

结束语:注意到类双边滤波的思想,提供了一种的refine特征的方式,特别是当我们对分析的具体问题,有一组较好的先验特征信息时,就可以通过这种类双边滤波的过程嵌入到CNN中进行特征refine, 同时也使得特征refine也有了更好的解释性; 同时,在多个相关任务学习中,通过一个任务的特征按照类双边滤波的思想,去过滤其他任务的特征 (也即joint bilateral filtering),也是一种加强多种任务之间联系的方式。

[1] Pixel Adaptive Convolutional Neural Networks.

你可能感兴趣的:(双边滤波与深度学习,图像处理原理介绍)