前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于视频内容的 VR 片源识别算法研究

基于视频内容的 VR 片源识别算法研究

原创
作者头像
赵永飞
修改2017-08-21 10:01:58
5.1K7
修改2017-08-21 10:01:58
举报
文章被收录于专栏:赵永飞的专栏

导语

随着虚拟现实技术的发展,VR视频板块也越来越多的涌现在各大视频网站,比如爱奇艺,youtube,优酷,腾讯视频等。随着专区版块的建立,用户自主上传的VR视频内容也越来越多,目前都是编辑工作人员审核进行VR视频和普通视频分类,如何设计算法实现自动分类VR视频和普通视频,提高VR片源审核效率显得尤为重要。

1.VR视频及播放原理

对于VR视频,大部分用户的概念更多的是在VR眼镜上,通过手机上特定的VR app眼镜播放模式来播放视频,然后将手机插入VR眼镜进行实际交互观看体验,如下图所示:

[1502937194175_7762_1502937194715.png]
[1502937194175_7762_1502937194715.png]

图:用户通过VR眼镜观看VR视频

对于后台视频数据存储库来说,实际上VR视频的视频数据保存格式和普通视频无差异,都是MP4等其他常见的格式。VR视频现在主要有3种类型比较广泛使用,分别是3D 360度,2D 360度,3D 180度。如下图所示:

[1502937211710_4326_1502937211989.jpg]
[1502937211710_4326_1502937211989.jpg]

图:3D 360度VR视频普通播放模式播放

[1502937398783_8769_1502937399417.jpg]
[1502937398783_8769_1502937399417.jpg]

图:2D 360度VR视频普通播放模式播放

[1502937415440_1710_1502937415544.jpg]
[1502937415440_1710_1502937415544.jpg]

图:3D 180度VR视频普通播放模式播放

与普通视频的区别在于VR视频需要专门的VR播放器插件将视频画面渲染到球面上,然后将用户观看视角置于球体中央,用户正面所对球体的局部画面即为用户当前所看到的全景的局部画面,当用户转动视角时就可以360度浏览当前场景的所有画面。全景360度交互浏览及VR眼镜上的播放模式也就是此原理。

[1502937432449_5774_1502937432749.png]
[1502937432449_5774_1502937432749.png]

图:VR视频播放原理

1.VR视频片源识别算法

由于VR视频和普通视频格式一样,网站或者应用里面的后台会字段标记为VR视频。不过对于用户在VR板块上传的视频,我们后台数据库服务器要鉴定审核其是否为VR视频,提高效率,只能基于视频本身的画面内容识别。

2.1VR相关基础知识

要想从VR视频本身画面内容角度识别出VR视频,就必须先了解VR视频是如何产生的,及其数据的保存方式。这里给出腾讯视频对于VR直播这块的整体流程,从数据采集、全景拼接到视频处理到编码推流的全套流程,如下图所示:

[1502937468837_875_1502937469000.png]
[1502937468837_875_1502937469000.png]

其中,全景视频是通过全景拼接技术生成,如下图所示:

[1502937478309_7105_1502937478537.png]
[1502937478309_7105_1502937478537.png]

全景视频的数据保存形式为Equirectangular投影方式,如果你带上一副VR眼镜进行观看,就可以在一定程度上体验到被世界环抱的感觉。这种投影方式的特点是水平视角的图像尺寸可以得到很好的保持,而垂直视角上,尤其是接近两极的时候会发生无限的尺寸拉伸。可以理解为水平方向(经度)360°和垂直方向(纬度)180°的数据都可以通过Equirectangular投影方式保存下来。

[1502937491189_2190_1502937491321.jpg]
[1502937491189_2190_1502937491321.jpg]

图:Equirectangular投影方式保存全景数据

越是靠近顶端和底部图片的扭曲就越严重,VR头盔和应用软件的意义也就在于将这些明显变形的画面还原为全视角的内容,进而让使用者有一种身临其境的包围感。

2.2视频片源识别算法

通过VR基础知识我们知道,与普通视频的差别在于,VR视频画面是Equirectangular投影方式保存的球体模型数据。我们算法核心思想就是将一帧视频画面反投影到球体上,变换得到局部特定角度(对应全景视频的边界,如图红框所示)的正常画面,对画面内容进行相似度计算,得到一个表征相似度的二维向量,最后用SVM模型进行分类。

整体算法流程如下:

[1502937527315_8031_1502937527490.png]
[1502937527315_8031_1502937527490.png]

具体过程如下:

1.原始VR视频的一帧全景画面

[1502937540883_8668_1502937541202.png]
[1502937540883_8668_1502937541202.png]

2.全景画面投射到球面上,变换得到固定的9个视角画面,分别如下:

[1502937551331_2355_1502937551566.png]
[1502937551331_2355_1502937551566.png]
[1502937569896_6513_1502937570099.png]
[1502937569896_6513_1502937570099.png]
[1502937582637_7315_1502937582865.png]
[1502937582637_7315_1502937582865.png]

3.对每个视角画面进行相似度计算,得到表征相似度的二维向量

[1502937593320_3776_1502937593507.png]
[1502937593320_3776_1502937593507.png]

4.构建SVM分类器

得到9个普通视角的相似度二维向量取均值,构成最终的表征VR特性的二维向量。为了构建SVM分类器,我们取5000张VR视频画面,5000张普通视频画面,分别求取对应的VR特性的二维向量作为训练数据进行SVM模型分类训练,得到最终的分类模型。

5.加载SVM分类模型进行VR片源识别

对于一帧视频画面,求取其对应的VR特性的二维向量,然后送入SVM分类器进行分类,判断其是否是VR视频对应的画面。为了更准确的判断一个视频是否是VR片源,我们这里采用等间隔选取视频中的2n+1个关键帧画面,进行上述分类操作,若其中有n+1画面类别判断为VR视频画面,则判定该视频为VR片源。

注意:本文提出的算法是针对360度VR视频片源的识别,对于180度VR的识别算法并不适用。对于测试数据算法的准确率99%,有待后续上线应用测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导语
  • 1.VR视频及播放原理
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是智能、强大、全面的多媒体数据处理服务,行业支持最全面的音视频编码标准,基于自研编码内核和AI算法,提供音视频转码和增强、媒体智能、质检评测等能力,帮助您提升媒体质量、降低成本,满足各类场景的音视频处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档