VR视频识别率测试方案

作者:tangonian

团队:腾讯移动品质中心TMQ

导语

VR眼镜层出不穷,VR 应用如雨后春笋,它们消费的内容主要有图片,视频和游戏3种。当前优酷,搜狐,乐视,爱奇艺,Youtube等比较大的视频网站,都推出了VR视频专区,各种比较小的专注VR视频的网站多不胜数,其中比较有名的有Utovr,591vr等。用户在使用QQ手机浏览器(Android)过程中视频的播放量很大,其中不可避免的会有VR视频。

VR视频一般是mp4格式,与普通视频无异。mp4视频里面并没有标记这是一个普通视频,还是一个VR视频。一般网站或者应用里面区分VR视频的做法是,在后台的数据库里面有个字段标记。但是QQ浏览器里面的播放器只能拿到一个视频的URL,无法知道这是一个普通视频还是VR视频,所以播放的时候只能按照普通视频去渲染。

VR视频眼镜播放模式(可以转动手机查看周围)

VR视频普通播放模式

如何判断视频是不是VR视频

前面已经说了,QQ浏览器的视频播放器只能拿到一个视频的播放地址,所以判断是否VR视频,只能从视频本身出发。观察以下VR视频和普通视频的截图两端红框区域,发现VR视频的两端边缘相似度较高,而普通视频的边缘相似度很差。VR视频识别的算法就是基于这个现象,获取一个视频多个帧的图片,然后给出视频是VR视频的概率。

VR视频截图

普通视频截图

算法存在的问题

通过上面的介绍,知道这个算法是根据图片边缘相似性得到结果,出于效率的考虑检查的图片数量和检查的粒度不能设置太高,那么它得到的结果会有两个不可避免的问题:将VR视频识别为普通视频;将普通视频识别为VR视频。如以下示例:

VR视频被识别为普通视频(画面昏暗的视频很容易误判)

普通视频被识别为VR视频(边缘相似度较高的普通视频)

对于这样一个计算概率性的算法,需要找到尽量多的失败用例,然后根据失败的特点来改进算法。为了发现失败用例,需要一个很大的测试集,这个测试集合里面包含了一个VR视频集合,以及一个普通视频的集合。这个集合的作用是尽量使VR视频正确识别,又要保证普通视频不会被识别为VR视频。这个集合最好还要易于增加测试源,用来验证算法的有效性。

测试集的建立

最开始测试集合是到网络上下载VR视频,保存到本地,然后用来测试验证。这种方式的优点是测试的速度很快,因为都是本地视频。但是缺点也很明显,VR视频的size太大(5 分钟的视频经常会上 G)本地保存比较麻烦;每次去网上找下载太耗时,不容易增加,而且容易重复。

现在的测试集合保存的是视频网页的网址,网址有爬虫爬取。当前做了12个网站的爬虫,基本包含了国内主流的视频网站和VR 视频网站。

支持的主流网站(source表)

在爬虫里记录了网站经常更新的页面(一般是网站的分类网址:如优酷的电视剧,电影分类的 URL),爬虫运行时将爬去到的页面地址保存到Video表。保存前会自动分析页面的特征,判断该页面的视频是不是 VR 视频,并将结果一起保存到video表,从而建立VR视频集合以及普通视频集合。

测试过程中如果发现有的视频源已经失效,需要在video表中标记无效,不用删除视频源,避免下次再次加入。如果是自动化能识别的失效可以自动化标记(如:视频已经下线跳转到404页面),否则需要人工根据测试结果标记。

测试集合内的视频(video 表)

当前测试集合的VR视频数量有2500个,普通视频数量有7000 个,由于现在的测试工具尚不支持https的测试源,所以有些视频还没有测试过。

测试准备

有了爬虫就可以建立测试集,有了测试集还需要测试工具。测试工具是开发提供的一个exe程序,程序的调用方式:VideoDetector.exe -c 30 -u http://www.xxx.mp4 ,调用后的返回结果是视频为VR视频的概率,如果出错返回 -1。

测试集和测试结果都保存在数据库中,数据库中有 4 张表。上面已经介绍了source和video表,分别支持的网站和爬虫爬取的视频网页。还有一个task表,用来记录每次测试的结果,另外还有一个result表,用来记录每个视频的测试结果。

测试结果(task 表)

具体视频的结果(result 表)

测试流程

测试成效

以上是最近的一次测试结果,更新算法后,验证 VR 视频的成功率提升了 20%,验证非 VR视频的成功率下降了 3%。 使用该方案后,能快速了解算法对视频识别率的影响,并能方便获取失败用例,用来改进算法。

对于 VR 视频的检测,你是否有更好的方法呢?

欢迎留言探讨。

获取更多测试干货,关注腾讯移动品质中心TMQ公众号。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

一篇文章看懂iOS 11 SDK所有新特性与功能

近日、苹果在WWDC2017上面正式发布了新一代的操作系统,即iOS 11,同时也增加了不少SDK新特性与功能,下面将详细介绍这些新改变。 ? 新增框架 新加入...

2347
来自专栏大数据文摘

可视化:覆盖全球的网络攻击如何展现?

1526
来自专栏VRPinea

VR建模工具Blocks发布新版本,将更加易于使用

3469
来自专栏知晓程序

鹅厂美女工程师来告诉你,小程序码是如何「绽放」的 | 晓组织 #20

腾讯 CDC 全称为「用户研究与体验设计中心」,是腾讯公司级设计团队,致力于提升腾讯产品的用户体验,探索互联网生态体验创新。

1042
来自专栏目标检测和深度学习

多任务学习及其在图像分类中的应用(视频+PPT)

3月29日,我们邀请了哈尔滨工程大学李骜博士,为我们直播讲解了多任务学习及其在图像分类中的应用。回复“26”或者“李骜”即可获取PPT和回放视频下载链接。 回放...

35910
来自专栏数据小魔方

数据地图入门篇——素材获取!

从今天开始要跟大家分享新的专题——数据地图! 这一篇先讲一些准备性的操作,教大家怎么获取矢量地图素材,以及素材的编辑、加工和整理! 也许你曾见到过一些高大上的p...

4646
来自专栏数据的力量

excel双坐标图表的做法(两个Y轴)

所谓双坐标图表,就是左右各一个Y轴,分别显示不同系列的数值。该图表主要用于两个系列数值差异较大的情况。如下例。

732
来自专栏大数据文摘

交互式数据可视化,在Python中用Bokeh实现

23711
来自专栏张善友的专栏

思维导图FreeMind

什么是MindMap? MindMap(被译成思维导图或心智图)是一种思维工具,由英国的记忆之父托尼-博赞发明。 MindMap是一种新的思维模式,它将左脑...

1998
来自专栏tkokof 的技术,小趣及杂念

HGE系列之二 更上层楼

上次颇为感性的描述了一番HGE的轮廓,并给出了一个世界上最简单的HGE示例程序,不知读过的人有了怎样的认识,如果你说一点感觉都没有的话——哦,好吧,在此我再重...

481

扫码关注云+社区