当前位置:网站首页>使用基于SSIM的CNN进行环路滤波
使用基于SSIM的CNN进行环路滤波
2022-07-20 07:02:00 【Dillon2015】
本文来自提案JVET-T0069《SSIM based CNN model for in-loop filtering》,目前大部分基于深度学习的视频编码研究都是优化客观指标,然而对于人眼视觉来说更高的客观指标有时候并不意味着更高的主观效果。因此,该提案提出神经网络模型CNNLF(convolutional neural network based in-loop filter)来进行主观优化。
简介
CNNLF用于环路滤波阶段,处于deblocking之后,SAO之前,如Fig.1所示。
重建帧首先会使用DF滤波处理,然后经过CNNLF模型处理,最后送入SAO进一步处理。该方法作用于块级,通过RDO决定是否对块使用CNNLF处理,因此需要在码流中传递一个标志位表示是否使用了CNNLF。
网络结构
整个网络结构如图所示,由8个残差单元(3x3卷积)构成,除了最后一个卷积层生成3维输出外,其他卷积层都生成64维特征。最后有两个SE块和一个3x3卷积连接在网络后用于自适应的混合特征生成最终重建图像。注意,第一个残差单元中没有使用1x1卷积。网络中的短接可以促进浅层特征的流动。
残差单元
如上图,残差单元由一个1x1卷积层和两个3x3卷积层构成,激活函数为ReLU,其中单元里还有两个短接和一个SE块(squeeze-and-excitation block)。
短接将1x1卷积的输出和3x3卷积的输出相加可以学习残差。下式中x是输入,F(x)是整个输出,f()表示1x1卷积操作,g()表示残差学习。
SE块结构如下图,它将特征处理为多通道形式。它通过显示建模特征通道间的依赖关系来自适应的校准特征通道,有利于模型学习压缩信息。
训练
模型使用DIV2K数据集训练,包含800张训练图像,100张验证图像,所有图像都使用VTM10.0在AI配置下编码,QP={22,27,32,37}。对于不同QP只训练一个模型。且训练指标使用SSIM,测试指标使用VMAF,因为VMAF不连续所以不适合在训练中使用。训练配置如表1,其中loss函数使用了SSIM和L1 loss的加权,这里使用了两套权重参数(0.2,0.8)和(0.8,0.2)
实验结果
实验测试配置为AI、RA和LDB,QP={22,27,32,37}。其中由于计算复杂度较高,RA配置只跑第一个GOP。YUV编码时不使用GPU,解码会用GPU和CPU各解码一遍。
Loss = 0.8 x SSIM + 0.2 x L1
Loss = 0.2 x SSIM + 0.8 x L1
感兴趣的请关注微信公众号Video Coding
边栏推荐
- 程序环境和预处理
- 操作符详解—c语言
- Daily question 1: specified interval reversal in the linked list
- [learning notes] division and blocking, linear sieve, Mobius inversion
- QT笔记——自定义的流式布局QFlowLayout
- Force buckle 745 Prefix and suffix search
- Comparison table of English abbreviations of network security terms
- 每日一题:链表内指定区间反转
- 乙醇是什么?
- Keil编译下载报错:No Algorithm found for: 08000000H - 08001233H解决办法
猜你喜欢
尚医通项目总结
Two dimensional convolution Chinese microblog emotion classification project
Daily question 1: specified interval reversal in the linked list
[learning notes] number theory thinking problem
Deep residual learning for image recognition -- RESNET classic paper
Docker learning notes (12) -- practical deployment of redis cluster
Arduino IDE for Raspberry Pi Pico开发固件本地化安装教程
Three practical PivotTable operating skills in Excel, simple and efficient!
网络安全专业术语英文缩写对照表
QQ Three Party login - pre environment and interaction
随机推荐
Keras MNIST handwritten numeral data set number recognition
【QNX Hypervisor 2.2用户手册】目录
Jmeter关联
已解决(最新版selenium报错)AttributeError: module ‘selenium.webdriver‘ has no attribute ‘PhantomJS‘
Auto encoder
# CF #807 Div.2(A - D)
《PolarDB for Postgres SQL 》主要讲了什么?
Leaflet 加载超图发布的投影图层报错 Uncaught No projection definition for code XXXX
The projection layer released by leaflet loading hypergraph reports an error uncaught no projection definition for code XXXX
[QNX hypervisor 2.2 user manual] directory
Leetcode skimming -- drip record 016
[learning notes] radical thinking question
gcc unsed和used的作用
shell脚本学习
[learning notes] insert addition
C # use the merging method to judge whether the two lists are equal and whether they contain
MySQL的增删查改【进阶】
Wangeditor uncaught (in promise) error: the editor instance already exists in the initialization node, and the edit cannot be created repeatedly
如何用二八原则理解软件测试,你且看下文
MySQL JDBC编程