《Combining Progressive Rethinking and Collaborative Learning: A Deep Framework for In-Loop Filtering 》阅读笔记


question
1、how to model spatial and temporal redundancies more effectively in the coding scenario
(如何建模,有效的利用时空冗余)
2、what kinds of side information (sideinfo) can be inferred from the codecs to benefit in-loop filter models and how this side-info is injected
(什么边信息可以利用,以及如何输入滤波器模型)


proposed methods
对于第一个问题:

  • 设计了一个a deep network with both progressive rethinking and collaborative learning mechanisms to improve quality of the reconstructed intra-frames and inter-frames
    (渐进思考+协作学习机制)

对于第二个问题:

  • 提取了一个 coarse-to-fine 的划分map,构建I帧的边信息
  • 参考帧的warped features 用作P/B 帧的边信息

motivation

Representative Feature Refinement via Progressive Review

residual dense network(RDN) perform the progressive feature refinement.然而,每个块的结尾都会降维来实现避免模型参数的过度增加,这样会造成信息损失。尽管保留了大部分信息,但对于之后的学习来说,如果有过去的经验,会很有帮助。
因此,文中引入了一种块间连接,使模型能够通过回顾过去的历史记忆来表示学习,即“rethinking”
( 可是这样难道就不会增加模型参数了吗?为什么不可以在dense连接过程中降维呢,一边降维,一边加dense连接,这样不也是作者说的理由吗 )

Hierarchical Side-Info in the Coding Context

编码过程是逐块进行的,因此块的边界信息能够提供编码内容,引导网络从粗到细的恢复
因此,文章提取了MM-CU作为边信息来促进网络模型的滤波过程

*** Collaborative Learning Mechanism***

先前的工作使用时域信息,即使用来自参考帧的信息流提升当前帧的质量。然而却没有更新参考帧的特征状态。
因此,文中提出一种协同学习机制,利用渐进和协作的方式从参考帧(最近的相邻帧和峰值质量帧)得到有用的信息。(没懂。。)


网络设计

流程
1、首先将所有帧分为两类:高质量帧(H-frame),低质量帧(L-frame);H-frame:所有I帧和P/B帧的POC是4的倍数的帧;L-frame:不属于H-frame的帧
2、使用PR-CNN滤波H-frame,PR-RNN滤波L-frame
(对于H帧来说,参考帧质量很低,可能误导恢复过程,因此只使用帧内滤波)

3、对于L-frame来说,PR-RNN的输入分别为最近的H-frame的输出以及上一帧的输出作为额外输入。


PRN

下图作为一些表示的说明

Residual Dense Network

使用一系列的residual dense blocks(RDB)堆叠构建residua dense network(RDN)
(《Residual dense network for image super-resolution》)

modeling PR-CNN step by step

inter-block connections(图中红色的线)用来在块间传递更多的信息。它们使连续的块“重新思考”,即学习在没有维度压缩的情况下,根据先前的信息提取更具代表性的特征。同时将MM-CU输入网络引导恢复过程

Frame-Level Temporal Fusion

将warped参考帧作为输入,提供时域信息,然鹅,这样可能不能充分利用时域依赖

PR-RNN (Feature-Level Aggregation and Collaborative Learning)

使用协同学习机制来在特征级别双向利用时域信息。


Progressive Rethinking Block

F d − 1 F_{d-1} Fd−1​经过dense network后,使用1x1卷积降维,势必会造成信息损失。为了补偿损失,引入一条路径将上一个PRB的特征图 M d − 1 M_{d-1} Md−1​传到当前块,与 G d G_{d} Gd​连接起来,即图中红色的线。从过去的经验中学习,而不仅仅利用当前信息。因此inter-block connection能够实现长期依赖,学习历史信息。

Progressive Rethinking Convolutional Neural Network
PR-CNN使用未滤波帧 x x x 和MM-CU作为输入, x x x 直接输入主分支,MM-CU输入SIFE后融入主分支。

PR-CNN分为3部分:Low-Level Feature Extractor (LFE), High-Level Feature Extractor (HFE) with MM-CU Fusion and Reconstruction Sub-Network

Low-Level Feature Extractor
LFE包含2个卷积层。。。没了,就2个卷积层。。。,提取低级特征用的得到 F 0 F_{0} F0​

High-Level Feature Extractor with MM-CU Fusion

F 0 F_{0} F0​ 输入D个RDB中,提取高级特征。
经过初期一些RDBs后,将M-CU( Mean value of CU )的特征图以元素相加的方式加入主分支。

ReconstructionSub-network
经过D个RDB后,将所有特征图concat起来,使用1xx1卷积压缩。在再经过卷积处理后,使用global residual connection,最后使用3x3构建输出。


MM-CU

MM-CU Generation
计算每一次划分时的CU平均值,从粗到细的引导网络恢复。

MM-CU Fusion

Side-Info Feature Extractor(SUFE)
M-CU首先经过一层卷积,然后2个RDBs,加上residual connection,最后,使用使用一层卷积生成M-CU的特征图(好像和图示不太一样)

更粗糙的M-CU map显示更多的全局结构信息,更精细的M-CU map 显示更多的局部细节结构信息。


Progressive Rethinking Recurrent Neural Network (PR-RNN)

使用PR-RNN来利用协作学习的方式有效利用帧间信息。

不同于PR-CNN,PR-RNN使用3种帧作为输入:

  • 当前帧 x n x_n xn​
  • 临近帧:与当前帧最接近的帧
  • 质量最高的帧:选择最近的H-frame

文中讲述这里为了逐帧使用滤波器,将在不同时间节点的3个输入作为3个队列,相应的有3个状态:State C C C or x C x_C xC​,State N N N or x N x_N xN​,State Q Q Q or x Q x_Q xQ​;分别对应当前帧,临近帧,质量最高帧;
这里PR_RNN分为4部分:Flow Estimation, Low-Level Feature Extractor, Recurrent Module with collaborative Mechanism, and Reconstruction Sub-Network

Flow Estimation
因为这3帧没有对齐,因此需要估计他们的光流结果,应用warping operations ,文中采用SPyNet(Optical flow estimation using a spatial pyramid network)来产生光流图
f l o w i − > j = P S p y N e t ( x j , x i ) flow_{i->j}=P_{SpyNet}(x_j,x_i) flowi−>j​=PSpyNet​(xj​,xi​)
i i i和 j j j代表任意2个状态;这里 P S p y N e t P_{SpyNet} PSpyNet​的第一个参数和第二个参数分别代表目标帧和源帧。
(这里会不会出现其他的损失,从而导致恢复变差?)

Low-level Feature Extractor
不仅仅warping所有帧到当前帧,还提取3个输入的浅层特征图,进一步使用协作学习机制warping到递归模型中。
低级特征提取如同PR-CNN。

Recurrent Module with Collaborative Learning
经过上面2个步骤后,输入的特征图经过 the Collaborative Learning Module (CLM) and then pass sequential PRBs 进一步更新状态。(细节在下面)

Reconstruction Sub-network
使用1x1的卷积降低通道数目后,加上一个global residual connection。最后使用3x3的卷积生成输出。


Collaborative Learning

在时间 t t t,3个状态的相应的特征图被更新如下:

F C t F^t_C FCt​ : 状态 C C C 在时间 t t t 的特征图,其他类似。
P R M ( . ) P_{RM}(.) PRM​(.) 代表递归模型的映射

具体来说,
1、3个状态使用估计流被warped:

这里 i , j i,j i,j分别代表任意2个状态

2、,the warped feature maps 被连接起来,以便于相互交互和共享信息。

翻译文中一段话(
直观地说,协作学习可以理解为一个团队登山的过程。这三个状态具有不同的恢复质量,可以看作是一个登山队,其成员处于不同的海拔高度。通过分享信息,这三个状态彼此受益,就像队友们互相协作,共同攀登更高的目标一样。通过这个过程,三种状态可以达到更高的高度,即拥有更高的质量。)
(题外话:会不会互相拉低,导致越来越低呢)

3、 经过信息共享后,3个状态的特征使用1x1的卷积被压缩,然后经过几个PRBs进一步处理。这个流程如下所示:

到这里,所有状态被更新了。 F i t F^t_i Fit​ 被进一步融入下一个递归去提升质量。


我的问题

1、这里一个H-frame会用来协助提升几个L-frame的质量,这里对于H-frame来说,他的状态是共享的吗,还是每处理一个当前帧,H-frame就有一个状态?
2、H-frame和临近帧的状态会被永远记录下来吗,还是只是用于当前帧的状态更新,即恢复当前帧的时候,H-frame和临近帧同样会被恢复吗?
3、递归多少次,有限制吗,递归有没有可能导致质量变差?


应用细节

结构的大小。。。

训练
1、数据集: DIV2K [47] and Vimeo-90K [48]。划分64x64和128x128的块分别训练PR-CNN和PR-RNN,应用随机水平垂直翻转做数据增强。
2、Adam;学习率开始被设置为0.0001,逐渐降低。
3、将该模型放到DF和SAO之间。


结果


ablation study
Verification of Inter-Block Connection
Verification of MM-CU Maps

Verification of Collaborative Learning Mechanism


contributions
1、设计了一个基于残差学习和dense 连接的Progressive Rethinking Block ,额外加了一个inter-block连接提供补偿信息,进而可以提高帧内和帧间图像的滤波器建模能力
2、设计了一个Progressive Rethinking Recurrent Neural Network (PR-RNN) ,用来协作学习来有效利用时域冗余信息。从人类的协调能力受到启发,利用信息共享同步更新当前帧和参考帧的状态
3、提取了多尺度的CU平均值map(Multi-scale Mean value of CU (MM-CU) maps),在AI中,通过融合MM-CUmap构建了一个Progressive Rethinking Convolutional Neural Network (PR-CNN)


【论文笔记】(VC)《Combining Progressive Rethinking and Collaborative Learning: ... for In-Loop filtering》相关推荐

  1. 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.

    小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks 文章目录 小样本论文笔记5:Mod ...

  2. 【论文笔记09】Differentially Private Hypothesis Transfer Learning 差分隐私迁移学习模型, ECMLPKDD 2018

    目录导引 系列传送 Differentially Private Hypothesis Transfer Learning 1 Abstract 2 Bg & Rw 3 Setting &am ...

  3. 论文笔记《Incorporating Copying Mechanism in Sequence-to-Sequence Learning》

    论文笔记<Incorporating Copying Mechanism in Sequence-to-Sequence Learning> 论文来源:2016 ACL 论文主要贡献:提出 ...

  4. 论文笔记:Decoding Brain Representations by Multimodal Learning of Neural Activity and Visual Features

    论文笔记:Decoding Brain Representations by Multimodal Learning of Neural Activity and Visual Features(通过 ...

  5. 【论文笔记】PSCC-Net: Progressive Spatio-Channel Correlation Network for Image Manipulation Detection and

    PSCC-Net: Progressive Spatio-Channel Correlation Network for Image Manipulation Detection and Locali ...

  6. 【论文笔记】Combining EfficientNet and Vision Transformers for Video Deepfake Detection

    * Combining EfficientNet and Vision Transformers for Video Deepfake Detection 题目:结合高效网络和视觉变压器进行视频深度虚 ...

  7. 论文笔记《Combining Events and Frames Using Recurrent Asynchronous Multimodal Networks for Monocular ...》

    最近在学习DVS相关的算法,读到这篇把event和frame结合的论文,找到了他们在github上开源的代码. 然而这个work的开源并不完全,包括这篇work前面的<Learning Mono ...

  8. 论文笔记《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》

    论文链接 MMoE 1.摘要 基于神经网络的多任务学习已经在实际场景如推荐系统中有了大规模应用,例如在电影推荐中,除了要给用户推荐他们可能购买或者观看的电影,还要考虑用户后续对这部电影的评价.通过多任 ...

  9. 推荐系统论文笔记---Neural News Recommendation with Attentive Multi-View Learning

    文章目录 一.概述 二.主要解决问题 三.解决思路 1.News Encoder 2.User Encoder 3.Click Predictor 4.Model Training 四.实验结果 一. ...

最新文章

  1. java 获取utc,如何在Java 8中获取UTC + 0日期?
  2. C# 删除文件错误 access denied
  3. 使用gPXE网络启动引导ISO和安装ESXi5
  4. linux程序崩溃时调用链,Linux 获取并分析程序崩溃时的调用堆栈
  5. bootstrap panel 布局
  6. 宜搭小技巧|自动计算日期时长,3个公式帮你敲定
  7. mysql 命令行如何输入参数_MySQL命令行参数完整版
  8. javascript的规范
  9. 学以致用 知行合一 ——《产品管理与研发项目管理》课程有感
  10. Word01-从正文处开始插入页码
  11. java大津法确定阈值,大津法得到自适应阈值
  12. SDN/NFV在演进中探寻路径
  13. golang json 转 map 切片 结构体
  14. BIO输给NIO了吗 —————— 开开开山怪
  15. win7显示文件的扩展名
  16. 基于MATLAB的特征值与特征向量(附完整代码)
  17. matlab 门函数频谱,时域门函数及门函数串的频谱分析
  18. CSS颜色属性、文本文字属性、属性继承
  19. 2018上半年软件设计师上午试题参考答案
  20. c++map自动排序特性

热门文章

  1. alertdialog报错_AlertDialog错误
  2. 游戏设计的艺术:一本透镜的书——第十七章 故事和游戏在世界里发生
  3. Spring boot定制个性化banner(七彩佛祖版)
  4. VMware ESXi 7.0 U3l Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
  5. 2022无线蓝牙耳机哪个牌子好?无线蓝牙耳机排行榜
  6. 梦幻逍遥怎么用电脑玩 梦幻逍遥电脑版玩法教程
  7. IFERROR 判断函数用法
  8. java操作es查询数据总量
  9. ctfshow【菜狗杯】misc
  10. 400左右蓝牙耳机什么牌子音质好?400左右的无线蓝牙耳机推荐