Multi-Stage Progressive Image Restoration处理流程详解


请添加图片描述

模块详解

CAB(Channel Attention Block)

在这里插入图片描述

分为3步操作 :

  1. 先对原始输入x进行一次二维卷积操作后,使用激活函数对卷积结果进行处理(此处激活函数选用的是PReLU),然后在对处理后的结果再进行一次二次卷积得到结果a。
  2. 将a进行池化处理(此处采用均值池化),然后对处理结果依次进行一次二维卷积、一次激活函数处理(此处选用ReLU)、一次二维卷积、一次激活函数处理(此处选用Sigmoid)得到结果b,将结果a和结果b相乘得到结果y。
  3. 最后返回原始输入x和结果y相加的结果。

SAM(Supervised Attention Module)

在这里插入图片描述
分为四步操作:

  1. 对当前Stage的处理结果进行一次卷积操作得到x1。
  2. 对当前Stage的处理结果进行一次卷积操作(输出通道数固定为3)后将结果与原始图像部分相加得到img。
  3. 对img进行一次卷积操作(输入通道数固定为3)后,使用激活函数对卷积结果进行处理(此处选用Sigmoid)得到x2。
  4. 将x1与x2相乘后得到的结果再与上个Stage的处理结果相加得到x,最后返回x和img。

其中结果x作为samfeats传到下一个Stage进行后续处理,img作为当前Stage的最终处理结果。


在这里插入图片描述

Stage 1

Stage1将照片分为四个部分作为输入(x1img_ltop(左上),x1img_rtop(右上),x1img_lbot(左下),x1img_rbot(右下))。

1. 计算浅特征(Compute Shallow Features)

分别计算四个部分的浅特征,具体操作为:

  1. 对输入图片进行一次卷积操作。
  2. 将卷积后的结果作为输入,再次进行一次CAB操作。

2. 使用编码器处理照片特征(Process features of all 4 patches with Encoder of Stage 1)

分为三步:

  1. 对第一步得到的浅特征进行连续的两次CAB操作得到结果enc1。
  2. 对enc1进行下采样后,再次进行连续的两次CAB操作(比前面CAB通道数增加)得到结果enc2。
  3. 对enc2进行下采样之后(比前面采样通道数增加),再次进行连续的两次CAB操作(比前面CAB通道数再次增加)得到enc3。

这里照片的四个部分分别经过处理后得到feat1_ltop、feat1_rtop、feat1_lbot、feat1_rbot,每个部分都是一个列表数据[enc1,enc2,enc3]。

3. 合并深特征(Concat deep features)

将编码器处理过后的四部分照片特征拼接为两个部分,具体为:

  • feat1_ltop(左上)和feat1_rtop(右上)的部分拼接成原始照片大小的上半部分(feat1_top)。
  • feat1_lbot(左下)和feat1_rbot(右下)的部分拼接成原始照片大小的下半部分(feat1_bot)。

4. 通过解码器传递特性(Pass features through Decoder of Stage 1)

将获得的两部分照片经过解码器处理:
分为三步:

  1. 对上一步得到的深特征进行连续的两次CAB操作得到结果dec3。
  2. 先对上一步得到的深特征进行一次CAB操作(比前面CAB通道数减少)得到y,再对dec3进行上采样后得到x,将x与y相加后对结果再进行连续的两次CAB操作后(通道数与前面CAB相同)得到dec2。
  3. 先对上一步得到的深特征进行一次CAB操作(比前面CAB通道数再次减少)得到y,再对dec2进行上采样(比前面采样通道数减少)后得到x,将x与y相加后对结果再进行连续的两次CAB操作后(通道数与前面相同)得到dec1。

这里照片的两个部分分别经过处理后得到res1_top、res1_bot,每个部分都是一个列表数据[dec1,dec2,dec3]。

5. 应用监督注意模块(SAM)(Apply Supervised Attention Module (SAM))

这里将上一步得到的列表数据中的dec1分别与Stage2中原始图片的上下部分照片(x2img_top、x2img_bot)一同进行SAM处理得到x2top_samfeats、x2bot_samfeats, stage1_img_top、stage1_img_bot。

x2top_samfeats、x2bot_samfeats传到Stage2进行下一步操作。

6. 得到图像(Output image at Stage 1)

将上一步得到的stage1_img_top、stage1_img_bot拼接在一起得到Stage1_img作为Stage1的最终图像结果。


在这里插入图片描述

Stage 2

Stage2将照片分为两个部分作为输入(x2img_top(上)、x2img_bot(下))。

1. 计算浅特征(Compute Shallow Features)

分别计算两个部分的浅特征,具体操作为:。

  1. 对输入图片进行一次卷积操作。
  2. 将卷积后的结果作为输入,再次进行一次CAB操作。

2. 连接特征(Concatenate SAM features of Stage 1 with shallow features of Stage 2)

  1. 将上一步得到的浅特征和Stage1传来的x2top_samfeats,、x2bot_samfeats分别拼接在一起。
  2. 将拼接结果进行一次卷积操作。

这里得到x2top_cat、x2bot_cat

3. 使用编码器处理照片特征(Process features of all 4 patches with Encoder of Stage 2)

这里将上一步得到的x2top_cat、x2bot_cat,Stage1中合并的深特征(feat1_top、feat1_bot),Stage1中经过解码器处理的特征(res1_top、res1_bot)一同使用编码器处理。

  1. 将上一步得到的特征x2top_cat\x2bot_cat进行连续的两次CAB操作得到结果enc1,然后这里会触发跨阶段特征融合模块(Cross Stage Feature Fusion (CSFF))
    在这里插入图片描述
    具体操作为将feat1_top[0]\feat1_bot[0]和res1_top[0]\res1_bot[0]分别进行一次卷积操作,再将卷积结果和前面得到的enc1相加得到最终的enc1。
  2. 对enc1进行下采样后,再次进行连续的两次CAB操作(比前面CAB通道数增加)得到结果enc2,这里再次触发跨阶段特征融合模块(Cross Stage Feature Fusion (CSFF)),将上个阶段的feat1_top[1]和res1_top[1]分别进行一次卷积操作(比前面卷积通道数增加),再将卷积结果和前面得到的enc2相加得到最终的enc2。
  3. 对enc2进行下采样(比前面采样通道数增加)后,再次进行连续的两次CAB操作(比前面CAB通道数增加)得到结果enc3,这里再次触发跨阶段特征融合模块(Cross Stage Feature Fusion (CSFF)),将上个阶段的feat1_top[2]和res1_top[2]分别进行一次卷积操作(比前面卷积通道数增加),再将卷积结果和前面得到的enc3相加得到最终的enc3。

最终得到feats2_top、feats2_bot,都是列表数据[enc1,enc2,enc3]。

4. 合并深特征(Concat deep features)

将上一步编码器处理过后的两部分照片特征(feats2_top、feats2_bot)拼接为一个完整照片特征(feat2)。

5. 通过解码器传递特性(Pass features through Decoder of Stage 2)

将获得的完整照片特征经过解码器处理:
分为三步:

  1. 对上一步得到的深特征进行连续的两次CAB操作得到结果dec3。
  2. 先对上一步得到的深特征进行一次CAB操作(比前面CAB通道数减少)得到y,再对dec3进行上采样后得到x,将x与y相加后对结果再进行连续的两次CAB操作后(通道数与前面CAB相同)得到dec2。
  3. 先对上一步得到的深特征进行一次CAB操作(比前面CAB通道数再次减少)得到y,再对dec2进行上采样(比前面采样通道数减少)后得到x,将x与y相加后对结果再进行连续的两次CAB操作后(通道数与前面相同)得到dec1。

完整照片特征经过处理后得到res2,是一个列表数据[dec1,dec2,dec3]。

6. 应用监督注意模块(SAM)(Apply Supervised Attention Module (SAM))

这里将上一步得到的列表数据中的dec1分别与Stage3的原始输入图片(x3img)一同进行SAM处理得到 x3_samfeats, stage2_img。

x3_samfeats传到Stage3进行下一步操作。stage2_img作为Stage2的最终图像结果。


在这里插入图片描述

Stage3

这里将完整照片x3_img作为输入。

1. 计算浅特征(Compute Shallow Features)

  1. 对输入图片进行一次卷积操作。
  2. 将卷积后的结果作为输入,再次进行一次CAB操作。

2. 连接特征(Concatenate SAM features of Stage 2 with shallow features of Stage 3)

  1. 将上一步得到的浅特征和Stage2传来的 x3_samfeats拼接在一起。
  2. 将拼接结果进行一次卷积操作。

这里得到x3_cat。

3. 应用原始分辨率子网(ORSNet)(Apply Original Resolution Subnetwork)

将上一步得到特征(x3_cat)、Stage2中合并的深特征(feat2),Stage2中经过解码器处理的特征(res2)一同使用ORSNet处理。

  1. 将x3_cat经过连续的8次CAB操作,然后进行一次卷积操作,将卷积结果和原始x3_cat相加得到x1。接下来这里又会涉及Cross Stage Feature Fusion (CSFF)
    在这里插入图片描述
    具体操作为将feat2[0]和res2[0]分别进行一次卷积操作,再将卷积结果和前面得到的x1相加得到最终的x1。
  2. 继续对x1经过连续的8次CAB操作,然后进行一次卷积操作,将卷积结果和原始x1相加得到x2。这里先分别对feat2[1]和res2[1]进行一次上采样,然后将采样结果分别进行一次卷积操作后与x2相加得到最终的x2。
  3. 继续对x2经过连续的8次CAB操作,然后进行一次卷积操作,将卷积结果和原始x2相加得到x3。这里先分别对feat2[2]和res2[2]连续进行两次上采样(通道数逐渐减少),然后将采样结果分别进行一次卷积操作后与x3相加得到最终的x3。

x3就是ORSNet 最终返回的处理结果。

4. 得到图像(Output image at Stage 3)

将上一步得到的x3进行一次卷积操作后,与该阶段的原始输入照片x3_img相加得到stage3_img作为Stage3的最终图像结果。

最终结果

最终该网络返回一个列表数据[stage3_img, stage2_img, stage1_img]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值