Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基于决策树的 VVC 快速算法

基于决策树的 VVC 快速算法

作者头像
用户1324186
发布于 2021-09-17 08:51:43
发布于 2021-09-17 08:51:43
1.5K0
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:PCS 2021 Bristol 主讲人:Gosala Kulupana 内容整理:赵研 本文来自 PCS 2021 SS1 的第六场演讲,主要介绍了 Kulupana 等人提出的一种基于决策树的 VVC 快速算法。

目录

  • 1. 介绍
  • 2. 相关工作
  • 3. 提出方法
    • 1) CU 级特征提取
    • 2) 对特征进行筛选
    • 3) 构建随机森林
    • 4) 对森林中的决策树进行筛选,优化森林性能
    • 5) 制定基于规则的块划分提前停止算法
    • 算法整体流程
  • 4. 实验设定
    • Naive fast VTM encoder
  • 5. 实验结果

1介绍

Versatile Video Coding (VVC) 是目前最优的视频编码标准,它具有很高的编码效率,同时也带来了很高的复杂度。为了解决这一问题,Kulupana 等人提出了一种基于机器学习(ML)的 VVC 帧间编码快速算法。

具体来说,要先对每个 CU 进行特征提取,并使用得到的特征训练一组随机森林(Random Forest, RF) —— 分别对 17 种块尺寸构建单独的 RF。随后,对森林中的决策树进行筛选,选出最优的决策树子集(optimal subset),以此提高随机森林的分类准确性。此外,通过引入基于规则的提前停止策略,该方法可以进一步降低编码复杂度。

实验表明,在 VTM-8.0 上使用该方法可以带来 42% 的编码时间节省,而 BD-rate 损失只有 1.26%。

2相关工作

VVC 参考编码器 VTM 中有一些自带的早停机制,可以在一定程度上降低编码复杂度。相比于 HEVC,VVC 的帧内预测复杂度大大提高(约 25 倍),因此现有的许多工作都着力于 VVC 帧内预测加速。

此外,从下表可以看出,VVC 中现有的块划分策略没有在码率和复杂度方面做出很好的权衡(起码与“new tools”相比),因此不论是对帧内预测还是帧间预测的快速算法,大多数工作都会对块划分策略进行改动,以节省编码时间。Kulupana 等人也在这里使用了基于机器学习的块划分预测方法,以做到块划分流程的提前终止。

表 1:相比于 HEVC,VVC 的性能增益来源

3提出方法

整个算法框架包括以下几个部分:

1) CU 级特征提取

对每种块尺寸和每种划分方式都进行特征提取,一共得到 131 种特征;

2) 对特征进行筛选

通过衡量每种划分决策和特征之间的关系,以及各个特征之间的关系,可以筛选掉一些冗余的特征指标。具体来说,如果两种特征之间的相关性很大,那么就丢掉二者中和划分决策相关性小的那个,保留另一个。这样将特征全部处理完之后,将它们按照与划分决策之间的相关性大小进行排序,并从这个有序排列的特征集合中选取一些(这个数量是预先定义的)作为最终的特征集合。该流程如下图所示。

图 1:特征筛选流程

3) 构建随机森林

选用的特征集合决定之后,就可以构建随机森林并进行训练。训练数据来自于 10 个视频序列,分别来自 class A~F, 具体如下图所示。

每个随机森林都包括 40 个决策树,每个决策树的最大深度是 20。此外,每个训练样本的重要性(权重)是不同的,判断错误带来的 RD-cost 损失越大,则该训练样本权重越大。

图 2:训练数据来源

4) 对森林中的决策树进行筛选,优化森林性能

上一步得到的随机森林还要进行进一步筛选,以选出各自最优的决策树子集,提高决策树的分类准确性。该过程如下图所示:为每个随机森林构建两个集合:'Evaluated' 和 'non-Evaluated',前者的初始值为空集,后者的初始值为整个 RF。随后开始迭代的比较过程,即逐个将 'non-Evaluated' 中的决策树加入到 'Evalueted' 集合中,然后对 'Evaluated' 集合的性能进行评估,得到具备最高准确性的决策树集合。

图 3:随机森林优化流程

图 4:曲线 <分类准确性 - 森林中树的个数>

5) 制定基于规则的块划分提前停止算法

根据编码过程的统计信息,该工作还提出了一系列划分提前停止策略,主要针对于 TT 划分。其基本思路是:如果当前 CU 足够平滑,即截止到 TT 划分测试前,最优的模式是 non-split 模式(除了 INTER_ME 模式和 GEO 模式),就不必进行 TT 划分的测试。然而,比较狭窄的 CU(如

.

,

)则不受上述约束,没有 TT 划分的提前停止。流程如下图所示。

图 5:块划分提前停止算法流程

算法整体流程

提出算法的整体流程如下图所示,其中使用了两个 RF 分类器,分别用于 QT/MTT 的决策和 Hor/Ver 的决策,但是 BT/TT 划分的判断没有使用 RF 分类器,而是通过提前停止策略对 TT 划分进行限制。

图 6:算法整体流程

4实验设定

文中方法在 VTM-8.0 上实现,测试环境为 JVET Random Access CTC,作者还额外测试了一些 Netflix UHD 序列。

根据 RF 中有多少 DT 的输出与整体输出相同,可以将算法分为三个版本(e.g.

意味着与 RF 输出结果相同的 DT 树占比为

):

  • Slow Preset:

under CTC

  • Medium Preset:

under CTC

  • Fast Preset:

with

(default is 3)

Naive fast VTM encoder

通过关掉 VTM 中的一些工具,可以得到一个称为"naive fast VTM encoder"的 baseline。具体来说,关掉的工具有:Affine, SMVD, AffineAMVR, BCW, MMVD, ISP, SBT 和 MIP。其性能如下图所示。

图 7:naive fast VTM encoder 的编码性能

5实验结果

文中方法的实验测试结果如下图所示。可以看出,随着复杂度的降低,损失也逐渐增大。与 Amestoy 等人提出的方法相比,文中方法的 Slow Preset 在性能和复杂度上均好于 Amestoy 工作中的 Slow Preset;而文中提出的 Medium Preset 和 Amestoy 等人提出的 Fast Preset 具有相近的性能表现。此外,文中方法三种版本的 BD-rate 损失明显好于 naive fast VTM,而 Fast Preset 还可以带来更大的时间节省。

图 8:实验结果

附上演讲视频:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
决策树是一种简单直观的机器学习算法,它广泛应用于分类和回归问题中。它的核心思想是将复杂的决策过程分解成一系列简单的决策,通过不断地将数据集分割成更小的子集来进行预测。本文将带你详细了解决策树系列算法的定义、原理、构建方法、剪枝与优化技术,以及它的优缺点。
算法金
2024/06/25
5430
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
TMM 2022 | 基于深度特征融合和概率估计的高效 VVC 帧内预测
VVC 作为最新的有损视频编码标准,一直受到视频编码界的关注。与其前身相比,该标准的压缩效率有了显著提高,然而,VVC 的增益是以显著的编码复杂度为代价:VVC 继承了早期标准中基于块的混合编码结构。在 VVC 中,输入视频帧被分成称为编码树单元 (CTU) 的块。CTU 由不同级别的编码单元 (CU) 组成,这些编码单元共享相同的预测风格(即帧内或帧间)。CU 分区过程是通过计算和比较所有分区的 RD 成本来实现的,这是一项非常耗时的任务。
用户1324186
2023/10/24
4000
TMM 2022 | 基于深度特征融合和概率估计的高效 VVC 帧内预测
基于SVM的VVC帧内快速CU划分算法
论文标题:SVM Based Fast CU Partitioning Algorithm for VVC Intra Coding
用户1324186
2021/07/06
1.7K0
基于SVM的VVC帧内快速CU划分算法
机器学习 | 基于量子游走的深度森林改进算法
今天给大家介绍的是厦门大学信息学院刘昆宏教授等人在Soft Computing上发表的论文”Improving deep forestby ensemble pruning based on feature vectorization and quantum walks”。众所周知,良好的剪枝策略可以提高随机森林的性能。作者创新性地利用量子游走这一图上的动力学过程,对随机森林中节点性能进行拓扑排序,从而实现了一种基于排序的高效剪枝策略,提高算法性能。
智能生信
2021/02/04
1.2K0
机器学习笔记之决策树分类Decision Tree
决策树(decision tree)是一种依托于策略抉择而建立起来的树。机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。 树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,从根节点到叶节点所经历的路径对应一个判定测试序列。决策树可以是二叉树或非二叉树,也可以把他看作是 if-else 规则的集合,也可以认为是在特征空间上的条件概率分布。决策树在机器学习模型领域的特殊之处,在于其信息表示的清晰度。决策树通过训练获得的 “知识”,直接形成层次结构。这种结构以这样的方式保存和展示知识,即使是非专家也可以很容易地理解。
Jetpropelledsnake21
2021/03/12
3.9K0
机器学习笔记之决策树分类Decision Tree
机器学习中的分类:决策树、随机森林及其应用
今日推荐:数学的算法代码如何实现:神奇的斐波那契数列(Fibonacci sequence)
小馒头学Python
2024/11/16
1990
机器学习中的分类:决策树、随机森林及其应用
常见面试算法:决策树、随机森林和AdaBoost
决策树(Decision Tree)算法是一种基本的分类与回归方法,是最经常使用的数据挖掘算法之一。我们这章节只讨论用于分类的决策树。
机器学习AI算法工程
2019/10/28
1.3K0
常见面试算法:决策树、随机森林和AdaBoost
认真的聊一聊决策树和随机森林
多棵决策树组成了一片“森林”,计算时由每棵树投票或取均值的方式来决定最终结果,体现了三个臭皮匠顶个诸葛亮的中国传统民间智慧。
肉眼品世界
2021/03/09
1.2K0
认真的聊一聊决策树和随机森林
数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病|附代码数据
这个数据集可以追溯到1988年,由四个数据库组成。克利夫兰、匈牙利、瑞士和长滩。"目标 "字段是指病人是否有心脏病。它的数值为整数,0=无病,1=有病
拓端
2023/03/30
6770
集成学习综述-从决策树到XGBoost
在之前缅怀金大侠的文章“永远的金大侠-人工智能的江湖”中提到:集成学习是机器学习中一种特殊的存在,自有其深厚而朴实的武功哲学,能化腐朽为神奇,变弱学习为强学习,虽不及武当和少林那样内力与功底深厚。其门下两个主要分支-Bagging和Boosting,各有成就,前者有随机森林支撑门面,后者有AdaBoost,GBDT,XGBoost一脉传承。门下弟子近年来在Kaggle大赛中获奖无数,体现了实用主义的风格,为众多习武之人所喜爱,趋之若鹜。
SIGAI学习与实践平台
2018/12/18
1.1K0
决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结
决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行输的分割,直到达到结束条件或叶子节点纯度达到阈值。下图是决策树的一个示例图:
统计学家
2019/09/03
1.7K0
决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结
【机器学习】——决策树以及随机森林
前言:决策树算法(Decision Tree)详解 决策树(DecisionTree)是一种基于树形结构的监督学习算法,广泛应用于分类和回归任务。它通过一系列的决策规则逐步将数据集划分成多个子集,从而构建出易于理解的决策模型。决策树不仅易于可视化、便于解释,还能够处理复杂的多变量决策问题,因此在各类机器学习模型中占有重要地位。
用户11286421
2024/09/29
1.1K0
【机器学习】——决策树以及随机森林
Python人工智能经典算法之决策树
4.2 决策树分类原理【*****】 1.信息增益 信息增益 = entroy(前) - entroy(后) 注意:信息增益越大,我们优先选择这个属性进行计算 信息增益优先选择属性总类别比较多的进行划分 2.信息增益率 维持了一个分离信息度量,通过这个分离信息度量当分母,进行限制 3.基尼增益 1.基尼值: 从数据集D中随机抽取两个样本,其类别标记不一致的概率
海仔
2020/09/01
6570
【视频】决策树模型原理和R语言预测心脏病实例
决策树模型是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。与传统的线性回归模型不同,决策树回归模型能够捕捉到非线性关系,并生成易于解释的规则。
拓端
2023/07/06
2800
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
这个数据集可以追溯到1988年,由四个数据库组成。克利夫兰、匈牙利、瑞士和长滩。"目标 "字段是指病人是否有心脏病。它的数值为整数,0=无病,1=有病。
拓端
2021/07/16
1.6K0
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
从决策树到随机森林:树型算法的原理与实现
选自Github.io 作者:Sadanand Singh 机器之心编译 基于树(Tree based)的学习算法在数据科学竞赛中是相当常见的。这些算法给预测模型赋予了准确性、稳定性以及易解释性。和线性模型不同,它们对非线性关系也能进行很好的映射。常见的基于树的模型有:决策树(decision trees)、随机森林(random forest)和提升树(boosted trees)。 在本篇文章中,我们将会介绍决策树的数学细节(以及各种 Python 示例)及其优缺点。你们将会发现它们很简单,并且这些内
机器之心
2018/05/09
2.1K0
从决策树到随机森林:树型算法的原理与实现
机器学习模型从理论到实战|【005-决策树与随机森林】客户流失预测
文章链接:https://cloud.tencent.com/developer/article/2472155
远方2.0
2024/12/01
1770
机器学习模型从理论到实战|【005-决策树与随机森林】客户流失预测
决策树与随机森林
首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。
西西木木
2020/06/02
1.3K0
决策树与随机森林
【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现
决策树由节点和边组成,其中每个节点表示数据集的某个特征,每条边表示特征的某个值所对应的分支。决策树的最顶端称为根节点,叶节点代表决策结果。以下是一个简单的决策树示例图:
哈__
2024/06/23
2970
【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现
决策树 – Decision tree
决策树是一种解决分类问题的算法,想要了解分类问题和回归问题,可以看这里《监督学习的2个任务:回归、分类》。
easyAI
2019/12/18
9120
决策树 – Decision tree
推荐阅读
相关推荐
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文