array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 视频版权检测算法​​ - 爱码网

 点击我爱计算机视觉标星,更快获取CVML新技术


视频版权检测算法​​

本文转载自一碗数据汤,为2019 CCF BDCI比赛视频版权检测算法一等奖获奖团队技术方案分享。整个方案中作者用到的图片特征提取、搜索算法(NSG)、视频匹配,以及提出的Gaussian_R-MAC的无监督聚合方法都非常值得相关同学参考!

视频版权检测算法​​

 

视频版权检测算法

赛题信息

出题单位:爱奇艺

赛题类型:第一赛道-算法题

技术方向:目标识别, 图像处理

赛题背景

当前的侵权行为出现多样化及规模化特点,侵权视频多经过复合变换,为保护视频制作公司及原创者权益,需要通过自动化方式进行针对短视频的侵权行为检测。

赛题任务

要求参赛者找到短视频的原始长视频,计算出对应的时间段,过程中可能包括视频解码抽帧、视频或图像特征及指纹、视频相似检索等相关算法及技术方案。

团队信息 

团队名称:恒扬数据

成员介绍:

李超队长,恒扬数据 软件专家/战略产品部硕士学历,毕业于中南大学,多年的软件开发经验,擅长计算机底层计算,和图像处理方向的技术。

刘洲队员,恒扬数据, 软件工程师/战略产品部本科学历,擅长图像算法处理和软件开发。 

陈龙森队员,恒扬数据  总监/战略产品部硕士学历,资深连续创业者,现担任深圳市恒扬数据股份有限公司董事长,擅长软件架构、视频/图像处理和检索算法。

黄俞翔:队员,本科学历, 擅长软件工程和大数据处理。

比赛经验&干货分享

感言

本次比赛我们投入大概一个月,包括论文查找和方法筛查,算法复现,算法调优几个阶段。我们团队有比较明确的分工,每人负责一个模块。能拿到“视频版权检测”赛道第一和“最佳商业价值奖”有运气成分,但更多的是坚持和努力的结果吧。整个竞赛不仅仅是线下的技术比拼,还有现场答辩的锤炼,如何把自己的解决方案简洁扼要的呈现给评委和观众,这对于题目有超脱技术层面的理解尤为重要。不管是说明论文或者ppt我们都是精心的淬炼,尽可能把所用到的技术点和创新点更简洁的呈现在众人面前。抛开结果而言,此次比赛的乐趣在于激烈的角逐下每次提交成绩的期待,在于每次挑灯夜战的冲劲,在于登上领奖台那一刻的喜悦。

技术方案分享

视频版权监测的核心任务是在两个视频中找出内容相同画面相似的视频片段(即拷贝片段),拷贝片段长度是几十秒至几分钟的视频图像。所谓内容相同,指观看者看到的语义信息相同。画面相似包括不同形式的图像变形,如画面剪裁,饱和度改变,加字幕和LOGO,视频剪辑等处理。竞赛任务有三个数据集:参考集,训练集和测试集。参考集是版权视频,有205个视频文件,平均时长为40分钟。训练集和测试集都是2至4分钟的视频片段,其中的拷贝片段只有1分钟,嵌入在片段的头部或中部。竞赛要求为每个查询视频(训练集或测试集)包含的拷贝片段找到参考集对应的视频文件和两个拷贝关系片段的开始时间和结束时间。

视频版权检测算法​​

赛题的挑战和难点在于视频的变形程度,本次比赛中最难的变形是某些视频做了大幅度的裁剪:比如原视频有两个主持人,被裁成了一个,还有的视频把整个人的画面裁成只剩一只手……

视频版权检测算法​​

要实现侵权视频侵权片段在版权视频的查找,需要先把视频进行解码成帧图片,然后提取关键帧的特征向量,基于帧特征向量的集合进行视频匹配。


算法的总体思路,参考集提取到视频特征向量后构建视频版权库,训练集和测试集的图片特征向量在版权库里面查找最近邻的图片特征向量(L2距离计算),返回前topk个近邻值,然后通过视频匹配算法得到最终的匹配结果,该思路涉及到三个主要的算法:图片特征提取算法,搜索算法,视频匹配算法

视频版权检测算法​​

通过多种尝试,发现我们的图片特征提取算法对于绝大部分变形的识别效果都非常好,但是当画面质量下降很厉害或者是裁剪幅度很大的时候,整图携带的信息丢失严重时,算法的识别效果就明显变得差了好多。针对裁剪严重这一类情况,我的思路是,如果只捕捉画面中央部分的特征,应该能大大提升算法的识别能力。实践证明只捕捉中央部分是行不通的,而应该改为加强图片中央部分特征的权重,而降低周围区域特征的权重。在原算法的基础上引入二维高斯分布+RMAC算法,一举将成绩提升10几个百分点,分数直逼95分:)

视频版权检测算法​​

视频版权检测算法​​

视频版权检测算法​​


视频匹配算法也对于结果的贡献也非常重要,这个算法更像是专家系统,不仅要完成本职工作,还要能对前面算法的弱点进行补偿。

视频版权检测算法​​

视频版权检测算法​​

视频版权检测算法​​

本方案使用的CNN提取图像特征和特征聚合的完整源码,代码链接:https://github.com/landlee001/Video-infringement-detection


感谢阅读和分享,有兴趣的同学可以一起交流。

感谢恒扬数据团队的分享

视频版权检测算法​​

欢迎访问DataFountain官网

https://www.datafountain.cn/

了解更多大赛资讯


图像与视频检索交流群

关注最新最前沿的图像与视频检索技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

请务必注明:检索)

视频版权检测算法​​

喜欢在QQ交流的童鞋,可以加52CV官方QQ群805388940

(不会时时在线,如果没能及时通过验证还请见谅)


视频版权检测算法​​

长按关注我爱计算机视觉

相关文章: