使用无监督聚类的关键帧提取算法
来源:互联网 发布:flac转wav软件 mac 编辑:程序博客网 时间:2024/04/26 08:10
使用无监督聚类的关键帧提取算法
论文链接
庄越挺老师论文 ADAPTIVE KEY FRAME EXTRACTION USING UNSUPERVISED
CLUSTERING
最近实验室做一个基于视频内容检测的项目,项目第一步就是解码视频,然后提取视频的关键帧,所以最近两天就看了关于关键帧提取的论文。庄越挺老师的这篇发表在icip上的paper被follow的人很多,所以我打算先把这篇论文看一遍,然后再作进一步的阅读。由于个人水平有限,博客中有什么不错误的地方,请大家多多指正,我会及时修改。
论文背景
视频的提取需要进行shot boundary 检测和Key frame 提取。视频关键帧提取首先需要shot boundary detection,shot是一个摄像头拍摄的连续的帧。 一个视频由一部分shot组成。首先我们需要将视频进行shot边界检测,将不同的shot分割开,然后再每一个shot内进行关键帧提取。 论文研究的前提是基于shot已经被分割,然后在此基础上进行关键帧提取。
主要过程
给定一个从视频获取的shot 我们想要从N个帧内获取M个聚类 。首先我们需要比较两个帧之间的视觉相似性,这里可以使用颜色,纹理,形状等各种信息。论文中使用了颜色直方图。颜色直方图使用的是HSV色彩空间中的16×8 2D HS直方图。那么i帧和j帧之间的相似性用 一下公式定义:
公式(1)
聚类之间需要一个阈值,如果的值比较大,那么聚类的数目比较多,如果的值比较小,那么聚类的数据将会比较少。对于的如何取值,本文中并没有给出一个明确的说法,但是在论文中给出了如何选取。算法的主要过程如下所示:
- 初始化:,是的聚类中心,聚类数目numCluster设定为1;
- 处理下一帧,如果所有的帧处理完毕,帧池为空,那么跳到步骤6;
- 通过公式1计算帧和聚类的相似性:;
- 决定属于那个聚类中心。取Maxsim为的最大值。如果Maxsim<,说明距离所有的聚类中心距离都不近,跳至5,否则,把添加到Maxsim的聚类中,跳至6;
- 新的聚类产生,numCluster = numCluster +1,并且设定新的聚类中心—>;
- 更新聚类中心:假设聚类的聚类中心为,D为帧的数目,新的聚类中心,那么=。跳至2
当shot中所有的帧都处理完毕,那么聚类获取出来。我们的策略是只有那些聚类数目足够大时候,才可以看做关键聚类,一个从关键聚类中获得能代表性的帧叫做关键帧。对于如何提取关键帧,我们选取和聚类中心最近的帧,这个帧就是当前聚类的关键帧。
总结
编辑数学公式的确不好做,排版起来也比较费劲,有什么错误的地方请大家留言多多指正。
- 使用无监督聚类的关键帧提取算法
- 聚类算法---无监督学习
- K-means聚类算法(无监督学习算法)
- 无监督和有监督算法的区别
- 无监督和有监督算法的区别
- 无监督学习中的常用聚类算法总结
- 王小草【机器学习】笔记--无监督算法之聚类
- 无监督学习-k均值聚类算法模板
- 无监督聚类算法该如何评价
- 机器学习笔记:K-Means无监督聚类算法
- 什么是无监督学习(监督学习,半监督学习,无监督聚类)?
- [OpenCV] 基于聚类的视频关键帧提取
- 无监督学习算法
- 文本小票的一种无监督聚类方法
- 聚类的评价指标(无监督学习)
- 分类与聚类 监督学习与无监督学习
- 分类与聚类 监督学习与无监督学习
- 机器学习算法实践-聚类算法-无监督聚类-DBSCAN
- long long 输入
- 关闭 leetcode_c++:哈希:Valid Sudoku(036)
- ReactJS学习系列课程(React 性能优化及immutable使用)
- Unity圆环进度条制作
- Java中子类和父类的实例化顺序
- 使用无监督聚类的关键帧提取算法
- HDOJ 1817 Necklace of Beads
- 47、JavaScript的运动----完美运动框架的应用----放大缩小图片的实现(布局转换的实现)
- 3秒后跳转到登录界面
- cmake用法和注意
- Java类中修饰符
- Qt学习七:控件四:表格控件、网格布局、
- 14.5.1 Resizing the InnoDB System Tablespace
- MySQL详解--锁