LiveNas: Neural-Enhanced Live Streaming: Improving Live Video Ingest via Online Learning解读
目录
- 背景
- 问题出发点
- Quality-Optimizing Scheduler
- Patch Selection
- Content-Adaptive Online Learning
- Super-resolution Processor
- 讨论
这篇文章的核心是将SR(super-resolution)应用到实时直播视频的Upstream上,也即在直播过程中从摄像头(产生数据)到服务器server的过程,SR的执行是在资源充沛的server端。该课题组之前发表过另一篇文章 Neural Adaptive Content-aware Internet Video Delivery (18 OSDI),是在点播过程中在客户端执行SR。作者为该论文建了 项目主页。
背景
在直播过程中,涉及到从ingest clients(摄像头)上传到server端的过程,再从server端发给用户。这个过程中涉及到video streaming(视频传输的码率分配),当网络带宽比较小时,那么只能上传低质量的视频到server端,从而降低用户的观看体验(因为用户只能下载这个低质量的视频)。因此,作者在server端部署SR模型,提升视频质量。
如上图所示,左边是ingest side,用户通过摄像头采集视频,由附近的基站传到CDN Server。右边是distribution server,由CDN传送给观看者。
问题出发点
由于是在直播,视频场景未曾见过,因此需要重新训练CNN(SR)模型,即online learning。如果使用训练好的模型,即pre-trained model,由于不满足iid,那么SR的效果不是很好。
因此,作者在server端部署两个ingest components。1、在服务器端,同时训练超分辨率模型train和进行推断inference。(也即同时有两个模型)2、在摄像头端,同时传输普通质量的视频和高质量的视频,因为需要提供高质量的视频作为labels去训练。
这里带来了三点挑战:
- 上传高质量视频时,会占用普通视频的带宽;
- 训练时,内容变化不大的视频SR模型可能收敛较快;内容变化较大的视频需要较大的资源;
- 应尽量减小SR模型训练和推断的时间差对质量提升效果的影响。
接下来的几个模块依次解决上面的挑战。
Quality-Optimizing Scheduler
Quality-Optimizing Scheduler的任务是平衡高质量视频和实时视频占用的带宽,目标是最大化最后获得的视频质量
maxvt,ptQvideo(vt)+γ⋅QDNN(∑k=0tpk)s.t,∀t,vt+pt≤Ct\begin{aligned} \max _{v_{t}, p_{t}} Q_{\mathrm{video}}\left(v_{t}\right)+\gamma \cdot Q_{DNN}\left(\sum_{k=0}^{t} p_{k}\right) & \\ & s . t, \forall t, v_{t}+p_{t} \leq C_{t} \end{aligned}vt,ptmaxQvideo(vt)+γ⋅QDNN(k=0∑tpk)s.t,∀t,vt+pt≤Ct
Qvideo(vt)Q_{video}(v_t)Qvideo(vt)表示上传普通视频时的质量,QDNN(∑k=0tpk)Q_{DNN}(\sum_{k=0}^{t}p_{k})QDNN(∑k=0tpk)表示经SR提升的质量,γ\gammaγ表示结合因子。vtv_tvt和ptp_tpt是普通视频和高质量视频对应的码率,是要解的变量。
作者采用了梯度上升方法。当导数越大时,说明增大ptp_tpt随质量贡献越大,则增加其值。α\alphaα为学习率。
pt+1=α⋅{γ⋅dQDNNdpt+dQvideodpt}+ptp_{t+1}=\alpha \cdot\left\{\gamma \cdot \frac{d Q_{D N N}}{d p_{t}}+\frac{d Q_{v i d e o}}{d p_{t}}\right\}+p_{t}pt+1=α⋅{γ⋅dptdQDNN+dptdQvideo}+pt
在求dQDNNdQ_{DNN}dQDNN时,作者采用最近的两个DNN质量变化值;在求dQvideodQ_{video}dQvideo时,由于它是非线性的,作者观察到同一类型的视频在vtv_tvt和QvideoQ_{video}Qvideo变量之间有相似的正则化曲线,因此先求出该视频类型的正则化曲线NQtype(vt)NQ_{type}(v_t)NQtype(vt)。然后给定vtv_tvt、vt−1v_{t-1}vt−1、Qvideo(vt−1)Q_{video}(v_{t-1})Qvideo(vt−1),就可以求出Qvideo(vt)Q_{video}(v_{t})Qvideo(vt)及其导数。
在训练时,作者每5s同步一次推断的SR模型的参数,每1s更新一次ptp_tpt。
Patch Selection
Patch Selection的目标是选择部分高质量的视频帧作为label上传,使得最后SR获得的效果最好。作者首先计算整个帧编码后的质量;然后把一帧切分成16×916 \times 916×9块patch,每帧随机抽取一块。最后,选取其中编码后的质量低于整体帧质量的patch出来,再从中选择少量进行传输。由于选取出来的帧质量较低,所以经过SR处理后的效果也越好。
同时,对于传输的patch,同时包含其时间戳和位置。将时间较近的patch在训练时赋予更高的权重,使模型更好地拟合最近的画面。
Content-Adaptive Online Learning
Content-Adaptive Online Learning的目的是当视频画面变动不大时,即模型提前拟合时,暂停模型的训练,节约资源。作者设置了patiencepatiencepatience变量,当两次训练之间质量的提升ΔQDNN\Delta Q_{DNN}ΔQDNN小于给定阈值threshsatthresh_{sat}threshsat时,patience+1patience+1patience+1;当patiencepatiencepatience达到给定阈值countsatcount_{sat}countsat时,则暂停训练。启动训练同理。
Super-resolution Processor
作者对近150个patches的样本赋予更高的权重。同时分为多GPU训练,在计算梯度时,越临近的批次计算得到的梯度权重越大。
最后作者提升的质量、节约的资源和用户QoE的提升等维度进行评估。
讨论
作者的核心是将SR应用到直播场景中并解决其中的需要在线训练模型、平衡lables占用的带宽、模型训练过程中拟合程度的差异等问题。作者主要讨论Upstream端视频质量、资源等的影响,但对于Downstream端用户QoE的更深入的讨论我认为还值得商榷,尤其是延时。同时,是否需要同时考虑用户的带宽、需求呢。假设大部分用户只能看1080p视频,那大费周章提升到4K是否是有意义的呢,而且看直播用户会更在意延时。Edge buffer, client SR是否都可以加进来呢。
LiveNas: Neural-Enhanced Live Streaming: Improving Live Video Ingest via Online Learning解读相关推荐
- Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读
Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...
- Improving Sample Efficiency In Model-Free Reinforcement Learning From Images 论文翻译
文章目录 论文原文链接 摘要 INTRODUCTION 相关工作 背景 剖析利用β\betaβ-变分自编码器进行状态表示学习的方法 实验环境设置 没有辅助任务的model-free off-polic ...
- 【论文模型讲解】VideoBERT: A Joint Model for Video and Language Representation Learning
文章目录 前言 0 摘要 1 Introduction 2 相关工作 3 模型 3.1 BERT 3.2 VideoBERT 4 实验与分析 4.1 数据集 4.2 视频和语言预处理 4.3 模型预训 ...
- Low-Light Image and Video Enhancement Using Deep Learning: A Survey(论文阅读)
(2021_TPAMI)Low-Light Image and Video Enhancement Using Deep Learning: A Survey 本文是南开大学程明明与南洋理工大学C ...
- VideoQA论文阅读笔记——Heterogeneous Memory Enhanced Multimodal Attention Model for Video Question Answering
论文:Heterogeneous Memory Enhanced Multimodal Attention Model for VQA 来源:CVPR2019 作者:京东研究院 源码: Github ...
- Graph Neural Networks: A Review of Methods and Applications(Semantic Segmentation应用解读)
Graph Neural Networks Graph Neural Networks: A Review of Methods and Applications 下载链接:https://arxiv ...
- Paper:RNN之《Generating Sequences With Recurrent Neural Networks用循环神经网络生成序列》的翻译和解读
Paper:<Generating Sequences With Recurrent Neural Networks>的翻译和解读 目录 Generating Sequences With ...
- 【Deep Clustering】Improving Unsupervised Image Clustering With Robust Learning
Abstract 非监督图像聚类算法通常是提出一个辅助目标函数间接训练模型,并且聚类结果受到错误的预测和过于自信(overconfidence)的结果的影响,作者通过提出RUC (Robust lea ...
- 【Deep Learning 五】课程二(mproving Deep Neural Networks),第一周(Setting up your Machine Learning Applicat)答案
吴恩达深度学习课程课后习题(2课1周) 数据集规模相对小的,可以采用传统三七或二二六分法,但在大量数据的时候,只需要1%的验证和测试就足够了.答案C 有时候我们会遇到训练集和验证/测试集来自不同地方的 ...
- Improving Knowledge-aware Recommendation with Multi-levelInteractive Contrastive Learning
摘要 最近,将知识图谱(KG)作为辅助信息增强推荐引起了相当大的关注.知识感知推荐(KGR)的技术趋势是开发基于图神经网络(GNN)的端到端模型.然而,它们也有一些问题: 1)稀疏交互导致的监督信号不 ...
最新文章
- Linux IO实时监控iostat命令详解
- 深圳某女孩身家上千万,却称自己不配追求大厂程序员
- 设计模式总结——代理模式以及java的动态代理
- 第十四周项目二-两个成员的类模版(2)
- HashMap中ConcurrentModificationException异常解读
- [VB] Option Explicit
- 玩转springboot:实现springboot自定义拦截器
- (Java)注解和反射
- HTML Parser 源代码
- SQL Server 急救包(First Responder Kit)入门教程
- return中断方法和Unreachable code(永远达不到的代码)
- Innodb中的buffer poll和redo undo log
- 30-算法训练 最短路 spfa
- 邮件策略在域树中的实战应用:Exchange2003系列之十
- IP路由原理.ppt
- Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
- 接口测试-解析har文件
- 匈牙利算法python实现
- Postman中tests的基本使用
- 如何获取安卓手机设备名称(包括用户自定义名称)
热门文章
- 计算机软件职业资格注册,计算机软件职业资格证具体需要考什么科目
- oracle的alter table,Oracle ALTER TABLE语句
- mysql存储过程转义字符_mysql存储过程转义字符
- UE4自定义资源和编辑器(二):创建自定义编辑器
- html图片有的不显示不出来的,css背景图片不显示有哪些原因?
- cyj等于什么英语单词_一月到十二月的英语单词及由来
- cmd怎么查看当前静态路由_怎么使用cmd设置添加电脑上静态路由
- 服务器运行cad慢,CAD绘图唯快不破(CAD运行用加速技巧)
- 求解顺序统计量的7种方法
- 点赋科技:如何提高淘宝店铺的流量?