关注公众号,发现CV技术之美

今日分享论文『Self-Conditioned Probabilistic Learning of Video Rescaling 』, 本文将视频缩放任务与视频压缩任务和视频动作识别任务联系起来,将模型中不可微分的模块通过辅助 DNN 训练求梯度的方法来进行模型的训练,相比 H.265 实现了较好的压缩率和恢复效果。

详细信息如下:

  • 作者单位:上交、北理、百度

  • 论文链接:https://arxiv.org/pdf/2107.11639.pdf

      01      

看点

本文提出了一个视频缩放的自条件概率框架(SelfC),以同时学习成对缩放过程。在训练时,在LR视频中有强时空先验信息的条件下,通过最大化降采样丢失信息的概率来减少丢失的信息熵。该方法利用LR视频中丰富的时间信息,通过引入指定的局部和全局时间聚合模块,精确估计分布参数。此外,本文进一步将该框架扩展到有损视频压缩系统,提出了一种基于控制变量法和Monte Carlo采样技术的非微分有损编解码器的梯度估计方法,用于整个系统的端到端训练。

      02      

方法

SelfC框架的如下图(a)所示,其中使用取整运算作为量化模块,并以H.265无损格式存储输出的LR视频。量化模块的梯度由直通估计器(STE)计算。

在降采样过程中,频率分析器(FA)首先将HR视频转换为视频特征,其中前3个通道为低频分量,后个通道为高频分量,为采样系数。然后,被量化为LR视频进行存储,在这个过程中被丢弃。在上采样过程中,时空先验网络(STP-Net)预测高频分量的概率密度函数:

将建模为连续高斯分布的参数矩阵,然后从分布中提取高频分量。最后利用频率合成器(FS)将级联的和重构出HR视频。

频率分析器和合成器

如上图(b)所示,首先将HR视频分解为低频组件和高频残差组件,然后用一个可学习的操作将级联的和转换为输出特征。的网络架构是非常灵活的,在此使用多个堆叠的Dense2D-T块实现它,Dense2D-T的结构在上图右侧。Dense2D-T块由Dense2D块修改而来,用时间卷积替换最后的空间卷积。频率合成器的结构与分析器是对称的,如上图所示。

自条件概率模型

由于量化模块使用取整运算,导致其梯度不平滑,直接使用梯度下降优化是不稳定的。为此选择优化。具体的说,将高频分量表示为基于低频分量的连续多模态概率分布,公式为:

其中表示时空位置。使用组件数量K=5的连续高斯混合模型(GMM)来近似,其分布由可学习的混合权重,平均值和对数方差定义。分布可以精确的定义为:

其中

STP-Net

如(d)所示,为了估计上述分布的参数,提出STP-Net来对缩小后的视频中的局部和全局时间信息进行建模。首先利用Dense2D-T块提取每个输入帧的短期时空特征。在这一阶段,只将前一帧或下一帧的信息聚合到当前帧中,而忽略视频中的长时间依赖关系。因此进一步引入了全局时间信息建模的注意机制。

具体地说,首先利用空间聚合器(一个平均池化+FC)降低了短期时空特征的空间维度,然后使用点乘来生成注意力图,它代表每两帧之间的相似度。最后基于相似度对局部时空特征进行优化。重复以上步骤六次,以提取更好的视频特征。最后,利用三层多层感知器(MLP)估计GMM分布的参数。

损失

为了确保STP-Net能够对高频分量得到准确的估计,损失中直接最小化的负对数似然值:

缩小后的视频最好与原始视频相似。因此在量化之前对缩小的视频进行正则化:

为了避免繁琐的解,为频率分析器和合成器的CNN部分添加如下惩罚项:

最小化重构损失,其中为损失,(c)为concat,从由STP-Net输出的参数构造的分布中采样,为了实现端到端的优化,本文采用了“重参数技巧”,使采样过程可微:

©

总的损失为:

值得一提的是,SelfC框架的性能对这些超参数并不敏感,直接将所有参数设置为1已经达到了合理的性能。

      03      

实验 

视频压缩中的应用 

本节将提出的SelfC框架扩展到有损视频压缩系统,目的是演示本方法在减少视频存储空间方面的有效性。整个系统下图所示:

首先使用SelfC生成缩小的视频,它将通过使用现成的工业视频编解码器进行压缩。然后在解码器端,压缩视频将被解压缩并上采样为全分辨率视频。考虑到传统的视频编解码器是非差分的,本文为此提出了一种新的优化策略:引入了可微代理视频扰动器φ,由6个Dense2D-T块的深度神经网络(DNN)组成。

在反向传播阶段,编解码器的梯度可以近似为φ的梯度。在测试阶段,我们去掉代理DNN,直接使用H.265编解码器进行压缩和解压。根据控制变量理论,φ可以作为视频编解码器的低方差梯度估计器(η)当(1)两个函数的输出差异最小化(2)两个输出分布的相关系数ρ最大。将这两个约束引入到视频压缩系统的优化过程中,φ的损失函数为:

其中ρ被每批次的Monte Carlo采样估算:

其中

总损失为

视频动作识别任务相关应用与实验详见原文。

视频压缩任务中的实验

视频压缩任务上的定量实验:

Bjøntegaard Delta Bit-Rate(BDBR)结果,数值越低表示降低的比特成本越高。

视频缩放+编解码器与梯度估计方法的实验,值得注意使用Bicubic作为视频缩放方法的结果远不如基线。

消融实验

SelfC-small和SelfC-large分别由2个和8个可逆的Dense2D-T块组成。

定量评估

在VID4上的定量评估:

定性评估

在VID4上的定性评估:

END

欢迎加入「视频技术交流群

ICCV2021 |上交、北理、百度联合研究视频缩放任务中的自条件概率学习相关推荐

  1. 百度联合研究成果登上《自然》子刊 推动人才管理大数据智能化转型

    AI 的高速发展启动了人才管理变革的加速器.近日,百度针对"AI+ 人才管理"领域的最新研究成果登上国际顶级刊物 Nature 子刊 Nature Communications(& ...

  2. 北理宋文杰:时空域下智能车辆未知区域自主导航技术(附视频)

    不到现场,照样看最干货的学术报告! 嗨,大家好.这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频--足 ...

  3. 2022年信息与通信工程保研夏令营(清华/上交/自所/复旦/浙大/科大/哈深/北理/西交)

    2022年信息与通信工程保研夏令营(清华/上交/自所/复旦/浙大/科大/哈深/北理/西交) 个人介绍 本科:某末流985/211 专业:电子信息工程 排名:1% 主要获奖:连续两年国奖/校一.机器人. ...

  4. 计算机考研408真题(全国统考2009--2020)、985高校计算机考研资料(清北+北理+北邮+武大+华科+浙大+复旦+哈工大+西安交大+华南理工)、王道四件套、天勤四件套---百度网盘免费下载

    1.计算机考研408真题(全国统考2009–2020) 真题 链接:https://pan.baidu.com/s/1uTQd7wScWBk16ShJlyUbgA 提取码:u5vw 答案 链接:htt ...

  5. 北理通信男找工作的经历及心得

    注:北理毕业的通信专业研究生写的,希望对大家也有所帮助. 找工作很久了,一直想写一写笔经面经,也给师弟师妹留下一些建议和忠告.但是工作没着落时没心思写,找到工作又懒得写.狠了狠心,却写出这么多字,看着 ...

  6. 北理宋文杰:时空域下智能车辆未知区域自主导航技术

    不到现场,照样看最干货的学术报告! 嗨,大家好.这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频--足 ...

  7. 聚焦可信AI与产业应用,百度联合发起千言计划实现情感分析2.0升级

    数据集是推动自然语言处理技术进步的基石.为应对自然语言处理技术应用中面临的多领域.多场景等诸多挑战,百度联合中国计算机学会.中国中文信息学会,于2020年8月共同发起中文自然语言处理数据共建计划--& ...

  8. 【夏令营保研经验】北理计算机,北航计算机夏令营,中科院霸面保研经验(2019.7)

    目录 参加夏令营时的个人情况 北理计算机 7.8全天报道 7.9上午开营仪式各个实验所宣讲,下午机试 7.10上午参观实验室,下午面试 北航计算机 7.11上午报道,下午机试 7.12上午面试,下午摸 ...

  9. 北理计算机考研初试复试经验分享贴专硕889

    北京理工大学计算机跨考专硕889初试复试考研经验贴分享 学长是18年某普通本科跨考北理计算机专硕,之前写的这篇考研经验帖,帮助了众多学子圆梦北理计算机,尤其是对一些跨考学生提供了很大帮助,希望后来者对 ...

最新文章

  1. 关于javascript闭包中的this对象
  2. 程序员必知必会之maillist篇
  3. linux 限制连接时间,linux抵御DDoS攻击方法 通过iptables限制TCP连接和频率
  4. (最新合集)计算机网络谢希仁第七版 第三章课后答案
  5. js函数的内部属性---arguments,callee,caller
  6. 120万人同时在线考试,这么大的流量如何支撑
  7. 借助大数据进行社交媒体营销,企业们得这么玩!
  8. Visual C++ 2008入门经典 第二十一章更新数据源
  9. 异常概念和处理机制,try-catch-finally,throw和throws,自定义异常
  10. PHP面向对象之领域模型+数据映射器
  11. python获取eth0_python实时获取tcpdump输出
  12. 计算机学会a类论文是sci吗,sci分区和ccf分区的区别
  13. Struts2快速入门,超简单详细的快速入门教程
  14. Linux线程私有数据Thread-specific Data(TSD) 详解
  15. stack smashing detected(c++报错)
  16. Python中利用pygame做弹球游戏
  17. 标准差np.std()
  18. qlib平台实现可转债“双低”策略
  19. python自学-class20-爬取东方财富网股票数据(爬虫)
  20. ListView 联动 SideBar ,根据数据首字母进行排序

热门文章

  1. python绘制动态图-数据可视化
  2. Indy9的IdFTP完全使用
  3. Cppcheck 1 54 C/C++静态代码分析工具
  4. G - A Bug‘s Life(并查集) acm寒假集训日记22/1/2
  5. c语言堆栈基本代码入栈出栈_C/C++语言栈的出栈入栈操作实现(完整代码)
  6. sim7020c功耗_SIM7020C物联网NB-IOT模块 simcom代理
  7. bean validation校验方法参数_Spring Validation最佳实践及其实现原理,参数校验没那么简单!
  8. 石头剪刀布程序流程图_“剪刀、石头、布”也能救命?临安区社会福利中心开展海姆立克急救法培训...
  9. java nio 客户端_Java网络编程:Netty框架学习(二)---Java NIO,实现简单的服务端客户端消息传输...
  10. 软考计算机网络初级试题答案,2015计算机软考网络管理员模拟试题练习及答案...