Learning Aggregated Transmission Propagation Networks for Haze Removal and Beyond阅读笔记

用到的数据集

Fattel ,NYU深度数据集

研究现状

数学上,雾图可以表示为无雾图像和整体大气光的凸组合。
去雾主要依赖于景深信息。
早期的研究主要依赖同一幅场景的多个图片。

相关工作

模型先验
  • 表面阴影和传输局部不想关的深度图
  • dark channel prior(DCP)
  • 双层高斯模型处理回归模型来改进DCP
  • 基于监督方法的去雾模型
  • hase-line来评估传输因子

这些模型都是基于已有的某个雾图假设,对于某些特定的数据可能会失效。

数据先验的网络

启发式的深度cnn在大尺度数据集上的应用

  • 可训练的端到端的cnn,输入雾图像,输出相应的传输图
  • 多尺度cnn用于单一图像去雾,先用粗糙的网络评估传输结构,然后用另一个精细尺度的网络进行优化

两个问题:1.去雾的领域知识没有用到2.太依赖训练数据的数量和质量,需要大量的数据集

创新点

提出 data-and-prior-aggregated transmission network (DPATN),结合了先验知识和训练数据的优点
融合了先验知识和基于数据驱动的神经网络,提出一种新的残差神经网络用于去雨去雾。

  1. 需要的数据集更少
  2. 结合了前馈和反馈神经网络的优点
  3. 启发式的神经网络

具体方案

  1. 大气散射模型

{ I ( x ) = J ( x ) t ( x ) + A ( 1 − t ( x ) ) , t ( x ) = e x p ( − β d ( x ) ) \begin{cases} I(x)=J(x)t(x)+A(1-t(x)),\\ t(x)=exp(-\beta d(x))\\ \end{cases} {I(x)=J(x)t(x)+A(1t(x)),t(x)=exp(βd(x))

其中I(x) 为观察到的带雾图像,J(x)为潜在的场景辐射,d(x)为消光系数,t(x)为介质传输,(随景深成指数衰减,取值范围[0,1],用来表示到达摄像头的光照),去雾的主要目的就是从中 I(x)中恢复J(x),t(x)在式子中扮演关键作用,为了方便表示,我们t(x)离散地表示为t=[t1,…,tN] ∈ R N \in R^N RN,其中N为带雾图像的像素点个数

  1. 传输传播的聚合体系结构

t + = t − ϝ ( t ; W ) t^+ =t-\digamma(t;W) t+=tϝ(t;W)

其中其中F是带参数W的残差函数,t+是带标识跳过连接的模块的输出。利用这个基本模型,我们的目标简化为学习一个映射F来表示传输的传播残差。采用了跳远连接(skip-connections)

ϝ ( t ; W ) = D ( t ; W D ) + λ p P ( I ) \digamma(t;W)=D(t;W_D)+\lambda _pP(I) ϝ(t;W)=D(t;WD)+λpP(I)

这里W={W D, λ p \lambda _p λp}是可学习的参数,其中WD表示D的传播参数, λ p \lambda _p λp≥0是惩罚P的权重参数

数据子模块
D ( t ; W D ) = ∑ k K ω ˆ k ⊗ ϕ k ( ω ˇ k ⊗ t ) , D(t;W_D)=\sum_k^K ωˆ_k ⊗\phi_k(ωˇ_k⊗t), D(t;WD)=kKωˆkϕk(ωˇkt),

式中 { ϕ k } k = 1 K \{\phi_k\}_{k=1}^K {ϕk}k=1K表示非线性激活,⊗表示卷积算子和 { ω ˆ k , ω ˇ k } k = 1 k \{ωˆk,ωˇk\}_{k=1}^k {ωˆkωˇk}k=1k是每次激活前后的卷积滤波器对。显然,仅用D传播t,必然会丢弃模糊图像丰富的先验信息

先验知子模块 P P P
I ( x ) → t ( x ) I(x)\rightarrow t(x) I(x)t(x)
由(1)式可知,
t ( x ) = ∣ ∣ I A ( x ) ∣ ∣ ∣ ∣ J ( x ) − A ∣ ∣ = I A c ( x ) J c ( x ) − A c t(x)=\frac{||I_A(x)||}{||J(x)-A||}=\frac{I_{Ac}(x)}{J_c(x)-A_c} t(x)=J(x)AIA(x)=Jc(x)AcIAc(x)

其中c ∈ { r , g , b } , I A c ( x ) = I c ( x ) − A c \in \{r,g,b\},I_{Ac}(x) =Ic(x)−Ac {r,g,b},IAc(x)=Ic(x)Ac,是转换后的观测值,以便空气光位于原点。$J(x)满足约束:: αˇIˇc ≤ Jc ≤ αˆIˆc, $ α,ˆαˇ≥0为两个尺度参数和Iˆc和Iˇc 分别表示 I c I_c Ic的最大值和最小值。得到先验模型如下

P ( I ) = Γ [ 0 , 1 ] ( max ⁡ c ( I A c ( x ) α ˆ I ˆ c − A c , I A c ( x ) α ˇ I ˇ c − A c ) ) P(I)=\Gamma_{[0,1]}(\max _c(\frac{I_{Ac}(x)}{αˆIˆc-A_c},\frac{I_{Ac}(x)}{ αˇIˇc-A_c})) P(I)=Γ[0,1](cmax(αˆIˆcAcIAc(x),αˇIˇcAcIAc(x)))

其中 Γ \Gamma Γ[0,1]表示范围[0,1]上的投影。通过在式(6)中设置αˇ=0,我们可以观察到DCP公式是只是P的特例

  1. 轻量化的学习框架

代价函数
J ( t L , t ∗ ; { W l } l = 1 L ) = 1 2 ∣ ∣ t L − t ∗ ∣ ∣ 2 2 J(t^L,t^{*};\{W^l\}_{l=1}^L)=\frac {1}{2}||t^L-t^{*}||_2^2 J(tL,t;{Wl}l=1L)=21tLt22
优化目标
式(8)
{ min ⁡ { W l } l = 1 L ∑ s = 1 S J ( t L , t ∗ ; { W l } l = 1 L ) , s . t .    t s L = t s 0 + ∑ l = 0 L − 1 F ( t s l ; W l ) . \begin{cases} \min_{\{W^l\}_{l=1}^L} \sum_{s=1}^SJ(t^L,t^{*};\{W^l\}_{l=1}^L),\\ \\ s.t. \,\, t_s^L=t_s^0+\sum_{l=0}^{L-1} F(t_s^l;W^l). \end{cases} min{Wl}l=1Ls=1SJ(tL,t;{Wl}l=1L),s.t.tsL=ts0+l=0L1F(tsl;Wl).
链式法则计算梯度比较复杂
在这里插入图片描述
我们使用了一种简化的方法

我们将每个滤波器表示为ωk= ∑ i α k , i d i \sum_iαk,i d_i iαkidi,其中{ d i d_i di}是DCT基,{αk,i}是要学习的滤波器系数集。对于每个变换 ϕ k \phi_k ϕk,我们使用由一组控制点{ p i , q k , i p_i,q_{k,i} piqk,i}确定的分段线性函数对其进行参数化,即 ϕ k = ∑ i β k , i , i q k , i \phi_k=\sum_iβ_{k,i},iq_{k,i} ϕk=iβk,iiqk,i其中{ p i p_i pi}是均匀地位于[-1,1]内的预定义位置,{ q k , i q_{k,i} qk,i}是这些位置的函数值,{ β k , i β_{k,i} βk,i}是组合系数。这样就大大减少了DPATN中的参数个数。所要求的 ϕ k \phi_k ϕk的可导性也可以通过这种参数化得到保证。最后,根据文献[20]的建议,利用L-BFGS算法对式(8)进行优化。

  1. 潜在场景辐射复原
  • 对大气光A进行估计

最常用的策略[4],[17]是在暗通道中选择几个最亮的像素(例如,0.1%),在这些像素中,选择图像中强度最高的像素作为大气光。在这里,我们改进了基于过滤过程[7 ]的策略, A c = m a x ( m i n i f i l t e r ( I c ) ) A^c=max(minifilter(I^c)) Ac=max(minifilter(Ic)),其中“max”操作输出最大值,“ m i n i f i l t e r minifilter minifilter”表示滑动窗口最小过滤器。利用估计的t和A,我们可以用公式(1)恢复无霾图像。为了避免被零除,J的计算方法是

J ( x ) = A + ( I ( x ) − A ) / ( m a x ( t ( x ) , ϵ ) ) J(x)=A+(I(x)-A)/(max(t(x),\epsilon)) J(x)=A+(I(x)A)/(max(t(x),ϵ))

其中 ϵ ≥ 0 , 是 一 个 常 量 \epsilon \geq0,是一个常量 ϵ0

训练方法

  • 基于能量的观点
  • 一个轻量的训练框架

简化测试(Ablation study)

  1. 训练数据

他人多用15000到20000多的训练集

由于加入了丰富的先验知识,而DPATN只需几十个训练数据即可,实验中50个最好

  1. 优化策略(两种)
  • 分层优化
    对于第一种方案,我们只需分别计算训练成本相对于各层参数的梯度
  • 反向传播
    第二个候选方案执行所有参数的联合梯度下降更新。

经过过对比,第二种优于第一种
最终采用联合的反向传播(分层初始化)的优化策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值